Backport translations.

This commit is contained in:
Julien Palard 2023-03-22 22:51:39 +01:00
parent e7b27fcd03
commit b0067c82ff
Signed by: mdk
GPG Key ID: 0EFC1AC1006886F8
154 changed files with 7714 additions and 2330 deletions

View File

@ -60,13 +60,12 @@ msgstr ""
"*reStructuredText* et la suite d'outils *Docutils* ;"
#: about.rst:26
#, fuzzy
msgid ""
"Fredrik Lundh for his Alternative Python Reference project from which Sphinx "
"got many good ideas."
msgstr ""
"Fredrik Lundh pour son projet `Alternative Python Reference <http://effbot."
"org/zone/pyref.htm>`_, dont Sphinx a pris beaucoup de bonnes idées."
"Fredrik Lundh pour son projet *Alternative Python Reference*, dont Sphinx a "
"pris beaucoup de bonnes idées."
#: about.rst:31
msgid "Contributors to the Python Documentation"

56
bugs.po
View File

@ -110,39 +110,39 @@ msgid ""
msgstr "Guide complet pour qui souhaite contribuer à la documentation Python."
#: bugs.rst:38
#, fuzzy
msgid ""
"`Documentation Translations <https://devguide.python.org/documenting/"
"#translating>`_"
msgstr ""
"`Aider avec la documentation <https://devguide.python.org/docquality/"
"#helping-with-documentation>`_"
"`Aider avec la documentation <https://devguide.python.org/documenting/"
"#translating>`_"
#: bugs.rst:39
msgid ""
"A list of GitHub pages for documentation translation and their primary "
"contacts."
msgstr ""
"Liste de dépôts GitHub où la documentation est traduite, avec les personnes "
"à contacter."
#: bugs.rst:45
msgid "Using the Python issue tracker"
msgstr "Utilisation du gestionnaire de tickets Python"
#: bugs.rst:47
#, fuzzy
msgid ""
"Issue reports for Python itself should be submitted via the GitHub issues "
"tracker (https://github.com/python/cpython/issues). The GitHub issues "
"tracker offers a web form which allows pertinent information to be entered "
"and submitted to the developers."
msgstr ""
"Les rapports de bogues pour Python lui-même devraient être soumis via le "
"l'outil de suivi des bogues (*Bug Tracker Python* — http://bugs.python."
"org/). Le gestionnaire de tickets propose un formulaire Web permettant de "
"saisir des informations pertinentes à soumettre aux développeurs."
"Les rapports concernant un problème relatif à Python lui-même doivent être "
"soumis *via* l'outil de suivi des problèmes de GitHub (https://github.com/"
"python/cpython/issues). Le gestionnaire de tickets propose un formulaire Web "
"permettant de saisir des informations pertinentes à soumettre aux "
"développeurs."
#: bugs.rst:52
#, fuzzy
msgid ""
"The first step in filing a report is to determine whether the problem has "
"already been reported. The advantage in doing so, aside from saving the "
@ -154,46 +154,44 @@ msgid ""
msgstr ""
"La première étape pour remplir un rapport est de déterminer si le problème a "
"déjà été rapporté. L'avantage de cette approche, en plus d'économiser du "
"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; "
"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; "
"il se peut que le problème soit déjà résolu dans la prochaine version, ou "
"que des informations complémentaires soient attendues (auquel cas votre "
"contribution est la bienvenue !). Pour ce faire, cherchez dans la base de "
"données de bogues grâce à la boîte de recherche en haut de la page."
"contribution est la bienvenue !). Pour ce faire, cherchez dans le "
"gestionnaire de tickets grâce à la boîte de recherche en haut de la page."
#: bugs.rst:59
#, fuzzy
msgid ""
"If the problem you're reporting is not already in the list, log in to "
"GitHub. If you don't already have a GitHub account, create a new account "
"using the \"Sign up\" link. It is not possible to submit a bug report "
"anonymously."
msgstr ""
"Si le problème que vous soumettez n'est pas déjà dans l'outil de suivi des "
"bogues, revenez au *Python Bug Tracker* et connectez-vous. Si vous n'avez "
"pas déjà un compte pour le *tracker*, cliquez sur le lien « S'enregistrer », "
"ou, si vous utilisez *OpenID*, sur l'un des logos des fournisseurs *OpenID* "
"dans la barre latérale. Il n'est pas possible de soumettre un rapport de "
"bogue de manière anonyme."
"Si le problème que vous soumettez n'est pas déjà dans la liste, connectez-"
"vous à GitHub. Si vous n'avez pas déjà un compte GitHub, créez un nouveau "
"compte en cliquant sur le lien « Sign Up ». Il n'est pas possible de "
"soumettre un rapport de bogue de manière anonyme."
#: bugs.rst:64
#, fuzzy
msgid ""
"Being now logged in, you can submit an issue. Click on the \"New issue\" "
"button in the top bar to report a new issue."
msgstr ""
"Une fois identifié, pour pouvez rapporter un bogue. Sélectionnez le lien "
"*Create New* dans la barre latérale pour ouvrir un nouveau formulaire de "
"rapport de bogue."
"Une fois connecté, vous pouvez rapporter un problème. Sélectionnez le bouton "
"*New issue* dans la barre en haut pour ouvrir un nouveau formulaire de "
"rapport."
#: bugs.rst:67
msgid "The submission form has two fields, \"Title\" and \"Comment\"."
msgstr ""
msgstr "Le formulaire de rapport contient deux champs, *Title* et *Comment*."
#: bugs.rst:69
msgid ""
"For the \"Title\" field, enter a *very* short description of the problem; "
"less than ten words is good."
msgstr ""
"Dans le champ *Title*, entrez une *très* brève description du problème "
"rencontré ; tâchez de vous limiter à dix mots."
#: bugs.rst:72
msgid ""
@ -209,15 +207,14 @@ msgstr ""
"informations de versions)."
#: bugs.rst:77
#, fuzzy
msgid ""
"Each issue report will be reviewed by a developer who will determine what "
"needs to be done to correct the problem. You will receive an update each "
"time an action is taken on the issue."
msgstr ""
"Chaque bogue sera attribué à un développeur qui déterminera ce qui est "
"Chaque rapport sera attribué à un développeur qui déterminera ce qui est "
"nécessaire d'entreprendre pour corriger le problème. Vous recevrez une "
"notification à chaque action effectuée sur le bogue."
"notification à chaque action concernant le rapport."
#: bugs.rst:86
msgid ""
@ -237,13 +234,12 @@ msgstr ""
"est utile."
#: bugs.rst:89
#, fuzzy
msgid ""
"`Bug Writing Guidelines <https://bugzilla.mozilla.org/page.cgi?id=bug-"
"writing.html>`_"
msgstr ""
"`Guide pour la rédaction de rapports de bogues <https://developer.mozilla."
"org/en-US/docs/Mozilla/QA/Bug_writing_guidelines>`_"
"`Guide pour la rédaction de rapports de bogues <https://bugzilla.mozilla.org/"
"page.cgi?id=bug-writing.html>`_"
#: bugs.rst:89
msgid ""

View File

@ -32,11 +32,12 @@ msgstr ""
"disponibles."
#: c-api/bool.rst:16
#, fuzzy
msgid ""
"Return true if *o* is of type :c:data:`PyBool_Type`. This function always "
"succeeds."
msgstr "Renvoie vrai si *o* est de type :c:data:`PyBook_Type`."
msgstr ""
"Renvoie vrai si *o* est de type :c:data:`PyBook_Type`. Cette fonction "
"réussit systématiquement."
#: c-api/bool.rst:22
msgid ""

View File

@ -455,7 +455,7 @@ msgstr "oui"
#: c-api/buffer.rst:323 c-api/buffer.rst:325
msgid "if needed"
msgstr ""
msgstr "si nécessaire"
#: c-api/buffer.rst:278 c-api/buffer.rst:298 c-api/buffer.rst:302
#: c-api/buffer.rst:327 c-api/buffer.rst:331 c-api/buffer.rst:335
@ -513,7 +513,7 @@ msgstr ""
#: c-api/buffer.rst:321
msgid "readonly"
msgstr ""
msgstr "lecture seule"
#: c-api/buffer.rst:321
msgid "format"
@ -529,7 +529,7 @@ msgstr "0"
#: c-api/buffer.rst:329 c-api/buffer.rst:337
msgid "1 or 0"
msgstr ""
msgstr "0 ou 1"
#: c-api/buffer.rst:342
msgid "Complex arrays"
@ -642,6 +642,8 @@ msgid ""
"Return the implied :c:data:`~Py_buffer.itemsize` from :c:data:`~Py_buffer."
"format`. On error, raise an exception and return -1."
msgstr ""
"Retourne l'\\ :c:data:`~Py_buffer.itemsize` du :c:data:`~Py_buffer.format`. "
"En cas d'erreur, lève une exception et retourne -1."
#: c-api/buffer.rst:475
msgid ""

View File

@ -96,7 +96,7 @@ msgstr "Commentaires"
#: c-api/bytes.rst:70
msgid ":attr:`%%`"
msgstr ""
msgstr ":attr:`%%`"
#: c-api/bytes.rst:70
msgid "*n/a*"
@ -108,7 +108,7 @@ msgstr ""
#: c-api/bytes.rst:72
msgid ":attr:`%c`"
msgstr ""
msgstr ":attr:`%c`"
#: c-api/bytes.rst:75 c-api/bytes.rst:96
msgid "int"
@ -120,7 +120,7 @@ msgstr ""
#: c-api/bytes.rst:75
msgid ":attr:`%d`"
msgstr ""
msgstr ":attr:`%d`"
#: c-api/bytes.rst:75
msgid "Equivalent to ``printf(\"%d\")``. [1]_"
@ -128,7 +128,7 @@ msgstr ""
#: c-api/bytes.rst:78
msgid ":attr:`%u`"
msgstr ""
msgstr ":attr:`%u`"
#: c-api/bytes.rst:78
msgid "unsigned int"
@ -140,7 +140,7 @@ msgstr ""
#: c-api/bytes.rst:81
msgid ":attr:`%ld`"
msgstr ""
msgstr ":attr:`%ld`"
#: c-api/bytes.rst:81
msgid "long"
@ -152,7 +152,7 @@ msgstr ""
#: c-api/bytes.rst:84
msgid ":attr:`%lu`"
msgstr ""
msgstr ":attr:`%lu`"
#: c-api/bytes.rst:84
msgid "unsigned long"
@ -164,7 +164,7 @@ msgstr ""
#: c-api/bytes.rst:87
msgid ":attr:`%zd`"
msgstr ""
msgstr ":attr:`%zd`"
#: c-api/bytes.rst:87
msgid ":c:type:`\\ Py_ssize_t`"
@ -176,7 +176,7 @@ msgstr ""
#: c-api/bytes.rst:90
msgid ":attr:`%zu`"
msgstr ""
msgstr ":attr:`%zu`"
#: c-api/bytes.rst:90
msgid "size_t"
@ -188,7 +188,7 @@ msgstr ""
#: c-api/bytes.rst:93
msgid ":attr:`%i`"
msgstr ""
msgstr ":attr:`%i`"
#: c-api/bytes.rst:93
msgid "Equivalent to ``printf(\"%i\")``. [1]_"
@ -196,7 +196,7 @@ msgstr ""
#: c-api/bytes.rst:96
msgid ":attr:`%x`"
msgstr ""
msgstr ":attr:`%x`"
#: c-api/bytes.rst:96
msgid "Equivalent to ``printf(\"%x\")``. [1]_"
@ -204,7 +204,7 @@ msgstr ""
#: c-api/bytes.rst:99
msgid ":attr:`%s`"
msgstr ""
msgstr ":attr:`%s`"
#: c-api/bytes.rst:99
msgid "const char\\*"
@ -216,7 +216,7 @@ msgstr ""
#: c-api/bytes.rst:102
msgid ":attr:`%p`"
msgstr ""
msgstr ":attr:`%p`"
#: c-api/bytes.rst:102
msgid "const void\\*"

View File

@ -266,7 +266,7 @@ msgstr "Fonction"
#: c-api/call.rst:195
msgid "callable"
msgstr ""
msgstr "appelable (*callable*)"
#: c-api/call.rst:195
msgid "args"

View File

@ -661,7 +661,7 @@ msgstr ""
#: c-api/exceptions.rst:651
msgid "3.11"
msgstr ""
msgstr "3.11"
#: c-api/exceptions.rst:643
msgid ""
@ -1067,7 +1067,7 @@ msgstr ":c:data:`PyExc_ModuleNotFoundError`."
#: c-api/exceptions.rst:902
msgid ":exc:`ModuleNotFoundError`"
msgstr ""
msgstr ":exc:`ModuleNotFoundError`"
#: c-api/exceptions.rst:904
msgid ":c:data:`PyExc_NameError`"
@ -1131,7 +1131,7 @@ msgstr ":c:data:`PyExc_ReferenceError`"
#: c-api/exceptions.rst:918
msgid ":exc:`RecursionError`"
msgstr ""
msgstr ":exc:`RecursionError`"
#: c-api/exceptions.rst:920
msgid ":c:data:`PyExc_ReferenceError`"

View File

@ -20,11 +20,11 @@ msgstr "Objets fonctions"
#: c-api/function.rst:10
msgid "There are a few functions specific to Python functions."
msgstr ""
msgstr "Certaines fonctions sont spécifiques aux fonctions Python."
#: c-api/function.rst:15
msgid "The C structure used for functions."
msgstr ""
msgstr "La structure C utilisée pour les fonctions."
#: c-api/function.rst:22
msgid ""
@ -32,6 +32,8 @@ msgid ""
"function type. It is exposed to Python programmers as ``types."
"FunctionType``."
msgstr ""
"C'est une instance de :c:type:`PyTypeObject` et représente le type fonction "
"en Python. Il est exposé aux développeurs comme ``types.FunctionType``."
#: c-api/function.rst:28
msgid ""
@ -39,6 +41,9 @@ msgid ""
"`PyFunction_Type`). The parameter must not be ``NULL``. This function "
"always succeeds."
msgstr ""
"Renvoie vrai si *o* est un objet de type fonction (a comme type :c:data:"
"`PyFunction_Type`). Le paramètre ne doit pas être ``NULL``. Cette fonction "
"réussit toujours."
#: c-api/function.rst:34
msgid ""
@ -46,6 +51,8 @@ msgid ""
"*globals* must be a dictionary with the global variables accessible to the "
"function."
msgstr ""
"Renvoie une nouvelle fonction associée avec l'objet *code*. *globals* doit "
"être un dictionnaire avec les variables globales accessibles à la fonction."
#: c-api/function.rst:37
msgid ""
@ -65,11 +72,12 @@ msgstr ""
#: c-api/function.rst:54
msgid "Return the code object associated with the function object *op*."
msgstr ""
msgstr "Renvoie l'objet code associé avec l'objet de la fonction *op*."
#: c-api/function.rst:59
msgid "Return the globals dictionary associated with the function object *op*."
msgstr ""
"Renvoie le dictionnaire global associé avec l'objet de la fonction *op*."
#: c-api/function.rst:64
msgid ""
@ -83,37 +91,49 @@ msgid ""
"Return the argument default values of the function object *op*. This can be "
"a tuple of arguments or ``NULL``."
msgstr ""
"Renvoie les valeurs par défaut de l'argument de l'objet de la fonction *op*. "
"Cela peut être un tuple d'arguments ou ``NULL``."
#: c-api/function.rst:77
msgid ""
"Set the argument default values for the function object *op*. *defaults* "
"must be ``Py_None`` or a tuple."
msgstr ""
"Définir les valeurs par défaut de l'argument pour l'objet de la fonction "
"*op*. *defaults* doit être ``Py_None`` ou un tuple."
#: c-api/function.rst:94 c-api/function.rst:108
msgid "Raises :exc:`SystemError` and returns ``-1`` on failure."
msgstr ""
msgstr "Lève :exc:`SystemError` et renvoie ``-1`` en cas de d'échec."
#: c-api/function.rst:85
msgid ""
"Return the closure associated with the function object *op*. This can be "
"``NULL`` or a tuple of cell objects."
msgstr ""
"Renvoie la fermeture associée avec l'objet de la fonction *op*. Cela peut "
"être ``NULL`` ou un tuple d'objets cellule."
#: c-api/function.rst:91
msgid ""
"Set the closure associated with the function object *op*. *closure* must be "
"``Py_None`` or a tuple of cell objects."
msgstr ""
"Définir la fermeture associée avec l'objet de la fonction *op*. *closure* "
"doit être ``Py_None`` ou un tuple d'objets cellule."
#: c-api/function.rst:99
msgid ""
"Return the annotations of the function object *op*. This can be a mutable "
"dictionary or ``NULL``."
msgstr ""
"Renvoie les annotations de l'objet de la fonction *op*. Cela peut être un "
"dictionnaire mutable ou ``NULL``."
#: c-api/function.rst:105
msgid ""
"Set the annotations for the function object *op*. *annotations* must be a "
"dictionary or ``Py_None``."
msgstr ""
"Définir les annotations pour l'objet de la fonction *op*. *annotations* doit "
"être un dictionnaire ou ``Py_None``."

View File

@ -1690,7 +1690,7 @@ msgstr ""
#: c-api/init.rst:1470
msgid ":const:`PyTrace_CALL`"
msgstr ""
msgstr ":const:`PyTrace_CALL`"
#: c-api/init.rst:1475 c-api/init.rst:1486
msgid "Always :c:data:`Py_None`."
@ -1698,7 +1698,7 @@ msgstr ""
#: c-api/init.rst:1472
msgid ":const:`PyTrace_EXCEPTION`"
msgstr ""
msgstr ":const:`PyTrace_EXCEPTION`"
#: c-api/init.rst:1472
msgid "Exception information as returned by :func:`sys.exc_info`."
@ -1706,11 +1706,11 @@ msgstr ""
#: c-api/init.rst:1475
msgid ":const:`PyTrace_LINE`"
msgstr ""
msgstr ":const:`PyTrace_LINE`"
#: c-api/init.rst:1477
msgid ":const:`PyTrace_RETURN`"
msgstr ""
msgstr ":const:`PyTrace_RETURN`"
#: c-api/init.rst:1477
msgid ""
@ -1719,7 +1719,7 @@ msgstr ""
#: c-api/init.rst:1480
msgid ":const:`PyTrace_C_CALL`"
msgstr ""
msgstr ":const:`PyTrace_C_CALL`"
#: c-api/init.rst:1482 c-api/init.rst:1484
msgid "Function object being called."
@ -1727,15 +1727,15 @@ msgstr ""
#: c-api/init.rst:1482
msgid ":const:`PyTrace_C_EXCEPTION`"
msgstr ""
msgstr ":const:`PyTrace_C_EXCEPTION`"
#: c-api/init.rst:1484
msgid ":const:`PyTrace_C_RETURN`"
msgstr ""
msgstr ":const:`PyTrace_C_RETURN`"
#: c-api/init.rst:1486
msgid ":const:`PyTrace_OPCODE`"
msgstr ""
msgstr ":const:`PyTrace_OPCODE`"
#: c-api/init.rst:1491
msgid ""

View File

@ -23,6 +23,8 @@ msgid ""
"The macros in this section are used for managing reference counts of Python "
"objects."
msgstr ""
"Les macros dans cette section permettent de gérer le compteur de références "
"des objets Python."
#: c-api/refcounting.rst:16
msgid ""
@ -36,6 +38,8 @@ msgid ""
"Increment the reference count for object *o*. The object may be ``NULL``, "
"in which case the macro has no effect."
msgstr ""
"Incrémente le compteur de références de l'objet *o*. La macro n'a pas "
"d'effet si l'objet est ``NULL``."
#: c-api/refcounting.rst:28
msgid ""
@ -57,6 +61,15 @@ msgid ""
"update the list data structure, and then call :c:func:`Py_DECREF` for the "
"temporary variable."
msgstr ""
"La fonction de dés-allocation peut invoquer du code Python arbitraire (par "
"exemple quand une instance d'une classe avec une méthode :meth:`__del__` est "
"supprimée). Le code exécuté a accès à toutes les variables Python globales "
"mais les exceptions lors de l'exécution de ce code ne sont pas propagées. "
"Tous les objets qui peuvent être atteints à partir d'une variable globale "
"doivent être dans un état cohérent avant d'appeler :c:func:`Py_DECREF`. Par "
"exemple le code pour supprimer un élément d'une liste doit copier une "
"référence à l'objet dans une variable temporaire, mettre à jour la liste, et "
"enfin appeler :c:func:`Py_DECREF` avec la variable temporaire."
#: c-api/refcounting.rst:47
msgid ""
@ -64,6 +77,10 @@ msgid ""
"in which case the macro has no effect; otherwise the effect is the same as "
"for :c:func:`Py_DECREF`, and the same warning applies."
msgstr ""
"Décrémente le compteur de références de l'objet *o*. L'objet peut être "
"``NULL``, dans ce cas la macro n'a pas d'effet. Dans le cas contraire le "
"comportement est identique à :c:func:`Py_DECREF` et les mêmes avertissements "
"sont de rigueur."
#: c-api/refcounting.rst:54
msgid ""
@ -74,12 +91,20 @@ msgid ""
"object passed because the macro carefully uses a temporary variable and sets "
"the argument to ``NULL`` before decrementing its reference count."
msgstr ""
"Décrémente le compteur de références de l'objet *o*. L'objet peut être "
"``NULL``, dans ce cas la macro n'a pas d'effet. Dans le cas contraire le "
"comportement est identique à :c:func:`Py_DECREF`, puis l'argument est mis à "
"``NULL``. L'avertissement au sujet de l'objet passé en argument à :c:func:"
"`Py_DECREF` ne s'applique pas car la macro utilise une variable temporaire "
"et met l'objet à ``NULL`` avant de décrémenter le compteur de références."
#: c-api/refcounting.rst:61
msgid ""
"It is a good idea to use this macro whenever decrementing the reference "
"count of an object that might be traversed during garbage collection."
msgstr ""
"Il est recommandé d'utiliser cette macro lorsqu'on décrémente le compteur de "
"référence d'un objet qui peut être parcouru par le ramasse-miette."
#: c-api/refcounting.rst:65
msgid ""
@ -95,3 +120,7 @@ msgid ""
"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"
"`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`."
msgstr ""
"Les fonctions ou macros suivantes doivent être uniquement utilisées au sein "
"de l'interpréteur et ne font pas partie de l'API publique : :c:func:"
"`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:`_Py_NewReference`, "
"ainsi que la variable globale :c:data:`_Py_RefTotal`."

View File

@ -60,7 +60,7 @@ msgstr ""
#: c-api/reflection.rst:36
msgid "Get the *frame* next outer frame."
msgstr ""
msgstr "Renvoie la *frame* encadrant immédiatement à *frame*."
#: c-api/reflection.rst:38
msgid "Return a strong reference, or ``NULL`` if *frame* has no outer frame."
@ -72,7 +72,7 @@ msgstr ""
#: c-api/reflection.rst:47
msgid "Get the *frame* code."
msgstr ""
msgstr "Obtenir le code *frame*."
#: c-api/reflection.rst:49
msgid "Return a strong reference."

View File

@ -191,7 +191,7 @@ msgstr "Signification"
#: c-api/structures.rst:210
msgid ":attr:`ml_name`"
msgstr ""
msgstr ":attr:`ml_name`"
#: c-api/structures.rst:218 c-api/structures.rst:379 c-api/structures.rst:462
#: c-api/structures.rst:470
@ -204,7 +204,7 @@ msgstr ""
#: c-api/structures.rst:212
msgid ":attr:`ml_meth`"
msgstr ""
msgstr ":attr:`ml_meth`"
#: c-api/structures.rst:212
msgid "PyCFunction"
@ -216,7 +216,7 @@ msgstr ""
#: c-api/structures.rst:215
msgid ":attr:`ml_flags`"
msgstr ""
msgstr ":attr:`ml_flags`"
#: c-api/structures.rst:368 c-api/structures.rst:391
msgid "int"
@ -228,7 +228,7 @@ msgstr ""
#: c-api/structures.rst:218
msgid ":attr:`ml_doc`"
msgstr ""
msgstr ":attr:`ml_doc`"
#: c-api/structures.rst:379
msgid "points to the contents of the docstring"
@ -384,7 +384,7 @@ msgstr ""
#: c-api/structures.rst:366
msgid ":attr:`name`"
msgstr ""
msgstr ":attr:`name`"
#: c-api/structures.rst:366
msgid "name of the member"
@ -392,7 +392,7 @@ msgstr ""
#: c-api/structures.rst:368
msgid ":attr:`!type`"
msgstr ""
msgstr ":attr:`!type`"
#: c-api/structures.rst:368
msgid "the type of the member in the C struct"
@ -400,7 +400,7 @@ msgstr ""
#: c-api/structures.rst:371
msgid ":attr:`offset`"
msgstr ""
msgstr ":attr:`offset`"
#: c-api/structures.rst:407
msgid "Py_ssize_t"
@ -413,7 +413,7 @@ msgstr ""
#: c-api/structures.rst:375
msgid ":attr:`flags`"
msgstr ""
msgstr ":attr:`flags`"
#: c-api/structures.rst:375
msgid "flag bits indicating if the field should be read-only or writable"
@ -421,7 +421,7 @@ msgstr ""
#: c-api/structures.rst:379
msgid ":attr:`doc`"
msgstr ""
msgstr ":attr:`doc`"
#: c-api/structures.rst:383
msgid ""
@ -609,7 +609,7 @@ msgstr ""
#: c-api/structures.rst:462
msgid "name"
msgstr ""
msgstr "nom"
#: c-api/structures.rst:462
msgid "attribute name"

View File

@ -171,7 +171,7 @@ msgstr ""
#: c-api/typeobj.rst:64 c-api/typeobj.rst:68
msgid ":ref:`sub-slots`"
msgstr ""
msgstr ":ref:`sub-slots`"
#: c-api/typeobj.rst:64 c-api/typeobj.rst:68 c-api/typeobj.rst:82
msgid "%"
@ -2054,7 +2054,7 @@ msgstr "Comparaison"
#: c-api/typeobj.rst:1354
msgid ":const:`Py_LT`"
msgstr ""
msgstr ":const:`Py_LT`"
#: c-api/typeobj.rst:1354
msgid "``<``"
@ -2062,7 +2062,7 @@ msgstr "``<``"
#: c-api/typeobj.rst:1356
msgid ":const:`Py_LE`"
msgstr ""
msgstr ":const:`Py_LE`"
#: c-api/typeobj.rst:1356
msgid "``<=``"
@ -2070,7 +2070,7 @@ msgstr "``<=``"
#: c-api/typeobj.rst:1358
msgid ":const:`Py_EQ`"
msgstr ""
msgstr ":const:`Py_EQ`"
#: c-api/typeobj.rst:1358
msgid "``==``"
@ -2078,7 +2078,7 @@ msgstr "``==``"
#: c-api/typeobj.rst:1360
msgid ":const:`Py_NE`"
msgstr ""
msgstr ":const:`Py_NE`"
#: c-api/typeobj.rst:1360
msgid "``!=``"
@ -2086,7 +2086,7 @@ msgstr "``!=``"
#: c-api/typeobj.rst:1362
msgid ":const:`Py_GT`"
msgstr ""
msgstr ":const:`Py_GT`"
#: c-api/typeobj.rst:1362
msgid "``>``"
@ -2094,7 +2094,7 @@ msgstr "``>``"
#: c-api/typeobj.rst:1364
msgid ":const:`Py_GE`"
msgstr ""
msgstr ":const:`Py_GE`"
#: c-api/typeobj.rst:1364
msgid "``>=``"

View File

@ -16,11 +16,11 @@ msgstr ""
#: c-api/unicode.rst:6
msgid "Unicode Objects and Codecs"
msgstr ""
msgstr "Objets Unicode et Codecs"
#: c-api/unicode.rst:12
msgid "Unicode Objects"
msgstr ""
msgstr "Objets Unicode"
#: c-api/unicode.rst:14
msgid ""
@ -31,6 +31,12 @@ msgid ""
"65536; otherwise, code points must be below 1114112 (which is the full "
"Unicode range)."
msgstr ""
"Depuis l'implémentation de :pep:`393` dans Python 3.3, les objets Unicode "
"utilisent une variété de représentations internes, pour permettre de gérer "
"l'intervalle complet des caractères Unicode en restant efficace en termes de "
"mémoire. Il y a des cas spéciaux pour les chaînes où tous les points de code "
"sont inférieurs à 128, 256, ou 65536 ; sinon, les points de code doivent "
"être inférieurs à 1114112 (qui est l'intervalle Unicode complet)."
#: c-api/unicode.rst:20
msgid ""
@ -44,6 +50,9 @@ msgid ""
"Due to the transition between the old APIs and the new APIs, Unicode objects "
"can internally be in two states depending on how they were created:"
msgstr ""
"En raison de la transition des anciennes APIs vers les nouvelles APIs, les "
"objets Unicode peuvent être dans deux états internes selon comment ils ont "
"été créés :"
#: c-api/unicode.rst:27
msgid ""
@ -51,6 +60,9 @@ msgid ""
"Unicode API. They use the most efficient representation allowed by the "
"implementation."
msgstr ""
"Les objets Unicode « canoniques » sont tous les objets créés par une API "
"Unicode non-dépréciée. Ils utilisent la représentation la plus efficace "
"permise par l'implémentation."
#: c-api/unicode.rst:31
msgid ""
@ -66,16 +78,21 @@ msgid ""
"APIs. All Unicode objects will be \"canonical\" since then. See :pep:`623` "
"for more information."
msgstr ""
"Les objets Unicode « historiques » vont être supprimés de Python 3.12 avec "
"les APIs dépréciées. Tous les objets Unicode vont être « canoniques » à "
"partir de là. Voir :pep:`623` pour plus d'information."
#: c-api/unicode.rst:43
msgid "Unicode Type"
msgstr ""
msgstr "Type Unicode"
#: c-api/unicode.rst:45
msgid ""
"These are the basic Unicode object types used for the Unicode implementation "
"in Python:"
msgstr ""
"Voici les types d'objets Unicode utilisés pour l'implémentation Unicode en "
"Python :"
#: c-api/unicode.rst:52
msgid ""
@ -83,6 +100,9 @@ msgid ""
"characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with "
"single Unicode characters, use :c:type:`Py_UCS4`."
msgstr ""
"Voici les *typedefs* pour les types entiers non signés suffisamment large "
"pour contenir des caractères de 32 bits, 16 bits et 8 bits, respectivement. "
"Pour traiter des caractères uniques, utilisez :c:type:`Py_UCS4`."
#: c-api/unicode.rst:61
msgid ""
@ -96,6 +116,9 @@ msgid ""
"whether you selected a \"narrow\" or \"wide\" Unicode version of Python at "
"build time."
msgstr ""
"Dans les versions précédentes, ceci était un type 16-bit ou un type 32-bit "
"selon que vous choisissiez une version Unicode *narrow* ou *wide* de Python "
"à la compilation."
#: c-api/unicode.rst:74
msgid ""
@ -472,7 +495,7 @@ msgstr "Commentaires"
#: c-api/unicode.rst:464
msgid ":attr:`%%`"
msgstr ""
msgstr ":attr:`%%`"
#: c-api/unicode.rst:464
msgid "*n/a*"
@ -484,7 +507,7 @@ msgstr ""
#: c-api/unicode.rst:466
msgid ":attr:`%c`"
msgstr ""
msgstr ":attr:`%c`"
#: c-api/unicode.rst:469 c-api/unicode.rst:505
msgid "int"
@ -496,7 +519,7 @@ msgstr ""
#: c-api/unicode.rst:469
msgid ":attr:`%d`"
msgstr ""
msgstr ":attr:`%d`"
#: c-api/unicode.rst:469
msgid "Equivalent to ``printf(\"%d\")``. [1]_"
@ -504,7 +527,7 @@ msgstr ""
#: c-api/unicode.rst:472
msgid ":attr:`%u`"
msgstr ""
msgstr ":attr:`%u`"
#: c-api/unicode.rst:472
msgid "unsigned int"
@ -516,7 +539,7 @@ msgstr ""
#: c-api/unicode.rst:475
msgid ":attr:`%ld`"
msgstr ""
msgstr ":attr:`%ld`"
#: c-api/unicode.rst:478
msgid "long"
@ -528,7 +551,7 @@ msgstr ""
#: c-api/unicode.rst:478
msgid ":attr:`%li`"
msgstr ""
msgstr ":attr:`%li`"
#: c-api/unicode.rst:478
msgid "Equivalent to ``printf(\"%li\")``. [1]_"
@ -536,7 +559,7 @@ msgstr ""
#: c-api/unicode.rst:481
msgid ":attr:`%lu`"
msgstr ""
msgstr ":attr:`%lu`"
#: c-api/unicode.rst:481
msgid "unsigned long"
@ -548,7 +571,7 @@ msgstr ""
#: c-api/unicode.rst:484
msgid ":attr:`%lld`"
msgstr ""
msgstr ":attr:`%lld`"
#: c-api/unicode.rst:487
msgid "long long"
@ -560,7 +583,7 @@ msgstr ""
#: c-api/unicode.rst:487
msgid ":attr:`%lli`"
msgstr ""
msgstr ":attr:`%lli`"
#: c-api/unicode.rst:487
msgid "Equivalent to ``printf(\"%lli\")``. [1]_"
@ -568,7 +591,7 @@ msgstr ""
#: c-api/unicode.rst:490
msgid ":attr:`%llu`"
msgstr ""
msgstr ":attr:`%llu`"
#: c-api/unicode.rst:490
msgid "unsigned long long"
@ -580,7 +603,7 @@ msgstr ""
#: c-api/unicode.rst:493
msgid ":attr:`%zd`"
msgstr ""
msgstr ":attr:`%zd`"
#: c-api/unicode.rst:496
msgid ":c:type:`\\ Py_ssize_t`"
@ -592,7 +615,7 @@ msgstr ""
#: c-api/unicode.rst:496
msgid ":attr:`%zi`"
msgstr ""
msgstr ":attr:`%zi`"
#: c-api/unicode.rst:496
msgid "Equivalent to ``printf(\"%zi\")``. [1]_"
@ -600,7 +623,7 @@ msgstr ""
#: c-api/unicode.rst:499
msgid ":attr:`%zu`"
msgstr ""
msgstr ":attr:`%zu`"
#: c-api/unicode.rst:499
msgid "size_t"
@ -612,7 +635,7 @@ msgstr ""
#: c-api/unicode.rst:502
msgid ":attr:`%i`"
msgstr ""
msgstr ":attr:`%i`"
#: c-api/unicode.rst:502
msgid "Equivalent to ``printf(\"%i\")``. [1]_"
@ -620,7 +643,7 @@ msgstr ""
#: c-api/unicode.rst:505
msgid ":attr:`%x`"
msgstr ""
msgstr ":attr:`%x`"
#: c-api/unicode.rst:505
msgid "Equivalent to ``printf(\"%x\")``. [1]_"
@ -628,7 +651,7 @@ msgstr ""
#: c-api/unicode.rst:508
msgid ":attr:`%s`"
msgstr ""
msgstr ":attr:`%s`"
#: c-api/unicode.rst:508
msgid "const char\\*"
@ -640,7 +663,7 @@ msgstr ""
#: c-api/unicode.rst:511
msgid ":attr:`%p`"
msgstr ""
msgstr ":attr:`%p`"
#: c-api/unicode.rst:511
msgid "const void\\*"
@ -655,7 +678,7 @@ msgstr ""
#: c-api/unicode.rst:519
msgid ":attr:`%A`"
msgstr ""
msgstr ":attr:`%A`"
#: c-api/unicode.rst:522 c-api/unicode.rst:534
msgid "PyObject\\*"
@ -667,7 +690,7 @@ msgstr ""
#: c-api/unicode.rst:522
msgid ":attr:`%U`"
msgstr ""
msgstr ":attr:`%U`"
#: c-api/unicode.rst:522
#, fuzzy
@ -676,7 +699,7 @@ msgstr "Un objet Unicode."
#: c-api/unicode.rst:524
msgid ":attr:`%V`"
msgstr ""
msgstr ":attr:`%V`"
#: c-api/unicode.rst:524
msgid "PyObject\\*, const char\\*"
@ -691,7 +714,7 @@ msgstr ""
#: c-api/unicode.rst:531
msgid ":attr:`%S`"
msgstr ""
msgstr ":attr:`%S`"
#: c-api/unicode.rst:531
msgid "The result of calling :c:func:`PyObject_Str`."
@ -699,7 +722,7 @@ msgstr ""
#: c-api/unicode.rst:534
msgid ":attr:`%R`"
msgstr ""
msgstr ":attr:`%R`"
#: c-api/unicode.rst:534
msgid "The result of calling :c:func:`PyObject_Repr`."

View File

@ -77,14 +77,13 @@ msgid "Key terms"
msgstr "Vocabulaire"
#: distributing/index.rst:34
#, fuzzy
msgid ""
"the `Python Package Index <https://pypi.org>`__ is a public repository of "
"open source licensed packages made available for use by other Python users"
msgstr ""
"le `Python Packaging Index <https://pypi.org/pypi>`__ est un dépôt public de "
"Le `Python Package Index <https://pypi.org>`__ est un dépôt public de "
"paquets sous licence libre rendus disponibles par d'autres utilisateurs "
"Python"
"Python."
#: distributing/index.rst:37
msgid ""
@ -227,14 +226,13 @@ msgstr ""
"invite de commande ::"
#: distributing/index.rst:104
#, fuzzy
msgid ""
"For POSIX users (including macOS and Linux users), these instructions assume "
"the use of a :term:`virtual environment`."
msgstr ""
"Pour les utilisateurs d'environnements POSIX (incluant Mac OS X et les "
"utilisateurs de Linux), ces instructions supposent l'utilisation d'un :term:"
"`environnement virtuel`."
"Pour les utilisateurs d'environnements POSIX (dont macOS et Linux), ces "
"instructions supposent l'utilisation d'un :term:`environnement virtuel "
"<virtual environment>`."
#: distributing/index.rst:107
msgid ""
@ -276,15 +274,14 @@ msgstr ""
"project_>`_"
#: distributing/index.rst:130
#, fuzzy
msgid "`Uploading the project to the Python Package Index`_"
msgstr ""
"`(en) Téléverser le projet sur le Python Packaging Index <Uploading the "
"project to the Python Packaging Index_>`_"
"project to the Python Packaging Index_>`_ ;"
#: distributing/index.rst:131
msgid "`The .pypirc file`_"
msgstr ""
msgstr "`(en) Le fichier .pypirc <The .pypirc file_>`_."
#: distributing/index.rst:144
msgid "How do I...?"
@ -304,9 +301,8 @@ msgid "This isn't an easy topic, but here are a few tips:"
msgstr "Ce n'est pas un sujet facile, mais voici quelques conseils :"
#: distributing/index.rst:153
#, fuzzy
msgid "check the Python Package Index to see if the name is already in use"
msgstr "vérifiez dans le *Python Packaging Index* si le nom est déjà utilisé"
msgstr "vérifiez dans le *Python Package Index* si le nom est déjà utilisé ;"
#: distributing/index.rst:154
msgid ""

View File

@ -112,7 +112,7 @@ msgstr "Fichier *tar* compressé par *bzip2* (:file:`.tar.bz2`)"
#: distutils/sourcedist.rst:37 distutils/sourcedist.rst:43
msgid "\\(5)"
msgstr ""
msgstr "\\(5)"
#: distutils/sourcedist.rst:37
msgid "``xztar``"

View File

@ -16,7 +16,7 @@ msgstr ""
#: extending/newtypes_tutorial.rst:7
msgid "Defining Extension Types: Tutorial"
msgstr ""
msgstr "Tutoriel : définir des types dans des extensions"
#: extending/newtypes_tutorial.rst:14
msgid ""
@ -26,10 +26,15 @@ msgid ""
"pattern, but there are some details that you need to understand before you "
"can get started. This document is a gentle introduction to the topic."
msgstr ""
"Python permet à l'auteur d'un module d'extension C de définir de nouveaux "
"types qui peuvent être manipulés depuis du code Python, à la manière des "
"types natifs :class:`str` et :class:`list`. Les implémentations de tous les "
"types d'extension ont des similarités, mais quelques subtilités doivent être "
"abordées avant de commencer."
#: extending/newtypes_tutorial.rst:24
msgid "The Basics"
msgstr ""
msgstr "Les bases"
#: extending/newtypes_tutorial.rst:26
msgid ""
@ -48,6 +53,8 @@ msgid ""
"So, if you want to define a new extension type, you need to create a new "
"type object."
msgstr ""
"Donc, pour définir un nouveau type dans une extension, vous devez créer un "
"nouvel objet type."
#: extending/newtypes_tutorial.rst:38
msgid ""
@ -55,6 +62,9 @@ msgid ""
"but complete, module that defines a new type named :class:`Custom` inside a "
"C extension module :mod:`custom`:"
msgstr ""
"Ce genre de chose ne s'explique correctement qu'avec des exemples, voici "
"donc un module minimaliste mais suffisant qui définit un nouveau type nommé :"
"class:`Custom` dans le module d'extension :mod:`custom` :"
#: extending/newtypes_tutorial.rst:43
msgid ""
@ -63,18 +73,27 @@ msgid ""
"allows defining heap-allocated extension types using the :c:func:"
"`PyType_FromSpec` function, which isn't covered in this tutorial."
msgstr ""
"Ce qui est montré ici est la manière traditionnelle de définir des types "
"d'extension *statiques*, et cela convient dans la majorité des cas. L'API C "
"permet aussi de définir des types alloués sur le tas, via la fonction :c:"
"func:`PyType_FromSpec`, mais ce n'est pas couvert par ce tutoriel."
#: extending/newtypes_tutorial.rst:50
msgid ""
"Now that's quite a bit to take in at once, but hopefully bits will seem "
"familiar from the previous chapter. This file defines three things:"
msgstr ""
"C'est un peu long, mais vous devez déjà reconnaître quelques morceaux "
"expliqués au chapitre précédent. Ce fichier définit trois choses :"
#: extending/newtypes_tutorial.rst:53
msgid ""
"What a :class:`Custom` **object** contains: this is the ``CustomObject`` "
"struct, which is allocated once for each :class:`Custom` instance."
msgstr ""
"Ce qu'un **objet** :class:`Custom` contient : c'est la structure "
"``CustomObject``, qui est allouée une fois pour chaque instance de :class:"
"`Custom`."
#: extending/newtypes_tutorial.rst:55
msgid ""
@ -82,16 +101,21 @@ msgid ""
"which defines a set of flags and function pointers that the interpreter "
"inspects when specific operations are requested."
msgstr ""
"Comment le **type** :class:`Custom` se comporte : c'est la structure "
"``CustomType``, qui définit l'ensemble des options et pointeurs de fonction "
"utilisés par l'interpréteur."
#: extending/newtypes_tutorial.rst:58
msgid ""
"How to initialize the :mod:`custom` module: this is the ``PyInit_custom`` "
"function and the associated ``custommodule`` struct."
msgstr ""
"Comment initialiser le module :mod:`custom` : c'est la fonction "
"``PyInit_custom`` et la structure associée ``custommodule``."
#: extending/newtypes_tutorial.rst:61
msgid "The first bit is::"
msgstr ""
msgstr "Commençons par ::"
#: extending/newtypes_tutorial.rst:67
msgid ""
@ -108,6 +132,9 @@ msgid ""
"There is no semicolon above after the :c:macro:`PyObject_HEAD` macro. Be "
"wary of adding one by accident: some compilers will complain."
msgstr ""
"Il n'y a pas de point-virgule après la macro :c:macro:`PyObject_HEAD`. "
"Attention à ne pas l'ajouter par accident : certains compilateurs pourraient "
"s'en plaindre."
#: extending/newtypes_tutorial.rst:78
msgid ""
@ -115,10 +142,13 @@ msgid ""
"``PyObject_HEAD`` boilerplate; for example, here is the definition for "
"standard Python floats::"
msgstr ""
"Bien sûr, les objets ajoutent généralement des données supplémentaires après "
"l'entête standard ``PyObject_HEAD``. Par exemple voici la définition du type "
"standard Python ``float`` ::"
#: extending/newtypes_tutorial.rst:87
msgid "The second bit is the definition of the type object. ::"
msgstr ""
msgstr "La deuxième partie est la définition de l'objet type ::"
#: extending/newtypes_tutorial.rst:100
msgid ""
@ -126,6 +156,10 @@ msgid ""
"listing all the :c:type:`PyTypeObject` fields that you don't care about and "
"also to avoid caring about the fields' declaration order."
msgstr ""
"Nous recommandons d'utiliser la syntaxe d'initialisation nommée (C99) pour "
"remplir la structure, comme ci-dessus, afin d'éviter d'avoir à lister les "
"champs de :c:type:`PyTypeObject` dont vous n'avez pas besoin, et de ne pas "
"vous soucier de leur ordre."
#: extending/newtypes_tutorial.rst:104
msgid ""
@ -134,22 +168,31 @@ msgid ""
"fields will be filled with zeros by the C compiler, and it's common practice "
"to not specify them explicitly unless you need them."
msgstr ""
"La définition de :c:type:`PyTypeObject` dans :file:`object.h` contient en "
"fait bien plus de :ref:`champs <type-structs>` que la définition ci-dessus. "
"Les champs restants sont mis à zéro par le compilateur C, et c'est une "
"pratique répandue de ne pas spécifier les champs dont vous n'avez pas besoin."
#: extending/newtypes_tutorial.rst:109
msgid "We're going to pick it apart, one field at a time::"
msgstr ""
msgstr "Regardons les champs de cette structure, un par un ::"
#: extending/newtypes_tutorial.rst:113
msgid ""
"This line is mandatory boilerplate to initialize the ``ob_base`` field "
"mentioned above. ::"
msgstr ""
"Cette ligne, obligatoire, initialise le champ ``ob_base`` mentionné "
"précédemment."
#: extending/newtypes_tutorial.rst:118
msgid ""
"The name of our type. This will appear in the default textual "
"representation of our objects and in some error messages, for example:"
msgstr ""
"C'est le nom de notre type. Il apparaît dans la représentation textuelle par "
"défaut de nos objets, ainsi que dans quelques messages d'erreur, par "
"exemple :"
#: extending/newtypes_tutorial.rst:128
msgid ""
@ -159,6 +202,11 @@ msgid ""
"`custom.Custom`. Using the real dotted import path is important to make your "
"type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::"
msgstr ""
"Notez que le nom comporte un point : il inclut le nom du module et le nom du "
"type. Dans ce cas le module est :mod:`custom`, et le type est :class:"
"`Custom`, donc nous donnons comme nom :class:`custom.Custom`. Nommer "
"correctement son type, avec le point, est important pour le rendre "
"compatible avec :mod:`pydoc` et :mod:`pickle`. ::"
#: extending/newtypes_tutorial.rst:137
msgid ""
@ -166,6 +214,10 @@ msgid ""
"class:`Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only "
"used for variable-sized objects and should otherwise be zero."
msgstr ""
"C'est pour que Python sache combien de mémoire allouer à la création d'une "
"nouvelle instance de :class:`Custom`. :c:member:`~PyTypeObject.tp_itemsize` "
"n'est utilisé que pour les objets de taille variable, sinon il doit rester à "
"zéro."
#: extending/newtypes_tutorial.rst:143
msgid ""
@ -180,10 +232,22 @@ msgid ""
"type will be :class:`object`, or else you will be adding data members to "
"your base type, and therefore increasing its size."
msgstr ""
"Si vous voulez qu'une classe en Python puisse hériter de votre type, et que "
"votre type a le même :c:member:`~PyTypeObject.tp_basicsize` que son parent, "
"vous rencontrerez des problèmes avec l'héritage multiple. Une sous-classe "
"Python de votre type devra lister votre type en premier dans son :attr:"
"`~class.__bases__`, sans quoi elle ne sera pas capable d'appeler la méthode :"
"meth:`__new__` de votre type sans erreur. Vous pouvez éviter ce problème en "
"vous assurant que votre type a un :c:member:`~PyTypeObject.tp_basicsize` "
"plus grand que son parent. La plupart du temps ce sera vrai (soit son parent "
"sera :class:`object`, soit vous ajouterez des attributs à votre type, "
"augmentant ainsi sa taille)."
#: extending/newtypes_tutorial.rst:153
msgid "We set the class flags to :const:`Py_TPFLAGS_DEFAULT`. ::"
msgstr ""
"On utilise la constante :const:`Py_TPFLAGS_DEFAULT` comme seule option de "
"type. ::"
#: extending/newtypes_tutorial.rst:157
msgid ""
@ -191,11 +255,17 @@ msgid ""
"the members defined until at least Python 3.3. If you need further members, "
"you will need to OR the corresponding flags."
msgstr ""
"Chaque type doit inclure cette constante dans ses options : elle active tous "
"les membres définis jusqu'à au moins Python 3.3. Si vous avez besoin de plus "
"de membres, vous pouvez la combiner à d'autres constantes avec un *ou* "
"binaire."
#: extending/newtypes_tutorial.rst:161
msgid ""
"We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::"
msgstr ""
"On fournit une *docstring* pour ce type via le membre :c:member:"
"`~PyTypeObject.tp_doc`. ::"
#: extending/newtypes_tutorial.rst:165
msgid ""
@ -205,12 +275,19 @@ msgid ""
"use the default implementation provided by the API function :c:func:"
"`PyType_GenericNew`. ::"
msgstr ""
"Pour permettre la création d'une instance, nous devons fournir un *handler* :"
"c:member:`~PyTypeObject.tp_new`, qui est l'équivalent de la méthode Python :"
"meth:`__new__`, mais elle a besoin d'être spécifiée explicitement. Dans ce "
"cas, on se contente de l'implémentation par défaut fournie par la fonction :"
"c:func:`PyType_GenericNew` de l'API."
#: extending/newtypes_tutorial.rst:172
msgid ""
"Everything else in the file should be familiar, except for some code in :c:"
"func:`PyInit_custom`::"
msgstr ""
"Le reste du fichier doit vous être familier, en dehors du code de :c:func:"
"`PyInit_custom` ::"
#: extending/newtypes_tutorial.rst:178
msgid ""
@ -218,18 +295,25 @@ msgid ""
"the appropriate default values, including :attr:`ob_type` that we initially "
"set to ``NULL``. ::"
msgstr ""
"Il initialise le type :class:`Custom`, en assignant quelques membres à leurs "
"valeurs par défaut, tel que :attr:`ob_type` qui valait initialement "
"``NULL``. ::"
#: extending/newtypes_tutorial.rst:189
msgid ""
"This adds the type to the module dictionary. This allows us to create :"
"class:`Custom` instances by calling the :class:`Custom` class:"
msgstr ""
"Ici on ajoute le type au dictionnaire du module. Cela permet de créer une "
"instance de :class:`Custom` en appelant la classe :class:`Custom` :"
#: extending/newtypes_tutorial.rst:197
msgid ""
"That's it! All that remains is to build it; put the above code in a file "
"called :file:`custom.c` and:"
msgstr ""
"C'est tout ! Il ne reste plus qu'à compiler, placez le code ci-dessus dans "
"un fichier :file:`custom.c` et :"
#: extending/newtypes_tutorial.rst:206
msgid "in a file called :file:`setup.py`; then typing"

View File

@ -1205,20 +1205,26 @@ msgid ""
"expressions) and loop (with ``while`` and ``for`` statements, possibly "
"containing ``continue`` and ``break``)."
msgstr ""
"Dans les années 1970, les gens se sont aperçus que le foisonnement de *goto* "
"conduisait à du code « spaghetti » difficile à comprendre et à modifier. "
"Dans les langages de haut niveau, c'est d'autant moins nécessaire qu'il "
"existe différentes manières de créer des branches (en Python, les "
"instructions ``if`` et les expressions ``or``, ``and`` et ``if-else``) et de "
"boucler (avec les instructions ``while`` et ``for``, qui peuvent contenir "
"des ``continue`` et ``break``)."
#: faq/design.rst:608
#, fuzzy
msgid ""
"One can also use exceptions to provide a \"structured goto\" that works even "
"across function calls. Many feel that exceptions can conveniently emulate "
"all reasonable uses of the \"go\" or \"goto\" constructs of C, Fortran, and "
"other languages. For example::"
msgstr ""
"Vous pouvez utiliser les exceptions afin de mettre en place un \"``goto`` "
"structuré\" qui fonctionne même avec les appels de fonctions. Beaucoup de "
"personnes estiment que les exceptions peuvent émuler idéalement tout "
"utilisation raisonnable des constructions ``go`` ou ``goto`` en C, en "
"Fortran ou autres langages de programmation. Par exemple ::"
"Vous pouvez utiliser les exceptions afin de mettre en place un « *goto* "
"structuré » qui fonctionne même à travers les appels de fonctions. Beaucoup "
"de personnes estiment que les exceptions sont une façon commode d'émuler "
"l'utilisation raisonnable des constructions *go* ou *goto* du C, du Fortran "
"ou d'autres langages de programmation. Par exemple ::"
#: faq/design.rst:624
msgid ""
@ -1371,6 +1377,7 @@ msgstr ""
#: faq/design.rst:710
msgid "Why don't generators support the with statement?"
msgstr ""
"Pourquoi l'instruction ``with`` ne prend-elle pas en charge les générateurs ?"
#: faq/design.rst:712
msgid ""
@ -1379,6 +1386,11 @@ msgid ""
"iterator run to completion, no closing is needed. When it is, wrap it as "
"\"contextlib.closing(generator)\" in the 'with' statement."
msgstr ""
"Pour des raisons d'ordre technique, un générateur utilisé directement comme "
"gestionnaire de contexte ne pourrait pas fonctionner. Dans le cas le plus "
"courant, où un générateur est utilisé jusqu'à épuisement, il n'y a pas "
"besoin de le fermer. Sinon, on peut toujours mettre ``contextlib."
"closing(générateur)`` dans la ligne du ``with``."
#: faq/design.rst:719
msgid "Why are colons required for the if/while/def/class statements?"

View File

@ -28,14 +28,10 @@ msgid "General GUI Questions"
msgstr "Questions générales sur l'interface graphique"
#: faq/gui.rst:18
#, fuzzy
msgid "What GUI toolkits exist for Python?"
msgstr ""
"Quelles boîtes à outils IUG spécifiques à la plate-forme existent pour "
"Python ?"
msgstr "Quelles boîtes à outils IUG existent pour Python ?"
#: faq/gui.rst:20
#, fuzzy
msgid ""
"Standard builds of Python include an object-oriented interface to the Tcl/Tk "
"widget set, called :ref:`tkinter <Tkinter>`. This is probably the easiest "
@ -50,7 +46,7 @@ msgstr ""
"la plupart des `distributions binaires <https://www.python.org/downloads/>`_ "
"de Python) et à utiliser. Pour plus d'informations sur *Tk*, y compris les "
"liens vers les sources, voir la page d'accueil `Tcl/Tk <https://www.tcl."
"tk>`_. *Tcl/Tk* est entièrement portable sur les plates-formes Mac OS X, "
"tk>`_. *Tcl/Tk* est entièrement portable sur les plates-formes macOS, "
"Windows et Unix."
#: faq/gui.rst:28
@ -61,6 +57,11 @@ msgid ""
"wiki.python.org/moin/GuiProgramming#Platform-specific_Frameworks>`_ GUI "
"frameworks can be found on the python wiki."
msgstr ""
"D'autres outils existent. Le choix doit dépendre notamment de la ou des "
"plateformes que vous visez. Sur le Wiki Python se trouvent des listes de "
"bibliothèques graphiques `multiplateformes <https://wiki.python.org/moin/"
"GuiProgramming#Cross-Platform_Frameworks>`_ et `pour une seule plate-forme "
"<https://wiki.python.org/moin/GuiProgramming#Platform-specific_Frameworks>`_."
#: faq/gui.rst:36
msgid "Tkinter questions"
@ -293,7 +294,6 @@ msgstr ""
#~ msgid "FLTK"
#~ msgstr "*FLTK*"
#, fuzzy
#~ msgid ""
#~ "Python bindings for `the FLTK toolkit <http://www.fltk.org>`_, a simple "
#~ "yet powerful and mature cross-platform windowing system, are available "
@ -302,7 +302,7 @@ msgstr ""
#~ "Les liaisons Python pour `the FLTK toolkit <http://www.fltk.org>`_, un "
#~ "système de fenêtrage multi-plateformes simple mais puissant et mûr, sont "
#~ "disponibles auprès de `the PyFLTK project <http://pyfltk.sourceforge."
#~ "net>`_."
#~ "io>`_."
#~ msgid "OpenGL"
#~ msgstr "*OpenGL*"

View File

@ -92,14 +92,13 @@ msgstr ""
"d'administration de ces marques sont écrits en Python."
#: faq/installed.rst:32
#, fuzzy
msgid ""
"Many Unix-compatible operating systems, such as macOS and some Linux "
"distributions, have Python installed by default; it's included in the base "
"installation."
msgstr ""
"Python est installé par défaut et à l'installation par de nombreux systèmes "
"Unix, comme Mac OS X et certaines distributions Linux."
"Python est installé par défaut sur de nombreux systèmes compatibles Unix, "
"comme macOS et certaines distributions Linux."
#: faq/installed.rst:38
msgid "Can I delete Python?"

View File

@ -811,13 +811,12 @@ msgid "How do I access the serial (RS232) port?"
msgstr "Comment accéder au port de transmission en série (RS-232) ?"
#: faq/library.rst:614
#, fuzzy
msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:"
msgstr "Pour Win32, POSIX (Linux, BSD, etc.) et Jython :"
msgstr "Pour Win32, OSX, Linux, BSD, Jython et IronPython :"
#: faq/library.rst:616
msgid "https://pypi.org/project/pyserial/"
msgstr ""
msgstr "https://pypi.org/project/pyserial/"
#: faq/library.rst:618
msgid "For Unix, see a Usenet post by Mitch Chapman:"

View File

@ -70,7 +70,6 @@ msgstr ""
"idle``) contient un débogueur graphique."
#: faq/programming.rst:31
#, fuzzy
msgid ""
"PythonWin is a Python IDE that includes a GUI debugger based on pdb. The "
"PythonWin debugger colors breakpoints and has quite a few cool features such "
@ -83,10 +82,9 @@ msgstr ""
"embarque un débogueur graphique basé sur ``pdb``. Le débogueur *PythonWin* "
"colore les points d'arrêts et possède quelques fonctionnalités sympathiques, "
"comme la possibilité de déboguer des programmes développés sans "
"*PythonWin*. *PythonWin* est disponible dans le projet `Extensions Python "
"pour Windows <https://sourceforge.net/projects/pywin32/>`__ et fait partie "
"de la distribution ActivePython (voir https://www.activestate.com/"
"activepython\\ )."
"*PythonWin*. *PythonWin* est disponible dans le projet `pywin32 <https://"
"github.com/mhammond/pywin32>`_ et fait partie de la distribution "
"`ActivePython <https://www.activestate.com/products/python/>`_."
#: faq/programming.rst:38
msgid ""
@ -101,12 +99,17 @@ msgid ""
"`trepan3k <https://github.com/rocky/python3-trepan/>`_ is a gdb-like "
"debugger."
msgstr ""
"`trepan3k <https://github.com/rocky/python3-trepan/>`_ est un débogueur "
"semblable à GDB."
#: faq/programming.rst:43
msgid ""
"`Visual Studio Code <https://code.visualstudio.com/>`_ is an IDE with "
"debugging tools that integrates with version-control software."
msgstr ""
"`Visual Studio Code <https://code.visualstudio.com/>`_ est un EDI qui "
"contient des outils de débogage. Il sait interagir avec les outils de "
"gestion de versions."
#: faq/programming.rst:46
msgid ""
@ -122,12 +125,11 @@ msgstr "`Wing IDE <https://wingware.com/>`_"
#: faq/programming.rst:50
msgid "`Komodo IDE <https://www.activestate.com/products/komodo-ide/>`_"
msgstr ""
msgstr "`Komodo IDE <https://www.activestate.com/products/komodo-ide/>`_ ;"
#: faq/programming.rst:51
#, fuzzy
msgid "`PyCharm <https://www.jetbrains.com/pycharm/>`_"
msgstr "PyCharm (https://www.jetbrains.com/pycharm/)"
msgstr "`PyCharm <https://www.jetbrains.com/pycharm/>`_ ;"
#: faq/programming.rst:55
msgid "Are there tools to help find bugs or perform static analysis?"
@ -216,10 +218,12 @@ msgid ""
"The following packages can help with the creation of console and GUI "
"executables:"
msgstr ""
"Voici quelques paquets qui permettent de créer des exécutables en ligne de "
"commande comme graphiques :"
#: faq/programming.rst:97
msgid "`Nuitka <https://nuitka.net/>`_ (Cross-platform)"
msgstr ""
msgstr "`Nuitka <https://nuitka.net/>`_ (multiplateformes) ;"
#: faq/programming.rst:98
msgid "`PyInstaller <http://www.pyinstaller.org/>`_ (Cross-platform)"
@ -229,15 +233,21 @@ msgstr ""
msgid ""
"`PyOxidizer <https://pyoxidizer.readthedocs.io/en/stable/>`_ (Cross-platform)"
msgstr ""
"`PyOxidizer <https://pyoxidizer.readthedocs.io/en/stable/>`_ (multi-"
"plateforme) ;"
#: faq/programming.rst:100
msgid ""
"`cx_Freeze <https://marcelotduarte.github.io/cx_Freeze/>`_ (Cross-platform)"
msgstr ""
"`cx_Freeze <https://marcelotduarte.github.io/cx_Freeze/>`_ (multi-"
"plateforme) ;"
#: faq/programming.rst:101
msgid "`py2app <https://github.com/ronaldoussoren/py2app>`_ (macOS only)"
msgstr ""
"`py2app <https://github.com/ronaldoussoren/py2app>`_ (uniquement pour "
"macOS) ;"
#: faq/programming.rst:102
#, fuzzy
@ -1281,6 +1291,8 @@ msgstr ""
#: faq/programming.rst:840
msgid "How do I get int literal attribute instead of SyntaxError?"
msgstr ""
"Pourquoi ai-je une erreur de syntaxe en essayant de lire un attribut d'un "
"entier littéral ?"
#: faq/programming.rst:842
msgid ""
@ -1293,6 +1305,8 @@ msgid ""
"The solution is to separate the literal from the period with either a space "
"or parentheses."
msgstr ""
"Il faut séparer l'entier du point, soit avec une espace, soit avec des "
"parenthèses."
#: faq/programming.rst:861
msgid "How do I convert a string to a number?"
@ -2226,6 +2240,12 @@ msgid ""
"registered class even if hasn't directly or indirectly inherited from it. "
"To test for \"true inheritance\", scan the :term:`MRO` of the class:"
msgstr ""
"Notez que :func:`isinstance` prend aussi en compte l'héritage virtuel d'une :"
"term:`classe mère abstraite <abstract base class>`, c'est à dire qu'elle "
"renvoie ``True`` pour une classe A enregistrée auprès d'une classe mère "
"abstraite B même si A n'est pas directement ou indirectement une classe "
"fille de B. Pour vérifier l'héritage dans le sens plus restreint, parcourez "
"l'\\ :term:`ordre de résolution des méthodes <MRO>` de la classe :"
#: faq/programming.rst:1483
msgid ""
@ -2641,13 +2661,15 @@ msgstr ""
#: faq/programming.rst:1766
msgid "When can I rely on identity tests with the *is* operator?"
msgstr ""
msgstr "Quand puis-je raisonnablement utiliser le test d'identité *is* ?"
#: faq/programming.rst:1768
msgid ""
"The ``is`` operator tests for object identity. The test ``a is b`` is "
"equivalent to ``id(a) == id(b)``."
msgstr ""
"L'opérateur ``is`` détermine si deux objets sont identiques, c'est-à-dire le "
"même objet. Le test ``a is b`` est équivalent à ``id(a) == id(b)``."
#: faq/programming.rst:1771
msgid ""
@ -2656,6 +2678,11 @@ msgid ""
"usually faster than equality tests. And unlike equality tests, identity "
"tests are guaranteed to return a boolean ``True`` or ``False``."
msgstr ""
"La propriété la plus importante du test d'identité est qu'un objet est "
"toujours identique à lui-même. Quelle que soit la valeur de *a*, ``a is a`` "
"vaut toujours ``True``. Un test d'identité est généralement plus rapide "
"qu'un test d'égalité. De plus, contrairement à l'opérateur ``==``, "
"l'opérateur ``is`` renvoie toujours un booléen, ``True`` ou ``False``."
#: faq/programming.rst:1776
msgid ""
@ -2663,12 +2690,18 @@ msgid ""
"object identity is assured. Generally, there are three circumstances where "
"identity is guaranteed:"
msgstr ""
"Cependant, les tests d'identité ne peuvent remplacer les tests d'égalité que "
"si l'identité est garantie. C'est le cas dans les trois situations "
"suivantes :"
#: faq/programming.rst:1780
msgid ""
"1) Assignments create new names but do not change object identity. After "
"the assignment ``new = old``, it is guaranteed that ``new is old``."
msgstr ""
"1) Les affectations créent de nouvelles variables, mais pas de nouveaux "
"objets. Après l'affectation ``nouveau = ancien``, ``nouveau is ancien`` vaut "
"toujours ``True``."
#: faq/programming.rst:1783
msgid ""
@ -2676,6 +2709,10 @@ msgid ""
"change object identity. After the list assignment ``s[0] = x``, it is "
"guaranteed that ``s[0] is x``."
msgstr ""
"Le stockage d'un objet dans un conteneur qui fonctionne avec des références "
"n'altère pas l'identité. Si ``s`` est une liste, alors après l'affectation "
"de *x* à l'indice 0, ``s[0] = x``, le test ``s[0] is x`` s'évalue forcément "
"à ``True``."
#: faq/programming.rst:1787
msgid ""
@ -2683,6 +2720,9 @@ msgid ""
"object can exist. After the assignments ``a = None`` and ``b = None``, it "
"is guaranteed that ``a is b`` because ``None`` is a singleton."
msgstr ""
"3) Les singletons sont des objets spéciaux qui ne sont jamais dupliqués. "
"Après les affectations ``a = None`` et ``b = None``, on a forcément ``a is "
"b``, puisque ``None`` est un singleton."
#: faq/programming.rst:1791
msgid ""
@ -2691,16 +2731,26 @@ msgid ""
"check constants such as :class:`int` and :class:`str` which aren't "
"guaranteed to be singletons::"
msgstr ""
"Dans la plupart des autres cas, un test d'identité n'est pas approprié par "
"rapport à un test d'égalité. En particulier, il ne faut pas utiliser ``is`` "
"pour comparer à des constantes comme les entiers (type :class:`int`) ou des "
"chaînes de caractères (type :class:`str`) car ces valeurs ne sont pas "
"nécessairement des singletons ::"
#: faq/programming.rst:1808
msgid "Likewise, new instances of mutable containers are never identical::"
msgstr ""
"De même, deux instances fraîchement créées d'un type de conteneurs muables "
"ne sont jamais identiques ::"
#: faq/programming.rst:1815
msgid ""
"In the standard library code, you will see several common patterns for "
"correctly using identity tests:"
msgstr ""
"Voici quelques exemples de la bibliothèque standard qui illustrent comment "
"utiliser correctement les tests d'identité dans certaines situations "
"particulières :"
#: faq/programming.rst:1818
msgid ""
@ -2709,6 +2759,10 @@ msgid ""
"confusion with other objects that may have boolean values that evaluate to "
"false."
msgstr ""
"1) Comme recommandé par la :pep:`8`, il est préférable de comparer avec "
"``None`` par identité. Le test se lit comme de la prose anglaise (``x is "
"None``, ``x is not None``), et cela évite des surprises avec les objets dont "
"la valeur booléenne est ``False``."
#: faq/programming.rst:1822
msgid ""
@ -2717,6 +2771,11 @@ msgid ""
"guaranteed to be distinct from other objects. For example, here is how to "
"implement a method that behaves like :meth:`dict.pop`::"
msgstr ""
"2) Savoir si un paramètre facultatif a été passé ou pas peut nécessiter un "
"peu de subtilité lorsque ``None`` est une valeur acceptable pour le "
"paramètre. Dans ces cas, il faut créer un objet singleton dit "
 sentinelle », distinct de toute valeur acceptable. Voici par exemple "
"comment écrire une méthode qui émule :meth:`dict.pop` :"
#: faq/programming.rst:1838
msgid ""
@ -2724,17 +2783,24 @@ msgid ""
"identity tests. This prevents the code from being confused by objects such "
"as ``float('NaN')`` that are not equal to themselves."
msgstr ""
"3) Il arrive que l'implémentation d'un type de conteneurs doive ajouter des "
"tests d'identité aux tests d'égalité, ceci afin d'éviter un comportement non "
"souhaité avec les objets comme ``float('NaN')`` qui ne sont pas égaux à eux-"
"mêmes."
#: faq/programming.rst:1842
msgid ""
"For example, here is the implementation of :meth:`collections.abc.Sequence."
"__contains__`::"
msgstr ""
"Par exemple, l'implémentation de :meth:`collections.abc.Sequence."
"__contains__` est ::"
#: faq/programming.rst:1853
msgid ""
"How can a subclass control what data is stored in an immutable instance?"
msgstr ""
"Comment définir dans une classe fille les attributs d'une instance immuable ?"
#: faq/programming.rst:1855
msgid ""
@ -2749,10 +2815,12 @@ msgid ""
"All of these immutable classes have a different signature than their parent "
"class:"
msgstr ""
"Toutes les classes d'objets immuables suivantes ont des signatures de "
"constructeur différentes de leur classe mère :"
#: faq/programming.rst:1886
msgid "The classes can be used like this:"
msgstr ""
msgstr "Ces classes s'utilisent comme ceci :"
#: faq/programming.rst:1901
msgid "Modules"

View File

@ -38,7 +38,6 @@ msgstr ""
"semblera évident ; sinon, vous pourriez avoir besoin d'être un peu guidé."
#: faq/windows.rst:28
#, fuzzy
msgid ""
"Unless you use some sort of integrated development environment, you will end "
"up *typing* Windows commands into what is referred to as a \"Command prompt "
@ -48,12 +47,12 @@ msgid ""
"which usually looks like this:"
msgstr ""
"À moins que vous n'utilisiez une sorte d'environnement de développement, "
"vous finirez par *taper* des commandes Windows dans ce qui est diversement "
"appelé une \"fenêtre DOS\" ou \"invite de commande Windows\". En général "
"vous pouvez ouvrir un telle fenêtre depuis votre barre de recherche en "
"cherchant ``cmd``. Vous devriez être capable de reconnaitre quand vous avez "
"lancé une telle fenêtre parce que vous verrez une invite de commande "
"Windows, qui en en général ressemble à ça :"
"vous finirez par *taper* des commandes Windows dans ce qui est appelé une "
"« invite de commande Windows ». En général vous pouvez ouvrir un telle "
"fenêtre depuis votre barre de recherche en cherchant ``cmd``. Vous devriez "
"être capable de reconnaître quand vous avez lancé une telle fenêtre parce "
"que vous verrez une « invite de commande » Windows, qui en en général "
"ressemble à ça :"
#: faq/windows.rst:39
msgid ""
@ -234,6 +233,8 @@ msgid ""
"See :ref:`faq-create-standalone-binary` for a list of tools that can be used "
"to make executables."
msgstr ""
"Voir :ref:`faq-create-standalone-binary` pour une liste d'outils qui créent "
"des exécutables."
#: faq/windows.rst:148
msgid "Is a ``*.pyd`` file the same as a DLL?"

View File

@ -1039,6 +1039,15 @@ msgid ""
"feature was first added to the language and when it will (or did) become the "
"default::"
msgstr ""
"Une :ref:`importation depuis le futur <future>` s'écrit ``from __future__ "
"import <fonctionnalité>``. Lorsqu'une importation du futur est active dans "
"un module, Python compile ce module avec une certaine modification de la "
"syntaxe ou du comportement qui est vouée à devenir standard dans une version "
"ultérieure. Le module :mod:`__future__` documente les possibilités pour "
"*fonctionnalité*. L'importation a aussi l'effet normal d'importer une "
"variable du module. Cette variable contient des informations utiles sur la "
"fonctionnalité en question, notamment la version de Python dans laquelle "
"elle a été ajoutée, et celle dans laquelle elle deviendra standard ::"
#: glossary.rst:440
msgid "garbage collection"
@ -1148,21 +1157,24 @@ msgid "generic type"
msgstr "type générique"
#: glossary.rst:488
#, fuzzy
msgid ""
"A :term:`type` that can be parameterized; typically a :ref:`container "
"class<sequence-types>` such as :class:`list` or :class:`dict`. Used for :"
"term:`type hints <type hint>` and :term:`annotations <annotation>`."
msgstr ""
"Un :term:`type` qui peut être paramétré ; typiquement un conteneur comme "
"une :class:`list`. Utilisé pour les :term:`indications de type <type hint>` "
"et les :term:`annotations <annotation>`."
"Un :term:`type` qui peut être paramétré ; généralement un :ref:`conteneur "
"<sequence-types>` comme :class:`list` ou :class:`dict`. Utilisé pour les :"
"term:`indications de type <type hint>` et les :term:`annotations "
"<annotation>`."
#: glossary.rst:493
msgid ""
"For more details, see :ref:`generic alias types<types-genericalias>`, :pep:"
"`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module."
msgstr ""
"Pour plus de détails, voir :ref:`types alias génériques <types-"
"genericalias>` et le module :mod:`typing`. On trouvera l'historique de "
"cette fonctionnalité dans les :pep:`483`, :pep:`484` et :pep:`585`."
#: glossary.rst:495
msgid "GIL"
@ -2521,18 +2533,27 @@ msgid ""
"``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be "
"serialized as a sequence of bytes."
msgstr ""
"Une chaîne de caractères en Python est une suite de points de code Unicode "
"(dans l'intervalle ``U+0000``--``U+10FFFF``). Pour stocker ou transmettre "
"une chaîne, il est nécessaire de la sérialiser en suite d'octets."
#: glossary.rst:1079
msgid ""
"Serializing a string into a sequence of bytes is known as \"encoding\", and "
"recreating the string from the sequence of bytes is known as \"decoding\"."
msgstr ""
"Sérialiser une chaîne de caractères en une suite d'octets s'appelle "
 encoder » et recréer la chaîne à partir de la suite d'octets s'appelle "
 décoder »."
#: glossary.rst:1082
msgid ""
"There are a variety of different text serialization :ref:`codecs <standard-"
"encodings>`, which are collectively referred to as \"text encodings\"."
msgstr ""
"Il existe de multiples :ref:`codecs <standard-encodings>` pour la "
"sérialisation de texte, que l'on regroupe sous l'expression « encodages de "
"texte »."
#: glossary.rst:1085
msgid "text file"

View File

@ -141,6 +141,9 @@ msgid ""
"ported version called `UniCurses <https://pypi.org/project/UniCurses>`_ is "
"available."
msgstr ""
"La version Windows de Python n'inclut pas le module :mod:`curses`. Une "
"version portée appelée `UniCurses <https://pypi.org/project/UniCurses>`_ est "
"disponible."
#: howto/curses.rst:62
msgid "The Python curses module"

File diff suppressed because it is too large Load Diff

View File

@ -177,7 +177,6 @@ msgstr ""
"programme ; chaque sortie d'une fonction ne dépend que de son entrée."
#: howto/functional.rst:66
#, fuzzy
msgid ""
"Some languages are very strict about purity and don't even have assignment "
"statements such as ``a=3`` or ``c = a + b``, but it's difficult to avoid all "
@ -191,11 +190,11 @@ msgstr ""
"fonctions et ne laissent même pas la possibilité d'assigner des variables "
"avec des expressions telles que ``a = 3`` ou ``c = a + b``, cependant il est "
"difficile d'éviter tous les effets de bord. Afficher un message sur l'écran "
"ou écrire un fichier sur le disque sont des effets de bord. Par exemple, un "
"appel aux fonctions :func:`print` ou :func:`time.sleep` en Python ne renvoie "
"aucune valeur utile ; ces fonctions ne sont appelées que pour leur effet de "
"bord (afficher du texte sur l'écran et mettre en pause l'exécution du "
"programme)."
"ou écrire un fichier sur le disque sont des effets de bord. Pour prendre un "
"autre exemple, un appel aux fonctions :func:`print` ou :func:`time.sleep` en "
"Python ne renvoie aucune valeur utile ; ces fonctions ne sont appelées que "
"pour leur effet de bord (afficher du texte sur l'écran ou mettre en pause "
"l'exécution du programme)."
#: howto/functional.rst:73
msgid ""
@ -1017,15 +1016,14 @@ msgstr ""
# Énumération
#: howto/functional.rst:592
#, fuzzy
msgid ""
":meth:`throw(value) <generator.throw>` is used to raise an exception inside "
"the generator; the exception is raised by the ``yield`` expression where the "
"generator's execution is paused."
msgstr ""
":meth:`throw(type, value=None, traceback=None) <generator.throw>` permet de "
"lever une exception dans le générateur ; celle-ci est levée par l'expression "
"``yield`` à l'endroit où l'exécution a été mise en pause ;"
":meth:`throw(value) <generator.throw>` permet de lever une exception dans le "
"générateur ; celle-ci est levée par l'expression ``yield`` à l'endroit où "
"l'exécution a été mise en pause."
#: howto/functional.rst:596
msgid ""

File diff suppressed because it is too large Load Diff

View File

@ -62,13 +62,12 @@ msgstr ""
"de Nick Coghlan ou bien `Why Python 3 exists`_ de Brett Cannon."
#: howto/pyporting.rst:24
#, fuzzy
msgid ""
"For help with porting, you can view the archived python-porting_ mailing "
"list."
msgstr ""
"Vous pouvez solliciter par courriel l'aide de la liste de diffusion python-"
"porting_ pour vos questions liées au portage."
"Vous pouvez lire les archives de la liste diffusion python-porting_ dans vos "
"recherches sur les questions liées au portage."
#: howto/pyporting.rst:27
msgid "The Short Explanation"

View File

@ -198,17 +198,17 @@ msgstr ""
"contient que des lettres en minuscules, la RE est ``[a-z]``."
#: howto/regex.rst:92
#, fuzzy
msgid ""
"Metacharacters (except ``\\``) are not active inside classes. For example, "
"``[akm$]`` will match any of the characters ``'a'``, ``'k'``, ``'m'``, or "
"``'$'``; ``'$'`` is usually a metacharacter, but inside a character class "
"it's stripped of its special nature."
msgstr ""
"Les métacaractères ne sont pas actifs dans les classes. Par exemple, "
"``[akm$]`` correspond à n'importe quel caractère parmi ``'a'``, ``'k'``, "
"``'m'`` ou ``'$'`` ; ``'$'`` est habituellement un métacaractère mais dans "
"une classe de caractères, il est dépourvu de sa signification spéciale."
"Les métacaractères (à lexception de ``\\``) ne sont pas actifs dans les "
"classes. Par exemple, ``[akm$]`` correspond à n'importe quel caractère parmi "
"``'a'``, ``'k'``, ``'m'`` ou ``'$'`` ; ``'$'`` est habituellement un "
"métacaractère mais dans une classe de caractères, il est dépourvu de sa "
"signification spéciale."
#: howto/regex.rst:97
msgid ""

View File

@ -433,6 +433,9 @@ msgid ""
"However, note that ``<`` can fall back to using :meth:`__gt__` if :meth:"
"`__lt__` is not implemented (see :func:`object.__lt__`)."
msgstr ""
"Notez toutefois que l'opérateur ``<`` peut utiliser la méthode :meth:"
"`__gt__` si :meth:`__lt__` n'est pas implémentée ; voir :func:`object."
"__lt__`."
#: howto/sorting.rst:301
msgid ""

View File

@ -1282,7 +1282,7 @@ msgstr ""
#: install/index.rst:737
msgid ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`"
msgstr ""
msgstr ":file:`{prefix}/lib/python{ver}/distutils/distutils.cfg`"
#: install/index.rst:751
msgid "personal"
@ -1290,7 +1290,7 @@ msgstr ""
#: install/index.rst:739
msgid ":file:`$HOME/.pydistutils.cfg`"
msgstr ""
msgstr ":file:`$HOME/.pydistutils.cfg`"
#: install/index.rst:753
msgid "local"
@ -1298,7 +1298,7 @@ msgstr ""
#: install/index.rst:753
msgid ":file:`setup.cfg`"
msgstr ""
msgstr ":file:`setup.cfg`"
#: install/index.rst:753
msgid "\\(3)"
@ -1310,7 +1310,7 @@ msgstr ""
#: install/index.rst:749
msgid ":file:`{prefix}\\\\Lib\\\\distutils\\\\distutils.cfg`"
msgstr ""
msgstr ":file:`{prefix}\\\\Lib\\\\distutils\\\\distutils.cfg`"
#: install/index.rst:749
msgid "\\(4)"
@ -1318,7 +1318,7 @@ msgstr "\\(4)"
#: install/index.rst:751
msgid ":file:`%HOME%\\\\pydistutils.cfg`"
msgstr ""
msgstr ":file:`%HOME%\\\\pydistutils.cfg`"
#: install/index.rst:751
msgid "\\(5)"

File diff suppressed because it is too large Load Diff

View File

@ -43,7 +43,7 @@ msgstr ""
#: library/asyncio-api-index.rst:24
msgid ":func:`create_task`"
msgstr ""
msgstr ":func:`create_task`"
#: library/asyncio-api-index.rst:25
msgid "Start an asyncio Task."
@ -91,7 +91,7 @@ msgstr ""
#: library/asyncio-api-index.rst:42
msgid ":func:`current_task`"
msgstr ""
msgstr ":func:`current_task`"
#: library/asyncio-api-index.rst:43
msgid "Return the current Task."
@ -99,7 +99,7 @@ msgstr ""
#: library/asyncio-api-index.rst:45
msgid ":func:`all_tasks`"
msgstr ""
msgstr ":func:`all_tasks`"
#: library/asyncio-api-index.rst:46
msgid "Return all tasks for an event loop."
@ -107,7 +107,7 @@ msgstr ""
#: library/asyncio-api-index.rst:48
msgid ":class:`Task`"
msgstr ""
msgstr ":class:`Task`"
#: library/asyncio-api-index.rst:49
msgid "Task object."
@ -124,7 +124,7 @@ msgstr ""
#: library/asyncio-api-index.rst:54
msgid ":func:`run_coroutine_threadsafe`"
msgstr ""
msgstr ":func:`run_coroutine_threadsafe`"
#: library/asyncio-api-index.rst:55
msgid "Schedule a coroutine from another OS thread."
@ -226,7 +226,7 @@ msgstr ""
#: library/asyncio-api-index.rst:115
msgid "Create a subprocess."
msgstr ""
msgstr "Crée un sous-processus."
#: library/asyncio-api-index.rst:117
msgid "``await`` :func:`create_subprocess_shell`"
@ -286,7 +286,7 @@ msgstr ""
#: library/asyncio-api-index.rst:150
msgid ":class:`StreamReader`"
msgstr ""
msgstr ":class:`StreamReader`"
#: library/asyncio-api-index.rst:151
msgid "High-level async/await object to receive network data."
@ -294,7 +294,7 @@ msgstr ""
#: library/asyncio-api-index.rst:153
msgid ":class:`StreamWriter`"
msgstr ""
msgstr ":class:`StreamWriter`"
#: library/asyncio-api-index.rst:154
msgid "High-level async/await object to send network data."
@ -383,7 +383,7 @@ msgstr ""
#: library/asyncio-api-index.rst:211
msgid ":exc:`asyncio.CancelledError`"
msgstr ""
msgstr ":exc:`asyncio.CancelledError`"
#: library/asyncio-api-index.rst:212
msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`."

View File

@ -23,45 +23,54 @@ msgid ""
"Asynchronous programming is different from classic \"sequential\" "
"programming."
msgstr ""
"La programmation asynchrone est différente de la programmation "
 séquentielle » classique."
#: library/asyncio-dev.rst:12
msgid ""
"This page lists common mistakes and traps and explains how to avoid them."
msgstr ""
"Cette page liste les pièges et erreurs communs que le développeur pourrait "
"rencontrer et décrit comment les éviter."
#: library/asyncio-dev.rst:19
msgid "Debug Mode"
msgstr ""
msgstr "Mode débogage"
#: library/asyncio-dev.rst:21
msgid ""
"By default asyncio runs in production mode. In order to ease the "
"development asyncio has a *debug mode*."
msgstr ""
"Par défaut, *asyncio* s'exécute en mode production. Pour faciliter le "
"développement, *asyncio* possède un « mode débogage »."
#: library/asyncio-dev.rst:24
msgid "There are several ways to enable asyncio debug mode:"
msgstr ""
msgstr "Il existe plusieurs façons d'activer le mode débogage de *asyncio* :"
#: library/asyncio-dev.rst:26
msgid "Setting the :envvar:`PYTHONASYNCIODEBUG` environment variable to ``1``."
msgstr ""
"en réglant la variable denvironnement :envvar:`PYTHONASYNCIODEBUG` à ``1`` ;"
#: library/asyncio-dev.rst:28
msgid "Using the :ref:`Python Development Mode <devmode>`."
msgstr ""
"en utilisant le mode développement de Python (:ref:`Python Development Mode "
"<devmode>`) ;"
#: library/asyncio-dev.rst:30
msgid "Passing ``debug=True`` to :func:`asyncio.run`."
msgstr ""
msgstr "en passant ``debug=True`` à la fonction :func:`asyncio.run` ;"
#: library/asyncio-dev.rst:32
msgid "Calling :meth:`loop.set_debug`."
msgstr ""
msgstr "en appelant la méthode :meth:`loop.set_debug`."
#: library/asyncio-dev.rst:34
msgid "In addition to enabling the debug mode, consider also:"
msgstr ""
msgstr "En plus d'activer le mode débogage, vous pouvez également :"
#: library/asyncio-dev.rst:36
msgid ""
@ -69,6 +78,10 @@ msgid ""
"data:`logging.DEBUG`, for example the following snippet of code can be run "
"at startup of the application::"
msgstr ""
"régler le niveau de journalisation pour l'enregistreur d'*asyncio* (:ref:"
"`asyncio logger <asyncio-logger>`) à :py:data:`logging.DEBUG` ; par exemple, "
"le fragment de code suivant peut être exécuté au démarrage de "
"l'application ::"
#: library/asyncio-dev.rst:42
msgid ""
@ -76,10 +89,13 @@ msgid ""
"warnings. One way of doing that is by using the :option:`-W` ``default`` "
"command line option."
msgstr ""
"configurer le module :mod:`warnings` afin d'afficher les avertissements de "
"type :exc:`ResourceWarning` ; vous pouvez faire cela en utilisant l'option :"
"option:`-W` ``default`` sur la ligne de commande."
#: library/asyncio-dev.rst:47
msgid "When the debug mode is enabled:"
msgstr ""
msgstr "Lorsque le mode débogage est activé :"
#: library/asyncio-dev.rst:49
msgid ""
@ -87,6 +103,9 @@ msgid ""
"not-scheduled>` and logs them; this mitigates the \"forgotten await\" "
"pitfall."
msgstr ""
"*asyncio* surveille les :ref:`coroutines qui ne sont jamais attendues "
"<asyncio-coroutine-not-scheduled>` et les journalise ; cela atténue le "
"problème des « *await* oubliés » ;"
#: library/asyncio-dev.rst:53
msgid ""
@ -94,12 +113,18 @@ msgid ""
"`loop.call_at` methods) raise an exception if they are called from a wrong "
"thread."
msgstr ""
"beaucoup d'*API* *asyncio* ne prenant pas en charge les fils d'exécution "
"multiples (comme les méthodes :meth:`loop.call_soon` et :meth:`loop."
"call_at`) lèvent une exception si elles sont appelées par le mauvais fil "
"dexécution ;"
#: library/asyncio-dev.rst:57
msgid ""
"The execution time of the I/O selector is logged if it takes too long to "
"perform an I/O operation."
msgstr ""
"le temps d'exécution du sélecteur d'entrée-sortie est journalisé si une "
"opération prend trop de temps à s'effectuer ;"
#: library/asyncio-dev.rst:60
msgid ""
@ -120,12 +145,21 @@ msgid ""
"``await`` expression, the running Task gets suspended, and the event loop "
"executes the next Task."
msgstr ""
"Une boucle d'évènements s'exécute dans un fil dexécution (typiquement dans "
"le fil principal) et traite toutes les fonctions de rappel (*callbacks*) "
"ainsi que toutes les tâches dans ce même fil. Lorsqu'une tâche est en cours "
"d'exécution dans la boucle d'évènements, aucune autre tâche ne peut "
"s'exécuter dans ce fil. Quand une tâche traite une expression ``await``, "
"elle se suspend et laisse la boucle dévènements traiter la tâche suivante."
#: library/asyncio-dev.rst:76
msgid ""
"To schedule a :term:`callback` from another OS thread, the :meth:`loop."
"call_soon_threadsafe` method should be used. Example::"
msgstr ""
"Pour planifier un :term:`rappel <callback>` depuis un autre fil d'exécution "
"système, utilisez la méthode :meth:`loop.call_soon_threadsafe`. Par "
"exemple ::"
#: library/asyncio-dev.rst:81
msgid ""
@ -134,6 +168,12 @@ msgid ""
"a callback. If there's a need for such code to call a low-level asyncio "
"API, the :meth:`loop.call_soon_threadsafe` method should be used, e.g.::"
msgstr ""
"La plupart des objets *asyncio* ne sont pas conçus pour être exécutés dans "
"un contexte multi-fils (*thread-safe*) mais cela n'est en général pas un "
"problème à moins que l'objet ne fasse appel à du code se trouvant en dehors "
"d'une tâche ou d'une fonction de rappel. Dans ce dernier cas, si le code "
"appelle les *API* bas niveau de *asyncio*, utilisez la méthode :meth:`loop."
"call_soon_threadsafe`. Par exemple ::"
#: library/asyncio-dev.rst:89
msgid ""
@ -141,12 +181,17 @@ msgid ""
"`run_coroutine_threadsafe` function should be used. It returns a :class:"
"`concurrent.futures.Future` to access the result::"
msgstr ""
"Pour planifier un objet concurrent depuis un autre fil d'exécution système, "
"utilisez :func:`run_coroutine_threadsafe`. Cette fonction renvoie un objet :"
"class:`concurrent.futures.Future` pour accéder au résultat ::"
#: library/asyncio-dev.rst:102
msgid ""
"To handle signals and to execute subprocesses, the event loop must be run in "
"the main thread."
msgstr ""
"Pour pouvoir traiter les signaux et démarrer des processus enfants, la "
"boucle d'évènements doit être exécutée dans le fil principal."
#: library/asyncio-dev.rst:105
msgid ""
@ -155,6 +200,10 @@ msgid ""
"different OS thread without blocking the OS thread that the event loop runs "
"in."
msgstr ""
"La méthode :meth:`loop.run_in_executor` peut être utilisée avec :class:"
"`concurrent.futures.ThreadPoolExecutor` pour exécuter du code bloquant dans "
"un autre fil d'exécution, afin de ne pas bloquer le fil où la boucle "
"d'évènements se trouve."
#: library/asyncio-dev.rst:110
msgid ""
@ -171,7 +220,7 @@ msgstr ""
#: library/asyncio-dev.rst:124
msgid "Running Blocking Code"
msgstr ""
msgstr "Exécution de code bloquant"
#: library/asyncio-dev.rst:126
msgid ""
@ -179,6 +228,11 @@ msgid ""
"function performs a CPU-intensive calculation for 1 second, all concurrent "
"asyncio Tasks and IO operations would be delayed by 1 second."
msgstr ""
"Du code bloquant sur des opérations de calcul (*CPU-bound*) ne devrait pas "
"être appelé directement. Par exemple, si une fonction effectue des calculs "
"utilisant le CPU intensivement pendant une seconde, toutes les tâches "
"*asyncio* concurrentes et les opérations d'entrées-sorties seront bloquées "
"pour une seconde."
#: library/asyncio-dev.rst:131
msgid ""
@ -186,6 +240,10 @@ msgid ""
"different process to avoid blocking the OS thread with the event loop. See "
"the :meth:`loop.run_in_executor` method for more details."
msgstr ""
"Un exécuteur peut être utilisé pour traiter une tâche dans un fil "
"d'exécution ou un processus différent, afin d'éviter de bloquer le fil "
"d'exécution système dans lequel se trouve la boucle dévènements. Voir :meth:"
"`loop.run_in_executor` pour plus de détails."
#: library/asyncio-dev.rst:140
msgid "Logging"
@ -196,16 +254,20 @@ msgid ""
"asyncio uses the :mod:`logging` module and all logging is performed via the "
"``\"asyncio\"`` logger."
msgstr ""
"*Asyncio* utilise le module :mod:`logging`. Toutes les opérations de "
"journalisation sont effectuées via l'enregistreur (*logger*) ``\"asyncio\"``."
#: library/asyncio-dev.rst:145
msgid ""
"The default log level is :py:data:`logging.INFO`, which can be easily "
"adjusted::"
msgstr ""
"Le niveau de journalisation par défaut est :py:data:`logging.INFO` mais peut "
"être ajusté facilement ::"
#: library/asyncio-dev.rst:154
msgid "Detect never-awaited coroutines"
msgstr ""
msgstr "Détection des coroutines jamais attendues"
#: library/asyncio-dev.rst:156
msgid ""
@ -213,6 +275,10 @@ msgid ""
"instead of ``await coro()``) or the coroutine is not scheduled with :meth:"
"`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::"
msgstr ""
"Lorsqu'une fonction coroutine est appelée mais qu'elle n'est pas attendue "
"(p. ex. ``coro()`` au lieu de ``await coro()``) ou si la coroutine n'est "
"pas planifiée avec :meth:`asyncio.create_task`, *asyncio* émet un :exc:"
"`RuntimeWarning` ::"
#: library/asyncio-dev.rst:216
msgid "Output::"
@ -227,10 +293,12 @@ msgid ""
"The usual fix is to either await the coroutine or call the :meth:`asyncio."
"create_task` function::"
msgstr ""
"La façon habituelle de régler ce problème est d'attendre (*await*) la "
"coroutine ou bien d'appeler la fonction :meth:`asyncio.create_task` ::"
#: library/asyncio-dev.rst:197
msgid "Detect never-retrieved exceptions"
msgstr ""
msgstr "Détection des exceptions jamais récupérées"
#: library/asyncio-dev.rst:199
msgid ""
@ -239,13 +307,19 @@ msgid ""
"this case, asyncio would emit a log message when the Future object is "
"garbage collected."
msgstr ""
"Si la méthode :meth:`Future.set_exception` est appelée mais que l'objet "
"*Future* n'est pas attendu, l'exception n'est pas propagée au code "
"utilisateur. Dans ce cas, *asyncio* écrit un message dans le journal lorsque "
"l'objet *Future* est récupéré par le ramasse-miette."
#: library/asyncio-dev.rst:204
msgid "Example of an unhandled exception::"
msgstr ""
msgstr "Exemple d'une exception non-gérée ::"
#: library/asyncio-dev.rst:227
msgid ""
":ref:`Enable the debug mode <asyncio-debug-mode>` to get the traceback where "
"the task was created::"
msgstr ""
":ref:`Activez le mode débogage <asyncio-debug-mode>` pour récupérer la trace "
"d'appels indiquant où la tâche a été créée ::"

View File

@ -96,7 +96,7 @@ msgstr ""
#: library/asyncio-eventloop.rst:62
msgid "Create and return a new event loop object."
msgstr ""
msgstr "Crée et renvoie un nouvel objet de boucle d'événements."
#: library/asyncio-eventloop.rst:64
msgid ""
@ -275,6 +275,9 @@ msgid ""
"class:`contextvars.Context` for the *callback* to run in. The current "
"context is used when no *context* is provided."
msgstr ""
"L'argument nommé optionnel *context* permet de spécifier une classe :class:"
"`contextvars.Context` personnalisée dans laquelle la fonction de rappel "
"sexécutera. Le contexte actuel est utilisé si *context* n'est pas fourni."
#: library/asyncio-eventloop.rst:204
msgid ""
@ -312,6 +315,7 @@ msgid ""
"The *context* keyword-only parameter was added. See :pep:`567` for more "
"details."
msgstr ""
"Ajout de l'argument nommé *context*. Voir :pep:`567` pour plus de détails."
#: library/asyncio-eventloop.rst:229
msgid ""

View File

@ -23,42 +23,51 @@ msgid ""
"**Source code:** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/"
"base_futures.py`"
msgstr ""
"**Code source :** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/"
"base_futures.py`"
#: library/asyncio-future.rst:15
msgid ""
"*Future* objects are used to bridge **low-level callback-based code** with "
"high-level async/await code."
msgstr ""
"Les objets *Future* sont utilisés comme passerelles entre du **code bas "
"niveau basé sur des fonctions de rappel** et du code haut niveau utilisant "
"*async* et *await*."
#: library/asyncio-future.rst:20
msgid "Future Functions"
msgstr ""
msgstr "Fonctions pour *Future*"
#: library/asyncio-future.rst:24
msgid "Return ``True`` if *obj* is either of:"
msgstr ""
msgstr "Renvoie ``True`` si *obj* est soit :"
#: library/asyncio-future.rst:26
msgid "an instance of :class:`asyncio.Future`,"
msgstr ""
msgstr "une instance de :class:`asyncio.Future` ;"
#: library/asyncio-future.rst:27
msgid "an instance of :class:`asyncio.Task`,"
msgstr ""
msgstr "une instance de :class:`asyncio.Task` ;"
#: library/asyncio-future.rst:28
msgid "a Future-like object with a ``_asyncio_future_blocking`` attribute."
msgstr ""
"un objet se comportant comme *Future* et possédant un attribut "
"``_asyncio_future_blocking``."
#: library/asyncio-future.rst:36
msgid "Return:"
msgstr ""
msgstr "Renvoie :"
#: library/asyncio-future.rst:38
msgid ""
"*obj* argument as is, if *obj* is a :class:`Future`, a :class:`Task`, or a "
"Future-like object (:func:`isfuture` is used for the test.)"
msgstr ""
"l'objet *obj* tel quel si c'est un objet :class:`Future`, :class:`Task` ou "
"se comportant comme un *Future*. :func:`isfuture` est utilisée pour le test ;"
#: library/asyncio-future.rst:42
msgid ""
@ -66,22 +75,31 @@ msgid ""
"`iscoroutine` is used for the test); in this case the coroutine will be "
"scheduled by ``ensure_future()``."
msgstr ""
"un objet :class:`Task` encapsulant *obj* si ce dernier est une coroutine (:"
"func:`iscoroutine` est utilisée pour le test). Dans ce cas, lexécution de "
"la coroutine sera planifiée par ``ensure_future()`` ;"
#: library/asyncio-future.rst:47
msgid ""
"a :class:`Task` object that would await on *obj*, if *obj* is an awaitable (:"
"func:`inspect.isawaitable` is used for the test.)"
msgstr ""
"un objet :class:`Task` qui attendra (*await*) *obj* si ce dernier peut être "
"attendu (*awaitable*). :func:`iscoroutine` est utilisée pour le test."
#: library/asyncio-future.rst:50
msgid "If *obj* is neither of the above a :exc:`TypeError` is raised."
msgstr ""
"Si *obj* ne correspond à aucun des critères ci-dessus, une exception :exc:"
"`TypeError` est levée."
#: library/asyncio-future.rst:54
msgid ""
"See also the :func:`create_task` function which is the preferred way for "
"creating new Tasks."
msgstr ""
"Voir aussi la fonction :func:`create_task` qui est la manière privilégiée "
"pour créer des nouvelles tâches."
#: library/asyncio-future.rst:57
msgid ""
@ -98,16 +116,20 @@ msgid ""
"Wrap a :class:`concurrent.futures.Future` object in a :class:`asyncio."
"Future` object."
msgstr ""
"Encapsule un objet :class:`concurrent.futures.Future` dans un objet :class:"
"`asyncio.Future`."
#: library/asyncio-future.rst:71
msgid "Future Object"
msgstr ""
msgstr "Objet *Future*"
#: library/asyncio-future.rst:75
msgid ""
"A Future represents an eventual result of an asynchronous operation. Not "
"thread-safe."
msgstr ""
"Un *Future* représente le résultat final d'une opération asynchrone. Il "
"n'est pas conçu pour pouvoir être utilisé par plusieurs fils d'exécution."
#: library/asyncio-future.rst:78
msgid ""
@ -122,6 +144,10 @@ msgid ""
"protocols implemented using asyncio :ref:`transports <asyncio-transports-"
"protocols>`) to interoperate with high-level async/await code."
msgstr ""
"Les *Futures* sont habituellement utilisés pour permettre à du code bas "
"niveau basé sur des fonctions de rappel (par exemple : les protocoles "
"utilisant *asyncio* :ref:`transports <asyncio-transports-protocols>`) "
"d'interagir avec du code haut niveau utilisant *async* et *await*."
#: library/asyncio-future.rst:87
msgid ""
@ -130,6 +156,11 @@ msgid ""
"create_future`. This way alternative event loop implementations can inject "
"their own optimized implementations of a Future object."
msgstr ""
"Une bonne règle empirique est de ne jamais exposer des objets *Future* dans "
"des *API* destinées à l'utilisateur. La façon privilégiée de créer des "
"objets *Future* est d'appeler la méthode :meth:`loop.create_future`. Cela "
"permet aux implémentations alternatives de la boucle d'évènements d'utiliser "
"leur propre implémentation de l'objet *Future*."
#: library/asyncio-future.rst:93
msgid "Added support for the :mod:`contextvars` module."
@ -137,27 +168,30 @@ msgstr "Ajout du support du module :mod:`contextvars`."
#: library/asyncio-future.rst:98
msgid "Return the result of the Future."
msgstr ""
msgstr "Renvoie le résultat du *Future*."
#: library/asyncio-future.rst:100
msgid ""
"If the Future is *done* and has a result set by the :meth:`set_result` "
"method, the result value is returned."
msgstr ""
"Si le *Future* est « terminé » et a un résultat défini par la méthode :meth:"
"`set_result`, ce résultat est renvoyé."
#: library/asyncio-future.rst:103
msgid ""
"If the Future is *done* and has an exception set by the :meth:"
"`set_exception` method, this method raises the exception."
msgstr ""
"Si le *Future* est « terminé » et a une exception définie par la méthode :"
"meth:`set_exception`, cette méthode lève l'exception."
#: library/asyncio-future.rst:194
#, fuzzy
msgid ""
"If the Future has been *cancelled*, this method raises a :exc:"
"`CancelledError` exception."
msgstr ""
"Si la tâche a été *annulée*, cette méthode lève une exception :exc:"
"Si le *Future* a été *annulé*, cette méthode lève une exception :exc:"
"`CancelledError`."
#: library/asyncio-future.rst:109
@ -170,53 +204,62 @@ msgstr ""
"une exception :exc:`InvalidStateError`."
#: library/asyncio-future.rst:114
#, fuzzy
msgid "Mark the Future as *done* and set its result."
msgstr "Marque le futur comme terminé et définit son résultat."
msgstr "Marque le *Future* comme « terminé » et définit son résultat."
#: library/asyncio-future.rst:123
msgid ""
"Raises a :exc:`InvalidStateError` error if the Future is already *done*."
msgstr ""
"Lève une erreur :exc:`InvalidStateError` si le *Future* est déjà « terminé »."
#: library/asyncio-future.rst:121
#, fuzzy
msgid "Mark the Future as *done* and set an exception."
msgstr "Marque le futur comme terminé et définit une exception."
msgstr "Marque le *Future* comme « terminé » et définit une exception."
#: library/asyncio-future.rst:128
msgid "Return ``True`` if the Future is *done*."
msgstr ""
msgstr "Renvoie ``True`` si le *Future* est « terminé »."
#: library/asyncio-future.rst:130
msgid ""
"A Future is *done* if it was *cancelled* or if it has a result or an "
"exception set with :meth:`set_result` or :meth:`set_exception` calls."
msgstr ""
"Un *Future* est « terminé » s'il a été « annulé » ou si un résultat ou une "
"exception a été définie par les méthodes :meth:`set_result` ou :meth:"
"`set_exception`."
#: library/asyncio-future.rst:136
msgid "Return ``True`` if the Future was *cancelled*."
msgstr ""
msgstr "Renvoie ``True`` si le *Future* a été « annulé »."
#: library/asyncio-future.rst:138
msgid ""
"The method is usually used to check if a Future is not *cancelled* before "
"setting a result or an exception for it::"
msgstr ""
"Cette méthode est habituellement utilisée pour vérifier qu'un *Future* n'est "
"pas « annulé » avant de définir un résultat ou une exception pour celui-ci ::"
#: library/asyncio-future.rst:146
msgid "Add a callback to be run when the Future is *done*."
msgstr ""
"Ajoute une fonction de rappel à exécuter lorsque le *Future* est « terminé »."
#: library/asyncio-future.rst:148
msgid "The *callback* is called with the Future object as its only argument."
msgstr ""
"L'argument *callback* est appelé avec l'objet *Future* comme seul argument."
#: library/asyncio-future.rst:151
msgid ""
"If the Future is already *done* when this method is called, the callback is "
"scheduled with :meth:`loop.call_soon`."
msgstr ""
"Si le *Future* est déjà « terminé » lorsque la méthode est appelée, "
"l'exécution de la fonction de rappel est planifiée avec :meth:`loop."
"call_soon`."
#: library/asyncio-future.rst:154
msgid ""
@ -224,18 +267,24 @@ msgid ""
"class:`contextvars.Context` for the *callback* to run in. The current "
"context is used when no *context* is provided."
msgstr ""
"L'argument nommé optionnel *context* permet de spécifier une classe :class:"
"`contextvars.Context` personnalisée dans laquelle la fonction de rappel "
"sexécutera. Le contexte actuel est utilisé si *context* n'est pas fourni."
#: library/asyncio-future.rst:158
msgid ""
":func:`functools.partial` can be used to pass parameters to the callback, e."
"g.::"
msgstr ""
":func:`functools.partial` peut être utilisée pour passer des paramètres à la "
"fonction de rappel ::"
#: library/asyncio-future.rst:165
msgid ""
"The *context* keyword-only parameter was added. See :pep:`567` for more "
"details."
msgstr ""
"Ajout de l'argument nommé *context*. Voir :pep:`567` pour plus de détails."
#: library/asyncio-future.rst:171
msgid "Remove *callback* from the callbacks list."
@ -246,10 +295,12 @@ msgid ""
"Returns the number of callbacks removed, which is typically 1, unless a "
"callback was added more than once."
msgstr ""
"Renvoie le nombre de fonctions de rappel retiré. La méthode renvoie "
"généralement 1, à moins que la fonction ait été ajoutée plus d'une fois."
#: library/asyncio-future.rst:178
msgid "Cancel the Future and schedule callbacks."
msgstr ""
msgstr "Annule le *Future* et planifie l'exécution des fonctions de rappel."
#: library/asyncio-future.rst:180
msgid ""
@ -257,6 +308,9 @@ msgid ""
"change the Future's state to *cancelled*, schedule the callbacks, and return "
"``True``."
msgstr ""
"Si le *Future* est déjà « terminé » ou « annulé », renvoie ``False``. "
"Autrement, change l'état du *Future* à « annulé », planifie l'exécution des "
"fonctions de rappel et renvoie ``True``."
#: library/asyncio-future.rst:184
msgid "Added the ``msg`` parameter."
@ -264,71 +318,91 @@ msgstr ""
#: library/asyncio-future.rst:189
msgid "Return the exception that was set on this Future."
msgstr ""
msgstr "Renvoie l'exception définie pour ce *Future*."
#: library/asyncio-future.rst:191
msgid ""
"The exception (or ``None`` if no exception was set) is returned only if the "
"Future is *done*."
msgstr ""
"L'exception, ou ``None`` si aucune exception n'a été définie, est renvoyé "
"seulement si le *Future* est « terminé »."
#: library/asyncio-future.rst:197
#, fuzzy
msgid ""
"If the Future isn't *done* yet, this method raises an :exc:"
"`InvalidStateError` exception."
msgstr ""
"Si la tâche n'est pas encore *achevée*, cette méthode lève une exception :"
"exc:`InvalidStateError`."
"Si le *Future* n'est pas encore « terminé », cette méthode lève une "
"exception :exc:`InvalidStateError`."
#: library/asyncio-future.rst:202
msgid "Return the event loop the Future object is bound to."
msgstr ""
msgstr "Renvoie la boucle d'évènements à laquelle le *Future* est attaché."
#: library/asyncio-future.rst:209
msgid ""
"This example creates a Future object, creates and schedules an asynchronous "
"Task to set result for the Future, and waits until the Future has a result::"
msgstr ""
"Cet exemple crée un objet *Future*, puis crée et planifie lexécution d'une "
"tâche asynchrone qui définira le résultat du *Future* et attend jusqu'à ce "
"que le *Future* ait un résultat ::"
#: library/asyncio-future.rst:244
msgid ""
"The Future object was designed to mimic :class:`concurrent.futures.Future`. "
"Key differences include:"
msgstr ""
"L'objet *Future* est conçu pour imiter la classe :class:`concurrent.futures."
"Future`. Les principales différences sont :"
#: library/asyncio-future.rst:247
msgid ""
"unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot "
"be awaited."
msgstr ""
"contrairement au *Future asyncio*, les instances de :class:`concurrent."
"futures.Future` ne peuvent pas être attendues ;"
#: library/asyncio-future.rst:250
msgid ""
":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not "
"accept the *timeout* argument."
msgstr ""
":meth:`asyncio.Future.result` et :meth:`asyncio.Future.exception` "
"n'acceptent pas d'argument *timeout* ;"
#: library/asyncio-future.rst:253
msgid ""
":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an :"
"exc:`InvalidStateError` exception when the Future is not *done*."
msgstr ""
":meth:`asyncio.Future.result` et :meth:`asyncio.Future.exception` lèvent une "
"exception :exc:`InvalidStateError` lorsque le *Future* n'est pas "
 terminé » ;"
#: library/asyncio-future.rst:257
msgid ""
"Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not "
"called immediately. They are scheduled with :meth:`loop.call_soon` instead."
msgstr ""
"les fonctions de rappel enregistrées à l'aide de :meth:`asyncio.Future."
"add_done_callback` ne sont pas exécutées immédiatement mais planifiées avec :"
"meth:`loop.call_soon` ;"
#: library/asyncio-future.rst:261
msgid ""
"asyncio Future is not compatible with the :func:`concurrent.futures.wait` "
"and :func:`concurrent.futures.as_completed` functions."
msgstr ""
"les *Future asyncio* ne sont pas compatibles avec les fonctions :func:"
"`concurrent.futures.wait` et :func:`concurrent.futures.as_completed` ;"
#: library/asyncio-future.rst:265
msgid ""
":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :"
"func:`concurrent.futures.cancel` does not."
msgstr ""
":meth:`asyncio.Future.cancel` accepte un argument optionnel ``msg`` mais "
"pas :func:`concurrent.futures.cancel`."

View File

@ -28,7 +28,7 @@ msgstr "Obtenir une boucle d'évènements"
#: library/asyncio-llapi-index.rst:18
msgid ":func:`asyncio.get_running_loop`"
msgstr ""
msgstr ":func:`asyncio.get_running_loop`"
#: library/asyncio-llapi-index.rst:19
msgid "The **preferred** function to get the running event loop."
@ -36,7 +36,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:21
msgid ":func:`asyncio.get_event_loop`"
msgstr ""
msgstr ":func:`asyncio.get_event_loop`"
#: library/asyncio-llapi-index.rst:22
msgid "Get an event loop instance (current or via the policy)."
@ -44,7 +44,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:24
msgid ":func:`asyncio.set_event_loop`"
msgstr ""
msgstr ":func:`asyncio.set_event_loop`"
#: library/asyncio-llapi-index.rst:25
msgid "Set the event loop as current via the current policy."
@ -52,7 +52,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:27
msgid ":func:`asyncio.new_event_loop`"
msgstr ""
msgstr ":func:`asyncio.new_event_loop`"
#: library/asyncio-llapi-index.rst:28
msgid "Create a new event loop."
@ -82,7 +82,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:47
msgid ":meth:`loop.run_until_complete`"
msgstr ""
msgstr ":meth:`loop.run_until_complete`"
#: library/asyncio-llapi-index.rst:48
msgid "Run a Future/Task/awaitable until complete."
@ -90,7 +90,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:50
msgid ":meth:`loop.run_forever`"
msgstr ""
msgstr ":meth:`loop.run_forever`"
#: library/asyncio-llapi-index.rst:51
msgid "Run the event loop forever."
@ -98,7 +98,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:53
msgid ":meth:`loop.stop`"
msgstr ""
msgstr ":meth:`loop.stop`"
#: library/asyncio-llapi-index.rst:54
msgid "Stop the event loop."
@ -106,7 +106,7 @@ msgstr "Arrête l'exécution de la boucle d'évènements."
#: library/asyncio-llapi-index.rst:56
msgid ":meth:`loop.close`"
msgstr ""
msgstr ":meth:`loop.close`"
#: library/asyncio-llapi-index.rst:57
msgid "Close the event loop."
@ -114,7 +114,7 @@ msgstr "Arrête la boucle d'évènements."
#: library/asyncio-llapi-index.rst:59
msgid ":meth:`loop.is_running()`"
msgstr ""
msgstr ":meth:`loop.is_running()`"
#: library/asyncio-llapi-index.rst:60
msgid "Return ``True`` if the event loop is running."
@ -122,7 +122,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:62
msgid ":meth:`loop.is_closed()`"
msgstr ""
msgstr ":meth:`loop.is_closed()`"
#: library/asyncio-llapi-index.rst:63
#, fuzzy
@ -139,11 +139,11 @@ msgstr ""
#: library/asyncio-llapi-index.rst:69
msgid "Debugging"
msgstr ""
msgstr "Débogage"
#: library/asyncio-llapi-index.rst:74
msgid ":meth:`loop.set_debug`"
msgstr ""
msgstr ":meth:`loop.set_debug`"
#: library/asyncio-llapi-index.rst:75
msgid "Enable or disable the debug mode."
@ -151,7 +151,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:77
msgid ":meth:`loop.get_debug`"
msgstr ""
msgstr ":meth:`loop.get_debug`"
#: library/asyncio-llapi-index.rst:78
msgid "Get the current debug mode."
@ -163,7 +163,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:86
msgid ":meth:`loop.call_soon`"
msgstr ""
msgstr ":meth:`loop.call_soon`"
#: library/asyncio-llapi-index.rst:87
msgid "Invoke a callback soon."
@ -171,7 +171,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:89
msgid ":meth:`loop.call_soon_threadsafe`"
msgstr ""
msgstr ":meth:`loop.call_soon_threadsafe`"
#: library/asyncio-llapi-index.rst:90
msgid "A thread-safe variant of :meth:`loop.call_soon`."
@ -179,7 +179,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:92
msgid ":meth:`loop.call_later`"
msgstr ""
msgstr ":meth:`loop.call_later`"
#: library/asyncio-llapi-index.rst:93
msgid "Invoke a callback *after* the given time."
@ -187,7 +187,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:95
msgid ":meth:`loop.call_at`"
msgstr ""
msgstr ":meth:`loop.call_at`"
#: library/asyncio-llapi-index.rst:96
msgid "Invoke a callback *at* the given time."
@ -209,7 +209,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:108
msgid ":meth:`loop.set_default_executor`"
msgstr ""
msgstr ":meth:`loop.set_default_executor`"
#: library/asyncio-llapi-index.rst:109
msgid "Set the default executor for :meth:`loop.run_in_executor`."
@ -221,7 +221,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:117
msgid ":meth:`loop.create_future`"
msgstr ""
msgstr ":meth:`loop.create_future`"
#: library/asyncio-llapi-index.rst:118
msgid "Create a :class:`Future` object."
@ -229,7 +229,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:120
msgid ":meth:`loop.create_task`"
msgstr ""
msgstr ":meth:`loop.create_task`"
#: library/asyncio-llapi-index.rst:121
msgid "Schedule coroutine as a :class:`Task`."
@ -237,7 +237,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:123
msgid ":meth:`loop.set_task_factory`"
msgstr ""
msgstr ":meth:`loop.set_task_factory`"
#: library/asyncio-llapi-index.rst:124
msgid ""
@ -247,7 +247,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:127
msgid ":meth:`loop.get_task_factory`"
msgstr ""
msgstr ":meth:`loop.get_task_factory`"
#: library/asyncio-llapi-index.rst:128
msgid ""
@ -413,7 +413,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:204
msgid ":meth:`loop.add_reader`"
msgstr ""
msgstr ":meth:`loop.add_reader`"
#: library/asyncio-llapi-index.rst:205
msgid "Start watching a file descriptor for read availability."
@ -421,7 +421,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:207
msgid ":meth:`loop.remove_reader`"
msgstr ""
msgstr ":meth:`loop.remove_reader`"
#: library/asyncio-llapi-index.rst:208
msgid "Stop watching a file descriptor for read availability."
@ -429,7 +429,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:210
msgid ":meth:`loop.add_writer`"
msgstr ""
msgstr ":meth:`loop.add_writer`"
#: library/asyncio-llapi-index.rst:211
msgid "Start watching a file descriptor for write availability."
@ -437,7 +437,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:213
msgid ":meth:`loop.remove_writer`"
msgstr ""
msgstr ":meth:`loop.remove_writer`"
#: library/asyncio-llapi-index.rst:214
msgid "Stop watching a file descriptor for write availability."
@ -450,7 +450,7 @@ msgstr "Signaux Unix"
#: library/asyncio-llapi-index.rst:222
msgid ":meth:`loop.add_signal_handler`"
msgstr ""
msgstr ":meth:`loop.add_signal_handler`"
#: library/asyncio-llapi-index.rst:223
msgid "Add a handler for a :mod:`signal`."
@ -458,7 +458,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:225
msgid ":meth:`loop.remove_signal_handler`"
msgstr ""
msgstr ":meth:`loop.remove_signal_handler`"
#: library/asyncio-llapi-index.rst:226
msgid "Remove a handler for a :mod:`signal`."
@ -470,7 +470,7 @@ msgstr "Sous-processus"
#: library/asyncio-llapi-index.rst:234
msgid ":meth:`loop.subprocess_exec`"
msgstr ""
msgstr ":meth:`loop.subprocess_exec`"
#: library/asyncio-llapi-index.rst:235
msgid "Spawn a subprocess."
@ -478,7 +478,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:237
msgid ":meth:`loop.subprocess_shell`"
msgstr ""
msgstr ":meth:`loop.subprocess_shell`"
#: library/asyncio-llapi-index.rst:238
msgid "Spawn a subprocess from a shell command."
@ -490,7 +490,7 @@ msgstr "Gestion des erreurs"
#: library/asyncio-llapi-index.rst:246
msgid ":meth:`loop.call_exception_handler`"
msgstr ""
msgstr ":meth:`loop.call_exception_handler`"
#: library/asyncio-llapi-index.rst:247
msgid "Call the exception handler."
@ -498,7 +498,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:249
msgid ":meth:`loop.set_exception_handler`"
msgstr ""
msgstr ":meth:`loop.set_exception_handler`"
#: library/asyncio-llapi-index.rst:250
msgid "Set a new exception handler."
@ -506,7 +506,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:252
msgid ":meth:`loop.get_exception_handler`"
msgstr ""
msgstr ":meth:`loop.get_exception_handler`"
#: library/asyncio-llapi-index.rst:253
msgid "Get the current exception handler."
@ -514,7 +514,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:255
msgid ":meth:`loop.default_exception_handler`"
msgstr ""
msgstr ":meth:`loop.default_exception_handler`"
#: library/asyncio-llapi-index.rst:256
msgid "The default exception handler implementation."
@ -802,7 +802,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:407
msgid "Protocols"
msgstr ""
msgstr "Protocoles"
#: library/asyncio-llapi-index.rst:409
msgid "Protocol classes can implement the following **callback methods**:"
@ -963,7 +963,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:503
msgid ":meth:`asyncio.get_event_loop_policy`"
msgstr ""
msgstr ":meth:`asyncio.get_event_loop_policy`"
#: library/asyncio-llapi-index.rst:504
msgid "Return the current process-wide policy."
@ -971,7 +971,7 @@ msgstr "Renvoie la stratégie actuelle à l'échelle du processus."
#: library/asyncio-llapi-index.rst:506
msgid ":meth:`asyncio.set_event_loop_policy`"
msgstr ""
msgstr ":meth:`asyncio.set_event_loop_policy`"
#: library/asyncio-llapi-index.rst:507
msgid "Set a new process-wide policy."
@ -979,7 +979,7 @@ msgstr ""
#: library/asyncio-llapi-index.rst:509
msgid ":class:`AbstractEventLoopPolicy`"
msgstr ""
msgstr ":class:`AbstractEventLoopPolicy`"
#: library/asyncio-llapi-index.rst:510
msgid "Base class for policy objects."

View File

@ -323,6 +323,8 @@ msgid ""
"Spawning a subprocess with *inactive* current child watcher raises :exc:"
"`RuntimeError`."
msgstr ""
"Instancier un sous-processus avec un observateur enfant actuel *inactif* "
"lève l'exception :exc:`RuntimeError`."
#: library/asyncio-policy.rst:200
msgid "Close the watcher."

View File

@ -585,7 +585,7 @@ msgstr ""
#: library/asyncio-protocol.rst:436
msgid "Protocols"
msgstr ""
msgstr "Protocoles"
#: library/asyncio-protocol.rst:438
msgid "**Source code:** :source:`Lib/asyncio/protocols.py`"

View File

@ -68,6 +68,8 @@ msgstr "Le paramètre *loop*."
#: library/asyncio-queue.rst:43
msgid "This class is :ref:`not thread safe <asyncio-multithreading>`."
msgstr ""
"Cette classe n'est :ref:`pas conçue pour un contexte multi-fils <asyncio-"
"multithreading>`."
#: library/asyncio-queue.rst:47
msgid "Number of items allowed in the queue."

View File

@ -29,12 +29,16 @@ msgid ""
"This section describes high-level async/await asyncio APIs to create and "
"manage subprocesses."
msgstr ""
"Cette section décrit des API de haut niveau de *asyncio* pour créer et gérer "
"des sous-processus via ``async``/``await``."
#: library/asyncio-subprocess.rst:19
msgid ""
"Here's an example of how asyncio can run a shell command and obtain its "
"result::"
msgstr ""
"Voici un exemple de comment *asyncio* peut lancer une commande shell et "
"obtenir son résultat ::"
#: library/asyncio-subprocess.rst:40
#, fuzzy
@ -51,15 +55,15 @@ msgstr ""
#: library/asyncio-subprocess.rst:58
msgid "See also the `Examples`_ subsection."
msgstr ""
msgstr "Voir également la section `Exemples`_."
#: library/asyncio-subprocess.rst:62
msgid "Creating Subprocesses"
msgstr ""
msgstr "Créer des sous-processus"
#: library/asyncio-subprocess.rst:68
msgid "Create a subprocess."
msgstr ""
msgstr "Crée un sous-processus."
#: library/asyncio-subprocess.rst:70 library/asyncio-subprocess.rst:89
msgid ""
@ -67,15 +71,21 @@ msgid ""
"wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :attr:"
"`subprocess.PIPE` is passed to *stdout* and *stderr* arguments)."
msgstr ""
"Le paramètre *limit* définit la taille maximale du tampon pour les instances "
"de :class:`StreamReader` encapsulant :attr:`Process.stdout` et :attr:"
"`Process.stderr` (Si :attr:`subprocess.PIPE` est passé aux paramètres "
"*stdout* et *stderr*)."
#: library/asyncio-subprocess.rst:74 library/asyncio-subprocess.rst:93
msgid "Return a :class:`~asyncio.subprocess.Process` instance."
msgstr ""
msgstr "Renvoie une instance de :class:`~asyncio.subprocess.Process`."
#: library/asyncio-subprocess.rst:76
msgid ""
"See the documentation of :meth:`loop.subprocess_exec` for other parameters."
msgstr ""
"Voir la documentation de :meth:`loop.subprocess_exec` pour d'autres "
"paramètres."
#: library/asyncio-subprocess.rst:81 library/asyncio-subprocess.rst:109
#, fuzzy
@ -90,6 +100,8 @@ msgstr "Exécute la commande *cmd* dans un *shell*."
msgid ""
"See the documentation of :meth:`loop.subprocess_shell` for other parameters."
msgstr ""
"Voir la documentation de :meth:`loop.subprocess_shell` pour d'autres "
"paramètres."
#: library/asyncio-subprocess.rst:100
msgid ""
@ -100,6 +112,13 @@ msgid ""
"escape whitespace and special shell characters in strings that are going to "
"be used to construct shell commands."
msgstr ""
"Il est de la responsabilité de l'application de s'assurer que tous les "
"espaces et les caractères spéciaux sont correctement mis entre guillemets "
"pour éviter les vulnérabilités de type `injection de code <https://en."
"wikipedia.org/wiki/Shell_injection#Shell_injection>`_. La fonction :func:"
"`shlex.quote` peut être utilisée pour léchappement des espaces et "
"caractères spéciaux dans les chaînes utilisées pour construire des commandes "
"shell."
#: library/asyncio-subprocess.rst:113
msgid ""
@ -107,6 +126,9 @@ msgid ""
"used. See :ref:`Subprocess Support on Windows <asyncio-windows-subprocess>` "
"for details."
msgstr ""
"Les sous-processus sont disponibles pour Windows si un :class:"
"`ProactorEventLoop` est utilisé. Voir :ref:`Support des sous-processus sous "
"Windows <asyncio-windows-subprocess>` pour plus de précisions."
#: library/asyncio-subprocess.rst:119
msgid ""
@ -123,7 +145,7 @@ msgstr "Constantes"
#: library/asyncio-subprocess.rst:132
msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters."
msgstr ""
msgstr "Peut être passé aux paramètres *stdin*, *stdout* ou *stderr*."
#: library/asyncio-subprocess.rst:134
msgid ""
@ -131,6 +153,9 @@ msgid ""
"subprocess.Process.stdin>` attribute will point to a :class:`StreamWriter` "
"instance."
msgstr ""
"Si *PIPE* est passé au paramètre *stdin*, l'attribut :attr:`Process.stdin "
"<asyncio.subprocess.Process.stdin>` ne pointera pas vers une instance de :"
"class:`StreamWriter`."
#: library/asyncio-subprocess.rst:138
msgid ""
@ -139,12 +164,18 @@ msgid ""
"<asyncio.subprocess.Process.stderr>` attributes will point to :class:"
"`StreamReader` instances."
msgstr ""
"Si *PIPE* est passé au paramètre *stdout* ou *stderr* , l'attribut :attr:"
"`Process.stdout <asyncio.subprocess.Process.stdout>` et :attr:`Process."
"stderr <asyncio.subprocess.Process.stderr>` pointeront vers des instances "
"de :class:`StreamReader`."
#: library/asyncio-subprocess.rst:146
msgid ""
"Special value that can be used as the *stderr* argument and indicates that "
"standard error should be redirected into standard output."
msgstr ""
"Une valeur spéciale qui peut être passée au paramètre *stderr* et qui "
"indique que la sortie d'erreur doit être redirigée vers la sortie standard."
#: library/asyncio-subprocess.rst:152
msgid ""
@ -152,10 +183,13 @@ msgid ""
"to process creation functions. It indicates that the special file :data:`os."
"devnull` will be used for the corresponding subprocess stream."
msgstr ""
"Une valeur spéciale qui peut être passée à l'argument *stdin*, *stdout* ou "
"*stderr* des fonctions créant des processus. Elle implique l'utilisation du "
"fichier :data:`os.devnull` pour le flux correspondant du processus."
#: library/asyncio-subprocess.rst:158
msgid "Interacting with Subprocesses"
msgstr ""
msgstr "Interagir avec les sous-processus"
#: library/asyncio-subprocess.rst:160
msgid ""
@ -199,11 +233,13 @@ msgstr ""
#: library/asyncio-subprocess.rst:187
msgid "the *universal_newlines* parameter is not supported."
msgstr ""
msgstr "le paramètre *universal_newlines* n'est pas pris en charge."
#: library/asyncio-subprocess.rst:189
msgid "This class is :ref:`not thread safe <asyncio-multithreading>`."
msgstr ""
"Cette classe n'est :ref:`pas conçue pour un contexte multi-fils <asyncio-"
"multithreading>`."
#: library/asyncio-subprocess.rst:191
msgid ""
@ -215,11 +251,11 @@ msgstr ""
#: library/asyncio-subprocess.rst:196
msgid "Wait for the child process to terminate."
msgstr ""
msgstr "Attend que le sous processus s'arrête."
#: library/asyncio-subprocess.rst:198
msgid "Set and return the :attr:`returncode` attribute."
msgstr ""
msgstr "Définit et renvoie l'attribut :attr:`returncode`."
#: library/asyncio-subprocess.rst:202
msgid ""
@ -228,32 +264,41 @@ msgid ""
"pipe buffer to accept more data. Use the :meth:`communicate` method when "
"using pipes to avoid this condition."
msgstr ""
"Cette méthode peut générer un interblocage quand ``stdout=PIPE`` ou "
"``stderr=PIPE`` est utilisé et que le sous-processus génère tellement de "
"sorties qu'il se bloque, dans l'attente que le tampon du tube côté OS "
"accepte des données supplémentaires. Pour éviter cette situation, choisissez "
"la méthode :meth:`communicate` quand vous utilisez des tubes."
#: library/asyncio-subprocess.rst:210
msgid "Interact with process:"
msgstr ""
msgstr "Interagit avec le processus :"
#: library/asyncio-subprocess.rst:212
msgid "send data to *stdin* (if *input* is not ``None``);"
msgstr ""
msgstr "envoie des données sur le *stdin* (si *input* n'est pas ``None``);"
#: library/asyncio-subprocess.rst:213
msgid "read data from *stdout* and *stderr*, until EOF is reached;"
msgstr ""
"lit les données sur *stdout* et *stderr*, jusqu'à ce que le EOF soit "
"atteint ;"
#: library/asyncio-subprocess.rst:214
msgid "wait for process to terminate."
msgstr ""
msgstr "attend que le processus s'arrête."
#: library/asyncio-subprocess.rst:216
msgid ""
"The optional *input* argument is the data (:class:`bytes` object) that will "
"be sent to the child process."
msgstr ""
"Le paramètre optionnel *input* (objet de type :class:`bytes`) représente les "
"données transmises au sous-processus."
#: library/asyncio-subprocess.rst:219
msgid "Return a tuple ``(stdout_data, stderr_data)``."
msgstr ""
msgstr "Renvoie un tuple ``(stdout_data, stderr_data)``."
#: library/asyncio-subprocess.rst:221
msgid ""
@ -284,15 +329,15 @@ msgid "Sends the signal *signal* to the child process."
msgstr "Envoie le signal *signal* au sous-processus."
#: library/asyncio-subprocess.rst:241
#, fuzzy
msgid ""
"On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. "
"``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started "
"with a *creationflags* parameter which includes ``CREATE_NEW_PROCESS_GROUP``."
msgstr ""
"Sous Windows, *SIGTERM* est un alias pour :meth:`terminate`. *CTRL_C_EVENT* "
"et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un "
"paramètre *creationflags* incluant `CREATE_NEW_PROCESS_GROUP`."
"Sous Windows, :py:data:`SIGTERM` est un alias pour :meth:`terminate`. "
"*CTRL_C_EVENT* et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus "
"démarrés avec un paramètre *creationflags* incluant "
"``CREATE_NEW_PROCESS_GROUP``."
#: library/asyncio-subprocess.rst:248
msgid "Stop the child process."
@ -318,16 +363,15 @@ msgid "Kill the child process."
msgstr "Arrête le sous-processus."
#: library/asyncio-subprocess.rst:260
#, fuzzy
msgid ""
"On POSIX systems this method sends :py:data:`SIGKILL` to the child process."
msgstr ""
"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au "
"Sur les systèmes POSIX, cette méthode envoie :py:data:`signal.SIGTERM` au "
"sous-processus."
#: library/asyncio-subprocess.rst:263
msgid "On Windows this method is an alias for :meth:`terminate`."
msgstr ""
msgstr "Sous Windows, cette méthode est un alias pour :meth:`terminate`."
#: library/asyncio-subprocess.rst:267
msgid ""
@ -358,6 +402,8 @@ msgstr ""
#: library/asyncio-subprocess.rst:291
msgid "Process identification number (PID)."
msgstr ""
"Numéro d'identification du processus (PID, pour *Process Identification "
"Number* en anglais)."
#: library/asyncio-subprocess.rst:293
msgid ""
@ -367,7 +413,7 @@ msgstr ""
#: library/asyncio-subprocess.rst:298
msgid "Return code of the process when it exits."
msgstr ""
msgstr "Code de retour du processus quand il se termine."
#: library/asyncio-subprocess.rst:300
msgid "A ``None`` value indicates that the process has not terminated yet."
@ -414,18 +460,25 @@ msgid ""
"Spawning a subprocess with *inactive* current child watcher raises :exc:"
"`RuntimeError`."
msgstr ""
"Instancier un sous-processus avec un observateur enfant actuel *inactif* "
"lève l'exception :exc:`RuntimeError`."
#: library/asyncio-subprocess.rst:329
msgid ""
"Note that alternative event loop implementations might have own limitations; "
"please refer to their documentation."
msgstr ""
"Notez que ces implémentations alternatives de la boucle d'événements peuvent "
"comporter leurs propres limitations. Veuillez vous référer à leur "
"documentation."
#: library/asyncio-subprocess.rst:334
msgid ""
"The :ref:`Concurrency and multithreading in asyncio <asyncio-"
"multithreading>` section."
msgstr ""
"La section :ref:`Exécution concurrente et multi-fils d'exécution <asyncio-"
"multithreading>`."
#: library/asyncio-subprocess.rst:339
msgid "Examples"
@ -437,14 +490,20 @@ msgid ""
"subprocess and the :class:`StreamReader` class to read from its standard "
"output."
msgstr ""
"Un exemple utilisant la classe :class:`~asyncio.subprocess.Process` pour "
"contrôler un sous-processus et la classe :class:`StreamReader` pour lire sa "
"sortie standard."
#: library/asyncio-subprocess.rst:347
msgid ""
"The subprocess is created by the :func:`create_subprocess_exec` function::"
msgstr ""
"Le sous-processus est créé par la fonction :func:`create_subprocess_exec` ::"
#: library/asyncio-subprocess.rst:374
msgid ""
"See also the :ref:`same example <asyncio_example_subprocess_proto>` written "
"using low-level APIs."
msgstr ""
"Voir également :ref:`le même exemple <asyncio_example_subprocess_proto>`, "
"écrit en utilisant des API de bas niveau."

View File

@ -113,6 +113,13 @@ msgid ""
"comparisons (``==``) are used internally during unregistration, so function "
"references do not need to have matching identities."
msgstr ""
"Retire *func* de la liste des fonctions à exécuter au moment de l'arrêt de "
"l'interpréteur. :func:`unregister` ne fait rien et reste silencieux si "
"*func* n'a pas été préalablement inscrite. Si *func* a été inscrite plus "
"d'une fois, toutes les occurrences de cette fonction sont retirées de la "
"pile d'appels de :mod:`atexit`. La comparaison d'égalité (``==``) est "
"utilisée dans l'implémentation interne de la désinscription. Les références "
"des fonctions n'ont donc pas besoin d'avoir la même identité."
#: library/atexit.rst:62
msgid "Module :mod:`readline`"

View File

@ -32,33 +32,49 @@ msgid ""
"<bytes-like object>`. All scalar items are integers, unless specified "
"otherwise."
msgstr ""
"Le module :mod:`audioop` permet d'effectuer des opérations utiles sur des "
"fragments sonores. Ceux-ci sont constitués d'échantillons audio, suite "
"d'entiers signés de taille 8, 16, 24 ou 32 bits. Ils sont sauvegardés dans "
"des :term:`objets octet-compatibles <bytes-like object>`. Tous les nombres "
"sont des entiers, sauf mention particulière."
#: library/audioop.rst:19
msgid ""
"Support for 24-bit samples was added. All functions now accept any :term:"
"`bytes-like object`. String input now results in an immediate error."
msgstr ""
"Ajout de la prise en charge d'échantillons 24 bits. Toutes les fonctions "
"acceptent maintenant les :term:`objets octet-compatibles <bytes-like "
"object>`. Une chaîne de caractères reçue en entrée lève immédiatement une "
"erreur."
#: library/audioop.rst:30
msgid ""
"This module provides support for a-LAW, u-LAW and Intel/DVI ADPCM encodings."
msgstr ""
"Ce module prend en charge les encodages de la loi A, de la loi u et les "
"encodages Intel/DVI ADPCM."
#: library/audioop.rst:34
msgid ""
"A few of the more complicated operations only take 16-bit samples, otherwise "
"the sample size (in bytes) is always a parameter of the operation."
msgstr ""
"Mis à part quelques opérations plus complexes ne prenant que des "
"échantillons de 16 bits, la taille de l'échantillon (en octets) est toujours "
"un paramètre de l'opération."
#: library/audioop.rst:37
msgid "The module defines the following variables and functions:"
msgstr ""
msgstr "Le module définit les fonctions et variables suivantes :"
#: library/audioop.rst:42
msgid ""
"This exception is raised on all errors, such as unknown number of bytes per "
"sample, etc."
msgstr ""
"Cette exception est levée pour toutes les erreurs, comme un nombre inconnu "
"d'octets par échantillon, etc."
#: library/audioop.rst:48
msgid ""
@ -67,6 +83,10 @@ msgid ""
"or ``4``. Both fragments should have the same length. Samples are "
"truncated in case of overflow."
msgstr ""
"Renvoie un fragment constitué de l'addition des deux échantillons fournis "
"comme paramètres. *width* est la largeur de l'échantillon en octets, soit "
"``1``, ``2``, ``3`` ou ``4``. Les deux fragments doivent avoir la même "
"longueur. Les échantillons sont tronqués en cas de débordement."
#: library/audioop.rst:55
msgid ""
@ -84,7 +104,7 @@ msgstr ""
#: library/audioop.rst:69
msgid "Return the average over all samples in the fragment."
msgstr ""
msgstr "Renvoie la moyenne prise sur l'ensemble des échantillons du fragment."
#: library/audioop.rst:74
msgid ""
@ -119,7 +139,7 @@ msgstr ""
#: library/audioop.rst:104
msgid "The time taken by this routine is proportional to ``len(fragment)``."
msgstr ""
msgstr "Le temps pris par cette routine est proportionnel à ``len(fragment)``."
#: library/audioop.rst:109
msgid ""
@ -142,11 +162,12 @@ msgstr ""
#: library/audioop.rst:124
msgid "The routine takes time proportional to ``len(fragment)``."
msgstr ""
msgstr "La routine s'exécute en un temps proportionnel à ``len(fragment)``."
#: library/audioop.rst:129
msgid "Return the value of sample *index* from the fragment."
msgstr ""
"Renvoie la valeur de l'échantillon à l'indice *index* dans le fragment."
#: library/audioop.rst:134
msgid ""
@ -176,7 +197,7 @@ msgstr ""
#: library/audioop.rst:155
msgid "Convert samples between 1-, 2-, 3- and 4-byte formats."
msgstr ""
msgstr "Convertit des échantillons pour les formats à 1, 2, 3, et 4 octets."
#: library/audioop.rst:159
msgid ""
@ -190,6 +211,8 @@ msgid ""
"The same, in reverse, has to be applied when converting from 8 to 16, 24 or "
"32 bit width samples."
msgstr ""
"Le même procédé, mais inversé, doit être suivi lorsqu'on exécute une "
"conversion d'échantillons de 8 bits à 16, 24 ou 32 bits."
#: library/audioop.rst:172
msgid ""
@ -203,6 +226,7 @@ msgstr ""
msgid ""
"Return the maximum of the *absolute value* of all samples in a fragment."
msgstr ""
"Renvoie la *valeur absolue* maximale de tous les échantillons du fragment."
#: library/audioop.rst:185
msgid "Return the maximum peak-peak value in the sound fragment."
@ -213,6 +237,8 @@ msgid ""
"Return a tuple consisting of the minimum and maximum values of all samples "
"in the sound fragment."
msgstr ""
"Renvoie un *n*-uplet contenant les valeurs maximale et minimale de tous les "
"échantillons du fragment sonore."
#: library/audioop.rst:196
msgid ""
@ -220,10 +246,13 @@ msgid ""
"by the floating-point value *factor*. Samples are truncated in case of "
"overflow."
msgstr ""
"Renvoie un fragment contenant tous les échantillons du fragment original "
"multipliés par la valeur à décimale *factor*. Les échantillons sont tronqués "
"en cas de débordement."
#: library/audioop.rst:202
msgid "Convert the frame rate of the input fragment."
msgstr ""
msgstr "Transforme la fréquence d'échantillonnage du fragment d'entrée."
#: library/audioop.rst:204
msgid ""
@ -238,15 +267,21 @@ msgid ""
"The *weightA* and *weightB* arguments are parameters for a simple digital "
"filter and default to ``1`` and ``0`` respectively."
msgstr ""
"Les arguments *weightA* et *weightB* sont les paramètres d'un filtre "
"numérique simple et ont comme valeur par défaut ``1`` et ``0``, "
"respectivement."
#: library/audioop.rst:214
msgid "Reverse the samples in a fragment and returns the modified fragment."
msgstr ""
"Inverse les échantillons dans un fragment et renvoie le fragment modifié."
#: library/audioop.rst:219
msgid ""
"Return the root-mean-square of the fragment, i.e. ``sqrt(sum(S_i^2)/n)``."
msgstr ""
"Renvoie la moyenne quadratique du fragment, c'est-à-dire ``sqrt(sum(S_i^2)/"
"n)``."
#: library/audioop.rst:221
msgid "This is a measure of the power in an audio signal."
@ -258,6 +293,9 @@ msgid ""
"multiplied by *lfactor* and the right channel by *rfactor* before adding the "
"two channels to give a mono signal."
msgstr ""
"Transforme un fragment stéréo en fragment mono. Le canal de gauche est "
"multiplié par *lfactor* et le canal de droite par *rfactor* avant "
"d'additionner les deux canaux afin d'obtenir un signal mono."
#: library/audioop.rst:233
msgid ""
@ -265,6 +303,11 @@ msgid ""
"the stereo fragment are computed from the mono sample, whereby left channel "
"samples are multiplied by *lfactor* and right channel samples by *rfactor*."
msgstr ""
"Génère un fragment stéréo à partir d'un fragment mono. Chaque paire "
"d'échantillons dans le fragment stéréo est obtenue à partir de l'échantillon "
"mono de la façon suivante : les échantillons du canal de gauche sont "
"multipliés par *lfactor* et les échantillons du canal de droite, par "
"*rfactor*."
#: library/audioop.rst:240
msgid ""

View File

@ -55,6 +55,8 @@ msgid ""
"The following events are raised internally and do not correspond to any "
"public API of CPython:"
msgstr ""
"Les évènements suivants sont levés en interne et ne correspondent à aucune "
"API publique de CPython:"
#: library/audit_events.rst:27
#, fuzzy
@ -67,61 +69,63 @@ msgstr "Arguments"
#: library/audit_events.rst:29
msgid "_winapi.CreateFile"
msgstr ""
msgstr "_winapi.CreateFile"
#: library/audit_events.rst:29
msgid ""
"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, "
"``flags_and_attributes``"
msgstr ""
"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, "
"``flags_and_attributes``"
#: library/audit_events.rst:33
msgid "_winapi.CreateJunction"
msgstr ""
msgstr "_winapi.CreateJunction"
#: library/audit_events.rst:33
msgid "``src_path``, ``dst_path``"
msgstr ""
msgstr "``src_path``, ``dst_path``"
#: library/audit_events.rst:35
msgid "_winapi.CreateNamedPipe"
msgstr ""
msgstr "_winapi.CreateNamedPipe"
#: library/audit_events.rst:35
msgid "``name``, ``open_mode``, ``pipe_mode``"
msgstr ""
msgstr "``name``, ``open_mode``, ``pipe_mode``"
#: library/audit_events.rst:37
msgid "_winapi.CreatePipe"
msgstr ""
msgstr "_winapi.CreatePipe"
#: library/audit_events.rst:39
msgid "_winapi.CreateProcess"
msgstr ""
msgstr "_winapi.CreateProcess"
#: library/audit_events.rst:39
msgid "``application_name``, ``command_line``, ``current_directory``"
msgstr ""
msgstr "``application_name``, ``command_line``, ``current_directory``"
#: library/audit_events.rst:42
msgid "_winapi.OpenProcess"
msgstr ""
msgstr "_winapi.OpenProcess"
#: library/audit_events.rst:42
msgid "``process_id``, ``desired_access``"
msgstr ""
msgstr "``process_id``, ``desired_access``"
#: library/audit_events.rst:44
msgid "_winapi.TerminateProcess"
msgstr ""
msgstr "_winapi.TerminateProcess"
#: library/audit_events.rst:44
msgid "``handle``, ``exit_code``"
msgstr ""
msgstr "``handle``, ``exit_code``"
#: library/audit_events.rst:46
msgid "ctypes.PyObj_FromPtr"
msgstr ""
msgstr "ctypes.PyObj_FromPtr"
#: library/audit_events.rst:46
msgid "``obj``"

View File

@ -94,7 +94,6 @@ msgstr ""
"ou :exc:`ValueError` si un littéral invalide est rencontré."
#: library/codeop.rst:45
#, fuzzy
msgid ""
"The *symbol* argument determines whether *source* is compiled as a statement "
"(``'single'``, the default), as a sequence of statements (``'exec'``) or as "
@ -102,8 +101,9 @@ msgid ""
"`ValueError` to be raised."
msgstr ""
"L'argument *symbol* détermine si *source* est compilée comme une instruction "
"(``'single'``, par défaut) ou comme une :term:`expression` (``'eval'``). "
"Toute autre valeur lèvera :exc:`ValueError`."
"(``'single'``, par défaut), comme une suite d'instructions (``'exec'``), ou "
"comme une :term:`expression` (``'eval'``). Toute autre valeur lèvera :exc:"
"`ValueError`."
#: library/codeop.rst:52
msgid ""

View File

@ -1589,13 +1589,12 @@ msgstr ""
"et déplacée à la fin ::"
#: library/collections.rst:1151
#, fuzzy
msgid ""
"An :class:`OrderedDict` would also be useful for implementing variants of :"
"func:`functools.lru_cache`:"
msgstr ""
"Un :class:`OrderedDict` peut aussi être utile pour implémenter des variantes "
"de :func:`functools.lru_cache` ::"
"de :func:`functools.lru_cache` :"
#: library/collections.rst:1192
msgid ":class:`UserDict` objects"

View File

@ -303,7 +303,6 @@ msgstr ""
"sont à jour."
#: library/compileall.rst:169
#, fuzzy
msgid ""
"If *rx* is given, its ``search`` method is called on the complete path to "
"each file considered for compilation, and if it returns a true value, the "
@ -312,8 +311,8 @@ msgid ""
msgstr ""
"Si *rx* est donné, sa méthode ``search`` est appelée sur le chemin complet "
"de chaque fichier source, et si elle renvoie une valeur vraie, le fichier "
"est sauté. *rx* sera habituellement une expression régulière (objet ``re."
"Pattern``)."
"est sauté. *rx* sera habituellement une expression régulière (objet :ref:`re."
"Pattern <re-objects>`)."
#: library/compileall.rst:251
msgid ""
@ -471,7 +470,6 @@ msgstr ""
"le fichier source n'existe pas au moment de l'exécution."
#: library/compileall.rst:246
#, fuzzy
msgid ""
"If *rx* is given, its ``search`` method is passed the full path name to the "
"file being compiled, and if it returns a true value, the file is not "
@ -481,8 +479,8 @@ msgid ""
msgstr ""
"Si *rx* est donné, sa méthode ``search`` est appelée sur le chemin complet "
"de chaque fichier source, et si elle renvoie une valeur vraie, le fichier "
"est sauté. *rx* sera habituellement une expression régulière (objet ``re."
"Pattern``)."
"est sauté. *rx* sera habituellement une expression régulière (objet :ref:`re."
"Pattern <re-objects>`)."
#: library/compileall.rst:291
msgid ""

View File

@ -141,7 +141,6 @@ msgid "A short usage example::"
msgstr "Un court exemple d'utilisation ::"
#: library/csv.rst:88
#, fuzzy
msgid ""
"Return a writer object responsible for converting the user's data into "
"delimited strings on the given file-like object. *csvfile* can be any "
@ -160,28 +159,27 @@ msgid ""
"returned from a ``cursor.fetch*`` call. All other non-string data are "
"stringified with :func:`str` before being written."
msgstr ""
"Renvoie un objet transcripteur responsable de convertir les données de "
"l'utilisateur en chaînes délimitées sur l'objet fichier-compatible donné. "
"*csvfile* peut être n'importe quel objet avec une méthode :func:`write`. Si "
"*csvfile* est un fichier, il doit être ouvert avec ``newline=''``. [1]_ Un "
"paramètre *dialect* optionnel peut être fourni pour définir un ensemble de "
"paramètres spécifiques à un dialecte CSV particulier. Il peut s'agir d'une "
"instance de sous-classe de :class:`Dialect` ou de l'une des chaînes "
"renvoyées par la fonction :func:`list_dialects`. Les autres arguments "
"nommés optionnels (*fmtparams*) peuvent être spécifiés pour redéfinir des "
"paramètres de formatage particuliers dans le dialecte courant. Pour des "
"détails complets sur les dialectes et paramètres de formatage, voir la "
"section :ref:`csv-fmt-params`. Pour faciliter au mieux l'interfaçage avec "
"d'autres modules implémentant l'interface *DB*, la valeur :const:`None` est "
"écrite comme une chaîne vide. Bien que ce ne soit pas une transformation "
"réversible, cela simplifie l'exportation de données SQL *NULL* vers des "
"fichiers CSV sans pré-traiter les données renvoyées par un appel à ``cursor."
"fetch*``. Toutes les autres données qui ne sont pas des chaînes de "
"caractères sont transformées en chaînes par un appel à :func:`str` avant "
"d'être écrites."
"Renvoie un transcripteur (objet *writer*) responsable de convertir les "
"données de l'utilisateur en chaînes délimitées sur l'objet fichier-"
"compatible donné. *csvfile* peut être n'importe quel objet avec une "
"méthode :func:`write`. Si *csvfile* est un objet fichier, il doit être "
"ouvert avec ``newline=''``. [1]_ Un paramètre *dialect* optionnel peut être "
"fourni pour définir un ensemble de paramètres spécifiques à un dialecte CSV "
"particulier. Il peut s'agir d'une instance dune sous-classe de :class:"
"`Dialect` ou de l'une des chaînes renvoyées par la fonction :func:"
"`list_dialects`. Les autres arguments nommés optionnels (*fmtparams*) "
"peuvent être spécifiés pour redéfinir des paramètres de formatage "
"particuliers dans le dialecte utilisé. Pour tous les détails sur les "
"dialectes et paramètres de formatage, voir la section :ref:`csv-fmt-params`. "
"Pour faciliter au mieux l'interfaçage avec d'autres modules implémentant "
"l'interface *DB*, la valeur :const:`None` est convertie en une chaîne vide. "
"Bien que ce ne soit pas une transformation réversible, cela simplifie "
"l'exportation de données SQL *NULL* vers des fichiers CSV sans pré-traiter "
"les données renvoyées par un appel à ``cursor.fetch*``. Toutes les autres "
"données qui ne sont pas des chaînes de caractères sont transformées en "
"chaînes par un appel à :func:`str` avant d'être écrites."
#: library/csv.rst:117
#, fuzzy
msgid ""
"Associate *dialect* with *name*. *name* must be a string. The dialect can "
"be specified either by passing a sub-class of :class:`Dialect`, or by "
@ -192,8 +190,8 @@ msgstr ""
"Associe *dialect* avec *name*. *name* doit être une chaîne de caractères. "
"Le dialecte peut être spécifié en passant une instance d'une sous-classe de :"
"class:`Dialect`, des arguments nommés *fmtparams*, ou les deux, avec les "
"arguments nommés redéfinissant les paramètres du dialecte. Pour des détails "
"complets sur les dialectes et paramètres de formatage, voir la section :ref:"
"arguments nommés redéfinissant les paramètres du dialecte. Pour tous les "
"détails sur les dialectes et paramètres de formatage, voir la section :ref:"
"`csv-fmt-params`."
#: library/csv.rst:126
@ -326,6 +324,12 @@ msgid ""
"subtly different CSV data. :class:`Dialect` instances define how :class:"
"`reader` and :class:`writer` instances behave."
msgstr ""
"La classe :class:`Dialect` est une classe dont les attributs contiennent des "
"informations sur la façon de gérer les guillemets, les espaces, les "
"délimiteurs, etc. En raison de labsence dune spécification CSV stricte, "
"différentes applications produisent des données CSV subtilement différentes. "
"Les instances :class:`Dialect` définissent le comportement des instances :"
"class:`reader` et :class:`writer`."
#: library/csv.rst:234
msgid ""
@ -333,6 +337,10 @@ msgid ""
"and they can be registered with specific :class:`reader` and :class:`writer` "
"classes through their initializer (``__init__``) functions like this::"
msgstr ""
"Tous les noms disponibles de :class:`Dialect` sont renvoyés par :func:"
"`list_dialects`, et ils peuvent être enregistrés avec des classes :class:"
"`reader` et :class:`writer` spécifiques en passant par leur fonction "
"dinitialisation (``__init__``) comme ici :"
#: library/csv.rst:247
msgid ""
@ -597,7 +605,6 @@ msgstr ""
"la fonction :func:`reader`) ont les méthodes publiques suivantes :"
#: library/csv.rst:418
#, fuzzy
msgid ""
"Return the next row of the reader's iterable object as a list (if the object "
"was returned from :func:`reader`) or a dict (if it is a :class:`DictReader` "
@ -606,8 +613,9 @@ msgid ""
msgstr ""
"Renvoie la ligne suivante de l'objet itérable du lecteur en tant que liste "
"(si l'objet est renvoyé depuis :func:`reader`) ou dictionnaire (si l'objet "
"est un :class:`DictReader`), analysé suivant le dialecte courant. "
"Généralement, vous devez appeler la méthode à l'aide de ``next(reader)``."
"est un :class:`DictReader`), analysé suivant la classe :class:`Dialect` "
"utilisée. Généralement, vous devez appeler la méthode à l'aide de "
"``next(reader)``."
#: library/csv.rst:424
msgid "Reader objects have the following public attributes:"
@ -665,15 +673,14 @@ msgstr ""
"(en supposant qu'ils supportent les nombres complexes)."
#: library/csv.rst:461
#, fuzzy
msgid ""
"Write the *row* parameter to the writer's file object, formatted according "
"to the current :class:`Dialect`. Return the return value of the call to the "
"*write* method of the underlying file object."
msgstr ""
"Écrit le paramètre *row* vers le fichier associé au transcripteur, formaté "
"selon le dialecte courant. Renvoie la valeur de retour de l'appel à la "
"méthode *write* de l'objet fichier sous-jacent."
"Écrit le paramètre *row* vers lobjet fichier du transcripteur, formaté "
"selon la classe :class:`Dialect` utilisée. Renvoie la valeur de retour de "
"l'appel à la méthode *write* de l'objet fichier sous-jacent."
#: library/csv.rst:465
msgid "Added support of arbitrary iterables."

View File

@ -36,15 +36,14 @@ msgid "ctypes tutorial"
msgstr "Didacticiel de *ctypes*"
#: library/ctypes.rst:21
#, fuzzy
msgid ""
"Note: The code samples in this tutorial use :mod:`doctest` to make sure that "
"they actually work. Since some code samples behave differently under Linux, "
"Windows, or macOS, they contain doctest directives in comments."
msgstr ""
"Remarque : Les exemples de code de ce didacticiel utilisent :mod:`doctest` "
"Remarque : les exemples de code de ce didacticiel utilisent :mod:`doctest` "
"pour s'assurer de leur propre bon fonctionnement. Vu que certains de ces "
"exemples ont un comportement différent en Linux, Windows ou Mac OS X, ils "
"exemples ont un comportement différent en Linux, Windows ou macOS, ils "
"contiennent des directives *doctest* dans les commentaires."
#: library/ctypes.rst:25
@ -1613,12 +1612,11 @@ msgid "Here are some examples::"
msgstr "Voici quelques exemples :"
#: library/ctypes.rst:1291
#, fuzzy
msgid ""
"On macOS, :func:`find_library` tries several predefined naming schemes and "
"paths to locate the library, and returns a full pathname if successful::"
msgstr ""
"Sous OS X, :func:`find_library` regarde dans des chemins et conventions de "
"Sous macOS, :func:`find_library` regarde dans des chemins et conventions de "
"chemins prédéfinies pour trouver la bibliothèque et en renvoie le chemin "
"complet si elle la trouve :"
@ -1680,12 +1678,22 @@ msgid ""
"which DLL is not found, you need to find the list of dependent DLLs and "
"determine which one is not found using Windows debugging and tracing tools."
msgstr ""
"En Windows, créer une instance de :class:`CDLL` peut échouer, même si une "
"DLL du bon nom existe. Quand une des dépendances de la DLL à charger ne peut "
"pas être trouvée, une :exc:`OSError` est levée avec le message *\"[WinError "
"126] The specified module could not be found\".* Ce message d'erreur ne "
"contient pas le nom de la DLL manquante car l'API Windows ne fournit pas "
"cette information. Cela rend l'erreur délicate à analyser ; pour la "
"résoudre, il faut lister toutes les dépendances de la DLL et trouver celle "
"qui manque en utilisant des outils de débogage et de traçage Windows."
#: library/ctypes.rst:1341
msgid ""
"`Microsoft DUMPBIN tool <https://docs.microsoft.com/cpp/build/reference/"
"dependents>`_ -- A tool to find DLL dependents."
msgstr ""
"`DUMPBIN <https://docs.microsoft.com/cpp/build/reference/dependents>`_ — un "
"utilitaire Microsoft pour lister les dépendances d'une DLL."
#: library/ctypes.rst:1347
msgid ""
@ -1884,7 +1892,7 @@ msgstr ""
#: library/ctypes.rst:1456
msgid "The system handle used to access the library."
msgstr ""
msgstr "Le lien système d'accès à la bibliothèque."
#: library/ctypes.rst:1461
msgid "The name of the library passed in the constructor."
@ -1969,14 +1977,12 @@ msgstr ""
"utiliser."
#: library/ctypes.rst:1521
#, fuzzy
msgid ""
"Raises an :ref:`auditing event <auditing>` ``ctypes.dlopen`` with argument "
"``name``."
msgstr ""
"Charger une bibliothèque à l'aide d'un de ces objets avec en argument "
"``name``, le nom de la bibliothèque (une chaîne de caractères), lève un :ref:"
"`évènement d'audit <auditing>` ``ctypes.dlopen``."
"Lève un :ref:`évènement d'audit <auditing>` ``ctypes.dlopen``, avec en "
"argument ``name``."
#: library/ctypes.rst:1523
msgid ""
@ -2247,6 +2253,15 @@ msgid ""
"decorator factories, and as such, be applied to functions through the "
"``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples."
msgstr ""
"Il est aussi possible de créer des fonctions externes en instanciant des "
"prototypes de fonction. Les prototypes de fonction ressemblent beaucoup aux "
"prototypes de fonctions en C ; ils décrivent une fonction (type de retour, "
"type des arguments, convention d'appel) sans préciser son implémentation. "
"Les fabriques de fonctions prennent en entrée le type de retour et le type "
"des arguments de la fonction, et peuvent être utilisées comme des "
"décorateurs-fabrique et ainsi s'appliquer à des fonctions avec la syntaxe "
"``@décorateur``. Ceci est illustré dans la section :ref:`ctypes-callback-"
"functions`."
#: library/ctypes.rst:1653
msgid ""
@ -2256,6 +2271,11 @@ msgid ""
"`errno` variable is exchanged with the real :data:`errno` value before and "
"after the call; *use_last_error* does the same for the Windows error code."
msgstr ""
"Renvoie un prototype de fonction qui crée des fonctions qui suivent la "
"convention d'appel standard C. Les fonctions libèreront le GIL lors de leur "
"exécution. Si *use_errno* est vrai, la copie privée *ctypes* de la variable "
"système :data:`errno` est échangée avec la vraie valeur de :data:`errno` "
"avant et après l'appel ; *use_last_error* a le même effet sous Windows."
#: library/ctypes.rst:1663
msgid ""
@ -2269,6 +2289,9 @@ msgid ""
"The returned function prototype creates functions that use the Python "
"calling convention. The function will *not* release the GIL during the call."
msgstr ""
"Renvoie un prototype de fonction qui crée des fonctions qui suivent la "
"convention d'appel Python. Les fonctions ne libèreront *pas* le GIL lors de "
"leur exécution."
#: library/ctypes.rst:1674
msgid ""
@ -2276,16 +2299,21 @@ msgid ""
"in different ways, depending on the type and number of the parameters in the "
"call:"
msgstr ""
"Il y a plusieurs façons d'instancier les prototypes de fonction créés par "
"ces fabriques, selon le type et le nombre de paramètres de l'appel :"
#: library/ctypes.rst:1682
msgid ""
"Returns a foreign function at the specified address which must be an integer."
msgstr ""
"Renvoie une fonction externe sur l'adresse donnée sous la forme d'un entier."
#: library/ctypes.rst:1689
msgid ""
"Create a C callable function (a callback function) from a Python *callable*."
msgstr ""
"Crée une fonction appelable depuis du code C (une fonction de rappel) d'un "
"appelable Python donné en paramètre."
#: library/ctypes.rst:1696
msgid ""
@ -2294,6 +2322,11 @@ msgid ""
"exported function as string, or the ordinal of the exported function as "
"small integer. The second item is the shared library instance."
msgstr ""
"Renvoie une fonction externe exposée par une bibliothèque partagée. "
"*func_spec* est un couple ``(nom_ou_indice, bibliothèque)``. Le premier "
"élément est le nom de la fonction à passer comme une chaîne ou bien son "
"indice (dans la table des symboles) à passer comme un entier. Le second "
"élément est l'instance de la bibliothèque partagée."
#: library/ctypes.rst:1706
msgid ""
@ -2302,6 +2335,11 @@ msgid ""
"is name of the COM method. *iid* is an optional pointer to the interface "
"identifier which is used in extended error reporting."
msgstr ""
"Renvoie une fonction qui appelle une méthode COM. *vtbl_index* est l'indice "
"de la fonction dans la table virtuelle, un petit entier positif. *name* est "
"le nom de la méthode COM. *iid* est un pointeur optionnel vers "
"l'identificateur de plateforme, qui est utilisé dans la remontée d'erreurs "
"étendue."
#: library/ctypes.rst:1711
msgid ""
@ -2309,28 +2347,39 @@ msgid ""
"COM interface as first argument, in addition to those parameters that are "
"specified in the :attr:`argtypes` tuple."
msgstr ""
"Les méthodes COM ont une convention d'appel particulière : elles requièrent "
"de passer un pointeur vers l'interface COM en premier argument, en sus des "
"arguments passés dans le *n*-uplet :attr:`argtypes`."
#: library/ctypes.rst:1715
msgid ""
"The optional *paramflags* parameter creates foreign function wrappers with "
"much more functionality than the features described above."
msgstr ""
"Le paramètre optionnel *paramflags* crée une fabrique de fonction externes "
"avec des fonctionnalités supplémentaires par rapport à celles décrites ci-"
"dessus."
#: library/ctypes.rst:1718
msgid "*paramflags* must be a tuple of the same length as :attr:`argtypes`."
msgstr ""
msgstr "*paramflags* est un *n*-uplet de la même taille que :attr:`argtypes`."
#: library/ctypes.rst:1720
msgid ""
"Each item in this tuple contains further information about a parameter, it "
"must be a tuple containing one, two, or three items."
msgstr ""
"Chaque élément de ce *n*-uplet contient des informations supplémentaires sur "
"le paramètre correspondant. Ce doit être aussi un *n*-uplet, avec un, deux "
"ou trois éléments."
#: library/ctypes.rst:1723
msgid ""
"The first item is an integer containing a combination of direction flags for "
"the parameter:"
msgstr ""
"Le premier élément est un entier qui contient une combinaison de drapeaux "
"qui précisent le sens des paramètres (entrée ou sortie) :"
#: library/ctypes.rst:1727
msgid "1"
@ -2338,7 +2387,7 @@ msgstr "1"
#: library/ctypes.rst:1727
msgid "Specifies an input parameter to the function."
msgstr ""
msgstr "Paramètre d'entrée."
#: library/ctypes.rst:1730
msgid "2"
@ -2346,7 +2395,7 @@ msgstr "2"
#: library/ctypes.rst:1730
msgid "Output parameter. The foreign function fills in a value."
msgstr ""
msgstr "Paramètre de sortie. La fonction externe va modifier cette valeur."
#: library/ctypes.rst:1733
msgid "4"
@ -2354,17 +2403,21 @@ msgstr "4"
#: library/ctypes.rst:1733
msgid "Input parameter which defaults to the integer zero."
msgstr ""
msgstr "Paramètre d'entrée, valant 0 par défaut."
#: library/ctypes.rst:1735
msgid ""
"The optional second item is the parameter name as string. If this is "
"specified, the foreign function can be called with named parameters."
msgstr ""
"Le deuxième élément (optionnel) est une chaîne de caractères représentant le "
"nom du paramètre. Si cet élément est donné, la fonction externe pourra être "
"appelée avec des paramètres nommés."
#: library/ctypes.rst:1738
msgid "The optional third item is the default value for this parameter."
msgstr ""
"Le troisième élément (optionnel) est la valeur par défaut du paramètre."
#: library/ctypes.rst:1740
msgid ""
@ -2372,14 +2425,20 @@ msgid ""
"so that it supports default parameters and named arguments. The C "
"declaration from the windows header file is this::"
msgstr ""
"L'exemple suivant montre comment encapsuler la fonction Windows "
"``MessageBoxW`` afin que celle-ci prenne en charge des paramètres par défaut "
"et des arguments nommés. Sa déclaration C dans le fichier d'en-tête des "
"fenêtres est ::"
#: library/ctypes.rst:1774
msgid "Here is the wrapping with :mod:`ctypes`::"
msgstr ""
msgstr "L'encapsulation :mod:`ctypes` correspondante est alors ::"
#: library/ctypes.rst:1759
msgid "The ``MessageBox`` foreign function can now be called in these ways::"
msgstr ""
"La fonction ``MessageBox`` peut désormais être appelée des manières "
"suivantes ::"
#: library/ctypes.rst:1765
msgid ""
@ -2388,6 +2447,9 @@ msgid ""
"copying them into ``RECT`` structure that the caller has to supply. Here is "
"the C declaration::"
msgstr ""
"L'exemple qui suit traite des paramètres en sortie. La fonction win32 "
"``GetWindowRect`` donne les dimensions d'une fenêtre en les copiant dans une "
"structure ``RECT`` que l'appelant doit fournir. Sa déclaration en C est ::"
#: library/ctypes.rst:1783
msgid ""
@ -2396,6 +2458,11 @@ msgid ""
"parameter values when there are more than one, so the GetWindowRect function "
"now returns a RECT instance, when called."
msgstr ""
"Les fonctions avec des paramètres en sortie renvoient automatiquement la "
"valeur du paramètre de sortie s'il n'y en a qu'un seul, ou un *n*-uplet avec "
"les valeurs de sortie de chaque paramètre s'il y en a plusieurs. Ici, la "
"fonction *GetWindowRect* renvoie donc une instance de *RECT* quand elle est "
"appelée."
#: library/ctypes.rst:1788
msgid ""
@ -2405,6 +2472,11 @@ msgid ""
"function could do the error checking, and raises an exception when the api "
"call failed::"
msgstr ""
"Il est possible de combiner des paramètres en sortie avec le protocole :attr:"
"`errcheck` pour post-traiter les sorties et faire de la vérification "
"d'erreur. La fonction de l'API win32 ``GetWindowRect`` renvoie un ``BOOL`` "
"pour indiquer le succès ou l'échec de l'exécution, donc cette fonction peut "
"vérifier le résultat et lever une exception quand l'appel à l'API a échoué ::"
#: library/ctypes.rst:1801
msgid ""
@ -2414,6 +2486,12 @@ msgid ""
"instead of a ``RECT`` instance, you can retrieve the fields in the function "
"and return them instead, the normal processing will no longer take place::"
msgstr ""
"Si la fonction :attr:`errcheck` renvoie le *n*-uplet passé en paramètre sans "
"rien y changer, :mod:`ctypes` continue l'exécution habituelle des paramètres "
"en sortie. Si on préfère renvoyer un *n*-uplet de coordonnées au lieu de "
"renvoyer une instance de ``RECT``, il faut récupérer les champs "
"correspondants et les renvoyer en retour. Dans ce cas, l'exécution "
"habituelle n'a plus lieu ::"
#: library/ctypes.rst:1820
msgid "Utility functions"

View File

@ -36,19 +36,18 @@ msgstr ""
"lutilisateur. Ces classes ont été décrites dans la :pep:`557`."
#: library/dataclasses.rst:19
#, fuzzy
msgid ""
"The member variables to use in these generated methods are defined using :"
"pep:`526` type annotations. For example, this code::"
msgstr ""
"Les variables membres à utiliser dans ces méthodes générées sont définies en "
"utilisant les annotations de type :pep:`526`. Par exemple, ce code ::"
"utilisant les annotations de type :pep:`526`. Par exemple ::"
#: library/dataclasses.rst:34
#, fuzzy
msgid "will add, among other things, a :meth:`__init__` that looks like::"
msgstr ""
"Ajoute, entre autres choses, une méthode :meth:`__init__` qui ressemble à ::"
"ce code ajoute à la classe, entre autres choses, une méthode :meth:"
"`__init__` qui ressemble à ::"
#: library/dataclasses.rst:41
msgid ""
@ -73,18 +72,17 @@ msgstr ""
"décrit ci-dessous."
#: library/dataclasses.rst:54
#, fuzzy
msgid ""
"The :func:`dataclass` decorator examines the class to find ``field``\\s. A "
"``field`` is defined as a class variable that has a :term:`type annotation "
"<variable annotation>`. With two exceptions described below, nothing in :"
"func:`dataclass` examines the type specified in the variable annotation."
msgstr ""
"Le décorateur :func:`dataclass` examine la classe pour trouver des "
"``champs``\\s. Un ``champ`` est défini comme une variable de classe qui "
"possède une :term:`annotation de type <variable annotation>`. À deux "
"exceptions près décrites plus bas, il ny a rien dans :func:`dataclass` qui "
"examine le type spécifié dans lannotation de variable."
"Le décorateur :func:`dataclass` examine la classe pour trouver des champs. "
"Un champ est défini comme une variable de classe qui possède une :term:"
"`annotation de type <variable annotation>`. À deux exceptions près décrites "
"plus bas, :func:`dataclass` ne prend pas en considération le type donné dans "
"l'annotation."
#: library/dataclasses.rst:60
msgid ""
@ -95,7 +93,6 @@ msgstr ""
"champs dans la définition de la classe."
#: library/dataclasses.rst:63
#, fuzzy
msgid ""
"The :func:`dataclass` decorator will add various \"dunder\" methods to the "
"class, described below. If any of the added methods already exist in the "
@ -103,11 +100,10 @@ msgid ""
"decorator returns the same class that it is called on; no new class is "
"created."
msgstr ""
"Le décorateur :func:`dataclass` ajoute diverses méthodes « spéciales » à la "
"Le décorateur :func:`dataclass` ajoute diverses méthodes spéciales à la "
"classe, décrites ci-après. Si lune des méthodes ajoutées existe déjà dans "
"la classe, le comportement dépend des paramètres, comme documenté ci-"
"dessous. Le décorateur renvoie la classe sur laquelle il est appelé ; il ny "
"a pas de nouvelle classe créée."
"la classe, le comportement dépend des paramètres. Le décorateur renvoie la "
"classe sur laquelle il est appelé ; aucune nouvelle classe n'est créée."
#: library/dataclasses.rst:69
msgid ""
@ -243,7 +239,6 @@ msgstr ""
"de :meth:`__hash__`."
#: library/dataclasses.rst:139
#, fuzzy
msgid ""
"If :meth:`__hash__` is not explicitly defined, or if it is set to ``None``, "
"then :func:`dataclass` *may* add an implicit :meth:`__hash__` method. "
@ -254,11 +249,12 @@ msgid ""
msgstr ""
"Si :meth:`__hash__` nest pas défini explicitement, ou sil a pour valeur "
"``None``, alors :func:`dataclass` *peut* ajouter une méthode :meth:"
"`__hash__` implicite. Bien que ce ne soit pas recommandé,, vous pouvez "
"`__hash__` implicite. Bien que ce ne soit pas recommandé, vous pouvez "
"forcer :func:`dataclass` à créer une méthode :meth:`__hash__` en utilisant "
"``unsafe_hash=True``. Cela pourrait être nécessaire si votre classe est "
"logiquement immuable mais quune mutation est tout de même possible. Cest "
"un cas très particulier qui doit être considéré avec la plus grande prudence."
"logiquement immuable mais quune mutation est tout de même possible. Il "
"s'agit là d'un cas particulier qui doit être considéré avec la plus grande "
"prudence."
#: library/dataclasses.rst:146
msgid ""
@ -292,14 +288,13 @@ msgstr ""
"basé sur les id)."
#: library/dataclasses.rst:159
#, fuzzy
msgid ""
"``frozen``: If true (the default is ``False``), assigning to fields will "
"generate an exception. This emulates read-only frozen instances. If :meth:"
"`__setattr__` or :meth:`__delattr__` is defined in the class, then :exc:"
"`TypeError` is raised. See the discussion below."
msgstr ""
"``frozen``: Si vrai (faux par défaut), assigner une valeur à un champ lèvera "
"*frozen* : si vrai (faux par défaut), assigner une valeur à un champ lève "
"une exception. Cela simule le comportement des instances figées en lecture "
"seule. Si la méthode :meth:`__setattr__` ou :meth:`__delattr__` est définie "
"sur la classe, alors une :exc:`TypeError` est levée. Voir la discussion ci-"
@ -322,7 +317,6 @@ msgstr ""
"la méthode générée :meth:`__init__`, qui est définie comme suit ::"
#: library/dataclasses.rst:177
#, fuzzy
msgid ""
":exc:`TypeError` will be raised if a field without a default value follows a "
"field with a default value. This is true whether this occurs in a single "
@ -330,8 +324,7 @@ msgid ""
msgstr ""
"Une :exc:`TypeError` est levée si un champ sans valeur par défaut est défini "
"après un champ avec une valeur par défaut. Cest le cas que ce soit dans "
"une seule classe, mais également si cest le résultat dun héritage de "
"classes."
"une seule classe ou si cest le résultat dun héritage de classes."
#: library/dataclasses.rst:183
msgid ""
@ -341,6 +334,11 @@ msgid ""
"replace the default field value with a call to the provided :func:`field` "
"function. For example::"
msgstr ""
"Dans les cas les plus simples et courants, ce qui a été décrit jusqu'ici "
"suffit. Cependant, les classes de données possèdent des fonctionnalités "
"supplémentaires fondées sur des métadonnées propres à chaque champ. Pour "
"remplir ces métadonnées, il suffit de mettre un appel à la fonction :func:"
"`field` à la place de la valeur par défaut, comme dans cet exemple :"
#: library/dataclasses.rst:196
msgid ""
@ -352,7 +350,7 @@ msgstr ""
#: library/dataclasses.rst:202
msgid "The parameters to :func:`field` are:"
msgstr ""
msgstr "Les paramètres de :func:`field` sont :"
#: library/dataclasses.rst:204
msgid ""
@ -360,6 +358,9 @@ msgid ""
"This is needed because the :meth:`field` call itself replaces the normal "
"position of the default value."
msgstr ""
"*default* : s'il est fourni, il devient la valeur par défaut du champ. "
"L'appel à :meth:`field` est mis à la place normale de la valeur par défaut, "
"d'où la nécessité de ce paramètre."
#: library/dataclasses.rst:208
msgid ""
@ -369,24 +370,36 @@ msgid ""
"discussed below. It is an error to specify both ``default`` and "
"``default_factory``."
msgstr ""
"*default_factory* : s'il est fourni, ce doit être un objet appelable sans "
"argument. Il est alors appelé à chaque fois qu'il faut une valeur par défaut "
"pour le champ. Ceci permet, entre autres choses, de définir des champs dont "
"les valeurs par défaut sont muables. Une erreur se produit si *default* et "
"*default_factory* sont donnés tous les deux."
#: library/dataclasses.rst:214
msgid ""
"``init``: If true (the default), this field is included as a parameter to "
"the generated :meth:`__init__` method."
msgstr ""
"*init* : si vrai (par défaut), la méthode :meth:`__init__` générée possède "
"un paramètre correspondant à ce champ."
#: library/dataclasses.rst:217
msgid ""
"``repr``: If true (the default), this field is included in the string "
"returned by the generated :meth:`__repr__` method."
msgstr ""
"*repr* : si vrai (par défaut), le champ est inclus dans les chaînes "
"construites par la méthode :meth:`__repr__` générée."
#: library/dataclasses.rst:220
msgid ""
"``compare``: If true (the default), this field is included in the generated "
"equality and comparison methods (:meth:`__eq__`, :meth:`__gt__`, et al.)."
msgstr ""
"*compare* : si vrai (par défaut), le champ est considéré dans les "
"comparaisons d'égalité et d'inégalité dans les méthodes générées :meth:"
"`__eq__`, :meth:`__gt__`, etc."
#: library/dataclasses.rst:224
msgid ""
@ -396,6 +409,12 @@ msgid ""
"field should be considered in the hash if it's used for comparisons. "
"Setting this value to anything other than ``None`` is discouraged."
msgstr ""
"*hash* : ce paramètre est un booléen ou ``None``. La valeur ``False`` force "
"la prise en compte du champ dans la méthode :meth:`__hash__` générée, alors "
"que ``False`` force son exclusion. ``None`` revient à mettre la même valeur "
"que *compare*, ce qui est en général correct : il faut inclure dans le "
"hachage les champs employés pour les comparaisons. Il est déconseillé de "
"mettre ce paramètre à autre chose que ``None``."
#: library/dataclasses.rst:231
msgid ""
@ -405,6 +424,12 @@ msgid ""
"hash value. Even if a field is excluded from the hash, it will still be "
"used for comparisons."
msgstr ""
"Cependant, une raison légitime de mettre *hash* à ``False`` alors que "
"*compare* est à ``True`` est la concourance de trois facteurs : le champ est "
"coûteux à hacher ; il est nécessaire pour les comparaisons d'égalité ; et il "
"y a déjà d'autres champs qui participent au hachage des instances. À ce "
"moment, on peut alors se passer du champ dans le hachage tout en le faisant "
"participer aux comparaisons."
#: library/dataclasses.rst:237
msgid ""
@ -415,6 +440,10 @@ msgid ""
"Multiple third-parties can each have their own key, to use as a namespace in "
"the metadata."
msgstr ""
"*metadata* : ce paramètre est un tableau associatif (*mapping* en anglais). "
"La valeur par défaut de ``None`` est prise comme un dictionnaire vide. Le "
"tableau associatif devient accessible sur l'objet :class:`Field`, sous la "
"forme d'un :func:`~types.MappingProxyType` afin qu'il soit en lecture seule."
#: library/dataclasses.rst:245
msgid ""
@ -426,12 +455,22 @@ msgid ""
"fields, just as if the default value itself were specified. For example, "
"after::"
msgstr ""
"Si la valeur par défaut d'un champ est donnée dans un appel à :func:`field` "
"(et pas directement), l'attribut correspondant de la classe est remplacé par "
"cette valeur. Si le paramètre *default* n'est pas passé, l'attribut est "
"simplement supprimé. De cette manière, après le passage du décorateur :func:"
"`dataclass`, les attributs de la classe contiennent les valeurs par défaut "
"des champs exactement comme si elles avaient été définies directement. Par "
"exemple :"
#: library/dataclasses.rst:261
msgid ""
"The class attribute ``C.z`` will be ``10``, the class attribute ``C.t`` will "
"be ``20``, and the class attributes ``C.x`` and ``C.y`` will not be set."
msgstr ""
"Après l'exécution de ce code, l'attribut de classe ``C.z`` vaut ``10`` et "
"l'attribut ``C.t`` vaut ``20``, alors que les attributs ``C.x`` et ``C.y`` "
"n'existent pas."
#: library/dataclasses.rst:267
msgid ""
@ -440,14 +479,19 @@ msgid ""
"method (see below). Users should never instantiate a :class:`Field` object "
"directly. Its documented attributes are:"
msgstr ""
"Les objets :class:`Field` contiennent des informations sur les champs. Ils "
"sont créés en interne, et on y accède à l'aide de la méthode au niveau du "
"module :func:`fields` (voir plus bas). Les utilisateurs ne doivent jamais "
"instancier un objet :class:`Field` eux-mêmes. Les attributs documentés sont "
"les suivants :"
#: library/dataclasses.rst:272
msgid "``name``: The name of the field."
msgstr ""
msgstr "*name* : le nom du champ ;"
#: library/dataclasses.rst:274
msgid "``type``: The type of the field."
msgstr ""
msgstr "*type* : le type associé au champ par l'annotation ;"
#: library/dataclasses.rst:276
msgid ""
@ -461,6 +505,8 @@ msgid ""
"Other attributes may exist, but they are private and must not be inspected "
"or relied on."
msgstr ""
"D'autres attributs peuvent exister, mais ils sont privés et ne sont pas "
"censés être inspectés. Le code ne doit jamais reposer sur eux."
#: library/dataclasses.rst:285
msgid ""
@ -469,6 +515,11 @@ msgid ""
"Raises :exc:`TypeError` if not passed a dataclass or instance of one. Does "
"not return pseudo-fields which are ``ClassVar`` or ``InitVar``."
msgstr ""
"Renvoie un *n*-uplet d'objets :class:`Field` correspondant aux champs de "
"l'argument, à l'exclusion des pseudo-champs ``ClassVar`` ou ``InitVar``. "
"L'argument peut être soit une classe de données, soit une instance d'une "
"telle classe ; si ce n'est pas le cas, une exception :exc:`TypeError` est "
"levée."
#: library/dataclasses.rst:292
msgid ""
@ -477,20 +528,31 @@ msgid ""
"``name: value`` pairs. dataclasses, dicts, lists, and tuples are recursed "
"into. Other objects are copied with :func:`copy.deepcopy`."
msgstr ""
"Convertit la classe de données ``obj`` en un dictionnaire (en utilisant la "
"fonction ``dict_factory``). Les clés et valeurs proviennent directement des "
"champs. Les dictionnaires, listes, *n*-uplets et instances de classes de "
"données sont parcourus récursivement. Les autres objets sont copiés avec :"
"func:`copy.deepcopy`."
#: library/dataclasses.rst:298
msgid "Example of using :func:`asdict` on nested dataclasses::"
msgstr ""
"Exemple d'utilisation de :func:`asdict` sur des classes de données "
"imbriquées ::"
#: library/dataclasses.rst:335
msgid "To create a shallow copy, the following workaround may be used::"
msgstr ""
"Pour créer une copie superficielle, la solution de contournement suivante "
"peut être utilisée ::"
#: library/dataclasses.rst:319
msgid ""
":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass "
"instance."
msgstr ""
":func:`asdict` lève :exc:`TypeError` si ``obj`` n'est pas une instance d'une "
"classe de données."
#: library/dataclasses.rst:324
msgid ""
@ -499,16 +561,23 @@ msgid ""
"values. dataclasses, dicts, lists, and tuples are recursed into. Other "
"objects are copied with :func:`copy.deepcopy`."
msgstr ""
"Convertit l'instance d'une classe de données ``obj`` en un *n*-uplet (en "
"utilisant la fonction ``tuple_factory``). Chaque classe de données est "
"convertie vers un *n*-uplet des valeurs de ses champs. Cette fonction agit "
"récursivement sur les dictionnaires, listes et *n*-uplets. Les autres objets "
"sont copiés avec :func:`copy.deepcopy`."
#: library/dataclasses.rst:330
msgid "Continuing from the previous example::"
msgstr ""
msgstr "Pour continuer l'exemple précédent :"
#: library/dataclasses.rst:339
msgid ""
":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass "
"instance."
msgstr ""
":func:`astuple` lève :exc:`TypeError` si ``obj`` n'est pas une instance "
"d'une classe de données."
#: library/dataclasses.rst:344
msgid ""
@ -529,10 +598,14 @@ msgid ""
"`dataclass` function to convert that class to a dataclass. This function is "
"provided as a convenience. For example::"
msgstr ""
"Cette fonction est pratique mais pas absolument nécessaire, puisqu'il suffit "
"de créer par un moyen quelconque une classe avec l'attribut "
"``__annotation__`` et de lui appliquer la fonction :func:`dataclass`, qui la "
"convertit en une classe de données. Par exemple, ceci :"
#: library/dataclasses.rst:365
msgid "Is equivalent to::"
msgstr ""
msgstr "est équivalent à ::"
#: library/dataclasses.rst:378
msgid ""
@ -541,6 +614,10 @@ msgid ""
"`TypeError`. If values in ``changes`` do not specify fields, raises :exc:"
"`TypeError`."
msgstr ""
"Crée un nouvel objet du même type que ``obj`` en affectant aux champs les "
"valeurs données par ``changes``. Si ``obj`` n'est pas une classe de "
"données, :exc:`TypeError` est levée. Si une clé dans ``changes`` ne "
"correspond à aucun champ de l'instance, :exc:`TypeError` est levée."
#: library/dataclasses.rst:383
msgid ""
@ -548,6 +625,9 @@ msgid ""
"of the dataclass. This ensures that :meth:`__post_init__`, if present, is "
"also called."
msgstr ""
"L'objet renvoyé est créé à l'aide de la méthode :meth:`__init__` de la "
"classe de données, ce qui garantit que :meth:`__post_init__` est appelée (si "
"elle existe)."
#: library/dataclasses.rst:387
msgid ""
@ -555,12 +635,17 @@ msgid ""
"on the call to :func:`replace` so that they can be passed to :meth:"
"`__init__` and :meth:`__post_init__`."
msgstr ""
"Si un champ d'initialisation (voir plus bas) n'a pas de valeur par défaut, "
"il faut l'inclure dans l'appel à :func:`replace` afin qu'il soit passé à :"
"meth:`__init__` et :meth:`__post_init__`."
#: library/dataclasses.rst:391
msgid ""
"It is an error for ``changes`` to contain any fields that are defined as "
"having ``init=False``. A :exc:`ValueError` will be raised in this case."
msgstr ""
"Si une clé de *changes* correspond à un champ défini avec ``init=False``, :"
"exc:`ValueError` est levée."
#: library/dataclasses.rst:395
msgid ""
@ -572,12 +657,21 @@ msgid ""
"perhaps a custom ``replace()`` (or similarly named) method which handles "
"instance copying."
msgstr ""
"Prenez garde aux champs définis avec ``init=False`` dans un appel à :func:"
"`replace`. Ils ne sont pas copiés automatiquement de l'instance source. "
"C'est le rôle de :meth:`__post_init__` de les initialiser  ou pas. Les "
"champs avec ``init=False`` doivent rarement être utilisés et seulement à bon "
"escient. Si vous en avez, il peut être sage de traiter la copie des "
"instances par des constructeurs de classe alternatifs, ou bien une méthode "
"personnalisée ``replace()`` (ou un nom similaire)."
#: library/dataclasses.rst:406
msgid ""
"Return ``True`` if its parameter is a dataclass or an instance of one, "
"otherwise return ``False``."
msgstr ""
"Renvoie ``True`` si l'argument est soit une classe de données, soit une "
"instance d'une telle classe. Sinon, renvoie ``False``."
#: library/dataclasses.rst:409
msgid ""
@ -585,10 +679,13 @@ msgid ""
"dataclass itself), then add a further check for ``not isinstance(obj, "
"type)``::"
msgstr ""
"Pour vérifier qu'un objet *obj* est une instance d'une classe de données, et "
"non pas lui-même une classe de données, ajoutez le test ``not "
"isinstance(obj, type)`` ::"
#: library/dataclasses.rst:417
msgid "Post-init processing"
msgstr ""
msgstr "Post-initialisation"
#: library/dataclasses.rst:419
msgid ""
@ -599,12 +696,21 @@ msgid ""
"order they were defined in the class. If no :meth:`__init__` method is "
"generated, then :meth:`__post_init__` will not automatically be called."
msgstr ""
"Après avoir initialisé l'objet, la méthode :meth:`__init__` générée appelle "
"la méthode :meth:`__post_init__`, si elle est définie. :meth:`__post_init__` "
"est habituellement appelée avec un simple ``self.__post_init__()``. "
"Cependant, si la classe comporte des champs d'initialisation (voir plus "
"bas), leurs valeurs sont aussi passées à :meth:`__post_init__` telles "
"qu'elles ont été fournies à :meth:`__init__`. Si la classe est créée avec "
"``init=False``, :meth:`__post_init__` n'est jamais appelée automatiquement."
#: library/dataclasses.rst:427
msgid ""
"Among other uses, this allows for initializing field values that depend on "
"one or more other fields. For example::"
msgstr ""
"Cette méthode permet, entre autres, d'initialiser des champs qui dépendent "
"d'autres champs. Par exemple :"
#: library/dataclasses.rst:439
msgid ""
@ -613,6 +719,10 @@ msgid ""
"`__init__` method that has to be called, it is common to call this method in "
"a :meth:`__post_init__` method::"
msgstr ""
"Les méthodes :meth:`__init__` des classes mères ne sont pas appelées "
"automatiquement par la méthode :meth:`__init__` que génère :func:"
"`dataclass`. S'il faut appeler ces méthodes :meth:`__init__`, il est courant "
"de le faire dans :meth:`__post_init__` :"
#: library/dataclasses.rst:456
msgid ""
@ -620,6 +730,10 @@ msgid ""
"methods don't need to be called, since the derived dataclass will take care "
"of initializing all fields of any base class that is a dataclass itself."
msgstr ""
"Notez toutefois qu'il n'est généralement pas nécessaire d'appeler une "
"méthode :meth:`__init__` si elle a été générée automatiquement dans une "
"classe de données, car la classe fille initialise elle-même les champs "
"apportés par toute classe mère qui est aussi une classe de données."
#: library/dataclasses.rst:460
msgid ""
@ -627,10 +741,14 @@ msgid ""
"meth:`__post_init__`. Also see the warning about how :func:`replace` "
"handles ``init=False`` fields."
msgstr ""
"Voir la section plus bas à propos des variables d'initialisation pour les "
"moyens de passer des paramètres à :meth:`__post_init__`. Voir également "
"l'avertissement sur le traitement par :func:`replace` des champs définis "
"avec ``init=False``."
#: library/dataclasses.rst:465
msgid "Class variables"
msgstr ""
msgstr "Variables de classe"
#: library/dataclasses.rst:467
msgid ""
@ -644,7 +762,7 @@ msgstr ""
#: library/dataclasses.rst:476
msgid "Init-only variables"
msgstr ""
msgstr "Variables d'initialisation"
#: library/dataclasses.rst:478
msgid ""
@ -663,16 +781,20 @@ msgid ""
"For example, suppose a field will be initialized from a database, if a value "
"is not provided when creating the class::"
msgstr ""
"On peut par exemple imaginer un champ initialisé à partir d'une base de "
"données s'il n'a pas reçu de valeur explicite :"
#: library/dataclasses.rst:503
msgid ""
"In this case, :func:`fields` will return :class:`Field` objects for ``i`` "
"and ``j``, but not for ``database``."
msgstr ""
"Ici, :func:`fields` renvoie des objets :class:`Field` correspondant à ``i`` "
"et à ``j``, mais pas à ``database``."
#: library/dataclasses.rst:507
msgid "Frozen instances"
msgstr ""
msgstr "Instances figées"
#: library/dataclasses.rst:509
msgid ""
@ -682,6 +804,11 @@ msgid ""
"meth:`__delattr__` methods to the class. These methods will raise a :exc:"
"`FrozenInstanceError` when invoked."
msgstr ""
"Bien qu'il ne soit pas possible de créer des objets Python strictement "
"immuables, on peut rendre les instances d'une classe de données quasi "
"immuables en passant ``frozen=True`` au décorateur :meth:`dataclass`, ce qui "
"lui fait générer des méthodes :meth:`__setattr__` et :meth:`__delattr__`. "
"Celles-ci lèvent systématiquement l'exception :exc:`FrozenInstanceError`."
#: library/dataclasses.rst:515
msgid ""
@ -689,6 +816,9 @@ msgid ""
"`__init__` cannot use simple assignment to initialize fields, and must use :"
"meth:`object.__setattr__`."
msgstr ""
"Les performances sont légèrement moins bonnes avec ``frozen=True`` car :meth:"
"`__init__` doit passer par :meth:`object.__setattr__` au lieu de simples "
"affectations pour initialiser les champs."
#: library/dataclasses.rst:520
msgid "Inheritance"
@ -705,20 +835,30 @@ msgid ""
"ordered mapping of fields. Because the fields are in insertion order, "
"derived classes override base classes. An example::"
msgstr ""
"Au moment de la création d'une classe de données, le décorateur :meth:"
"`dataclass` parcourt toutes les classes mères dans l'ordre inverse de "
"résolution des méthodes (donc en commençant par :class:`object`). À chaque "
"fois qu'une classe de données est rencontrée, ses champs sont insérés dans "
"un tableau associatif ordonné. Pour finir, les champs de la classe elle-même "
"sont rajoutés. Toutes les méthodes générées utilisent en interne ce même "
"tableau associatif. Puisqu'il est ordonné, les champs des classes filles "
"écrasent ceux des classes mères. Voici un exemple :"
#: library/dataclasses.rst:542
msgid ""
"The final list of fields is, in order, ``x``, ``y``, ``z``. The final type "
"of ``x`` is ``int``, as specified in class ``C``."
msgstr ""
"La liste finale des champs contient, dans l'ordre, ``x``, ``y``, ``z``. Le "
"type de ``x`` est ``int``, comme déclaré dans ``C``."
#: library/dataclasses.rst:545
msgid "The generated :meth:`__init__` method for ``C`` will look like::"
msgstr ""
msgstr "La méthode :meth:`__init__` générée pour ``C`` ressemble à :"
#: library/dataclasses.rst:550
msgid "Default factory functions"
msgstr ""
msgstr "Fabriques de valeurs par défaut"
#: library/dataclasses.rst:552
msgid ""
@ -726,6 +866,9 @@ msgid ""
"arguments when a default value for the field is needed. For example, to "
"create a new instance of a list, use::"
msgstr ""
"Le paramètre facultatif *default_factory* de :func:`field` est une fonction "
"qui est appelée sans argument pour fournir des valeurs par défaut. Par "
"exemple, voici comment donner la valeur par défaut d'une liste vide :"
#: library/dataclasses.rst:558
msgid ""
@ -734,30 +877,38 @@ msgid ""
"will always be called from the generated :meth:`__init__` function. This "
"happens because there is no other way to give the field an initial value."
msgstr ""
"Si un champ avec fabrique est exclu de :meth:`__init__` (par "
"``init=False``), alors la fabrique est appelée par :meth:`__init__` pour "
"chaque nouvelle instance, puisque c'est le seul moyen d'obtenir une valeur à "
"laquelle initialiser le champ."
#: library/dataclasses.rst:565
msgid "Mutable default values"
msgstr ""
msgstr "Valeurs par défaut muables"
#: library/dataclasses.rst:567
msgid ""
"Python stores default member variable values in class attributes. Consider "
"this example, not using dataclasses::"
msgstr ""
"En Python, les valeurs par défaut des attributs sont stockées dans des "
"attributs de la classe. Observez cet exemple, sans classe de données :"
#: library/dataclasses.rst:582
msgid ""
"Note that the two instances of class ``C`` share the same class variable "
"``x``, as expected."
msgstr ""
"Comme attendu, les deux instances de ``C`` partagent le même objet pour "
"l'attribut ``x``."
#: library/dataclasses.rst:585
msgid "Using dataclasses, *if* this code was valid::"
msgstr ""
msgstr "Avec les classes de données, si ce code était valide :"
#: library/dataclasses.rst:593
msgid "it would generate code similar to::"
msgstr ""
msgstr "il générerait un code équivalent à :"
#: library/dataclasses.rst:604
msgid ""
@ -776,6 +927,8 @@ msgid ""
"Using default factory functions is a way to create new instances of mutable "
"types as default values for fields::"
msgstr ""
"Pour qu'un champ d'un type muable soit par défaut initialisé à un nouvel "
"objet pour chaque instance, utilisez une fonction de fabrique :"
#: library/dataclasses.rst:624
msgid "Exceptions"
@ -787,3 +940,6 @@ msgid ""
"is called on a dataclass which was defined with ``frozen=True``. It is a "
"subclass of :exc:`AttributeError`."
msgstr ""
"Sous-classe de :exc:`AttributeError`, levée lorsqu'une méthode :meth:"
"`__setattr__` ou :meth:`__delattr__` définie implicitement est appelée dans "
"une classe de données définie avec ``frozen=True``."

View File

@ -3131,7 +3131,7 @@ msgstr ""
#: library/datetime.rst:2186
msgid ":mod:`zoneinfo`"
msgstr ""
msgstr ":mod:`zoneinfo`"
#: library/datetime.rst:2181
#, fuzzy

View File

@ -162,7 +162,7 @@ msgstr ""
#: library/dbm.rst:121
msgid "Module :mod:`shelve`"
msgstr ""
msgstr "Module :mod:`shelve`"
#: library/dbm.rst:122
msgid "Persistence module which stores non-string data."

View File

@ -708,24 +708,33 @@ msgid ""
"otherwise. Currently, a :class:`Decimal` instance is always canonical, so "
"this operation always returns :const:`True`."
msgstr ""
"Renvoie :const:`True` si l'argument est sous forme canonique et :const:"
"`False` sinon. Actuellement, une instance :class:`Decimal` est toujours "
"canonique, donc cette opération renvoie toujours :const:`True`."
#: library/decimal.rst:616
msgid ""
"Return :const:`True` if the argument is a finite number, and :const:`False` "
"if the argument is an infinity or a NaN."
msgstr ""
"Renvoie :const:`True` si l'argument est un nombre fini et :const:`False` si "
"l'argument est un infini ou NaN."
#: library/decimal.rst:621
msgid ""
"Return :const:`True` if the argument is either positive or negative infinity "
"and :const:`False` otherwise."
msgstr ""
"Renvoie :const:`True` si l'argument est un infini positif ou négatif et :"
"const:`False` sinon."
#: library/decimal.rst:626
msgid ""
"Return :const:`True` if the argument is a (quiet or signaling) NaN and :"
"const:`False` otherwise."
msgstr ""
"Renvoie :const:`True` si l'argument est un NaN (signalétique ou silencieux) "
"et :const:`False` sinon."
#: library/decimal.rst:631
msgid ""
@ -738,18 +747,24 @@ msgid ""
"Return :const:`True` if the argument is a quiet NaN, and :const:`False` "
"otherwise."
msgstr ""
"Renvoie :const:`True` si l'argument est un NaN silencieux et :const:`False` "
"sinon."
#: library/decimal.rst:641
msgid ""
"Return :const:`True` if the argument has a negative sign and :const:`False` "
"otherwise. Note that zeros and NaNs can both carry signs."
msgstr ""
"Renvoie :const:`True` si l'argument est négatif et :const:`False` sinon. "
"Notez que les zéros et les NaNs peuvent être signés."
#: library/decimal.rst:646
msgid ""
"Return :const:`True` if the argument is a signaling NaN and :const:`False` "
"otherwise."
msgstr ""
"Renvoie :const:`True` si l'argument est un NaN signalétique et :const:"
"`False` sinon."
#: library/decimal.rst:651
msgid ""
@ -762,18 +777,24 @@ msgid ""
"Return :const:`True` if the argument is a (positive or negative) zero and :"
"const:`False` otherwise."
msgstr ""
"Renvoie :const:`True` si l'argument est un zéro (positif ou négatif) et :"
"const:`False` sinon."
#: library/decimal.rst:661
msgid ""
"Return the natural (base e) logarithm of the operand. The result is "
"correctly rounded using the :const:`ROUND_HALF_EVEN` rounding mode."
msgstr ""
"Renvoie le logarithme naturel (base e) de l'opérande. Le résultat est "
"arrondi avec le mode :const:`ROUND_HALF_EVEN`."
#: library/decimal.rst:666
msgid ""
"Return the base ten logarithm of the operand. The result is correctly "
"rounded using the :const:`ROUND_HALF_EVEN` rounding mode."
msgstr ""
"Renvoie le logarithme en base 10 de l'opérande. Le résultat est arrondi avec "
"le mode :const:`ROUND_HALF_EVEN`."
#: library/decimal.rst:671
msgid ""
@ -876,7 +897,7 @@ msgstr ""
#: library/decimal.rst:757
msgid "``\"-Infinity\"``, indicating that the operand is negative infinity."
msgstr ""
msgstr "``\"-Infinity\"``, indiquant que l'opérande est l'infini négatif ;"
#: library/decimal.rst:758
msgid ""
@ -890,11 +911,11 @@ msgstr ""
#: library/decimal.rst:760
msgid "``\"-Zero\"``, indicating that the operand is a negative zero."
msgstr ""
msgstr "``\"-Zero\"``, indiquant que l'opérande est un zéro négatif ;"
#: library/decimal.rst:761
msgid "``\"+Zero\"``, indicating that the operand is a positive zero."
msgstr ""
msgstr "``\"+Zero\"``, indiquant que l'opérande est un zéro positif ;"
#: library/decimal.rst:762
msgid ""
@ -908,15 +929,19 @@ msgstr ""
#: library/decimal.rst:764
msgid "``\"+Infinity\"``, indicating that the operand is positive infinity."
msgstr ""
msgstr "``\"+Infinity\"``, indiquant que l'opérande est l'infini positif ;"
#: library/decimal.rst:765
msgid "``\"NaN\"``, indicating that the operand is a quiet NaN (Not a Number)."
msgstr ""
"``\"NaN\"``, indiquant que l'opérande est un NaN (*Not a Number*, pas un "
"nombre) silencieux ;"
#: library/decimal.rst:766
msgid "``\"sNaN\"``, indicating that the operand is a signaling NaN."
msgstr ""
"``\"sNaN\"``, indiquant que l'opérande est un NaN (*Not a Number*, pas un "
"nombre) signalétique."
#: library/decimal.rst:770
msgid ""
@ -1325,7 +1350,7 @@ msgstr "Renvoie la valeur absolue de *x*."
#: library/decimal.rst:1135
msgid "Return the sum of *x* and *y*."
msgstr ""
msgstr "Renvoie la somme de *x* et *y*."
#: library/decimal.rst:1140
msgid "Returns the same Decimal object *x*."
@ -1354,23 +1379,23 @@ msgstr ""
#: library/decimal.rst:1170
msgid "Returns a copy of *x* with the sign inverted."
msgstr ""
msgstr "Renvoie une copie de *x* mais de signe opposé."
#: library/decimal.rst:1175
msgid "Copies the sign from *y* to *x*."
msgstr ""
msgstr "Copie le signe de *y* vers *x*."
#: library/decimal.rst:1180
msgid "Return *x* divided by *y*."
msgstr ""
msgstr "Renvoie *x* divisé par *y*."
#: library/decimal.rst:1185
msgid "Return *x* divided by *y*, truncated to an integer."
msgstr ""
msgstr "Renvoie *x* divisé par *y*, tronqué comme entier."
#: library/decimal.rst:1190
msgid "Divides two numbers and returns the integer part of the result."
msgstr ""
msgstr "Renvoie la partie entière de la division entre deux nombres."
#: library/decimal.rst:1195
msgid "Returns `e ** x`."
@ -1378,7 +1403,7 @@ msgstr ""
#: library/decimal.rst:1200
msgid "Returns *x* multiplied by *y*, plus *z*."
msgstr ""
msgstr "Renvoie *x* multiplié par *y*, plus *z*."
#: library/decimal.rst:1205
msgid "Returns ``True`` if *x* is canonical; otherwise returns ``False``."
@ -1390,11 +1415,13 @@ msgstr ""
#: library/decimal.rst:1215
msgid "Returns ``True`` if *x* is infinite; otherwise returns ``False``."
msgstr ""
msgstr "Renvoie ``True`` si *x* est infini et ``False`` sinon."
#: library/decimal.rst:1220
msgid "Returns ``True`` if *x* is a qNaN or sNaN; otherwise returns ``False``."
msgstr ""
"Renvoie ``True`` si *x* est un NaN (silencieux ou signalétique) et ``False`` "
"sinon."
#: library/decimal.rst:1225
msgid ""
@ -1403,16 +1430,16 @@ msgstr ""
#: library/decimal.rst:1230
msgid "Returns ``True`` if *x* is a quiet NaN; otherwise returns ``False``."
msgstr ""
msgstr "Renvoie ``True`` si *x* est un NaN silencieux et ``False`` sinon."
#: library/decimal.rst:1235
msgid "Returns ``True`` if *x* is negative; otherwise returns ``False``."
msgstr ""
msgstr "Renvoie ``True`` si *x* est négatif et ``False`` sinon."
#: library/decimal.rst:1240
msgid ""
"Returns ``True`` if *x* is a signaling NaN; otherwise returns ``False``."
msgstr ""
msgstr "Renvoie ``True`` si *x* est un NaN signalétique et ``False`` sinon."
#: library/decimal.rst:1245
msgid "Returns ``True`` if *x* is subnormal; otherwise returns ``False``."
@ -1420,15 +1447,15 @@ msgstr ""
#: library/decimal.rst:1250
msgid "Returns ``True`` if *x* is a zero; otherwise returns ``False``."
msgstr ""
msgstr "Renvoie ``True`` si *x* est un zéro et ``False`` sinon."
#: library/decimal.rst:1255
msgid "Returns the natural (base e) logarithm of *x*."
msgstr ""
msgstr "Renvoie le logarithme naturel (en base e) de *x*."
#: library/decimal.rst:1260
msgid "Returns the base 10 logarithm of *x*."
msgstr ""
msgstr "Renvoie le logarithme en base 10 de *x*."
#: library/decimal.rst:1265
msgid "Returns the exponent of the magnitude of the operand's MSD."
@ -1452,7 +1479,7 @@ msgstr ""
#: library/decimal.rst:1290
msgid "Compares two values numerically and returns the maximum."
msgstr ""
msgstr "Renvoie le maximum entre les deux valeurs numériques."
#: library/decimal.rst:1305
msgid "Compares the values numerically with their sign ignored."
@ -1468,7 +1495,7 @@ msgstr ""
#: library/decimal.rst:1315
msgid "Return the product of *x* and *y*."
msgstr ""
msgstr "Renvoie la multiplication de *x* avec *y*."
#: library/decimal.rst:1320
msgid "Returns the largest representable number smaller than *x*."
@ -1484,7 +1511,7 @@ msgstr ""
#: library/decimal.rst:1335
msgid "Reduces *x* to its simplest form."
msgstr ""
msgstr "Réduit *x* à sa forme la plus simple."
#: library/decimal.rst:1340
msgid "Returns an indication of the class of *x*."
@ -1535,11 +1562,11 @@ msgstr ""
#: library/decimal.rst:1372
msgid "``y`` must be nonnegative"
msgstr ""
msgstr "``y`` ne doit pas être négatif ;"
#: library/decimal.rst:1373
msgid "at least one of ``x`` or ``y`` must be nonzero"
msgstr ""
msgstr "au moins l'un de ``x`` ou ``y`` doit être différent de zéro ;"
#: library/decimal.rst:1374
msgid "``modulo`` must be nonzero and have at most 'precision' digits"
@ -1560,11 +1587,11 @@ msgstr ""
#: library/decimal.rst:1391
msgid "Just returns 10, as this is Decimal, :)"
msgstr ""
msgstr "Renvoie 10 car c'est Decimal, :)"
#: library/decimal.rst:1396
msgid "Returns the remainder from integer division."
msgstr ""
msgstr "Donne le reste de la division entière."
#: library/decimal.rst:1398
msgid ""
@ -1584,7 +1611,7 @@ msgstr ""
#: library/decimal.rst:1415
msgid "Returns ``True`` if the two operands have the same exponent."
msgstr ""
msgstr "Renvoie ``True`` si les deux opérandes ont le même exposant."
#: library/decimal.rst:1420
msgid "Returns the first operand after adding the second value its exp."
@ -1619,6 +1646,9 @@ msgid ""
"The constants in this section are only relevant for the C module. They are "
"also included in the pure Python version for compatibility."
msgstr ""
"Les constantes de cette section ne sont pertinentes que pour le module C. "
"Elles sont aussi incluses pour le compatibilité dans la version en Python "
"pur."
#: library/decimal.rst:1467
msgid "32-bit"
@ -1656,6 +1686,8 @@ msgstr ":const:`-1999999999999999997`"
msgid ""
"The value is ``True``. Deprecated, because Python now always has threads."
msgstr ""
"La valeur est ``True``. Déprécié, parce que maintenant Python possède "
"toujours des fils d'exécution."
#: library/decimal.rst:1487
msgid ""
@ -1671,7 +1703,7 @@ msgstr ""
#: library/decimal.rst:1495
msgid "Rounding modes"
msgstr ""
msgstr "Modes d'arrondi"
#: library/decimal.rst:1499
msgid "Round towards :const:`Infinity`."
@ -1709,7 +1741,7 @@ msgstr ""
#: library/decimal.rst:1534
msgid "Signals"
msgstr ""
msgstr "Signaux"
#: library/decimal.rst:1536
msgid ""
@ -1783,7 +1815,7 @@ msgstr ""
#: library/decimal.rst:1602
msgid "Numerical overflow."
msgstr ""
msgstr "Débordement numérique."
#: library/decimal.rst:1604
msgid ""
@ -2041,6 +2073,8 @@ msgid ""
"Q. Once I have valid two place inputs, how do I maintain that invariant "
"throughout an application?"
msgstr ""
"Q. Une fois que mes entrées sont à deux décimales valides, comment maintenir "
"cet invariant dans l'application ?"
#: library/decimal.rst:2019
msgid ""
@ -2049,12 +2083,20 @@ msgid ""
"division and non-integer multiplication, will change the number of decimal "
"places and need to be followed-up with a :meth:`quantize` step:"
msgstr ""
"R. Certaines opérations comme l'addition, la soustraction et la "
"multiplication par un entier préservent automatiquement la virgule fixe. "
"D'autres opérations, comme la division et la multiplication par des non-"
"entiers, changent le nombre de décimales et doivent être suivies d'une "
"étape :meth:`quantize` :"
#: library/decimal.rst:2037
msgid ""
"In developing fixed-point applications, it is convenient to define functions "
"to handle the :meth:`quantize` step:"
msgstr ""
"Lors du développement d'applications en virgule fixe, il est pratique de "
"définir des fonctions pour gérer cette étape de quantification par :meth:"
"`quantize` :"
#: library/decimal.rst:2050
msgid ""

View File

@ -40,6 +40,10 @@ msgid ""
"sets the content type and CTE header using the *_subtype* and *_charset* "
"values passed during the instantiation of that class."
msgstr ""
"Ce module est obsolète en Python 3. Il n'est pas de besoin d'appeler "
"explicitement les fonctions définies ici puisque la classe :class:`~email."
"mime.text.MIMEText` ajuste le type de contenu et l'entête CTE à l'aide des "
"paramètres *_subtype* et *_charset* de son constructeur."
#: library/email.encoders.rst:20
msgid ""

View File

@ -23,7 +23,6 @@ msgid "**Source code:** :source:`Lib/email/__init__.py`"
msgstr "**Code source:** :source:`Lib/email/__init__.py`"
#: library/email.rst:15
#, fuzzy
msgid ""
"The :mod:`email` package is a library for managing email messages. It is "
"specifically *not* designed to do any sending of email messages to SMTP (:"
@ -37,7 +36,7 @@ msgstr ""
"spécifiquement conçu pour ne pas gérer les envois d'e-mails vers SMTP (:rfc:"
"`2821`), NNTP, ou autres serveurs ; ces fonctions sont du ressort "
"des modules comme :mod:`smtplib` et :mod:`nntplib`. Le paquet :mod:`email` "
"tente de respecter les RFC autant que possible, il gère :rfc:`5233` et :rfc:"
"tente de respecter les RFC autant que possible, il gère :rfc:`5322` et :rfc:"
"`6532`, ainsi que les RFCs en rapport avec les MIME comme :rfc:`2045`, :rfc:"
"`2046`, :rfc:`2047`, :rfc:`2183`, et :rfc:`2231`."

View File

@ -17,7 +17,7 @@ msgstr ""
#: library/ensurepip.rst:2
msgid ":mod:`ensurepip` --- Bootstrapping the ``pip`` installer"
msgstr ""
msgstr ":mod:`ensurepip`  Amorçage de l'installateur ``pip``"
#: library/ensurepip.rst:12
msgid ""
@ -28,6 +28,12 @@ msgid ""
"is bundled with maintenance and feature releases of the CPython reference "
"interpreter."
msgstr ""
"Le module :mod:`ensurepip` met en place l'installateur ``pip`` dans un "
"environnement Python, classique ou virtuel. Ce principe d'amorçage a été "
"choisi car ``pip`` est un projet séparé de Python avec son propre cycle de "
"versions. Il permet en particulier d'embarquer la version la plus récente de "
"``pip`` dans les mises à jour de maintenance de l'interpréteur CPython comme "
"dans les nouvelles versions principales."
#: library/ensurepip.rst:19
msgid ""
@ -36,12 +42,19 @@ msgid ""
"needed if installing ``pip`` was skipped when installing Python (or when "
"creating a virtual environment) or after explicitly uninstalling ``pip``."
msgstr ""
"Dans la plupart des cas, il n'est pas nécessaire de recourir à ce module. "
"``pip`` est le plus souvent déjà installé pour vous. Cependant, "
"``ensurepip`` peut s'avérer utile si l'installation de ``pip`` a été sautée "
"au moment de l'installation de Python (ou en créant un environnement "
"virtuel), ou bien si ``pip`` a été désinstallé par l'utilisateur."
#: library/ensurepip.rst:27
msgid ""
"This module *does not* access the internet. All of the components needed to "
"bootstrap ``pip`` are included as internal parts of the package."
msgstr ""
"Ce module n'accède *pas* au réseau. Tout ce qu'il faut pour amorcer ``pip`` "
"est compris dans le paquet."
#: library/ensurepip.rst:34
msgid ":ref:`installing-index`"
@ -49,15 +62,17 @@ msgstr ":ref:`installing-index`"
#: library/ensurepip.rst:34
msgid "The end user guide for installing Python packages"
msgstr ""
msgstr "Guide de l'utilisateur final pour installer des paquets Python"
#: library/ensurepip.rst:36
msgid ":pep:`453`: Explicit bootstrapping of pip in Python installations"
msgstr ""
":pep:`453` : Amorçage explicite de pip dans les installations de Python"
#: library/ensurepip.rst:37
msgid "The original rationale and specification for this module."
msgstr ""
"Les motivations pour l'ajout de ce module et sa spécification d'origine"
#: library/ensurepip.rst:41
#, fuzzy
@ -68,10 +83,12 @@ msgstr "Interface en ligne de commande"
msgid ""
"The command line interface is invoked using the interpreter's ``-m`` switch."
msgstr ""
"On fait appel à l'interface en ligne de commande à l'aide de l'option ``-m`` "
"de l'interpréteur."
#: library/ensurepip.rst:45
msgid "The simplest possible invocation is::"
msgstr ""
msgstr "L'invocation la plus simple est ::"
#: library/ensurepip.rst:49
msgid ""
@ -88,6 +105,9 @@ msgid ""
"virtual environment). The installation location can be controlled through "
"two additional command line options:"
msgstr ""
"``pip`` est installé par défaut dans l'environnement virtuel courant, s'il y "
"en a un, ou bien dans le dossier ``site-packages`` du système. L'emplacement "
"d'installation se règle à travers deux options :"
#: library/ensurepip.rst:61
msgid ""
@ -95,6 +115,9 @@ msgid ""
"rather than the root of the currently active virtual environment (if any) or "
"the default root for the current Python installation."
msgstr ""
"``--root <dossier>`` : installe ``pip`` sur un chemin relatif à la racine "
"*dossier* au lieu de la racine de l'environnement virtuel ou la racine par "
"défaut de l'installation de Python."
#: library/ensurepip.rst:64
msgid ""
@ -102,6 +125,9 @@ msgid ""
"than globally for the current Python installation (this option is not "
"permitted inside an active virtual environment)."
msgstr ""
"``--user`` : installe ``pip`` dans le dossier ``site-packages`` propre à "
"l'utilisateur au lieu du dossier global de l'installation de Python. Cette "
"option n'est pas valide dans un environnement virtuel."
#: library/ensurepip.rst:68
msgid ""
@ -109,31 +135,40 @@ msgid ""
"stands for the version of Python used to invoke ``ensurepip``). The scripts "
"installed can be controlled through two additional command line options:"
msgstr ""
"Par défaut, les commandes ``pipX`` et ``pipX.Y`` sont créées (où X.Y est la "
"version de Python avec laquelle ``ensurepip`` est utilisé). Cela se contrôle "
"par deux options supplémentaires :"
#: library/ensurepip.rst:73
msgid ""
"``--altinstall``: if an alternate installation is requested, the ``pipX`` "
"script will *not* be installed."
msgstr ""
"``--altinstall`` : dans ce mode d'« installation parallèle », seule la "
"commande ``pipX.Y`` est ajoutée, et pas la commande ``pipX``."
#: library/ensurepip.rst:76
msgid ""
"``--default-pip``: if a \"default pip\" installation is requested, the "
"``pip`` script will be installed in addition to the two regular scripts."
msgstr ""
"``--default-pip`` : ce mode d'« installation de la version par défaut » crée "
"la commande ``pip`` en plus de ``pipX`` et ``pipX.Y``."
#: library/ensurepip.rst:79
msgid ""
"Providing both of the script selection options will trigger an exception."
msgstr ""
msgstr "Combiner ces deux options conduit à une exception."
#: library/ensurepip.rst:83
msgid "Module API"
msgstr ""
msgstr "API du module"
#: library/ensurepip.rst:85
msgid ":mod:`ensurepip` exposes two functions for programmatic use:"
msgstr ""
"Le module :mod:`ensurepip` définit deux fonctions pour utilisation dans les "
"programmes :"
#: library/ensurepip.rst:89
msgid ""
@ -144,6 +179,7 @@ msgstr ""
#: library/ensurepip.rst:96
msgid "Bootstraps ``pip`` into the current or designated environment."
msgstr ""
"Amorce ``pip`` dans l'environnement courant ou un environnement spécifique."
#: library/ensurepip.rst:98
msgid ""
@ -151,6 +187,9 @@ msgid ""
"*root* is ``None``, then installation uses the default install location for "
"the current environment."
msgstr ""
"Passer *root* permet de changer la racine du chemin d'installation. Si "
"*root* vaut ``None`` (la valeur par défaut), l'installation se fait dans la "
"racine par défaut pour l'environnement courant."
#: library/ensurepip.rst:102
msgid ""
@ -163,39 +202,52 @@ msgid ""
"*user* indicates whether to use the user scheme rather than installing "
"globally."
msgstr ""
"Si *user* vaut vrai, ``pip`` est mis dans des chemins qui le rendent "
"disponible pour cet utilisateur uniquement, et non pour tous les "
"utilisateurs de l'installation de Python."
#: library/ensurepip.rst:108
msgid ""
"By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y "
"stands for the current version of Python)."
msgstr ""
"Par défaut, les commandes créées sont ``pipX`` et ``pipX.Y`` (où X.Y est la "
"version de Python)."
#: library/ensurepip.rst:111
msgid "If *altinstall* is set, then ``pipX`` will *not* be installed."
msgstr ""
msgstr "Si *altinstall* vaut vrai, ``pipX`` n'est pas créée."
#: library/ensurepip.rst:113
msgid ""
"If *default_pip* is set, then ``pip`` will be installed in addition to the "
"two regular scripts."
msgstr ""
"Si *default_pip* vaut vrai, la commande ``pip`` est créée en plus des deux "
"autres."
#: library/ensurepip.rst:116
msgid ""
"Setting both *altinstall* and *default_pip* will trigger :exc:`ValueError`."
msgstr ""
"Le fait de combiner *altinstall* et *default_pip* lève l'exception :exc:"
"`ValueError`."
#: library/ensurepip.rst:119
msgid ""
"*verbosity* controls the level of output to :data:`sys.stdout` from the "
"bootstrapping operation."
msgstr ""
"*verbosity* règle le niveau de verbosité des messages émis sur :data:`sys."
"stdout` pendant l'amorçage."
#: library/ensurepip.rst:122
msgid ""
"Raises an :ref:`auditing event <auditing>` ``ensurepip.bootstrap`` with "
"argument ``root``."
msgstr ""
"Cette fonction lève un :ref:`événement d'audit <auditing>` ``ensurepip."
"bootstrap`` avec l'argument ``root``."
#: library/ensurepip.rst:126
msgid ""
@ -203,6 +255,9 @@ msgid ""
"environ``. Invoking the command line interface in a subprocess instead "
"allows these side effects to be avoided."
msgstr ""
"Le processus d'amorçage a des effets de bord sur ``sys.path`` et ``os."
"environ``. Pour les éviter, on peut appeler l'interface en ligne de commande "
"dans un sous-processus."
#: library/ensurepip.rst:132
msgid ""
@ -211,3 +266,7 @@ msgid ""
"be present by default (as the dependencies may be removed in a future "
"version of ``pip``)."
msgstr ""
"L'amorçage peut installer des modules supplémentaires qui sont requis pour "
"``pip``. Les autres programmes ne doivent pas prendre pour acquise la "
"présence de ces modules, car ``pip`` pourrait dans une version future se "
"passer de ces dépendances."

View File

@ -36,13 +36,17 @@ msgstr ""
#: library/enum.rst:22
msgid "Case of Enum Members"
msgstr ""
msgstr "Convention de nommage pour les membres d'une **Enum**"
#: library/enum.rst:24
msgid ""
"Because Enums are used to represent constants we recommend using UPPER_CASE "
"names for enum members, and will be using that style in our examples."
msgstr ""
"Puisque les **Enums** sont utilisées pour représenter des constantes, il est "
"recommandé d'utiliser des majuscules (format ``MAJUSCULE_AVEC_SOULIGNÉS``) "
"pour leurs membres. Cette convention de style sera utilisée dans les "
"exemples."
#: library/enum.rst:30
msgid "Module Contents"
@ -313,20 +317,20 @@ msgstr ""
"être redéfinie ::"
#: library/enum.rst:279
#, fuzzy
msgid ""
"The goal of the default :meth:`_generate_next_value_` method is to provide "
"the next :class:`int` in sequence with the last :class:`int` provided, but "
"the way it does this is an implementation detail and may change."
msgstr ""
"La méthode par défaut :meth:`_generate_next_value_` doit fournir le :class:"
"`int` suivant de la séquence en fonction du dernier :class:`int` fourni, "
"mais la séquence générée dépend de l'implémentation Python."
"La méthode :meth:`_generate_next_value_` doit renvoyer le prochain :class:"
"`int` de la séquence à partir du dernier :class:`int` fourni, mais "
"l'implémentation de cette fonction peut changer."
#: library/enum.rst:285
msgid ""
"The :meth:`_generate_next_value_` method must be defined before any members."
msgstr ""
"La méthode :meth:`_generate_next_value_` doit être définie avant tout membre."
#: library/enum.rst:288
msgid "Iteration"
@ -434,15 +438,14 @@ msgstr ""
"attr:`_ignore_`."
#: library/enum.rst:396
#, fuzzy
msgid ""
"Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__` "
"then any value(s) given to the enum member will be passed into those "
"methods. See `Planet`_ for an example."
msgstr ""
"Remarque : si l'énumération définit :meth:`__new__` ou :meth:`__init__`, "
"alors la (ou les) valeur affectée au membre sera passée à ces méthodes. Voir "
"l'exemple de `Planet`_."
"Remarque : si votre énumération définit :meth:`__new__` ou :meth:`__init__`, "
"alors les valeurs affectées aux membres seront passées à ces méthodes. Voir "
"`Planet`_ pour exemple."
#: library/enum.rst:402
msgid "Restricted Enum subclassing"
@ -867,7 +870,6 @@ msgstr ""
"comme dans l'exemple de :class:`IntEnum` ci-dessus."
#: library/enum.rst:741
#, fuzzy
msgid ""
"While :class:`Enum` can have members of any type, once you mix in an "
"additional type, all the members must have values of that type, e.g. :class:"
@ -875,10 +877,10 @@ msgid ""
"methods and don't specify another type."
msgstr ""
"Même si une classe :class:`Enum` peut avoir des membres de n'importe quel "
"type, dès lors qu'un type de mélange est ajouté, tous les membres doivent "
"être de ce type, p. ex. :class:`int` ci-dessus. Cette restriction ne "
"s'applique pas aux types de mélange qui ne font qu'ajouter des méthodes et "
"ne définissent pas de type de données, tels :class:`int` ou :class:`str`. "
"type, dès qu'un type est spécifié à la déclaration de la classe, alors tous "
"les membres doivent être de ce type, p. ex. :class:`int` ci-dessus. Cette "
"restriction ne s'applique pas aux classes dérivées qui n'ajoutent que des "
"méthodes supplémentaires sans spécifier un type de données."
#: library/enum.rst:745
msgid ""
@ -902,7 +904,6 @@ msgstr ""
"celui-ci était converti en son type de mélange."
#: library/enum.rst:751
#, fuzzy
msgid ""
":ref:`Formatted string literals <f-strings>`, :meth:`str.format`, and :func:"
"`format` will use the mixed-in type's :meth:`__format__` unless :meth:"
@ -911,10 +912,13 @@ msgid ""
"and !r format codes to force usage of the :class:`Enum` class's :meth:"
"`__str__` and :meth:`__repr__` methods."
msgstr ""
":ref:`Chaînes de caractères formatées littérales <f-strings>` : :meth:`str."
"format` et :func:`format` appellent la méthode :meth:`__format__` du type de "
"mélange. Pour appeler les fonctions :func:`str` ou :func:`repr` de la "
"classe :class:`Enum`, il faut utiliser les codes de formatage `!s` ou `!r`."
"Les :ref:`chaînes littérales formatées <f-strings>` : :meth:`str.format` et :"
"func:`format` appellent la méthode :meth:`__format__` du type dérivé à moins "
"que :meth:`__str__` ou :meth:`__format__` soit surchargée dans la sous-"
"classe, auquel cas les méthodes surchargées ou celles de la classe :class:"
"`Enum` seront utilisées. Pour appeler les méthodes :meth:`__str__` ou :meth:"
"`__repr__` de la classe :class:`Enum`, il faut utiliser les codes de "
"formatage ``!s`` ou ``!r``."
#: library/enum.rst:759
msgid "When to use :meth:`__new__` vs. :meth:`__init__`"
@ -926,6 +930,10 @@ msgid ""
"of the :class:`Enum` member. Any other modifications may go in either :meth:"
"`__new__` or :meth:`__init__`, with :meth:`__init__` being preferred."
msgstr ""
":meth:`__new__` doit être utilisé dès que vous souhaitez personnaliser la "
"valeur effective des membres d'un :class:`Enum`. Tout autre modification "
"peut autant aller dans :meth:`__new__` que dans :meth:`__init__`, mais "
"l'usage de :meth:`__init__` est recommandé."
#: library/enum.rst:765
msgid ""
@ -1042,12 +1050,16 @@ msgid ""
"To make a more general purpose ``AutoNumber``, add ``*args`` to the "
"signature::"
msgstr ""
"Pour définir un ``AutoNumber`` plus générique, ajoutez ``*args`` à la "
"signature ::"
#: library/enum.rst:900
msgid ""
"Then when you inherit from ``AutoNumber`` you can write your own "
"``__init__`` to handle any extra arguments::"
msgstr ""
"Ainsi, quand vous héritez d'``AutoNumber``, vous pouvez définir ``__init__`` "
"pour gérer tout argument supplémentaire ::"
#: library/enum.rst:919
msgid ""
@ -1220,14 +1232,13 @@ msgstr ""
"n'est pas trouvée ; elle peut être redéfinie"
#: library/enum.rst:1093
#, fuzzy
msgid ""
"``_ignore_`` -- a list of names, either as a :class:`list` or a :class:"
"`str`, that will not be transformed into members, and will be removed from "
"the final class"
msgstr ""
"``_ignore_`` -- une liste de noms, sous la forme de :func:`list` ou de :func:"
"`str`, qui ne seront pas transformés en membres, et seront supprimés de la "
"``_ignore_`` — liste de noms, sous la forme d'une :func:`list` ou d'une :"
"func:`str`, qui ne sont pas convertis en membres et sont supprimés de la "
"classe résultante"
#: library/enum.rst:1096
@ -1276,7 +1287,7 @@ msgstr ""
#: library/enum.rst:1126
msgid "_Private__names"
msgstr ""
msgstr "_Noms__privés"
#: library/enum.rst:1128
msgid ""
@ -1309,7 +1320,7 @@ msgstr ""
#: library/enum.rst:1155
msgid "This behavior is deprecated and will be removed in 3.11."
msgstr ""
msgstr "Ce comportement est obsolète et sera retiré en 3.11."
#: library/enum.rst:1161
msgid "Boolean value of ``Enum`` classes and members"

View File

@ -81,9 +81,8 @@ msgstr ""
"chapitre :ref:`tut-userexceptions`."
#: library/exceptions.rst:39
#, fuzzy
msgid "Exception context"
msgstr "Hiérarchie des exceptions"
msgstr "Contexte des exceptions"
#: library/exceptions.rst:41
msgid ""
@ -93,20 +92,21 @@ msgid ""
"`except` or :keyword:`finally` clause, or a :keyword:`with` statement, is "
"used."
msgstr ""
"Quand une exception est levée pendant qu'une autre exception est déjà en "
"traitement, l'attribut :attr:`__context__` de la nouvelle exception est "
"automatiquement affecté à l'exception qui est en cours de traitement. Une "
"exception peut être traitée quand une clause :keyword:`except` ou :keyword:"
"`finally`, ou une instruction :keyword:`with` est utilisée."
#: library/exceptions.rst:47
#, fuzzy
msgid ""
"This implicit exception context can be supplemented with an explicit cause "
"by using :keyword:`!from` with :keyword:`raise`::"
msgstr ""
"En levant une nouvelle exception (plutôt que d'utiliser un simple ``raise`` "
"pour lever à nouveau l'exception en cours de traitement), le contexte "
"implicite d'exception peut être complété par une cause explicite en "
"utilisant :keyword:`from` avec :keyword:`raise` ::"
"Ce contexte implicite d'exception peut être complété par une cause explicite "
"en utilisant :keyword:`!from` avec :keyword:`raise` ::"
#: library/exceptions.rst:53
#, fuzzy
msgid ""
"The expression following :keyword:`from<raise>` must be an exception or "
"``None``. It will be set as :attr:`__cause__` on the raised exception. "
@ -117,12 +117,12 @@ msgid ""
"while leaving the old exception available in :attr:`__context__` for "
"introspection when debugging."
msgstr ""
"L'expression suivant :keyword:`from` doit être une exception ou ``None``. "
"Elle sera assignée en tant que :attr:`__cause__` dans l'exception levée. "
"Changer :attr:`__cause__` change aussi implicitement l'attribut :attr:"
"L'expression suivant :keyword:`from<raise>` doit être une exception ou "
"``None``. Elle sera assignée en tant que :attr:`__cause__` dans l'exception "
"levée. Changer :attr:`__cause__` change aussi implicitement l'attribut :attr:"
"`__suppress_context__` à ``True``, de sorte que l'utilisation de ``raise "
"new_exc from None`` remplace bien l'ancienne exception avec la nouvelle à "
"des fins d'affichage (e.g., convertir :exc:`KeyError` en :exc:"
"des fins d'affichage (par exemple, convertir :exc:`KeyError` en :exc:"
"`AttributeError`), tout en laissant l'ancienne exception disponible dans :"
"attr:`__context__` pour introspection lors du débogage."
@ -152,9 +152,8 @@ msgstr ""
"d'appels montre toujours la dernière exception qui a été levée."
#: library/exceptions.rst:74
#, fuzzy
msgid "Inheriting from built-in exceptions"
msgstr "La hiérarchie de classes pour les exceptions natives est la suivante :"
msgstr "Hériter des exceptions natives"
#: library/exceptions.rst:76
msgid ""
@ -163,6 +162,11 @@ msgid ""
"possible conflicts between how the bases handle the ``args`` attribute, as "
"well as due to possible memory layout incompatibilities."
msgstr ""
"Le code de l'utilisateur peut créer des sous-classes qui dérivent d'un type "
"d'exception. Il est recommandé de ne dériver que d'un seul type d'exception "
"à la fois pour éviter des conflits possibles dans la façon dont les classes "
"mères traitent l'argument ``args`` ainsi que des incompatibilités "
"potentielles avec l'utilisation de la mémoire."
#: library/exceptions.rst:83
msgid ""
@ -173,6 +177,13 @@ msgid ""
"between Python versions, leading to new conflicts in the future. Therefore, "
"it's recommended to avoid subclassing multiple exception types altogether."
msgstr ""
"La majorité des exceptions natives sont implémentées en C pour des raisons "
"d'efficacité, voir :source:`Objects/exceptions.c`. L'architecture interne de "
"certaines est telle que cela rend impossible la création de sous-classes qui "
"dérivent de plusieurs types d'exceptions. L'agencement de la mémoire est un "
"détail d'implémentation qui est sujet à changement d'une version de Python à "
"l'autre, ce qui peut poser conflit dans le futur. Il est donc déconseillé de "
"dériver de plusieurs types d'exceptions."
#: library/exceptions.rst:93
msgid "Base classes"
@ -386,6 +397,12 @@ msgid ""
"allow :exc:`KeyboardInterrupt` to end the program as quickly as possible or "
"avoid raising it entirely. (See :ref:`handlers-and-exceptions`.)"
msgstr ""
"Attraper une :exc:`KeyboardInterrupt` demande une considération "
"particulière. Comme elle peut être levée à des moments imprévisibles, elle "
"peut dans certains cas laisser le programme en cours d'exécution dans un "
"état incohérent. Il est généralement préférable de laisser :exc:"
"`KeyboardInterrupt` arrêter le programme aussi rapidement que possible ou "
"d'éviter catégoriquement de la lever (voir :ref:`handlers-and-exceptions`)."
#: library/exceptions.rst:249
msgid ""
@ -689,7 +706,6 @@ msgstr ""
"`asynchronous iterator` pour arrêter l'itération."
#: library/exceptions.rst:426
#, fuzzy
msgid ""
"Raised when the parser encounters a syntax error. This may occur in an :"
"keyword:`import` statement, in a call to the built-in functions :func:"
@ -698,36 +714,42 @@ msgid ""
msgstr ""
"Levée lorsque l'analyseur syntaxique rencontre une erreur de syntaxe. Cela "
"peut se produire dans une instruction :keyword:`import`, dans un appel aux "
"fonctions natives :func:`exec` ou :func:`eval`, ou lors de la lecture du "
"script initial ou de l'entrée standard (également de manière interactive)."
"fonctions natives :func:`compile`, :func:`exec` ou :func:`eval`, ou lors de "
"la lecture du script initial ou de l'entrée standard (également de manière "
"interactive)."
#: library/exceptions.rst:432
msgid ""
"The :func:`str` of the exception instance returns only the error message. "
"Details is a tuple whose members are also available as separate attributes."
msgstr ""
"La conversion en chaîne avec :func:`str` de l'instance de l'exception ne "
"renvoie que le message d'erreur. L'argument ``details`` est un *n*-uplet "
"dont les membres sont disponibles en tant qu'attributs séparés."
#: library/exceptions.rst:437
#, fuzzy
msgid "The name of the file the syntax error occurred in."
msgstr "Le nom de l'encodage qui a provoqué l'erreur."
msgstr "Le nom du fichier dans lequel l'erreur de syntaxe a été rencontrée."
#: library/exceptions.rst:441
msgid ""
"Which line number in the file the error occurred in. This is 1-indexed: the "
"first line in the file has a ``lineno`` of 1."
msgstr ""
"Le numéro de la ligne dans le fichier où l'erreur s'est produite. L'indiçage "
"commence à 1 : ``lineno`` vaut 1 pour la première ligne du fichier."
#: library/exceptions.rst:446
msgid ""
"The column in the line where the error occurred. This is 1-indexed: the "
"first character in the line has an ``offset`` of 1."
msgstr ""
"La colonne dans la ligne où l'erreur s'est produite. L'indiçage commence à "
"1 : ``offset`` vaut 1 pour le premier caractère de la ligne."
#: library/exceptions.rst:451
#, fuzzy
msgid "The source code text involved in the error."
msgstr "Le nom de l'encodage qui a provoqué l'erreur."
msgstr "Le texte du code source impliqué dans l'erreur."
#: library/exceptions.rst:453
msgid ""
@ -980,7 +1002,6 @@ msgstr ""
"levées en fonction du code d'erreur système."
#: library/exceptions.rst:614
#, fuzzy
msgid ""
"Raised when an operation would block on an object (e.g. socket) set for non-"
"blocking operation. Corresponds to :c:data:`errno` :py:data:`~errno."
@ -988,8 +1009,9 @@ msgid ""
"data:`~errno.EINPROGRESS`."
msgstr ""
"Levée lorsqu'une opération bloque sur un objet (par exemple un connecteur) "
"configuré pour une opération non-bloquante. Correspond à :c:data:`errno` "
"``EAGAIN``, ``EALREADY``, ``EWOULDBLOCK`` et ``EINPROGRESS``."
"configuré pour une opération non-bloquante. Correspond à :c:data:`errno` :py:"
"data:`~errno.EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno."
"EWOULDBLOCK` et :py:data:`~errno.EINPROGRESS`."
#: library/exceptions.rst:619
msgid ""
@ -1010,13 +1032,12 @@ msgstr ""
"classes tampon entrées-sorties du module :mod:`io`."
#: library/exceptions.rst:630
#, fuzzy
msgid ""
"Raised when an operation on a child process failed. Corresponds to :c:data:"
"`errno` :py:data:`~errno.ECHILD`."
msgstr ""
"Levée lorsqu'une opération sur un processus enfant a échoué. Correspond à :c:"
"data:`errno` ``ECHILD``."
"data:`errno` :py:data:`~errno.ECHILD`."
#: library/exceptions.rst:635
msgid "A base class for connection-related issues."
@ -1032,7 +1053,6 @@ msgstr ""
"`ConnectionResetError`."
#: library/exceptions.rst:642
#, fuzzy
msgid ""
"A subclass of :exc:`ConnectionError`, raised when trying to write on a pipe "
"while the other end has been closed, or trying to write on a socket which "
@ -1042,56 +1062,53 @@ msgstr ""
"Une sous-classe de :exc:`ConnectionError`, levé en essayant d'écrire sur un "
"*pipe* alors que l'autre extrémité a été fermée, ou en essayant d'écrire sur "
"un connecteur (*socket* en anglais) qui a été fermé pour l'écriture. "
"Correspond à :c:data:`errno` ``EPIPE`` et ``ESHUTDOWN``."
"Correspond à :c:data:`errno` :py:data:`~errno.EPIPE` et :py:data:`~errno."
"ESHUTDOWN`."
#: library/exceptions.rst:649
#, fuzzy
msgid ""
"A subclass of :exc:`ConnectionError`, raised when a connection attempt is "
"aborted by the peer. Corresponds to :c:data:`errno` :py:data:`~errno."
"ECONNABORTED`."
msgstr ""
"Une sous-classe de :exc:`ConnectionError`, levée lorsqu'une tentative de "
"connexion est interrompue par le pair. Correspond à :c:data:`errno` "
"``ECONNABORTED``."
"connexion est interrompue par le pair. Correspond à :c:data:`errno` :py:data:"
"`~errno.ECONNABORTED`."
#: library/exceptions.rst:655
#, fuzzy
msgid ""
"A subclass of :exc:`ConnectionError`, raised when a connection attempt is "
"refused by the peer. Corresponds to :c:data:`errno` :py:data:`~errno."
"ECONNREFUSED`."
msgstr ""
"Une sous-classe de :exc:`ConnectionError`, levée lorsqu'une tentative de "
"connexion est refusée par le pair. Correspond à :c:data:`errno` "
"``ECONNREFUSED``."
"connexion est refusée par le pair. Correspond à :c:data:`errno` :py:data:"
"`~errno.ECONNREFUSED`."
#: library/exceptions.rst:661
#, fuzzy
msgid ""
"A subclass of :exc:`ConnectionError`, raised when a connection is reset by "
"the peer. Corresponds to :c:data:`errno` :py:data:`~errno.ECONNRESET`."
msgstr ""
"Une sous-classe de :exc:`ConnectionError`, levée lorsqu'une connexion est "
"réinitialisée par le pair. Correspond à :c:data:`errno` ``ECONNRESET``."
"réinitialisée par le pair. Correspond à :c:data:`errno` :py:data:`~errno."
"ECONNRESET`."
#: library/exceptions.rst:667
#, fuzzy
msgid ""
"Raised when trying to create a file or directory which already exists. "
"Corresponds to :c:data:`errno` :py:data:`~errno.EEXIST`."
msgstr ""
"Levée en essayant de créer un fichier ou un répertoire qui existe déjà. "
"Correspond à :c:data:`errno` ``EEXIST``."
"Levée pendant la tentative de création d'un fichier ou d'un répertoire qui "
"existe déjà. Correspond à :c:data:`errno` :py:data:`~errno.EEXIST`."
#: library/exceptions.rst:672
#, fuzzy
msgid ""
"Raised when a file or directory is requested but doesn't exist. Corresponds "
"to :c:data:`errno` :py:data:`~errno.ENOENT`."
msgstr ""
"Levée lorsqu'un fichier ou répertoire est demandé mais n'existe pas. "
"Correspond à :c:data:`errno` ``ENOENT``."
"Correspond à :c:data:`errno` :py:data:`~errno.ENOENT`."
#: library/exceptions.rst:677
msgid ""
@ -1112,16 +1129,15 @@ msgstr ""
"`475` pour les raisons), au lieu de lever :exc:`InterruptedError`."
#: library/exceptions.rst:687
#, fuzzy
msgid ""
"Raised when a file operation (such as :func:`os.remove`) is requested on a "
"directory. Corresponds to :c:data:`errno` :py:data:`~errno.EISDIR`."
msgstr ""
"Levée lorsqu'une opération sur un fichier (comme :func:`os.remove`) est "
"demandée sur un répertoire. Correspond à :c:data:`errno` ``EISDIR``."
"demandée sur un répertoire. Correspond à :c:data:`errno` :py:data:`~errno."
"EISDIR`."
#: library/exceptions.rst:693
#, fuzzy
msgid ""
"Raised when a directory operation (such as :func:`os.listdir`) is requested "
"on something which is not a directory. On most POSIX platforms, it may also "
@ -1130,8 +1146,10 @@ msgid ""
"ENOTDIR`."
msgstr ""
"Levée lorsqu'une opération sur un répertoire (comme :func:`os.listdir`) est "
"demandée sur autre chose qu'un répertoire. Correspond à :c:data:`errno` "
"``ENOTDIR``."
"demandée sur autre chose qu'un répertoire. Sur la majorité des plateformes "
"*POSIX*, elle est aussi levée quand une opération tente d'ouvrir ou de "
"traverser un fichier qui n'est pas un répertoire comme s'il en était un. "
"Correspond à :c:data:`errno` :py:data:`~errno.ENOTDIR`."
#: library/exceptions.rst:701
#, fuzzy
@ -1145,22 +1163,20 @@ msgstr ""
"c:data:`errno` ``EACCES`` et ``EPERM``."
#: library/exceptions.rst:707
#, fuzzy
msgid ""
"Raised when a given process doesn't exist. Corresponds to :c:data:`errno` :"
"py:data:`~errno.ESRCH`."
msgstr ""
"Levée lorsqu'un processus donné n'existe pas. Correspond à :c:data:`errno` "
"``ESRCH``."
"Levée lorsqu'un processus donné n'existe pas. Correspond à :c:data:`errno` :"
"py:data:`~errno.ESRCH`."
#: library/exceptions.rst:712
#, fuzzy
msgid ""
"Raised when a system function timed out at the system level. Corresponds to :"
"c:data:`errno` :py:data:`~errno.ETIMEDOUT`."
msgstr ""
"Levée lorsqu'une fonction système a expiré au niveau système. Correspond à :"
"c:data:`errno` ``ETIMEDOUT``."
"c:data:`errno` :py:data:`~errno.ETIMEDOUT`."
#: library/exceptions.rst:715
msgid "All the above :exc:`OSError` subclasses were added."
@ -1205,10 +1221,13 @@ msgid ""
"pep:`565`). Enabling the :ref:`Python Development Mode <devmode>` shows this "
"warning."
msgstr ""
"Ignoré par les filtres d'avertissements par défaut, sauf dans le module "
"``__main__`` (:pep:`565`). Activer le :ref:`mode de développement de Python "
"<devmode>` affiche cet avertissement."
#: library/exceptions.rst:767
msgid "The deprecation policy is described in :pep:`387`."
msgstr ""
msgstr "La politique relative à l'obsolescence est décrite dans la :pep:`387`."
#: library/exceptions.rst:756
msgid ""
@ -1234,6 +1253,8 @@ msgid ""
"Ignored by the default warning filters. Enabling the :ref:`Python "
"Development Mode <devmode>` shows this warning."
msgstr ""
"Ignoré par les filtres d'avertissements par défaut. Activer le :ref:`mode de "
"développement de Python <devmode>` affiche cet avertissement."
#: library/exceptions.rst:772
msgid "Base class for warnings about dubious syntax."
@ -1272,9 +1293,9 @@ msgstr ""
"`bytearray`."
#: library/exceptions.rst:806
#, fuzzy
msgid "Base class for warnings related to resource usage."
msgstr "Classe de base pour les avertissements liés à l'Unicode."
msgstr ""
"Classe mère pour les avertissements liés à l'utilisation des ressources."
#: library/exceptions.rst:816
msgid "Exception hierarchy"

View File

@ -16,7 +16,7 @@ msgstr ""
#: library/fileinput.rst:2
msgid ":mod:`fileinput` --- Iterate over lines from multiple input streams"
msgstr ""
msgstr ":mod:`fileinput`  Parcourt les lignes provenant de plusieurs entrées"
#: library/fileinput.rst:10
msgid "**Source code:** :source:`Lib/fileinput.py`"
@ -28,10 +28,13 @@ msgid ""
"over standard input or a list of files. If you just want to read or write "
"one file see :func:`open`."
msgstr ""
"Ce module offre une classe auxiliaire et des fonctions pour lire facilement "
"l'entrée standard ou bien les fichiers d'une liste. Si vous n'avez besoin de "
"lire ou écrire qu'un seul fichier, il suffit de :func:`open`."
#: library/fileinput.rst:18
msgid "The typical use is::"
msgstr ""
msgstr "Ce module s'utilise le plus couramment comme ceci :"
#: library/fileinput.rst:24
msgid ""
@ -42,6 +45,12 @@ msgid ""
"it as the first argument to :func:`.input`. A single file name is also "
"allowed."
msgstr ""
"Ce code traite une à une les lignes des fichiers de ``sys.argv[1:]``. Si "
"cette liste est vide (pas d'argument en ligne de commande), il lit l'entrée "
"standard. Le nom de fichier ``'-'`` est équivalent à l'entrée standard (les "
"arguments facultatifs *mode* et *openhook* sont ignorés dans ce cas). On "
"peut aussi passer la liste des fichiers comme argument à :func:`.input`, "
"voire un nom de fichier unique."
#: library/fileinput.rst:30
msgid ""
@ -50,12 +59,16 @@ msgid ""
"`FileInput`. If an I/O error occurs during opening or reading a file, :exc:"
"`OSError` is raised."
msgstr ""
"Par défaut, tous les fichiers sont ouverts en mode texte. On peut changer ce "
"comportement à l'aide du paramètre *mode* de la fonction :func:`.input` ou "
"du constructeur de :class:`FileInput`. Si une erreur d'entrée-sortie se "
"produit durant l'ouverture ou la lecture d'un fichier, l'exception :exc:"
"`OSError` est levée."
#: library/fileinput.rst:35
#, fuzzy
msgid ":exc:`IOError` used to be raised; it is now an alias of :exc:`OSError`."
msgstr ""
":exc:`IOError` était normalement levée, elle est maintenant un alias de :exc:"
":exc:`IOError` était levée auparavant, elle est devenue un alias de :exc:"
"`OSError`."
#: library/fileinput.rst:38
@ -64,6 +77,10 @@ msgid ""
"return no lines, except perhaps for interactive use, or if it has been "
"explicitly reset (e.g. using ``sys.stdin.seek(0)``)."
msgstr ""
"Si ``sys.stdin`` apparaît plus d'une fois dans la liste, toutes les lignes "
"sont consommées dès la première fois, sauf éventuellement en cas d'usage "
"interactif ou si le flux d'entrée standard a été modifié dans l'intervalle "
"(par exemple avec ``sys.stdin.seek(0)``)."
#: library/fileinput.rst:42
msgid ""
@ -71,12 +88,18 @@ msgid ""
"in the list of filenames is noticeable at all is when the last file opened "
"is empty."
msgstr ""
"Les fichiers vides sont ouverts et refermés immédiatement. Ils ne sont pas "
"détectables dans la liste des fichiers, sauf éventuellement dans le cas où "
"le dernier fichier est vide."
#: library/fileinput.rst:46
msgid ""
"Lines are returned with any newlines intact, which means that the last line "
"in a file may not have one."
msgstr ""
"Les caractères de saut de ligne sont préservés, donc toutes les lignes se "
"terminent par un saut de ligne, sauf éventuellement la dernière ligne d'un "
"fichier."
#: library/fileinput.rst:49
msgid ""
@ -89,7 +112,7 @@ msgstr ""
#: library/fileinput.rst:55
msgid "The following function is the primary interface of this module:"
msgstr ""
msgstr "La fonction suivante constitue l'interface principale du module :"
#: library/fileinput.rst:60
msgid ""
@ -98,6 +121,11 @@ msgid ""
"to use during iteration. The parameters to this function will be passed "
"along to the constructor of the :class:`FileInput` class."
msgstr ""
"Crée une instance de :class:`FileInput`, qui devient l'état global pour "
"toutes les fonctions du module. Elle est également renvoyée afin que "
"l'utilisateur puisse la parcourir comme un objet itérable. Tous les "
"paramètres de cette fonction sont transmis au constructeur de :class:"
"`FileInput`."
#: library/fileinput.rst:65
msgid ""
@ -105,32 +133,44 @@ msgid ""
"keyword:`with` statement. In this example, *input* is closed after the :"
"keyword:`!with` statement is exited, even if an exception occurs::"
msgstr ""
"Les instances de :class:`FileInput` peuvent s'utiliser comme gestionnaires "
"de contexte, avec l'instruction :keyword:`with`. Dans le code suivant, "
"*input* est fermé lorsque le bloc :keyword:`!with` se termine, y compris si "
"une exception l'a interrompu."
#: library/fileinput.rst:166
msgid "Can be used as a context manager."
msgstr ""
msgstr "prise en charge du protocole de gestionnaire de contexte."
#: library/fileinput.rst:76
msgid "The keyword parameters *mode* and *openhook* are now keyword-only."
msgstr ""
msgstr "les paramètres *mode* et *openhook* doivent être nommés."
#: library/fileinput.rst:80
msgid ""
"The following functions use the global state created by :func:`fileinput."
"input`; if there is no active state, :exc:`RuntimeError` is raised."
msgstr ""
"Toutes les fonctions suivantes font appel à l'état global du module mis en "
"place par :func:`fileinput.input`. L'absence de cet état déclenche "
"l'exception :exc:`RuntimeError`."
#: library/fileinput.rst:86
msgid ""
"Return the name of the file currently being read. Before the first line has "
"been read, returns ``None``."
msgstr ""
"Renvoie le nom du fichier en train d'être lu, ou ``None`` avant la lecture "
"de la toute première ligne."
#: library/fileinput.rst:92
msgid ""
"Return the integer \"file descriptor\" for the current file. When no file is "
"opened (before the first line and between files), returns ``-1``."
msgstr ""
"Renvoie le descripteur de fichier (sous forme d'entier) utilisé pour lire le "
"fichier courant. Si aucun fichier n'est ouvert (avant la première ligne et "
"entre les fichiers), le résultat est ``-1``."
#: library/fileinput.rst:98
msgid ""
@ -138,6 +178,10 @@ msgid ""
"Before the first line has been read, returns ``0``. After the last line of "
"the last file has been read, returns the line number of that line."
msgstr ""
"Renvoie le numéro de la ligne qui vient d'être lue, en commençant par la "
"première ligne du premier fichier. Avant cette toute première ligne, renvoie "
"``0``. Après la dernière ligne du dernier fichier, renvoie le numéro de "
"cette ligne."
#: library/fileinput.rst:105
msgid ""
@ -145,18 +189,25 @@ msgid ""
"read, returns ``0``. After the last line of the last file has been read, "
"returns the line number of that line within the file."
msgstr ""
"Renvoie le numéro de ligne relatif au fichier courant. Avant la toute "
"première ligne, renvoie ``0``. Après la toute dernière ligne, renvoie le "
"numéro de cette ligne par rapport à son fichier source."
#: library/fileinput.rst:112
msgid ""
"Return ``True`` if the line just read is the first line of its file, "
"otherwise return ``False``."
msgstr ""
"Renvoie ``True`` ou ``False`` selon que la ligne qui vient d'être lue est la "
"première du fichier."
#: library/fileinput.rst:118
msgid ""
"Return ``True`` if the last line was read from ``sys.stdin``, otherwise "
"return ``False``."
msgstr ""
"``True`` ou ``False`` selon que la dernière ligne lue provenait de ``sys."
"stdin`` ou non."
#: library/fileinput.rst:124
msgid ""
@ -168,16 +219,27 @@ msgid ""
"file. After the last line of the last file has been read, this function has "
"no effect."
msgstr ""
"Ferme le fichier courant et laisse la lecture se poursuivre au début du "
"suivant (ou se terminer si c'était le dernier fichier ; dans ce cas cette "
"fonction ne fait rien). Les lignes court-circuitées ne comptent pas dans les "
"numéros des lignes des fichiers suivants. Le nom du fichier courant n'est "
"pas modifié immédiatement, mais seulement après que la première ligne du "
"fichier suivant a été lue. Cette fonction n'a pas d'effet avant la lecture "
"de la première ligne (elle ne peut pas sauter le premier fichier)."
#: library/fileinput.rst:134
msgid "Close the sequence."
msgstr ""
"Ferme le fichier courant et termine la lecture en sautant les fichiers "
"suivants."
#: library/fileinput.rst:136
msgid ""
"The class which implements the sequence behavior provided by the module is "
"available for subclassing as well:"
msgstr ""
"La classe qui implémente ce comportement du module est publique. On peut en "
"créer des classes filles."
#: library/fileinput.rst:142
msgid ""
@ -203,6 +265,10 @@ msgid ""
"*filename* and *mode*, and returns an accordingly opened file-like object. "
"You cannot use *inplace* and *openhook* together."
msgstr ""
"S'il est fourni, l'argument *openhook* est une fonction. Elle est appelée "
"avec les paramètres *filename* et *mode*, et renvoie un objet fichier-"
"compatible ouvert selon *mode*. Notez que *openhook* et *inplace* sont "
"mutuellement exclusifs."
#: library/fileinput.rst:158
msgid ""
@ -210,18 +276,22 @@ msgid ""
"keyword:`with` statement. In this example, *input* is closed after the :"
"keyword:`!with` statement is exited, even if an exception occurs::"
msgstr ""
"Les objets :class:`FileInput` peuvent aussi fonctionner comme gestionnaires "
"de contexte dans un bloc :keyword:`with`. Dans l'exemple suivant, *input* "
"est fermé à la fin du bloc :keyword:`!with`, même arrêté par une exception."
#: library/fileinput.rst:169
msgid "The ``'rU'`` and ``'U'`` modes."
msgstr ""
msgstr "modes ``'rU'`` et ``'U'``."
#: library/fileinput.rst:172
msgid "Support for :meth:`__getitem__` method is deprecated."
msgstr ""
msgstr "accès à un indice avec :meth:`__getitem__`."
#: library/fileinput.rst:175
msgid "The keyword parameter *mode* and *openhook* are now keyword-only."
msgstr ""
"les paramètres *mode* et *openhook* doivent impérativement être nommés."
#: library/fileinput.rst:180
msgid ""
@ -236,10 +306,22 @@ msgid ""
"extension is ``'.bak'`` and it is deleted when the output file is closed. "
"In-place filtering is disabled when standard input is read."
msgstr ""
"**Filtrage sur place optionnel :** si ``inplace=True`` est passé à :func:"
"`fileinput.input` ou au constructeur de :class:`FileInput`, chaque fichier "
"d'entrée est déplacé vers une sauvegarde et la sortie standard est redirigée "
"vers le fichier lui-même, ce qui permet d'écrire des filtres qui modifient "
"directement les fichiers existants. Si le paramètre *backup* est fourni, il "
"donne l'extension des fichiers de sauvegarde. Dans ce cas, la sauvegarde est "
"conservée après l'opération. Par défaut, les fichiers de sauvegarde ont "
"l'extension ``'.bak'`` et sont supprimés dès que le fichier de sortie est "
"fermé. Si un fichier existe avec le même nom que la sauvegarde, il est "
"écrasé. Le filtrage sur place ne fait rien pour l'entrée standard."
#: library/fileinput.rst:192
msgid "The two following opening hooks are provided by this module:"
msgstr ""
"Les deux fonctions suivantes fournissent des valeurs prédéfinies pour "
"*openhook*."
#: library/fileinput.rst:196
msgid ""
@ -248,6 +330,11 @@ msgid ""
"modules. If the filename extension is not ``'.gz'`` or ``'.bz2'``, the file "
"is opened normally (ie, using :func:`open` without any decompression)."
msgstr ""
"Ouvre de façon transparente les fichiers compressés avec gzip ou bzip2, à "
"l'aide des modules :mod:`gzip` et :mod:`bz2`. Les fichiers compressés sont "
"reconnus aux extensions ``'.gz'`` et ``'.bz2'``. Tous les fichiers qui n'ont "
"pas l'une de ces deux extensions sont ouverts normalement (avec :func:"
"`open`, sans décompression)."
#: library/fileinput.rst:201
msgid ""
@ -260,13 +347,18 @@ msgid ""
"Returns a hook which opens each file with :func:`open`, using the given "
"*encoding* and *errors* to read the file."
msgstr ""
"Renvoie une fonction qui ouvre les fichiers en passant à :func:`open` les "
"arguments *encoding* et *errors*. Le résultat peut être exploité à travers "
"le point d'entrée automatique *openhook*."
#: library/fileinput.rst:209
msgid ""
"Usage example: ``fi = fileinput.FileInput(openhook=fileinput."
"hook_encoded(\"utf-8\", \"surrogateescape\"))``"
msgstr ""
"Exemple d'utilisation : ``fi = fileinput.FileInput(openhook=fileinput."
"hook_encoded(\"utf-8\", \"surrogateescape\"))``."
#: library/fileinput.rst:213
msgid "Added the optional *errors* parameter."
msgstr ""
msgstr "ajout du paramètre facultatif *errors*."

View File

@ -16,7 +16,7 @@ msgstr ""
#: library/ftplib.rst:2
msgid ":mod:`ftplib` --- FTP protocol client"
msgstr ""
msgstr ":mod:`ftplib` — Le protocole client FTP"
#: library/ftplib.rst:7
msgid "**Source code:** :source:`Lib/ftplib.py`"
@ -34,11 +34,11 @@ msgstr ""
#: library/ftplib.rst:22
msgid "The default encoding is UTF-8, following :rfc:`2640`."
msgstr ""
msgstr "L'encodage par défaut est UTF-8, voir la :rfc:`2640`."
#: library/ftplib.rst:24
msgid "Here's a sample session using the :mod:`ftplib` module::"
msgstr ""
msgstr "Voici un exemple de session utilisant le module :mod:`ftplib` ::"
#: library/ftplib.rst:46
msgid "The module defines the following items:"
@ -60,6 +60,8 @@ msgstr ""
#: library/ftplib.rst:60
msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:"
msgstr ""
"La classe :class:`FTP` peut s'utiliser avec l'instruction :keyword:`with`, "
"p. ex.:"
#: library/ftplib.rst:74
msgid "Support for the :keyword:`with` statement was added."
@ -111,23 +113,27 @@ msgstr ""
#: library/ftplib.rst:124
msgid "Here's a sample session using the :class:`FTP_TLS` class::"
msgstr ""
msgstr "Voici un exemple de session utilisant la classe :class:`FTP_TLS` ::"
#: library/ftplib.rst:137
msgid "Exception raised when an unexpected reply is received from the server."
msgstr ""
msgstr "Exception levée lorsqu'une réponse inattendue est reçue du serveur."
#: library/ftplib.rst:142
msgid ""
"Exception raised when an error code signifying a temporary error (response "
"codes in the range 400--499) is received."
msgstr ""
"Exception levée lorsqu'un code d'erreur signifiant une erreur temporaire "
"(code de réponse dans l'intervalle 400-499) est reçu."
#: library/ftplib.rst:148
msgid ""
"Exception raised when an error code signifying a permanent error (response "
"codes in the range 500--599) is received."
msgstr ""
"Exception levée lorsqu'un code d'erreur signifiant une erreur permanente "
"(code de réponse dans l'intervalle 500-599) est reçu."
#: library/ftplib.rst:154
msgid ""
@ -135,6 +141,9 @@ msgid ""
"the response specifications of the File Transfer Protocol, i.e. begin with a "
"digit in the range 1--5."
msgstr ""
"Exception levée lorsqu'une réponse reçue du serveur ne correspond pas aux à "
"la spécification de File Transfer Protocol, c.-à-d. qu'elle doit commencer "
"par un chiffre dans l'intervalle 1-5."
#: library/ftplib.rst:161
msgid ""
@ -168,9 +177,9 @@ msgid ""
msgstr ""
#: library/ftplib.rst:184
#, fuzzy
msgid ":class:`FTP` instances have the following methods:"
msgstr "Les instances :class:`Mailbox` contiennent les méthodes suivantes :"
msgstr ""
"Les instances de la classe :class:`FTP` possèdent les méthodes suivantes :"
#: library/ftplib.rst:189
msgid ""
@ -347,10 +356,17 @@ msgid ""
"directory). Multiple arguments can be used to pass non-standard options to "
"the ``NLST`` command."
msgstr ""
"Renvoie une liste de noms de fichiers comme celle que renvoie la commande "
"``NLST``. Le paramètre optionnel *argument* est une liste de dossiers (la "
"valeur par défaut est le répertoire courant du serveur). Plusieurs "
"paramètres peuvent être utilisés pour passer des paramètres non standards à "
"la commande ``NLST``."
#: library/ftplib.rst:371
msgid "If your server supports the command, :meth:`mlsd` offers a better API."
msgstr ""
"La commande :meth:`mlsd` offre une meilleure API si votre serveur sait la "
"gérer."
#: library/ftplib.rst:364
msgid ""
@ -365,6 +381,7 @@ msgstr ""
#: library/ftplib.rst:376
msgid "Rename file *fromname* on the server to *toname*."
msgstr ""
"Renomme le fichier portant le nom *fromname* en *toname* sur le serveur."
#: library/ftplib.rst:381
msgid ""
@ -379,15 +396,15 @@ msgstr ""
#: library/ftplib.rst:393
msgid "Create a new directory on the server."
msgstr ""
msgstr "Crée un nouveau dossier sur le serveur."
#: library/ftplib.rst:398
msgid "Return the pathname of the current directory on the server."
msgstr ""
msgstr "Renvoie le chemin d'accès au répertoire courant sur le serveur."
#: library/ftplib.rst:403
msgid "Remove the directory named *dirname* on the server."
msgstr ""
msgstr "Supprime le dossier portant le nom *dirname* sur le serveur."
#: library/ftplib.rst:408
msgid ""
@ -450,8 +467,8 @@ msgstr ""
#: library/ftplib.rst:461
msgid "Set up secure data connection."
msgstr ""
msgstr "Établit une connexion de données sécurisée."
#: library/ftplib.rst:465
msgid "Set up clear text data connection."
msgstr ""
msgstr "Établit une connexion de données non sécurisées."

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-22 22:16+0100\n"
"PO-Revision-Date: 2020-08-30 23:21+0200\n"
"PO-Revision-Date: 2023-03-22 22:49+0100\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: French <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -456,14 +456,13 @@ msgstr ""
"*null* ;"
#: library/functions.rst:153
#, fuzzy
msgid ""
"If it is an object conforming to the :ref:`buffer interface "
"<bufferobjects>`, a read-only buffer of the object will be used to "
"initialize the bytes array."
msgstr ""
"si c'est un objet conforme au protocole tampon, un tampon en lecture seule "
"de l'objet est utilisé pour initialiser le tableau ;"
"si c'est un objet conforme à :ref:`l'interface tampon <bufferobjects>`, un "
"tampon en lecture seule de l'objet est utilisé pour initialiser le tableau ;"
#: library/functions.rst:156
msgid ""
@ -644,7 +643,6 @@ msgstr ""
"``None`` sont affichés)."
#: library/functions.rst:248
#, fuzzy
msgid ""
"The optional arguments *flags* and *dont_inherit* control which :ref:"
"`compiler options <ast-compiler-flags>` should be activated and which :ref:"
@ -658,17 +656,18 @@ msgid ""
"in the surrounding code are ignored."
msgstr ""
"Les arguments optionnels *flags* et *dont_inherit* contrôlent quelles :ref:"
"`instructions future <future>` affectent la compilation de *source*. Si "
"aucun des deux n'est présent (ou que les deux sont à 0), le code est compilé "
"avec les mêmes instructions *future* que le code appelant :func:`compile`. "
"Si l'argument *flags* est fourni mais que *dont_inherit* ne l'est pas (ou "
"vaut 0), alors les instructions *futures* utilisées sont celles définies par "
"`options de compilation <ast-compiler-flags>` seront activées et quelles :"
"ref:`instructions future <future>` seront autorisées. Si aucun des deux "
"n'est présent (ou que les deux sont à 0), le code est compilé avec les mêmes "
"paramètres que le code appelant :func:`compile`. Si l'argument *flags* est "
"fourni alors que *dont_inherit* ne l'est pas (ou vaut 0), les options de "
"compilation et les instructions *futures* utilisées sont celles définies par "
"*flags* en plus de celles qui auraient été utilisées. Si *dont_inherit* est "
"un entier différent de zéro, *flags* est utilisé seul — les instructions "
"futures déclarées autour de l'appel à *compile* sont ignorées."
"un entier différent de zéro, *flags* est utilisé tel quel — les *flags* "
"(instructions futures et options de compilation) valables pour le code "
"encadrant *compile* sont ignorés."
#: library/functions.rst:259
#, fuzzy
msgid ""
"Compiler options and future statements are specified by bits which can be "
"bitwise ORed together to specify multiple options. The bitfield required to "
@ -678,10 +677,12 @@ msgid ""
"flags>` can be found in :mod:`ast` module, with ``PyCF_`` prefix."
msgstr ""
"Les instructions *future* sont contrôlées par des bits, il est ainsi "
"possible d'en activer plusieurs en les combinant avec un *ou* binaire. Les "
"possible d'en activer plusieurs en les combinant avec un *OU* binaire. Les "
"bits requis pour demander une certaine fonctionnalité se trouvent dans "
"l'attribut :attr:`~__future__._Feature.compiler_flag` de la classe :class:"
"`~__future__.Feature` du module :mod:`__future__`."
"`~__future__.Feature` du module :mod:`__future__`. Les :ref:`options du "
"compilateur <ast-compiler-flags>` se trouvent dans le module :mod:`ast`, "
"avec le préfixe ``PyCF_``."
#: library/functions.rst:267
msgid ""
@ -715,13 +716,12 @@ msgstr ""
"func:`ast.parse`."
#: library/functions.rst:279
#, fuzzy
msgid ""
"Raises an :ref:`auditing event <auditing>` ``compile`` with arguments "
"``source``, ``filename``."
msgstr ""
"Lève un :ref:`auditing event <auditing>` ``open`` avec les arguments "
"``file``, ``mode``, ``flags``."
"Lève un :ref:`évènement d'audit <auditing>` ``compile`` avec les arguments "
"``source`` et ``filename``."
#: library/functions.rst:281
msgid ""
@ -1082,13 +1082,12 @@ msgstr ""
"que des valeurs littérales."
#: library/functions.rst:532
#, fuzzy
msgid ""
"Raises an :ref:`auditing event <auditing>` ``exec`` with argument "
"``code_object``."
msgstr ""
"Lève un :ref:`auditing event <auditing>` ``open`` avec les arguments "
"``file``, ``mode``, ``flags``."
"Lève un :ref:`évènement d'audit <auditing>` ``exec`` avec l'argument "
"``code_object``."
#: library/functions.rst:534
msgid ""
@ -1100,7 +1099,6 @@ msgstr ""
"levés."
#: library/functions.rst:505
#, fuzzy
msgid ""
"This function supports dynamic execution of Python code. *object* must be "
"either a string or a code object. If it is a string, the string is parsed "
@ -1117,11 +1115,12 @@ msgstr ""
"d'abord analysée en une suite d'instructions Python qui sont ensuite "
"exécutés (sauf erreur de syntaxe). [#]_ Si c'est un objet code, il est "
"simplement exécuté. Dans tous les cas, le code fourni doit être valide selon "
"les mêmes critères que s'il était un script dans un fichier (voir la section "
"« Fichier d'entrée » dans le manuel de référence du langage). Gardez en tête "
"que les mots clés :keyword:`return` et :keyword:`yield` ne peuvent pas être "
"utilisés en dehors d'une fonction, même dans du code passé à :func:`exec`. "
"La fonction renvoie ``None``."
"les mêmes critères que s'il était un script dans un fichier (voir la "
"section :ref:`Fichier d'entrée <file-input>` dans le manuel de référence du "
"langage). Gardez en tête que les mots clés :keyword:`nonlocal`, :keyword:"
"`yield` et :keyword:`return` ne peuvent pas être utilisés en dehors d'une "
"fonction, même dans du code passé à :func:`exec`. La fonction renvoie "
"``None``."
#: library/functions.rst:516
msgid ""
@ -1377,18 +1376,20 @@ msgid ""
"with two leading underscores) name in order to retrieve it with :func:"
"`getattr`."
msgstr ""
"étant donné que la :ref:`transformation des noms privés <private-name-"
"mangling>` se produit au moment de la compilation, il faut modifier "
"manuellement le nom d'un attribut privé (attributs avec deux traits de "
"soulignement en tête) afin de le récupérer avec :func:`getattr`."
#: library/functions.rst:689
#, fuzzy
msgid ""
"Return the dictionary implementing the current module namespace. For code "
"within functions, this is set when the function is defined and remains the "
"same regardless of where the function is called."
msgstr ""
"Renvoie une représentation de la table de symboles globaux sous forme d'un "
"dictionnaire. C'est toujours le dictionnaire du module courant (dans une "
"fonction ou méthode, c'est le module où elle est définie, et non le module "
"d'où elle est appelée)."
"Renvoie le dictionnaire implémentant l'espace de nommage du module actuel. "
"Pour le code dans les fonctions, il est défini lorsque la fonction est "
"définie et reste le même quel que soit le moment où la fonction est appelée."
#: library/functions.rst:696
msgid ""
@ -1518,13 +1519,12 @@ msgstr ""
"de vie ne se chevauchent pas peuvent partager le même :func:`id`."
#: library/functions.rst:777
#, fuzzy
msgid ""
"Raises an :ref:`auditing event <auditing>` ``builtins.id`` with argument "
"``id``."
msgstr ""
"Lève un :ref:`auditing event <auditing>` ``builtins.breakpoint`` avec "
"l'argument ``breakpointhook``."
"Lève un :ref:`évènement d'audit <auditing>` ``builtins.id`` avec l'argument "
"``id``."
#: library/functions.rst:782
msgid ""
@ -1547,13 +1547,12 @@ msgstr ""
"fournir des fonctionnalités d'édition et d'historique élaborées."
#: library/functions.rst:795
#, fuzzy
msgid ""
"Raises an :ref:`auditing event <auditing>` ``builtins.input`` with argument "
"``prompt``."
msgstr ""
"Lève un :ref:`auditing event <auditing>` ``builtins.input`` avec l'argument "
"``prompt`` avant de lire l'entrée."
"Lève un :ref:`évènement d'audit <auditing>` ``builtins.input`` avec "
"l'argument ``prompt``."
#: library/functions.rst:797
msgid ""
@ -1569,8 +1568,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``builtins.input/result`` with "
"argument ``result``."
msgstr ""
"Lève un :ref:`auditing event <auditing>` ``builtins.breakpoint`` avec "
"l'argument ``breakpointhook``."
"Lève un :ref:`évènement d'audit <auditing>` ``builtins.input/result`` avec "
"l'argument ``result``."
#: library/functions.rst:802
msgid ""

View File

@ -16,7 +16,7 @@ msgstr ""
#: library/gc.rst:2
msgid ":mod:`gc` --- Garbage Collector interface"
msgstr ""
msgstr ":mod:`gc`  Interface du ramasse-miettes"
#: library/gc.rst:12
msgid ""
@ -31,23 +31,34 @@ msgid ""
"this includes ``gc.DEBUG_SAVEALL``, causing garbage-collected objects to be "
"saved in gc.garbage for inspection."
msgstr ""
"Ce module constitue une interface au ramasse-miettes facultatif. Il permet "
"de désactiver le ramasse-miettes ou de régler la fréquence des passages. Il "
"fournit des options de débogage, et donne aussi accès aux objets qui ne "
"peuvent pas être détruits bien qu'ils aient été détectés comme non "
"référencés. Le ramasse-miettes vient en complément du système de comptage de "
"références, et peut donc être désactivé pour du code qui ne crée aucun cycle "
"de références. On le désactive avec ``gc.disable()``. Pour remonter à la "
"source d'une fuite de mémoire, utilisez ``gc.set_debug(gc.DEBUG_LEAK)``. "
"Notez que ``gc.DEBUG_LEAK`` inclut ``gc.DEBUG_SAVEALL``. Cette dernière "
"option fait que les objets inatteignables, au lieu d'être détruits, sont "
"placés dans la liste ``gc.garbage`` pour pouvoir y être examinés."
#: library/gc.rst:23
#, fuzzy
msgid "The :mod:`gc` module provides the following functions:"
msgstr "Le module :mod:`abc` fournit également la fonction suivante :"
msgstr "Le module :mod:`gc` contient les fonctions suivantes :"
#: library/gc.rst:28
msgid "Enable automatic garbage collection."
msgstr ""
msgstr "Active le ramasse-miettes."
#: library/gc.rst:33
msgid "Disable automatic garbage collection."
msgstr ""
msgstr "Désactive le ramasse-miettes."
#: library/gc.rst:38
msgid "Return ``True`` if automatic collection is enabled."
msgstr ""
"Renvoie ``True`` ou ``False`` selon que le ramasse-miettes est activé ou non."
#: library/gc.rst:43
msgid ""
@ -56,6 +67,11 @@ msgid ""
"0 to 2). A :exc:`ValueError` is raised if the generation number is "
"invalid. The number of unreachable objects found is returned."
msgstr ""
"Déclenche un passage du ramasse-miettes. En l'absence d'argument, un passage "
"complet est effectué. Le paramètre *generation* permet de le limiter à une "
"génération entre 0 et 2. Une exception :exc:`ValueError` est levée si le "
"numéro de la génération n'est pas valide. Cette fonction renvoie le nombre "
"d'objets inatteignables qui ont été détectés."
#: library/gc.rst:48
msgid ""
@ -71,10 +87,13 @@ msgid ""
"written to ``sys.stderr``. See below for a list of debugging flags which "
"can be combined using bit operations to control debugging."
msgstr ""
"Change les options de débogage du ramasse-miettes, qui activent l'écriture "
"d'informations sur ``sys.stderr``. Une liste d'options se trouve plus bas. "
"Les options peuvent se combiner par les opérateurs bit à bit."
#: library/gc.rst:63
msgid "Return the debugging flags currently set."
msgstr ""
msgstr "Renvoie les options de débogage actives."
#: library/gc.rst:68
msgid ""
@ -82,16 +101,21 @@ msgid ""
"returned. If *generation* is not None, return only the objects tracked by "
"the collector that are in that generation."
msgstr ""
"Renvoie la liste des objets suivis par le ramasse-miettes, à l'exclusion de "
"cette liste elle-même. Le paramètre facultatif *generation* restreint la "
"liste aux objets d'une génération particulière."
#: library/gc.rst:72
msgid "New *generation* parameter."
msgstr ""
msgstr "ajout du paramètre *generation*."
#: library/gc.rst:75
msgid ""
"Raises an :ref:`auditing event <auditing>` ``gc.get_objects`` with argument "
"``generation``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``gc.get_objects`` avec "
"l'argument ``generation``."
#: library/gc.rst:79
msgid ""
@ -99,16 +123,24 @@ msgid ""
"statistics since interpreter start. The number of keys may change in the "
"future, but currently each dictionary will contain the following items:"
msgstr ""
"Renvoie une liste de trois dictionnaires, un par génération. Ils contiennent "
"des statistiques sur l'action du ramasse-miettes depuis le lancement de "
"l'interpréteur. Les clés actuellement présentes sont les suivantes (d'autres "
"pourraient être ajoutées dans des versions ultérieures) :"
#: library/gc.rst:84
msgid "``collections`` is the number of times this generation was collected;"
msgstr ""
"``collections``, le nombre de fois où cette génération a été examinée par le "
"ramasse-miettes ;"
#: library/gc.rst:86
msgid ""
"``collected`` is the total number of objects collected inside this "
"generation;"
msgstr ""
"``collected``, le nombre total d'objets qui ont été détruits alors qu'ils "
"étaient dans cette génération ;"
#: library/gc.rst:89
msgid ""
@ -116,12 +148,18 @@ msgid ""
"uncollectable (and were therefore moved to the :data:`garbage` list) inside "
"this generation."
msgstr ""
"``uncollectable``, le nombre total d'objets qui ont été identifiés comme "
"indestructibles (et donc ajoutés à la liste :data:`garbage`) au sein de "
"cette génération."
#: library/gc.rst:98
msgid ""
"Set the garbage collection thresholds (the collection frequency). Setting "
"*threshold0* to zero disables collection."
msgstr ""
"Règle les seuils de déclenchement du ramasse-miettes, qui déterminent sa "
"fréquence de passage. Si *threshold0* est mis à zéro, le ramasse-miettes ne "
"passe jamais."
#: library/gc.rst:101
msgid ""
@ -141,18 +179,36 @@ msgid ""
"org/garbage_collector/#collecting-the-oldest-generation>`_ for more "
"information."
msgstr ""
"Les objets sont répartis en trois générations en fonction du nombre de "
"passages du ramasse-miettes qui les ont laissés intacts. Les objets "
"fraîchement créés sont placés dans la génération la plus jeune, numéro 0. À "
"chaque fois qu'un objet persiste à la suite d'un passage du ramasse-miettes, "
"il monte d'une génération, ceci jusqu'à la génération 2, la plus âgée. Le "
"ramasse-miettes se déclenche en fonction du nombre d'allocations et de "
"destructions depuis le passage précédent : lorsque les allocations moins les "
"destructions font plus que *threshold0*, un passage est initié. Lors des "
"premiers passages, seule la génération 0 est inspectée. La génération 1 est "
"examinée périodiquement, lorsque le nombre de passages sur la génération 0 "
"depuis le dernier passage ayant aussi examiné la génération 1 vient à "
"excéder *threshold1*. Les règles pour la génération 2 sont plus complexes. "
"Pour avoir des détails, voir `Collecting the oldest generation <https://"
"devguide.python.org/garbage_collector/#collecting-the-oldest-generation>`_ "
"(dans le guide du développeur, en anglais)."
#: library/gc.rst:118
msgid ""
"Return the current collection counts as a tuple of ``(count0, count1, "
"count2)``."
msgstr ""
"Renvoie un triplet des nombres totaux de passages effectués par génération."
#: library/gc.rst:124
msgid ""
"Return the current collection thresholds as a tuple of ``(threshold0, "
"threshold1, threshold2)``."
msgstr ""
"Renvoie les seuils de passage sous la forme du triplet ``(threshold0, "
"threshold1, threshold2)``."
#: library/gc.rst:130
msgid ""
@ -161,6 +217,11 @@ msgid ""
"extension types which do refer to other objects but do not support garbage "
"collection will not be found."
msgstr ""
"Renvoie la liste des objets qui contiennent directement une référence à l'un "
"quelconque des arguments. Il est à noter que cette fonction prend uniquement "
"en compte les objets suivis par le ramasse-miettes, ce qui exclut les "
"instances de certains types d'extension qui contiennent bien des références "
"sans pour autant prendre en charge le ramassage des miettes."
#: library/gc.rst:135
msgid ""
@ -169,6 +230,9 @@ msgid ""
"listed among the resulting referrers. To get only currently live objects, "
"call :func:`collect` before calling :func:`get_referrers`."
msgstr ""
"La liste renvoyée peut contenir des objets déjà isolés, mais maintenus en "
"mémoire à cause d'un cycle. Pour les exclure, appelez :func:`collect` juste "
"avant :func:`get_referrers`."
#: library/gc.rst:141
msgid ""
@ -177,12 +241,18 @@ msgid ""
"temporarily invalid state. Avoid using :func:`get_referrers` for any purpose "
"other than debugging."
msgstr ""
"La manipulation des objets renvoyés par :func:`get_referrers` est hasardeuse "
"car ils risquent d'être encore en cours d'initialisation, donc dans un état "
"temporairement instable. Mieux vaut réserver :func:`get_referrers` au "
"débogage."
#: library/gc.rst:146
msgid ""
"Raises an :ref:`auditing event <auditing>` ``gc.get_referrers`` with "
"argument ``objs``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``gc.get_referrers`` avec "
"l'argument ``objs``."
#: library/gc.rst:151
msgid ""
@ -195,12 +265,25 @@ msgid ""
"example, if an integer is directly reachable from an argument, that integer "
"object may or may not appear in the result list."
msgstr ""
"Renvoie une liste des objets pointés par les références que contiennent les "
"arguments. Ils sont déterminés en appelant, si présente, la méthode C :c:"
"member:`~PyTypeObject.tp_traverse` de chaque argument, qui visite les objets "
"auxquels cet argument fait référence. Il est à noter que :c:member:"
"`~PyTypeObject.tp_traverse` n'est définie que par les objets qui gèrent le "
"ramassage des miettes, et n'a l'obligation de visiter que les objets qui "
"peuvent potentiellement faire partie d'un cycle. Ainsi, la liste renvoyée "
"par cette fonction ne contient par forcément tous les objets qu'il est "
"possible d'atteindre à partir des arguments. Par exemple, si l'un des "
"arguments contient un entier, ce dernier objet peut être présent ou non dans "
"la liste."
#: library/gc.rst:159
msgid ""
"Raises an :ref:`auditing event <auditing>` ``gc.get_referents`` with "
"argument ``objs``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``gc.get_referents`` avec "
"l'argument ``objs``."
#: library/gc.rst:163
msgid ""
@ -211,12 +294,21 @@ msgid ""
"present in order to suppress the garbage collector footprint of simple "
"instances (e.g. dicts containing only atomic keys and values)::"
msgstr ""
"Renvoie ``True`` ou ``False`` selon que l'argument est suivi ou non par le "
"ramasse-miettes. En règle générale, les objets atomiques ne sont pas suivis, "
"tandis que les objets non-atomiques, tels que les conteneurs et instances de "
"classes définies par l'utilisateur, le sont. Cependant, certains types "
"présentent des optimisations qui permettent de se passer avantageusement du "
"ramasse-miettes dans les cas simples, comme les dictionnaires dont toutes "
"les clés et valeurs sont atomiques :"
#: library/gc.rst:188
msgid ""
"Returns ``True`` if the given object has been finalized by the garbage "
"collector, ``False`` otherwise. ::"
msgstr ""
"Renvoie ``True`` ou ``False`` selon que l'argument a été finalisé par le "
"ramasse-miettes."
#: library/gc.rst:209
msgid ""
@ -243,6 +335,8 @@ msgid ""
"The following variables are provided for read-only access (you can mutate "
"the values but should not rebind them):"
msgstr ""
"Les variables suivantes sont publiques, mais elles ne sont pas censées être "
"modifiées (vous pouvez les muter, mais pas les redéfinir)."
#: library/gc.rst:239
msgid ""
@ -251,12 +345,19 @@ msgid ""
"should be empty most of the time, except when using instances of C extension "
"types with a non-``NULL`` ``tp_del`` slot."
msgstr ""
"Liste des objets indestructibles, que le ramasse-miettes n'a pas pu éliminer "
"bien qu'ils soient inatteignables. Depuis Python 3.4, cette liste demeure la "
"plupart du temps vide. Elle peut se remplir si le programme fait appel à des "
"types d'extension définis en C avec un champ ``tp_del`` différent de "
"``NULL``."
#: library/gc.rst:244
msgid ""
"If :const:`DEBUG_SAVEALL` is set, then all unreachable objects will be added "
"to this list rather than freed."
msgstr ""
"Si :const:`DEBUG_SAVEALL` est actif, tous les objets inatteignables sont "
"ajoutés à cette liste au lieu d'être détruits."
#: library/gc.rst:247
msgid ""
@ -265,12 +366,19 @@ msgid ""
"`DEBUG_UNCOLLECTABLE` is set, in addition all uncollectable objects are "
"printed."
msgstr ""
"Si cette liste n'est pas vide lors de l':term:`arrêt de l'interpréteur "
"<interpreter shutdown>`, un :exc:`ResourceWarning` est émis (les "
"avertissements de ce type sont silencieux par défaut). De plus, si :const:"
"`DEBUG_UNCOLLECTABLE` est actif, tous les objets indestructibles sont "
"affichés."
#: library/gc.rst:253
msgid ""
"Following :pep:`442`, objects with a :meth:`__del__` method don't end up in :"
"attr:`gc.garbage` anymore."
msgstr ""
"en application de la :pep:`442`, les objets qui définissent une méthode :"
"meth:`__del__` ne finissent plus dans :attr:`gc.garbage`."
#: library/gc.rst:259
msgid ""
@ -278,72 +386,92 @@ msgid ""
"after collection. The callbacks will be called with two arguments, *phase* "
"and *info*."
msgstr ""
"Liste de fonctions de rappel lancées par le ramasse-miettes avant et après "
"un passage. Elles prennent deux arguments, *phase* et *info*."
#: library/gc.rst:263
msgid "*phase* can be one of two values:"
msgstr ""
msgstr "*phase* peut prendre deux valeurs :"
#: library/gc.rst:265
msgid "\"start\": The garbage collection is about to start."
msgstr ""
msgstr "``\"start\"`` lorsque le passage du ramasse-miettes est imminent."
#: library/gc.rst:267
msgid "\"stop\": The garbage collection has finished."
msgstr ""
"``\"stop\"`` lorsque le passage du ramasse-miettes vient de se terminer."
#: library/gc.rst:269
msgid ""
"*info* is a dict providing more information for the callback. The following "
"keys are currently defined:"
msgstr ""
"*info* est un dictionnaire qui donne plus d'informations à la fonction de "
"rappel. Les clés suivantes sont actuellement présentes :"
#: library/gc.rst:272
msgid "\"generation\": The oldest generation being collected."
msgstr ""
msgstr "``\"generation\"``, la génération la plus âgée intégrée à ce passage ;"
#: library/gc.rst:274
msgid ""
"\"collected\": When *phase* is \"stop\", the number of objects successfully "
"collected."
msgstr ""
"``\"collected\"`` : si *phase* vaut ``\"stop\"``, le nombre d'objets "
"détruits avec succès ;"
#: library/gc.rst:277
msgid ""
"\"uncollectable\": When *phase* is \"stop\", the number of objects that "
"could not be collected and were put in :data:`garbage`."
msgstr ""
"``\"uncollectable\"`` : si *phase* vaut ``\"stop\"``, le nombre d'objets "
"indestructibles ajoutés à :data:`garbage`."
#: library/gc.rst:280
msgid ""
"Applications can add their own callbacks to this list. The primary use "
"cases are:"
msgstr ""
"Toute application peut ajouter ses propres fonctions de rappel à cette "
"liste. Voici les principales applications :"
#: library/gc.rst:283
msgid ""
"Gathering statistics about garbage collection, such as how often various "
"generations are collected, and how long the collection takes."
msgstr ""
"Faire des statistiques sur le passage du ramasse-miettes, par exemple la "
"fréquence à laquelle chaque génération est examinée, ou bien le temps d'un "
"passage ;"
#: library/gc.rst:287
msgid ""
"Allowing applications to identify and clear their own uncollectable types "
"when they appear in :data:`garbage`."
msgstr ""
"Identifier les types définis par une application dont les instances "
"s'ajoutent à :data:`garbage` car elles sont indestructibles."
#: library/gc.rst:293
msgid "The following constants are provided for use with :func:`set_debug`:"
msgstr ""
"Les constantes suivantes définissent les options de débogage que l'on peut "
"passer à :func:`set_debug` :"
#: library/gc.rst:298
msgid ""
"Print statistics during collection. This information can be useful when "
"tuning the collection frequency."
msgstr ""
"Affiche des statistiques durant les passages du ramasse-miettes. Utile pour "
"pouvoir régler la fréquence des passages."
#: library/gc.rst:304
msgid "Print information on collectable objects found."
msgstr ""
msgstr "Affiche des informations sur les objets détruits."
#: library/gc.rst:309
msgid ""
@ -351,18 +479,27 @@ msgid ""
"reachable but cannot be freed by the collector). These objects will be "
"added to the ``garbage`` list."
msgstr ""
"Affiche des informations sur les objets indestructibles (ceux qui sont "
"ajoutés à la liste ``garbage``, qui sont inatteignables mais dont la mémoire "
"ne peut pas être libérée)."
#: library/gc.rst:313
msgid ""
"Also print the contents of the :data:`garbage` list at :term:`interpreter "
"shutdown`, if it isn't empty."
msgstr ""
"Affiche également le contenu de :data:`garbage` à l':term:`arrêt de "
"l'interpréteur <interpreter shutdown>`, pour peu que cette liste ne soit pas "
"vide."
#: library/gc.rst:319
msgid ""
"When set, all unreachable objects found will be appended to *garbage* rather "
"than being freed. This can be useful for debugging a leaking program."
msgstr ""
"Lorsque cette option est active, les objets inatteignables sont ajoutés à la "
"liste *garbage* au lieu d'être supprimés. Ceci est utile pour déboguer une "
"fuite de mémoire."
#: library/gc.rst:325
msgid ""
@ -370,3 +507,5 @@ msgid ""
"leaking program (equal to ``DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | "
"DEBUG_SAVEALL``)."
msgstr ""
"Combinaison des options utiles au débogage d'une fuite de mémoire. Il s'agit "
"d'un raccourci pour ``DEBUG_COLLECTABLE|DEBUG_UNCOLLECTABLE|DEBUG_SAVEALL``."

View File

@ -89,23 +89,24 @@ msgstr ""
"shell)."
#: library/glob.rst:56
#, fuzzy
msgid ""
"If *recursive* is true, the pattern \"``**``\" will match any files and zero "
"or more directories, subdirectories and symbolic links to directories. If "
"the pattern is followed by an :data:`os.sep` or :data:`os.altsep` then files "
"will not match."
msgstr ""
"Si *recursive* est vrai, le motif \"``**``\" reconnaît tous les fichiers et, "
"zéro ou plus répertoires et sous-répertoires. Si le motif est suivi par un "
"caractère de séparation ``os.sep``, seuls les répertoires et sous-"
"répertoires sont reconnus."
"Si *recursive* est vrai, le motif \"``**``\" reconnaît tous les fichiers, "
"aucun ou plusieurs répertoires, sous-répertoires et liens symboliques aux "
"répertoires. Si le motif est suivi par :data:`os.sep` ou :data:`os.altsep` "
"alors les fichiers ne sont pas inclus dans le résultat."
#: library/glob.rst:76
msgid ""
"Raises an :ref:`auditing event <auditing>` ``glob.glob`` with arguments "
"``pathname``, ``recursive``."
msgstr ""
"Lève un :ref:`évènement d'audit <auditing>` ``glob.glob`` avec les arguments "
"``pathname``, ``recursive``."
#: library/glob.rst:64
msgid ""

View File

@ -17,14 +17,18 @@ msgstr ""
#: library/graphlib.rst:2
msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures"
msgstr ""
":mod:`graphlib` — Fonctionnalités pour travailler avec des structures de "
"type graphe"
#: library/graphlib.rst:8
msgid "**Source code:** :source:`Lib/graphlib.py`"
msgstr ""
msgstr "**Code source:** :source:`Lib/graphlib.py`"
#: library/graphlib.rst:20
msgid "Provides functionality to topologically sort a graph of hashable nodes."
msgstr ""
"Fournit les fonctionnalités pour trier topologiquement un graphe de nœuds "
"hachables."
#: library/graphlib.rst:22
msgid ""
@ -37,6 +41,14 @@ msgid ""
"topological ordering is possible if and only if the graph has no directed "
"cycles, that is, if it is a directed acyclic graph."
msgstr ""
"L'ordre topologique est un ordre linéaire des sommets d'un graphe afin que "
"pour chaque arête u → v d'un sommet u à un sommet v, cet ordre va placer le "
"sommet u avant le sommet v. Par exemple, les sommets d'un graphe peuvent "
"représenter une tâche à faire et une arête peut représenter la contrainte "
"comme quoi telle tâche doit être réalisée avant telle autre. Dans cet "
"exemple, un ordre topologique est simplement une séquence valide pour ces "
"tâches. Cet ordre n'est possible que si le graphe n'a pas de circuit, c'est-"
"à-dire si c'est un graphe orienté acyclique."
#: library/graphlib.rst:31
msgid ""
@ -46,26 +58,35 @@ msgid ""
"nodes that have edges that point to the value in the key). Additional nodes "
"can be added to the graph using the :meth:`~TopologicalSorter.add` method."
msgstr ""
"Si l'argument optionnel *graph* est fourni, cela doit être un dictionnaire "
"représentant un graphe acyclique avec comme clés les nœuds et comme valeurs "
"des itérables sur les prédécesseurs de ces nœuds dans le graphe (les nœuds "
"qui ont des arêtes qui pointent vers la valeur de la clé). Les nœuds "
"s'ajoutent en utilisant la méthode :meth:`~TopologicalSorter.add`"
#: library/graphlib.rst:37
msgid ""
"In the general case, the steps required to perform the sorting of a given "
"graph are as follows:"
msgstr ""
"De manière générale, les étapes nécessaires pour trier un graphe donné sont "
"les suivantes :"
#: library/graphlib.rst:40
msgid ""
"Create an instance of the :class:`TopologicalSorter` with an optional "
"initial graph."
msgstr ""
"créer une instance de la classe :class:`TopologicalSorter` avec "
"éventuellement un graphe initial ;"
#: library/graphlib.rst:42
msgid "Add additional nodes to the graph."
msgstr ""
msgstr "ajouter d'autres nœuds au graphe ;"
#: library/graphlib.rst:43
msgid "Call :meth:`~TopologicalSorter.prepare` on the graph."
msgstr ""
msgstr "appeler :meth:`~TopologicalSorter.prepare` sur le graphe ;"
#: library/graphlib.rst:44
msgid ""
@ -73,6 +94,10 @@ msgid ""
"nodes returned by :meth:`~TopologicalSorter.get_ready` and process them. "
"Call :meth:`~TopologicalSorter.done` on each node as it finishes processing."
msgstr ""
"tant que :meth:`~TopologicalSorter.is_active` est à ``True``, itérer sur les "
"nœuds renvoyés par :meth:`~TopologicalSorter.get_ready` pour les traiter. "
"Appeler :meth:`~TopologicalSorter.done` sur chaque nœud une fois le "
"traitement terminé."
#: library/graphlib.rst:49
msgid ""
@ -80,24 +105,34 @@ msgid ""
"no parallelism is involved, the convenience method :meth:`TopologicalSorter."
"static_order` can be used directly:"
msgstr ""
"Si vous souhaitez simplement trier des nœuds du graphe sans parallélisme, la "
"méthode :meth:`TopologicalSorter.static_order` peut être utilisée "
"directement :"
#: library/graphlib.rst:60
msgid ""
"The class is designed to easily support parallel processing of the nodes as "
"they become ready. For instance::"
msgstr ""
"La classe est conçue pour prendre facilement en charge le traitement en "
"parallèle des nœuds quand ils deviennent disponibles. Par exemple ::"
#: library/graphlib.rst:87
msgid ""
"Add a new node and its predecessors to the graph. Both the *node* and all "
"elements in *predecessors* must be hashable."
msgstr ""
"Ajoute un nouveau nœud et son prédécesseur dans le graphe. Le *node* ainsi "
"que tous les éléments dans *predecessors* doivent être hachables."
#: library/graphlib.rst:90
msgid ""
"If called multiple times with the same node argument, the set of "
"dependencies will be the union of all dependencies passed in."
msgstr ""
"S'il est appelé plusieurs fois avec le même nœud en tant qu'argument, "
"l'ensemble des dépendances sera l'union de toutes les dépendances qui auront "
"été transmises."
#: library/graphlib.rst:93
msgid ""
@ -106,11 +141,17 @@ msgid ""
"provided before is included among *predecessors* it will be automatically "
"added to the graph with no predecessors of its own."
msgstr ""
"Il est possible d'ajouter un nœud sans dépendance (*predecessors* n'est pas "
"fourni) ou de fournir une dépendance deux fois. Si un nœud qui n'a jamais "
"été fourni auparavant est inclus dans *predecessors* il sera automatiquement "
"ajouté au graphe sans prédécesseur lui-même."
#: library/graphlib.rst:98
msgid ""
"Raises :exc:`ValueError` if called after :meth:`~TopologicalSorter.prepare`."
msgstr ""
"Lève une :exc:`ValueError` si appelée après :meth:`~TopologicalSorter."
"prepare`."
#: library/graphlib.rst:102
msgid ""
@ -121,6 +162,12 @@ msgid ""
"be modified, and therefore no more nodes can be added using :meth:"
"`~TopologicalSorter.add`."
msgstr ""
"Indique que le graphe est terminé et vérifie les circuits du graphe. Si un "
"circuit est détecté, une :exc:`CycleError` est levée mais :meth:"
"`~TopologicalSorter.get_ready` peut encore être utilisée pour obtenir autant "
"de nœuds que possible avant que les circuits ne bloquent la progression. "
"Après un appel de cette fonction, le graphe ne peut pas être modifié, et "
"donc aucun nœud ne peut être ajouté avec :meth:`~TopologicalSorter.add`."
#: library/graphlib.rst:111
msgid ""
@ -131,22 +178,32 @@ msgid ""
"`TopologicalSorter.done` is less than the number that have been returned by :"
"meth:`TopologicalSorter.get_ready`."
msgstr ""
"Renvoie ``True`` si une progression peut être faite et ``False`` dans le cas "
"contraire. La progression est possible si des circuits ne bloquent pas la "
"résolution ou qu'il reste des nœuds prêts qui n'ont pas encore été renvoyés "
"par :meth:`TopologicalSorter.get_ready` ou que le nombre de nœuds marqués :"
"meth:`TopologicalSorter.done` est inférieur au nombre qui a été renvoyé par :"
"meth:`TopologicalSorter.get_ready`."
#: library/graphlib.rst:118
msgid ""
"The :meth:`~TopologicalSorter.__bool__` method of this class defers to this "
"function, so instead of::"
msgstr ""
"La méthode :meth:`~TopologicalSorter.__bool__` de cette classe renvoie à "
"cette fonction donc au lieu de ::"
#: library/graphlib.rst:124
msgid "it is possible to simply do::"
msgstr ""
msgstr "il est plus simple de faire ::"
#: library/graphlib.rst:152
msgid ""
"Raises :exc:`ValueError` if called without calling :meth:`~TopologicalSorter."
"prepare` previously."
msgstr ""
"Lève une :exc:`ValueError` si l'appel à :meth:`~TopologicalSorter.prepare` "
"n'a pas été fait au préalable."
#: library/graphlib.rst:134
msgid ""
@ -154,6 +211,9 @@ msgid ""
"processed, unblocking any successor of each node in *nodes* for being "
"returned in the future by a call to :meth:`TopologicalSorter.get_ready`."
msgstr ""
"Marque un ensemble de nœuds renvoyé par :meth:`TopologicalSorter.get_ready` "
"comme traités, permettant aux successeurs de chaque nœud de *nodes* d'être "
"renvoyés lors d'un prochain appel à :meth:`~TopologicalSorter.get_ready`."
#: library/graphlib.rst:138
msgid ""
@ -163,6 +223,11 @@ msgid ""
"meth:`~TopologicalSorter.prepare` or if node has not yet been returned by :"
"meth:`~TopologicalSorter.get_ready`."
msgstr ""
"Lève une :exc:`ValueError` si n'importe quel nœud dans *nodes* a déjà été "
"marqué comme traité par un précédent appel à cette méthode ou si un nœud n'a "
"pas été ajouté au graphe en utilisant :meth:`TopologicalSorter.add`, si "
"l'appel est fait sans appel à :meth:`~TopologicalSorter.prepare` ou si le "
"nœud n'a pas encore été renvoyé par :meth:`~TopologicalSorter.get_ready`."
#: library/graphlib.rst:146
msgid ""
@ -172,6 +237,11 @@ msgid ""
"nodes that have all their predecessors already processed. Once no more "
"progress can be made, empty tuples are returned."
msgstr ""
"Renvoie un *n*-uplet avec tous les nœuds prêts. Renvoie d'abord tous les "
"nœuds sans prédécesseurs, et une fois marqués comme traités avec un appel "
"de :meth:`TopologicalSorter.done`, les autres appels renvoient tous les "
"nouveaux nœuds dont tous les prédécesseurs sont traités. Une fois que la "
"progression n'est plus possible, des tuples vides sont renvoyés."
#: library/graphlib.rst:157
msgid ""
@ -186,6 +256,8 @@ msgid ""
"The particular order that is returned may depend on the specific order in "
"which the items were inserted in the graph. For example:"
msgstr ""
"Le tri obtenu peut dépendre de l'ordre dans lequel les éléments ont été "
"ajoutés dans le graphe. Par exemple :"
#: library/graphlib.rst:186
msgid ""
@ -194,10 +266,14 @@ msgid ""
"`~TopologicalSorter.get_ready`) and the order between them is determined by "
"the order of insertion."
msgstr ""
"Ceci est dû au fait que \"0\" et \"2\" sont au même niveau dans le graphe "
"(ils auraient été renvoyés dans le même appel à :meth:`~TopologicalSorter."
"get_ready`) et l'ordre entre eux est déterminé par l'ordre lors de "
"l'insertion."
#: library/graphlib.rst:192
msgid "If any cycle is detected, :exc:`CycleError` will be raised."
msgstr ""
msgstr "Si un circuit est détecté alors une :exc:`CycleError` est levée."
#: library/graphlib.rst:198
msgid "Exceptions"
@ -205,7 +281,7 @@ msgstr "Exceptions"
#: library/graphlib.rst:199
msgid "The :mod:`graphlib` module defines the following exception classes:"
msgstr ""
msgstr "Le module :mod:`graphlib` définit les classes d'exceptions suivantes :"
#: library/graphlib.rst:203
msgid ""
@ -213,6 +289,9 @@ msgid ""
"cycles exist in the working graph. If multiple cycles exist, only one "
"undefined choice among them will be reported and included in the exception."
msgstr ""
"Une classe héritant de :exc:`ValueError` levée par :meth:`TopologicalSorter."
"prepare` si un circuit existe dans le graphe courant. Si plusieurs circuits "
"existent, un seul est inclus dans l'exception."
#: library/graphlib.rst:207
msgid ""
@ -222,3 +301,8 @@ msgid ""
"predecessor of the next node in the list. In the reported list, the first "
"and the last node will be the same, to make it clear that it is cyclic."
msgstr ""
"On accède au circuit détecté via le second élément de l'attribut :attr:"
"`~CycleError.args` de l'instance de l'exception. Cet attribut est une liste "
"de nœuds où chaque nœud est, dans le graphe, un prédécesseur immédiat du "
"nœud suivant de la liste. Dans la liste renvoyée, le premier et le dernier "
"nœud sont les mêmes afin de bien indiquer que c'est un circuit."

View File

@ -16,12 +16,11 @@ msgstr ""
#: library/html.parser.rst:2
msgid ":mod:`html.parser` --- Simple HTML and XHTML parser"
msgstr ""
msgstr ":mod:`html.parser`— Un analyseur syntaxique simple pour HTML et XHTML"
#: library/html.parser.rst:7
#, fuzzy
msgid "**Source code:** :source:`Lib/html/parser.py`"
msgstr "**Code source :** :source:`Lib/email/parser.py`"
msgstr "**Code source :** :source:`Lib/html/parser.py`"
#: library/html.parser.rst:15
msgid ""
@ -29,10 +28,17 @@ msgid ""
"for parsing text files formatted in HTML (HyperText Mark-up Language) and "
"XHTML."
msgstr ""
"Ce module définit une classe :class:`HTMLParser` qui sert de base pour "
"l'analyse syntaxique de fichiers texte formatés HTML (*HyperText Mark-up "
"Language*, le « langage de balisage hypertexte ») et XHTML (*EXtensible "
"HyperText Markup Language*, le « langage extensible de balisage "
"hypertexte »)."
#: library/html.parser.rst:20
msgid "Create a parser instance able to parse invalid markup."
msgstr ""
"Crée une instance d'analyseur capable de traiter tout balisage, même "
"invalide."
#: library/html.parser.rst:22
msgid ""
@ -40,6 +46,9 @@ msgid ""
"(except the ones in ``script``/``style`` elements) are automatically "
"converted to the corresponding Unicode characters."
msgstr ""
"Si *convert_charrefs* est ``True`` (valeur par défaut), toute référence de "
"caractère (sauf ceux enchâssés dans des éléments ``script``/``style``) est "
"automatiquement convertie en son caractère Unicode."
#: library/html.parser.rst:26
msgid ""
@ -48,6 +57,11 @@ msgid ""
"encountered. The user should subclass :class:`.HTMLParser` and override its "
"methods to implement the desired behavior."
msgstr ""
"Une instance de :class:`.HTMLParser` est alimentée par des données HTML. "
"Elle fait appel à des méthodes offrant un traitement spécifique quand est "
"rencontré un élément de balisage : balise ouvrante ou fermante, textes, "
"commentaires… Pour implémenter le comportement désiré, l'utilisateur crée "
"une sous-classe de :class:`.HTMLParser` en surchargeant ses méthodes."
#: library/html.parser.rst:31
msgid ""
@ -55,18 +69,22 @@ msgid ""
"tag handler for elements which are closed implicitly by closing an outer "
"element."
msgstr ""
"Cet analyseur ne vérifie ni que les balises fermantes correspondent aux "
"balises ouvrantes, ni n'invoque le gestionnaire de balises fermantes pour "
"les éléments implicitement fermés par un élément extérieur."
#: library/html.parser.rst:34
msgid "*convert_charrefs* keyword argument added."
msgstr ""
msgstr "L'argument *convert_charrefs* a été ajouté."
#: library/html.parser.rst:37
msgid "The default value for argument *convert_charrefs* is now ``True``."
msgstr ""
"La valeur par défaut de l'argument *convert_charrefs* est désormais ``True``."
#: library/html.parser.rst:42
msgid "Example HTML Parser Application"
msgstr ""
msgstr "Exemple d'application de l'analyseur HTML"
#: library/html.parser.rst:44
msgid ""
@ -74,20 +92,22 @@ msgid ""
"`HTMLParser` class to print out start tags, end tags, and data as they are "
"encountered::"
msgstr ""
"Comme exemple simple, un analyseur HTML minimal qui utilise la classe :class:"
"`HTMLParser` pour afficher les balises ouvrantes, les balises fermantes "
"ainsi que les données quand elles apparaissent ::"
#: library/html.parser.rst:64
msgid "The output will then be:"
msgstr ""
msgstr "La sortie est alors :"
#: library/html.parser.rst:83
msgid ":class:`.HTMLParser` Methods"
msgstr ""
msgstr "Méthodes de la classe :class:`.HTMLParser`"
#: library/html.parser.rst:85
#, fuzzy
msgid ":class:`HTMLParser` instances have the following methods:"
msgstr ""
"Les instances de :class:`!HTMLCalendar` utilisent les méthodes suivantes :"
"Les instances de :class:`HTMLParser` disposent des méthodes suivantes :"
#: library/html.parser.rst:90
msgid ""
@ -95,6 +115,11 @@ msgid ""
"complete elements; incomplete data is buffered until more data is fed or :"
"meth:`close` is called. *data* must be :class:`str`."
msgstr ""
"Alimente l'analyseur avec du texte. Ce texte est traité dans la mesure où il "
"constitue des éléments complets ; les données incomplètes sont mises dans un "
"tampon jusqu'à ce que d'autres données soient fournies ou que la méthode :"
"meth:`close` soit appelée. L'argument *data* doit être de classe :class:"
"`str`."
#: library/html.parser.rst:97
msgid ""
@ -103,16 +128,25 @@ msgid ""
"additional processing at the end of the input, but the redefined version "
"should always call the :class:`HTMLParser` base class method :meth:`close`."
msgstr ""
"Force le traitement de toutes les données du tampon comme si elles étaient "
"suivies par un caractère *fin de fichier*. Cette méthode peut-être redéfinie "
"par une classe dérivée pour ajouter des traitements supplémentaires à la fin "
"de l'entrée, mais la version redéfinie devra impérativement appeler la "
"méthode :meth:`close` de la classe de base :class:`HTMLParser`."
#: library/html.parser.rst:105
msgid ""
"Reset the instance. Loses all unprocessed data. This is called implicitly "
"at instantiation time."
msgstr ""
"Réinitialise l'instance. Toutes les données non traitées sont perdues. Cette "
"méthode est appelée implicitement lors de l'instanciation."
#: library/html.parser.rst:111
msgid "Return current line number and offset."
msgstr ""
"Renvoie le numéro de ligne et le numéro du caractère dans la ligne où le "
"curseur est positionné."
#: library/html.parser.rst:116
msgid ""
@ -129,12 +163,18 @@ msgid ""
"class implementations do nothing (except for :meth:`~HTMLParser."
"handle_startendtag`):"
msgstr ""
"Les méthodes suivantes sont appelées lors de la rencontre de données ou "
"d'éléments de balisage ; elles sont destinées à être surchargées par la sous-"
"classe. L'implémentation de la classe de base ne fait rien (sauf pour ce qui "
"est de :meth:`~HTMLParser.handle_startendtag`) :"
#: library/html.parser.rst:129
msgid ""
"This method is called to handle the start tag of an element (e.g. ``<div "
"id=\"main\">``)."
msgstr ""
"Cette méthode est appelée pour traiter une balise ouvrante (p. ex. ``<div "
"id=\"main\">``)."
#: library/html.parser.rst:131
msgid ""
@ -144,6 +184,12 @@ msgid ""
"translated to lower case, and quotes in the *value* have been removed, and "
"character and entity references have been replaced."
msgstr ""
"L'argument *tag* contient le nom de la balise en minuscules. L'argument "
"*attrs* contient une liste de *n-uplets* ``(name, value)`` regroupant les "
"attributs présents entre les symboles ``<`` et ``>`` de la balise. Le "
"paramètre *name* est converti en minuscule ; les guillemets sont supprimés "
"du paramètre *value* et toute entité de référence ou de caractère est "
"remplacée."
#: library/html.parser.rst:137
msgid ""
@ -151,21 +197,28 @@ msgid ""
"would be called as ``handle_starttag('a', [('href', 'https://www.cwi."
"nl/')])``."
msgstr ""
"Par exemple, pour la balise ``<A HREF=\"https://www.cwi.nl/\">``, cette "
"méthode est appelée par ``handle_starttag('a', [('href', 'https://www.cwi."
"nl/')])``."
#: library/html.parser.rst:140
msgid ""
"All entity references from :mod:`html.entities` are replaced in the "
"attribute values."
msgstr ""
"Toute référence d'entité présente dans :mod:`html.entities` est remplacée "
"dans la valeur des attributs."
#: library/html.parser.rst:146
msgid ""
"This method is called to handle the end tag of an element (e.g. ``</div>``)."
msgstr ""
"Cette méthode est appelée pour traiter les balises fermantes (p. ex. ``</"
"div>``)."
#: library/html.parser.rst:148
msgid "The *tag* argument is the name of the tag converted to lower case."
msgstr ""
msgstr "L'argument *tag* est le nom de la balise en minuscules."
#: library/html.parser.rst:153
msgid ""
@ -175,12 +228,20 @@ msgid ""
"implementation simply calls :meth:`handle_starttag` and :meth:"
"`handle_endtag`."
msgstr ""
"Traitée de façon similaire à :meth:`handle_starttag`, mais appelée quand "
"l'analyseur rencontre une balise vide de type *XHTML* (p. ex. ``<img ... /"
">``). Cette méthode peut-être surchargée par les sous-classes demandant "
"cette information lexicale ; l'implémentation par défaut appelle simplement :"
"meth:`handle_starttag` et :meth:`handle_endtag`."
#: library/html.parser.rst:161
msgid ""
"This method is called to process arbitrary data (e.g. text nodes and the "
"content of ``<script>...</script>`` and ``<style>...</style>``)."
msgstr ""
"Cette méthode est appelée pour traiter toute donnée arbitraire (p. ex. les "
"nœuds textuels ou les contenus de ``<script>...</script>`` et ``<style>...</"
"style>``)."
#: library/html.parser.rst:167
msgid ""
@ -188,6 +249,10 @@ msgid ""
"``&name;`` (e.g. ``&gt;``), where *name* is a general entity reference (e.g. "
"``'gt'``). This method is never called if *convert_charrefs* is ``True``."
msgstr ""
"Cette méthode est appelée pour traiter les références nommées de caractères "
"de la forme ``&name;`` (p. ex. ``&gt;``), où *name* est une référence à une "
"entité générique (p. ex. ``'gt'``). Cette méthode n'est jamais appelée si "
"*convert_charrefs* vaut ``True``."
#: library/html.parser.rst:175
msgid ""
@ -197,18 +262,28 @@ msgid ""
"in this case the method will receive ``'62'`` or ``'x3E'``. This method is "
"never called if *convert_charrefs* is ``True``."
msgstr ""
"Cette méthode est appelée pour traiter les références de caractères "
"décimales et hexadécimales de la forme ``&#NNN;`` et ``&#xNNN;``. Par "
"exemple, l'équivalent décimal de ``&gt;`` est ``&#62;``, son équivalent "
"hexadécimal étant ``&#x3E;`` ; dans ce cas, la méthode reçoit ``'62'`` or "
"``'x3E'``. Cette méthode n'est jamais appelée si *convert_charrefs* est "
"``True``."
#: library/html.parser.rst:184
msgid ""
"This method is called when a comment is encountered (e.g. ``<!--comment--"
">``)."
msgstr ""
"Cette méthode est appelée quand un commentaire (p. ex. ``<!--commentaire--"
">``) est rencontré."
#: library/html.parser.rst:186
msgid ""
"For example, the comment ``<!-- comment -->`` will cause this method to be "
"called with the argument ``' comment '``."
msgstr ""
"Par exemple, le commentaire ``<!-- commentaire -->`` provoque l'appel de "
"cette méthode avec l'argument ``' commentaire '``."
#: library/html.parser.rst:189
msgid ""
@ -217,18 +292,27 @@ msgid ""
"[endif]-->``, this method will receive ``'[if IE 9]>IE9-specific content<!"
"[endif]'``."
msgstr ""
"Le contenu des commentaires conditionnels d'Internet Explorer (*condcoms*) "
"ne sont pas traités de manière particulière par l'analyseur. Ils sont "
"passés à cette méthode comme tous les autres commentaires. Ainsi, pour ``<!--"
"[if IE 9]>Contenu spécifique à IE9<![endif]-->``, cette méthode sera appelée "
"avec ``'[if IE 9]>Contenu spécifique à IE9<![endif]'``."
#: library/html.parser.rst:196
msgid ""
"This method is called to handle an HTML doctype declaration (e.g. ``<!"
"DOCTYPE html>``)."
msgstr ""
"Cette méthode est appelée pour traiter la déclaration *doctype* de HTML (p. "
"ex. ``<!DOCTYPE html>``)."
#: library/html.parser.rst:199
msgid ""
"The *decl* parameter will be the entire contents of the declaration inside "
"the ``<!...>`` markup (e.g. ``'DOCTYPE html'``)."
msgstr ""
"Le paramètre *decl* contient la totalité de la déclaration contenue dans le "
"balisage ``<!...>`` (p. ex. ``'DOCTYPE html'``)."
#: library/html.parser.rst:205
msgid ""
@ -238,6 +322,12 @@ msgid ""
"called as ``handle_pi(\"proc color='red'\")``. It is intended to be "
"overridden by a derived class; the base class implementation does nothing."
msgstr ""
"Méthode appelée quand une instruction de traitement est rencontrée. Le "
"paramètre *data* contient la totalité de l'instruction de traitement. Par "
"exemple, pour l'instruction de traitement ``<?proc color='rouge'>``, cette "
"méthode est appelée par ``handle_pi(\"proc color='rouge'\")``. Elle est "
"destinée à être surchargée dans une classe dérivée ; la classe de base ne "
"réalise aucun traitement."
#: library/html.parser.rst:213
msgid ""
@ -245,11 +335,17 @@ msgid ""
"instructions. An XHTML processing instruction using the trailing ``'?'`` "
"will cause the ``'?'`` to be included in *data*."
msgstr ""
"La classe :class:`HTMLParser` utilise les règles syntaxiques de **SGML** "
"pour traiter les instructions de traitement. Une instruction de traitement "
"*XHTML* utilisant une terminaison en ``'?'`` se traduit par l'inclusion de "
"ce ``'?'`` dans *data*."
#: library/html.parser.rst:220
msgid ""
"This method is called when an unrecognized declaration is read by the parser."
msgstr ""
"Cette méthode est appelée quand une déclaration non reconnue est lue par "
"l'analyseur."
#: library/html.parser.rst:222
msgid ""
@ -257,6 +353,9 @@ msgid ""
"the ``<![...]>`` markup. It is sometimes useful to be overridden by a "
"derived class. The base class implementation does nothing."
msgstr ""
"Le paramètre *data* contient toute la déclaration enchâssée dans le balisage "
"``<![...]>``. Il est parfois utile de le surcharger dans une classe dérivée. "
"L'implémentation de la classe de base ne réalise aucune opération."
#: library/html.parser.rst:230
msgid "Examples"
@ -267,30 +366,37 @@ msgid ""
"The following class implements a parser that will be used to illustrate more "
"examples::"
msgstr ""
"La classe suivante implémente un analyseur qui est utilisé dans les exemples "
"ci-dessous ::"
#: library/html.parser.rst:269
msgid "Parsing a doctype::"
msgstr ""
msgstr "Traitement du *doctype* ::"
#: library/html.parser.rst:275
msgid "Parsing an element with a few attributes and a title::"
msgstr ""
msgstr "Analyse d'un élément avec un titre et des attributs ::"
#: library/html.parser.rst:287
msgid ""
"The content of ``script`` and ``style`` elements is returned as is, without "
"further parsing::"
msgstr ""
"Le contenu des éléments ``script`` et ``style`` est renvoyé tel quel (sans "
"autre traitement) ::"
#: library/html.parser.rst:303
msgid "Parsing comments::"
msgstr ""
msgstr "Traitement des commentaires ::"
#: library/html.parser.rst:310
msgid ""
"Parsing named and numeric character references and converting them to the "
"correct char (note: these 3 references are all equivalent to ``'>'``)::"
msgstr ""
"L'analyse des caractères nommés et des références numériques de caractères "
"et leur conversion en leur caractère correct (note : ces trois références "
"sont équivalentes à ``'>'``) ::"
#: library/html.parser.rst:318
msgid ""
@ -298,7 +404,13 @@ msgid ""
"`~HTMLParser.handle_data` might be called more than once (unless "
"*convert_charrefs* is set to ``True``)::"
msgstr ""
"Il est possible de fournir des portions de code incomplètes à :meth:"
"`~HTMLParser.feed`, mais alors il est possible que :meth:`~HTMLParser."
"handle_data` soit appelée plusieurs fois, à moins que *convert_charrefs* "
"soit ``True`` ::"
#: library/html.parser.rst:331
msgid "Parsing invalid HTML (e.g. unquoted attributes) also works::"
msgstr ""
"L'analyse de code *HTML* non valide (p. ex. des attributs sans guillemets) "
"fonctionne également ::"

View File

@ -16,7 +16,7 @@ msgstr ""
#: library/http.client.rst:2
msgid ":mod:`http.client` --- HTTP protocol client"
msgstr ""
msgstr ":mod:`http.client` — Client pour le protocole HTTP"
#: library/http.client.rst:7
msgid "**Source code:** :source:`Lib/http/client.py`"
@ -34,16 +34,20 @@ msgid ""
"The `Requests package <https://requests.readthedocs.io/en/master/>`_ is "
"recommended for a higher-level HTTP client interface."
msgstr ""
"Le paquet `Requests <https://requests.readthedocs.io/en/master/>`_ est "
"recommandé pour une interface client HTTP de plus haut niveau."
#: library/http.client.rst:28
msgid ""
"HTTPS support is only available if Python was compiled with SSL support "
"(through the :mod:`ssl` module)."
msgstr ""
"L'implémentation d'HTTPS n'est disponible que si Python a été compilé avec "
"la prise en charge de SSL (au moyen du module :mod:`ssl`)."
#: library/http.client.rst:31
msgid "The module provides the following classes:"
msgstr ""
msgstr "Le module fournit les classes suivantes :"
#: library/http.client.rst:37
msgid ""
@ -64,10 +68,12 @@ msgid ""
"For example, the following calls all create instances that connect to the "
"server at the same host and port::"
msgstr ""
"Par exemple, tous les appels suivants créent des instances qui se connectent "
"à un serveur sur le même hôte et le même port ::"
#: library/http.client.rst:57
msgid "*source_address* was added."
msgstr ""
msgstr "Le paramètre *source_address* a été ajouté."
#: library/http.client.rst:60
msgid ""
@ -77,7 +83,7 @@ msgstr ""
#: library/http.client.rst:64
msgid "*blocksize* parameter was added."
msgstr ""
msgstr "Le paramètre *blocksize* a été ajouté."
#: library/http.client.rst:73
msgid ""
@ -86,26 +92,38 @@ msgid ""
"must be a :class:`ssl.SSLContext` instance describing the various SSL "
"options."
msgstr ""
"Cette sous-classe de :class:`HTTPConnection` utilise SSL pour communiquer "
"avec des serveurs sécurisés. Le port par défaut est ``443``. Si le paramètre "
"*context* est fourni, ce doit être une instance de :class:`ssl.SSLContext` "
"décrivant les diverses options SSL."
#: library/http.client.rst:78
msgid "Please read :ref:`ssl-security` for more information on best practices."
msgstr ""
"Il est conseillé de lire :ref:`ssl-security` pour plus d'informations sur "
"les bonnes pratiques."
#: library/http.client.rst:80
msgid "*source_address*, *context* and *check_hostname* were added."
msgstr ""
"Les paramètres *source_address*, *context* et *check_hostname* ont été "
"ajoutés."
#: library/http.client.rst:83
msgid ""
"This class now supports HTTPS virtual hosts if possible (that is, if :data:"
"`ssl.HAS_SNI` is true)."
msgstr ""
"Cette classe implémente désormais les hôtes virtuels HTTPS dans la mesure du "
"possible (c'est-à-dire si :data:`ssl.HAS_SNI` est vrai)."
#: library/http.client.rst:87
msgid ""
"The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are "
"no longer supported."
msgstr ""
"Le paramètre *strict* a été supprimé. Les « réponses simples » de HTTP 0.9 "
"ne sont plus prises en charge."
#: library/http.client.rst:91
msgid ""
@ -113,6 +131,10 @@ msgid ""
"default. To revert to the previous, unverified, behavior :func:`ssl."
"_create_unverified_context` can be passed to the *context* parameter."
msgstr ""
"Cette classe réalise maintenant par défaut toutes les vérifications de "
"certificat et de nom d'hôte. Pour revenir au comportement antérieur, sans "
"vérification, :func:`ssl._create_unverified_context` peut être passé au "
"paramètre *context*."
#: library/http.client.rst:97
msgid ""
@ -120,6 +142,9 @@ msgid ""
"for the default *context* or when *cert_file* is passed with a custom "
"*context*."
msgstr ""
"Cette classe sélectionne désormais TLS 1.3 pour :attr:`ssl.SSLContext."
"post_handshake_auth` dans le *context* par défaut ou quand *cert_file* est "
"fourni avec une valeur de *context* personnalisée."
#: library/http.client.rst:104
msgid ""
@ -127,29 +152,38 @@ msgid ""
"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl."
"create_default_context` select the system's trusted CA certificates for you."
msgstr ""
"Les paramètres *key_file* et *cert_file* sont rendus obsolètes par "
"*context*. Veuillez plutôt utiliser :meth:`ssl.SSLContext.load_cert_chain`, "
"ou laissez :func:`ssl.create_default_context` sélectionner les certificats "
"racines de confiance du système pour vous."
#: library/http.client.rst:109
msgid ""
"The *check_hostname* parameter is also deprecated; the :attr:`ssl.SSLContext."
"check_hostname` attribute of *context* should be used instead."
msgstr ""
"Le paramètre *check_hostname* est de même obsolète : utilisez l'attribut :"
"attr:`ssl.SSLContext.check_hostname` de *context* à la place."
#: library/http.client.rst:116
msgid ""
"Class whose instances are returned upon successful connection. Not "
"instantiated directly by user."
msgstr ""
"Classe dont les instances sont renvoyées dès qu'une connexion est établie. "
"Cette classe n'est jamais instanciée directement par l'utilisateur."
#: library/http.client.rst:119
msgid ""
"The *strict* parameter was removed. HTTP 0.9 style \"Simple Responses\" are "
"no longer supported."
msgstr ""
"Le paramètre *strict* a été supprimé. Les « réponses simples » de HTTP 0.9 "
"ne sont plus prises en charge."
#: library/http.client.rst:123
#, fuzzy
msgid "This module provides the following function:"
msgstr "Ce module fournit les fonctions suivantes."
msgstr "Ce module fournit les fonctions suivantes :"
#: library/http.client.rst:127
msgid ""
@ -157,6 +191,10 @@ msgid ""
"response. The file has to be a :class:`BufferedIOBase` reader (i.e. not "
"text) and must provide a valid :rfc:`2822` style header."
msgstr ""
"Analyse les en-têtes à partir d'un pointeur de fichier *fp* représentant une "
"requête/réponse HTTP. Le fichier doit être un lecteur de classe :class:"
"`BufferedIOBase` (c'est-à-dire non textuel) et doit impérativement renvoyer "
"un en-tête valide selon la :rfc:`2822`."
#: library/http.client.rst:131
msgid ""
@ -165,6 +203,10 @@ msgid ""
"msg` and :attr:`http.server.BaseHTTPRequestHandler.headers`). After "
"returning, the file pointer *fp* is ready to read the HTTP body."
msgstr ""
"Cette fonction renvoie une instance de :class:`http.client.HTTPMessage` qui "
"contient les champs d'en-tête, mais pas la charge utile (de même que :attr:"
"`HTTPResponse.msg` et :attr:`http.server.BaseHTTPRequestHandler.headers`). "
"Après le retour, le pointeur de fichier *fp* est prêt à lire le corps HTTP."
#: library/http.client.rst:138
msgid ""
@ -173,43 +215,55 @@ msgid ""
"these field lines, so the first line should already be consumed before "
"calling the function."
msgstr ""
"La méthode :meth:`parse_headers` n'analyse pas la ligne initiale d'un "
"message HTTP ; elle n'analyse que les lignes ``Name: value``. Le fichier "
"doit être prêt à lire ces lignes de champs, aussi la première ligne doit "
"déjà avoir été consommée avant l'appel de la fonction."
#: library/http.client.rst:143
msgid "The following exceptions are raised as appropriate:"
msgstr ""
msgstr "Les exceptions suivantes sont levées selon les cas :"
#: library/http.client.rst:148
msgid ""
"The base class of the other exceptions in this module. It is a subclass of :"
"exc:`Exception`."
msgstr ""
"La classe de base des autres exceptions de ce module. C'est une sous-classe "
"de :exc:`Exception`."
#: library/http.client.rst:165 library/http.client.rst:175
#: library/http.client.rst:185
msgid "A subclass of :exc:`HTTPException`."
msgstr ""
msgstr "Sous-classe de :exc:`HTTPException`."
#: library/http.client.rst:159
msgid ""
"A subclass of :exc:`HTTPException`, raised if a port is given and is either "
"non-numeric or empty."
msgstr ""
"Sous-classe de :exc:`HTTPException`, levée si le port donné n'est pas "
"numérique ou est vide."
#: library/http.client.rst:195 library/http.client.rst:200
msgid "A subclass of :exc:`ImproperConnectionState`."
msgstr ""
msgstr "Sous-classe de :exc:`ImproperConnectionState`."
#: library/http.client.rst:205
msgid ""
"A subclass of :exc:`HTTPException`. Raised if a server responds with a HTTP "
"status code that we don't understand."
msgstr ""
"Sous-classe de :exc:`HTTPException`. Levée si un serveur répond avec un "
"code d'état HTTP qui n'est pas compris."
#: library/http.client.rst:211
msgid ""
"A subclass of :exc:`HTTPException`. Raised if an excessively long line is "
"received in the HTTP protocol from the server."
msgstr ""
"Sous-classe de :exc:`HTTPException`. Levée si une ligne du protocole HTTP "
"est excessivement longue dans ce qui provient du serveur."
#: library/http.client.rst:217
msgid ""
@ -218,10 +272,14 @@ msgid ""
"results in no data read from the connection, indicating that the remote end "
"has closed the connection."
msgstr ""
"Sous-classe de :exc:`ConnectionResetError` et :exc:`BadStatusLine`. Levée "
"par la méthode :meth:`HTTPConnection.getresponse` quand la tentative de lire "
"la réponse n'aboutit à aucune donnée provenant de la connexion, indiquant "
"ainsi que la partie distante a fermé celle-ci."
#: library/http.client.rst:222
msgid "Previously, :exc:`BadStatusLine`\\ ``('')`` was raised."
msgstr ""
msgstr "Antérieurement, :exc:`BadStatusLine`\\ ``('')`` était levée."
#: library/http.client.rst:226
msgid "The constants defined in this module are:"
@ -229,40 +287,50 @@ msgstr "Les constantes définies dans ce module sont :"
#: library/http.client.rst:230
msgid "The default port for the HTTP protocol (always ``80``)."
msgstr ""
msgstr "Le port par défaut du protocole HTTP (toujours ``80``)."
#: library/http.client.rst:234
msgid "The default port for the HTTPS protocol (always ``443``)."
msgstr ""
msgstr "Le port par défaut du protocole HTTPS (toujours ``443``)."
#: library/http.client.rst:238
msgid "This dictionary maps the HTTP 1.1 status codes to the W3C names."
msgstr ""
"Ce dictionnaire associe les codes d'états HTTP 1.1 à leurs noms tels que "
"définis par le W3C."
#: library/http.client.rst:240
msgid ""
"Example: ``http.client.responses[http.client.NOT_FOUND]`` is ``'Not Found'``."
msgstr ""
"Par exemple : ``http.client.responses[http.client.NOT_FOUND]`` est ``'Not "
"Found'``."
#: library/http.client.rst:242
msgid ""
"See :ref:`http-status-codes` for a list of HTTP status codes that are "
"available in this module as constants."
msgstr ""
"Voir :ref:`http-status-codes` pour une liste des codes d'état HTTP qui sont "
"disponibles comme constantes dans ce module."
#: library/http.client.rst:249
msgid "HTTPConnection Objects"
msgstr ""
msgstr "Les objets HTTPConnection"
#: library/http.client.rst:251
msgid ":class:`HTTPConnection` instances have the following methods:"
msgstr ""
"Les instances de la classe :class:`HTTPConnection` possèdent les méthodes "
"suivantes :"
#: library/http.client.rst:257
msgid ""
"This will send a request to the server using the HTTP request method "
"*method* and the selector *url*."
msgstr ""
"Envoie une requête à un serveur en utilisant la méthode *method* de requête "
"HTTP et le sélecteur *url*."
#: library/http.client.rst:260
msgid ""
@ -278,12 +346,27 @@ msgid ""
"*body* is an iterable, the elements of the iterable are sent as is until the "
"iterable is exhausted."
msgstr ""
"Si *body* est passé en paramètre, les données transmises sont envoyées à la "
"suite des en-têtes. Ce paramètre peut-être une :class:`str`, un :term:`objet "
"octet-comptatible <bytes-like object>`, un :term:`objet fichier <file "
"object>` préalablement ouvert, ou un itérable de classe :class:`bytes`. Si "
"*body* est une chaîne, elle est encodée en ISO-8859-1, valeur par défaut "
"pour HTTP. Si c'est un objet octet-compatible, les octets sont envoyés tels "
"quels. Si c'est un :term:`objet fichier <file object>`, le contenu du "
"fichier est envoyé ; cet objet fichier doit implémenter au moins la méthode "
"``read()``. Si l'objet fichier est une instance de :class:`io.TextIOBase`, "
"les données renvoyées par la méthode ``read()`` sont encodées en ISO-8859-1, "
"sinon les données renvoyées par ``read()`` sont envoyées telles quelles. Si "
"*body* est un itérable, les éléments de cet itérable sont envoyés jusqu'à ce "
"que l'itérable soit vide."
#: library/http.client.rst:272
msgid ""
"The *headers* argument should be a mapping of extra HTTP headers to send "
"with the request."
msgstr ""
"L'argument *headers* doit contenir les en-têtes HTTP supplémentaires sous "
"forme de dictionnaire. Ces en-têtes sont transmis dans la requête."
#: library/http.client.rst:275
msgid ""
@ -297,6 +380,15 @@ msgid ""
"the Transfer-Encoding header will automatically be set instead of Content-"
"Length."
msgstr ""
"Si *headers* ne contient ni ``Content-Length:`` ni ``Transfer-Encoding:``, "
"mais qu'un corps de requête est fourni, un de ces en-têtes est ajouté "
"automatiquement. Si *body* est ``None``, l'en-tête ``Content-Length:`` est "
"paramétré à ``0`` pour les méthodes qui attendent un corps (``PUT``, "
"``POST``, et ``PATCH``). Si *body* est une chaîne ou un objet de type octets "
"qui n'est pas un (:term:`objet fichier <file object>`), l'en-tête ``Content-"
"Length`` est paramétré à sa longueur. Un *body* de tout autre type (fichiers "
"ou itérables en général) est encodé par morceaux et l'en-tête ``Transfer-"
"Encoding`` est automatiquement paramétré à la place de ``Content-Length``."
#: library/http.client.rst:287
msgid ""
@ -305,6 +397,10 @@ msgid ""
"HTTPConnection object assumes that all encoding is handled by the calling "
"code. If it is ``True``, the body will be chunk-encoded."
msgstr ""
"L'argument *encode_chunked* n'est pertinent que si l'en-tête ``Transfer-"
"Encoding:`` est présent. Si *encode_chunked* est ``False``, l'objet "
"HTTPConnection suppose que l'encodage est géré par le code d'appel. S'il "
"vaut ``True``, le corps est encodé par morceaux."
#: library/http.client.rst:293
msgid ""
@ -313,10 +409,15 @@ msgid ""
"specify the Content-Length, or must pass a :class:`str` or bytes-like object "
"that is not also a file as the body representation."
msgstr ""
"L'encodage pour les transferts par morceaux a été ajouté à la version 1.1 du "
"protocole HTTP. À moins que le serveur HTTP sache gérer HTTP 1.1, l'appelant "
"doit soit spécifier l'en-tête ``Content-Length:``, soit passer la "
"représentation du corps de message dans un objet de classe :class:`str` ou "
"un objet octet-compatible qui ne soit pas un fichier."
#: library/http.client.rst:299
msgid "*body* can now be an iterable."
msgstr ""
msgstr "*body* peut désormais être un itérable."
#: library/http.client.rst:302
msgid ""
@ -325,18 +426,27 @@ msgid ""
"argument was added. No attempt is made to determine the Content-Length for "
"file objects."
msgstr ""
"Si parmi les en-têtes ne figure ni ``Content-Length:``, ni ``Transfer-"
"Encoding:``, les objets fichiers et itérables *body* sont désormais encodés "
"par morceaux. L'argument *encode_chunked* a été ajouté. Aucune tentative "
"n'est faite pour essayer de déterminer la valeur de l'en-tête ``Content-"
"Length`` pour un objet fichier."
#: library/http.client.rst:311
msgid ""
"Should be called after a request is sent to get the response from the "
"server. Returns an :class:`HTTPResponse` instance."
msgstr ""
"Doit être appelé après qu'une requête a été envoyée pour récupérer la "
"réponse du serveur. Renvoie une instance de :class:`HTTPResponse`."
#: library/http.client.rst:316
msgid ""
"Note that you must have read the whole response before you can send a new "
"request to the server."
msgstr ""
"Notez que la totalité de la réponse doit être lue avant de pouvoir envoyer "
"une nouvelle requête au serveur."
#: library/http.client.rst:319
msgid ""
@ -344,6 +454,9 @@ msgid ""
"`HTTPConnection` object will be ready to reconnect when a new request is "
"sent."
msgstr ""
"Si une exception :exc:`ConnectionError` ou une de ses sous-classes est "
"levée, l'objet de classe :class:`HTTPConnection` sera prêt à se reconnecter "
"quand une nouvelle requête sera envoyée."
#: library/http.client.rst:327
msgid ""
@ -352,12 +465,19 @@ msgid ""
"currently defined debug output to be printed to stdout. The ``debuglevel`` "
"is passed to any new :class:`HTTPResponse` objects that are created."
msgstr ""
"Règle le niveau de débogage. Le niveau de débogage par défaut est ``0`` "
"(aucune sortie de débogage n'est affichée). Toute valeur plus grande que "
"``0`` provoque l'affichage sur ``sys.stdout`` de toutes les sorties de "
"débogage actuellement définies. Le paramètre ``debuglevel`` est passé à tout "
"nouvel objet de classe :class:`HTTPResponse` qui est créé."
#: library/http.client.rst:337
msgid ""
"Set the host and the port for HTTP Connect Tunnelling. This allows running "
"the connection through a proxy server."
msgstr ""
"Paramètre l'hôte et le port pour le tunnel de connexion HTTP. Il permet de "
"réaliser la connexion au travers d'un serveur mandataire."
#: library/http.client.rst:340
msgid ""
@ -365,12 +485,17 @@ msgid ""
"(i.e. the address included in the CONNECT request, *not* the address of the "
"proxy server)."
msgstr ""
"Les arguments d'hôte et de port indiquent le point de terminaison de la "
"connexion par tunnel (c'est-à-dire l'adresse incluse dans la requête "
"CONNECT, et non l'adresse du serveur mandataire)."
#: library/http.client.rst:344
msgid ""
"The headers argument should be a mapping of extra HTTP headers to send with "
"the CONNECT request."
msgstr ""
"L'argument *headers* doit contenir les en-têtes HTTP supplémentaires sous "
"forme d'un dictionnaire. Ceux-ci seront envoyés avec la requête CONNECT."
#: library/http.client.rst:347
msgid ""
@ -379,6 +504,11 @@ msgid ""
"constructor, and the address of the host that we eventually want to reach to "
"the :meth:`~HTTPConnection.set_tunnel` method::"
msgstr ""
"Par exemple, pour un tunnel traversant un serveur mandataire HTTPS "
"accessible localement sur le port 8080, nous devons passer l'adresse du "
"serveur mandataire au constructeur de la classe :class:`HTTPSConnection`, en "
"plus de l'éventuelle adresse de l'hôte que nous voulons atteindre, qui elle "
"doit être passée à la méthode :meth:`~HTTPConnection.set_tunnel` ::"
#: library/http.client.rst:362
msgid ""
@ -386,20 +516,28 @@ msgid ""
"this is called automatically when making a request if the client does not "
"already have a connection."
msgstr ""
"Se connecte au serveur spécifié quand l'objet est créé. Par défaut, est "
"appelée automatiquement lorsqu'une requête est faite alors que le client ne "
"s'est pas connecté au préalable."
#: library/http.client.rst:369
msgid "Close the connection to the server."
msgstr ""
msgstr "Ferme la connexion au serveur."
#: library/http.client.rst:374
msgid "Buffer size in bytes for sending a file-like message body."
msgstr ""
"Taille en octets du tampon utilisé pour transmettre un corps de message de "
"type fichier."
#: library/http.client.rst:379
msgid ""
"As an alternative to using the :meth:`request` method described above, you "
"can also send your request step by step, by using the four functions below."
msgstr ""
"Plutôt que d'utiliser la méthode :meth:`request` décrite plus haut, il est "
"également possible d'envoyer une requête étape par étape en utilisant les "
"quatre fonctions ci-dessous."
#: library/http.client.rst:386
msgid ""
@ -410,6 +548,13 @@ msgid ""
"additional content encodings), specify *skip_host* or *skip_accept_encoding* "
"with non-False values."
msgstr ""
"Ce doit être le premier appel une fois que la connexion au serveur a été "
"réalisée. Est envoyée au serveur une ligne consistant en la chaîne *method*, "
"la chaîne d'*url*, et la version du protocole HTTP (``HTTP/1.1``). Pour "
"désactiver l'envoi automatique des en-têtes ``Host:`` ou ``Accept-Encoding:"
"`` (par exemple pour accepter des encodages supplémentaires de contenus), il "
"est nécessaire de passer les paramètres *skip_host* ou "
"*skip_accept_encoding* avec des valeurs différentes de ``False``."
#: library/http.client.rst:396
msgid ""
@ -418,6 +563,11 @@ msgid ""
"argument. If more arguments are given, continuation lines are sent, each "
"consisting of a tab and an argument."
msgstr ""
"Envoie un en-tête de style :rfc:`822` au serveur. Elle envoie au serveur une "
"ligne regroupant un en-tête, une espace, un ``:``, une espace et le premier "
"argument. Si plusieurs arguments sont donnés, des lignes de continuation "
"sont envoyées, chacune d'elle étant constituée d'une espace suivie d'un "
"argument."
#: library/http.client.rst:404
msgid ""
@ -425,6 +575,9 @@ msgid ""
"optional *message_body* argument can be used to pass a message body "
"associated with the request."
msgstr ""
"Envoie une ligne blanche au serveur, signalant la fin des en-têtes. "
"L'argument optionnel *message_body* peut-être utilisé pour passer le corps "
"du message associé à la requête."
#: library/http.client.rst:408
msgid ""
@ -438,6 +591,16 @@ msgid ""
"read()`` will result in a chunk. The method automatically signals the end of "
"the chunk-encoded data immediately after *message_body*."
msgstr ""
"Si *encode_chunked* est ``True``, le résultat de chaque itération sur "
"*message_body* est un morceau encodé selon la :rfc:`7230`, section 3.3.1. La "
"façon dont les données sont encodées dépend du type de *message_body*. Si "
"*message_body* implémente l':ref:`interface tampon <bufferobjects>` "
"l'encodage donne un unique morceau. Si *message_body* est un itérable de "
"classe :class:`collections.abc.Iterable`, chaque itération sur "
"*message_body* donne un morceau. Si *message_body* est un :term:`fichier "
"objet <file object>`, chaque appel à ``.read()`` renvoie un morceau. La "
"méthode signale automatiquement la fin des données encodées par morceaux "
"immédiatement après *message_body*."
#: library/http.client.rst:419
msgid ""
@ -446,20 +609,30 @@ msgid ""
"premature termination of the read of the request by the target server due to "
"malformed encoding."
msgstr ""
"Selon la spécification de l'encodage des morceaux, les morceaux vides "
"renvoyés par un itérateur associé au corps du message sont ignorés par "
"l'encodeur de morceaux. Ce comportement est choisi pour éviter que la "
"lecture de la requête par le serveur cible ne se termine prématurément pour "
"cause d'encodage mal formé."
#: library/http.client.rst:424
msgid "Chunked encoding support. The *encode_chunked* parameter was added."
msgstr ""
"Implémentation de l'encodage (pour les transferts) par morceaux. Le "
"paramètre *encode_chunked* a été ajouté."
#: library/http.client.rst:431
msgid ""
"Send data to the server. This should be used directly only after the :meth:"
"`endheaders` method has been called and before :meth:`getresponse` is called."
msgstr ""
"Envoie les données au serveur. Elle ne peut être utilisée directement qu'une "
"fois la méthode :meth:`endheaders` a été appelée et avant que la méthode :"
"meth:`getresponse` ait été appelée."
#: library/http.client.rst:439
msgid "HTTPResponse Objects"
msgstr ""
msgstr "Les objets HTTPResponse"
#: library/http.client.rst:441
msgid ""
@ -467,22 +640,31 @@ msgid ""
"It provides access to the request headers and the entity body. The response "
"is an iterable object and can be used in a with statement."
msgstr ""
"Une instance de :class:`HTTPResponse` encapsule la réponse HTTP du serveur. "
"Elle fournit un accès aux en-têtes et au corps de la réponse. La réponse est "
"un objet itérable pouvant être utilisé avec l'instruction ``with``."
#: library/http.client.rst:446
msgid ""
"The :class:`io.BufferedIOBase` interface is now implemented and all of its "
"reader operations are supported."
msgstr ""
"L'interface de la classe :class:`io.BufferedIOBase` est désormais "
"implémentée et toutes ses opérations de lecture sont gérées."
#: library/http.client.rst:453
msgid "Reads and returns the response body, or up to the next *amt* bytes."
msgstr ""
"Lit et renvoie soit tout le corps de la réponse soit une partie de celui-ci "
"se limitant aux *amt* octets suivants."
#: library/http.client.rst:457
msgid ""
"Reads up to the next len(b) bytes of the response body into the buffer *b*. "
"Returns the number of bytes read."
msgstr ""
"Lit les prochains ``len(b)`` octets du corps de la réponse et les place dans "
"le tampon *b*. Renvoie le nombre d'octets lus."
#: library/http.client.rst:464
msgid ""
@ -494,11 +676,11 @@ msgstr ""
#: library/http.client.rst:471
msgid "Return a list of (header, value) tuples."
msgstr ""
msgstr "Renvoie une liste d'*n*-uplets ``(en-tête, valeur)``."
#: library/http.client.rst:475
msgid "Return the ``fileno`` of the underlying socket."
msgstr ""
msgstr "Renvoie le ``fileno`` du connecteur réseau sous-jacent."
#: library/http.client.rst:479
msgid ""
@ -506,53 +688,65 @@ msgid ""
"headers. :class:`http.client.HTTPMessage` is a subclass of :class:`email."
"message.Message`."
msgstr ""
"Une instance de :class:`http.client.HTTPMessage` contenant les en-têtes de "
"la réponse. La classe :class:`http.client.HTTPMessage` est une sous-classe "
"de la classe :class:`email.message.Message`."
#: library/http.client.rst:485
msgid ""
"HTTP protocol version used by server. 10 for HTTP/1.0, 11 for HTTP/1.1."
msgstr ""
"La version du protocole HTTP utilisée par le serveur : 10 pour HTTP/1.0, 11 "
"pour HTTP/1.1."
#: library/http.client.rst:489
msgid ""
"URL of the resource retrieved, commonly used to determine if a redirect was "
"followed."
msgstr ""
"L'URL de la ressource récupérée, utilisée habituellement pour déterminer si "
"une redirection a été suivie."
#: library/http.client.rst:493
msgid ""
"Headers of the response in the form of an :class:`email.message."
"EmailMessage` instance."
msgstr ""
"Les en-têtes de la réponse sous la forme d'une instance de :class:`email."
"message.EmailMessage`."
#: library/http.client.rst:497
msgid "Status code returned by server."
msgstr ""
msgstr "Code d'état renvoyé par le serveur."
#: library/http.client.rst:501
msgid "Reason phrase returned by server."
msgstr ""
msgstr "Phrase renvoyée par le serveur et indiquant la cause."
#: library/http.client.rst:505
msgid ""
"A debugging hook. If :attr:`debuglevel` is greater than zero, messages will "
"be printed to stdout as the response is read and parsed."
msgstr ""
"Un point d'entrée pour débogage. Si :attr:`debuglevel` est plus grand que "
"zéro, les messages sont envoyés à ``sys.stdout`` pendant la lecture et "
"l'analyse de la réponse."
#: library/http.client.rst:510
msgid "Is ``True`` if the stream is closed."
msgstr ""
msgstr "Vaut ``True`` si le flux est terminé."
#: library/http.client.rst:514
msgid "Deprecated in favor of :attr:`~HTTPResponse.url`."
msgstr ""
msgstr "Rendu obsolète par :attr:`~HTTPResponse.url`."
#: library/http.client.rst:519
msgid "Deprecated in favor of :attr:`~HTTPResponse.headers`."
msgstr ""
msgstr "Rendu obsolète par :attr:`~HTTPResponse.headers`."
#: library/http.client.rst:524
msgid "Deprecated in favor of :attr:`~HTTPResponse.status`."
msgstr ""
msgstr "Rendu obsolète par :attr:`~HTTPResponse.status`."
#: library/http.client.rst:528
msgid "Examples"
@ -560,17 +754,20 @@ msgstr "Exemples"
#: library/http.client.rst:530
msgid "Here is an example session that uses the ``GET`` method::"
msgstr ""
msgstr "Voici un exemple de session utilisant la méthode ``GET`` ::"
#: library/http.client.rst:555
msgid ""
"Here is an example session that uses the ``HEAD`` method. Note that the "
"``HEAD`` method never returns any data. ::"
msgstr ""
"Voici un exemple de session utilisant la méthode ``HEAD``. Notez que la "
"méthode ``HEAD`` ne renvoie jamais de données. ::"
#: library/http.client.rst:570
msgid "Here is an example session that shows how to ``POST`` requests::"
msgstr ""
"Voici un exemple de session montrant l'utilisation de la méthode ``POST`` ::"
#: library/http.client.rst:586
msgid ""
@ -584,10 +781,13 @@ msgstr ""
#: library/http.client.rst:608
msgid "HTTPMessage Objects"
msgstr ""
msgstr "Les objets HTTPMessage"
#: library/http.client.rst:610
msgid ""
"An :class:`http.client.HTTPMessage` instance holds the headers from an HTTP "
"response. It is implemented using the :class:`email.message.Message` class."
msgstr ""
"Une instance de classe :class:`http.client.HTTPMessage` contient les en-"
"têtes d'une réponse HTTP. Elle est implémentée en utilisant la classe :class:"
"`email.message.Message`."

View File

@ -16,11 +16,11 @@ msgstr ""
#: library/http.server.rst:2
msgid ":mod:`http.server` --- HTTP servers"
msgstr ""
msgstr ":mod:`http.server` --- serveurs HTTP"
#: library/http.server.rst:7
msgid "**Source code:** :source:`Lib/http/server.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/http/server.py`"
#: library/http.server.rst:17
msgid ""
@ -39,6 +39,11 @@ msgid ""
"subclass. It creates and listens at the HTTP socket, dispatching the "
"requests to a handler. Code to create and run the server looks like this::"
msgstr ""
"Une des classes, :class:`HTTPServer`, est une sous-classe de :class:"
"`socketserver.TCPServer`. Elle crée une interface de connexion (*socket* en "
"anglais) avant de rester à l'écoute des messages reçus sur celle-ci, les "
"répartissant à un gestionnaire d'évènements (*handler* en anglais). Le code "
"pour créer et exécuter le serveur ressemble à ceci ::"
#: library/http.server.rst:37
msgid ""
@ -47,6 +52,11 @@ msgid ""
"`server_port`. The server is accessible by the handler, typically through "
"the handler's :attr:`server` instance variable."
msgstr ""
"Cette classe hérite de la classe :class:`~socketserver.TCPServer`. Ses "
"instances contiennent l'adresse du serveur dans les variables d'instance :"
"attr:`server_name` et :attr:`server_port`.Le serveur est accessible par le "
"gestionnaire d'évènements, habituellement par le biais de sa variable "
"d'instance :attr:`server`."
#: library/http.server.rst:44
msgid ""
@ -55,6 +65,11 @@ msgid ""
"web browsers pre-opening sockets, on which :class:`HTTPServer` would wait "
"indefinitely."
msgstr ""
"Cette classe est identique à *HTTPServer* mais utilise des fils d'exécution "
"afin de gérer les requêtes, et ce, par le biais de :class:`~socketserver."
"ThreadingMixIn`. Ceci est utile afin de gérer les pré-ouvertures des "
"interfaces de connexion des navigateurs web, sur lesquelles :class:"
"`HTTPServer` attendrait de façon perpétuelle."
#: library/http.server.rst:52
msgid ""
@ -62,6 +77,9 @@ msgid ""
"*RequestHandlerClass* on instantiation, of which this module provides three "
"different variants:"
msgstr ""
"On doit passer un *RequestHandlerClass* lors de l'instanciation de :class:"
"`HTTPServer` et de :class:`ThreadingHTTPServer`. Ce module fournit trois "
"variantes différentes :"
#: library/http.server.rst:58
msgid ""
@ -71,6 +89,12 @@ msgid ""
"`BaseHTTPRequestHandler` provides a number of class and instance variables, "
"and methods for use by subclasses."
msgstr ""
"Cette classe est utilisée afin de gérer les requêtes HTTP arrivant au "
"serveur. Elle ne peut pas répondre par elle-même à des requêtes HTTP ; cette "
"méthode doit être surchargée dans les classes dérivées, par exemple *GET* ou "
"*POST*. La classe :class:`BaseHTTPRequestHandler` fournit plusieurs classes "
"et variables d'instance, ainsi que des méthodes à utiliser par les sous-"
"classes."
#: library/http.server.rst:64
msgid ""
@ -81,20 +105,30 @@ msgid ""
"stored in instance variables of the handler. Subclasses should not need to "
"override or extend the :meth:`__init__` method."
msgstr ""
"Le gestionnaire d'évènements analysera la requête et les en-têtes avant "
"d'appeler une méthode spécifique au type de requête. Le nom de la méthode "
"est généré à partir de la requête. Par exemple, pour la méthode de requête "
"``SPAM``, la méthode :meth:`do_SPAM` sera appelée sans arguments. Toute "
"l'information pertinente est sauvegardée dans les variables d'instance du "
"gestionnaire d'évènements. Pour les sous-classes, il n'est pas nécessaire de "
"surcharger ou de prolonger la méthode :meth:`__init__`."
#: library/http.server.rst:71
msgid ":class:`BaseHTTPRequestHandler` has the following instance variables:"
msgstr ""
":class:`BaseHTTPRequestHandler` a les variables d'instances suivantes :"
#: library/http.server.rst:75
msgid ""
"Contains a tuple of the form ``(host, port)`` referring to the client's "
"address."
msgstr ""
"Contient un *n*-uplet de la forme ``(host, port)``, faisant référence à "
"l'adresse du client."
#: library/http.server.rst:80
msgid "Contains the server instance."
msgstr ""
msgstr "Contient l'instance du serveur."
#: library/http.server.rst:84
msgid ""
@ -102,6 +136,9 @@ msgid ""
"indicating if another request may be expected, or if the connection should "
"be shut down."
msgstr ""
"Booléen qui doit être défini avant que :meth:`handle_one_request` ne termine "
"son exécution, indiquant si on peut recevoir une autre requête ou si la "
"connexion doit être fermée."
#: library/http.server.rst:90
msgid ""
@ -110,10 +147,15 @@ msgid ""
"`handle_one_request`. If no valid request line was processed, it should be "
"set to the empty string."
msgstr ""
"Contient la chaîne de caractères représentant la ligne de requête HTTP. La "
"dénotation de fin de ligne *CRLF* est enlevée. Cet attribut doit être défini "
"par :meth:`handle_one_request`. Dans le cas où aucune ligne de requête "
"valide n'a été traitée, il doit prendre la valeur de la chaîne de caractères "
"vide."
#: library/http.server.rst:97
msgid "Contains the command (request type). For example, ``'GET'``."
msgstr ""
msgstr "Contient la commande (le type de requête). Par exemple, ``'GET'``."
#: library/http.server.rst:101
msgid ""
@ -121,11 +163,16 @@ msgid ""
"``path`` includes the query. Using the terminology of :rfc:`3986`, ``path`` "
"here includes ``hier-part`` and the ``query``."
msgstr ""
"Contient le chemin de la requête. Si la composante de requête de l'URL est "
"présente, alors ``path`` contient la requête. Selon la terminologie de :rfc:"
"`3986`, ``path`` inclut ici ``hier-part`` et la ``query``."
#: library/http.server.rst:107
msgid ""
"Contains the version string from the request. For example, ``'HTTP/1.0'``."
msgstr ""
"Contient la version de la requête, en chaîne de caractères. Par exemple, "
"``'HTTP/1.0'``."
#: library/http.server.rst:111
msgid ""
@ -163,6 +210,10 @@ msgid ""
"format is multiple whitespace-separated strings, where each string is of the "
"form name[/version]. For example, ``'BaseHTTP/0.2'``."
msgstr ""
"Précise la version du logiciel du serveur. Vous pouvez la modifier. Le "
"format utilisé est constitué de plusieurs chaînes de caractères séparées par "
"des caractères d'espacement, où chaque chaîne prend la forme *nom[/"
"version]*. Par exemple, ``'BaseHTTP/0.2'``."
#: library/http.server.rst:142
msgid ""
@ -170,6 +221,9 @@ msgid ""
"`version_string` method and the :attr:`server_version` class variable. For "
"example, ``'Python/1.4'``."
msgstr ""
"Contient la version système de Python, dans une forme pouvant être utilisée "
"par la méthode :attr:`version_string` ainsi que par la variable de classe :"
"attr:`server_version`. Par exemple, ``'Python/1.4'``."
#: library/http.server.rst:148
msgid ""
@ -178,12 +232,19 @@ msgid ""
"default with variables from :attr:`responses` based on the status code that "
"passed to :meth:`send_error`."
msgstr ""
"Définit une chaîne de caractères avec champs de formatage devant être "
"utilisée par la méthode :meth:`send_error` afin de construire une réponse "
"d'erreur pour le client. Par défaut, la chaîne contient des variables "
"provenant de l'attribut :attr:`responses` se basant sur le code de statut "
"passé à :meth:`send_error`."
#: library/http.server.rst:155
msgid ""
"Specifies the Content-Type HTTP header of error responses sent to the "
"client. The default value is ``'text/html'``."
msgstr ""
"Définit l'en-tête HTTP Content-Type des réponses d'erreur envoyées au "
"client. La valeur par défaut est ``'text/html'``."
#: library/http.server.rst:160
msgid ""
@ -200,6 +261,9 @@ msgid ""
"headers. Typically, this is not overridden, and it defaults to :class:`http."
"client.HTTPMessage`."
msgstr ""
"Définit une classe similaire à :class:`email.message.Message` permettant "
"l'analyse des en-têtes HTTP. Habituellement, cette valeur n'est pas "
"modifiée, et prend par défaut la valeur de :class:`http.client.HTTPMessage`."
#: library/http.server.rst:174
msgid ""
@ -209,10 +273,19 @@ msgid ""
"*message* key in an error response, and *longmessage* as the *explain* key. "
"It is used by :meth:`send_response_only` and :meth:`send_error` methods."
msgstr ""
"Cet attribut contient une table de correspondance entre des codes d'erreurs "
"dénotés par des entiers et des *n*-uplets contenant un message court et un "
"message long. Par exemple, ``{code: (shortmessage, longmessage)}``. "
"Habituellement, le message *shortmessage* correspond à la clé *message* "
"d'une réponse d'erreur, alors que le message *longmessage* correspond à la "
"clé *explain* de celle-ci. Il est utilisé par les méthodes :meth:"
"`send_response_only` et :meth:`send_error`."
#: library/http.server.rst:180
msgid "A :class:`BaseHTTPRequestHandler` instance has the following methods:"
msgstr ""
"Une instance de la classe :class:`BaseHTTPRequestHandler` contient les "
"méthodes suivantes :"
#: library/http.server.rst:184
msgid ""
@ -226,6 +299,8 @@ msgid ""
"This method will parse and dispatch the request to the appropriate :meth:"
"`do_\\*` method. You should never need to override it."
msgstr ""
"Cette méthode analyse la requête et la transmet à la méthode :meth:`do_\\*` "
"appropriée. Il ne faut jamais l'écraser."
#: library/http.server.rst:196
msgid ""
@ -586,7 +661,7 @@ msgstr ""
#: library/http.server.rst:495
msgid "Security Considerations"
msgstr ""
msgstr "Considérations de sécurité"
#: library/http.server.rst:499
msgid ""

View File

@ -423,7 +423,7 @@ msgstr ""
#: library/importlib.rst:352 library/importlib.rst:1180
msgid "Use :meth:`find_spec` instead."
msgstr ""
msgstr "utilisez plutôt :meth:`find_spec`."
#: library/importlib.rst:303
msgid ""
@ -561,7 +561,7 @@ msgstr ""
#: library/importlib.rst:426
msgid ":attr:`__name__`"
msgstr ""
msgstr ":attr:`__name__`"
#: library/importlib.rst:426
msgid "The name of the module."
@ -569,7 +569,7 @@ msgstr ""
#: library/importlib.rst:430
msgid ":attr:`__file__`"
msgstr ""
msgstr ":attr:`__file__`"
#: library/importlib.rst:429
msgid ""
@ -578,7 +578,7 @@ msgstr ""
#: library/importlib.rst:434
msgid ":attr:`__cached__`"
msgstr ""
msgstr ":attr:`__cached__`"
#: library/importlib.rst:433
msgid ""
@ -588,7 +588,7 @@ msgstr ""
#: library/importlib.rst:438
msgid ":attr:`__path__`"
msgstr ""
msgstr ":attr:`__path__`"
#: library/importlib.rst:437
msgid ""
@ -598,7 +598,7 @@ msgstr ""
#: library/importlib.rst:445
msgid ":attr:`__package__`"
msgstr ""
msgstr ":attr:`__package__`"
#: library/importlib.rst:441
msgid ""
@ -610,7 +610,7 @@ msgstr ""
#: library/importlib.rst:450
msgid ":attr:`__loader__`"
msgstr ""
msgstr ":attr:`__loader__`"
#: library/importlib.rst:448
msgid ""
@ -702,10 +702,11 @@ msgstr ""
#: library/importlib.rst:522
msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised."
msgstr ""
"Si la ressource ne peut pas être trouvée, :exc:`FileNotFoundError` est levée."
#: library/importlib.rst:527
msgid "Returns the file system path to the *resource*."
msgstr ""
msgstr "Renvoie le chemin de *resource* dans le système de fichiers."
#: library/importlib.rst:529
msgid ""
@ -908,11 +909,11 @@ msgstr ""
#: library/importlib.rst:714
msgid ":meth:`ResourceLoader.get_data`"
msgstr ""
msgstr ":meth:`ResourceLoader.get_data`"
#: library/importlib.rst:717
msgid ":meth:`ExecutionLoader.get_filename`"
msgstr ""
msgstr ":meth:`ExecutionLoader.get_filename`"
#: library/importlib.rst:716
msgid ""
@ -1002,7 +1003,7 @@ msgstr ""
#: library/importlib.rst:785
msgid "Use :meth:`exec_module` instead."
msgstr ""
msgstr "utilisez plutôt :meth:`exec_module`."
#: library/importlib.rst:790
msgid "Concrete implementation of :meth:`InspectLoader.get_source`."

File diff suppressed because it is too large Load Diff

View File

@ -137,10 +137,9 @@ msgstr ""
"pas l'existence de la fonction sur un système d'exploitation particulier."
#: library/intro.rst:60
#, fuzzy
msgid ""
"If not separately noted, all functions that claim \"Availability: Unix\" are "
"supported on macOS, which builds on a Unix core."
msgstr ""
"Si ce n'est pas mentionné séparément, toutes les fonctions se réclamant "
"\"Disponibilité : Unix\" sont gérées sur Mac OS X, qui est basé sur Unix."
"\"Disponibilité : Unix\" sont gérées sur macOS, qui est basé sur Unix."

View File

@ -162,6 +162,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``open`` with arguments ``path``, "
"``mode``, ``flags``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``open`` avec les arguments "
"``path``, ``mode``, ``flags``."
#: library/io.rst:125
msgid ""
@ -203,7 +205,7 @@ msgstr ""
#: library/io.rst:161
msgid ":mod:`sys`"
msgstr ""
msgstr ":mod:`sys`"
#: library/io.rst:161
msgid ""
@ -296,7 +298,7 @@ msgstr ""
#: library/io.rst:218 library/io.rst:222
msgid ":class:`IOBase`"
msgstr ""
msgstr ":class:`IOBase`"
#: library/io.rst:213
msgid "``fileno``, ``seek``, and ``truncate``"
@ -311,7 +313,7 @@ msgstr ""
#: library/io.rst:218
msgid ":class:`RawIOBase`"
msgstr ""
msgstr ":class:`RawIOBase`"
#: library/io.rst:218
msgid "``readinto`` and ``write``"
@ -323,7 +325,7 @@ msgstr ""
#: library/io.rst:220
msgid ":class:`BufferedIOBase`"
msgstr ""
msgstr ":class:`BufferedIOBase`"
#: library/io.rst:220
msgid "``detach``, ``read``, ``read1``, and ``write``"
@ -335,7 +337,7 @@ msgstr ""
#: library/io.rst:222
msgid ":class:`TextIOBase`"
msgstr ""
msgstr ":class:`TextIOBase`"
#: library/io.rst:222
msgid "``detach``, ``read``, ``readline``, and ``write``"

View File

@ -850,6 +850,9 @@ msgid ""
"keeping pools of values in memory to generate the products. Accordingly, it "
"is only useful with finite inputs."
msgstr ""
":func:`product` commence par consommer totalement les itérables qui lui sont "
"passés et les conserve en mémoire pour générer les produits. Par conséquent, "
"cette fonction ne sert que sur des itérables finis."
#: library/itertools.rst:572
msgid ""
@ -925,6 +928,10 @@ msgid ""
"when using simultaneously iterators returned by the same :func:`tee` call, "
"even if the original *iterable* is threadsafe."
msgstr ""
"Les itérateurs ``tee`` ne sont pas protégés contre les accès parallèles. "
"L'utilisation simultanée de plusieurs itérateurs renvoyés par le même appel "
"à :func:`tee` est susceptible de lever :exc:`RuntimeError`, même si "
"*iterable* fonctionne avec les accès parallèles."
#: library/itertools.rst:655
msgid ""

View File

@ -24,7 +24,6 @@ msgid "**Source code:** :source:`Lib/json/__init__.py`"
msgstr "**Code source :** :source:`Lib/json/__init__.py`"
#: library/json.rst:14
#, fuzzy
msgid ""
"`JSON (JavaScript Object Notation) <https://json.org>`_, specified by :rfc:"
"`7159` (which obsoletes :rfc:`4627`) and by `ECMA-404 <https://www.ecma-"
@ -33,12 +32,12 @@ msgid ""
"wikipedia.org/wiki/JavaScript>`_ object literal syntax (although it is not a "
"strict subset of JavaScript [#rfc-errata]_ )."
msgstr ""
"`JSON (JavaScript Object Notation) <http://json.org>`_, décrit par la :rfc:"
"`JSON (JavaScript Object Notation) <https://json.org>`_, décrit par la :rfc:"
"`7159` (qui rend la :rfc:`4627` obsolète) et par le standard `ECMA-404 "
"<http://www.ecma-international.org/publications/standards/Ecma-404.htm>`_, "
"est un format très simple d'échange de données inspiré par la syntaxe des "
"objets littéraux de `JavaScript <https://fr.wikipedia.org/wiki/JavaScript>`_ "
"(bien que ce ne soit pas au sens propre un sous-ensemble de Javascript [#rfc-"
"<https://www.ecma-international.org/publications-and-standards/standards/"
"ecma-404/>`_, est un format très simple d'échange de données inspiré par la "
"syntaxe des objets littéraux de `JavaScript <https://fr.wikipedia.org/wiki/"
"JavaScript>`_ (bien que ce ne soit pas un sous-ensemble de Javascript [#rfc-"
"errata]_ )."
#: library/json.rst:22
@ -653,16 +652,15 @@ msgstr ""
"exc:`TypeError`)."
#: library/json.rst:429
#, fuzzy
msgid ""
"If *skipkeys* is false (the default), a :exc:`TypeError` will be raised when "
"trying to encode keys that are not :class:`str`, :class:`int`, :class:"
"`float` or ``None``. If *skipkeys* is true, such items are simply skipped."
msgstr ""
"Si *skipkeys* vaut ``False`` (valeur par défaut), une :exc:`TypeError` est "
"levée lors de l'encodage de clés autres que des :class:`str`, des :class:"
"`int`, des :class:`float` ou ``None``. Si *skipkeys* vaut ``True``, ces "
"éléments sont simplement ignorés."
"levée si la clé encodée n'est pas de type :class:`str`, :class:`int`, :class:"
"`float` ou ``None``. Si *skipkeys* vaut ``True``, ces éléments sont "
"simplement ignorés."
#: library/json.rst:437
#, fuzzy
@ -712,13 +710,12 @@ msgstr ""
"exc:`TypeError`)."
#: library/json.rst:485
#, fuzzy
msgid ""
"For example, to support arbitrary iterators, you could implement :meth:"
"`default` like this::"
msgstr ""
"Par exemple, pour supporter des itérateurs arbitraires, vous pouvez "
"implémenter *default* comme cela ::"
"Par exemple, pour prendre en charge les itérations arbitraires, la :meth:"
"`default` peut être écrite ainsi ::"
#: library/json.rst:501
msgid ""
@ -770,7 +767,6 @@ msgid "Standard Compliance and Interoperability"
msgstr "Conformité au standard et Interopérabilité"
#: library/json.rst:550
#, fuzzy
msgid ""
"The JSON format is specified by :rfc:`7159` and by `ECMA-404 <https://www."
"ecma-international.org/publications-and-standards/standards/ecma-404/>`_. "
@ -779,11 +775,11 @@ msgid ""
"parameters other than those explicitly mentioned, are not considered."
msgstr ""
"Le format JSON est décrit par la :rfc:`7159` et le standard `ECMA-404 "
"<http://www.ecma-international.org/publications/standards/Ecma-404.htm>`_. "
"Cette section détaille la conformité à la RFC au niveau du module. Pour "
"faire simple, les sous-classes de :class:`JSONEncoder` et :class:"
"`JSONDecoder`, et les paramètres autres que ceux explicitement mentionnés ne "
"sont pas considérés."
"<https://www.ecma-international.org/publications-and-standards/standards/"
"ecma-404/>`_. Cette section détaille la conformité à la RFC au niveau du "
"module. Pour faire simple, les sous-classes de :class:`JSONEncoder` et :"
"class:`JSONDecoder`, et les paramètres autres que ceux explicitement "
"mentionnés ne sont pas considérés."
#: library/json.rst:556
msgid ""
@ -1079,11 +1075,8 @@ msgid "Parse every input line as separate JSON object."
msgstr "Transforme chaque ligne d'entrée en un objet JSON individuel."
#: library/json.rst:751
#, fuzzy
msgid "Mutually exclusive options for whitespace control."
msgstr ""
"Options mutuellement exclusives pour le contrôle des caractères "
"despacements (caractères « blancs »)."
msgstr "Options mutuellement exclusives de contrôle des espaces."
#: library/json.rst:757
msgid "Show the help message."

View File

@ -33,26 +33,23 @@ msgstr ""
"représente un mot-clé."
#: library/keyword.rst:17
#, fuzzy
msgid "Return ``True`` if *s* is a Python :ref:`keyword <keywords>`."
msgstr "Renvoie vrai si *s* est un mot-clé Python."
msgstr "Renvoie vrai si *s* est un :ref:`mot-clé <keywords>` de Python."
#: library/keyword.rst:22
#, fuzzy
msgid ""
"Sequence containing all the :ref:`keywords <keywords>` defined for the "
"interpreter. If any keywords are defined to only be active when particular :"
"mod:`__future__` statements are in effect, these will be included as well."
msgstr ""
"Séquence contenant tous les mots-clés définis par l'interpréteur. Si "
"certains mots-clés sont définis pour être actifs seulement si des "
"instructions :mod:`__future__` particulières sont effectives, ils seront "
"tout de même inclus."
"Séquence contenant tous les :ref:`mots-clés <keywords>` définis par "
"l'interpréteur. Si certains mots-clés sont définis pour être actifs "
"seulement si des instructions :mod:`__future__` particulières sont "
"effectives, ils seront tout de même inclus."
#: library/keyword.rst:29
#, fuzzy
msgid "Return ``True`` if *s* is a Python soft :ref:`keyword <keywords>`."
msgstr "Renvoie vrai si *s* est un mot-clé Python."
msgstr "Renvoie vrai si *s* est un :ref:`mot-clé ad-hoc <keywords>` de Python."
#: library/keyword.rst:36
#, fuzzy

View File

@ -70,6 +70,13 @@ msgid ""
"*filename* is a relative filename, it is looked up relative to the entries "
"in the module search path, ``sys.path``."
msgstr ""
"Si le fichier *filename* n'existe pas, cette fonction vérifie d'abord la "
"présence d'un chargeur ``__loader__`` dans *module_globals*, comme le "
"prescrit la :pep:`302`. Si un chargeur est trouvé avec une méthode "
"``get_source``, c'est cette méthode qui détermine les lignes sources (si "
"``get_source()`` renvoie ``None``, cette valeur est remplacée par la chaîne "
"vide ``''``). Sinon, si le nom de fichier *filename* est relatif, il est "
"recherché dans les dossiers du chemin de recherche des modules, ``sys.path``."
#: library/linecache.rst:44
msgid ""

View File

@ -38,9 +38,8 @@ msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
#: library/logging.config.rst:19
#, fuzzy
msgid ":ref:`Logging Cookbook <logging-cookbook>`"
msgstr ":ref:`A logging cookbook <logging-cookbook>`"
msgstr ":ref:`Recettes pour la journalisation <logging-cookbook>`"
#: library/logging.config.rst:23
msgid "This section describes the API for configuring the logging module."
@ -137,9 +136,8 @@ msgid ""
msgstr ""
#: library/logging.config.rst:0
#, fuzzy
msgid "Parameters"
msgstr "Paramètres :"
msgstr "Paramètres"
#: library/logging.config.rst:90
msgid ""

View File

@ -710,6 +710,7 @@ msgid ""
"If the *utc* argument is true, times in UTC will be used; otherwise local "
"time is used."
msgstr ""
"Si *utc* est vrai, les temps sont UTC, sinon l'heure locale est utilisée."
#: library/logging.handlers.rst:407
msgid ""
@ -718,12 +719,20 @@ msgid ""
"The deletion logic uses the interval to determine which files to delete, so "
"changing the interval may leave old files lying around."
msgstr ""
"Si *backupCount* est non nul, au plus *backupCount* fichiers sont "
"sauvegardés. Si des fichiers supplémentaires devaient être créés par le jeu "
"du roulement, les plus vieux seraient supprimés. La logique de suppression "
"détermine les fichiers à supprimer selon l'intervalle, donc changer cette "
"valeur peut conduire à ce que certains fichiers anciens restent sur le "
"disque."
#: library/logging.handlers.rst:412
msgid ""
"If *delay* is true, then file opening is deferred until the first call to :"
"meth:`emit`."
msgstr ""
"Si *delay* est à *true*, alors louverture du fichier est reportée au "
"premier appel de :meth:`emit`."
#: library/logging.handlers.rst:415
msgid ""
@ -734,12 +743,19 @@ msgid ""
"*initial* rollover, and subsequent rollovers would be calculated via the "
"normal interval calculation."
msgstr ""
"Si le roulement doit se produire « à minuit » ou « à un jour fixe de la "
"semaine » et si *atTime* n'est pas ``None``, ce doit être une instance de "
"``datetime.time`` qui définit l'heure de la journée à laquelle le roulement "
"se produit. Dans ce cas, la valeur de *atTime* ne sert qu'à déterminer la "
"date du roulement *initial*, la date des roulements ultérieurs est "
"déterminée par le calcul standard de l'intervalle."
#: library/logging.handlers.rst:422
msgid ""
"If *errors* is specified, it's used to determine how encoding errors are "
"handled."
msgstr ""
"Si *errors* est définit, il définit comment traiter les erreurs d'encodage."
#: library/logging.handlers.rst:425
msgid ""
@ -755,15 +771,30 @@ msgid ""
"five minutes (say), then there will be gaps in the file times corresponding "
"to the minutes where no output (and hence no rollover) occurred."
msgstr ""
"la date du premier roulement est déterminée lors de l'initialisation du "
"gestionnaire. Ce n'est que lors d'un roulement que la date du roulement "
"suivant n'est déterminée, et un roulement n'a lieu que si des entrées "
"doivent être journalisées. Gardez bien cela à l'esprit pour ne pas avoir de "
"surprises. Par exemple, un gestionnaire avec un intervalle « d'une minute » "
"ne produira pas nécessairement des fichiers avec des dates (dans le nom "
"desdits fichiers) séparées d'une minute. Si une application génère des "
"journaux plus fréquemment que toutes les minutes au cours de son exécution, "
"alors *dans ce cas* vous obtiendrez des fichiers avec des temps séparés "
"d'une minute. Si la même application ne produit une entrée de journal que "
"toutes les cinq minutes, il y aura des sauts dans les dates des fichiers "
"produits qui correspondront aux moments où rien n'a été produit (et donc où "
"aucun roulement n'a eu lieu)."
#: library/logging.handlers.rst:438
msgid "*atTime* parameter was added."
msgstr ""
msgstr "ajout du paramètre *atTime*."
#: library/logging.handlers.rst:454
msgid ""
"Outputs the record to the file, catering for rollover as described above."
msgstr ""
"Écrit l'enregistrement dans le fichier, effectuant un roulement au besoin "
"comme décrit précédemment."
#: library/logging.handlers.rst:458
msgid ""
@ -774,7 +805,7 @@ msgstr ""
#: library/logging.handlers.rst:464
msgid "SocketHandler"
msgstr ""
msgstr "Gestionnaire à connecteur  *SocketHandler*"
#: library/logging.handlers.rst:466
msgid ""

View File

@ -343,12 +343,19 @@ msgid ""
"argument.) No % formatting operation is performed on *msg* when no *args* "
"are supplied."
msgstr ""
"Enregistre un message de niveau :const:`DEBUG` dans cet enregistreur. *msg* "
"est la chaîne du message qui sera formatée avec *args* en utilisant "
"l'opérateur de formatage. Cela signifie qu'il est possible de mettre des "
"mots-clé dans la chaîne et de passer un dictionnaire en argument. Si *args* "
"n'est pas fourni, aucun formatage « à la % » n'est appliqué."
#: library/logging.rst:173
msgid ""
"There are four keyword arguments in *kwargs* which are inspected: "
"*exc_info*, *stack_info*, *stacklevel* and *extra*."
msgstr ""
"Quatre mots-clés de *kwargs* sont analysés : *exc_info*, *stack_info*, "
"*stacklevel* et *extra*."
#: library/logging.rst:176
msgid ""
@ -358,6 +365,12 @@ msgid ""
"is used; otherwise, :func:`sys.exc_info` is called to get the exception "
"information."
msgstr ""
"Si la valeur booléenne de *exc_info* est vraie, les informations des "
"exceptions sont ajoutées au message. Si *exc_info* est un *n*-uplet "
"d'exception (au format identique aux valeurs renvoyées par :func:`sys."
"exc_info`) ou une instance d'exception, sa valeur est utilisée. Dans le cas "
"contraire, les informations sur l'exception sont déterminées par un appel à :"
"func:`sys.exc_info`."
#: library/logging.rst:979
msgid ""
@ -370,6 +383,15 @@ msgid ""
"have been unwound, following an exception, while searching for exception "
"handlers."
msgstr ""
"Le deuxième argument par mot-clé optionnel est *stack_info*, valant "
"``False`` par défaut. S'il est vrai, les informations de la pile d'appels "
"sont ajoutées à l'entrée de journal, en incluant aussi l'appel à la fonction "
"de journalisation. Ce ne sont pas les mêmes informations que celles "
"affichées en définissant *exc_info* : les premières représentent les appels "
"de fonctions successifs, du bas de la pile jusqu'à l'appel de la fonction de "
"journalisation dans le fil d'exécution actuel, alors que les secondes "
"portent des informations sur les appels successifs déclenchés par la levée "
"d'une exception et la recherche de gestionnaires pour cette exception."
#: library/logging.rst:988
msgid ""
@ -377,12 +399,18 @@ msgid ""
"how you got to a certain point in your code, even when no exceptions were "
"raised. The stack frames are printed following a header line which says:"
msgstr ""
"Il est possible de définir *stack_info* indépendamment de *exc_info*, p. ex. "
"pour s'assurer que l'exécution a atteint un certain point dans le code, même "
"si aucune exception n'a été levée. La pile d'appels est alors affichée après "
"la ligne d'en-tête suivante :"
#: library/logging.rst:996
msgid ""
"This mimics the ``Traceback (most recent call last):`` which is used when "
"displaying exception frames."
msgstr ""
"Elle imite la ligne ``Traceback (most recent call last):`` affichée avec la "
"pile d'appels d'une exception."
#: library/logging.rst:201
msgid ""
@ -395,6 +423,14 @@ msgid ""
"name of this parameter mirrors the equivalent one in the :mod:`warnings` "
"module."
msgstr ""
"Le troisième argument par mot-clé optionnel est *stacklevel*, valant ``1`` "
"par défaut. S'il est supérieur à 1, il correspond au nombre d'entrées dans "
"la pile qui sont ignorées en déterminant le numéro de ligne et le nom de la "
"fonction dans la classe :class:`LogRecord` créée pour l'évènement de "
"journalisation. C'est utile pour les utilitaires de journalisation car cela "
"permet d'ignorer les informations (nom de fonction, fichier source et ligne) "
"de l'utilitaire et de ne traiter que celles de l'appelant. Le nom de ce "
"paramètre est le même que son équivalent dans le module :mod:`warnings`."
#: library/logging.rst:209
msgid ""
@ -404,10 +440,15 @@ msgid ""
"attributes can then be used as you like. For example, they could be "
"incorporated into logged messages. For example::"
msgstr ""
"Le quatrième argument par mot-clé est *extra* qui permet de remplir le "
"dictionnaire *__dict__* du :class:`LogRecord` créé pour l'évènement de "
"journalisation, avec des attributs personnalisés. Ces attributs peuvent être "
"utilisés comme bon vous semble. Ils peuvent ainsi être incorporés aux "
"entrées de journalisation. Par exemple ::"
#: library/logging.rst:221
msgid "would print something like"
msgstr ""
msgstr "affiche"
#: library/logging.rst:1016
msgid ""
@ -415,6 +456,10 @@ msgid ""
"used by the logging system. (See the :class:`Formatter` documentation for "
"more information on which keys are used by the logging system.)"
msgstr ""
"Les clés du dictionnaire passé dans *extra* ne doivent pas être les mêmes "
"que les clés utilisées par le système de journalisation. Voir la "
"documentation de la classe :class:`Formatter` pour plus de précisions sur "
"les clés utilisées par le système de journalisation."
#: library/logging.rst:231
msgid ""
@ -426,6 +471,12 @@ msgid ""
"exception will occur. So in this case, you always need to pass the *extra* "
"dictionary with these keys."
msgstr ""
"Si vous choisissez d'utiliser des attributs dans les messages à journaliser, "
"il faut être prudent. Ainsi, dans l'exemple précédent, le :class:`Formatter` "
"a été configuré avec une chaîne qui attend *clientip* et *user* dans le "
"dictionnaire d'attributs du :class:`LogRecord`. S'ils sont manquants, le "
"message n'est pas enregistré car une exception de formatage de chaîne est "
"levée. Il faut alors toujours passer un dictionnaire *extra* avec ces clés."
#: library/logging.rst:1027
msgid ""
@ -437,30 +488,41 @@ msgid ""
"likely that specialized :class:`Formatter`\\ s would be used with "
"particular :class:`Handler`\\ s."
msgstr ""
"Même si elle peut sembler gênante, cette fonctionnalité est nécessaire dans "
"certains cas, comme sur des serveurs à fils d'exécution multiples, où le "
"même code s'exécute dans des contextes différents et où les évènements "
"significatifs dépendent du contexte (comme l'adresse IP du client et le nom "
"d'utilisateur dans l'exemple précédent). Dans ces circonstances, il est "
"clair que les classes :class:`Formatter`\\ s spécialisées doivent être "
"utilisées avec des :class:`Handler`\\ s particuliers."
#: library/logging.rst:1034
msgid "The *stack_info* parameter was added."
msgstr ""
msgstr "ajout du paramètre *stack_info*."
#: library/logging.rst:248
msgid "The *exc_info* parameter can now accept exception instances."
msgstr ""
msgstr "le paramètre *exc_info* peut être une instance d'exception."
#: library/logging.rst:251
msgid "The *stacklevel* parameter was added."
msgstr ""
msgstr "ajout du paramètre *stacklevel*."
#: library/logging.rst:257
msgid ""
"Logs a message with level :const:`INFO` on this logger. The arguments are "
"interpreted as for :meth:`debug`."
msgstr ""
"Enregistre un message avec le niveau de gravité :const:`INFO`. Les arguments "
"ont la même signification que pour :meth:`debug`."
#: library/logging.rst:263
msgid ""
"Logs a message with level :const:`WARNING` on this logger. The arguments are "
"interpreted as for :meth:`debug`."
msgstr ""
"Enregistre un message avec le niveau de gravité :const:`WARNING`. Les "
"arguments ont la même signification que pour :meth:`debug`."
#: library/logging.rst:266
msgid ""
@ -468,24 +530,33 @@ msgid ""
"``warning``. As ``warn`` is deprecated, please do not use it - use "
"``warning`` instead."
msgstr ""
"Il existe une méthode obsolète ``warn`` qui est identique à ``warning``. "
"``warn`` n'est plus maintenue, prière de ne plus l'utiliser et de la "
"remplacer par ``warning``."
#: library/logging.rst:272
msgid ""
"Logs a message with level :const:`ERROR` on this logger. The arguments are "
"interpreted as for :meth:`debug`."
msgstr ""
"Enregistre un message avec le niveau de gravité :const:`ERROR`. Les "
"arguments ont la même signification que pour :meth:`debug`."
#: library/logging.rst:278
msgid ""
"Logs a message with level :const:`CRITICAL` on this logger. The arguments "
"are interpreted as for :meth:`debug`."
msgstr ""
"Enregistre un message avec le niveau de gravité :const:`CRITICAL`. Les "
"arguments ont la même signification que pour :meth:`debug`."
#: library/logging.rst:284
msgid ""
"Logs a message with integer level *level* on this logger. The other "
"arguments are interpreted as for :meth:`debug`."
msgstr ""
"Enregistre un message avec le niveau de gravité *level*. Les arguments ont "
"la même signification que pour :meth:`debug`."
#: library/logging.rst:290
msgid ""
@ -493,14 +564,18 @@ msgid ""
"interpreted as for :meth:`debug`. Exception info is added to the logging "
"message. This method should only be called from an exception handler."
msgstr ""
"Enregistre un message avec le niveau de gravité :const:`ERROR`. Les "
"arguments ont la même signification que pour :meth:`debug`. Des informations "
"sur l'exception sont ajoutées au message. Cette méthode doit être appelée "
"depuis un gestionnaire d'exceptions."
#: library/logging.rst:297
msgid "Adds the specified filter *filter* to this logger."
msgstr ""
msgstr "Ajoute le filtre *filter* à l'enregistreur."
#: library/logging.rst:302
msgid "Removes the specified filter *filter* from this logger."
msgstr ""
msgstr "Retire le filtre *filter* de cet enregistreur."
#: library/logging.rst:307
msgid ""
@ -510,14 +585,20 @@ msgid ""
"be processed (passed to handlers). If one returns a false value, no further "
"processing of the record occurs."
msgstr ""
"Applique les filtres associés à l'enregistreur et renvoie ``True`` si "
"l'entrée doit être traitée. Les filtres sont appliqués les uns après les "
"autres, jusqu'à ce que l'un renvoie faux. Si ce n'est pas le cas, le "
"traitement de l'entrée se poursuit (elle est alors passée aux "
"gestionnaires). Si l'un d'entre eux renvoie faux, le traitement de l'entrée "
"s'arrête."
#: library/logging.rst:316
msgid "Adds the specified handler *hdlr* to this logger."
msgstr ""
msgstr "Ajoute le gestionnaire *hdlr* à l'enregistreur."
#: library/logging.rst:321
msgid "Removes the specified handler *hdlr* from this logger."
msgstr ""
msgstr "Retire le gestionnaire *hdlr* de l'enregistreur."
#: library/logging.rst:326
msgid ""
@ -525,6 +606,10 @@ msgid ""
"line number, function name and stack information as a 4-element tuple. The "
"stack information is returned as ``None`` unless *stack_info* is ``True``."
msgstr ""
"Détermine le fichier source et la ligne de l'appelant. Renvoie un quadruplet "
"contenant le nom du fichier source, le numéro de ligne, le nom de la "
"fonction et la pile d'appels. La pile vaut ``None`` si *stack_info* n'est "
"pas ``True``."
#: library/logging.rst:330
msgid ""
@ -535,6 +620,12 @@ msgid ""
"in the event log refers not to the helper/wrapper code, but to the code that "
"calls it."
msgstr ""
"Le paramètre *stacklevel* est passé par le code appelant :meth:`debug` "
"(entre autres). S'il est supérieur à 1, *n*-1 entrées de la pile sont "
"supprimées avant de renvoyer la pile. C'est pratique quand on appelle des "
"APIs de journalisation à travers du code d'encapsulation car cela permet de "
"retirer les informations sur ce code de l'entrée, tout en conservant celles "
"sur le code au-dessus du code d'encapsulation."
#: library/logging.rst:340
msgid ""
@ -544,12 +635,19 @@ msgid ""
"created locally. Logger-level filtering is applied using :meth:`~Logger."
"filter`."
msgstr ""
"Traite une entrée en la passant à tous les gestionnaires de l'enregistreur "
"et à tous ses parents (jusqu'à ce qu'un *propagate* soit faux). C'est "
"pratique pour désérialiser les entrées reçues d'un connecteur et celles "
"créées localement. Du filtrage au niveau de l'enregistreur est appliqué en "
"appelant :meth:`~Logger.filter`."
#: library/logging.rst:348
msgid ""
"This is a factory method which can be overridden in subclasses to create "
"specialized :class:`LogRecord` instances."
msgstr ""
"Fabrique qui peut être redéfinie pour créer des instances de :class:"
"`LogRecord`."
#: library/logging.rst:353
msgid ""
@ -560,10 +658,16 @@ msgid ""
"set to false is found - that will be the last logger which is checked for "
"the existence of handlers."
msgstr ""
"Vérifie si l'enregistreur a des gestionnaires associés. Elle recherche les "
"gestionnaires de l'enregistreur et ceux de ses parents. Renvoie ``True`` si "
"au moins un gestionnaire a été trouvé et ``False`` sinon. Cette méthode "
"arrête de remonter la hiérarchie dès qu'un enregistreur avec l'attribut "
"*propagate* à faux est rencontré ­— cet enregistreur est alors le dernier "
"dans lequel la méthode cherche des gestionnaires."
#: library/logging.rst:362
msgid "Loggers can now be pickled and unpickled."
msgstr ""
msgstr "les enregistreurs peuvent être sérialisés et désérialisés."
#: library/logging.rst:368
msgid "Logging Levels"
@ -641,7 +745,7 @@ msgstr "0"
#: library/logging.rst:396
msgid "Handler Objects"
msgstr ""
msgstr "Gestionnaires"
#: library/logging.rst:398
msgid ""
@ -650,6 +754,10 @@ msgid ""
"useful subclasses. However, the :meth:`__init__` method in subclasses needs "
"to call :meth:`Handler.__init__`."
msgstr ""
"Les gestionnaires ont les attributs et méthodes suivants. :class:`Handler` "
"est une classe de base pour des sous-classes plus utiles et ne doit pas être "
"instanciée directement. Les méthodes :meth:`__init__` des sous-classes "
"doivent toutefois appeler :meth:`Handler.__init__`."
#: library/logging.rst:407
msgid ""
@ -657,20 +765,25 @@ msgid ""
"list of filters to the empty list and creating a lock (using :meth:"
"`createLock`) for serializing access to an I/O mechanism."
msgstr ""
"Initialise l'objet :class:`Handler` en définissant le niveau de gravité, en "
"initialisant la liste des filtres avec une liste vide et en créant un verrou "
"(avec :meth:`createLock`) pour sérialiser l'accès au mécanisme d'E-S."
#: library/logging.rst:414
msgid ""
"Initializes a thread lock which can be used to serialize access to "
"underlying I/O functionality which may not be threadsafe."
msgstr ""
"Instancie un verrou qui peut être utilisé pour sérialiser l'accès au système "
"d'E-S sous-jacent (qui peut ne pas être à fil d'exécution sécurisé)."
#: library/logging.rst:420
msgid "Acquires the thread lock created with :meth:`createLock`."
msgstr ""
msgstr "Acquiert le verrou créé par :meth:`createLock`."
#: library/logging.rst:425
msgid "Releases the thread lock acquired with :meth:`acquire`."
msgstr ""
msgstr "Relâche le verrou acquis par :meth:`acquire`."
#: library/logging.rst:430
msgid ""
@ -678,24 +791,30 @@ msgid ""
"less severe than *level* will be ignored. When a handler is created, the "
"level is set to :const:`NOTSET` (which causes all messages to be processed)."
msgstr ""
"Ajuste le seuil déclenchement du gestionnaire au niveau *level*. Les "
"messages de gravité moindre que *level* sont alors ignorés. Ce seuil est "
"fixé à :const:`NOTSET` lors de la création d'un gestionnaire (ce qui "
"signifie que tous les messages seront traités)."
#: library/logging.rst:437
msgid ""
"The *level* parameter now accepts a string representation of the level such "
"as 'INFO' as an alternative to the integer constants such as :const:`INFO`."
msgstr ""
"le paramètre *level* peut être une chaîne de caractères, comme ``'INFO'``, "
"en plus d'une constante entière comme :const:`INFO`."
#: library/logging.rst:445
msgid "Sets the :class:`Formatter` for this handler to *fmt*."
msgstr ""
msgstr "Définit le :class:`Formatter` du gestionnaire à *fmt*."
#: library/logging.rst:450
msgid "Adds the specified filter *filter* to this handler."
msgstr ""
msgstr "Ajoute le filtre *filter* au gestionnaire."
#: library/logging.rst:455
msgid "Removes the specified filter *filter* from this handler."
msgstr ""
msgstr "Retire le filtre *filter* du gestionnaire."
#: library/logging.rst:460
msgid ""
@ -705,12 +824,18 @@ msgid ""
"be emitted. If one returns a false value, the handler will not emit the "
"record."
msgstr ""
"Applique les filtres du gestionnaire à *record* et renvoie ``True`` si "
"l'entrée doit être traitée. Les filtres sont appliqués l'un après l'autre, "
"jusqu'à ce que l'un renvoie faux. Si aucun d'entre eux ne renvoie faux, "
"l'entrée est enregistrée, sinon le gestionnaire ne traitera pas l'entrée."
#: library/logging.rst:469
msgid ""
"Ensure all logging output has been flushed. This version does nothing and is "
"intended to be implemented by subclasses."
msgstr ""
"Oblige toutes les entrées à être traitées. Cette fonction ne fait rien de "
"spécial et doit être redéfinie par les sous-classes."
#: library/logging.rst:475
msgid ""
@ -719,6 +844,10 @@ msgid ""
"func:`shutdown` is called. Subclasses should ensure that this gets called "
"from overridden :meth:`close` methods."
msgstr ""
"Recycle toutes les ressources utilisées par le gestionnaire. Cette version "
"ne fait rien de particulier mais elle retire le gestionnaire de la liste "
"interne des gestionnaires à recycler à l'appel de :func:`shutdown`. Les sous-"
"classes doivent appeler cette méthode depuis leur surcharge de :meth:`close`."
#: library/logging.rst:483
msgid ""
@ -726,6 +855,8 @@ msgid ""
"may have been added to the handler. Wraps the actual emission of the record "
"with acquisition/release of the I/O thread lock."
msgstr ""
"Traite ou non *record* selon les filtres ajoutés au gestionnaire. Un verrou "
"sur l'E-S. est mis en place durant l'écriture effective."
#: library/logging.rst:490
msgid ""
@ -739,12 +870,23 @@ msgid ""
"occurred. (The default value of ``raiseExceptions`` is ``True``, as that is "
"more useful during development)."
msgstr ""
"Cette méthode est appelée quand une exception est levée lors d'un appel à :"
"meth:`emit`. Si l'attribut ``raiseExceptions`` du module est ``False``, les "
"exceptions sont ignorées. C'est en général le comportement attendu d'un "
"système de journalisation — la plupart des utilisateurs ne se préoccupent "
"pas des erreurs du système de journalisation même, seulement des erreurs de "
"l'application. Il est tout de même possible de redéfinir cette méthode ; "
"*record* est l'entrée qui était en train d'être traitée quand l'exception a "
"eu lieu. La valeur par défaut de ``raiseExceptions`` est ``True``, ce qui "
"est pratique lors du développement."
#: library/logging.rst:503
msgid ""
"Do formatting for a record - if a formatter is set, use it. Otherwise, use "
"the default formatter for the module."
msgstr ""
"Formate *record* avec le formateur défini. S'il n'y en a pas, le formateur "
"par défaut du module est utilisé."
#: library/logging.rst:509
msgid ""
@ -752,15 +894,19 @@ msgid ""
"version is intended to be implemented by subclasses and so raises a :exc:"
"`NotImplementedError`."
msgstr ""
"Journalise *record* « pour de bon ». Cette version doit être redéfinie par "
"les sous-classes et lève donc une :exc:`NotImplementedError`."
#: library/logging.rst:513
msgid ""
"For a list of handlers included as standard, see :mod:`logging.handlers`."
msgstr ""
"Les gestionnaires de la bibliothèque standard sont répertoriés dans :mod:"
"`logging.handlers`."
#: library/logging.rst:518
msgid "Formatter Objects"
msgstr ""
msgstr "Formateurs"
#: library/logging.rst:522
msgid ""
@ -809,9 +955,8 @@ msgid ""
msgstr ""
#: library/logging.rst:557
#, fuzzy
msgid "The *style* parameter was added."
msgstr "Ajout du paramètre *start*."
msgstr "Ajout du paramètre *style*."
#: library/logging.rst:560
msgid ""
@ -903,7 +1048,7 @@ msgstr ""
#: library/logging.rst:639
msgid "Filter Objects"
msgstr ""
msgstr "Filtres"
#: library/logging.rst:641
msgid ""
@ -970,7 +1115,7 @@ msgstr ""
#: library/logging.rst:694
msgid "LogRecord Objects"
msgstr ""
msgstr "Objets LogRecord"
#: library/logging.rst:696
msgid ""
@ -992,9 +1137,8 @@ msgid ""
msgstr ""
#: library/logging.rst:0
#, fuzzy
msgid "Parameters"
msgstr "Paramètres :"
msgstr "Paramètres"
#: library/logging.rst:710
msgid ""
@ -1291,7 +1435,7 @@ msgstr ""
#: library/logging.rst:0
msgid "name"
msgstr ""
msgstr "nom"
#: library/logging.rst:841
msgid "``%(name)s``"

View File

@ -418,7 +418,7 @@ msgstr ""
#: library/mailbox.rst:299
msgid ":class:`Maildir`"
msgstr ""
msgstr ":class:`Maildir`"
#: library/mailbox.rst:304
msgid ""
@ -803,7 +803,7 @@ msgstr ""
#: library/mailbox.rst:628
msgid ":class:`Babyl`"
msgstr ""
msgstr ":class:`Babyl`"
#: library/mailbox.rst:633
msgid ""
@ -996,7 +996,7 @@ msgstr ""
#: library/mailbox.rst:794
msgid ":class:`MaildirMessage`"
msgstr ""
msgstr ":class:`MaildirMessage`"
#: library/mailbox.rst:799
msgid ""
@ -1303,7 +1303,7 @@ msgstr ""
#: library/mailbox.rst:962
msgid ":class:`mboxMessage`"
msgstr ""
msgstr ":class:`mboxMessage`"
#: library/mailbox.rst:967
msgid ""
@ -1448,7 +1448,7 @@ msgstr ""
#: library/mailbox.rst:1116
msgid ":class:`MHMessage`"
msgstr ""
msgstr ":class:`MHMessage`"
#: library/mailbox.rst:1121
msgid ""
@ -1535,7 +1535,7 @@ msgstr ""
#: library/mailbox.rst:1206
msgid ":class:`BabylMessage`"
msgstr ""
msgstr ":class:`BabylMessage`"
#: library/mailbox.rst:1211
msgid ""

View File

@ -25,6 +25,11 @@ msgid ""
"Windows implementations of their services. For example, the :mod:`getpass` "
"module uses this in the implementation of the :func:`getpass` function."
msgstr ""
"Ces fonctions permettent d'accéder à certaines capacités utiles sur les "
"plateformes Windows. Certains modules de plus haut niveau utilisent ces "
"fonctions pour construire les implémentations Windows de leurs services. "
"Par exemple, le module :mod:`getpass` les utilise dans l'implémentation de "
"la fonction :func:`getpass`."
#: library/msvcrt.rst:17
msgid ""
@ -45,10 +50,12 @@ msgid ""
"Operations in this module now raise :exc:`OSError` where :exc:`IOError` was "
"raised."
msgstr ""
"Les opérations de ce module lèvent désormais :exc:`OSError` au lieu de :exc:"
"`IOError`."
#: library/msvcrt.rst:33
msgid "File Operations"
msgstr ""
msgstr "Opérations sur les fichiers"
#: library/msvcrt.rst:38
msgid ""
@ -73,16 +80,24 @@ msgid ""
"immediately tries again after 1 second. If, after 10 attempts, the bytes "
"cannot be locked, :exc:`OSError` is raised."
msgstr ""
"Verrouille les octets spécifiés. Si les octets ne peuvent pas être "
"verrouillés, le programme réessaie immédiatement après 1 seconde. Si, après "
"10 tentatives, les octets ne peuvent pas être verrouillés, :exc:`OSError` "
"est levée."
#: library/msvcrt.rst:59
msgid ""
"Locks the specified bytes. If the bytes cannot be locked, :exc:`OSError` is "
"raised."
msgstr ""
"Verrouille les octets spécifiés. Si les octets ne peuvent pas être "
"verrouillés, :exc:`OSError` est levée."
#: library/msvcrt.rst:65
msgid "Unlocks the specified bytes, which must have been previously locked."
msgstr ""
"Déverrouille les octets spécifiés, qui doivent avoir été précédemment "
"verrouillés."
#: library/msvcrt.rst:70
msgid ""
@ -119,11 +134,11 @@ msgstr ""
#: library/msvcrt.rst:96
msgid "Console I/O"
msgstr ""
msgstr "Entrées-sorties sur un terminal"
#: library/msvcrt.rst:101
msgid "Return ``True`` if a keypress is waiting to be read."
msgstr ""
msgstr "Renvoie ``True`` si une touche est en attente de lecture."
#: library/msvcrt.rst:106
msgid ""
@ -138,6 +153,8 @@ msgstr ""
#: library/msvcrt.rst:116
msgid "Wide char variant of :func:`getch`, returning a Unicode value."
msgstr ""
"Variante de :func:`getch` qui lit un caractère large et renvoie une valeur "
"Unicode."
#: library/msvcrt.rst:121
msgid ""
@ -148,6 +165,8 @@ msgstr ""
#: library/msvcrt.rst:127
msgid "Wide char variant of :func:`getche`, returning a Unicode value."
msgstr ""
"Variante de :func:`getche` qui lit un caractère large et renvoie une valeur "
"Unicode."
#: library/msvcrt.rst:132
msgid "Print the byte string *char* to the console without buffering."
@ -156,6 +175,8 @@ msgstr ""
#: library/msvcrt.rst:137
msgid "Wide char variant of :func:`putch`, accepting a Unicode value."
msgstr ""
"Variante de :func:`putch` qui accepte une valeur Unicode et l'écrit comme "
"caractère large."
#: library/msvcrt.rst:142
msgid ""
@ -166,6 +187,8 @@ msgstr ""
#: library/msvcrt.rst:148
msgid "Wide char variant of :func:`ungetch`, accepting a Unicode value."
msgstr ""
"Variante de :func:`ungetch` qui accepte une valeur Unicode et l'écrit comme "
"caractère large."
#: library/msvcrt.rst:154
#, fuzzy

View File

@ -28,7 +28,6 @@ msgid "Introduction"
msgstr "Introduction"
#: library/multiprocessing.rst:14
#, fuzzy
msgid ""
":mod:`multiprocessing` is a package that supports spawning processes using "
"an API similar to the :mod:`threading` module. The :mod:`multiprocessing` "
@ -40,12 +39,13 @@ msgid ""
msgstr ""
":mod:`multiprocessing` est un paquet qui permet l'instanciation de processus "
"via la même API que le module :mod:`threading`. Le paquet :mod:"
"`multiprocessing` offre à la fois des possibilités de programmation "
"concurrente locale ou à distance, contournant les problèmes du :term:`Global "
"Interpreter Lock` en utilisant des processus plutôt que des fils "
"d'exécution. Ainsi, le module :mod:`multiprocessing` permet au développeur "
"de bénéficier entièrement des multiples processeurs sur une machine. Il "
"tourne à la fois sur les systèmes Unix et Windows."
"`multiprocessing` permet la programmation concurrente sur une même machine "
"ou entre machines. Il permet de contourner les problèmes du :term:`verrou "
"global de l'interpréteur (GIL) <verrou global de l'interpréteur>` en "
"utilisant des processus plutôt que des fils d'exécution. Ainsi, le module :"
"mod:`multiprocessing` permet au développeur d'exploiter au mieux tous les "
"processeurs d'une machine. Il tourne à la fois sur les systèmes Unix et "
"Windows."
#: library/multiprocessing.rst:23
msgid ""
@ -1131,14 +1131,12 @@ msgstr ""
"raison des problématiques de *multithreading* et *multiprocessing*."
#: library/multiprocessing.rst:792
#, fuzzy
msgid ""
"Note that this may raise :exc:`NotImplementedError` on Unix platforms like "
"macOS where ``sem_getvalue()`` is not implemented."
msgstr ""
"Notez que cela peut lever une :exc:`NotImplementedError` sous les "
"plateformes Unix telles que Mac OS X où ``sem_getvalue()`` n'est pas "
"implémentée."
"Notez que cela peut lever une :exc:`NotImplementedError` sous certaines "
"plateformes Unix comme macOS où ``sem_getvalue()`` n'est pas implémentée."
#: library/multiprocessing.rst:797
msgid ""
@ -1431,6 +1429,8 @@ msgid ""
"When the number of CPUs cannot be determined a :exc:`NotImplementedError` is "
"raised."
msgstr ""
"Une :exc:`NotImplementedError` est levée quand il est impossible de "
"déterminer ce nombre."
#: library/multiprocessing.rst:965
msgid ":func:`os.cpu_count`"
@ -1544,7 +1544,6 @@ msgstr ""
"``None`` est renvoyé."
#: library/multiprocessing.rst:1038
#, fuzzy
msgid ""
"The return value can be ``'fork'``, ``'spawn'``, ``'forkserver'`` or "
"``None``. ``'fork'`` is the default on Unix, while ``'spawn'`` is the "
@ -1552,7 +1551,7 @@ msgid ""
msgstr ""
"La valeur de retour peut être ``'fork'``, ``'spawn'``, ``'forkserver'`` ou "
"``None``. ``'fork'`` est la valeur par défaut sous Unix, ``'spawn'`` est "
"celle sous Windows."
"celle sous Windows et macsOS."
#: library/multiprocessing.rst:1052
#, fuzzy
@ -1872,13 +1871,12 @@ msgstr ""
"`Lock.acquire`."
#: library/multiprocessing.rst:1251
#, fuzzy
msgid ""
"On macOS, this is indistinguishable from :class:`Semaphore` because "
"``sem_getvalue()`` is not implemented on that platform."
msgstr ""
"Sur Mac OS X, elle n'est pas distinguable de la classe :class:`Semaphore` "
"parce que ``sem_getvalue()`` n'est pas implémentée sur cette plateforme."
"Sur macOS, elle n'est pas distinguable de la classe :class:`Semaphore` parce "
"que ``sem_getvalue()`` n'est pas implémentée sur cette plateforme."
#: library/multiprocessing.rst:1256
msgid "A condition variable: an alias for :class:`threading.Condition`."
@ -2122,13 +2120,12 @@ msgid "A semaphore object: a close analog of :class:`threading.Semaphore`."
msgstr "Un objet sémaphore, proche analogue de :class:`threading.Semaphore`."
#: library/multiprocessing.rst:1390
#, fuzzy
msgid ""
"On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a "
"timeout will emulate that function's behavior using a sleeping loop."
msgstr ""
"Sous Mac OS X, ``sem_timedwait`` n'est pas supporté, donc appeler "
"``acquire()`` avec un temps d'exécution limité émulera le comportement de "
"Sous macOS, ``sem_timedwait`` n'est pas pris en charge, donc appeler "
"``acquire()`` avec un temps d'exécution limité émule le comportement de "
"cette fonction en utilisant une boucle d'attente."
#: library/multiprocessing.rst:1395
@ -3298,12 +3295,12 @@ msgstr ""
"plus, *func* est exécutée sur un seul des *workers* du pool."
#: library/multiprocessing.rst:2193
#, fuzzy
msgid ""
"A variant of the :meth:`apply` method which returns a :class:"
"`~multiprocessing.pool.AsyncResult` object."
msgstr ""
"Une variante de la méthode :meth:`apply` qui renvoie un objet résultat."
"Une variante de la méthode :meth:`apply` qui renvoie un objet :class:"
"`~multiprocessing.pool.AsyncResult`."
#: library/multiprocessing.rst:2196 library/multiprocessing.rst:2227
msgid ""
@ -3367,11 +3364,12 @@ msgstr ""
"efficacité."
#: library/multiprocessing.rst:2224
#, fuzzy
msgid ""
"A variant of the :meth:`.map` method which returns a :class:"
"`~multiprocessing.pool.AsyncResult` object."
msgstr "Une variante de la méthode :meth:`.map` qui renvoie un objet résultat."
msgstr ""
"Une variante de la méthode :meth:`.map` qui renvoie un objet :class:"
"`~multiprocessing.pool.AsyncResult`."
#: library/multiprocessing.rst:2241
msgid "A lazier version of :meth:`.map`."
@ -4015,6 +4013,10 @@ msgid ""
"class:`Pool` that supports all the same method calls but uses a pool of "
"worker threads rather than worker processes."
msgstr ""
"En particulier, la fonction ``Pool`` du module :mod:`multiprocessing.dummy` "
"renvoie une instance de :class:`ThreadPool`, qui est une sous-classe de :"
"class:`Pool`. Elle a la même interface, mais elle utilise un pool de fils "
"d'exécution plutôt qu'un pool de processus."
#: library/multiprocessing.rst:2692
msgid ""
@ -4025,20 +4027,27 @@ msgid ""
"calling :meth:`~multiprocessing.pool.Pool.close` and :meth:`~multiprocessing."
"pool.Pool.terminate` manually."
msgstr ""
"Un objet qui contrôle un pool de fils d'exécution auquel des tâches peuvent "
"être envoyées. L'interface des instances de :class:`ThreadPool` est "
"entièrement compatible avec celle des instances de :class:`Pool`, et leur "
"ressources doivent être aussi correctement gérées, soit en utilisant le pool "
"avec un contexte, soit en appelant explicitement :meth:`~multiprocessing."
"pool.Pool.close` et :meth:`~multiprocessing.pool.Pool.terminate`."
#: library/multiprocessing.rst:2699
#, fuzzy
msgid ""
"*processes* is the number of worker threads to use. If *processes* is "
"``None`` then the number returned by :func:`os.cpu_count` is used."
msgstr ""
"*processes* est le nombre de processus *workers* à utiliser. Si *processes* "
"est ``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé."
"*processes* est le nombre de fils d'exécution à utiliser. Si *processes* est "
"``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé."
#: library/multiprocessing.rst:2705
msgid ""
"Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided."
msgstr ""
"À la différence de :class:`Pool`, *maxtasksperchild* et *context* ne peuvent "
"pas être passés en arguments."
#: library/multiprocessing.rst:2709
msgid ""
@ -4049,6 +4058,13 @@ msgid ""
"for representing the status of asynchronous jobs, :class:`AsyncResult`, that "
"is not understood by any other libraries."
msgstr ""
"La classe :class:`ThreadPool` a la même interface que la classe :class:"
"`Pool`, dont l'implémentation repose sur un pool de processus, et a été "
"introduite avant le module :class:`concurrent.futures`. Par conséquent elle "
"implémente des opérations qui n'ont pas vraiment de sens pour un pool "
"implémenté avec des fils d'exécution et possède son propre type pour "
"représenter le statut de tâches asynchrones, :class:`AsyncResult`, qui n'est "
"pas géré par les autres modules."
#: library/multiprocessing.rst:2716
msgid ""
@ -4058,6 +4074,11 @@ msgid ""
"instances that are compatible with many other libraries, including :mod:"
"`asyncio`."
msgstr ""
"Il est souvent plus judicieux d'utiliser :class:`concurrent.futures."
"ThreadPoolExecutor` qui a une interface plus simple, qui a été pensée dès "
"l'origine pour les fils d'exécution et qui renvoie des instances de :class:"
"`concurrent.futures.Future` qui sont compatibles avec de nombreux modules, "
"dont :mod:`asyncio`."
#: library/multiprocessing.rst:2726
msgid "Programming guidelines"

View File

@ -137,7 +137,7 @@ msgstr ""
#: library/nntplib.rst:150
msgid "Exception raised when an unexpected reply is received from the server."
msgstr ""
msgstr "Exception levée lorsqu'une réponse inattendue est reçue du serveur."
#: library/nntplib.rst:155
msgid ""

View File

@ -1908,7 +1908,7 @@ msgstr ""
#: library/optparse.rst:1596
msgid ":attr:`~Option.type`"
msgstr ""
msgstr ":attr:`~Option.type`"
#: library/optparse.rst:1593
msgid ""
@ -1920,7 +1920,7 @@ msgstr ""
#: library/optparse.rst:1602
msgid ":attr:`~Option.nargs`"
msgstr ""
msgstr ":attr:`~Option.nargs`"
#: library/optparse.rst:1599
msgid ""
@ -1932,7 +1932,7 @@ msgstr ""
#: library/optparse.rst:1605
msgid ":attr:`~Option.callback_args`"
msgstr ""
msgstr ":attr:`~Option.callback_args`"
#: library/optparse.rst:1605
msgid "a tuple of extra positional arguments to pass to the callback"
@ -1940,7 +1940,7 @@ msgstr ""
#: library/optparse.rst:1609
msgid ":attr:`~Option.callback_kwargs`"
msgstr ""
msgstr ":attr:`~Option.callback_kwargs`"
#: library/optparse.rst:1608
msgid "a dictionary of extra keyword arguments to pass to the callback"

View File

@ -296,6 +296,8 @@ msgstr ""
msgid ""
"Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators."
msgstr ""
"Mis à jour pour gérer les opérateurs *merge* (``|``) et *update* (``|=``) "
"de :pep:`584`."
#: library/os.rst:145
#, fuzzy
@ -658,20 +660,21 @@ msgstr ""
"environ``."
#: library/os.rst:461
#, fuzzy
msgid ""
"On some platforms, including FreeBSD and macOS, setting ``environ`` may "
"cause memory leaks. Refer to the system documentation for :c:func:`putenv`."
msgstr ""
"Sur certaines plate-formes, dont FreeBSD et Mac OS X, procéder à des "
"assignations sur ``environ`` peut causer des fuites de mémoire. Referez-vous "
"à la documentation système de :func:`putenv`."
"à la documentation système de :c:func:`putenv`."
#: library/os.rst:464
msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.putenv`` with arguments "
"``key``, ``value``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.putenv`` avec les arguments "
"``key``, ``value``."
#: library/os.rst:466
#, fuzzy
@ -916,6 +919,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.unsetenv`` with argument "
"``key``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.unsetenv`` avec largument "
"``key``."
#: library/os.rst:663
#, fuzzy
@ -1024,6 +1029,13 @@ msgid ""
"reside in the same filesystem, otherwise an :exc:`OSError` is raised with :"
"attr:`~OSError.errno` set to :data:`errno.EXDEV`."
msgstr ""
"Copie *count* octets depuis le descripteur de fichier *src*, à partir de la "
"position *offset_src*, dans le descripteur de fichier *dst*, à la position "
"*offset_dst*. Si *offset_src* est ``None``, alors *src* est lu depuis la "
"position actuelle ; respectivement pour *offset_dst*. Les fichiers pointés "
"par *src* et *dst* doivent se trouver sur le même système de fichiers, sinon "
"une :exc:`OSError` est levée avec :attr:`~OSError.errno` défini à :data:"
"`errno.EXDEV`."
#: library/os.rst:737
msgid ""
@ -1032,12 +1044,19 @@ msgid ""
"filesystems could implement extra optimizations. The copy is done as if both "
"files are opened as binary."
msgstr ""
"Cette copie est faite sans le coût additionnel de transférer les données "
"depuis le noyau vers l'espace utilisateur puis dans le sens inverse vers le "
"noyau. En outre, certains systèmes de fichiers peuvent implémenter des "
"optimisations supplémentaires. Cette copie est faite comme si les deux "
"fichiers étaient ouverts en mode binaire."
#: library/os.rst:742
msgid ""
"The return value is the amount of bytes copied. This could be less than the "
"amount requested."
msgstr ""
"La valeur de retour est le nombre d'octets copiés. Cela peut être moins que "
"le nombre demandé."
#: library/os.rst:746
msgid ""
@ -1110,6 +1129,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.chmod`` with arguments "
"``path``, ``mode``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.chmod`` avec les arguments "
"``path``, ``mode``, ``dir_fd``."
#: library/os.rst:796
msgid ""
@ -1127,6 +1148,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.chown`` with arguments "
"``path``, ``uid``, ``gid``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.chown`` avec les arguments "
"``path``, ``uid``, ``gid``, ``dir_fd``."
#: library/os.rst:808
msgid ""
@ -1238,6 +1261,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.truncate`` with arguments "
"``fd``, ``length``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.truncate`` avec les "
"arguments ``fd``, ``length``."
#: library/os.rst:2932
msgid "Added support for Windows"
@ -1283,6 +1308,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.lockf`` with arguments "
"``fd``, ``cmd``, ``len``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.lockf`` avec les arguments "
"``fd``, ``cmd``, ``len``."
#: library/os.rst:922
msgid "Flags that specify what action :func:`lockf` will take."
@ -1359,6 +1386,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``open`` with arguments ``path``, "
"``mode``, ``flags``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``open`` avec les arguments "
"``path``, ``mode``, ``flags``."
#: library/os.rst:972
msgid ""
@ -1813,7 +1842,7 @@ msgstr ""
#: library/os.rst:1315
msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*."
msgstr ""
msgstr "Les paramètres *out* et *in* ont été renommés *out_fd* et *in_fd*."
#: library/os.rst:1321
msgid ""
@ -2246,6 +2275,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.chdir`` with argument "
"``path``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.chdir`` avec l'argument "
"``path``."
#: library/os.rst:1636
msgid ""
@ -2324,6 +2355,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.chflags`` with arguments "
"``path``, ``flags``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.chflags`` avec les "
"arguments ``path``, ``flags``."
#: library/os.rst:1668
msgid "The *follow_symlinks* argument."
@ -2498,6 +2531,9 @@ msgid ""
"code page: see :pep:`529` for the rationale. The function is no longer "
"deprecated on Windows."
msgstr ""
"La fonction utilise maintenant l'encodage UTF-8 sur Windows, plutôt que la "
"*page de code* ANSI : la :pep:`529` explique la raison. Cette fonction n'est "
"plus obsolète sur Windows."
#: library/os.rst:1783
msgid ""
@ -2552,6 +2588,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.link`` with arguments "
"``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.link`` avec les arguments "
"``src``, ``dst``, ``src_dir_ds``, ``dst_dir_fd``."
#: library/os.rst:1835
msgid "Added Windows support."
@ -2604,6 +2642,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.listdir`` with argument "
"``path``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.listdir`` avec l'argument "
"``path``."
#: library/os.rst:1864
msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`."
@ -2724,6 +2764,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.mkdir`` with arguments "
"``path``, ``mode``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.mkdir`` avec les arguments "
"``path``, ``mode``, ``dir_fd``."
#: library/os.rst:1953
msgid ""
@ -2991,6 +3033,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.remove`` with arguments "
"``path``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.remove`` avec les arguments "
"``path``, ``dir_fd``."
#: library/os.rst:2153
msgid ""
@ -3068,6 +3112,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.rename`` with arguments "
"``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.rename`` avec les arguments "
"``src``, ``dst``, ``src_dir_ds``, ``dst_dir_fd``."
#: library/os.rst:2191
msgid "The *src_dir_fd* and *dst_dir_fd* arguments."
@ -3134,6 +3180,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.rmdir`` with arguments "
"``path``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.rmdir`` avec les arguments "
"``path``, ``dir_fd``."
#: library/os.rst:2948
msgid "The *dir_fd* parameter."
@ -3194,6 +3242,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.scandir`` with argument "
"``path``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.scandir`` avec l'argument "
"``path``."
#: library/os.rst:2284
msgid ""
@ -4212,6 +4262,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.symlink`` with arguments "
"``src``, ``dst``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.symlink`` avec les "
"arguments ``src``, ``dst``, ``dir_fd``."
#: library/os.rst:2899
msgid ""
@ -4242,6 +4294,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.truncate`` with arguments "
"``path``, ``length``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.truncate`` avec les "
"arguments ``path``, ``length``."
#: library/os.rst:2941
msgid ""
@ -4323,6 +4377,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.utime`` with arguments "
"``path``, ``times``, ``ns``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.utime`` avec les arguments "
"``path``, ``times``, ``ns``, ``dir_fd``."
#: library/os.rst:2987
msgid ""
@ -4478,6 +4534,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.walk`` with arguments "
"``top``, ``topdown``, ``onerror``, ``followlinks``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.walk`` avec les arguments "
"``top``, ``topdown``, ``onerror``, ``followlinks``."
#: library/os.rst:3085
msgid ""
@ -4542,6 +4600,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.fwalk`` with arguments "
"``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.fwalk`` avec les arguments "
"``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``."
#: library/os.rst:3153
msgid "Added support for :class:`bytes` paths."
@ -4613,6 +4673,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.getxattr`` with arguments "
"``path``, ``attribute``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.getxattr`` avec les "
"arguments ``path``, ``attribute``."
#: library/os.rst:3253 library/os.rst:3278
msgid "Accepts a :term:`path-like object` for *path* and *attribute*."
@ -4635,6 +4697,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.listxattr`` with argument "
"``path``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.listxattr`` avec l'argument "
"``path``."
#: library/os.rst:3243
msgid ""
@ -4654,6 +4718,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.removexattr`` with arguments "
"``path``, ``attribute``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.removexattr`` avec les "
"arguments ``path``, ``attribute``."
#: library/os.rst:3259
#, fuzzy
@ -4690,6 +4756,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.setxattr`` with arguments "
"``path``, ``attribute``, ``value``, ``flags``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.setxattr`` avec les "
"arguments ``path``, ``attribute``, ``value``, ``flags``."
#: library/os.rst:3284
msgid ""
@ -4759,7 +4827,7 @@ msgstr ""
#: library/os.rst:3327
msgid "Add a path to the DLL search path."
msgstr ""
msgstr "Ajoute un chemin aux chemins de recherche de DLL."
#: library/os.rst:3329
msgid ""
@ -4786,6 +4854,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.add_dll_directory`` with "
"argument ``path``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.add_dll_directory`` avec "
"l'argument ``path``."
#: library/os.rst:3344
msgid ""
@ -4909,6 +4979,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.exec`` with arguments "
"``path``, ``args``, ``env``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.exec`` avec les arguments "
"``path``, ``args``, ``env``."
#: library/os.rst:3412
#, fuzzy
@ -5087,6 +5159,7 @@ msgstr ""
msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.fork`` with no arguments."
msgstr ""
"Lève un :ref:`évènement d'audit <auditing>` ``sys.fork`` sans argument."
#: library/os.rst:3576
msgid ""
@ -5119,6 +5192,7 @@ msgstr ""
msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.forkpty`` with no arguments."
msgstr ""
"Lève un :ref:`évènement d'audit <auditing>` ``sys.forkpty`` sans argument."
#: library/os.rst:3597
msgid ""
@ -5160,6 +5234,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.kill`` with arguments "
"``pid``, ``sig``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.kill`` avec les arguments "
"``pid``, ``sig``."
#: library/os.rst:3625
msgid "Windows support."
@ -5174,6 +5250,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.killpg`` with arguments "
"``pgid``, ``sig``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.killpg`` avec les arguments "
"``pgid``, ``sig``."
#: library/os.rst:3644
msgid ""
@ -5382,6 +5460,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.posix_spawn`` with arguments "
"``path``, ``argv``, ``env``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.posix_spawn`` avec les "
"arguments ``path``, ``argv``, ``env``."
#: library/os.rst:3789
msgid "Wraps the :c:func:`posix_spawnp` C library API for use from Python."
@ -5581,6 +5661,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.spawn`` with arguments "
"``mode``, ``path``, ``args``, ``env``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.spawn`` avec les arguments "
"``mode``, ``path``, ``args``, ``env``."
#: library/os.rst:3903
msgid ""
@ -5704,6 +5786,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.startfile`` with arguments "
"``path``, ``operation``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``os.startfile`` avec les "
"arguments ``path``, ``operation``."
#: library/os.rst:3975
#, fuzzy
@ -5769,6 +5853,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``os.system`` with argument "
"``command``."
msgstr ""
"Lève un :ref:`évènement d'audit <auditing>` ``os.system`` avec comme "
"argument ``command``."
#: library/os.rst:4008
msgid ""

View File

@ -37,6 +37,8 @@ msgid ""
"Operations in this module now raise :exc:`OSError` where :exc:`IOError` was "
"raised."
msgstr ""
"Les opérations de ce module lèvent désormais :exc:`OSError` au lieu de :exc:"
"`IOError`."
#: library/ossaudiodev.rst:55
msgid ""

View File

@ -826,6 +826,11 @@ msgid ""
"directory after creating the iterator, whether a path object for that file "
"be included is unspecified."
msgstr ""
"Les éléments enfants sont renvoyés dans un ordre arbitraire, et les éléments "
"spéciaux ``'.'`` et ``'..'`` ne sont pas inclus. Si un fichier est supprimé "
"ou ajouté au répertoire après la création de litérateur, il se peut qu'un "
"élément soit renvoyé pour ce fichier, ou non ; ce comportement n'est pas "
"déterminé."
#: library/pathlib.rst:908
msgid ""
@ -958,6 +963,9 @@ msgid ""
"relative to the current working directory, *not* the directory of the Path "
"object."
msgstr ""
"La cible peut être un chemin absolu ou relatif. Attention, une cible "
"relative est interprétée par rapport au dossier courant, et pas par rapport "
"au dossier du ``Path`` sur lequel cette méthode est appelée."
# « nouveau dans la version … »
#: library/pathlib.rst:1037
@ -965,15 +973,14 @@ msgid "Added return value, return the new Path instance."
msgstr "ajout de la valeur de retour, renvoie une nouvelle instance *Path*."
#: library/pathlib.rst:1029
#, fuzzy
msgid ""
"Rename this file or directory to the given *target*, and return a new Path "
"instance pointing to *target*. If *target* points to an existing file or "
"empty directory, it will be unconditionally replaced."
msgstr ""
"Renomme ce fichier ou dossier vers la cible *target* fournie, et renvoie une "
"nouvelle instance de *Path* pointant sur *target*. Si *target* pointe sur un "
"fichier ou un dossier existant, il est systématiquement remplacé."
"Renomme ce fichier ou dossier vers la cible *target* fournie et renvoie une "
"nouvelle instance de *Path* pointant vers *target*. Si *target* pointe vers "
"un fichier ou un dossier vide existant, il sera systématiquement remplacé."
#: library/pathlib.rst:1043
msgid ""
@ -1068,7 +1075,7 @@ msgstr ""
#: library/pathlib.rst:1132
msgid "Make *target* a hard link to this path."
msgstr ""
msgstr "Crée un lien physique pointant sur le même fichier que *target*."
#: library/pathlib.rst:1136
msgid ""

File diff suppressed because it is too large Load Diff

View File

@ -906,7 +906,7 @@ msgstr ""
#: library/profile.rst:678
msgid ":class:`profile.Profile`"
msgstr ""
msgstr ":class:`profile.Profile`"
#: library/profile.rst:665
msgid ""
@ -931,7 +931,7 @@ msgstr ""
#: library/profile.rst:692
msgid ":class:`cProfile.Profile`"
msgstr ""
msgstr ":class:`cProfile.Profile`"
#: library/profile.rst:681
msgid ""

View File

@ -127,7 +127,7 @@ msgstr ""
#: library/pyexpat.rst:122
msgid "XMLParser Objects"
msgstr ""
msgstr "Objets XMLParser"
#: library/pyexpat.rst:124
msgid ":class:`xmlparser` objects have the following methods:"

View File

@ -220,19 +220,20 @@ msgstr ""
"qu'il était au moment où :func:`getstate` a été appelé."
#: library/random.rst:108
#, fuzzy
msgid "Functions for bytes"
msgstr "Fonctions pour les entiers"
msgstr "Fonctions pour les octets"
#: library/random.rst:112
msgid "Generate *n* random bytes."
msgstr ""
msgstr "Génère *n* octets aléatoires."
#: library/random.rst:114
msgid ""
"This method should not be used for generating security tokens. Use :func:"
"`secrets.token_bytes` instead."
msgstr ""
"Cette méthode ne doit pas être utilisée pour générer des jetons de sécurité. "
"Utiliser :func:`secrets.token_bytes` à la place."
#: library/random.rst:121
msgid "Functions for integers"
@ -278,22 +279,21 @@ msgstr ""
"``randrange(a, b+1)``."
#: library/random.rst:145
#, fuzzy
msgid ""
"Returns a non-negative Python integer with *k* random bits. This method is "
"supplied with the MersenneTwister generator and some other generators may "
"also provide it as an optional part of the API. When available, :meth:"
"`getrandbits` enables :meth:`randrange` to handle arbitrarily large ranges."
msgstr ""
"Renvoie un entier Python avec *k* bits aléatoires. Cette méthode est fournie "
"avec le générateur MersenneTwister. Quelques autres générateurs peuvent "
"également la fournir en option comme partie de l'API. Lorsqu'elle est "
"disponible, :meth:`getrandbits` permet à :meth:`randrange` de gérer des "
"Renvoie un entier Python non négatif avec *k* bits aléatoires. Cette méthode "
"est fournie avec le générateur MersenneTwister. Quelques autres générateurs "
"peuvent également la fournir en option comme partie de l'API. Lorsqu'elle "
"est disponible, :meth:`getrandbits` permet à :meth:`randrange` de gérer des "
"gammes arbitrairement larges."
#: library/random.rst:151
msgid "This method now accepts zero for *k*."
msgstr ""
msgstr "Cette méthode accepte désormais zéro pour *k*."
#: library/random.rst:156
msgid "Functions for sequences"
@ -379,7 +379,7 @@ msgstr ""
#: library/random.rst:197
msgid "Raises a :exc:`ValueError` if all weights are zero."
msgstr ""
msgstr "Lève une :exc:`ValueError` si tous les poids sont à zéro."
#: library/random.rst:203
msgid "Shuffle the sequence *x* in place."
@ -420,7 +420,7 @@ msgstr ""
#: library/random.rst:218
msgid "The optional parameter *random*."
msgstr ""
msgstr "Le paramètre optionnel *random*."
#: library/random.rst:223
msgid ""
@ -462,6 +462,10 @@ msgid ""
"counts=[4, 2], k=5)`` is equivalent to ``sample(['red', 'red', 'red', 'red', "
"'blue', 'blue'], k=5)``."
msgstr ""
"Les éléments répétés peuvent être spécifiés un à la fois ou avec le "
"paramètre optionnel uniquement nommé *counts*. Par exemple, "
"``sample([red, blue], counts=[4, 2], k=5)`` est équivalent à "
"``sample([red, red, red, red, blue, blue], k=5)``."
#: library/random.rst:240
msgid ""
@ -484,7 +488,7 @@ msgstr ""
#: library/random.rst:247
msgid "Added the *counts* parameter."
msgstr ""
msgstr "Ajoute le paramètre *counts*."
#: library/random.rst:250
msgid ""
@ -597,6 +601,13 @@ msgid ""
"random number generator. 2) Put locks around all calls. 3) Use the slower, "
"but thread-safe :func:`normalvariate` function instead."
msgstr ""
"Note sur les fils dexécution multiples (*Multithreading*) : quand deux "
"fils dexécution appellent cette fonction simultanément, il est possible "
"quils reçoivent la même valeur de retour. On peut léviter de 3 façons. 1) "
"Avoir chaque fil utilisant une instance différente du générateur de nombres "
"aléatoires. 2) Mettre des verrous autour de tous les appels. 3) Utiliser la "
"fonction plus lente, mais compatible avec les programmes à fils dexécution "
"multiples, :func:`normalvariate` à la place."
#: library/random.rst:333
msgid ""
@ -659,6 +670,9 @@ msgid ""
"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :"
"class:`bytearray`."
msgstr ""
"À lavenir, la *graine* devra être de lun des types suivants : :class:"
"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes` ou :"
"class:`bytearray`."
#: library/random.rst:378
msgid ""
@ -682,7 +696,6 @@ msgid "Notes on Reproducibility"
msgstr "Remarques sur la reproductibilité"
#: library/random.rst:389
#, fuzzy
msgid ""
"Sometimes it is useful to be able to reproduce the sequences given by a "
"pseudo-random number generator. By re-using a seed value, the same sequence "
@ -692,7 +705,7 @@ msgstr ""
"Il est parfois utile de pouvoir reproduire les séquences données par un "
"générateur de nombres pseudo-aléatoires. En réutilisant la même graine, la "
"même séquence devrait être reproductible d'une exécution à l'autre tant que "
"plusieurs processus ne sont pas en cours."
"plusieurs fils dexécution ne sont pas en cours."
#: library/random.rst:393
msgid ""
@ -733,7 +746,6 @@ msgid "Simulations::"
msgstr "Simulations : ::"
#: library/random.rst:463
#, fuzzy
msgid ""
"Example of `statistical bootstrapping <https://en.wikipedia.org/wiki/"
"Bootstrapping_(statistics)>`_ using resampling with replacement to estimate "
@ -741,8 +753,7 @@ msgid ""
msgstr ""
"Exemple de `*bootstrapping* statistique <https://fr.wikipedia.org/wiki/"
"Bootstrap_(statistiques)>`_ utilisant le ré-échantillonnage avec remise pour "
"estimer un intervalle de confiance pour la moyenne d'un échantillon de "
"taille cinq : ::"
"estimer un intervalle de confiance pour la moyenne d'un échantillon ::"
#: library/random.rst:476
msgid ""
@ -758,12 +769,11 @@ msgstr ""
"ceux d'un placebo ::"
#: library/random.rst:503
#, fuzzy
msgid ""
"Simulation of arrival times and service deliveries for a multiserver queue::"
msgstr ""
"Simulation des heures d'arrivée et des livraisons de services dans une seule "
"file d'attente de serveurs ::"
"Simulation des heures d'arrivée et des livraisons de services pour une file "
"d'attente de serveurs ::"
#: library/random.rst:531
msgid ""
@ -818,6 +828,12 @@ msgid ""
"are not possible selections. For example, ``0.05954861408025609`` isn't an "
"integer multiple of 2⁻⁵³."
msgstr ""
"Par défaut :func:`.random` renvoie des multiples de 2⁻⁵³ dans la plage *0.0 "
"≤ x < 1.0*. Tous ces nombres sont uniformément répartis et sont représentés "
"exactement en tant que nombre à virgule flottante Python. Cependant, de "
"nombreux autres nombres à virgule flottante dans cette plage, et "
"représentables en Python, ne sont pas sélectionnables. Par exemple "
"``0.05954861408025609`` nest pas un multiple de 2⁻⁵³."
#: library/random.rst:560
msgid ""
@ -827,12 +843,20 @@ msgid ""
"geometric distribution where exponents smaller than *-53* occur half as "
"often as the next larger exponent."
msgstr ""
"La recette suivante utilise une approche différente. Tous les nombres à "
"virgule flottante de lintervalle sont sélectionnables. La mantisse "
"provient dune distribution uniforme dentiers dans la plage *2⁵² ≤ mantisse "
"< 2⁵³*. Lexposant provient dune distribution géométrique où les exposants "
"plus petits que *-53* apparaissent moitié moins souvent que lexposant "
"suivant juste plus grand."
#: library/random.rst:582
msgid ""
"All :ref:`real valued distributions <real-valued-distributions>` in the "
"class will use the new method::"
msgstr ""
"Toutes les :ref:`real valued distributions <real-valued-distributions>` dans "
"la classe seront utilisées dans la nouvelle méthode ::"
#: library/random.rst:591
msgid ""
@ -842,6 +866,11 @@ msgid ""
"Python float. (The value 2⁻¹⁰⁷⁴ is the smallest positive unnormalized float "
"and is equal to ``math.ulp(0.0)``.)"
msgstr ""
"La recette est conceptuellement équivalente à un algorithme qui choisit "
"parmi tous les multiples de 2⁻¹⁰⁷⁴ dans la plage *0.0 ≤ x < 1.0*. Tous ces "
"nombres sont uniformément répartis, mais la plupart doivent être arrondis au "
"nombre à virgule Python inférieur. (La valeur 2⁻¹⁰⁷⁴ est le plus petit "
"nombre à virgule flottante positif et est égal à ``math.ulp(0.0)``.)"
#: library/random.rst:600
msgid ""
@ -850,6 +879,10 @@ msgid ""
"ways to generate more fine-grained floats than normally generated by :func:`."
"random`."
msgstr ""
"`Generating Pseudo-random Floating-Point Values <https://allendowney.com/"
"research/rand/downey07randfloat.pdf>`_ une publication par *Allen B. Downey* "
"décrivant des manières de générer des nombres à virgule flottante plus fins "
"que normalement générés par :func:`.random`."
#~ msgid "Examples and Recipes"
#~ msgstr "Exemples et recettes"

View File

@ -1316,7 +1316,6 @@ msgstr ""
"de groupe ``(?i)``."
#: library/re.rst:672
#, fuzzy
msgid ""
"Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in "
"combination with the :const:`IGNORECASE` flag, they will match the 52 ASCII "
@ -1330,7 +1329,7 @@ msgstr ""
"combinaison avec la constante :const:`IGNORECASE`, ils correspondront aux 52 "
"caractères ASCII et aux 4 caractères non ASCII : 'İ' (*U+0130*, Latin "
"majuscule I avec un point au-dessus), 'ı' (*U+0131*, Latin minuscule sans "
"point au-dessus), 'ſ' (*U+017F*, Latin minuscule *long s*) et 'K' (*U+212A*, "
"point au-dessus), 'ſ' (*U+017F*, Latin minuscule *long s*) et '' (*U+212A*, "
"*Kelvin sign*). Si la constante :const:`ASCII` est utilisée, seuls les "
"caractères 'a' à 'z' et 'A' à 'Z' seront concernés."
@ -1540,18 +1539,16 @@ msgstr ""
"caractère vide."
#: library/re.rst:826
#, fuzzy
msgid ""
"Return all non-overlapping matches of *pattern* in *string*, as a list of "
"strings or tuples. The *string* is scanned left-to-right, and matches are "
"returned in the order found. Empty matches are included in the result."
msgstr ""
"Renvoie un :term:`iterator` produisant des :ref:`objets de correspondance "
"<match-objects>` pour toutes les correspondances non chevauchantes de "
"l'expression rationnelle *pattern* sur la chaîne *string*. *string* est "
"analysée de la gauche vers la droite, et les correspondances sont renvoyées "
"dans l'ordre où elles sont trouvées. Les correspondances vides sont inclues "
"dans le résultat."
"Renvoie toutes les correspondances, sans chevauchements, entre le motif "
"*pattern* et la chaîne *string*, comme une liste de chaînes ou de *n*-"
"uplets. La chaîne *string* est examinée de gauche à droite, et les "
"correspondances sont données dans cet ordre. Le résultat peut contenir des "
"correspondances vides."
#: library/re.rst:830
msgid ""
@ -1562,6 +1559,13 @@ msgid ""
"matching the groups. Non-capturing groups do not affect the form of the "
"result."
msgstr ""
"Le type du résultat dépend du nombre de groupes capturants dans le motif. "
"S'il n'y en a pas, le résultat est une liste de sous-chaînes de caractères "
"qui correspondent au motif. S'il y a exactement un groupe, le résultat est "
"une liste constituée des sous-chaînes qui correspondaient à ce groupe pour "
"chaque correspondance entre le motif et la chaîne. S'il y a plusieurs "
"groupes, le résultat est formé de *n*-uplets avec les sous-chaînes "
"correspondant aux différents groupes."
#: library/re.rst:853
msgid "Non-empty matches can now start just after a previous empty match."

View File

@ -18,7 +18,7 @@ msgstr ""
#: ../Doc/library/security_warnings.rst:6
msgid "Security Considerations"
msgstr ""
msgstr "Considérations de sécurité"
#: ../Doc/library/security_warnings.rst:8
msgid "The following modules have specific security considerations:"

View File

@ -388,7 +388,7 @@ msgstr ""
#: library/select.rst:301
msgid ":const:`EPOLLEXCLUSIVE`"
msgstr ""
msgstr ":const:`EPOLLEXCLUSIVE`"
#: library/select.rst:301
msgid ""

View File

@ -112,16 +112,16 @@ msgstr ""
"*pickle*, charger un *shelf* peut exécuter du code arbitraire."
#: library/shelve.rst:60
#, fuzzy
msgid ""
"Shelf objects support most of methods and operations supported by "
"dictionaries (except copying, constructors and operators ``|`` and ``|=``). "
"This eases the transition from dictionary based scripts to those requiring "
"persistent storage."
msgstr ""
"Les objets *shelf* gèrent toutes les méthodes des dictionnaires. Cela "
"facilite la transition depuis les scripts utilisant des dictionnaires à ceux "
"nécessitant un stockage persistant."
"Les objets détagère gèrent la plupart des méthodes et opérations des "
"dictionnaires (à lexception de la copie, des constructeurs et des "
"opérateurs ``|`` et ``|=``). Cela facilite la transition depuis les scripts "
"utilisant des dictionnaires vers ceux nécessitant un stockage persistant."
#: library/shelve.rst:64
msgid "Two additional methods are supported:"

View File

@ -102,9 +102,8 @@ msgid ""
msgstr ""
#: library/signal.rst:68
#, fuzzy
msgid "Module contents"
msgstr "Contenu du module"
msgstr "Classe de données"
#: library/signal.rst:70
msgid ""

View File

@ -177,9 +177,8 @@ msgid "Activation of rlcompleter and history was made automatic."
msgstr ""
#: library/site.rst:158
#, fuzzy
msgid "Module contents"
msgstr "Contenu du module"
msgstr "Classe de données"
#: library/site.rst:162
msgid "A list of prefixes for site-packages directories."

View File

@ -388,7 +388,7 @@ msgstr ""
#: library/smtplib.rst:421 library/smtplib.rst:498
msgid ":exc:`SMTPNotSupportedError`"
msgstr ""
msgstr ":exc:`SMTPNotSupportedError`"
#: library/smtplib.rst:332
msgid "The ``AUTH`` command is not supported by the server."
@ -593,7 +593,7 @@ msgstr ""
#: library/smtplib.rst:484
msgid ":exc:`SMTPRecipientsRefused`"
msgstr ""
msgstr ":exc:`SMTPRecipientsRefused`"
#: library/smtplib.rst:481
msgid ""
@ -605,7 +605,7 @@ msgstr ""
#: library/smtplib.rst:490
msgid ":exc:`SMTPSenderRefused`"
msgstr ""
msgstr ":exc:`SMTPSenderRefused`"
#: library/smtplib.rst:490
msgid "The server didn't accept the *from_addr*."

View File

@ -385,9 +385,8 @@ msgid ""
msgstr ""
#: library/socket.rst:246
#, fuzzy
msgid "Module contents"
msgstr "Contenu du module"
msgstr "Classe de données"
#: library/socket.rst:248
msgid "The module :mod:`socket` exports the following elements."
@ -650,9 +649,8 @@ msgid ""
msgstr ""
#: library/socket.rst:544
#, fuzzy
msgid ":ref:`Availability <availability>`: Linux >= 4.7."
msgstr ":ref:`Disponibilité <availability>` : Linux >= 4.8."
msgstr ":ref:`Disponibilité <availability>` : Linux 4.7+"
#: library/socket.rst:547
msgid "Functions"
@ -794,7 +792,7 @@ msgstr ""
#: library/socket.rst:651
msgid "*source_address* was added."
msgstr ""
msgstr "Le paramètre *source_address* a été ajouté."
#: library/socket.rst:656
msgid ""
@ -1555,7 +1553,7 @@ msgstr ""
#: library/socket.rst:0
msgid "platform"
msgstr ""
msgstr "``platform``"
#: library/socket.rst:1351
msgid "Windows"

View File

@ -16,21 +16,23 @@ msgstr ""
#: library/socketserver.rst:2
msgid ":mod:`socketserver` --- A framework for network servers"
msgstr ""
msgstr ":mod:`socketserver` — Cadriciel pour serveurs réseaux"
#: library/socketserver.rst:7
msgid "**Source code:** :source:`Lib/socketserver.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/socketserver.py`"
#: library/socketserver.rst:11
msgid ""
"The :mod:`socketserver` module simplifies the task of writing network "
"servers."
msgstr ""
"Le module :mod:`socketserver` permet de simplifier le développement de "
"serveurs réseaux."
#: library/socketserver.rst:13
msgid "There are four basic concrete server classes:"
msgstr ""
msgstr "Il existe quatre classes concrètes fondamentales :"
#: library/socketserver.rst:18
msgid ""
@ -47,6 +49,9 @@ msgid ""
"arrive out of order or be lost while in transit. The parameters are the "
"same as for :class:`TCPServer`."
msgstr ""
"Cette classe utilise des datagrammes, qui sont des paquets d'information "
"pouvant arriver dans le désordre, voire être perdus, durant le transport. "
"Les paramètres sont identiques à :class:`TCPServer`."
#: library/socketserver.rst:36
msgid ""
@ -54,6 +59,10 @@ msgid ""
"but use Unix domain sockets; they're not available on non-Unix platforms. "
"The parameters are the same as for :class:`TCPServer`."
msgstr ""
"Ces classes, moins fréquemment utilisées, sont similaires aux classes pour "
"TCP et UDP mais utilisent des connecteurs UNIX ; ces connecteurs ne sont "
"disponibles que sur les plateformes UNIX. Les paramètres sont identiques à :"
"class:`TCPServer`."
#: library/socketserver.rst:42
msgid ""
@ -65,6 +74,15 @@ msgid ""
"each request; the :class:`ForkingMixIn` and :class:`ThreadingMixIn` mix-in "
"classes can be used to support asynchronous behaviour."
msgstr ""
"Ces quatre classes traitent les requêtes de façon :dfn:`synchrone` : chaque "
"requête doit être terminée avant de pouvoir traiter la suivante. Cette "
"méthode n'est pas adaptée si les requêtes prennent beaucoup de temps à être "
"traitées. Cela peut arriver si les requêtes demandent beaucoup de calcul, ou "
"si elles renvoient beaucoup de données que le client peine à traiter. Dans "
"ce cas, la solution est de créer un processus ou un fil dexécution séparé "
"pour chaque requête ; les classes de mélange :class:`ForkingMixIn` et :class:"
"`ThreadingMixIn` peuvent être utilisées pour réaliser ce comportement "
"asynchrone."
#: library/socketserver.rst:50
msgid ""
@ -79,6 +97,17 @@ msgid ""
"meth:`~BaseServer.server_close` to close the socket (unless you used a :"
"keyword:`!with` statement)."
msgstr ""
"La création d'un serveur requiert plusieurs étapes. Premièrement, vous devez "
"créer une classe pour gérer les requêtes en héritant de :class:"
"`BaseRequestHandler` et surcharger sa méthode :meth:`~BaseRequestHandler."
"handle`, laquelle traitera les requêtes entrantes. Deuxièmement, vous devez "
"instancier l'une des classes serveurs et lui passer ladresse du serveur "
"ainsi que la classe gérant les requêtes. Il est recommandé de faire ceci "
"dans une instruction :keyword:`with`. Ensuite, appelez la méthode :meth:"
"`~BaseServer.handle_request` ou :meth:`~BaseServer.serve_forever` de l'objet "
"serveur afin de traiter une ou plusieurs requêtes. Enfin, appelez la "
"méthode :meth:`~BaseServer.server_close` pour fermer le connecteur (à moins "
"que vous n'ayez utilisé une instruction :keyword:`!with`)."
#: library/socketserver.rst:62
msgid ""
@ -91,22 +120,35 @@ msgid ""
"meaning that Python will not exit until all threads created by :class:"
"`ThreadingMixIn` have exited."
msgstr ""
"Lorsque vous héritez de :class:`ThreadingMixIn` pour déléguer les connexions "
"à différent fils dexécution, vous devez déclarer explicitement comment les "
"fils dexécution doivent se comporter en cas d'arrêt abrupt. La classe :"
"class:`ThreadingMixIn` définit un attribut *daemon_threads*, indiquant si le "
"serveur doit attendre la fin des fils dexécution ou non. Vous pouvez "
"utiliser cet attribut si vous souhaitez que les fils dexécution soient "
"autonomes. La valeur par défaut est :const:`False`, indiquant que Python ne "
"doit pas quitter avant que tous les fils d'exécution créés par :class:"
"`ThreadingMixIn` ne soient terminés."
#: library/socketserver.rst:71
msgid ""
"Server classes have the same external methods and attributes, no matter what "
"network protocol they use."
msgstr ""
"Toutes les classes de serveurs exposent les mêmes méthodes et attributs, peu "
"importe le protocole réseau utilisé."
#: library/socketserver.rst:76
msgid "Server Creation Notes"
msgstr ""
msgstr "Notes sur la création de serveurs"
#: library/socketserver.rst:78
msgid ""
"There are five classes in an inheritance diagram, four of which represent "
"synchronous servers of four types::"
msgstr ""
"Il y a cinq classes dans la hiérarchie. Quatre d'entre elles représentent "
"des serveurs synchrones de quatre types différents ::"
#: library/socketserver.rst:95
msgid ""
@ -122,6 +164,9 @@ msgid ""
"these mix-in classes. For instance, :class:`ThreadingUDPServer` is created "
"as follows::"
msgstr ""
"Des versions utilisant des fils dexécution ou des processus peuvent être "
"créées pour chaque type de serveur, en utilisant ces classes de mélange. Par "
"exemple, :class:`ThreadingUDPServer` est créé comme suit ::"
#: library/socketserver.rst:111
msgid ""
@ -129,12 +174,18 @@ msgid ""
"`UDPServer`. Setting the various attributes also changes the behavior of "
"the underlying server mechanism."
msgstr ""
"La classe de mélange est en premier car elle surcharge une méthode définie "
"dans :class:`UDPServer`. Configurer les différents attributs changera "
"également le comportement du serveur."
#: library/socketserver.rst:115
msgid ""
":class:`ForkingMixIn` and the Forking classes mentioned below are only "
"available on POSIX platforms that support :func:`~os.fork`."
msgstr ""
"La classe :class:`ForkingMixIn` et les classes créant des processus "
"mentionnées ci-dessous sont uniquement disponibles sur les plateformes POSIX "
"prenant en charge :func:`~os.fork`."
#: library/socketserver.rst:118
msgid ""
@ -142,6 +193,9 @@ msgid ""
"processes complete, except if :attr:`socketserver.ForkingMixIn."
"block_on_close` attribute is false."
msgstr ""
"La méthode :meth:`socketserver.ForkingMixIn.server_close` attend jusqu'à ce "
"que tous les processus enfants soient terminés, sauf si l'attribut :attr:"
"`socketserver.ForkingMixIn.block_on_close` est faux."
#: library/socketserver.rst:122
msgid ""
@ -151,6 +205,11 @@ msgid ""
"`ThreadingMixIn.daemon_threads` to ``True`` to not wait until threads "
"complete."
msgstr ""
"La méthode :meth:`socketserver.ThreadingMixIn.server_close` attend que tous "
"les fils d'exécution non-*daemon* soit terminés, sauf si l'attribut :attr:"
"`socketserver.ThreadingMixIn.block_on_close` est faux. Utilisez des fils "
"d'exécution *daemon* en réglant :data:`ThreadingMixIn.daemon_threads` à "
"``True`` afin de ne pas attendre que les fils dexécution soit terminés."
#: library/socketserver.rst:131
msgid ""
@ -159,10 +218,15 @@ msgid ""
"daemonic threads complete. Add a new :attr:`socketserver.ForkingMixIn."
"block_on_close` class attribute to opt-in for the pre-3.7 behaviour."
msgstr ""
"Désormais, :meth:`socketserver.ForkingMixIn.server_close` et :meth:"
"`socketserver.ThreadingMixIn.server_close` attendent que tous les processus "
"enfants et les fils dexécution non-*daemon* soit terminés. Ajout de :attr:"
"`socketserver.ForkingMixIn.block_on_close`, un nouvel attribut de classe "
"permettant de conserver le comportement pré-3.7."
#: library/socketserver.rst:143
msgid "These classes are pre-defined using the mix-in classes."
msgstr ""
msgstr "Ces classes sont prédéfinies en utilisant les classes de mélange."
#: library/socketserver.rst:146
msgid ""
@ -174,6 +238,14 @@ msgid ""
"by using the handler subclasses :class:`StreamRequestHandler` or :class:"
"`DatagramRequestHandler`."
msgstr ""
"Pour implémenter un service, vous devez créer une classe héritant de :class:"
"`BaseRequestHandler` et redéfinir sa méthode :meth:`~BaseRequestHandler."
"handle`. Ensuite, vous pourrez créer différentes versions de votre service "
"en combinant les classes serveurs avec votre classe de gestion des requêtes. "
"Cette classe de gestion des requêtes doit être différente pour les services "
"utilisant des datagrammes ou des flux de données. Cette contrainte peut être "
"dissimulée en utilisant les classes de gestion dérivées :class:"
"`StreamRequestHandler` ou :class:`DatagramRequestHandler`."
#: library/socketserver.rst:154
msgid ""
@ -184,6 +256,14 @@ msgid ""
"each child. In this case, you can use a threading server, but you will "
"probably have to use locks to protect the integrity of the shared data."
msgstr ""
"Bien entendu, vous devrez toujours utiliser votre tête ! Par exemple, "
"utiliser un serveur utilisant des processus clonés (*forking*) n'aurait "
"aucun sens si le serveur garde en mémoire des états pouvant être modifiés "
"par les requêtes reçues. En effet, un processus enfant traitant une requête "
"n'aurait alors aucun moyen de propager le nouvel état à son parent. Dans ce "
"cas, vous devez utiliser un serveur utilisant des fils d'exécution, mais "
"cela demande probablement d'utiliser des verrous pour protéger lintégrité "
"des données partagées."
#: library/socketserver.rst:161
msgid ""
@ -194,6 +274,13 @@ msgid ""
"all the data it has requested. Here a threading or forking server is "
"appropriate."
msgstr ""
"D'un autre côté, si vous développez un serveur HTTP qui a toutes ses données "
"stockées hors de la mémoire (sur un système de fichiers par exemple), une "
"classe synchrone rendrait le service sourd à toute nouvelle requête aussi "
"longtemps qu'une précédente soit en cours de traitement. Cette situation "
"pourrait perdurer pendant un long moment si le client prend du temps à "
"recevoir toutes les données demandées. Dans ce cas, un serveur utilisant des "
"processus ou des fils d'exécutions est approprié."
#: library/socketserver.rst:167
msgid ""
@ -203,6 +290,12 @@ msgid ""
"doing an explicit fork in the request handler class :meth:"
"`~BaseRequestHandler.handle` method."
msgstr ""
"Dans certains cas, il peut être judicieux de commencer à traiter une requête "
"de façon synchrone mais de pouvoir déléguer le reste du traitement à un "
"processus enfant si besoin. Ce comportement peut être implémenté en "
"utilisant un serveur synchrone et en laissant à la méthode :meth:"
"`~BaseRequestHandler.handle`, de la classe gérant les requêtes, le soin de "
"créer le processus enfant explicitement."
#: library/socketserver.rst:172
msgid ""
@ -216,6 +309,15 @@ msgid ""
"subprocesses cannot be used). See :mod:`asyncore` for another way to manage "
"this."
msgstr ""
"Une autre méthode pour gérer plusieurs requêtes simultanément dans un "
"environnement ne prenant en charge ni les fils dexécution ni :func:`~os."
"fork` (ou si cela est trop coûteux ou inapproprié compte tenu de la nature "
"du service) est de maintenir une table des requêtes en cours de traitement "
"et dutiliser :mod:`selectors` pour décider sur quelle requête travailler "
"(et quand accepter une nouvelle requête). Cela est particulièrement "
"important pour les services utilisant des flux de données où chaque client "
"peut rester connecté pour longtemps. Pour une autre façon de gérer cela, "
"voir :mod:`asyncore`."
#: library/socketserver.rst:186
msgid "Server Objects"
@ -228,6 +330,11 @@ msgid ""
"done in subclasses. The two parameters are stored in the respective :attr:"
"`server_address` and :attr:`RequestHandlerClass` attributes."
msgstr ""
"Il s'agit de la classe parente de tous les objets serveur du module. Elle "
"déclare l'interface, définie ci-dessous, mais laisse aux classes filles le "
"soin d'implémenter la plupart des méthodes. Les deux paramètres sont stockés "
"respectivement dans les attributs :attr:`server_address` et :attr:"
"`RequestHandlerClass`."
#: library/socketserver.rst:198
msgid ""
@ -235,6 +342,10 @@ msgid ""
"listening. This function is most commonly passed to :mod:`selectors`, to "
"allow monitoring multiple servers in the same process."
msgstr ""
"Renvoie un entier représentant le descripteur de fichier pour le connecteur "
"que le serveur écoute. Cette fonction est, la plupart du temps, passée à :"
"mod:`selectors` afin de pouvoir surveiller plusieurs serveurs dans le même "
"processus."
#: library/socketserver.rst:205
msgid ""
@ -246,6 +357,13 @@ msgid ""
"attr:`timeout` seconds, :meth:`handle_timeout` will be called and :meth:"
"`handle_request` will return."
msgstr ""
"Traite une seule requête. Cette fonction appelle, dans l'ordre, les "
"méthodes :meth:`get_request`, :meth:`verify_request` et :meth:"
"`process_request`. Si la méthode :meth:`~BaseRequestHandler.handle` de la "
"classe de gestion des requêtes lève une exception, alors la méthode :meth:"
"`handle_error` du serveur est appelée. Si aucune requête n'est reçue avant "
"« :attr:`timeout` » secondes, :meth:`handle_timeout` est appelée et :meth:"
"`handle_request` rend la main."
#: library/socketserver.rst:217
msgid ""
@ -256,10 +374,17 @@ msgid ""
"example, the :class:`ForkingMixIn` class uses :meth:`service_actions` to "
"clean up zombie child processes."
msgstr ""
"Gère les requêtes indéfiniment jusqu'à ce que :meth:`shutdown` soit appelée. "
"Vérifie si une demande darrêt (*shutdown*) a été émise toutes les "
"*poll_interval* secondes. Ignore l'attribut :attr:`timeout`. Appelle "
"également :meth:`service_actions`, qui peut être utilisée par une classe "
"enfant ou une classe de mélange afin d'implémenter une action spécifique "
"pour un service donné. Par exemple, la classe :class:`ForkingMixIn` utilise :"
"meth:`service_actions` pour supprimer les processus enfants zombies."
#: library/socketserver.rst:225
msgid "Added ``service_actions`` call to the ``serve_forever`` method."
msgstr ""
msgstr "La méthode ``serve_forever`` appelle dorénavant ``service_actions``."
#: library/socketserver.rst:231
msgid ""
@ -267,6 +392,10 @@ msgid ""
"overridden by subclasses or mixin classes to perform actions specific to a "
"given service, such as cleanup actions."
msgstr ""
"Cette méthode est appelée dans la boucle de :meth:`serve_forever`. Cette "
"méthode peut être surchargée par une classe fille ou une classe de mélange "
"afin d'effectuer une action spécifique à un service donné, comme une action "
"de nettoyage."
#: library/socketserver.rst:239
msgid ""
@ -274,22 +403,29 @@ msgid ""
"`shutdown` must be called while :meth:`serve_forever` is running in a "
"different thread otherwise it will deadlock."
msgstr ""
"Demande l'arrêt de la boucle de :meth:`serve_forever` et attend jusqu'à ce "
"que ce soit fait. :meth:`shutdown` doit être appelée dans un fil dexécution "
"différent de :meth:`serve_forever` sous peine d'interblocage."
#: library/socketserver.rst:246
msgid "Clean up the server. May be overridden."
msgstr ""
msgstr "Nettoie le serveur. Peut être surchargée."
#: library/socketserver.rst:251
msgid ""
"The family of protocols to which the server's socket belongs. Common "
"examples are :const:`socket.AF_INET` and :const:`socket.AF_UNIX`."
msgstr ""
"La famille de protocoles auquel le connecteur appartient. Les exemples les "
"plus communs sont :const:`socket.AF_INET` et :const:`socket.AF_UNIX`."
#: library/socketserver.rst:257
msgid ""
"The user-provided request handler class; an instance of this class is "
"created for each request."
msgstr ""
"La classe de gestion des requêtes, fournie par l'utilisateur. Une instance "
"de cette classe est créée pour chaque requête."
#: library/socketserver.rst:263
msgid ""
@ -304,16 +440,22 @@ msgstr ""
msgid ""
"The socket object on which the server will listen for incoming requests."
msgstr ""
"L'objet connecteur utilisé par le serveur pour écouter les nouvelles "
"requêtes."
#: library/socketserver.rst:275
msgid "The server classes support the following class variables:"
msgstr ""
"Les classes serveurs prennent en charge les variables de classe suivantes :"
#: library/socketserver.rst:281
msgid ""
"Whether the server will allow the reuse of an address. This defaults to :"
"const:`False`, and can be set in subclasses to change the policy."
msgstr ""
"Indique si le serveur autorise la réutilisation d'une adresse. La valeur par "
"défaut est :const:`False` mais cela peut être changé dans les classes "
"enfants."
#: library/socketserver.rst:287
msgid ""
@ -323,12 +465,20 @@ msgid ""
"further requests from clients will get a \"Connection denied\" error. The "
"default value is usually 5, but this can be overridden by subclasses."
msgstr ""
"La taille de la file des requêtes. Lorsque traiter une requête prend du "
"temps, toute nouvelle requête arrivant pendant que le serveur est occupé est "
"placé dans une file jusqu'à atteindre « :attr:`request_queue_size` » "
"requêtes. Si la queue est pleine, les nouvelles requêtes clientes se voient "
"renvoyer une erreur *Connection denied*. La valeur par défaut est "
"habituellement 5 mais peut être changée par les classes filles."
#: library/socketserver.rst:296
msgid ""
"The type of socket used by the server; :const:`socket.SOCK_STREAM` and :"
"const:`socket.SOCK_DGRAM` are two common values."
msgstr ""
"Le type de connecteur utilisé par le serveur ; :const:`socket.SOCK_STREAM` "
"et :const:`socket.SOCK_DGRAM` sont deux valeurs usuelles."
#: library/socketserver.rst:302
msgid ""
@ -336,6 +486,9 @@ msgid ""
"desired. If :meth:`handle_request` receives no incoming requests within the "
"timeout period, the :meth:`handle_timeout` method is called."
msgstr ""
"Délai d'attente en secondes, ou :const:`None` si aucune limite n'est "
"demandée. Si :meth:`handle_request` ne reçoit aucune requête entrante "
"pendant le délai d'attente, la méthode :meth:`handle_timeout` est appelée."
#: library/socketserver.rst:307
msgid ""
@ -343,12 +496,18 @@ msgid ""
"base server classes like :class:`TCPServer`; these methods aren't useful to "
"external users of the server object."
msgstr ""
"Il existe plusieurs méthodes serveur pouvant être surchargées par des "
"classes dérivant de classes de base comme :class:`TCPServer` ; ces méthodes "
"ne sont pas utiles aux utilisateurs externes de l'objet serveur."
#: library/socketserver.rst:316
msgid ""
"Actually processes the request by instantiating :attr:`RequestHandlerClass` "
"and calling its :meth:`~BaseRequestHandler.handle` method."
msgstr ""
"Méthode en charge de traiter la requête en instanciant :attr:"
"`RequestHandlerClass` et en appelant sa méthode :meth:`~BaseRequestHandler."
"handle`."
#: library/socketserver.rst:322
msgid ""
@ -356,6 +515,9 @@ msgid ""
"*new* socket object to be used to communicate with the client, and the "
"client's address."
msgstr ""
"Accepte obligatoirement une requête depuis le connecteur et renvoie une "
"paire contenant le *nouvel* objet connecteur utilisé pour communiquer avec "
"le client et l'adresse du client."
#: library/socketserver.rst:329
msgid ""
@ -364,10 +526,16 @@ msgid ""
"action is to print the traceback to standard error and continue handling "
"further requests."
msgstr ""
"Cette fonction est appelée si la méthode :meth:`~BaseRequestHandler.handle` "
"de l'objet :attr:`RequestHandlerClass` lève une exception. Par défaut, la "
"méthode imprime la trace d'appels sur la sortie d'erreur standard et "
"continue de traiter les requêtes suivantes."
#: library/socketserver.rst:334
msgid "Now only called for exceptions derived from the :exc:`Exception` class."
msgstr ""
"N'est maintenant appelée que sur les exceptions dérivant de la classe :exc:"
"`Exception`."
#: library/socketserver.rst:341
msgid ""
@ -377,6 +545,12 @@ msgid ""
"collect the status of any child processes that have exited, while in "
"threading servers this method does nothing."
msgstr ""
"Cette fonction est appelée lorsque l'attribut :attr:`timeout` est réglé à "
"autre chose que :const:`None` et que le délai d'attente expire sans "
"qu'aucune requête ne soit reçue. Par défaut, cette fonction récupère le "
"statut de tous les processus enfants ayant terminé pour les serveurs "
"utilisant des processus ou ne fait rien pour le cas des serveurs utilisant "
"des fils dexécution."
#: library/socketserver.rst:350
msgid ""
@ -385,6 +559,10 @@ msgid ""
"or thread to handle the request; the :class:`ForkingMixIn` and :class:"
"`ThreadingMixIn` classes do this."
msgstr ""
"Appelle :meth:`finish_request` pour instancier :attr:`RequestHandlerClass`. "
"Si désiré, cette fonction peut créer des processus fils ou des fils "
"dexécution pour traiter les requêtes ; les classes de mélange :class:"
"`ForkingMixIn` et :class:`ThreadingMixIn` implémentent cela."
#: library/socketserver.rst:362
msgid ""
@ -392,12 +570,17 @@ msgid ""
"behavior for a TCP server just invokes :meth:`~socket.socket.listen` on the "
"server's socket. May be overridden."
msgstr ""
"Appelée par le constructeur du serveur afin de l'activer. Le comportement "
"par défaut pour un serveur TCP est de seulement invoquer :meth:`~socket."
"socket.listen` sur le connecteur du serveur. Peut être surchargée."
#: library/socketserver.rst:369
msgid ""
"Called by the server's constructor to bind the socket to the desired "
"address. May be overridden."
msgstr ""
"Appelée par le constructeur du serveur afin d'assigner (*bind*) l'adresse "
"requise au connecteur du serveur. Peut être surchargée."
#: library/socketserver.rst:375
msgid ""
@ -406,16 +589,23 @@ msgid ""
"function can be overridden to implement access controls for a server. The "
"default implementation always returns :const:`True`."
msgstr ""
"Doit renvoyer un booléen. Si la valeur est :const:`True`, la requête sera "
"traitée. Si la valeur est :const:`False`, la requête sera refusée. Cette "
"fonction peut être surchargée afin d'implémenter une stratégie de contrôle "
"d'accès au serveur. L'implémentation par défaut renvoie toujours :const:"
"`True`."
#: library/socketserver.rst:381
msgid ""
"Support for the :term:`context manager` protocol was added. Exiting the "
"context manager is equivalent to calling :meth:`server_close`."
msgstr ""
"La gestion du protocole :term:`context manager` a été ajoutée. Sortir du "
"gestionnaire de contexte revient à appeler :meth:`server_close`."
#: library/socketserver.rst:387
msgid "Request Handler Objects"
msgstr ""
msgstr "Objets gestionnaire de requêtes"
#: library/socketserver.rst:391
msgid ""
@ -424,12 +614,20 @@ msgid ""
"new :meth:`handle` method, and can override any of the other methods. A new "
"instance of the subclass is created for each request."
msgstr ""
"Classe de base de tous les objets gestionnaire de requêtes. Elle déclare "
"l'interface, définie ci-dessous, pour tous les gestionnaires. Une "
"implémentation concrète doit définir une nouvelle méthode :meth:`handle` et "
"peut surcharger n'importe quelle autre méthode. Cette classe concrète est "
"instanciée pour chaque requête."
#: library/socketserver.rst:400
msgid ""
"Called before the :meth:`handle` method to perform any initialization "
"actions required. The default implementation does nothing."
msgstr ""
"Appelée avant la méthode :meth:`handle` afin d'effectuer toutes les "
"opérations d'initialisation requises. L'implémentation par défaut ne fait "
"rien."
#: library/socketserver.rst:406
msgid ""
@ -439,6 +637,12 @@ msgid ""
"client address as :attr:`self.client_address`; and the server instance as :"
"attr:`self.server`, in case it needs access to per-server information."
msgstr ""
"Cette fonction doit faire tout le nécessaire pour traiter une requête. "
"L'implémentation par défaut ne fait rien. La fonction peut accéder à "
"plusieurs attributs d'instance : la requête elle-même se trouve dans :attr:"
"`self.request`, l'adresse du client dans :attr:`self.client_address` et "
"l'instance du serveur dans :attr:`self.server` (dans le cas où il aurait "
"besoin d'accéder aux informations du serveur)."
#: library/socketserver.rst:412
msgid ""
@ -446,6 +650,11 @@ msgid ""
"services. For stream services, :attr:`self.request` is a socket object; for "
"datagram services, :attr:`self.request` is a pair of string and socket."
msgstr ""
"Le type de :attr:`self.request` est différent pour les services utilisant "
"des datagrammes ou des flux de données. Pour les services à flux de "
"données, :attr:`self.request` renvoie l'objet connecteur ; pour les services "
"à datagrammes, :attr:`self.request` est une paire constituée d'une chaîne de "
"caractères et du connecteur."
#: library/socketserver.rst:419
msgid ""
@ -453,6 +662,9 @@ msgid ""
"required. The default implementation does nothing. If :meth:`setup` raises "
"an exception, this function will not be called."
msgstr ""
"Appelée après la méthode :meth:`handle` pour effectuer les opérations de "
"nettoyage requises. L'implémentation par défaut ne fait rien. Si :meth:"
"`setup` lève une exception, cette méthode n'est pas appelée."
#: library/socketserver.rst:427
msgid ""
@ -469,12 +681,18 @@ msgid ""
"BufferedIOBase` readable interface, and :attr:`DatagramRequestHandler.wfile` "
"supports the :class:`io.BufferedIOBase` writable interface."
msgstr ""
"L'attribut :attr:`rfile` des deux classes prend en charge l'interface de "
"lecture de :class:`io.BufferedIOBase`. L'attribut :attr:"
"`DatagramRequestHandler.wfile` sait gérer l'interface d'écriture de :class:"
"`io.BufferedIOBase`."
#: library/socketserver.rst:439
msgid ""
":attr:`StreamRequestHandler.wfile` also supports the :class:`io."
"BufferedIOBase` writable interface."
msgstr ""
":attr:`StreamRequestHandler.wfile` prend également en charge l'interface "
"d'écriture de :class:`io.BufferedIOBase`."
#: library/socketserver.rst:445
msgid "Examples"
@ -482,11 +700,11 @@ msgstr "Exemples"
#: library/socketserver.rst:448
msgid ":class:`socketserver.TCPServer` Example"
msgstr ""
msgstr "Exemple pour :class:`socketserver.TCPServer`"
#: library/socketserver.rst:549
msgid "This is the server side::"
msgstr ""
msgstr "Implémentation côté serveur ::"
#: library/socketserver.rst:480
msgid ""
@ -494,6 +712,9 @@ msgid ""
"objects that simplify communication by providing the standard file "
"interface)::"
msgstr ""
"Une implémentation alternative du gestionnaire de requêtes utilisant les "
"flux de données (avec des objets fichier-compatibles simplifiant la "
"communication en fournissant l'interface fichier standard) ::"
#: library/socketserver.rst:495
msgid ""
@ -502,14 +723,19 @@ msgid ""
"while the single ``recv()`` call in the first handler will just return what "
"has been sent from the client in one ``sendall()`` call."
msgstr ""
"La différence est que l'appel à ``readline()`` dans le second gestionnaire "
"permet d'appeler ``recv()`` jusqu'à rencontrer un caractère de fin de ligne "
"alors que dans le premier gestionnaire appelle directement ``recv()``, "
"renvoyant toutes les données envoyées par le client en un seul appel à "
"``sendall()``."
#: library/socketserver.rst:573
msgid "This is the client side::"
msgstr ""
msgstr "Implémentation côté client ::"
#: library/socketserver.rst:648
msgid "The output of the example should look something like this:"
msgstr ""
msgstr "La sortie de cet exemple devrait ressembler à ça :"
#: library/socketserver.rst:524
msgid "Server:"
@ -521,27 +747,31 @@ msgstr "Client :"
#: library/socketserver.rst:547
msgid ":class:`socketserver.UDPServer` Example"
msgstr ""
msgstr "Exemple pour :class:`socketserver.UDPServer`"
#: library/socketserver.rst:592
msgid ""
"The output of the example should look exactly like for the TCP server "
"example."
msgstr ""
"La sortie de cet exemple devrait ressembler exactement à la sortie de "
"l'exemple pour le serveur TCP."
#: library/socketserver.rst:596
msgid "Asynchronous Mixins"
msgstr ""
msgstr "Classes de mélange asynchrone"
#: library/socketserver.rst:598
msgid ""
"To build asynchronous handlers, use the :class:`ThreadingMixIn` and :class:"
"`ForkingMixIn` classes."
msgstr ""
"Pour développer des gestionnaires asynchrones, utilisez les classes :class:"
"`ThreadingMixIn` et :class:`ForkingMixIn`."
#: library/socketserver.rst:601
msgid "An example for the :class:`ThreadingMixIn` class::"
msgstr ""
msgstr "Exemple pour :class:`ThreadingMixIn` ::"
#: library/socketserver.rst:659
msgid ""
@ -549,3 +779,7 @@ msgid ""
"server will spawn a new process for each request. Available only on POSIX "
"platforms that support :func:`~os.fork`."
msgstr ""
"La classe :class:`ForkingMixIn` est utilisable de la même façon à la "
"différence près que le serveur crée un nouveau processus fils pour chaque "
"requête. Disponible uniquement sur les plateformes POSIX prenant en charge :"
"func:`~os.fork`."

Some files were not shown because too many files have changed in this diff Show More