python-docs-fr/whatsnew/3.9.po

3269 lines
140 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-10-18 12:27+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"
#: whatsnew/3.9.rst:3
msgid "What's New In Python 3.9"
msgstr "Les nouveautés de Python 3.9"
#: whatsnew/3.9.rst:0
msgid "Release"
msgstr "Version"
#: whatsnew/3.9.rst:5
msgid "|release|"
msgstr "|release|"
#: whatsnew/3.9.rst:0
msgid "Date"
msgstr "Date"
#: whatsnew/3.9.rst:6
msgid "|today|"
msgstr "|today|"
#: whatsnew/3.9.rst:0
msgid "Editor"
msgstr "Éditeur"
#: whatsnew/3.9.rst:7
msgid "Łukasz Langa"
msgstr "Łukasz Langa"
#: whatsnew/3.9.rst:47
msgid ""
"This article explains the new features in Python 3.9, compared to 3.8. "
"Python 3.9 was released on October 5th, 2020."
msgstr ""
"Ce document présente les nouvelles fonctionnalités de Python 3.9 par rapport "
"à la version 3.8. Python 3.9 a été publié le 5 octobre 2020."
#: whatsnew/3.9.rst:50
msgid "For full details, see the :ref:`changelog <changelog>`."
msgstr "Pour plus de détails, voir le :ref:`changelog <changelog>`."
#: whatsnew/3.9.rst:54
msgid ":pep:`596` - Python 3.9 Release Schedule"
msgstr ":pep:`596` Calendrier de sortie de Python 3.9"
#: whatsnew/3.9.rst:58
msgid "Summary -- Release highlights"
msgstr "Résumé Points marquants de cette version"
#: whatsnew/3.9.rst:63
msgid "New syntax features:"
msgstr "Nouvelles fonctionnalités de syntaxe :"
#: whatsnew/3.9.rst:65
msgid ":pep:`584`, union operators added to ``dict``;"
msgstr ":pep:`584`, ajout de l'opérateur d'union à ``dict`` ;"
#: whatsnew/3.9.rst:66
msgid ":pep:`585`, type hinting generics in standard collections;"
msgstr ""
":pep:`585`, indications des types paramétrables dans les collections "
"natives ;"
#: whatsnew/3.9.rst:67
msgid ":pep:`614`, relaxed grammar restrictions on decorators."
msgstr ""
":pep:`614`, restrictions grammaticales assouplies pour les décorateurs."
#: whatsnew/3.9.rst:69
msgid "New built-in features:"
msgstr "Nouvelles fonctionnalités natives :"
#: whatsnew/3.9.rst:71
msgid ":pep:`616`, string methods to remove prefixes and suffixes."
msgstr ""
":pep:`616`, méthodes sur les chaînes pour enlever des préfixes et des "
"suffixes."
#: whatsnew/3.9.rst:73
msgid "New features in the standard library:"
msgstr "Nouvelles fonctionnalités dans la bibliothèque standard :"
#: whatsnew/3.9.rst:75
msgid ":pep:`593`, flexible function and variable annotations;"
msgstr ""
":pep:`593`, annotations flexibles pour les fonctions et les variables ;"
#: whatsnew/3.9.rst:76
msgid ""
":func:`os.pidfd_open` added that allows process management without races and "
"signals."
msgstr ""
"ajout de :func:`os.pidfd_open` qui permet la gestion de processus sans "
"concurrence critique et sans signaux."
#: whatsnew/3.9.rst:79
msgid "Interpreter improvements:"
msgstr "Améliorations de l'interpréteur :"
#: whatsnew/3.9.rst:81
msgid ""
":pep:`573`, fast access to module state from methods of C extension types;"
msgstr ""
":pep:`573`, accès rapide à l'état des modules à partir des méthodes des "
"types dans les extensions C ;"
#: whatsnew/3.9.rst:83
msgid ":pep:`617`, CPython now uses a new parser based on PEG;"
msgstr ""
":pep:`617`, CPython utilise maintenant un analyseur lexical *PEG* (*Parsing "
"Expression Grammar*) ;"
#: whatsnew/3.9.rst:84
msgid ""
"a number of Python builtins (range, tuple, set, frozenset, list, dict) are "
"now sped up using :pep:`590` vectorcall;"
msgstr ""
"certains types Python natifs (*range*, *tuple*, *set*, *frozenset*, *list*, "
"*dict*) sont maintenant plus rapides grâce aux appels *vectorcall* (:pep:"
"`590`) ;"
#: whatsnew/3.9.rst:86
msgid "garbage collection does not block on resurrected objects;"
msgstr "le ramasse-miettes ne bloque pas sur les objets ressuscités ;"
#: whatsnew/3.9.rst:87
msgid ""
"a number of Python modules (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:"
"`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:"
"`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:"
"`time`, :mod:`_weakref`) now use multiphase initialization as defined by PEP "
"489;"
msgstr ""
"certains modules Python (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:"
"`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:"
"`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:"
"`time`, :mod:`_weakref`) utilisent maintenant l'initialisation multi-phase "
"telle que définie dans PEP 489 ;"
#: whatsnew/3.9.rst:92
msgid ""
"a number of standard library modules (:mod:`audioop`, :mod:`ast`, :mod:"
"`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :"
"mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) are now using the "
"stable ABI defined by PEP 384."
msgstr ""
"certains modules de la bibliothèque standard (:mod:`audioop`, :mod:`ast`, :"
"mod:`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:"
"`random`, :mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) "
"utilisent maintenant l'*ABI* (*Application Binary Interface*) stable définie "
"dans PEP 384."
#: whatsnew/3.9.rst:97
msgid "New library modules:"
msgstr "Nouveaux modules de la bibliothèque :"
#: whatsnew/3.9.rst:99
msgid ""
":pep:`615`, the IANA Time Zone Database is now present in the standard "
"library in the :mod:`zoneinfo` module;"
msgstr ""
":pep:`615`, la base de données des fuseaux horaires de l'IANA est maintenant "
"incluse dans le module :mod:`zoneinfo` de la bibliothèque standard ;"
#: whatsnew/3.9.rst:101
msgid ""
"an implementation of a topological sort of a graph is now provided in the "
"new :mod:`graphlib` module."
msgstr ""
"une implémentation du tri topologique d'un graphe est maintenant disponible "
"dans le nouveau module :mod:`graphlib`."
#: whatsnew/3.9.rst:104
msgid "Release process changes:"
msgstr "Changements aux procédures de publication :"
#: whatsnew/3.9.rst:106
msgid ":pep:`602`, CPython adopts an annual release cycle."
msgstr ":pep:`602`, CPython adopte un cycle annuel de publications."
#: whatsnew/3.9.rst:110
msgid "You should check for DeprecationWarning in your code"
msgstr ""
"Vous devez vérifier la présence de ``DeprecationWarning`` dans votre code"
#: whatsnew/3.9.rst:112
msgid ""
"When Python 2.7 was still supported, a lot of functionality in Python 3 was "
"kept for backward compatibility with Python 2.7. With the end of Python 2 "
"support, these backward compatibility layers have been removed, or will be "
"removed soon. Most of them emitted a :exc:`DeprecationWarning` warning for "
"several years. For example, using ``collections.Mapping`` instead of "
"``collections.abc.Mapping`` emits a :exc:`DeprecationWarning` since Python "
"3.3, released in 2012."
msgstr ""
"Quand Python 2.7 était encore pris en charge, plusieurs fonctionnalités dans "
"Python 3 étaient gardées pour la rétro-compatibilité avec Python 2.7. Avec "
"la fin de la prise en charge de Python 2, ces couches de rétro-compatibilité "
"ont été retirées ou le seront bientôt. La plupart d'entre elles émettaient "
"un avertissement :exc:`DeprecationWarning` depuis plusieurs années. Par "
"exemple, utiliser ``collections.Mapping`` plutôt que ``collections.abc."
"Mapping`` émettait un :exc:`DeprecationWarning` depuis Python 3.3, publié en "
"2012."
#: whatsnew/3.9.rst:120
msgid ""
"Test your application with the :option:`-W` ``default`` command-line option "
"to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or "
"even with :option:`-W` ``error`` to treat them as errors. :ref:`Warnings "
"Filter <warning-filter>` can be used to ignore warnings from third-party "
"code."
msgstr ""
"Testez votre application avec l'option de ligne de commande :option:`-W` "
"``default`` pour voir les :exc:`DeprecationWarning` et les :exc:"
"`PendingDeprecationWarning`, ou même avec :option:`-W` ``error`` pour les "
"traiter comme des erreurs. :ref:`Le filtre des avertissements <warning-"
"filter>` peut être utilisé pour ignorer les avertissements provenant de code "
"de tierces parties."
#: whatsnew/3.9.rst:125
msgid ""
"Python 3.9 is the last version providing those Python 2 backward "
"compatibility layers, to give more time to Python projects maintainers to "
"organize the removal of the Python 2 support and add support for Python 3.9."
msgstr ""
"Python 3.9 est la dernière version qui fournit ces couches de rétro "
"compatibilité avec Python 2, afin de donner plus de temps aux mainteneurs de "
"projets Python pour organiser l'arrêt de la prise en charge de Python 2 et "
"pour assurer celle de Python 3.9."
#: whatsnew/3.9.rst:129
msgid ""
"Aliases to :ref:`Abstract Base Classes <collections-abstract-base-classes>` "
"in the :mod:`collections` module, like ``collections.Mapping`` alias to :"
"class:`collections.abc.Mapping`, are kept for one last release for backward "
"compatibility. They will be removed from Python 3.10."
msgstr ""
"Les alias vers :ref:`Abstract Base Classes <collections-abstract-base-"
"classes>` dans le module :mod:`collections`, comme l'alias ``collections."
"Mapping`` vers :class:`collections.abc.Mapping`, sont conservés pour une "
"dernière version au titre de la rétrocompatibilité. Ils seront supprimés de "
"Python 3.10."
#: whatsnew/3.9.rst:134
msgid ""
"More generally, try to run your tests in the :ref:`Python Development Mode "
"<devmode>` which helps to prepare your code to make it compatible with the "
"next Python version."
msgstr ""
"Plus généralement, essayez d'exécuter vos tests dans le :ref:`Python "
"Development Mode <devmode>` qui aide à préparer votre code pour le rendre "
"compatible avec la prochaine version de Python."
# J'ignore volontairement le "as well" qui pour bien être traduit
# serait "en plus des changements ci-haut", ce qui me semble trop
# lourd.
#: whatsnew/3.9.rst:138
msgid ""
"Note: a number of pre-existing deprecations were removed in this version of "
"Python as well. Consult the :ref:`removed-in-python-39` section."
msgstr ""
"Note : certaines déclarations dobsolescence pré-existantes ont été retirées "
"de cette version de Python. Voir la section :ref:`removed-in-python-39`."
#: whatsnew/3.9.rst:1276
msgid "New Features"
msgstr "Nouvelles fonctionnalités"
#: whatsnew/3.9.rst:146
msgid "Dictionary Merge & Update Operators"
msgstr "Opérateurs de fusion et de mise à jour de dictionnaires"
#: whatsnew/3.9.rst:148
msgid ""
"Merge (``|``) and update (``|=``) operators have been added to the built-in :"
"class:`dict` class. Those complement the existing ``dict.update`` and "
"``{**d1, **d2}`` methods of merging dictionaries."
msgstr ""
"Ajout des opérateurs de fusion (``|``) et de mise-à-jour (``|=``) à la "
"classe native :class:`dict`. Ils viennent compléter les méthodes existantes "
"``dict.update`` et ``{**d1, **d2}`` pour fusionner des dictionnaires."
#: whatsnew/3.9.rst:285
msgid "Example::"
msgstr "Exemple ::"
#: whatsnew/3.9.rst:161
msgid ""
"See :pep:`584` for a full description. (Contributed by Brandt Bucher in :"
"issue:`36144`.)"
msgstr ""
"Voir :pep:`584` pour une description complète (contribution de *Brandt "
"Bucher* dans :issue:`36144`)."
#: whatsnew/3.9.rst:165
msgid "New String Methods to Remove Prefixes and Suffixes"
msgstr ""
"Nouvelles méthodes sur les chaînes pour retirer des préfixes et des suffixes"
#: whatsnew/3.9.rst:167
msgid ""
":meth:`str.removeprefix(prefix)<str.removeprefix>` and :meth:`str."
"removesuffix(suffix)<str.removesuffix>` have been added to easily remove an "
"unneeded prefix or a suffix from a string. Corresponding ``bytes``, "
"``bytearray``, and ``collections.UserString`` methods have also been added. "
"See :pep:`616` for a full description. (Contributed by Dennis Sweeney in :"
"issue:`39939`.)"
msgstr ""
":meth:`str.removeprefix(préfixe)<str.removeprefix>` et :meth:`str."
"removesuffix(suffixe)<str.removesuffix>` ont été ajoutées pour supprimer "
"facilement un préfixe ou un suffixe inutile d'une chaîne. Les méthodes "
"correspondantes de ``bytes``, ``bytearray`` et ``collections.UserString`` "
"ont également été ajoutées. Voir :pep:`616` pour une description complète "
"(contribution de *Dennis Sweeney* dans :issue:`39939`)."
#: whatsnew/3.9.rst:175
msgid "Type Hinting Generics in Standard Collections"
msgstr "Indication des types paramétrables dans les collections natives"
#: whatsnew/3.9.rst:177
msgid ""
"In type annotations you can now use built-in collection types such as "
"``list`` and ``dict`` as generic types instead of importing the "
"corresponding capitalized types (e.g. ``List`` or ``Dict``) from "
"``typing``. Some other types in the standard library are also now generic, "
"for example ``queue.Queue``."
msgstr ""
"Dans les annotations de type, vous pouvez maintenant utiliser les types de "
"collection natifs tels que ``list`` et ``dict`` comme types génériques au "
"lieu d'importer les types en majuscules correspondants (par exemple ``List`` "
"ou ``Dict``) à partir de ``typing``. D'autres types de la bibliothèque "
"standard sont maintenant génériques, par exemple ``queue.Queue``."
#: whatsnew/3.9.rst:1164
msgid "Example:"
msgstr "Exemple :"
#: whatsnew/3.9.rst:191
msgid ""
"See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan "
"Smith, and Batuhan Taşkaya in :issue:`39481`.)"
msgstr ""
"Voir :pep:`585` pour plus de détails (contribution de *Guido van Rossum*, "
"*Ethan Smith* et *Batuhan Taşkaya* dans :issue:`39481`)."
#: whatsnew/3.9.rst:195
msgid "New Parser"
msgstr "Nouvel analyseur syntaxique"
#: whatsnew/3.9.rst:197
msgid ""
"Python 3.9 uses a new parser, based on `PEG <https://en.wikipedia.org/wiki/"
"Parsing_expression_grammar>`_ instead of `LL(1) <https://en.wikipedia.org/"
"wiki/LL_parser>`_. The new parser's performance is roughly comparable to "
"that of the old parser, but the PEG formalism is more flexible than LL(1) "
"when it comes to designing new language features. We'll start using this "
"flexibility in Python 3.10 and later."
msgstr ""
"Python 3.9 utilise un nouvel analyseur syntaxique, basé sur `PEG <https://en."
"wikipedia.org/wiki/Parsing_expression_grammar>`_ au lieu de `LL(1) <https://"
"fr.wikipedia.org/wiki/Analyse_LL>`_. Les performances du nouvel analyseur "
"sont à peu près comparables à celles de l'ancien, mais le formalisme *PEG* "
"est plus souple que *LL(1)* lorsqu'il s'agit de concevoir des nouvelles "
"fonctionnalités du langage. Nous commencerons à utiliser cette flexibilité "
"dans Python 3.10 et les versions suivantes."
#: whatsnew/3.9.rst:205
msgid ""
"The :mod:`ast` module uses the new parser and produces the same AST as the "
"old parser."
msgstr ""
"Le module :mod:`ast` utilise le nouvel analyseur syntaxique et produit le "
"même AST que l'ancien analyseur."
#: whatsnew/3.9.rst:208
msgid ""
"In Python 3.10, the old parser will be deleted and so will all functionality "
"that depends on it (primarily the :mod:`parser` module, which has long been "
"deprecated). In Python 3.9 *only*, you can switch back to the LL(1) parser "
"using a command line switch (``-X oldparser``) or an environment variable "
"(``PYTHONOLDPARSER=1``)."
msgstr ""
"Dans Python 3.10, l'ancien analyseur sera supprimé ainsi que toutes les "
"fonctionnalités qui en dépendent (principalement le module :mod:`parser`, "
"qui est obsolète depuis longtemps). En Python 3.9 *seulement*, vous pouvez "
"revenir à l'analyseur *LL(1)* en utilisant une option en ligne de commande "
"(``-X oldparser``) ou une variable d'environnement (``PYTHONOLDPARSER=1``)."
#: whatsnew/3.9.rst:214
msgid ""
"See :pep:`617` for more details. (Contributed by Guido van Rossum, Pablo "
"Galindo and Lysandros Nikolaou in :issue:`40334`.)"
msgstr ""
"Voir :pep:`617` pour plus de détails (contribution de *Guido van Rossum*, "
"*Pablo Galindo* et *Lysandros Nikolaou* dans :issue:`40334`)."
#: whatsnew/3.9.rst:219
msgid "Other Language Changes"
msgstr "Autres changements au langage"
#: whatsnew/3.9.rst:221
msgid ""
":func:`__import__` now raises :exc:`ImportError` instead of :exc:"
"`ValueError`, which used to occur when a relative import went past its top-"
"level package. (Contributed by Ngalim Siregar in :issue:`37444`.)"
msgstr ""
":func:`__import__` lève maintenant :exc:`ImportError` plutôt que :exc:"
"`ValueError`, ce qui se produisait lorsquun import relatif remontait plus "
"loin que le répertoire racine du paquet (contribution de *Ngalim Siregar* "
"dans :issue:`37444`)."
#: whatsnew/3.9.rst:226
msgid ""
"Python now gets the absolute path of the script filename specified on the "
"command line (ex: ``python3 script.py``): the ``__file__`` attribute of the :"
"mod:`__main__` module became an absolute path, rather than a relative path. "
"These paths now remain valid after the current directory is changed by :func:"
"`os.chdir`. As a side effect, the traceback also displays the absolute path "
"for :mod:`__main__` module frames in this case. (Contributed by Victor "
"Stinner in :issue:`20443`.)"
msgstr ""
"Python récupère maintenant le chemin absolu du nom de fichier du script "
"spécifié sur la ligne de commande (ex. : ``python3 script.py``) : l'attribut "
"``__file__`` du module :mod:`__main__` est devenu un chemin absolu, plutôt "
"qu'un chemin relatif. Ces nouveaux chemins restent valides même après que le "
"répertoire courant est changé par :func:`os.chdir`. En conséquence, les "
"traces d'appels affichent le chemin absolu pour les cadres du module :mod:"
"`__main__` dans ce cas (contribution de *Victor Stinner* dans :issue:"
"`20443`)."
#: whatsnew/3.9.rst:234
msgid ""
"In the :ref:`Python Development Mode <devmode>` and in :ref:`debug build "
"<debug-build>`, the *encoding* and *errors* arguments are now checked for "
"string encoding and decoding operations. Examples: :func:`open`, :meth:`str."
"encode` and :meth:`bytes.decode`."
msgstr ""
"Dans le :ref:`mode de développement de Python <devmode>` et dans les :ref:"
"`compilations en mode débogage <debug-build>`, les arguments *encoding* et "
"*errors* sont maintenant vérifiés pour les opérations d'encodage et de "
"décodage de chaînes. Exemples : :func:`open`, :meth:`str.encode` et :meth:"
"`bytes.decode`."
#: whatsnew/3.9.rst:239
msgid ""
"By default, for best performance, the *errors* argument is only checked at "
"the first encoding/decoding error and the *encoding* argument is sometimes "
"ignored for empty strings. (Contributed by Victor Stinner in :issue:`37388`.)"
msgstr ""
"Par défaut, afin d'améliorer les performances, l'argument *errors* n'est "
"consulté qu'au moment de la première erreur d'encodage-décodage et "
"l'argument *encoding* est parfois ignoré pour les chaînes vides "
"(contribution de *Victor Stinner* dans :issue:`37388`)."
#: whatsnew/3.9.rst:244
msgid ""
"``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string "
"for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", "
"s)``. There are similar changes for :class:`bytes` and :class:`bytearray` "
"objects. (Contributed by Serhiy Storchaka in :issue:`28029`.)"
msgstr ""
"``\"\".replace(\"\", s, n)`` renvoie maintenant ``s`` plutôt qu'une chaîne "
"vide pour toute valeur non-nulles de ``n``. Ce comportement est maintenant "
"cohérent avec ``\"\".replace(\"\", s)``. Les instances de :class:`bytes` et :"
"class:`bytearray` ont le même comportement (contribution de *Serhiy "
"Storchaka* dans :issue:`28029`)."
#: whatsnew/3.9.rst:249
msgid ""
"Any valid expression can now be used as a :term:`decorator`. Previously, "
"the grammar was much more restrictive. See :pep:`614` for details. "
"(Contributed by Brandt Bucher in :issue:`39702`.)"
msgstr ""
"Toute expression valide peut maintenant être utilisée comme décorateur "
"(voir :term:`decorator`). Préalablement, la grammaire était beaucoup plus "
"contraignante. Voir :pep:`614` pour les détails (contributions de *Brandt "
"Bucher* dans :issue:`39702`)."
#: whatsnew/3.9.rst:253
msgid ""
"Improved help for the :mod:`typing` module. Docstrings are now shown for all "
"special forms and special generic aliases (like ``Union`` and ``List``). "
"Using :func:`help` with generic alias like ``List[int]`` will show the help "
"for the correspondent concrete type (``list`` in this case). (Contributed by "
"Serhiy Storchaka in :issue:`40257`.)"
msgstr ""
"Aide améliorée pour le module :mod:`typing`. La documentation est maintenant "
"visible pour toutes les formes spéciales et les alias générique spéciaux "
"(comme ``Union`` et ``List``). Utiliser :func:`help` sur un alias générique "
"comme ``List[int]`` montre l'aide correspondant au type réel (``list`` dans "
"ce cas). (Contribution de Serhiy Storchaka dans :issue:`40257`)."
#: whatsnew/3.9.rst:259
msgid ""
"Parallel running of :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:"
"`~agen.athrow` is now prohibited, and ``ag_running`` now reflects the actual "
"running status of the async generator. (Contributed by Yury Selivanov in :"
"issue:`30773`.)"
msgstr ""
"L'exécution parallèle de :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:"
"`~agen.athrow` est maintenant interdite, et ``ag_running`` reflète "
"maintenant le statut réel du générateur asynchrone. (Contribué par Yury "
"Selivanov dans :issue:`30773`.)"
#: whatsnew/3.9.rst:264
msgid ""
"Unexpected errors in calling the ``__iter__`` method are no longer masked by "
"``TypeError`` in the :keyword:`in` operator and functions :func:`~operator."
"contains`, :func:`~operator.indexOf` and :func:`~operator.countOf` of the :"
"mod:`operator` module. (Contributed by Serhiy Storchaka in :issue:`40824`.)"
msgstr ""
"Les erreurs inattendues lors d'un appel de la méthode ``__iter__`` ne sont "
"plus masquées par ``TypeError`` dans l'opérateur :keyword:`in` et les "
"fonctions :func:`~operator.contains`, :func:`~operator.indexOf` et :func:"
"`~operator.countOf` du module :mod:`operator`. (Contribué par Serhiy "
"Storchaka dans :issue:`40824`.)"
#: whatsnew/3.9.rst:270
msgid ""
"Unparenthesized lambda expressions can no longer be the expression part in "
"an ``if`` clause in comprehensions and generator expressions. See :issue:"
"`41848` and :issue:`43755` for details."
msgstr ""
"Les expressions lambda sans parenthèses ne peuvent plus être la partie "
"expression dans une clause ``if`` dans les compréhensions de liste et les "
"expressions de générateur. Voir :issue:`41848` et :issue:`43755` pour plus "
"de détails."
#: whatsnew/3.9.rst:276
msgid "New Modules"
msgstr "Nouveaux modules"
#: whatsnew/3.9.rst:279
msgid "zoneinfo"
msgstr "*zoneinfo*"
#: whatsnew/3.9.rst:281
msgid ""
"The :mod:`zoneinfo` module brings support for the IANA time zone database to "
"the standard library. It adds :class:`zoneinfo.ZoneInfo`, a concrete :class:"
"`datetime.tzinfo` implementation backed by the system's time zone data."
msgstr ""
"Le module :mod:`zoneinfo` ajoute la prise en charge de la base de donnée des "
"fuseaux horaires de l'IANA dans la bibliothèque standard. Il ajoute :class:"
"`zoneinfo.ZoneInfo`, une implémentation concrète de :class:`datetime.tzinfo` "
"à partir des données de fuseaux horaires du système."
#: whatsnew/3.9.rst:305
msgid ""
"As a fall-back source of data for platforms that don't ship the IANA "
"database, the |tzdata|_ module was released as a first-party package -- "
"distributed via PyPI and maintained by the CPython core team."
msgstr ""
"Comme option de rabat pour les plateformes qui n'incluent pas la base de "
"donnée de l'IANA, le module quasi-natif |tzdata|_ été publié il est "
"distribué sur PyPI et maintenu par l'équipe principale de CPython."
#: whatsnew/3.9.rst:314
msgid ""
":pep:`615` -- Support for the IANA Time Zone Database in the Standard Library"
msgstr ""
":pep:`615` — Prise en charge de la base de donnée des fuseaux horaires de "
"l'IANA dans la bibliothèque standard"
#: whatsnew/3.9.rst:315
msgid "PEP written and implemented by Paul Ganssle"
msgstr "PEP écrit et implémenté par *Paul Ganssle*"
#: whatsnew/3.9.rst:319
msgid "graphlib"
msgstr "*graphlib*"
#: whatsnew/3.9.rst:321
msgid ""
"A new module, :mod:`graphlib`, was added that contains the :class:`graphlib."
"TopologicalSorter` class to offer functionality to perform topological "
"sorting of graphs. (Contributed by Pablo Galindo, Tim Peters and Larry "
"Hastings in :issue:`17005`.)"
msgstr ""
"Un nouveau module, :mod:`graphlib`, a été ajouté. Il contient la classe :"
"class:`graphlib.TopologicalSorter` qui offre des fonctionnalités pour faire "
"le tri topologique de graphes (contribution de *Pablo Galindo*, *Tim Peters* "
"et *Larry Hastings* dans :issue:`17005`)."
#: whatsnew/3.9.rst:328
msgid "Improved Modules"
msgstr "Modules améliorés"
#: whatsnew/3.9.rst:331
msgid "ast"
msgstr "*ast*"
#: whatsnew/3.9.rst:333
msgid ""
"Added the *indent* option to :func:`~ast.dump` which allows it to produce a "
"multiline indented output. (Contributed by Serhiy Storchaka in :issue:"
"`37995`.)"
msgstr ""
"Ajout de l'option *indent* à :func:`~ast.dump` qui permet de produire une "
"sortie multi-ligne indentée (contribution de *Serhiy Storchaka* dans :issue:"
"`37995`)."
#: whatsnew/3.9.rst:337
msgid ""
"Added :func:`ast.unparse` as a function in the :mod:`ast` module that can be "
"used to unparse an :class:`ast.AST` object and produce a string with code "
"that would produce an equivalent :class:`ast.AST` object when parsed. "
"(Contributed by Pablo Galindo and Batuhan Taskaya in :issue:`38870`.)"
msgstr ""
"Ajout de la fonction :func:`ast.unparse` au module :mod:`ast` pour renverser "
"l'analyse syntaxique d'un objet :class:`ast.AST` et produire une chaîne de "
"code qui produirait un :class:`ast.AST` équivalent lorsqu'il est analysé "
"(contribution de *Pablo Galindo* et *Batuhan Taskaya* dans :issue:`38870`)."
#: whatsnew/3.9.rst:342
msgid ""
"Added docstrings to AST nodes that contains the ASDL signature used to "
"construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)"
msgstr ""
"Ajout de chaînes de documentation aux nœuds AST qui contiennent les "
"signatures *ASDL* utilisées pour construire ce nœud (contribution de "
"*Batuhan Taskaya* dans :issue:`39638`)."
#: whatsnew/3.9.rst:346
msgid "asyncio"
msgstr "*asyncio*"
#: whatsnew/3.9.rst:348
msgid ""
"Due to significant security concerns, the *reuse_address* parameter of :meth:"
"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is "
"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For "
"more details, see the documentation for ``loop.create_datagram_endpoint()``. "
"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:"
"`37228`.)"
msgstr ""
"En raison de problèmes de sécurité importants, le paramètre *reuse_address* "
"de :meth:`asyncio.loop.create_datagram_endpoint` n'est plus supporté. C'est "
"à cause du comportement de l'option socket ``SO_REUSEADDR`` en UDP. Pour "
"plus de détails, voir la documentation de ``loop."
"create_datagram_endpoint()``. (Contribué par Kyle Stanley, Antoine Pitrou, "
"et Yury Selivanov dans :issue:`37228`.)"
#: whatsnew/3.9.rst:355
msgid ""
"Added a new :term:`coroutine` :meth:`~asyncio.loop."
"shutdown_default_executor` that schedules a shutdown for the default "
"executor that waits on the :class:`~concurrent.futures.ThreadPoolExecutor` "
"to finish closing. Also, :func:`asyncio.run` has been updated to use the "
"new :term:`coroutine`. (Contributed by Kyle Stanley in :issue:`34037`.)"
msgstr ""
"Ajout d'une nouvelle :term:`coroutine` :meth:`~asyncio.loop."
"shutdown_default_executor` qui programme une extinction de l'exécuteur par "
"défaut qui attend que :class:`~concurrent.futures.ThreadPoolExecutor` se "
"termine. Aussi, :func:`asyncio.run` à été mis à jour pour utiliser la "
"nouvelle :term:`coroutine`. (Contribué par Kyle Stanley dans :issue:`34037`.)"
#: whatsnew/3.9.rst:361
msgid ""
"Added :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher "
"implementation that polls process file descriptors. (:issue:`38692`)"
msgstr ""
"Ajout de :class:`asyncio.PidfdChildWatcher`, un surveillant de processus "
"enfants spécifique à Linux qui interroge le descripteur de ficher du "
"processus. (:issue:`38692`)"
#: whatsnew/3.9.rst:364
msgid ""
"Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used "
"for running IO-bound functions in a separate thread to avoid blocking the "
"event loop, and essentially works as a high-level version of :meth:`~asyncio."
"loop.run_in_executor` that can directly take keyword arguments. (Contributed "
"by Kyle Stanley and Yury Selivanov in :issue:`32309`.)"
msgstr ""
#: whatsnew/3.9.rst:370
msgid ""
"When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now "
"wait until the cancellation is complete also in the case when *timeout* is "
"<= 0, like it does with positive timeouts. (Contributed by Elvis "
"Pranskevichus in :issue:`32751`.)"
msgstr ""
#: whatsnew/3.9.rst:375
msgid ""
":mod:`asyncio` now raises :exc:`TyperError` when calling incompatible "
"methods with an :class:`ssl.SSLSocket` socket. (Contributed by Ido Michael "
"in :issue:`37404`.)"
msgstr ""
":mod:`asyncio` lève maintenant une :exc:`TyperError` lors d'un appel à des "
"méthodes incompatibles avec un socket :class:`ssl.SSLSocket`. (Contribué par "
"Ido Michael dans :issue:`37404`.)"
#: whatsnew/3.9.rst:380
msgid "compileall"
msgstr "*compileall*"
#: whatsnew/3.9.rst:382
msgid ""
"Added new possibility to use hardlinks for duplicated ``.pyc`` files: "
"*hardlink_dupes* parameter and --hardlink-dupes command line option. "
"(Contributed by Lumír 'Frenzy' Balhar in :issue:`40495`.)"
msgstr ""
"Ajout de la possibilité d'utiliser des liens physiques pour les fichiers ``."
"pyc`` dupliqués : paramètre *hardlink_dupes* et option de ligne de commande "
"``--hardlink-dupes`` (contribution de *Lumír 'Frenzy' Balhar* dans :issue:"
"`40495`)."
#: whatsnew/3.9.rst:385
msgid ""
"Added new options for path manipulation in resulting ``.pyc`` files: "
"*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command "
"line options. Added the possibility to specify the option for an "
"optimization level multiple times. (Contributed by Lumír 'Frenzy' Balhar in :"
"issue:`38112`.)"
msgstr ""
"Ajout d'options pour manipuler les chemins des fichiers ``.pyc`` "
"résultants : paramètres *stripdir*, *prependdir*, *limit_sl_dest* et options "
"de la ligne de commande ``-s``, ``-p``, ``-e``. Ajout de la possibilité de "
"spécifier l'option pour un niveau d'optimisation plus d'une fois "
"(contribution de *Lumír 'Frenzy' Balhar* dans :issue:`38112`)."
#: whatsnew/3.9.rst:390
msgid "concurrent.futures"
msgstr "*concurrent.futures*"
#: whatsnew/3.9.rst:392
msgid ""
"Added a new *cancel_futures* parameter to :meth:`concurrent.futures.Executor."
"shutdown` that cancels all pending futures which have not started running, "
"instead of waiting for them to complete before shutting down the executor. "
"(Contributed by Kyle Stanley in :issue:`39349`.)"
msgstr ""
"Ajout du nouveau paramètre *cancel_futures* à :meth:`concurrent.futures."
"Executor.shutdown` qui annule tous les futurs en attente qui n'ont pas "
"commencé leur exécution, plutôt que d'attendre qu'ils aient complété avant "
"d'arrêter l'exécuteur (contribution *Kyle Stanley* dans :issue:`39349`)."
#: whatsnew/3.9.rst:398
msgid ""
"Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` "
"and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves "
"compatibility with subinterpreters and predictability in their shutdown "
"processes. (Contributed by Kyle Stanley in :issue:`39812`.)"
msgstr ""
#: whatsnew/3.9.rst:403
msgid ""
"Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned "
"on demand, only when there are no available idle workers to reuse. This "
"optimizes startup overhead and reduces the amount of lost CPU time to idle "
"workers. (Contributed by Kyle Stanley in :issue:`39207`.)"
msgstr ""
#: whatsnew/3.9.rst:409
msgid "curses"
msgstr "*curses*"
#: whatsnew/3.9.rst:411
msgid ""
"Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:"
"`curses.get_tabsize`, and :func:`curses.set_tabsize` functions. (Contributed "
"by Anthony Sottile in :issue:`38312`.)"
msgstr ""
"Ajout des fonctions :func:`curses.get_escdelay`, :func:`curses."
"set_escdelay`, :func:`curses.get_tabsize`, et :func:`curses.set_tabsize` "
"(contribution d'*Anthony Sottile* dans :issue:`38312`)."
#: whatsnew/3.9.rst:416
msgid "datetime"
msgstr "*datetime*"
#: whatsnew/3.9.rst:417
msgid ""
"The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` and :meth:"
"`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` methods now "
"returns a :func:`~collections.namedtuple` instead of a :class:`tuple`. "
"(Contributed by Dong-hee Na in :issue:`24416`.)"
msgstr ""
"La méthode :meth:`~datetime.date.isocalendar()` de :class:`datetime.date` et "
"la méthode :meth:`~datetime.datetime.isocalendar()` de :class:`datetime."
"datetime` renvoient maintenant un :func:`~collections.namedtuple` plutôt "
"qu'un :class:`tuple` (contribution de *Dong-hee Na* dans :issue:`24416`)."
#: whatsnew/3.9.rst:423
msgid "distutils"
msgstr "*distutils*"
#: whatsnew/3.9.rst:425
msgid ""
"The :command:`upload` command now creates SHA2-256 and Blake2b-256 hash "
"digests. It skips MD5 on platforms that block MD5 digest. (Contributed by "
"Christian Heimes in :issue:`40698`.)"
msgstr ""
"La commande :command:`upload` crée maintenant des condensats SHA2-256 et "
"Blake2b-256. Elle ne produit pas MD5 sur les plateformes qui bloquent les "
"condensats MD5 (contribution de *Christian Heimes* dans :issue:`40698`)."
#: whatsnew/3.9.rst:430
msgid "fcntl"
msgstr "*fcntl*"
#: whatsnew/3.9.rst:432
msgid ""
"Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and :"
"data:`~fcntl.F_OFD_SETLKW`. (Contributed by Dong-hee Na in :issue:`38602`.)"
msgstr ""
"Ajout des constantes :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` "
"et :data:`~fcntl.F_OFD_SETLKW` (contribution de *Dong-hee Na* dans :issue:"
"`38602`)."
#: whatsnew/3.9.rst:437
msgid "ftplib"
msgstr "*ftplib*"
#: whatsnew/3.9.rst:439
msgid ""
":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise a :class:"
"`ValueError` if the given timeout for their constructor is zero to prevent "
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
"`39259`.)"
msgstr ""
"Afin d'empêcher la création de *socket* non-bloquant, les classes :class:"
"`~ftplib.FTP` et :class:`~ftplib.FTP_TLS` lèvent maintenant :class:"
"`ValueError` quand zéro est passé à *timeout* dans leur constructeur "
"(contribution de *Dong-hee Na* dans :issue:`39259`)."
#: whatsnew/3.9.rst:444
msgid "gc"
msgstr "*gc*"
# Voir le ticket qui mentionne que "block" n'est pas utilisé dans le
# sens d'un flux bloquant mais plutot dans le sens d'une annulation de
# l'opération.
#: whatsnew/3.9.rst:446
msgid ""
"When the garbage collector makes a collection in which some objects "
"resurrect (they are reachable from outside the isolated cycles after the "
"finalizers have been executed), do not block the collection of all objects "
"that are still unreachable. (Contributed by Pablo Galindo and Tim Peters in :"
"issue:`38379`.)"
msgstr ""
"Quand le ramasse-miettes fait un ramassage pour lequel certains objets sont "
"ressuscités (ils sont atteignables à partir de l'extérieur des cycles isolés "
"après que les *finaliseurs* soient exécutés), le ramassage des objets qui "
"sont toujours inatteignables n'est pas suspendu (contribution de *Pablo "
"Galindo* et *Tim Peters* dans :issue:`38379`)."
#: whatsnew/3.9.rst:451
msgid ""
"Added a new function :func:`gc.is_finalized` to check if an object has been "
"finalized by the garbage collector. (Contributed by Pablo Galindo in :issue:"
"`39322`.)"
msgstr ""
"Ajout de la fonction :func:`gc.is_finalized` pour vérifier si un objet a été "
"finalisé par le ramasse-miettes (contribution de *Pablo Galindo* dans :issue:"
"`39322`)."
#: whatsnew/3.9.rst:456
msgid "hashlib"
msgstr "*hashlib*"
#: whatsnew/3.9.rst:458
msgid ""
"The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL "
"when available. (Contributed by Christian Heimes in :issue:`37630`.)"
msgstr ""
"Le module :mod:`hashlib` peut maintenant utiliser les algorithmes de hachage "
"SHA3 et SHAKE XOF de *OpenSSL* quand ils sont disponibles (contribution de "
"*Christian Heimes* dans :issue:`37630`)."
#: whatsnew/3.9.rst:462
msgid ""
"Builtin hash modules can now be disabled with ``./configure --without-"
"builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure --"
"with-builtin-hashlib-hashes=sha3,blake2`` to force use of OpenSSL based "
"implementation. (Contributed by Christian Heimes in :issue:`40479`)"
msgstr ""
"Les modules de hachage natifs peuvent être désactivés avec ``./configure --"
"without-builtin-hashlib-hashes`` ou activés sélectivement avec par exemple "
"``./configure --with-builtin-hashlib-hashes=sha3,blake2`` pour forcer "
"l'utilisation de limplémentation *OpenSSL* (contribution de *Christian "
"Heimes* dans :issue:`40479`)."
#: whatsnew/3.9.rst:470
msgid "http"
msgstr "*http*"
#: whatsnew/3.9.rst:472
msgid ""
"HTTP status codes ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 "
"TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Dong-hee "
"Na in :issue:`39509` and Ross Rhodes in :issue:`39507`.)"
msgstr ""
"Les codes d'état HTTP ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` et ``425 "
"TOO_EARLY`` ont été ajoutés à :class:`http.HTTPStatus` (contribution de "
"*Dong-hee Na* dans :issue:`39509` et Ross Rhodes dans :issue:`39507`)."
#: whatsnew/3.9.rst:476
msgid "IDLE and idlelib"
msgstr "*IDLE* et *idlelib*"
#: whatsnew/3.9.rst:478
msgid ""
"Added option to toggle cursor blink off. (Contributed by Zackery Spytz in :"
"issue:`4603`.)"
msgstr ""
"Ajout d'une option pour désactiver le clignotement du curseur (contribution "
"de *Zackery Spytz* dans :issue:`4603`)."
#: whatsnew/3.9.rst:481
msgid ""
"Escape key now closes IDLE completion windows. (Contributed by Johnny "
"Najera in :issue:`38944`.)"
msgstr ""
"La fenêtre de complétion de IDLE est maintenant fermée par la touche "
"d'échappement (contribution de *Johnny Najera* dans :issue:`38944`)."
#: whatsnew/3.9.rst:484
msgid ""
"Added keywords to module name completion list. (Contributed by Terry J. "
"Reedy in :issue:`37765`.)"
msgstr ""
"Ajout de mots clés à la liste de complétion de noms de modules (contribution "
"de *Terry J. Reedy* dans :issue:`37765`)."
#: whatsnew/3.9.rst:487
msgid "New in 3.9 maintenance releases"
msgstr ""
#: whatsnew/3.9.rst:489
msgid ""
"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User "
"hooks were previously ignored. (Contributed by Ken Hilton in :issue:"
"`43008`.)"
msgstr ""
#: whatsnew/3.9.rst:493
msgid "The changes above have been backported to 3.8 maintenance releases."
msgstr ""
"Les changements ci-haut ont été rétro-portés dans la version de maintenance "
"de 3.8."
#: whatsnew/3.9.rst:495
msgid ""
"Rearrange the settings dialog. Split the General tab into Windows and Shell/"
"Ed tabs. Move help sources, which extend the Help menu, to the Extensions "
"tab. Make space for new options and shorten the dialog. The latter makes "
"the dialog better fit small screens. (Contributed by Terry Jan Reedy in :"
"issue:`40468`.) Move the indent space setting from the Font tab to the new "
"Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:"
"`33962`.)"
msgstr ""
#: whatsnew/3.9.rst:503
msgid ""
"Apply syntax highlighting to `.pyi` files. (Contributed by Alex Waygood and "
"Terry Jan Reedy in :issue:`45447`.)"
msgstr ""
#: whatsnew/3.9.rst:507
msgid "imaplib"
msgstr "*imaplib*"
#: whatsnew/3.9.rst:509
msgid ""
":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional "
"*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4."
"open` method now has an optional *timeout* parameter with this change. The "
"overridden methods of :class:`~imaplib.IMAP4_SSL` and :class:`~imaplib."
"IMAP4_stream` were applied to this change. (Contributed by Dong-hee Na in :"
"issue:`38615`.)"
msgstr ""
":class:`~imaplib.IMAP4` et :class:`~imaplib.IMAP4_SSL` ont maintenant un "
"paramètre optionnel *timeout* dans leur constructeur. De plus, la méthode :"
"meth:`~imaplib.IMAP4.open` a maintenant un paramètre optionnel *timeout* "
"avec ce changement. Les méthodes surchargées de :class:`~imaplib.IMAP4_SSL` "
"et :class:`~imaplib.IMAP4_stream` appliquent ce changement (contribution de "
"*Dong-hee Na* dans :issue:`38615`)."
# "Return" n'est pas un renvoi de fonction, c'est un retour à un état précédent.
#: whatsnew/3.9.rst:516
msgid ""
":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` "
"frees server's resources associated with the selected mailbox and returns "
"the server to the authenticated state. This command performs the same "
"actions as :meth:`imaplib.IMAP4.close`, except that no messages are "
"permanently removed from the currently selected mailbox. (Contributed by "
"Dong-hee Na in :issue:`40375`.)"
msgstr ""
"Ajout de :meth:`imaplib.IMAP4.unselect`. :meth:`imaplib.IMAP4.unselect` "
"libère les ressources du serveur associées à la boîte de courriel "
"sélectionnée et remet le serveur à l'état *autenticated*. Cette commande "
"exécute les mêmes actions que :meth:`imaplib.IMAP4.close`, mais aucun "
"message n'est retiré de façon permanente de la boîte courriel sélectionnée "
"(contribution de *Dong-hee Na* dans :issue:`40375`)."
#: whatsnew/3.9.rst:524
msgid "importlib"
msgstr "*importlib*"
#: whatsnew/3.9.rst:526
msgid ""
"To improve consistency with import statements, :func:`importlib.util."
"resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for "
"invalid relative import attempts. (Contributed by Ngalim Siregar in :issue:"
"`37444`.)"
msgstr ""
"Pour plus de cohérence avec les instructions d'import, :func:`importlib.util."
"resolve_name` lève maintenant :exc:`ImportError` plutôt que :exc:"
"`ValueError` pour les tentatives d'import relatifs invalides (contribution "
"de *Ngalim Siregar* dans :issue:`37444`)."
#: whatsnew/3.9.rst:531
msgid ""
"Import loaders which publish immutable module objects can now publish "
"immutable packages in addition to individual modules. (Contributed by Dino "
"Viehland in :issue:`39336`.)"
msgstr ""
"Les chargeurs d'importation qui publient des objets modules immuables "
"peuvent maintenant aussi publier des paquets immuables en plus des modules "
"individuels (contribution de *Dino Viehland* dans :issue:`39336`)."
#: whatsnew/3.9.rst:535
msgid ""
"Added :func:`importlib.resources.files` function with support for "
"subdirectories in package data, matching backport in ``importlib_resources`` "
"version 1.5. (Contributed by Jason R. Coombs in :issue:`39791`.)"
msgstr ""
"Ajout de la fonction :func:`importlib.resources.files` qui prend en charge "
"les sous-répertoires dans les données du paquet. Aussi rétro-porté pour les "
"version précédentes de Python dans ``importlib_resources`` version 1.5 "
"(contribution de *Jason R. Coombs* dans :issue:`39791`)."
#: whatsnew/3.9.rst:540
msgid ""
"Refreshed ``importlib.metadata`` from ``importlib_metadata`` version 1.6.1."
msgstr ""
"Mise à jour de ``importlib.metadata`` à partir de ``importlib_metadata`` "
"version 1.6.1."
#: whatsnew/3.9.rst:543
msgid "inspect"
msgstr "*inspect*"
#: whatsnew/3.9.rst:545
msgid ""
":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to "
"regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:"
"`39775`.)"
msgstr ""
":attr:`inspect.BoundArguments.arguments`, qui était un ``OrderedDict``, "
"devient un ``dict`` natif régulier (contribution de *Inada Naoki* dans :"
"issue:`36350` et :issue:`39775`)."
#: whatsnew/3.9.rst:549
msgid "ipaddress"
msgstr "*ipaddress*"
#: whatsnew/3.9.rst:551
msgid ""
":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with "
"suffix ``%<scope_id>``)."
msgstr ""
":mod:`ipaddress` prend désormais en charge les IPv6 avec une portée "
"spécifiée (adresses IPv6 avec un suffixe ``%<scope_id>``)."
#: whatsnew/3.9.rst:553
msgid ""
"Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If "
"present, scope zone ID is available through the :attr:`~ipaddress."
"IPv6Address.scope_id` attribute. (Contributed by Oleksandr Pavliuk in :issue:"
"`34788`.)"
msgstr ""
"Les adresses IPv6 avec une portée spécifiée peuvent être analysées avec :"
"class:`ipaddress.IPv6Address`. S'il est présent, l'indice de la zone de la "
"portée est disponible dans l'attribut :attr:`~ipaddress.IPv6Address."
"scope_id` (contribution de *Oleksandr Pavliuk* dans :issue:`34788`)."
#: whatsnew/3.9.rst:557
msgid ""
"Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any "
"leading zeros in IPv4 address strings. (Contributed by Christian Heimes in :"
"issue:`36384`)."
msgstr ""
"À partir de Python 3.9.5, le module :mod:`ipaddress` n'accepte plus aucun "
"zéro en tête des chaînes de caractères IPv4. (Contribué par Christian Heimes "
"dans :issue:`36384`)."
#: whatsnew/3.9.rst:562
msgid "math"
msgstr "*math*"
#: whatsnew/3.9.rst:564
msgid ""
"Expanded the :func:`math.gcd` function to handle multiple arguments. "
"Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka "
"in :issue:`39648`.)"
msgstr ""
"Extension de la fonction :func:`math.gcd` pour gérer les arguments "
"multiples. Préalablement, elle ne gérait que deux arguments (contribution de "
"*Serhiy Storchaka* dans :issue:`39648`)."
#: whatsnew/3.9.rst:568
msgid ""
"Added :func:`math.lcm`: return the least common multiple of specified "
"arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy "
"Storchaka in :issue:`39479` and :issue:`39648`.)"
msgstr ""
"Ajout de :func:`math.lcm` : renvoie le plus petit commun multiple des "
"arguments spécifiés (contribution de *Mark Dickinson*, *Ananthakrishnan* et "
"*Serhiy Storchaka* dans :issue:`39479` et :issue:`39648`)."
#: whatsnew/3.9.rst:572
msgid ""
"Added :func:`math.nextafter`: return the next floating-point value after *x* "
"towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)"
msgstr ""
"Ajout de :func:`math.nextafter` : renvoie la prochaine valeur à point "
"flottant après *x* en direction de *y* (contribution de *Victor Stinner* "
"dans :issue:`39288`)."
#: whatsnew/3.9.rst:576
msgid ""
"Added :func:`math.ulp`: return the value of the least significant bit of a "
"float. (Contributed by Victor Stinner in :issue:`39310`.)"
msgstr ""
"Ajout de :func:`math.ulp` : renvoie la valeur du bit le moins significatif "
"d'un *float* (contribution de *Victor Stinner* dans :issue:`39310`)."
#: whatsnew/3.9.rst:581
msgid "multiprocessing"
msgstr "*multiprocessing*"
#: whatsnew/3.9.rst:583
msgid ""
"The :class:`multiprocessing.SimpleQueue` class has a new :meth:"
"`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. "
"(Contributed by Victor Stinner in :issue:`30966`.)"
msgstr ""
"La classe :class:`multiprocessing.SimpleQueue` a une nouvelle méthode :meth:"
"`~multiprocessing.SimpleQueue.close` pour fermer la queue de façon explicite "
"(contribution de *Victor Stinner* dans :issue:`30966`)."
#: whatsnew/3.9.rst:589
msgid "nntplib"
msgstr "*nntplib*"
#: whatsnew/3.9.rst:591
msgid ""
":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a :class:"
"`ValueError` if the given timeout for their constructor is zero to prevent "
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
"`39259`.)"
msgstr ""
"Afin d'empêcher la création d'interfaces de connexion (*sockets*) non-"
"bloquantes, les classes :class:`~nntplib.NNTP` et :class:`~nntplib.NNTP_SSL` "
"lèvent maintenant :class:`ValueError` si la valeur passée à *timeout* dans "
"leur constructeur est zéro (contribution de *Dong-hee Na* dans :issue:"
"`39259`)."
#: whatsnew/3.9.rst:596
msgid "os"
msgstr "*os*"
#: whatsnew/3.9.rst:598
msgid ""
"Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:"
"`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)"
msgstr ""
"Ajout de :data:`~os.CLD_KILLED` et :data:`~os.CLD_STOPPED` pour :attr:"
"`si_code` (contribution de *Dong-hee Na* dans :issue:`38493`)."
#: whatsnew/3.9.rst:601
msgid ""
"Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:"
"`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors."
msgstr ""
"Sur Linux, exposition de :func:`os.pidfd_open` (:issue:`38692`) et de :data:"
"`os.P_PIDFD` (:issue:`38713`) pour la gestion de processus avec des "
"descripteurs de fichiers."
#: whatsnew/3.9.rst:605
msgid ""
"The :func:`os.unsetenv` function is now also available on Windows. "
"(Contributed by Victor Stinner in :issue:`39413`.)"
msgstr ""
"La fonction :func:`os.unsetenv` est maintenant aussi disponible sur Windows "
"(contribution de *Victor Stinner* dans :issue:`39413`)."
#: whatsnew/3.9.rst:608
msgid ""
"The :func:`os.putenv` and :func:`os.unsetenv` functions are now always "
"available. (Contributed by Victor Stinner in :issue:`39395`.)"
msgstr ""
"Les fonctions :func:`os.putenv` et :func:`os.unsetenv` sont maintenant "
"toujours disponibles (contribution de *Victor Stinner* dans :issue:`39395`)."
#: whatsnew/3.9.rst:612
msgid ""
"Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to "
"an exit code. (Contributed by Victor Stinner in :issue:`40094`.)"
msgstr ""
"Ajout de la fonction :func:`os.waitstatus_to_exitcode` : convertit la valeur "
"de retour de ``wait()`` en code de sortie (contribution de *Victor Stinner* "
"dans :issue:`40094`)."
#: whatsnew/3.9.rst:617
msgid "pathlib"
msgstr "*pathlib*"
#: whatsnew/3.9.rst:619
msgid ""
"Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os."
"readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)"
msgstr ""
"Ajout de :meth:`pathlib.Path.readlink()` qui a un comportement similaire à :"
"func:`os.readlink` (contribution de *Girts Folkmanis* dans :issue:`30618`)."
#: whatsnew/3.9.rst:624
msgid "pdb"
msgstr "*pdb*"
#: whatsnew/3.9.rst:626
msgid ""
"On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim "
"Hopper and Dan Lidral-Porter in :issue:`20523`.)"
msgstr ""
"Sur Windows, :class:`~pdb.Pdb` gère maintenant ``~/.pdbrc`` (contribution de "
"*Tim Hopper* et *Dan Lidral-Porter* dans :issue:`20523`)."
#: whatsnew/3.9.rst:630
msgid "poplib"
msgstr "*poplib*"
#: whatsnew/3.9.rst:632
msgid ""
":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a :class:"
"`ValueError` if the given timeout for their constructor is zero to prevent "
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
"`39259`.)"
msgstr ""
"Afin de prévenir la création d'une interface de connexion (*socket*) non-"
"bloquante, :class:`~poplib.POP3` et :class:`~poplib.POP3_SSL` lèvent "
"maintenant une :class:`ValueError` si la valeur passée à *timeout* dans leur "
"constructeur est zéro (contribution de *Dong-hee Na* dans :issue:`39259`)."
#: whatsnew/3.9.rst:637
msgid "pprint"
msgstr "*pprint*"
#: whatsnew/3.9.rst:639
msgid ""
":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. "
"(Contributed by Carl Bordum Hansen in :issue:`37376`.)"
msgstr ""
":mod:`pprint` peut maintenant faire l'affichage formaté de :class:`types."
"SimpleNamespace` (contribution de *Carl Bordum Hansen* dans :issue:`37376`)."
#: whatsnew/3.9.rst:643
msgid "pydoc"
msgstr "*pydoc*"
#: whatsnew/3.9.rst:645
msgid ""
"The documentation string is now shown not only for class, function, method "
"etc, but for any object that has its own ``__doc__`` attribute. (Contributed "
"by Serhiy Storchaka in :issue:`40257`.)"
msgstr ""
"La chaîne de documentation est maintenant affichée non seulement pour les "
"classes, fonctions, méthodes, etc., mais aussi pour tout objet qui a son "
"propre attribut ``__doc__`` (contribution de *Serhiy Storchaka* dans :issue:"
"`40257`)."
#: whatsnew/3.9.rst:650
msgid "random"
msgstr "*random*"
#: whatsnew/3.9.rst:652
msgid ""
"Added a new :attr:`random.Random.randbytes` method: generate random bytes. "
"(Contributed by Victor Stinner in :issue:`40286`.)"
msgstr ""
"Ajout de la méthode :attr:`random.Random.randbytes` : génère des octets "
"aléatoires (contribution de *Victor Stinner* dans :issue:`40286`)."
#: whatsnew/3.9.rst:656
msgid "signal"
msgstr "*signal*"
#: whatsnew/3.9.rst:658
msgid ""
"Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to "
"signals to a process using a file descriptor instead of a pid. (:issue:"
"`38712`)"
msgstr ""
"Sur Linux, exposition de :func:`signal.pidfd_send_signal` pour envoyer des "
"signaux à un processus en utilisant un descripteur de fichier plutôt qu'un "
"identifiant de processus (*pid*). (:issue:`38712`)"
#: whatsnew/3.9.rst:662
msgid "smtplib"
msgstr "*smtplib*"
#: whatsnew/3.9.rst:664
msgid ""
":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a :class:"
"`ValueError` if the given timeout for their constructor is zero to prevent "
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
"`39259`.)"
msgstr ""
"Afin d'éviter la création d'une interface de connexion (*socket*) non-"
"bloquante, :class:`~smtplib.SMTP` et :class:`~smtplib.SMTP_SSL` lèvent "
"maintenant une :class:`ValueError` si la valeur de *timeout* passée à leur "
"constructeur est zéro (contribution de *Dong-hee Na* dans :issue:`39259`)."
#: whatsnew/3.9.rst:668
msgid ""
":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. "
"(Contributed by Dong-hee Na in :issue:`39329`.)"
msgstr ""
"Le constructeur de :class:`~smtplib.LMTP` a maintenant un paramètre "
"*timeout* optionnel (contribution de *Dong-hee Na* dans :issue:`39329`)."
#: whatsnew/3.9.rst:672
msgid "socket"
msgstr "*socket*"
#: whatsnew/3.9.rst:674
msgid ""
"The :mod:`socket` module now exports the :data:`~socket."
"CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by "
"Stefan Tatschner and Zackery Spytz in :issue:`25780`.)"
msgstr ""
"Le module :mod:`socket` exporte maintenant la constante :data:`~socket."
"CAN_RAW_JOIN_FILTERS` à partir de Linux 4.1 (contribution de *Stefan "
"Tatschner* et *Zackery Spytz* dans :issue:`25780`)."
#: whatsnew/3.9.rst:678
msgid ""
"The socket module now supports the :data:`~socket.CAN_J1939` protocol on "
"platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)"
msgstr ""
"Le module ``socket`` prend maintenant en charge le protocole :data:`~socket."
"CAN_J1939` sur les plateformes où il est disponible (contribution de *Karl "
"Ding* dans :issue:`40291`)."
#: whatsnew/3.9.rst:681
msgid ""
"The socket module now has the :func:`socket.send_fds` and :func:`socket."
"recv_fds` functions. (Contributed by Joannah Nanjekye, Shinya Okano and "
"Victor Stinner in :issue:`28724`.)"
msgstr ""
"Le module ``socket`` possède maintenant les fonctions :func:`socket."
"send_fds` et :func:`socket.recv_fds` (contribution de *Joannah Nanjekye*, "
"*Shinya Okano* et *Victor Stinner* dans :issue:`28724`)."
#: whatsnew/3.9.rst:687
msgid "time"
msgstr "*time*"
#: whatsnew/3.9.rst:689
#, fuzzy
msgid ""
"On AIX, :func:`~time.thread_time` is now implemented with "
"``thread_cputime()`` which has nanosecond resolution, rather than "
"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 "
"milliseconds. (Contributed by Batuhan Taskaya in :issue:`40192`)"
msgstr ""
"Sur AIX, :func:`~time.thread_time` est maintenant implémenté par "
"``thread_cputime()`` qui a une résolution à la nanoseconde près plutôt que "
"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` qui a une résolution de 10 ms "
"(contribution de *Batuhan Taskaya* dans :issue:`40192`)."
#: whatsnew/3.9.rst:695
msgid "sys"
msgstr "*sys*"
#: whatsnew/3.9.rst:697
msgid ""
"Added a new :attr:`sys.platlibdir` attribute: name of the platform-specific "
"library directory. It is used to build the path of standard library and the "
"paths of installed extension modules. It is equal to ``\"lib\"`` on most "
"platforms. On Fedora and SuSE, it is equal to ``\"lib64\"`` on 64-bit "
"platforms. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis "
"and Victor Stinner in :issue:`1294959`.)"
msgstr ""
"Ajout du nouvel attribut :attr:`sys.platlibdir` : répertoire des "
"bibliothèques spécifiques à la plateforme. Il est utilisé pour construire le "
"chemin de la bibliothèque standard et les chemins des modules d'extension "
"installés. Il est égal à ``\"lib\"`` sur la plupart des plateformes. Sur "
"*Fedora* et *SuSE*, il est égal à ``\"lib64\"`` sur les plateformes 64-bit "
"(contribution de *Jan Matějek*, *Matěj Cepl*, *Charalampos Stratakis* et "
"*Victor Stinner* dans :issue:`1294959`)."
#: whatsnew/3.9.rst:703
msgid ""
"Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now "
"``stderr`` defaults to always being line-buffered. (Contributed by Jendrik "
"Seipp in :issue:`13601`.)"
msgstr ""
"Préalablement, :attr:`sys.stderr` avait un tampon par blocs quand il n'était "
"pas interactif. Maintenant ``stderr`` a toujours par défaut un tampon par "
"lignes (contribution de *Jendrik Seipp* dans :issue:`13601`)."
#: whatsnew/3.9.rst:708
msgid "tracemalloc"
msgstr "*tracemalloc*"
#: whatsnew/3.9.rst:710
msgid ""
"Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory "
"blocks to the current size, to measure the peak of specific pieces of code. "
"(Contributed by Huon Wilson in :issue:`40630`.)"
msgstr ""
"Ajout de :func:`tracemalloc.reset_peak` qui affecte la taille d'apogée (la "
"plus grande taille atteinte) du bloc mémoire tracé à la taille courante, "
"pour mesurer la taille d'apogée de parties de code spécifiques (contribution "
"de *Huon Wilson* dans :issue:`40630`)."
#: whatsnew/3.9.rst:1498
msgid "typing"
msgstr "*typing*"
#: whatsnew/3.9.rst:717
msgid ""
":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing "
"types with context-specific metadata and new ``include_extras`` parameter "
"to :func:`typing.get_type_hints` to access the metadata at runtime. "
"(Contributed by Till Varoquaux and Konstantin Kashin.)"
msgstr ""
":pep:`593` ajoute le type :data:`typing.Annotated` pour décorer les types "
"existants avec des métadonnées spécifiques au contexte et le nouveau "
"paramètre ``include_extras`` à :func:`typing.get_type_hints` pour récupérer "
"les métadonnées à l'exécution (contribution de *Till Varoquaux* et "
"*Konstantin Kashin*)."
#: whatsnew/3.9.rst:723
msgid "unicodedata"
msgstr "*unicodedata*"
#: whatsnew/3.9.rst:725
msgid ""
"The Unicode database has been updated to version 13.0.0. (:issue:`39926`)."
msgstr ""
"La base de donnée Unicode a été mise à jour à la version 13.0.0. (:issue:"
"`39926`)."
#: whatsnew/3.9.rst:728
msgid "venv"
msgstr "*venv*"
#: whatsnew/3.9.rst:730
msgid ""
"The activation scripts provided by :mod:`venv` now all specify their prompt "
"customization consistently by always using the value specified by "
"``__VENV_PROMPT__``. Previously some scripts unconditionally used "
"``__VENV_PROMPT__``, others only if it happened to be set (which was the "
"default case), and one used ``__VENV_NAME__`` instead. (Contributed by Brett "
"Cannon in :issue:`37663`.)"
msgstr ""
"Tous les scripts d'activations fournis par :mod:`venv` spécifient maintenant "
"la personnalisation de l'invite de façon cohérente en utilisant toujours la "
"valeur spécifiée dans ``__VENV_PROMPT__``. Précédemment certains scripts "
"utilisaient toujours ``__VENV_PROMPT__``, d'autres seulement quand la "
"variable était affectée, et un utilisait plutôt ``__VENV_NAME__`` "
"(contribution de *Brett Cannon* dans :issue:`37663`)."
#: whatsnew/3.9.rst:738
msgid "xml"
msgstr "*xml*"
#: whatsnew/3.9.rst:740
msgid ""
"White space characters within attributes are now preserved when serializing :"
"mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to "
"\"\\n\". This is the result of discussion about how to interpret section "
"2.11 of XML spec. (Contributed by Mefistotelis in :issue:`39011`.)"
msgstr ""
"Les caractères d'espacement à l'intérieur des attributs sont maintenant "
"préservés lors de la sérialisation d':mod:`xml.etree.ElementTree` en fichier "
"XML. Les fin de lignes ne sont plus normalisées par \"\\n\". Ceci est le "
"résultat d'une discussion sur comment interpréter la section 2.11 de la "
"spécification XML (contribution de *Mefistotelis* dans :issue:`39011`)."
#: whatsnew/3.9.rst:748
msgid "Optimizations"
msgstr "Optimisations"
#: whatsnew/3.9.rst:750
msgid ""
"Optimized the idiom for assignment a temporary variable in comprehensions. "
"Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment "
"``y = expr``. For example:"
msgstr ""
"L'affectation d'une variable temporaire dans les compréhensions est "
"optimisée. Maintenant ``for y in [expr]`` dans les compréhensions est aussi "
"rapide qu'une affectation simple ``y = expr``. Par exemple :"
#: whatsnew/3.9.rst:754
msgid "sums = [s for s in [0] for x in data for s in [s + x]]"
msgstr "``sums = [s for s in [0] for x in data for s in [s + x]]``"
#: whatsnew/3.9.rst:756
msgid ""
"Unlike the ``:=`` operator this idiom does not leak a variable to the outer "
"scope."
msgstr ""
"Contrairement à l'opérateur ``:=``, cet idiome ne laisse pas déborder une "
"variable dans la portée externe."
#: whatsnew/3.9.rst:759
msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)"
msgstr "(contribution de *Serhiy Storchaka* dans :issue:`32856`)."
#: whatsnew/3.9.rst:761
msgid ""
"Optimized signal handling in multithreaded applications. If a thread "
"different than the main thread gets a signal, the bytecode evaluation loop "
"is no longer interrupted at each bytecode instruction to check for pending "
"signals which cannot be handled. Only the main thread of the main "
"interpreter can handle signals."
msgstr ""
"Optimisation de la gestion des signaux dans les applications avec plus d'un "
"fil d'exécution (*multithreaded applications*). Si un fil d'exécution autre "
"que le fil principal reçoit un signal, la boucle d'évaluation du code "
"intermédiaire (*bytecode*) n'est plus interrompue à chaque instruction "
"intermédiaire pour vérifier s'il y a des signaux en attente qui ne peuvent "
"être gérés. Seul le fil principal de l'interpréteur principal peut gérer les "
"signaux."
#: whatsnew/3.9.rst:767
msgid ""
"Previously, the bytecode evaluation loop was interrupted at each instruction "
"until the main thread handles signals. (Contributed by Victor Stinner in :"
"issue:`40010`.)"
msgstr ""
"Précédemment, la boucle d'évaluation du code intermédiaire était interrompue "
"à chaque instruction jusqu'à ce que le fil principal gère les signaux "
"(contribution de *Victor Stinner* dans :issue:`40010`)."
#: whatsnew/3.9.rst:771
msgid ""
"Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. "
"(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor "
"Stinner in :issue:`38061`.)"
msgstr ""
"Optimisation du module :mod:`subprocess` sur FreeBSD en utilisant "
"``closefrom()`` (contribution de *Ed Maste*, *Conrad Meyer*, *Kyle Evans*, "
"*Kubilay Kocak* et *Victor Stinner* dans :issue:`38061`)."
#: whatsnew/3.9.rst:775
msgid ""
":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit "
"into :c:type:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)"
msgstr ""
":c:func:`PyLong_FromDouble` est maintenant 1,87 fois plus rapide pour les "
"valeurs compatibles avec :c:type:`long` (contribution de *Sergey Fedoseev* "
"dans :issue:`37986`)."
#: whatsnew/3.9.rst:779
msgid ""
"A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :"
"class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :"
"pep:`590` vectorcall protocol. (Contributed by Dong-hee Na, Mark Shannon, "
"Jeroen Demeyer and Petr Viktorin in :issue:`37207`.)"
msgstr ""
"Certaines fonctions et classes natives (:class:`range`, :class:`tuple`, :"
"class:`set`, :class:`frozenset`, :class:`list`, :class:`dict`) sont "
"maintenant plus rapides grâce à l'utilisation du protocole de vectorisation "
"de :pep:`590` (contribution de *Dong-hee Na*, *Mark Shannon*, *Jeroen "
"Demeyer* et *Petr Viktorin* dans :issue:`37207`)."
#: whatsnew/3.9.rst:784
msgid ""
"Optimized :func:`~set.difference_update` for the case when the other set is "
"much larger than the base set. (Suggested by Evgeny Kapun with code "
"contributed by Michele Orrù in :issue:`8425`.)"
msgstr ""
"Optimisation de :func:`~set.difference_update` pour le cas où l'autre *set* "
"est beaucoup plus grand que celui de base. (Suggestion par *Evgeny Kapun* et "
"codage contribué par *Michele Orrù* dans :issue:`8425`.)"
#: whatsnew/3.9.rst:788
msgid ""
"Python's small object allocator (``obmalloc.c``) now allows (no more than) "
"one empty arena to remain available for immediate reuse, without returning "
"it to the OS. This prevents thrashing in simple loops where an arena could "
"be created and destroyed anew on each iteration. (Contributed by Tim Peters "
"in :issue:`37257`.)"
msgstr ""
"L'allocateur de petits objets de Python (``obmalloc.c``) alloue maintenant "
"(au plus) un aréna vide qui reste disponible pour réutilisation immédiate, "
"sans le renvoyer au système d'exploitation. Ceci prévient l'emballement "
"(*thrashing*) dans les boucles simples où un aréna pourrait être créé puis "
"détruit à nouveau à chaque itération (contribution de *Tim Peters* dans :"
"issue:`37257`)."
#: whatsnew/3.9.rst:794
msgid ""
":term:`floor division` of float operation now has a better performance. Also "
"the message of :exc:`ZeroDivisionError` for this operation is updated. "
"(Contributed by Dong-hee Na in :issue:`39434`.)"
msgstr ""
"L'opération de :term:`division entière <floor division>` d'un *float* est "
"plus performante. De plus, le message de :exc:`ZeroDivisionError` pour cette "
"opération a été mis à jour (contribution de *Dong-hee Na* dans :issue:"
"`39434`)."
#: whatsnew/3.9.rst:798
msgid ""
"Decoding short ASCII strings with UTF-8 and ascii codecs is now about 15% "
"faster. (Contributed by Inada Naoki in :issue:`37348`.)"
msgstr ""
"Le décodage de courtes chaînes ASCII avec les codecs *UTF-8* et *ascii* est "
"maintenant 15 % plus rapide (contribution de *Inada Naoki* dans :issue:"
"`37348`)."
#: whatsnew/3.9.rst:801
msgid ""
"Here's a summary of performance improvements from Python 3.4 through Python "
"3.9:"
msgstr ""
"Voici un résumé des améliorations de performance de Python 3.4 à Python 3.9 :"
#: whatsnew/3.9.rst:848
msgid ""
"These results were generated from the variable access benchmark script at: "
"``Tools/scripts/var_access_benchmark.py``. The benchmark script displays "
"timings in nanoseconds. The benchmarks were measured on an `Intel® Core™ "
"i7-4960HQ processor <https://ark.intel.com/content/www/us/en/ark/"
"products/76088/intel-core-i7-4960hq-processor-6m-cache-up-to-3-80-ghz."
"html>`_ running the macOS 64-bit builds found at `python.org <https://www."
"python.org/downloads/mac-osx/>`_."
msgstr ""
"Ces résultats ont été obtenus avec le script de test de performance des "
"accès aux variables : ``Tools/scripts/var_access_benchmark.py``. Le script "
"de test de performances affiche le chronométrage en nanosecondes. Les tests "
"ont été effectués sur un processeur `Intel® Core™ i7-4960HQ <https://ark."
"intel.com/content/www/us/en/ark/products/76088/intel-core-i7-4960hq-"
"processor-6m-cache-up-to-3-80-ghz.html>`_ roulant la compilation *macOS* 64-"
"bit disponible sur `python.org <https://www.python.org/downloads/mac-osx/>`_."
#: whatsnew/3.9.rst:858
msgid "Deprecated"
msgstr "Obsolescence"
#: whatsnew/3.9.rst:860
msgid ""
"The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` "
"(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:"
"`39586`.)"
msgstr ""
"La commande de *distutils* ``bdist_msi`` est maintenant obsolète, utilisez "
"plutôt ``bdist_wheel`` (paquet *wheel*) (contribution de *Hugo van Kemenade* "
"dans :issue:`39586`)."
#: whatsnew/3.9.rst:864
msgid ""
"Currently :func:`math.factorial` accepts :class:`float` instances with non-"
"negative integer values (like ``5.0``). It raises a :exc:`ValueError` for "
"non-integral and negative floats. It is now deprecated. In future Python "
"versions it will raise a :exc:`TypeError` for all floats. (Contributed by "
"Serhiy Storchaka in :issue:`37315`.)"
msgstr ""
"Présentement, :func:`math.factorial` accepte des instances de :class:`float` "
"qui sont des entiers non-négatifs (comme ``5.0``). Elle lève une :exc:"
"`ValueError` pour les *floats* non-entiers et négatifs. Ceci est maintenant "
"obsolète. Les versions futures de Python vont lever une :exc:`TypeError` "
"pour tous les *floats* (contribution de *Serhiy Storchaka* dans :issue:"
"`37315`)."
#: whatsnew/3.9.rst:870
msgid ""
"The :mod:`parser` and :mod:`symbol` modules are deprecated and will be "
"removed in future versions of Python. For the majority of use cases, users "
"can leverage the Abstract Syntax Tree (AST) generation and compilation "
"stage, using the :mod:`ast` module."
msgstr ""
"Les modules :mod:`parser` et :mod:`symbol` sont obsolètes et seront retirés "
"des versions futures de Python. Pour la majorité des cas d'utilisation, les "
"utilisateurs peuvent tirer profit des stades de génération et de compilation "
"d'un arbre de syntaxe abstraite, en utilisant le module :mod:`ast`."
#: whatsnew/3.9.rst:875
msgid ""
"The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:"
"func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:"
"`PyParser_SimpleParseFileFlags` and :c:func:`PyNode_Compile` are deprecated "
"and will be removed in Python 3.10 together with the old parser."
msgstr ""
"Les fonctions :c:func:`PyParser_SimpleParseStringFlags`, :c:func:"
"`PyParser_SimpleParseStringFlagsFilename`, :c:func:"
"`PyParser_SimpleParseFileFlags` et :c:func:`PyNode_Compile` de l'API C "
"Publique sont obsolètes et seront retirées de Python 3.10 en même temps que "
"l'ancien analyseur."
#: whatsnew/3.9.rst:880
msgid ""
"Using :data:`NotImplemented` in a boolean context has been deprecated, as it "
"is almost exclusively the result of incorrect rich comparator "
"implementations. It will be made a :exc:`TypeError` in a future version of "
"Python. (Contributed by Josh Rosenberg in :issue:`35712`.)"
msgstr ""
"L'utilisation de :data:`NotImplemented` dans un contexte booléen est devenu "
"obsolète, puisque c'est presque toujours le résultat d'une implémentation "
"incorrecte des opérateurs de comparaison avancés. Ceci va devenir une :exc:"
"`TypeError` dans les versions futures de Python (contribution de *Josh "
"Rosenberg* dans :issue:`35712`)."
#: whatsnew/3.9.rst:886
msgid ""
"The :mod:`random` module currently accepts any hashable type as a possible "
"seed value. Unfortunately, some of those types are not guaranteed to have a "
"deterministic hash value. After Python 3.9, the module will restrict its "
"seeds to :const:`None`, :class:`int`, :class:`float`, :class:`str`, :class:"
"`bytes`, and :class:`bytearray`."
msgstr ""
"Le module :mod:`random` accepte présentement n'importe quel hachable comme "
"valeur d'ensemencement. Malheureusement, certains de ces types ne "
"garantissent pas une valeur de hachage déterministe. Après Python 3.9, le "
"module va restreindre l'ensemencement à :const:`None`, :class:`int`, :class:"
"`float`, :class:`str`, :class:`bytes` et :class:`bytearray`."
#: whatsnew/3.9.rst:892
msgid ""
"Opening the :class:`~gzip.GzipFile` file for writing without specifying the "
"*mode* argument is deprecated. In future Python versions it will always be "
"opened for reading by default. Specify the *mode* argument for opening it "
"for writing and silencing a warning. (Contributed by Serhiy Storchaka in :"
"issue:`28286`.)"
msgstr ""
"Ouvrir un fichier :class:`~gzip.GzipFile` en écriture sans spécifier "
"l'argument *mode* est obsolète. Dans les futures versions de Python, il sera "
"toujours ouvert en lecture par défaut. Spécifiez l'argument *mode* pour "
"l'ouvrir en écriture et supprimer l'avertissement (contribution de *Serhiy "
"Storchaka* dans :issue:`28286`)."
#: whatsnew/3.9.rst:898
msgid ""
"Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour "
"of the ``splitlist()`` method which has more consistent and predicable "
"behavior. (Contributed by Serhiy Storchaka in :issue:`38371`.)"
msgstr ""
"La méthode ``split()`` de :class:`_tkinter.TkappType` est obsolète. La "
"méthode ``splitlist()`` est plus favorable, car elle a un comportement plus "
"cohérent et prévisible (contribution de *Serhiy Storchaka* dans :issue:"
"`38371`)."
#: whatsnew/3.9.rst:903
msgid ""
"The explicit passing of coroutine objects to :func:`asyncio.wait` has been "
"deprecated and will be removed in version 3.11. (Contributed by Yury "
"Selivanov and Kyle Stanley in :issue:`34790`.)"
msgstr ""
"Le passage explicite d'objets coroutine à :func:`asyncio.wait` est devenu "
"obsolète et sera retiré dans la version 3.11. (Contribution de *Yury "
"Selivanov* et *Kyle Stanley* dans :issue:`34790`.)"
#: whatsnew/3.9.rst:907
msgid ""
"binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module "
"and the following :mod:`binascii` functions are now deprecated:"
msgstr ""
"Les standards *binhex4* et *hexbin4* sont maintenant obsolètes. Le module :"
"mod:`binhex` et les fonctions suivantes du module :mod:`binascii` sont "
"maintenant obsolètes :"
#: whatsnew/3.9.rst:910
msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`"
msgstr ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`"
#: whatsnew/3.9.rst:911
msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`"
msgstr ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`"
#: whatsnew/3.9.rst:913
msgid "(Contributed by Victor Stinner in :issue:`39353`.)"
msgstr "(contribution de *Victor Stinner* dans :issue:`39353`)."
#: whatsnew/3.9.rst:915
msgid ""
":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered "
"deprecated and will be removed in future Python versions. ``value`` itself "
"should be used instead of ``Index(value)``. ``Tuple(slices, Load())`` "
"should be used instead of ``ExtSlice(slices)``. (Contributed by Serhiy "
"Storchaka in :issue:`34822`.)"
msgstr ""
"Les classes ``slice``, ``Index`` et ``ExtSlice`` du module :mod:`ast` sont "
"considérées obsolètes et seront retirées des versions futures de Python. "
"``value`` doit être utilisé à la place de ``Index(value)``. ``Tuple(slices, "
"Load())`` doit être utilisé plutôt que ``ExtSlice(slices)`` (contribution de "
"*Serhiy Storchaka* dans :issue:`34822`)."
#: whatsnew/3.9.rst:921
msgid ""
":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are "
"considered deprecated and will be removed in future Python versions. They "
"were not generated by the parser and not accepted by the code generator in "
"Python 3. (Contributed by Batuhan Taskaya in :issue:`39639` and :issue:"
"`39969` and Serhiy Storchaka in :issue:`39988`.)"
msgstr ""
"Les classes ``Suite``, ``Param``, ``AugLoad`` et ``AugStore`` du module :mod:"
"`ast` sont considérées obsolètes et seront retirées des versions futures de "
"Python. Elles n'étaient pas produites par l'analyseur et n'étaient pas "
"acceptées par le générateur de code dans Python 3 (contribution de *Batuhan "
"Taskaya* dans :issue:`39639` et :issue:`39969` et *Serhiy Storchaka* dans :"
"issue:`39988`)."
#: whatsnew/3.9.rst:928
msgid ""
"The :c:func:`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized` "
"functions are now deprecated and will be removed in Python 3.11. Calling :c:"
"func:`PyEval_InitThreads` now does nothing. The :term:`GIL` is initialized "
"by :c:func:`Py_Initialize()` since Python 3.7. (Contributed by Victor "
"Stinner in :issue:`39877`.)"
msgstr ""
"Les fonctions :c:func:`PyEval_InitThreads` et :c:func:"
"`PyEval_ThreadsInitialized` sont maintenant obsolètes et seront retirées de "
"Python 3.11. Maintenant, l'appel de :c:func:`PyEval_InitThreads` ne fait "
"rien du tout. Le :term:`GIL` est initialisé par :c:func:`Py_Initialize()` "
"depuis Python 3.7 (contribution de *Victor Stinner* dans :issue:`39877`)."
#: whatsnew/3.9.rst:934
msgid ""
"Passing ``None`` as the first argument to the :func:`shlex.split` function "
"has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)"
msgstr ""
"Passer ``None`` comme premier argument à la fonction :func:`shlex.split` a "
"été rendu obsolète (contribution de *Zackery Spytz* dans :issue:`33262`)."
#: whatsnew/3.9.rst:937
msgid ""
":func:`smtpd.MailmanProxy` is now deprecated as it is unusable without an "
"external module, ``mailman``. (Contributed by Samuel Colvin in :issue:"
"`35800`.)"
msgstr ""
":func:`smtpd.MailmanProxy` est maintenant obsolète puisqu'elle n'est pas "
"utilisable sans le module externe ``mailman`` (contribution de *Samuel "
"Colvin* dans :issue:`35800`)."
#: whatsnew/3.9.rst:940
msgid ""
"The :mod:`lib2to3` module now emits a :exc:`PendingDeprecationWarning`. "
"Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may "
"include new language syntax that is not parsable by lib2to3's LL(1) parser. "
"The ``lib2to3`` module may be removed from the standard library in a future "
"Python version. Consider third-party alternatives such as `LibCST`_ or "
"`parso`_. (Contributed by Carl Meyer in :issue:`40360`.)"
msgstr ""
"Le module :mod:`lib2to3` émet maintenant un :exc:"
"`PendingDeprecationWarning`. Python 3.9 est passé à un analyseur *PEG* "
"(voir :pep:`617`), et Python 3.10 peut inclure des changements à la syntaxe "
"qui ne sont pas analysables par l'analyseur *LL(1)* de ``lib2to3``. Le "
"module ``lib2to3`` peut être retiré de la bibliothèque standard dans une "
"version future de Python. Considérez une alternative tierce telle que "
"`LibCST`_ ou `parso`_ (contribution de *Carl Meyer* dans :issue:`40360`)."
#: whatsnew/3.9.rst:948
msgid ""
"The *random* parameter of :func:`random.shuffle` has been deprecated. "
"(Contributed by Raymond Hettinger in :issue:`40465`)"
msgstr ""
"Le paramètre *random* de :func:`random.shuffle` est maintenant obsolète "
"(contribution de *Raymond Hettinger* dans :issue:`40465`)."
#: whatsnew/3.9.rst:1412
msgid "Removed"
msgstr "Retraits"
#: whatsnew/3.9.rst:959
msgid ""
"The erroneous version at :data:`unittest.mock.__version__` has been removed."
msgstr ""
"La version erronée dans :data:`unittest.mock.__version__` a été retirée."
#: whatsnew/3.9.rst:961
msgid ""
":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been "
"removed. These methods are deprecated since Python 3.3. Generally, these "
"extensions are not supported or not enabled by NNTP server administrators. "
"For ``xgtitle()``, please use :meth:`nntplib.NNTP.descriptions` or :meth:"
"`nntplib.NNTP.description` instead. (Contributed by Dong-hee Na in :issue:"
"`39366`.)"
msgstr ""
"Les méthodes de :class:`nntplib.NNTP` : ``xpath()`` et ``xgtitle()`` ont été "
"retirées. Ces méthodes sont obsolètes depuis Python 3.3. En général, ces "
"extensions ne sont pas prises en charge ou ne sont pas activées par les "
"administrateurs de serveurs *NNTP*. Pour ``xgtitle()`` veuillez plutôt "
"utiliser :meth:`nntplib.NNTP.descriptions` ou :meth:`nntplib.NNTP."
"description` (contribution de *Dong-hee Na* dans :issue:`39366`)."
#: whatsnew/3.9.rst:968
msgid ""
":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been "
"removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated "
"since Python 3.2. (Contributed by Victor Stinner in :issue:`38916`.)"
msgstr ""
"Les méthodes de :class:`array.array` : ``tostring()`` et ``fromstring()`` "
"ont été retirées. Elles étaient des alias de ``tobytes()`` et "
"``frombytes()``, obsolètes depuis Python 3.2 (contribution de *Victor "
"Stinner* dans :issue:`38916`)."
#: whatsnew/3.9.rst:973
msgid ""
"The undocumented ``sys.callstats()`` function has been removed. Since Python "
"3.7, it was deprecated and always returned :const:`None`. It required a "
"special build option ``CALL_PROFILE`` which was already removed in Python "
"3.7. (Contributed by Victor Stinner in :issue:`37414`.)"
msgstr ""
"La fonction non-documentée ``sys.callstats()`` a été retirée. Depuis Python "
"3.7, elle était obsolète et retournait toujours :const:`None`. Elle "
"dépendait de l'option de construction ``CALL_PROFILE`` qui avait déjà été "
"retirée dans Python 3.7 (contribution de *Victor Stinner* dans :issue:"
"`37414`)."
#: whatsnew/3.9.rst:978
msgid ""
"The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have "
"been removed. They were deprecated since Python 3.2. Use :func:`sys."
"getswitchinterval` and :func:`sys.setswitchinterval` instead. (Contributed "
"by Victor Stinner in :issue:`37392`.)"
msgstr ""
"Les fonctions ``sys.getcheckinterval()`` et ``sys.setcheckinterval()`` ont "
"été retirées. Elle étaient obsolètes depuis Python 3.2. Utilisez plutôt :"
"func:`sys.getswitchinterval` et :func:`sys.setswitchinterval` (contribution "
"de *Victor Stinner* dans :issue:`37392`)."
#: whatsnew/3.9.rst:983
msgid ""
"The C function ``PyImport_Cleanup()`` has been removed. It was documented "
"as: \"Empty the module table. For internal use only.\" (Contributed by "
"Victor Stinner in :issue:`36710`.)"
msgstr ""
"La fonction C ``PyImport_Cleanup()`` a été retirée. Elle était documentée "
"comme \"Vide la table des modules. Pour usage interne seulement."
"\" (contribution de *Victor Stinner* dans :issue:`36710`)."
#: whatsnew/3.9.rst:987
msgid ""
"``_dummy_thread`` and ``dummy_threading`` modules have been removed. These "
"modules were deprecated since Python 3.7 which requires threading support. "
"(Contributed by Victor Stinner in :issue:`37312`.)"
msgstr ""
"Les modules ``_dummy_thread`` et ``dummy_threading`` ont été retirés. Ces "
"modules étaient obsolètes depuis Python 3.7 qui a besoin de la gestion de "
"fils d'exécution multiples (contribution de *Victor Stinner* dans :issue:"
"`37312`)."
#: whatsnew/3.9.rst:991
msgid ""
"``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to "
"``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have "
"been removed. They were deprecated since Python 3.7. (Contributed by Victor "
"Stinner in :issue:`37320`.)"
msgstr ""
"L'alias ``aifc.openfp()`` de ``aifc.open()``, l'alias ``sunau.openfp()`` de "
"``sunau.open()`` et l'alias ``wave.openfp()`` de :func:`wave.open()` ont été "
"retirés. Ils étaient obsolètes depuis Python 3.7 (contribution de *Victor "
"Stinner* dans :issue:`37320`)."
#: whatsnew/3.9.rst:996
msgid ""
"The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` "
"has been removed. It was deprecated since Python 3.8. Use :meth:`~threading."
"Thread.is_alive()` instead. (Contributed by Dong-hee Na in :issue:`37804`.)"
msgstr ""
"La méthode :meth:`~threading.Thread.isAlive()` de la classe :class:"
"`threading.Thread` a été retirée. Elle était obsolète depuis Python 3.8. "
"Utilisez plutôt :meth:`~threading.Thread.is_alive()` (contribution de *Dong-"
"hee Na* dans :issue:`37804`)."
#: whatsnew/3.9.rst:1001
msgid ""
"Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml."
"etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` "
"in the :mod:`~xml.etree.ElementTree` module have been removed. They were "
"deprecated in Python 3.2. Use ``iter(x)`` or ``list(x)`` instead of ``x."
"getchildren()`` and ``x.iter()`` or ``list(x.iter())`` instead of ``x."
"getiterator()``. (Contributed by Serhiy Storchaka in :issue:`36543`.)"
msgstr ""
"Les méthodes ``getchildren()`` et ``getiterator()`` des classes :class:`~xml."
"etree.ElementTree.ElementTree` et :class:`~xml.etree.ElementTree.Element` "
"dans le module :mod:`~xml.etree.ElementTree` ont été retirées. Elle avaient "
"été déclarées obsolètes dans Python 3.2. Utilisez ``iter(x)`` ou ``list(x)`` "
"plutôt que ``x.getchildren()`` et ``x.iter()`` ou ``list(x.iter())`` plutôt "
"que ``x.getiterator()`` (contribution de *Serhiy Storchaka* dans :issue:"
"`36543`)."
#: whatsnew/3.9.rst:1009
msgid ""
"The old :mod:`plistlib` API has been removed, it was deprecated since Python "
"3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:"
"`~plistlib.dump`, and :func:`~plistlib.dumps` functions. Additionally, the "
"*use_builtin_types* parameter was removed, standard :class:`bytes` objects "
"are always used instead. (Contributed by Jon Janzen in :issue:`36409`.)"
msgstr ""
"L'ancienne API :mod:`plistlib` a été retirée, elle était obsolète depuis "
"Python 3.4. Utilisez les fonctions :func:`~plistlib.load`, :func:`~plistlib."
"loads`, :func:`~plistlib.dump` et :func:`~plistlib.dumps`. De plus, le "
"paramètre *use_builtin_types* a été retiré, les objets :class:`bytes` natifs "
"sont toujours utilisés."
#: whatsnew/3.9.rst:1015
msgid ""
"The C function ``PyGen_NeedsFinalizing`` has been removed. It was not "
"documented, tested, or used anywhere within CPython after the implementation "
"of :pep:`442`. Patch by Joannah Nanjekye. (Contributed by Joannah Nanjekye "
"in :issue:`15088`)"
msgstr ""
"La fonction C ``PyGen_NeedsFinalizing`` a été retirée. Elle n'était pas "
"documentée, testée ou utilisée où que ce soit dans CPython après "
"l'implémentation de :pep:`442` (contribution de *Joannah Nanjekye* dans :"
"issue:`15088`)."
#: whatsnew/3.9.rst:1020
msgid ""
"``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated "
"since Python 3.1, have been removed: use :func:`base64.encodebytes` and :"
"func:`base64.decodebytes` instead. (Contributed by Victor Stinner in :issue:"
"`39351`.)"
msgstr ""
"``base64.encodestring()`` et ``base64.decodestring()``, des alias obsolètes "
"depuis Python 3.1, ont été retirées : utilisez plutôt :func:`base64."
"encodebytes` et :func:`base64.decodebytes` (contribution de *Victor Stinner* "
"dans :issue:`39351`)."
#: whatsnew/3.9.rst:1025
msgid ""
"``fractions.gcd()`` function has been removed, it was deprecated since "
"Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by "
"Victor Stinner in :issue:`39350`.)"
msgstr ""
"La fonction ``fractions.gcd()`` a été retirée, elle était obsolète depuis "
"Python 3.5 (:issue:`22486`) : utilisez plutôt :func:`math.gcd` (contribution "
"de *Victor Stinner* dans :issue:`39350`)."
#: whatsnew/3.9.rst:1029
msgid ""
"The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since "
"Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`. "
"Pass an open file object to control how the file is opened. (Contributed by "
"Victor Stinner in :issue:`39357`.)"
msgstr ""
"Le paramètre *buffering* de la classe :class:`bz2.BZ2File` a été retiré. "
"Depuis Python 3.0, il était ignoré et son utilisation levait un :exc:"
"`DeprecationWarning`. Passez un objet fichier déjà ouvert pour déterminer "
"comment le fichier sera ouvert (contribution de *Victor Stinner* dans :issue:"
"`39357`)."
#: whatsnew/3.9.rst:1034
msgid ""
"The *encoding* parameter of :func:`json.loads` has been removed. As of "
"Python 3.1, it was deprecated and ignored; using it has emitted a :exc:"
"`DeprecationWarning` since Python 3.8. (Contributed by Inada Naoki in :issue:"
"`39377`)"
msgstr ""
"Le paramètre *encoding* de :func:`json.loads` a été retiré. À partir de "
"Python 3.1, il était obsolète et ignoré ; son utilisation levait un :exc:"
"`DeprecationWarning` depuis Python 3.8 (contribution de *Inada Naoki* dans :"
"issue:`39377`)."
#: whatsnew/3.9.rst:1039
msgid ""
"``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` "
"statements are not longer supported, use ``async with lock`` instead. The "
"same is correct for ``asyncio.Condition`` and ``asyncio.Semaphore``. "
"(Contributed by Andrew Svetlov in :issue:`34793`.)"
msgstr ""
"Les instructions ``with (await asyncio.lock):`` et ``with (yield from "
"asyncio.lock):`` ne sont plus prises en charge, utilisez plutôt ``async with "
"lock``. De même pour ``asyncio.Condition`` et ``asyncio.Semaphore`` "
"(contribution de *Andrew Svetlov* dans :issue:`34793`)."
#: whatsnew/3.9.rst:1044
msgid ""
"The :func:`sys.getcounts` function, the ``-X showalloccount`` command line "
"option and the ``show_alloc_count`` field of the C structure :c:type:"
"`PyConfig` have been removed. They required a special Python build by "
"defining ``COUNT_ALLOCS`` macro. (Contributed by Victor Stinner in :issue:"
"`39489`.)"
msgstr ""
"La fonction :func:`sys.getcounts`, l'option de ligne de commande ``-X "
"showalloccount`` et le champ ``show_alloc_count`` de la structure C :c:type:"
"`PyConfig` ont été retirés. Ils dépendaient d'une compilation spéciale de "
"Python en définissant la macro ``COUNT_ALLOCS`` (contribution de *Victor "
"Stinner* dans :issue:`39489`)."
#: whatsnew/3.9.rst:1050
msgid ""
"The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has "
"been removed. It was deprecated since Python 3.8. Use the "
"``__annotations__`` attribute instead. (Contributed by Serhiy Storchaka in :"
"issue:`40182`.)"
msgstr ""
"L'attribut ``_field_types`` de la classe :class:`typing.NamedTuple` a été "
"retiré. Il était obsolète depuis Python 3.8. Utilisez plutôt l'attribut "
"``__annotations__`` (contribution de *Serhiy Storchaka* dans :issue:`40182`)."
#: whatsnew/3.9.rst:1055
msgid ""
"The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was "
"deprecated since 2006, and only returning ``False`` when it's called. "
"(Contributed by Batuhan Taskaya in :issue:`40208`)"
msgstr ""
"La méthode :meth:`symtable.SymbolTable.has_exec` a été retirée. Elle était "
"obsolète depuis 2006 et ne renvoyait que ``False`` lorsqu'elle était appelée "
"(contribution de *Batuhan Taskaya* dans :issue:`40208`)."
#: whatsnew/3.9.rst:1059
msgid ""
"The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` "
"have been removed. They were deprecated since Python 3.7 and you can use :"
"func:`asyncio.current_task` and :func:`asyncio.all_tasks` instead. "
"(Contributed by Rémi Lapeyre in :issue:`40967`)"
msgstr ""
"Les méthodes :meth:`asyncio.Task.current_task` et :meth:`asyncio.Task."
"all_tasks` ont été retirées. Elles étaient obsolètes depuis Python 3.7. "
"Utilisez plutôt :func:`asyncio.current_task` et :func:`asyncio.all_tasks` "
"(contribution de *Rémi Lapeyre* dans :issue:`40967`)."
#: whatsnew/3.9.rst:1064
msgid ""
"The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has "
"been removed (it was deprecated since Python 3.4). :func:`html.unescape` "
"should be used for converting character references to the corresponding "
"unicode characters."
msgstr ""
"La méthode ``unescape()`` de la classe :class:`html.parser.HTMLParser` a été "
"retirée (elle était obsolète depuis Python 3.4). :func:`html.unescape` doit "
"être utilisée pour convertir les références de caractère en leurs caractères "
"Unicode correspondants."
#: whatsnew/3.9.rst:1338
msgid "Porting to Python 3.9"
msgstr "Portage vers Python 3.9"
#: whatsnew/3.9.rst:1073
msgid ""
"This section lists previously described changes and other bugfixes that may "
"require changes to your code."
msgstr ""
"Cette section liste les changements mentionnés préalablement et d'autres "
"améliorations qui peuvent demander des changements à votre code."
#: whatsnew/3.9.rst:1078
msgid "Changes in the Python API"
msgstr "Changements dans l'API Python"
#: whatsnew/3.9.rst:1080
msgid ""
":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:"
"`ImportError` where it previously raised :exc:`ValueError`. Callers catching "
"the specific exception type and supporting both Python 3.9 and earlier "
"versions will need to catch both using ``except (ImportError, ValueError):``."
msgstr ""
":func:`__import__` et :func:`importlib.util.resolve_name` lèvent maintenant :"
"exc:`ImportError` où elles levaient précédemment :exc:`ValueError`. Les "
"appelants qui attrapent les types spécifiques d'exceptions et qui prennent à "
"la fois en charge Python 3.9 et des versions précédentes doivent attraper "
"les deux types avec ``except (ImportError, ValueError):``."
#: whatsnew/3.9.rst:1085
msgid ""
"The :mod:`venv` activation scripts no longer special-case when "
"``__VENV_PROMPT__`` is set to ``\"\"``."
msgstr ""
"Il n'y a plus de traitement spécial dans les scriptes d'activation de :mod:"
"`venv` quand ``__VENV_PROMPT__`` est mis à ``\"\"``."
#: whatsnew/3.9.rst:1088
msgid ""
"The :meth:`select.epoll.unregister` method no longer ignores the :data:"
"`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)"
msgstr ""
"La méthode :meth:`select.epoll.unregister` n'ignore plus l'erreur :data:"
"`~errno.EBADF` (contribution de *Victor Stinner* dans :issue:`39239`)."
#: whatsnew/3.9.rst:1092
msgid ""
"The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, "
"since the *buffering* parameter has been removed. (Contributed by Victor "
"Stinner in :issue:`39357`.)"
msgstr ""
"Le paramètre *compresslevel* de :class:`bz2.BZ2File` est devenu "
"exclusivement nommé (*keyword-only*) puisque le paramètre *buffering* a été "
"retiré (contribution de *Victor Stinner* in :issue:`39357`)."
#: whatsnew/3.9.rst:1096
msgid ""
"Simplified AST for subscription. Simple indices will be represented by their "
"value, extended slices will be represented as tuples. ``Index(value)`` will "
"return a ``value`` itself, ``ExtSlice(slices)`` will return ``Tuple(slices, "
"Load())``. (Contributed by Serhiy Storchaka in :issue:`34822`.)"
msgstr ""
"Simplification de l'*AST* pour les souscriptions. Les indexations simples "
"seront représentées par leur valeur, les tranches étendues seront "
"représentées par des n-uplets. ``Index(value)`` va renvoyer ``value`` elle-"
"même, ``ExtSlice(slices)`` va renvoyer ``Tuple(slices, Load())`` "
"(contribution de *Serhiy Storchaka* dans :issue:`34822`)."
#: whatsnew/3.9.rst:1102
msgid ""
"The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` "
"environment variable when the :option:`-E` or :option:`-I` command line "
"options are being used."
msgstr ""
"Le module :mod:`importlib` ignore maintenant la variable denvironnement :"
"envvar:`PYTHONCASEOK` quand les options de ligne de commande :option:`-E` "
"ou :option:`-I` sont utilisées."
#: whatsnew/3.9.rst:1106
msgid ""
"The *encoding* parameter has been added to the classes :class:`ftplib.FTP` "
"and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default "
"encoding is changed from Latin-1 to UTF-8 to follow :rfc:`2640`."
msgstr ""
"Le paramètre *encoding* a été ajouté aux classes :class:`ftplib.FTP` et :"
"class:`ftplib.FTP_TLS` en paramètre exclusivement nommé et l'encodage par "
"défaut est passé de *Latin-1* à *UTF-8* en conformité à :rfc:`2640`."
#: whatsnew/3.9.rst:1110
msgid ""
":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:"
"`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit "
"from it should have this method defined. (Contributed by Kyle Stanley in :"
"issue:`34037`.)"
msgstr ""
":meth:`asyncio.loop.shutdown_default_executor` a été ajouté à :class:"
"`~asyncio.AbstractEventLoop`, donc les boucles d'événements alternatives qui "
"héritent de celle-ci devraient définir cette méthode (contribution de *Kyle "
"Stanley* dans :issue:`34037`)."
#: whatsnew/3.9.rst:1115
msgid ""
"The constant values of future flags in the :mod:`__future__` module is "
"updated in order to prevent collision with compiler flags. Previously "
"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. "
"(Contributed by Batuhan Taskaya in :issue:`39562`)"
msgstr ""
"Les valeurs constantes des drapeaux futurs du module :mod:`__future__` sont "
"mises à jour pour éviter les collisions avec les drapeaux du compilateur. "
"Précédemment, ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` était en collision avec "
"``CO_FUTURE_DIVISION`` (contribution de *Batuhan Taskaya* dans :issue:"
"`39562`)."
#: whatsnew/3.9.rst:1120
msgid ""
"``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``. "
"This change doesn't affect to its behavior because ``Py_UNICODE`` is alias "
"of ``wchar_t`` since Python 3.3. (Contributed by Inada Naoki in :issue:"
"`34538`.)"
msgstr ""
"``array('u')`` utilise maintenant le type C ``wchar_t`` plutôt que "
"``Py_UNICODE``. Ceci ne change pas son comportement puisque ``Py_UNICODE`` "
"est un alias de ``wchar_t`` depuis Python 3.3 (contribution de *Inada Naoki* "
"dans :issue:`34538`)."
#: whatsnew/3.9.rst:1125
msgid ""
"The :func:`logging.getLogger` API now returns the root logger when passed "
"the name ``'root'``, whereas previously it returned a non-root logger named "
"``'root'``. This could affect cases where user code explicitly wants a non-"
"root logger named ``'root'``, or instantiates a logger using ``logging."
"getLogger(__name__)`` in some top-level module called ``'root.py'``. "
"(Contributed by Vinay Sajip in :issue:`37742`.)"
msgstr ""
"L'API :func:`logging.getLogger` renvoie maintenant le journaliseur racine "
"quand on lui passe le nom ``'root'``, alors que préalablement il renvoyait "
"un journaliseur non-racine appelé ``'root'``. Ceci peut affecter les cas où "
"le code de l'utilisateur veut explicitement un journaliseur non-racine "
"appelé ``'root'``, ou instancie un journaliseur avec ``logging."
"getLogger(__name__)`` dans un module de niveau principal appelé ``'root."
"py'`` (contribution de *Vinay Sajip* dans :issue:`37742`)."
#: whatsnew/3.9.rst:1132
msgid ""
"Division handling of :class:`~pathlib.PurePath` now returns "
"``NotImplemented`` instead of raising a :exc:`TypeError` when passed "
"something other than an instance of ``str`` or :class:`~pathlib.PurePath`. "
"This allows creating compatible classes that don't inherit from those "
"mentioned types. (Contributed by Roger Aiudi in :issue:`34775`)."
msgstr ""
"La gestion de la division de :class:`~pathlib.PurePath` renvoie maintenant "
"``NotImplemented`` plutôt que de lever une :exc:`TypeError` lorsqu'on passe "
"une valeur autre qu'une instance de ``str`` ou :class:`~pathlib.PurePath`. "
"Ceci permet la création de classes compatibles qui n'héritent pas de ces "
"types (contribution de *Roger Aiudi* dans :issue:`34775`.)"
#: whatsnew/3.9.rst:1138
msgid ""
"Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any "
"leading zeros in IPv4 address strings. Leading zeros are ambiguous and "
"interpreted as octal notation by some libraries. For example the legacy "
"function :func:`socket.inet_aton` treats leading zeros as octal notatation. "
"glibc implementation of modern :func:`~socket.inet_pton` does not accept any "
"leading zeros. (Contributed by Christian Heimes in :issue:`36384`)."
msgstr ""
#: whatsnew/3.9.rst:1146
msgid ""
":func:`codecs.lookup` now normalizes the encoding name the same way as :func:"
"`encodings.normalize_encoding`, except that :func:`codecs.lookup` also "
"converts the name to lower case. For example, ``\"latex+latin1\"`` encoding "
"name is now normalized to ``\"latex_latin1\"``. (Contributed by Jordon Xu "
"in :issue:`37751`.)"
msgstr ""
#: whatsnew/3.9.rst:1154
msgid "Changes in the C API"
msgstr "Changements dans l'API C"
#: whatsnew/3.9.rst:1156
msgid ""
"Instances of :ref:`heap-allocated types <heap-types>` (such as those created "
"with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their "
"type object since Python 3.8. As indicated in the \"Changes in the C API\" "
"of Python 3.8, for the vast majority of cases, there should be no side "
"effect but for types that have a custom :c:member:`~PyTypeObject."
"tp_traverse` function, ensure that all custom ``tp_traverse`` functions of "
"heap-allocated types visit the object's type."
msgstr ""
"Les instances de :ref:`types alloués sur le tas <heap-types>` (tels que ceux "
"créés avec :c:func:`PyType_FromSpec` et les APIs similaires) gardent une "
"référence à leur objet type depuis Python 3.8. Tel qu'indiqué dans "
"\"Changements à l'API C\" de Python 3.8, pour la grande majorité des cas, il "
"ne devrait pas y avoir d'effets secondaires sauf pour les types qui ont une "
"fonction :c:member:`~PyTypeObject.tp_traverse` personnalisée. Assurez-vous "
"que toutes les fonctions ``tp_traverse`` personnalisées des types alloués "
"sur le tas visitent le type de l'objet."
#: whatsnew/3.9.rst:1177
msgid ""
"If your traverse function delegates to ``tp_traverse`` of its base class (or "
"another type), ensure that ``Py_TYPE(self)`` is visited only once. Note that "
"only :ref:`heap type <heap-types>` are expected to visit the type in "
"``tp_traverse``."
msgstr ""
"Si votre fonction de traversée délègue à la ``tp_traverse`` de sa classe "
"mère (ou d'un autre type), assurez-vous que ``Py_TYPE(self)`` ne soit visité "
"qu'une seule fois. Prenez note que seuls les :ref:`types du tas <heap-"
"types>` doivent visiter leur type dans ``tp_traverse``."
#: whatsnew/3.9.rst:1182
msgid "For example, if your ``tp_traverse`` function includes:"
msgstr "Par exemple, si votre fonction ``tp_traverse`` inclut :"
#: whatsnew/3.9.rst:1188
msgid "then add:"
msgstr "alors ajoutez :"
#: whatsnew/3.9.rst:1201
msgid "(See :issue:`35810` and :issue:`40217` for more information.)"
msgstr "(Voir :issue:`35810` et :issue:`40217` pour plus d'information.)"
#: whatsnew/3.9.rst:1203
msgid ""
"The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, "
"``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. "
"Use :c:func:`PyObject_Call` and its variants instead. (See more details in :"
"issue:`29548`.)"
msgstr ""
"Les fonctions ``PyEval_CallObject``, ``PyEval_CallFunction``, "
"``PyEval_CallMethod`` et ``PyEval_CallObjectWithKeywords`` sont obsolètes. "
"Utilisez plutôt :c:func:`PyObject_Call` et ses variantes. (Pour plus de "
"détails, voir :issue:`29548`.)"
#: whatsnew/3.9.rst:1209
msgid "CPython bytecode changes"
msgstr "Changements au code intermédiaire CPython"
#: whatsnew/3.9.rst:1211
msgid ""
"The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :"
"keyword:`assert` statement. Previously, the assert statement would not work "
"correctly if the :exc:`AssertionError` exception was being shadowed. "
"(Contributed by Zackery Spytz in :issue:`34880`.)"
msgstr ""
"Le code d'opération :opcode:`LOAD_ASSERTION_ERROR` a été ajouté pour gérer "
"l'instruction :keyword:`assert`. Précédemment, l'instruction ``assert`` ne "
"fonctionnait pas correctement si l'exception :exc:`AssertionError` était "
"masquée (contribution de *Zackery Spytz* dans :issue:`34880`)."
#: whatsnew/3.9.rst:1216
msgid ""
"The :opcode:`COMPARE_OP` opcode was split into four distinct instructions:"
msgstr ""
"Le code d'opération :opcode:`COMPARE_OP` a été séparé en quatre instructions "
"distinctes :"
#: whatsnew/3.9.rst:1218
msgid "``COMPARE_OP`` for rich comparisons"
msgstr "``COMPARE_OP`` pour les comparaisons avancées ;"
#: whatsnew/3.9.rst:1219
msgid "``IS_OP`` for 'is' and 'is not' tests"
msgstr "``IS_OP`` pour les tests *is* et *is not* ;"
#: whatsnew/3.9.rst:1220
msgid "``CONTAINS_OP`` for 'in' and 'not in' tests"
msgstr "``CONTAINS_OP`` pour les tests *in* et *not in* ;"
#: whatsnew/3.9.rst:1221
msgid ""
"``JUMP_IF_NOT_EXC_MATCH`` for checking exceptions in 'try-except' statements."
msgstr ""
"``JUMP_IF_NOT_EXC_MATCH`` pour vérifier les exceptions dans les instructions "
"``try-except``."
#: whatsnew/3.9.rst:1224
msgid "(Contributed by Mark Shannon in :issue:`39156`.)"
msgstr "(contribution de *Mark Shannon* dans :issue:`39156`)."
#: whatsnew/3.9.rst:1228
msgid "Build Changes"
msgstr "Changements à la compilation"
#: whatsnew/3.9.rst:1230
msgid ""
"Added ``--with-platlibdir`` option to the ``configure`` script: name of the "
"platform-specific library directory, stored in the new :attr:`sys."
"platlibdir` attribute. See :attr:`sys.platlibdir` attribute for more "
"information. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis "
"and Victor Stinner in :issue:`1294959`.)"
msgstr ""
"Ajout de l'option ``--with-platlibdir`` au script ``configure`` : nom de "
"répertoire des bibliothèques spécifique à la plateforme, stocké dans le "
"nouvel attribut :attr:`sys.platlibdir`. Voir l'attribut :attr:`sys."
"platlibdir` pour plus d'informations (contribution de *Jan Matějek*, *Matěj "
"Cepl*, *Charalampos Stratakis* et *Victor Stinner* dans :issue:`1294959`)."
#: whatsnew/3.9.rst:1236
msgid ""
"The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by "
"Victor Stinner in :issue:`39489`.)"
msgstr ""
"La macro spéciale de compilation ``COUNT_ALLOCS`` a été retirée "
"(contribution de *Victor Stinner* dans :issue:`39489`)."
#: whatsnew/3.9.rst:1239
msgid ""
"On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` "
"functions are now required to build Python. (Contributed by Victor Stinner "
"in :issue:`39395`.)"
msgstr ""
"Sur les plateformes non-Windows, les fonctions :c:func:`setenv` et :c:func:"
"`unsetenv` sont maintenant nécessaires à la compilation de Python "
"(contribution de *Victor Stinner* dans :issue:`39395`)."
#: whatsnew/3.9.rst:1243
msgid ""
"On non-Windows platforms, creating ``bdist_wininst`` installers is now "
"officially unsupported. (See :issue:`10945` for more details.)"
msgstr ""
"Sur les plateformes non-Windows, la création d'installateurs "
"``bdist_wininst`` n'est maintenant officiellement plus pris en charge. "
"(Voir :issue:`10945` pour plus de détails.)"
#: whatsnew/3.9.rst:1246
msgid ""
"When building Python on macOS from source, ``_tkinter`` now links with non-"
"system Tcl and Tk frameworks if they are installed in ``/Library/"
"Frameworks``, as had been the case on older releases of macOS. If a macOS "
"SDK is explicitly configured, by using :option:`--enable-universalsdk` or ``-"
"isysroot``, only the SDK itself is searched. The default behavior can still "
"be overridden with ``--with-tcltk-includes`` and ``--with-tcltk-libs``. "
"(Contributed by Ned Deily in :issue:`34956`.)"
msgstr ""
#: whatsnew/3.9.rst:1255
msgid ""
"Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower "
"in :issue:`33125`.)"
msgstr ""
"Python peut maintenant être compilé pour *Windows 10 ARM64* (contribution de "
"*Steve Dower* dans :issue:`33125`)."
#: whatsnew/3.9.rst:1258
msgid ""
"Some individual tests are now skipped when ``--pgo`` is used. The tests in "
"question increased the PGO task time significantly and likely didn't help "
"improve optimization of the final executable. This speeds up the task by a "
"factor of about 15x. Running the full unit test suite is slow. This change "
"may result in a slightly less optimized build since not as many code "
"branches will be executed. If you are willing to wait for the much slower "
"build, the old behavior can be restored using ``./configure [..] "
"PROFILE_TASK=\"-m test --pgo-extended\"``. We make no guarantees as to "
"which PGO task set produces a faster build. Users who care should run their "
"own relevant benchmarks as results can depend on the environment, workload, "
"and compiler tool chain. (See :issue:`36044` and :issue:`37707` for more "
"details.)"
msgstr ""
"Certains tests individuels sont maintenant ignorés lorsque ``--pgo`` est "
"utilisé. Les tests en question augmentaient la durée de la tâche *PGO* de "
"manière significative et n'optimisaient probablement pas l'exécutable final. "
"Cela accélère la tâche par un facteur d'environ 15 fois. Le fait de lancer "
"la suite de tests est lent. Ce changement va peut être avoir pour "
"conséquence des exécutables compilés un peu moins optimisés car moins de "
"branches de code seront exécutées. Si vous souhaitez attendre avec une "
"compilation plus lente, l'ancienne manière de fonctionner peut être obtenue "
"avec ``./configure [..] PROFILE_TASK=\"-m test --pgo-extended\"``. Nous ne "
"garantissons pas quel set de tâches PGO produira une compilation plus "
"rapide. Les utilisateurs qui s'y intéressent devraient exécuter leurs "
"propres *benchmarks*, car les résultats peuvent dépendre de l'environnement, "
"de la charge de travail et de la chaîne d'outils du compilateur. (Voir :"
"issue:`36044` et :issue:`37707` pour plus de détails.)"
#: whatsnew/3.9.rst:1273
msgid "C API Changes"
msgstr "Changements à l'API C"
#: whatsnew/3.9.rst:1278
msgid ""
":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module "
"with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` "
"to retrieve the module and its state; and :c:data:`PyCMethod` and :c:data:"
"`METH_METHOD` to allow a method to access the class it was defined in. "
"(Contributed by Marcel Plch and Petr Viktorin in :issue:`38787`.)"
msgstr ""
":pep:`573` : Ajout de :c:func:`PyType_FromModuleAndSpec` pour associer un "
"module à une classe ; :c:func:`PyType_GetModule` et :c:func:"
"`PyType_GetModuleState` pour récupérer le module et son état ; et :c:data:"
"`PyCMethod` et :c:data:`METH_METHOD` pour permettre à une méthode de "
"récupérer la classe dans laquelle elle a été définie (contribution de "
"*Marcel Plch* et *Petr Viktorin* dans :issue:`38787`)."
#: whatsnew/3.9.rst:1285
msgid ""
"Added :c:func:`PyFrame_GetCode` function: get a frame code. Added :c:func:"
"`PyFrame_GetBack` function: get the frame next outer frame. (Contributed by "
"Victor Stinner in :issue:`40421`.)"
msgstr ""
"Ajout de la fonction :c:func:`PyFrame_GetCode` : récupérer le code d'un "
"cadre. Ajout de la fonction :c:func:`PyFrame_GetBack` : récupérer le "
"prochain cadre englobant (contribution de *Victor Stinner* dans :issue:"
"`40421`)."
#: whatsnew/3.9.rst:1289
msgid ""
"Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by "
"Victor Stinner in :issue:`40421`.)"
msgstr ""
"Ajout de :c:func:`PyFrame_GetLineNumber` à l'API C limité (contribution de "
"*Victor Stinner* dans :issue:`40421`)."
#: whatsnew/3.9.rst:1292
msgid ""
"Added :c:func:`PyThreadState_GetInterpreter` and :c:func:"
"`PyInterpreterState_Get` functions to get the interpreter. Added :c:func:"
"`PyThreadState_GetFrame` function to get the current frame of a Python "
"thread state. Added :c:func:`PyThreadState_GetID` function: get the unique "
"identifier of a Python thread state. (Contributed by Victor Stinner in :"
"issue:`39947`.)"
msgstr ""
"Ajout des fonctions :c:func:`PyThreadState_GetInterpreter` et :c:func:"
"`PyInterpreterState_Get` pour récupérer l'interpréteur. Ajout de la "
"fonction :c:func:`PyThreadState_GetFrame` pour récupérer le cadre de l'état "
"d'un fil d'exécution Python. Ajout de la fonction :c:func:"
"`PyThreadState_GetID` : récupérer l'identifiant unique de l'état d'un fil "
"d'exécution Python (contribution de *Victor Stinner* dans :issue:`39947`)."
#: whatsnew/3.9.rst:1300
msgid ""
"Added a new public :c:func:`PyObject_CallNoArgs` function to the C API, "
"which calls a callable Python object without any arguments. It is the most "
"efficient way to call a callable Python object without any argument. "
"(Contributed by Victor Stinner in :issue:`37194`.)"
msgstr ""
"Ajout de la nouvelle fonction publique :c:func:`PyObject_CallNoArgs` à l'API "
"C, qui appelle un objet Python appelable sans aucun argument. C'est la façon "
"la plus efficace d'appeler un objet Python appelable sans aucun argument "
"(contribution de *Victor Stinner* dans :issue:`37194`)."
#: whatsnew/3.9.rst:1423
msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):"
msgstr ""
"Changements dans l'API C limité (si la macro ``Py_LIMITED_API`` est "
"définie) :"
#: whatsnew/3.9.rst:1307
msgid ""
"Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` "
"as regular functions for the limited API. Previously, there were defined as "
"macros, but these macros didn't compile with the limited C API which cannot "
"access ``PyThreadState.recursion_depth`` field (the structure is opaque in "
"the limited C API)."
msgstr ""
"Fournit :c:func:`Py_EnterRecursiveCall` et :c:func:`Py_LeaveRecursiveCall` "
"comme fonctions régulières pour l'API limité. Précédemment, elles étaient "
"définies en tant que macros, mais ces macros n'étaient pas compilées avec "
"l'API C limité qui ne peut pas accéder au champ ``PyThreadState."
"recursion_depth`` (la structure est opaque à l'API C limité) ;"
#: whatsnew/3.9.rst:1313
msgid ""
"``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" "
"function to hide implementation details."
msgstr ""
"``PyObject_INIT()`` et ``PyObject_INIT_VAR()`` deviennent des fonctions "
"\"opaques\" régulières pour cacher les détails d'implémentation"
#: whatsnew/3.9.rst:1450
msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)"
msgstr ""
"(contribution de *Victor Stinner* dans :issue:`38644` et :issue:`39542`)."
#: whatsnew/3.9.rst:1318
msgid ""
"The :c:func:`PyModule_AddType` function is added to help adding a type to a "
"module. (Contributed by Dong-hee Na in :issue:`40024`.)"
msgstr ""
"La fonction :c:func:`PyModule_AddType` est ajoutée pour faciliter l'ajout "
"d'un type à un module (contribution de *Dong-hee Na* dans :issue:`40024`)."
#: whatsnew/3.9.rst:1322
msgid ""
"Added the functions :c:func:`PyObject_GC_IsTracked` and :c:func:"
"`PyObject_GC_IsFinalized` to the public API to allow to query if Python "
"objects are being currently tracked or have been already finalized by the "
"garbage collector respectively. (Contributed by Pablo Galindo Salgado in :"
"issue:`40241`.)"
msgstr ""
"Ajout des fonctions :c:func:`PyObject_GC_IsTracked` et :c:func:"
"`PyObject_GC_IsFinalized` à l'API publique qui déterminent respectivement si "
"les objets Python sont présentement suivis ou ont été finalisés par le "
"ramasse-miettes (contribution de *Pablo Galindo Salgado* dans :issue:"
"`40241`)."
#: whatsnew/3.9.rst:1328
msgid ""
"Added :c:func:`_PyObject_FunctionStr` to get a user-friendly string "
"representation of a function-like object. (Patch by Jeroen Demeyer in :issue:"
"`37645`.)"
msgstr ""
"Ajout de :c:func:`_PyObject_FunctionStr` pour récupérer une chaîne "
"conviviale représentant un objet fonction-compatible. (Rustine par *Jeroen "
"Demeyer* dans :issue:`37645`.)"
#: whatsnew/3.9.rst:1332
msgid ""
"Added :c:func:`PyObject_CallOneArg` for calling an object with one "
"positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)"
msgstr ""
"Ajout de :c:func:`PyObject_CallOneArg` pour appeler un objet avec un "
"argument positionnel. (Rustine par *Jeroen Demeyer* dans :issue:`37483`.)"
#: whatsnew/3.9.rst:1340
msgid ""
"``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory "
"*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :"
"issue:`38500`.)"
msgstr ""
"``PyInterpreterState.eval_frame`` (:pep:`523`) nécessite maintenant un "
"nouveau paramètre obligatoire *tstate* (``PyThreadState*``) (contribution de "
"*Victor Stinner* dans :issue:`38500`)."
#: whatsnew/3.9.rst:1344
msgid ""
"Extension modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:"
"`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` functions of :c:"
"type:`PyModuleDef` are no longer called if the module state was requested "
"but is not allocated yet. This is the case immediately after the module is "
"created and before the module is executed (:c:data:`Py_mod_exec` function). "
"More precisely, these functions are not called if :c:member:`~PyModuleDef."
"m_size` is greater than 0 and the module state (as returned by :c:func:"
"`PyModule_GetState`) is ``NULL``."
msgstr ""
"Modules d'extension : les fonctions :c:member:`~PyModuleDef.m_traverse`, :c:"
"member:`~PyModuleDef.m_clear` et :c:member:`~PyModuleDef.m_free` de :c:type:"
"`PyModuleDef` ne sont plus appelées si l'état du module est demandé mais "
"qu'il n'a pas encore été alloué. C'est le cas immédiatement après que le "
"module a été créé et avant que le module soit exécuté (fonction :c:data:"
"`Py_mod_exec`). Plus précisément, ces fonctions ne sont pas appelées si :c:"
"member:`~PyModuleDef.m_size` est plus grand que 0 et que l'état du module "
"(tel que renvoyé par :c:func:`PyModule_GetState`) est ``NULL``."
#: whatsnew/3.9.rst:1353
msgid ""
"Extension modules without module state (``m_size <= 0``) are not affected."
msgstr ""
"Les modules d'extensions sans état de module (``m_size <= 0``) ne sont pas "
"affectés."
#: whatsnew/3.9.rst:1355
msgid ""
"If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function "
"is now scheduled to be called from the subinterpreter, rather than being "
"called from the main interpreter. Each subinterpreter now has its own list "
"of scheduled calls. (Contributed by Victor Stinner in :issue:`39984`.)"
msgstr ""
"Si :c:func:`Py_AddPendingCall` est appelée dans un sous-interpréteur, la "
"fonction est planifiée pour appel dans le sous-interpréteur, plutôt que dans "
"l'interpréteur principal. Chaque sous interpréteur a maintenant sa propre "
"liste d'appels planifiés (contribution de *Victor Stinner* dans :issue:"
"`39984`)."
#: whatsnew/3.9.rst:1361
msgid ""
"The Windows registry is no longer used to initialize :data:`sys.path` when "
"the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to "
"``0``). This is significant when embedding Python on Windows. (Contributed "
"by Zackery Spytz in :issue:`8901`.)"
msgstr ""
"Le registre de Windows n'est plus utilisé pour initialiser :data:`sys.path` "
"quand l'option ``-E`` est utilisée (si :c:member:`PyConfig.use_environment` "
"est affecté à ``0``). Ceci est pertinent quand Python est embarqué sur "
"Windows (contribution de *Zackery Spytz* dans :issue:`8901`)."
#: whatsnew/3.9.rst:1366
msgid ""
"The global variable :c:data:`PyStructSequence_UnnamedField` is now a "
"constant and refers to a constant string. (Contributed by Serhiy Storchaka "
"in :issue:`38650`.)"
msgstr ""
"La variable globale :c:data:`PyStructSequence_UnnamedField` est maintenant "
"une constante et fait référence à une chaîne constante (contribution de "
"*Serhiy Storchaka* dans :issue:`38650`)."
#: whatsnew/3.9.rst:1370
msgid ""
"The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the "
"internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in :issue:"
"`40241`.)"
msgstr ""
"La structure :c:type:`PyGC_Head` est maintenant opaque. Elle est définie "
"uniquement dans l'API C interne (``pycore_gc.h``) (contribution de *Victor "
"Stinner* dans :issue:`40241`)."
#: whatsnew/3.9.rst:1374
msgid ""
"The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:"
"func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, "
"``_PyUnicode_AsUnicode``, and :c:func:`PyUnicode_AsUnicodeAndSize` are "
"marked as deprecated in C. They have been deprecated by :pep:`393` since "
"Python 3.3. (Contributed by Inada Naoki in :issue:`36346`.)"
msgstr ""
"``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:func:"
"`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, "
"``_PyUnicode_AsUnicode``, et :c:func:`PyUnicode_AsUnicodeAndSize` sont "
"étiquetées comme obsolètes en C. Elles avaient été déclarées obsolètes par :"
"pep:`393` depuis Python 3.3 (contribution de *Inada Naoki* dans :issue:"
"`36346`)."
#: whatsnew/3.9.rst:1381
msgid ""
"The :c:func:`Py_FatalError` function is replaced with a macro which logs "
"automatically the name of the current function, unless the "
"``Py_LIMITED_API`` macro is defined. (Contributed by Victor Stinner in :"
"issue:`39882`.)"
msgstr ""
"La fonction :c:func:`Py_FatalError` est remplacée par une macro qui ajoute "
"automatiquement une entrée au journal avec le nom de la fonction courante, "
"sauf si la macro ``Py_LIMITED_API`` est définie (contribution de *Victor "
"Stinner* dans :issue:`39882`)."
#: whatsnew/3.9.rst:1386
msgid ""
"The vectorcall protocol now requires that the caller passes only strings as "
"keyword names. (See :issue:`37540` for more information.)"
msgstr ""
"Le protocole *vectorcall* requiert maintenant que l'appelant ne passe que "
"des chaînes pour les noms des arguments nommés. (Voir :issue:`37540` pour "
"plus d'informations.)"
#: whatsnew/3.9.rst:1389
msgid ""
"Implementation details of a number of macros and functions are now hidden:"
msgstr ""
"Les détails d'implémentation de certaines macros et fonctions sont "
"maintenant cachés :"
#: whatsnew/3.9.rst:1391
msgid ":c:func:`PyObject_IS_GC` macro was converted to a function."
msgstr "la macro :c:func:`PyObject_IS_GC` a été convertie en fonction ;"
#: whatsnew/3.9.rst:1393
msgid ""
"The :c:func:`PyObject_NEW` macro becomes an alias to the :c:func:"
"`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro becomes an "
"alias to the :c:func:`PyObject_NewVar` macro. They no longer access directly "
"the :c:member:`PyTypeObject.tp_basicsize` member."
msgstr ""
"La macro :c:func:`PyObject_NEW` devient un alias pour la macro :c:func:"
"`PyObject_New`, et la macro :c:func:`PyObject_NEW_VAR` devient un alias pour "
"la macro :c:func:`PyObject_NewVar`. Elles n'ont plus accès directement au "
"membre :c:member:`PyTypeObject.tp_basicsize` ;"
#: whatsnew/3.9.rst:1398
msgid ""
":c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: "
"the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` "
"member."
msgstr ""
"La macro :c:func:`PyObject_GET_WEAKREFS_LISTPTR` a été convertie en "
"fonction : la macro accédait directement au membre :c:member:`PyTypeObject."
"tp_weaklistoffset` ;"
#: whatsnew/3.9.rst:1402
msgid ""
":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro "
"accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member."
msgstr ""
"La macro :c:func:`PyObject_CheckBuffer` a été convertie en fonction : la "
"macro accédait directement au membre :c:member:`PyTypeObject.tp_as_buffer` ;"
#: whatsnew/3.9.rst:1405
msgid ""
":c:func:`PyIndex_Check` is now always declared as an opaque function to hide "
"implementation details: removed the ``PyIndex_Check()`` macro. The macro "
"accessed directly the :c:member:`PyTypeObject.tp_as_number` member."
msgstr ""
":c:func:`PyIndex_Check` est maintenant toujours déclarée comme une fonction "
"opaque pour cacher ses détails d'implémentation : retrait de la macro "
"``PyIndex_Check()``. La macro accédait directement au membre :c:member:"
"`PyTypeObject.tp_as_number`."
#: whatsnew/3.9.rst:1409
msgid "(See :issue:`40170` for more details.)"
msgstr "(Voir :issue:`40170` pour plus de détails.)"
#: whatsnew/3.9.rst:1414
msgid ""
"Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of "
"``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:"
"`38835`.)"
msgstr ""
"Exclusion des macros ``PyFPE_START_PROTECT()`` et ``PyFPE_END_PROTECT()`` de "
"l'API C limité (contribution de *Victor Stinner* dans :issue:`38835`)."
#: whatsnew/3.9.rst:1418
msgid ""
"The ``tp_print`` slot of :ref:`PyTypeObject <type-structs>` has been "
"removed. It was used for printing objects to files in Python 2.7 and before. "
"Since Python 3.0, it has been ignored and unused. (Contributed by Jeroen "
"Demeyer in :issue:`36974`.)"
msgstr ""
"Le champ ``tp_print`` de :ref:`PyTypeObject <type-structs>` a été retiré. Il "
"était utilisé pour écrire des objets dans des fichiers dans Python 2.7 et "
"dans les versions précédentes. Depuis Python 3.0, il était ignoré et "
"inutilisé (contribution de *Jeroen Demeyer* dans :issue:`36974`)."
#: whatsnew/3.9.rst:1425
msgid "Excluded the following functions from the limited C API:"
msgstr "Exclusion des fonctions suivantes de l'API C limité :"
#: whatsnew/3.9.rst:1427
msgid ""
"``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:"
"`37878`.)"
msgstr ""
"``PyThreadState_DeleteCurrent()`` (contribution de *Joannah Nanjekye* dans :"
"issue:`37878`) ;"
#: whatsnew/3.9.rst:1429
msgid "``_Py_CheckRecursionLimit``"
msgstr "``_Py_CheckRecursionLimit`` ;"
#: whatsnew/3.9.rst:1430
msgid "``_Py_NewReference()``"
msgstr "``_Py_NewReference()`` ;"
#: whatsnew/3.9.rst:1431
msgid "``_Py_ForgetReference()``"
msgstr "``_Py_ForgetReference()`` ;"
#: whatsnew/3.9.rst:1432
msgid "``_PyTraceMalloc_NewReference()``"
msgstr "``_PyTraceMalloc_NewReference()`` ;"
#: whatsnew/3.9.rst:1433
msgid "``_Py_GetRefTotal()``"
msgstr "``_Py_GetRefTotal()`` ;"
#: whatsnew/3.9.rst:1434
msgid "The trashcan mechanism which never worked in the limited C API."
msgstr ""
"Le mécanisme *trashcan* qui n'a jamais fonctionné dans l'API C limité ;"
#: whatsnew/3.9.rst:1435
msgid "``PyTrash_UNWIND_LEVEL``"
msgstr "``PyTrash_UNWIND_LEVEL`` ;"
#: whatsnew/3.9.rst:1436
msgid "``Py_TRASHCAN_BEGIN_CONDITION``"
msgstr "``Py_TRASHCAN_BEGIN_CONDITION`` ;"
#: whatsnew/3.9.rst:1437
msgid "``Py_TRASHCAN_BEGIN``"
msgstr "``Py_TRASHCAN_BEGIN`` ;"
#: whatsnew/3.9.rst:1438
msgid "``Py_TRASHCAN_END``"
msgstr "``Py_TRASHCAN_END`` ;"
#: whatsnew/3.9.rst:1439
msgid "``Py_TRASHCAN_SAFE_BEGIN``"
msgstr "``Py_TRASHCAN_SAFE_BEGIN`` ;"
#: whatsnew/3.9.rst:1440
msgid "``Py_TRASHCAN_SAFE_END``"
msgstr "``Py_TRASHCAN_SAFE_END``."
#: whatsnew/3.9.rst:1442
msgid "Moved following functions and definitions to the internal C API:"
msgstr ""
"Migration des fonctions et définitions suivantes vers l'API C interne :"
#: whatsnew/3.9.rst:1444
msgid "``_PyDebug_PrintTotalRefs()``"
msgstr "``_PyDebug_PrintTotalRefs()`` ;"
#: whatsnew/3.9.rst:1445
msgid "``_Py_PrintReferences()``"
msgstr "``_Py_PrintReferences()`` ;"
#: whatsnew/3.9.rst:1446
msgid "``_Py_PrintReferenceAddresses()``"
msgstr "``_Py_PrintReferenceAddresses()`` ;"
#: whatsnew/3.9.rst:1447
msgid "``_Py_tracemalloc_config``"
msgstr "``_Py_tracemalloc_config`` ;"
#: whatsnew/3.9.rst:1448
msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)"
msgstr ""
"``_Py_AddToAllObjects()`` (spécifique aux compilations ``Py_TRACE_REFS``)."
#: whatsnew/3.9.rst:1452
msgid ""
"Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame`` "
"macro which was an alias to ``_PyRuntime.getframe``. They were only exposed "
"by the internal C API. Removed also ``PyThreadFrameGetter`` type. "
"(Contributed by Victor Stinner in :issue:`39946`.)"
msgstr ""
"Retrait de la fonction de rappel ``_PyRuntime.getframe`` et de la macro "
"``_PyThreadState_GetFrame`` qui était un alias pour ``_PyRuntime.getframe``. "
"Elles étaient exposées uniquement dans l'API C interne. Retrait aussi du "
"type ``PyThreadFrameGetter`` (contribution de *Victor Stinner* dans :issue:"
"`39946`)."
#: whatsnew/3.9.rst:1457
msgid ""
"Removed the following functions from the C API. Call :c:func:`PyGC_Collect` "
"explicitly to clear all free lists. (Contributed by Inada Naoki and Victor "
"Stinner in :issue:`37340`, :issue:`38896` and :issue:`40428`.)"
msgstr ""
"Retrait des fonctions suivantes de l'API C. Appelez :c:func:`PyGC_Collect` "
"explicitement pour vider toutes les *free lists* (contribution de *Inada "
"Naoki* et *Victor Stinner* dans :issue:`37340`, :issue:`38896` et :issue:"
"`40428`) :"
#: whatsnew/3.9.rst:1462
msgid "``PyAsyncGen_ClearFreeLists()``"
msgstr "``PyAsyncGen_ClearFreeLists()`` ;"
#: whatsnew/3.9.rst:1463
msgid "``PyContext_ClearFreeList()``"
msgstr "``PyContext_ClearFreeList()`` ;"
#: whatsnew/3.9.rst:1464
msgid "``PyDict_ClearFreeList()``"
msgstr "``PyDict_ClearFreeList()`` ;"
#: whatsnew/3.9.rst:1465
msgid "``PyFloat_ClearFreeList()``"
msgstr "``PyFloat_ClearFreeList()`` ;"
#: whatsnew/3.9.rst:1466
msgid "``PyFrame_ClearFreeList()``"
msgstr "``PyFrame_ClearFreeList()`` ;"
#: whatsnew/3.9.rst:1467
msgid "``PyList_ClearFreeList()``"
msgstr "``PyList_ClearFreeList()`` ;"
#: whatsnew/3.9.rst:1468
msgid ""
"``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free "
"lists of bound method objects have been removed."
msgstr ""
"``PyMethod_ClearFreeList()`` et ``PyCFunction_ClearFreeList()`` : les *free "
"lists* des objets méthode liées ont été retirées ;"
#: whatsnew/3.9.rst:1470
msgid ""
"``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4."
msgstr ""
"``PySet_ClearFreeList()`` : la *free list* des objets *sets* a été retirée "
"dans Python 3.4 ;"
#: whatsnew/3.9.rst:1472
msgid "``PyTuple_ClearFreeList()``"
msgstr "``PyTuple_ClearFreeList()`` ;"
#: whatsnew/3.9.rst:1473
msgid ""
"``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in "
"Python 3.3."
msgstr ""
"``PyUnicode_ClearFreeList()`` : la *free list* des objets Unicode a été "
"retirée dans Python 3.3."
#: whatsnew/3.9.rst:1476
msgid ""
"Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor "
"Stinner in :issue:`39465`.)"
msgstr ""
"Retrait de la fonction ``_PyUnicode_ClearStaticStrings()`` (contribution de "
"*Victor Stinner* dans :issue:`39465`)."
# Féminin puisque Py_UNICODE_MATCH est une macro.
#: whatsnew/3.9.rst:1479
msgid ""
"Removed ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and "
"broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be "
"used instead. (Contributed by Inada Naoki in :issue:`36346`.)"
msgstr ""
"Retrait de ``Py_UNICODE_MATCH``. Elle était devenue obsolète par :pep:`393`, "
"non-fonctionnelle depuis Python 3.3. La fonction :c:func:"
"`PyUnicode_Tailmatch` peut être utilisée à sa place (contribution de *Inada "
"Naoki* dans :issue:`36346`)."
#: whatsnew/3.9.rst:1484
msgid ""
"Cleaned header files of interfaces defined but with no implementation. The "
"public API symbols being removed are: "
"``_PyBytes_InsertThousandsGroupingLocale``, "
"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, "
"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, "
"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, "
"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, "
"``PyNoArgsFunction``. (Contributed by Pablo Galindo Salgado in :issue:"
"`39372`.)"
msgstr ""
"Nettoyage dans les fichiers d'en-têtes d'interfaces déclarées pour "
"lesquelles il n'y avait pas d'implémentation. Les symboles retirés de l'API "
"publique sont : ``_PyBytes_InsertThousandsGroupingLocale``, "
"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, "
"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, "
"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, "
"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, "
"``PyNoArgsFunction`` (contribution de *Pablo Galindo Salgado* dans :issue:"
"`39372`)."
#: whatsnew/3.9.rst:1495
msgid "Notable changes in Python 3.9.1"
msgstr "Changements importants dans Python 3.9.1"
#: whatsnew/3.9.rst:1500
msgid ""
"The behavior of :class:`typing.Literal` was changed to conform with :pep:"
"`586` and to match the behavior of static type checkers specified in the PEP."
msgstr ""
"Le comportement de :class:`typing.Literal` a été changé pour être conforme "
"avec :pep:`586` et pour avoir le comportement des vérificateurs de types "
"statique spécifiés dans le PEP :"
#: whatsnew/3.9.rst:1503
msgid "``Literal`` now de-duplicates parameters."
msgstr "``Literal`` de-duplique maintenant les paramètres ;"
#: whatsnew/3.9.rst:1504
msgid ""
"Equality comparisons between ``Literal`` objects are now order independent."
msgstr ""
"Les comparaisons d'égalité entre les objets ``Literal`` sont maintenant "
"indépendantes de l'ordre ;"
#: whatsnew/3.9.rst:1505
msgid ""
"``Literal`` comparisons now respect types. For example, ``Literal[0] == "
"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To "
"support this change, the internally used type cache now supports "
"differentiating types."
msgstr ""
"Les comparaisons des ``Literal`` respectent maintenant les types. Par "
"exemple, ``Literal[0] == Literal[False]`` évaluait précédemment à ``True``. "
"C'est maintenant ``False``. Pour gérer ce changement, le cache interne des "
"types utilisés peut maintenant différentier les types ;"
#: whatsnew/3.9.rst:1509
msgid ""
"``Literal`` objects will now raise a :exc:`TypeError` exception during "
"equality comparisons if any of their parameters are not :term:`hashable`. "
"Note that declaring ``Literal`` with mutable parameters will not throw an "
"error::"
msgstr ""
"Les objets ``Literal`` lèvent maintenant une exception :exc:`TypeError` lors "
"des comparaisons d'égalités si n'importe quel de leurs paramètres n'est pas :"
"term:`immuable <immutable>`. Prenez-note que déclarer un ``Literal`` avec un "
"paramètre muable ne lève pas une erreur ::"
#: whatsnew/3.9.rst:1521
msgid "(Contributed by Yurii Karabas in :issue:`42345`.)"
msgstr "(Contribution de *Yurii Karabas* dans :issue:`42345`.)"
#: whatsnew/3.9.rst:1524
msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support"
msgstr ""
"Prise en charge de *macOS* 11.0 (Big Sur) et de Mac sur processeur Apple"
#: whatsnew/3.9.rst:1526
msgid ""
"As of 3.9.1, Python now fully supports building and running on macOS 11.0 "
"(Big Sur) and on Apple Silicon Macs (based on the ``ARM64`` architecture). A "
"new universal build variant, ``universal2``, is now available to natively "
"support both ``ARM64`` and ``Intel 64`` in one set of executables. Binaries "
"can also now be built on current versions of macOS to be deployed on a range "
"of older macOS versions (tested to 10.9) while making some newer OS "
"functions and options conditionally available based on the operating system "
"version in use at runtime (\"weaklinking\")."
msgstr ""
"Depuis la version 3.9.1, Python est maintenant totalement compatible "
"(compilation et lancement) sur macOS 11.0 (*Big Sur*) et sur les Macs Apple "
"Silicon (basés sur l'architecture ``ARM64``). Un nouveau variant de *build*, "
"``universal2``, est maintenant disponible et supporte nativement les "
"plateformes ``ARM64`` et ``Intel 64`` en un seul jeu d'exécutables. Les "
"binaires peuvent aussi être compilés sur les versions actuelles de macOS "
"pour ensuite être déployés sur des versions antérieures (testé jusqu'à "
"10.9), tout en rendant de nouvelles fonctionnalités du système "
"d'exploitation disponibles en fonction de la version du système utilisée à "
"l'exécution (\"*weaklinking*\")."
#: whatsnew/3.9.rst:1535
msgid "(Contributed by Ronald Oussoren and Lawrence D'Anna in :issue:`41100`.)"
msgstr ""
"(contribution de *Ronald Oussoren* et *Lawrence D'Anna* dans :issue:`41100`)."
#: whatsnew/3.9.rst:1538
msgid "Notable changes in Python 3.9.2"
msgstr "Changements importants dans Python 3.9.2"
#: whatsnew/3.9.rst:1541
msgid "collections.abc"
msgstr "*collections.abc*"
#: whatsnew/3.9.rst:1543
msgid ""
":class:`collections.abc.Callable` generic now flattens type parameters, "
"similar to what :data:`typing.Callable` currently does. This means that "
"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of "
"``(int, str, str)``; previously this was ``([int, str], str)``. To allow "
"this change, :class:`types.GenericAlias` can now be subclassed, and a "
"subclass will be returned when subscripting the :class:`collections.abc."
"Callable` type. Code which accesses the arguments via :func:`typing."
"get_args` or ``__args__`` need to account for this change. A :exc:"
"`DeprecationWarning` may be emitted for invalid forms of parameterizing :"
"class:`collections.abc.Callable` which may have passed silently in Python "
"3.9.1. This :exc:`DeprecationWarning` will become a :exc:`TypeError` in "
"Python 3.10. (Contributed by Ken Jin in :issue:`42195`.)"
msgstr ""
#: whatsnew/3.9.rst:1557
msgid "urllib.parse"
msgstr "*urllib.parse*"
#: whatsnew/3.9.rst:1559
msgid ""
"Earlier Python versions allowed using both ``;`` and ``&`` as query "
"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib."
"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C "
"recommendations, this has been changed to allow only a single separator key, "
"with ``&`` as the default. This change also affects :func:`cgi.parse` and :"
"func:`cgi.parse_multipart` as they use the affected functions internally. "
"For more details, please see their respective documentation. (Contributed by "
"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)"
msgstr ""
"Les versions précédentes de Python acceptaient à la fois ``;`` et ``&`` "
"comme séparateurs des paramètres de requête dans :func:`urllib.parse."
"parse_qs` et :func:`urllib.parse.parse_qsl`. Pour des raisons de sécurité, "
"et pour être conforme aux nouvelles recommandations du W3C, ceci a été "
"changé pour ne permettre qu'une seule clé de séparation, avec ``&`` par "
"défaut. Ce changement affecte aussi :func:`cgi.parse` et :func:`cgi."
"parse_multipart` puisqu'elles utilisent les fonctions affectées à l'interne. "
"Pour plus de détails, voir leur documentation respective (contribution de "
"*Adam Goldschmidt*, *Senthil Kumaran* et *Ken Jin* dans :issue:`42967`)."
#~ msgid ""
#~ ":c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags`. "
#~ "Previously, it accessed directly the :c:member:`PyTypeObject.tp_flags` "
#~ "member when the limited C API was not used."
#~ msgstr ""
#~ "Maintenant, :c:func:`PyType_HasFeature` appelle toujours :c:func:"
#~ "`PyType_GetFlags`. Précédemment, elle accédait directement au membre :c:"
#~ "member:`PyTypeObject.tp_flags` quand l'API limité C n'était pas utilisé ;"
#~ msgid ""
#~ "This article explains the new features in Python 3.9, compared to 3.8."
#~ msgstr ""
#~ "Cet article explique les nouvelles fonctionnalités de Python 3.9 par "
#~ "rapport à la version 3.8."
#~ msgid ""
#~ "Prerelease users should be aware that this document is currently in draft "
#~ "form. It will be updated substantially as Python 3.9 moves towards "
#~ "release, so it's worth checking back even after reading earlier versions."
#~ msgstr ""
#~ "Les utilisateurs de la prépublication doivent savoir que ce document est "
#~ "actuellement à l'état de brouillon. Il sera mis à jour de manière "
#~ "substantielle au fur et à mesure que Python 3.9 se rapprochera de sa "
#~ "version finale, il est donc utile de le consulter même après avoir lu les "
#~ "versions précédentes."
#~ msgid ""
#~ "When Python 2.7 was still supported, many functions were kept for "
#~ "backward compatibility with Python 2.7. With the end of Python 2.7 "
#~ "support, these backward compatibility layers have been removed, or will "
#~ "be removed soon. Most of them emitted a :exc:`DeprecationWarning` warning "
#~ "for several years. For example, using ``collections.Mapping`` instead of "
#~ "``collections.abc.Mapping`` emits a :exc:`DeprecationWarning` since "
#~ "Python 3.3, released in 2012."
#~ msgstr ""
#~ "Lorsque Python 2.7 était encore supporté, de nombreuses fonctions ont été "
#~ "conservées pour assurer la rétrocompatibilité avec Python 2.7. Avec la "
#~ "fin du support de Python 2.7, ces couches de rétrocompatibilité ont été "
#~ "supprimées, ou le seront bientôt. La plupart d'entre elles ont émis un "
#~ "avertissement :exc:`DeprecationWarning` pendant plusieurs années. Par "
#~ "exemple, l'utilisation de ``collections.Mapping`` au lieu de "
#~ "``collections.abc.Mapping`` émet un :exc:`DeprecationWarning` depuis "
#~ "Python 3.3, sorti en 2012."
#~ msgid ""
#~ "It has been decided to keep a few backward compatibility layers for one "
#~ "last release, to give more time to Python projects maintainers to "
#~ "organize the removal of the Python 2 support and add support for Python "
#~ "3.9."
#~ msgstr ""
#~ "Il a été décidé de conserver quelques couches de compatibilité ascendante "
#~ "pour une dernière version, afin de donner plus de temps aux responsables "
#~ "des projets Python pour organiser la suppression du support de Python 2 "
#~ "et ajouter le support de Python 3.9."
#~ msgid ""
#~ "Merge (``|``) and update (``|=``) operators have been added to the built-"
#~ "in :class:`dict` class. See :pep:`584` for a full description. "
#~ "(Contributed by Brandt Bucher in :issue:`36144`.)"
#~ msgstr ""
#~ "Les opérateurs de fusion (``|``) et de mise à jour (``|=``) ont été "
#~ "ajoutés à la classe native :class:`dict`. Voir :pep:`584` pour une "
#~ "description complète (contribution de Brandt Bucher dans :issue:`36144`)."
#~ msgid "PEP 616: New removeprefix() and removesuffix() string methods"
#~ msgstr ""
#~ "PEP 616 : nouvelles méthodes de chaînes de caractères `removeprefix()` et "
#~ "`removesuffix()`"
#~ msgid "PEP 585: Builtin Generic Types"
#~ msgstr "PEP 585 : Types génériques natifs"
#~ msgid "PEP 617: New Parser"
#~ msgstr "PEP 617 : Nouvel analyseur syntaxique"