# 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 d’obsolescence 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 lorsqu’un 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 l’implé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 d’environnement :"
"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"
