# 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: 2023-01-15 22:33+0100\n" "PO-Revision-Date: 2022-11-20 22:02+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \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 2.4.2\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 "Editor" msgstr "Éditeur" #: whatsnew/3.9.rst:5 msgid "Łukasz Langa" msgstr "Łukasz Langa" #: whatsnew/3.9.rst:45 #, fuzzy msgid "" "This article explains the new features in Python 3.9, compared to 3.8. " "Python 3.9 was released on October 5, 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:48 msgid "For full details, see the :ref:`changelog `." msgstr "Pour plus de détails, voir le :ref:`changelog `." #: whatsnew/3.9.rst:52 msgid ":pep:`596` - Python 3.9 Release Schedule" msgstr ":pep:`596` – Calendrier de sortie de Python 3.9" #: whatsnew/3.9.rst:56 msgid "Summary -- Release highlights" msgstr "Résumé – Points marquants de cette version" #: whatsnew/3.9.rst:61 msgid "New syntax features:" msgstr "Nouvelles fonctionnalités de syntaxe :" #: whatsnew/3.9.rst:63 msgid ":pep:`584`, union operators added to ``dict``;" msgstr ":pep:`584`, ajout de l'opérateur d'union à ``dict`` ;" #: whatsnew/3.9.rst:64 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:65 msgid ":pep:`614`, relaxed grammar restrictions on decorators." msgstr "" ":pep:`614`, restrictions grammaticales assouplies pour les décorateurs." #: whatsnew/3.9.rst:67 msgid "New built-in features:" msgstr "Nouvelles fonctionnalités natives :" #: whatsnew/3.9.rst:69 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:71 msgid "New features in the standard library:" msgstr "Nouvelles fonctionnalités dans la bibliothèque standard :" #: whatsnew/3.9.rst:73 msgid ":pep:`593`, flexible function and variable annotations;" msgstr "" ":pep:`593`, annotations flexibles pour les fonctions et les variables ;" #: whatsnew/3.9.rst:74 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:77 msgid "Interpreter improvements:" msgstr "Améliorations de l'interpréteur :" #: whatsnew/3.9.rst:79 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:81 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:82 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:84 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:85 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:90 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:95 msgid "New library modules:" msgstr "Nouveaux modules de la bibliothèque :" #: whatsnew/3.9.rst:97 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:99 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:102 msgid "Release process changes:" msgstr "Changements aux procédures de publication :" #: whatsnew/3.9.rst:104 msgid ":pep:`602`, CPython adopts an annual release cycle." msgstr ":pep:`602`, CPython adopte un cycle annuel de publications." #: whatsnew/3.9.rst:108 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:110 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:118 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 ` 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 ` peut être utilisé pour ignorer les avertissements provenant de code " "de tierces parties." #: whatsnew/3.9.rst:123 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:127 msgid "" "Aliases to :ref:`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 ` 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:132 msgid "" "More generally, try to run your tests in the :ref:`Python Development Mode " "` 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 ` 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:136 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:1274 msgid "New Features" msgstr "Nouvelles fonctionnalités" #: whatsnew/3.9.rst:144 msgid "Dictionary Merge & Update Operators" msgstr "Opérateurs de fusion et de mise à jour de dictionnaires" #: whatsnew/3.9.rst:146 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:283 msgid "Example::" msgstr "Exemple ::" #: whatsnew/3.9.rst:159 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:163 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:165 msgid "" ":meth:`str.removeprefix(prefix)` and :meth:`str." "removesuffix(suffix)` 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)` et :meth:`str." "removesuffix(suffixe)` 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:173 msgid "Type Hinting Generics in Standard Collections" msgstr "Indication des types paramétrables dans les collections natives" #: whatsnew/3.9.rst:175 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:1162 msgid "Example:" msgstr "Exemple :" #: whatsnew/3.9.rst:189 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:193 msgid "New Parser" msgstr "Nouvel analyseur syntaxique" #: whatsnew/3.9.rst:195 msgid "" "Python 3.9 uses a new parser, based on `PEG `_ instead of `LL(1) `_. 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 `_ au lieu de `LL(1) `_. 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:203 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:206 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:212 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:217 msgid "Other Language Changes" msgstr "Autres changements au langage" #: whatsnew/3.9.rst:219 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:224 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:232 msgid "" "In the :ref:`Python Development Mode ` and in :ref:`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 ` et dans les :ref:" "`compilations en mode débogage `, 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:237 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:242 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:247 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:251 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:257 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:262 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:268 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:274 msgid "New Modules" msgstr "Nouveaux modules" #: whatsnew/3.9.rst:277 msgid "zoneinfo" msgstr "*zoneinfo*" #: whatsnew/3.9.rst:279 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:303 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:312 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:313 msgid "PEP written and implemented by Paul Ganssle" msgstr "PEP écrit et implémenté par *Paul Ganssle*" #: whatsnew/3.9.rst:317 msgid "graphlib" msgstr "*graphlib*" #: whatsnew/3.9.rst:319 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:326 msgid "Improved Modules" msgstr "Modules améliorés" #: whatsnew/3.9.rst:329 msgid "ast" msgstr "*ast*" #: whatsnew/3.9.rst:331 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:335 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:340 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:344 msgid "asyncio" msgstr "*asyncio*" #: whatsnew/3.9.rst:346 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:353 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:359 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:362 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:368 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:373 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:378 msgid "compileall" msgstr "*compileall*" #: whatsnew/3.9.rst:380 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:383 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:388 msgid "concurrent.futures" msgstr "*concurrent.futures*" #: whatsnew/3.9.rst:390 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:396 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:401 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:407 msgid "curses" msgstr "*curses*" #: whatsnew/3.9.rst:409 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:414 msgid "datetime" msgstr "*datetime*" #: whatsnew/3.9.rst:415 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:421 msgid "distutils" msgstr "*distutils*" #: whatsnew/3.9.rst:423 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:428 msgid "fcntl" msgstr "*fcntl*" #: whatsnew/3.9.rst:430 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:435 msgid "ftplib" msgstr "*ftplib*" #: whatsnew/3.9.rst:437 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:442 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:444 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:449 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:454 msgid "hashlib" msgstr "*hashlib*" #: whatsnew/3.9.rst:456 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:460 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:468 msgid "http" msgstr "*http*" #: whatsnew/3.9.rst:470 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:474 msgid "IDLE and idlelib" msgstr "*IDLE* et *idlelib*" #: whatsnew/3.9.rst:476 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:479 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:482 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:485 msgid "New in 3.9 maintenance releases" msgstr "" #: whatsnew/3.9.rst:487 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:491 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:493 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:501 msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" msgstr "" #: whatsnew/3.9.rst:505 msgid "imaplib" msgstr "*imaplib*" #: whatsnew/3.9.rst:507 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:514 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:522 msgid "importlib" msgstr "*importlib*" #: whatsnew/3.9.rst:524 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:529 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:533 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:538 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:541 msgid "inspect" msgstr "*inspect*" #: whatsnew/3.9.rst:543 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:547 msgid "ipaddress" msgstr "*ipaddress*" #: whatsnew/3.9.rst:549 msgid "" ":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " "suffix ``%``)." msgstr "" ":mod:`ipaddress` prend désormais en charge les IPv6 avec une portée " "spécifiée (adresses IPv6 avec un suffixe ``%``)." #: whatsnew/3.9.rst:551 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:555 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:560 msgid "math" msgstr "*math*" #: whatsnew/3.9.rst:562 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:566 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:570 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:574 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:579 msgid "multiprocessing" msgstr "*multiprocessing*" #: whatsnew/3.9.rst:581 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:587 msgid "nntplib" msgstr "*nntplib*" #: whatsnew/3.9.rst:589 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:594 msgid "os" msgstr "*os*" #: whatsnew/3.9.rst:596 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:599 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:603 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:606 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:610 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:615 msgid "pathlib" msgstr "*pathlib*" #: whatsnew/3.9.rst:617 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:622 msgid "pdb" msgstr "*pdb*" #: whatsnew/3.9.rst:624 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:628 msgid "poplib" msgstr "*poplib*" #: whatsnew/3.9.rst:630 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:635 msgid "pprint" msgstr "*pprint*" #: whatsnew/3.9.rst:637 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:641 msgid "pydoc" msgstr "*pydoc*" #: whatsnew/3.9.rst:643 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:648 msgid "random" msgstr "*random*" #: whatsnew/3.9.rst:650 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:654 msgid "signal" msgstr "*signal*" #: whatsnew/3.9.rst:656 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:660 msgid "smtplib" msgstr "*smtplib*" #: whatsnew/3.9.rst:662 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:666 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:670 msgid "socket" msgstr "*socket*" #: whatsnew/3.9.rst:672 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:676 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:679 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:685 msgid "time" msgstr "*time*" #: whatsnew/3.9.rst:687 #, 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:693 msgid "sys" msgstr "*sys*" #: whatsnew/3.9.rst:695 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:701 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:706 msgid "tracemalloc" msgstr "*tracemalloc*" #: whatsnew/3.9.rst:708 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:1496 msgid "typing" msgstr "*typing*" #: whatsnew/3.9.rst:715 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:721 msgid "unicodedata" msgstr "*unicodedata*" #: whatsnew/3.9.rst:723 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:726 msgid "venv" msgstr "*venv*" #: whatsnew/3.9.rst:728 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:736 msgid "xml" msgstr "*xml*" #: whatsnew/3.9.rst:738 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:746 msgid "Optimizations" msgstr "Optimisations" #: whatsnew/3.9.rst:748 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:752 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:754 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:757 msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" msgstr "(contribution de *Serhiy Storchaka* dans :issue:`32856`)." #: whatsnew/3.9.rst:759 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:765 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:769 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:773 #, fuzzy msgid "" ":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " "into :c:expr:`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:777 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:782 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:786 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:792 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 ` 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:796 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:799 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:846 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 `_ running the macOS 64-bit builds found at `python.org `_." 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 `_ roulant la compilation *macOS* 64-" "bit disponible sur `python.org `_." #: whatsnew/3.9.rst:856 msgid "Deprecated" msgstr "Obsolescence" #: whatsnew/3.9.rst:858 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:862 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:868 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:873 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:878 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:884 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:890 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:896 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:901 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:905 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:908 msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" msgstr ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" #: whatsnew/3.9.rst:909 msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" msgstr ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" #: whatsnew/3.9.rst:911 msgid "(Contributed by Victor Stinner in :issue:`39353`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`39353`)." #: whatsnew/3.9.rst:913 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:919 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:926 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:932 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:935 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:938 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:946 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:1410 msgid "Removed" msgstr "Retraits" #: whatsnew/3.9.rst:957 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:959 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:966 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:971 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:976 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:981 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:985 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:989 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:994 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:999 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:1007 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:1013 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:1018 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:1023 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:1027 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:1032 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:1037 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:1042 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:1048 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:1053 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:1057 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:1062 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:1336 msgid "Porting to Python 3.9" msgstr "Portage vers Python 3.9" #: whatsnew/3.9.rst:1071 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:1076 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" #: whatsnew/3.9.rst:1078 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:1083 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:1086 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:1090 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:1094 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 l'indiçage. Les indices simples sont " "représentés par leur valeur, les tranches étendues sont 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:1100 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:1104 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:1108 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:1113 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:1118 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:1123 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:1130 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:1136 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:1144 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:1152 msgid "Changes in the C API" msgstr "Changements dans l'API C" #: whatsnew/3.9.rst:1154 msgid "" "Instances of :ref:`heap-allocated 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 ` (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:1175 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 ` 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 ` doivent visiter leur type dans ``tp_traverse``." #: whatsnew/3.9.rst:1180 msgid "For example, if your ``tp_traverse`` function includes:" msgstr "Par exemple, si votre fonction ``tp_traverse`` inclut :" #: whatsnew/3.9.rst:1186 msgid "then add:" msgstr "alors ajoutez :" #: whatsnew/3.9.rst:1199 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:1201 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:1207 msgid "CPython bytecode changes" msgstr "Changements au code intermédiaire CPython" #: whatsnew/3.9.rst:1209 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:1214 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:1216 msgid "``COMPARE_OP`` for rich comparisons" msgstr "``COMPARE_OP`` pour les comparaisons avancées ;" #: whatsnew/3.9.rst:1217 msgid "``IS_OP`` for 'is' and 'is not' tests" msgstr "``IS_OP`` pour les tests *is* et *is not* ;" #: whatsnew/3.9.rst:1218 msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" msgstr "``CONTAINS_OP`` pour les tests *in* et *not in* ;" #: whatsnew/3.9.rst:1219 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:1222 msgid "(Contributed by Mark Shannon in :issue:`39156`.)" msgstr "(contribution de *Mark Shannon* dans :issue:`39156`)." #: whatsnew/3.9.rst:1226 msgid "Build Changes" msgstr "Changements à la compilation" #: whatsnew/3.9.rst:1228 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:1234 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:1237 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:1241 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:1244 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:1253 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:1256 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:1271 msgid "C API Changes" msgstr "Changements à l'API C" #: whatsnew/3.9.rst:1276 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:1283 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:1287 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:1290 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:1298 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:1421 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:1305 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:1311 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:1448 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:1316 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:1320 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:1326 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:1330 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:1338 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:1342 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:1351 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:1353 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:1359 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:1364 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:1368 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:1372 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:1379 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:1384 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:1387 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:1389 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:1391 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:1396 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:1400 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:1403 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:1407 msgid "(See :issue:`40170` for more details.)" msgstr "(Voir :issue:`40170` pour plus de détails.)" #: whatsnew/3.9.rst:1412 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:1416 msgid "" "The ``tp_print`` slot of :ref:`PyTypeObject ` 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 ` 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:1423 msgid "Excluded the following functions from the limited C API:" msgstr "Exclusion des fonctions suivantes de l'API C limité :" #: whatsnew/3.9.rst:1425 msgid "" "``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:" "`37878`.)" msgstr "" "``PyThreadState_DeleteCurrent()`` (contribution de *Joannah Nanjekye* dans :" "issue:`37878`) ;" #: whatsnew/3.9.rst:1427 msgid "``_Py_CheckRecursionLimit``" msgstr "``_Py_CheckRecursionLimit`` ;" #: whatsnew/3.9.rst:1428 msgid "``_Py_NewReference()``" msgstr "``_Py_NewReference()`` ;" #: whatsnew/3.9.rst:1429 msgid "``_Py_ForgetReference()``" msgstr "``_Py_ForgetReference()`` ;" #: whatsnew/3.9.rst:1430 msgid "``_PyTraceMalloc_NewReference()``" msgstr "``_PyTraceMalloc_NewReference()`` ;" #: whatsnew/3.9.rst:1431 msgid "``_Py_GetRefTotal()``" msgstr "``_Py_GetRefTotal()`` ;" #: whatsnew/3.9.rst:1432 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:1433 msgid "``PyTrash_UNWIND_LEVEL``" msgstr "``PyTrash_UNWIND_LEVEL`` ;" #: whatsnew/3.9.rst:1434 msgid "``Py_TRASHCAN_BEGIN_CONDITION``" msgstr "``Py_TRASHCAN_BEGIN_CONDITION`` ;" #: whatsnew/3.9.rst:1435 msgid "``Py_TRASHCAN_BEGIN``" msgstr "``Py_TRASHCAN_BEGIN`` ;" #: whatsnew/3.9.rst:1436 msgid "``Py_TRASHCAN_END``" msgstr "``Py_TRASHCAN_END`` ;" #: whatsnew/3.9.rst:1437 msgid "``Py_TRASHCAN_SAFE_BEGIN``" msgstr "``Py_TRASHCAN_SAFE_BEGIN`` ;" #: whatsnew/3.9.rst:1438 msgid "``Py_TRASHCAN_SAFE_END``" msgstr "``Py_TRASHCAN_SAFE_END``." #: whatsnew/3.9.rst:1440 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:1442 msgid "``_PyDebug_PrintTotalRefs()``" msgstr "``_PyDebug_PrintTotalRefs()`` ;" #: whatsnew/3.9.rst:1443 msgid "``_Py_PrintReferences()``" msgstr "``_Py_PrintReferences()`` ;" #: whatsnew/3.9.rst:1444 msgid "``_Py_PrintReferenceAddresses()``" msgstr "``_Py_PrintReferenceAddresses()`` ;" #: whatsnew/3.9.rst:1445 msgid "``_Py_tracemalloc_config``" msgstr "``_Py_tracemalloc_config`` ;" #: whatsnew/3.9.rst:1446 msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)" msgstr "" "``_Py_AddToAllObjects()`` (spécifique aux compilations ``Py_TRACE_REFS``)." #: whatsnew/3.9.rst:1450 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:1455 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:1460 msgid "``PyAsyncGen_ClearFreeLists()``" msgstr "``PyAsyncGen_ClearFreeLists()`` ;" #: whatsnew/3.9.rst:1461 msgid "``PyContext_ClearFreeList()``" msgstr "``PyContext_ClearFreeList()`` ;" #: whatsnew/3.9.rst:1462 msgid "``PyDict_ClearFreeList()``" msgstr "``PyDict_ClearFreeList()`` ;" #: whatsnew/3.9.rst:1463 msgid "``PyFloat_ClearFreeList()``" msgstr "``PyFloat_ClearFreeList()`` ;" #: whatsnew/3.9.rst:1464 msgid "``PyFrame_ClearFreeList()``" msgstr "``PyFrame_ClearFreeList()`` ;" #: whatsnew/3.9.rst:1465 msgid "``PyList_ClearFreeList()``" msgstr "``PyList_ClearFreeList()`` ;" #: whatsnew/3.9.rst:1466 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:1468 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:1470 msgid "``PyTuple_ClearFreeList()``" msgstr "``PyTuple_ClearFreeList()`` ;" #: whatsnew/3.9.rst:1471 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:1474 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:1477 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:1482 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:1493 msgid "Notable changes in Python 3.9.1" msgstr "Changements importants dans Python 3.9.1" #: whatsnew/3.9.rst:1498 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:1501 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` de-duplique maintenant les paramètres ;" #: whatsnew/3.9.rst:1502 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:1503 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:1507 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 `. Prenez-note que déclarer un ``Literal`` avec un " "paramètre muable ne lève pas une erreur ::" #: whatsnew/3.9.rst:1519 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(Contribution de *Yurii Karabas* dans :issue:`42345`.)" #: whatsnew/3.9.rst:1522 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:1524 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:1533 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:1536 msgid "Notable changes in Python 3.9.2" msgstr "Changements importants dans Python 3.9.2" #: whatsnew/3.9.rst:1539 msgid "collections.abc" msgstr "*collections.abc*" #: whatsnew/3.9.rst:1541 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:1555 msgid "urllib.parse" msgstr "*urllib.parse*" #: whatsnew/3.9.rst:1557 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 "Release" #~ msgstr "Version" #~ msgid "|release|" #~ msgstr "|release|" #~ msgid "Date" #~ msgstr "Date" #~ msgid "|today|" #~ msgstr "|today|" #~ 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"