8000 Merge branch 'faq/extension' of github.com:Zepmanbc/python-docs-fr in… · python/python-docs-fr@8430410 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8430410

Browse files
committed
Merge branch 'faq/extension' of github.com:Zepmanbc/python-docs-fr into faq/extension
2 parents 5a62153 + 4f7fe8b commit 8430410

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

faq/extending.po

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ msgstr ""
4040
#: ../Doc/faq/extending.rst:22
4141
msgid "Most intermediate or advanced Python books will also cover this topic."
4242
msgstr ""
43-
"La plupart des livres Python intermédiaires ou avancés couvriront également "
43+
"La plupart des livres Python intermédiaires ou avancés couvrent également "
4444
"ce sujet."
4545

4646
#: ../Doc/faq/extending.rst:26
@@ -57,8 +57,8 @@ msgstr ""
5757
"Oui, en utilisant les fonctionnalités de compatibilité C existantes en C++. "
5858
"Placez ``extern \"C\" { ... }`` autour des fichiers Python inclus et mettez "
5959
"``extern \"C\"`` avant chaque fonction qui sera appelée par l'interpréteur "
60-
"Python. Les objets globaux ou statiques C++ combinés avec les constructeurs "
61-
"n'est probablement pas une bonne idée."
60+
"Python. Les objets globaux ou statiques C++ ayant des constructeurs "
61+
"ne sont probablement pas adaptés."
6262

6363
#: ../Doc/faq/extending.rst:37
6464
msgid "Writing C is hard; are there any alternatives?"
@@ -96,12 +96,12 @@ msgid ""
9696
"html>`_, or `Weave <https://github.com/scipy/weave>`_ are also alternatives "
9797
"for wrapping C++ libraries."
9898
msgstr ""
99-
"Si vous avez besoin d'interfacer avec une bibliothèque C ou C++ pour "
99+
"Si vous avez besoin d'accéder à l'interface d'une bibliothèque C ou C++ pour "
100100
"laquelle aucune extension Python n'existe à ce jour, vous pouvez essayer "
101101
"d'encapsuler les types de données et fonctions de la bibliothèque avec un "
102102
"outil tel que `SWIG <http://www.swig.org>`_. `SIP <https://"
103103
"riverbankcomputing.com/software/sip/intro>`__, `CXX <http://cxx.sourceforge."
104-
"net/>`_ `Boost <http://www.boost.org/libs/python/doc/index.html>`_, ou "
104+
"net/>`_, `Boost <http://www.boost.org/libs/python/doc/index.html>`_ ou "
105105
"`Weave <https://github.com/scipy/weave>`_ sont également des alternatives "
106106
"pour encapsuler des bibliothèques C++."
107107

@@ -121,7 +121,7 @@ msgid ""
121121
msgstr ""
122122
"La fonction de plus haut niveau pour ce faire est :c:func:"
123123
"`PyRun_SimpleStringString` qui prend une chaîne pour seul argument afin de "
124-
"l'exécuter dans le contexte du module ``__main__`` et retourne ``0``` en cas "
124+
"l'exécuter dans le contexte du module ``__main__`` et renvoie ``0``` en cas "
125125
"de succès et ``-1`` quand une exception se produit (incluant :exc:"
126126
"`SyntaxError`). Pour une meilleure maîtrise, utilisez :c:func:"
127127
"`PyRun_String` ; voir le code source pour :c:func:`PyRun_SimpleString` dans "
@@ -140,7 +140,7 @@ msgid ""
140140
msgstr ""
141141
"Appelez la fonction :c:func:`PyRun_String` de la question précédente avec le "
142142
"symbole de départ :c:data:`Py_eval_input` ; il analyse une expression, "
143-
"l'évalue et retourne sa valeur."
143+
"l'évalue et renvoie sa valeur."
144144

145145
#: ../Doc/faq/extending.rst:80
146146
msgid "How do I extract C values from a Python object?"
@@ -154,7 +154,7 @@ msgid ""
154154
"func:`PyList_GetItem`."
155155
msgstr ""
156156
"Cela dépend du type d'objet. Si c'est un tuple, :c:func:`PyTuple_Size` "
157-
"retourne sa longueur et :c:func:`PyTuple_GetItem` retourne l'élément à "
157+
"renvoie sa longueur et :c:func:`PyTuple_GetItem` renvoie l'élément à "
158158
"l'index spécifié. Les listes ont des fonctions similaires, :c:func:"
159159
"`PyListSize` et :c:func:`PyList_GetItem`."
160160

@@ -165,7 +165,7 @@ msgid ""
165165
"Note that Python bytes objects may contain null bytes so C's :c:func:"
166166
"`strlen` should not be used."
167167
msgstr ""
168-
"Pour les bytes, :c:func:`PyBytes_Size` retourne sa longueur et :c:func:"
168+
"Pour les bytes, :c:func:`PyBytes_Size` renvoie sa longueur et :c:func:"
169169
"`PyBytes_AsStringAndSize` fournit un pointeur vers sa valeur et sa "
170170
"longueur. Notez que les objets bytes en Python peuvent contenir des valeurs "
171171
"nulles, c'est pourquoi il ne faut pas utiliser la fonction C :c:func:"
@@ -195,7 +195,7 @@ msgstr ""
195195
"détails. elle permet l'interfaçage avec tout type de séquence Python en "
196196
"utilisant des appels tels que :c:func:`PySequence_Length`, :c:func:"
197197
"`PySequence_GetItem`, etc. ainsi que de nombreux autres protocoles utiles "
198-
"tels que les nombres (:c:func:`PyNumber_Index` et al.) et les "
198+
"tels que les nombres (:c:func:`PyNumber_Index` et autres) et les "
199199
"correspondances dans les APIs PyMapping."
200200

201201
#: ../Doc/faq/extending.rst:104
@@ -221,7 +221,7 @@ msgstr ""
221221
"La fonction :c:func:`PyObject_CallMethod` peut être utilisée pour appeler la "
222222
"méthode d'un objet. Les paramètres sont l'objet, le nom de la méthode à "
223223
"appeler, une chaîne de caractères comme celle utilisée pour :c:func:"
224-
"`Py_BuildValue`, et les valeurs des arguments: ::"
224+
"`Py_BuildValue` et les valeurs des arguments ::"
225225

226226
#: ../Doc/faq/extending.rst:121
227227
msgid ""
@@ -240,7 +240,7 @@ msgid ""
240240
msgstr ""
241241
"Pour appeler, p. ex., la méthode \"*seek*\" d'un objet *file* avec les "
242242
"arguments 10, 0 (en supposant que le pointeur de l'objet fichier est \"f"
243-
"\"): ::"
243+
"\") ::"
244244

245245
#: ../Doc/faq/extending.rst:135
246246
msgid ""
@@ -249,9 +249,9 @@ msgid ""
249249
"format, and to call a function with one argument, surround the argument in "
250250
"parentheses, e.g. \"(i)\"."
251251
msgstr ""
252-
"Notez que puisque :c:func:`PyObject_CallObject` veut *toujours* un tuple "
253-
"comme liste d'arguments, pour appeler une fonction sans arguments, utilisez "
254-
"\"()\" pour être conforme au type, et pour appeler une fonction avec un "
252+
"Notez que :c:func:`PyObject_CallObject` veut *toujours* un tuple "
253+
"comme liste d'arguments. Aussi, pour appeler une fonction sans arguments, utilisez "
254+
"\"()\" pour être conforme au type et, pour appeler une fonction avec un "
255255
"paramètre, entourez-le de parenthèses, p. ex. \"(i)\"."
256256

257257
#: ../Doc/faq/extending.rst:142
@@ -269,16 +269,16 @@ msgid ""
269269
"print_error, or just allow the standard traceback mechanism to work. Then, "
270270
"the output will go wherever your ``write()`` method sends it."
271271
msgstr ""
272-
"En code Python, définissez un objet qui possède la méthode ``write()``. "
272+
"Dans le code Python, définissez un objet qui possède la méthode ``write()``. "
273273
"Affectez cet objet à :data:`sys.stdout` et :data:`sys.stderr`. Appelez "
274-
"*print_error*, ou autorisez simplement le mécanisme de remontées standard à "
275-
"fonctionner. Ensuite, le retour ira là où votre méthode ``write()`` le "
276-
"destine."
274+
"*print_error* ou faites simplement en sorte que le mécanisme standard "
275+
"de remontée des erreurs fonctionne. Ensuite, la sortie sera dirigée vers l'endroit où votre méthode ``write()`` "
276+
"écrit."
277277

278278
#: ../Doc/faq/extending.rst:149
279279
msgid "The easiest way to do this is to use the :class:`io.StringIO` class:"
280280
msgstr ""
281-
"La façon la plus simple pour ce faire est d'utiliser la classe :class:`io."
281+
"La façon la plus simple consiste à utiliser la classe :class:`io."
282282
"StringIO` :"
283283

284284
#: ../Doc/faq/extending.rst:161
@@ -292,7 +292,7 @@ msgstr "Comment accéder à un module écrit en Python à partir de C ?"
292292

293293
#: ../Doc/faq/extending.rst:184
294294
msgid "You can get a pointer to the module object as follows::"
295-
msgstr "Vous pouvez obtenir un pointeur sur l'objet module comme suit: ::"
295+
msgstr "Vous pouvez obtenir un pointeur sur l'objet module comme suit ::"
296296

297297
#: ../Doc/faq/extending.rst:188
298298
msgid ""
@@ -304,24 +304,24 @@ msgid ""
304304
msgstr ""
305305
"Si le module n'a pas encore été importé (c.-à-d. qu'il n'est pas encore "
306306
"présent dans :data:`sys.modules`), cela initialise le module ; sinon il "
307-
"retourne simplement la valeur de ``sys.modules[\"<modulename>\"]``. Notez "
307+
"renvoie simplement la valeur de ``sys.modules[\"<modulename>\"]``. Notez "
308308
"qu'il n'inscrit le module dans aucun espace de nommage — il s'assure "
309-
"seulement qu'il a été initialisé et est stocké dans :data:`sys.modules`."
309+
"seulement qu'il a été initialisé et qu'il est stocké dans :data:`sys.modules`."
310310

311311
#: ../Doc/faq/extending.rst:194
312312
msgid ""
313313
"You can then access the module's attributes (i.e. any name defined in the "
314314
"module) as follows::"
315315
msgstr ""
316316
"Vous pouvez alors accéder aux attributs du module (c.-à-d. à tout nom défini "
317-
"dans le module) comme suit: ::"
317+
"dans le module) comme suit ::"
318318

319319
#: ../Doc/faq/extending.rst:199
320320
msgid ""
321321
"Calling :c:func:`PyObject_SetAttrString` to assign to variables in the "
322322
"module also works."
323323
msgstr ""
324-
"Appeler :c:func:`PyObject_SetAttrAttrStrString` pour assigner aux variables "
324+
"Appeler :c:func:`PyObject_SetAttrString` pour assigner des valeurs aux variables "
325325
"du module fonctionne également."
326326

327327
#: ../Doc/faq/extending.rst:204
@@ -337,11 +337,11 @@ msgid ""
337337
"building a new Python type around a C structure (pointer) type will also "
338338
"work for C++ objects."
339339
msgstr ""
340-
"Selon vos besoins, il existe de nombreuses approches. Pour le faire "
340+
"Selon vos besoins, de nombreuses approches sont possibles. Pour le faire "
341341
"manuellement, commencez par lire :ref:`le document \"Extension et intégration"
342342
"\" <extending-index>`. Sachez que pour le système d'exécution Python, il "
343-
"n'y a pas beaucoup de différence entre C et C++ — donc la méthode de "
344-
"construire un nouveau type Python autour d'une structure C (pointeur) "
343+
"n'y a pas beaucoup de différence entre C et C++ — donc la méthode pour "
344+
"construire un nouveau type Python à partir d'une structure C (pointeur) "
345345
"fonctionne également avec des objets en C++."
346346

347347
#: ../Doc/faq/extending.rst:212
@@ -360,8 +360,8 @@ msgid ""
360360
"fails. (Fixing this requires some ugly shell script hackery, and this bug "
361361
"is so minor that it doesn't seem worth the effort.)"
362362
msgstr ""
363-
"Le fichier *Setup* doit se terminer par une nouvelle ligne, s'il n'y a pas "
364-
"de nouvelle ligne, le processus de compilation échoue. (La résolution de ce "
363+
"Le fichier *Setup* doit se terminer par une ligne vide, s'il n'y a pas "
364+
"de ligne vide, le processus de compilation échoue (ce "
365365
"problème peut se régler en bidouillant un script shell, et ce bogue est si "
366366
"mineur qu'il ne mérite pas qu'on s'y attarde)."
367367

@@ -418,8 +418,8 @@ msgstr "Pour Debian, exécutez ``apt-get install python-dev``."
418418
#: ../Doc/faq/extending.rst:259
419419
msgid "How do I tell \"incomplete input\" from \"invalid input\"?"
420420
msgstr ""
421-
"Comment distinguer une « entrée incomplète » (*incomplete input*) d'une « "
422-
"entrée invalide » (*invalid input*) ?"
421+
"Comment distinguer une « entrée incomplète » (*incomplete input*) d'une « "
422+
"entrée invalide » (*invalid input*) ?"
423423

424424
#: ../Doc/faq/extending.rst:261
425425
msgid ""
@@ -441,7 +441,7 @@ msgid ""
441441
"parser's behavior sufficiently. IDLE uses this, for example."
442442
msgstr ""
443443
"En Python, vous pouvez utiliser le module :mod:`codeop`, qui se rapproche "
444-
"assez du comportement de l'analyseur. Par exemple, IDLE l'utilise ."
444+
"assez du comportement de l'analyseur. Par exemple, IDLE l'utilise."
445445

446446
#: ../Doc/faq/extending.rst:270
447447
msgid ""
@@ -452,7 +452,7 @@ msgid ""
452452
"``Parser/myreadline.c`` for more hints."
453453
msgstr ""
454454
"La façon la plus simple de le faire en C est d'appeler :c:func:"
455-
"`PyRun_InteractiveLoop` (peut-être dans un autre fil d'exécution) et laissez "
455+
"`PyRun_InteractiveLoop` (peut-être dans un autre fil d'exécution) et laisser "
456456
"l'interpréteur Python gérer l'entrée pour vous. Vous pouvez également "
457457
"définir :c:func:`PyOS_ReadlineFunctionPointer` pour pointer vers votre "
458458
"fonction d'entrée personnalisée. Voir ``Modules/readline.c`` et ``Parser/"
@@ -468,12 +468,12 @@ msgid ""
468468
"sample code fragment, untested, inspired by code from Alex Farber::"
469469
msgstr ""
470470
"Cependant, vous devez parfois exécuter l'interpréteur Python intégré dans le "
471-
"même fil d’exécution que votre application REST et vous ne pouvez pas "
472-
"laisser :c:func:`PyRun_InteractiveLoop` s'arrêter en attendant les entrées "
471+
"même fil d’exécution que le reste de votre application et vous ne pouvez pas "
472+
"laisser :c:func:`PyRun_InteractiveLoop` attendre les entrées "
473473
"utilisateur. La seule solution est alors d'appeler :c:func:"
474-
"`PyParser_ParseString` et de tester ``e.error`` égal à ``E_EOF``, ce qui "
474+
"`PyParser_ParseString` et de tester si ``e.error`` égale ``E_EOF``, ce qui "
475475
"signifie que l'entrée est incomplète. Voici un exemple de code, non testé, "
476-
"inspiré du code d'Alex Farber: :"
476+
"inspiré d'un code écrit par Alex Farber ::"
477477

478478
#: ../Doc/faq/extending.rst:310
479479
msgid ""
@@ -487,14 +487,14 @@ msgid ""
487487
"to ignore **SIGINT** while calling readline())::"
488488
msgstr ""
489489
"Une autre solution est d'essayer de compiler la chaîne reçue avec :c:func:"
490-
"`Py_CompileString`. Si cela se compile sans erreurs, essayez d'exécuter "
491-
"l'objet code retourné en appelant :c:func:`PyEval_EvalCode`. Sinon, "
490+
"`Py_CompileString`. Si cela se compile sans erreur, essayez d'exécuter "
491+
"l'objet code renvoyé en appelant :c:func:`PyEval_EvalCode`. Sinon, "
492492
"enregistrez l'entrée pour plus tard. Si la compilation échoue, vérifiez s'il "
493493
"s'agit d'une erreur ou s'il faut juste plus de données — en extrayant la "
494494
"chaîne de message du tuple d'exception et en la comparant à la chaîne *"
495495
"\"unexpected EOF while parsing\"*. Voici un exemple complet d'utilisation "
496-
"de la bibliothèque *readline* de GNU (vous pouvez ignorer **SIGINT** en "
497-
"appelant *readline()*): ::"
496+
"de la bibliothèque *readline* de GNU (il vous est possible d'ignorer **SIGINT** lors de "
497+
"l'appel à *readline()*) ::"
498498

499499
#: ../Doc/faq/extending.rst:432
500500
msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?"
@@ -509,8 +509,8 @@ msgid ""
509509
"extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``)."
510510
msgstr ""
965E
511511
"Pour charger dynamiquement les modules d'extension g++, vous devez "
512-
"recompiler Python, le relier en utilisant g++ (modifiez *LINKCC* dans le "
513-
"*Python Modules Makefile*), et rattacher votre module d'extension avec g++ "
512+
"recompiler Python, effectuer l'édition de liens en utilisant g++ (modifiez *LINKCC* dans le "
513+
"*Python Modules Makefile*), et effectuer l'édition de liens de votre module d'extension avec g++ "
514514
"(par exemple, ``g++ -shared -o mymodule.so mymodule.o``)."
515515

516516
#: ../Doc/faq/extending.rst:440
@@ -519,7 +519,7 @@ msgid ""
519519
"in Python (e.g. through inheritance)?"
520520
msgstr ""
521521
"Puis-je créer une classe d'objets avec certaines méthodes implémentées en C "
522-
"et d'autres en Python (p. ex. par héritage) ?"
522+
"et d'autres en Python (p. ex. en utilisant l'héritage) ?"
523523

524524
#: ../Doc/faq/extending.rst:442
525525
msgid ""

0 commit comments

Comments
 (0)
0