# 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-07-23 14:38+0200\n"
"PO-Revision-Date: 2022-10-18 12:23+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0.1\n"

#: whatsnew/3.10.rst:3
msgid "What's New In Python 3.10"
msgstr "Les nouveautés de Python 3.10"

#: whatsnew/3.10.rst:0
msgid "Editor"
msgstr "Rédacteur"

#: whatsnew/3.10.rst:5
msgid "Pablo Galindo Salgado"
msgstr "*Pablo Galindo Salgado*"

#: whatsnew/3.10.rst:47
msgid ""
"This article explains the new features in Python 3.10, compared to 3.9. "
"Python 3.10 was released on October 4, 2021. For full details, see the :ref:"
"`changelog <changelog>`."
msgstr ""

#: whatsnew/3.10.rst:52
msgid "Summary -- Release highlights"
msgstr "Résumé – Points forts de la publication"

#: whatsnew/3.10.rst:60
msgid "New syntax features:"
msgstr "Nouvelles fonctionnalités de syntaxe :"

#: whatsnew/3.10.rst:62
msgid ":pep:`634`, Structural Pattern Matching: Specification"
msgstr ":pep:`634`, Filtrage par motifs structurels : spécification ;"

#: whatsnew/3.10.rst:63
msgid ":pep:`635`, Structural Pattern Matching: Motivation and Rationale"
msgstr ""
":pep:`635`, Filtrage par motifs structurels : motivation et justification ;"

#: whatsnew/3.10.rst:64
msgid ":pep:`636`, Structural Pattern Matching: Tutorial"
msgstr ":pep:`636`, Filtrage par motifs structurels : tutoriel ;"

#: whatsnew/3.10.rst:65
msgid ""
":issue:`12782`, Parenthesized context managers are now officially allowed."
msgstr ""
":issue:`12782`, Les gestionnaires de contextes entre parenthèses sont "
"maintenant autorisés."

#: whatsnew/3.10.rst:67
msgid "New features in the standard library:"
msgstr "Nouvelles fonctionnalités dans la bibliothèque standard :"

#: whatsnew/3.10.rst:69
msgid ":pep:`618`, Add Optional Length-Checking To zip."
msgstr ""
":pep:`618`, ajout de la vérification optionnelle de taille dans ``zip``."

#: whatsnew/3.10.rst:71
msgid "Interpreter improvements:"
msgstr "Améliorations de l'interpréteur :"

#: whatsnew/3.10.rst:73
msgid ":pep:`626`, Precise line numbers for debugging and other tools."
msgstr ""
":pep:`626`, numéros de lignes précis pour le débogage et les autres outils."

#: whatsnew/3.10.rst:75
msgid "New typing features:"
msgstr "Nouvelles fonctionnalités de typage :"

#: whatsnew/3.10.rst:77
msgid ":pep:`604`, Allow writing union types as X | Y"
msgstr ":pep:`604`, autorise l'écriture d'union de types sous la forme X | Y ;"

#: whatsnew/3.10.rst:78
msgid ":pep:`612`, Parameter Specification Variables"
msgstr ":pep:`612`, variables de spécification de paramètres."

#: whatsnew/3.10.rst:79
msgid ":pep:`613`, Explicit Type Aliases"
msgstr ":pep:`613`, alias de types explicites ;"

#: whatsnew/3.10.rst:80
#, fuzzy
msgid ":pep:`647`, User-Defined Type Guards"
msgstr "PEP 647 : gardes de type définies par l'utilisateur"

#: whatsnew/3.10.rst:82
msgid "Important deprecations, removals or restrictions:"
msgstr "Obsolescences, retraits ou restrictions :"

#: whatsnew/3.10.rst:84
msgid ":pep:`644`, Require OpenSSL 1.1.1 or newer"
msgstr ":pep:`644`, mise à jour de la version minimale d'*OpenSSL* à 1.1.1 ;"

#: whatsnew/3.10.rst:85
msgid ":pep:`632`, Deprecate distutils module."
msgstr ":pep:`632`, obsolescence du module ``distutils`` ;"

#: whatsnew/3.10.rst:86
msgid ""
":pep:`623`, Deprecate and prepare for the removal of the wstr member in "
"PyUnicodeObject."
msgstr ""
":pep:`623`, obsolescence et préparation du retrait du membre ``wstr`` de "
"``PyUnicodeObject`` ;"

#: whatsnew/3.10.rst:87
msgid ":pep:`624`, Remove Py_UNICODE encoder APIs"
msgstr ":pep:`624`, retrait des API d'encodage ``Py_UNICODE`` ;"

#: whatsnew/3.10.rst:88
msgid ":pep:`597`, Add optional EncodingWarning"
msgstr ":pep:`597`, ajout de l'``EncodingWarning`` optionnel"

#: whatsnew/3.10.rst:2041
msgid "New Features"
msgstr "Nouvelles fonctionnalités"

#: whatsnew/3.10.rst:97
msgid "Parenthesized context managers"
msgstr "Gestionnaires de contextes entre parenthèses"

#: whatsnew/3.10.rst:99
msgid ""
"Using enclosing parentheses for continuation across multiple lines in "
"context managers is now supported. This allows formatting a long collection "
"of context managers in multiple lines in a similar way as it was previously "
"possible with import statements. For instance, all these examples are now "
"valid:"
msgstr ""
"Il est maintenant possible de mettre les gestionnaires de contexte entre "
"parenthèses pour les répartir sur plusieurs lignes. Ceci permet le formatage "
"d'une longue série de gestionnaires de contexte sur plusieurs lignes comme "
"ce qui était préalablement possible avec les instructions d'importation. Par "
"exemple, tous ces blocs sont maintenant valides :"

#: whatsnew/3.10.rst:130
msgid ""
"it is also possible to use a trailing comma at the end of the enclosed group:"
msgstr ""
"il est aussi possible d'utiliser une virgule en fin de ligne à la fin du "
"groupe entre parenthèses :"

#: whatsnew/3.10.rst:142
msgid ""
"This new syntax uses the non LL(1) capacities of the new parser. Check :pep:"
"`617` for more details."
msgstr ""
"Cette nouvelle syntaxe utilise la capacité *non-LL(1)* du nouvel analyseur "
"syntaxique. Voir :pep:`617` pour plus de détails."

#: whatsnew/3.10.rst:145
msgid ""
"(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in :"
"issue:`12782` and :issue:`40334`.)"
msgstr ""
"(contribution de *Guido van Rossum*, *Pablo Galindo* et *Lysandros Nikolaou* "
"dans :issue:`12782` et :issue:`40334`)."

#: whatsnew/3.10.rst:150
msgid "Better error messages"
msgstr "Meilleurs messages d'erreurs"

#: whatsnew/3.10.rst:153
msgid "SyntaxErrors"
msgstr "``SyntaxError``"

#: whatsnew/3.10.rst:155
msgid ""
"When parsing code that contains unclosed parentheses or brackets the "
"interpreter now includes the location of the unclosed bracket of parentheses "
"instead of displaying *SyntaxError: unexpected EOF while parsing* or "
"pointing to some incorrect location. For instance, consider the following "
"code (notice the unclosed '{'):"
msgstr ""
"Pendant l'analyse syntaxique de code qui contient des parenthèses ou autres "
"balises ouvrantes et fermantes, l'interpréteur inclut maintenant "
"l'emplacement de la balise ou parenthèse non fermée plutôt que d'afficher "
"*SyntaxError: unexpected EOF while parsing* ou d'indiquer un emplacement "
"incorrect. Par exemple, considérez le code suivant (remarquez l'accolade "
"``'{'`` non-fermée) :"

#: whatsnew/3.10.rst:166
msgid ""
"Previous versions of the interpreter reported confusing places as the "
"location of the syntax error:"
msgstr ""
"Les versions précédentes de l’interpréteur indiquaient des emplacements qui "
"portaient à confusion pour l'erreur de syntaxe :"

#: whatsnew/3.10.rst:176
msgid "but in Python 3.10 a more informative error is emitted:"
msgstr "mais dans Python 3.10, une erreur plus informative est levée :"

#: whatsnew/3.10.rst:186
msgid ""
"In a similar way, errors involving unclosed string literals (single and "
"triple quoted) now point to the start of the string instead of reporting EOF/"
"EOL."
msgstr ""
"De façon similaire, les erreurs impliquant des chaînes littérales non-"
"fermées (avec simples ou triples apostrophes) pointent maintenant vers le "
"début de la chaîne plutôt de mentionner la fin de ligne ou la fin du fichier."

#: whatsnew/3.10.rst:189
msgid ""
"These improvements are inspired by previous work in the PyPy interpreter."
msgstr ""
"Ces améliorations sont inspirées par un travail préalable sur l'interpréteur "
"*PyPy*"

#: whatsnew/3.10.rst:191
msgid ""
"(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :"
"issue:`40176`.)"
msgstr ""
"(contribution de *Pablo Galindo* dans :issue:`42864` et *Batuhan Taskaya* "
"dans :issue:`40176`)."

#: whatsnew/3.10.rst:194
msgid ""
":exc:`SyntaxError` exceptions raised by the interpreter will now highlight "
"the full error range of the expression that constitutes the syntax error "
"itself, instead of just where the problem is detected. In this way, instead "
"of displaying (before Python 3.10):"
msgstr ""
"Les exceptions :exc:`SyntaxError` levées par l'interpréteur soulignent "
"maintenant toute la portée de l'expression qui constitue l'erreur de syntaxe "
"plutôt que seulement la position où le problème a été détecté. De cette "
"façon, plutôt que d'afficher (avant Python 3.10) :"

#: whatsnew/3.10.rst:207
msgid "now Python 3.10 will display the exception as:"
msgstr "Python 3.10 affiche maintenant l'exception comme ceci :"

#: whatsnew/3.10.rst:217
msgid "This improvement was contributed by Pablo Galindo in :issue:`43914`."
msgstr ""
"Cette amélioration est une contribution de *Pablo Galindo* dans :issue:"
"`43914`."

#: whatsnew/3.10.rst:219
msgid ""
"A considerable amount of new specialized messages for :exc:`SyntaxError` "
"exceptions have been incorporated. Some of the most notable ones are as "
"follows:"
msgstr ""
"Un nombre considérable de nouveaux messages spécialisés pour les exceptions :"
"exc:`SyntaxError` a été incorporé. Certains des plus notables sont :"

#: whatsnew/3.10.rst:222
msgid "Missing ``:`` before blocks:"
msgstr "``:`` manquant avant les blocs :"

#: whatsnew/3.10.rst:232
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`42997`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`42997`) ;"

#: whatsnew/3.10.rst:234
msgid "Unparenthesised tuples in comprehensions targets:"
msgstr "Les *n*-uplets sans parenthèses dans les cibles de compréhensions :"

#: whatsnew/3.10.rst:244
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`43017`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`43017`) ;"

#: whatsnew/3.10.rst:246
msgid "Missing commas in collection literals and between expressions:"
msgstr ""
"virgules manquantes dans les littéraux de collections et entre les "
"expressions ; :"

#: whatsnew/3.10.rst:259
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`43822`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`43822`) ;"

#: whatsnew/3.10.rst:261
msgid "Multiple Exception types without parentheses:"
msgstr "types multiples d'``Exception`` sans parenthèses :"

#: whatsnew/3.10.rst:273
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`43149`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`43149`) ;"

#: whatsnew/3.10.rst:275
msgid "Missing ``:`` and values in dictionary literals:"
msgstr "``:`` et valeurs manquantes dans les littéraux de dictionnaires :"

#: whatsnew/3.10.rst:295
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`43823`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`43823`) ;"

#: whatsnew/3.10.rst:297
msgid "``try`` blocks without ``except`` or ``finally`` blocks:"
msgstr "blocs ``try`` sans blocs ``except`` ou ``finally`` :"

#: whatsnew/3.10.rst:309
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`44305`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`44305`) ;"

#: whatsnew/3.10.rst:311
msgid "Usage of ``=`` instead of ``==`` in comparisons:"
msgstr "utilisation de ``=`` au lieu de ``==`` dans les comparaisons :"

#: whatsnew/3.10.rst:321
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`43797`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`43797`)"

#: whatsnew/3.10.rst:323
msgid "Usage of ``*`` in f-strings:"
msgstr "utilisation de ``*`` dans les chaînes formatées (*f-strings*) :"

#: whatsnew/3.10.rst:333
#, fuzzy
msgid "(Contributed by Pablo Galindo in :issue:`41064`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`41064`)."

#: whatsnew/3.10.rst:336
msgid "IndentationErrors"
msgstr "``IndentationError``"

#: whatsnew/3.10.rst:338
msgid ""
"Many :exc:`IndentationError` exceptions now have more context regarding what "
"kind of block was expecting an indentation, including the location of the "
"statement:"
msgstr ""
"Plusieurs exceptions :exc:`IndentationError` ont maintenant plus de contexte "
"concernant le genre de bloc qui attendait une indentation. Ceci inclut "
"l'emplacement de l'instruction :"

#: whatsnew/3.10.rst:353
msgid "AttributeErrors"
msgstr "``AttributeError``"

#: whatsnew/3.10.rst:355
msgid ""
"When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer "
"suggestions of similar attribute names in the object that the exception was "
"raised from:"
msgstr ""
"À l'impression d'une :exc:`AttributeError`, :c:func:`PyErr_Display` offre "
"des suggestions de noms d'attributs similaires dans l'objet pour lequel "
"l'exception a été levée :"

#: whatsnew/3.10.rst:388
msgid "(Contributed by Pablo Galindo in :issue:`38530`.)"
msgstr "(contribution de *Pablo Galindo* dans :issue:`38530`)."

#: whatsnew/3.10.rst:369
msgid ""
"Notice this won't work if :c:func:`PyErr_Display` is not called to display "
"the error which can happen if some other custom error display function is "
"used. This is a common scenario in some REPLs like IPython."
msgstr ""
"notez que ceci ne fonctionne pas si :c:func:`PyErr_Display` n'est pas "
"appelée pour afficher l'erreur, ce qui est le cas si une fonction "
"d'affichage d'erreur personnalisée est utilisée. C'est un scénario typique "
"avec certains interpréteurs interactifs comme *IPython*."

#: whatsnew/3.10.rst:374
msgid "NameErrors"
msgstr "``NameError``"

#: whatsnew/3.10.rst:376
msgid ""
"When printing :exc:`NameError` raised by the interpreter, :c:func:"
"`PyErr_Display` will offer suggestions of similar variable names in the "
"function that the exception was raised from:"
msgstr ""
"Quand elle affiche une :exc:`NameError` levée par l'interpréteur, :c:func:"
"`PyErr_Display` offre des suggestions de variables qui ont un nom similaire "
"dans la fonction de laquelle l’exception a été levée :"

#: whatsnew/3.10.rst:391
msgid ""
"Notice this won't work if :c:func:`PyErr_Display` is not called to display "
"the error, which can happen if some other custom error display function is "
"used. This is a common scenario in some REPLs like IPython."
msgstr ""
"notez que ceci ne fonctionne pas si :c:func:`PyErr_Display` n'est pas "
"appelée pour afficher l'erreur, ce qui est le cas si une fonction "
"d'affichage d'erreur personnalisée est utilisée. C'est un scénario typique "
"avec certains interpréteurs interactifs comme *IPython*."

#: whatsnew/3.10.rst:397
msgid "PEP 626: Precise line numbers for debugging and other tools"
msgstr ""
"PEP 626 : numéros de lignes précis pour le débogage et les autres outils"

#: whatsnew/3.10.rst:399
msgid ""
"PEP 626 brings more precise and reliable line numbers for debugging, "
"profiling and coverage tools. Tracing events, with the correct line number, "
"are generated for all lines of code executed and only for lines of code that "
"are executed."
msgstr ""
"La PEP 626 apporte des numéros de lignes plus précis pour le débogage, le "
"profilage et les outils de mesure de couverture. Les événements de traçage, "
"avec les numéros de ligne corrects, sont générés pour toutes les lignes de "
"code exécutées et seulement pour celles-ci."

#: whatsnew/3.10.rst:402
msgid ""
"The ``f_lineno`` attribute of frame objects will always contain the expected "
"line number."
msgstr ""
"L'attribut ``f_lineno`` des objets cadres contient dorénavant le numéro de "
"ligne attendu."

#: whatsnew/3.10.rst:404
msgid ""
"The ``co_lnotab`` attribute of code objects is deprecated and will be "
"removed in 3.12. Code that needs to convert from offset to line number "
"should use the new ``co_lines()`` method instead."
msgstr ""
"L'attribut ``co_lnotab`` des objets code est obsolète et sera retiré dans "
"3.12. Tout code qui doit convertir d'un décalage (*offset*) vers des numéros "
"de ligne doit plutôt utiliser la nouvelle méthode ``co_lines()``."

#: whatsnew/3.10.rst:408
msgid "PEP 634: Structural Pattern Matching"
msgstr "PEP 634 : filtrage par motifs structurels"

#: whatsnew/3.10.rst:410
msgid ""
"Structural pattern matching has been added in the form of a *match "
"statement* and *case statements* of patterns with associated actions. "
"Patterns consist of sequences, mappings, primitive data types as well as "
"class instances. Pattern matching enables programs to extract information "
"from complex data types, branch on the structure of data, and apply specific "
"actions based on different forms of data."
msgstr ""
"Le filtrage par motifs a été ajouté sous la forme d'une instruction *match* "
"et d'instructions *case* pour les motifs avec des actions associées. Les "
"motifs filtrent des séquences, des dictionnaires, des types de données et "
"des instances de classes. Le filtrage par motifs permet aux programmes "
"d'extraire de l'information de types de données complexes, faire du "
"branchement selon la structure des données et réaliser des actions "
"spécifiques en fonction des différentes formes des données."

#: whatsnew/3.10.rst:418
msgid "Syntax and operations"
msgstr "Syntaxe et opérations"

#: whatsnew/3.10.rst:420
msgid "The generic syntax of pattern matching is::"
msgstr "La syntaxe générique du filtrage par motifs est ::"

# Lexique pour cette section:
# "pattern": "motif du filtre"
# "match": "comparaison" action de tester si il y a un match
# "match": "bloc ``match``" ou "instruction ``match`` pour l'élément
# syntaxique
# "match": "appariement" comparaison réussie
# "wildcard": "attrape-tout"
# "guard": "garde"
#: whatsnew/3.10.rst:432
msgid ""
"A match statement takes an expression and compares its value to successive "
"patterns given as one or more case blocks.  Specifically, pattern matching "
"operates by:"
msgstr ""
"Une instruction *match* prend une expression et compare successivement sa "
"valeur à différents filtres qui sont donnés comme un ou plusieurs blocs "
"*case*. Plus précisément, le filtrage par motifs s'effectue par :"

#: whatsnew/3.10.rst:436
msgid "using data with type and shape (the ``subject``)"
msgstr ""
"l'utilisation de données qui ont un type et une forme (ici ``subject``) ;"

#: whatsnew/3.10.rst:437
msgid "evaluating the ``subject`` in the ``match`` statement"
msgstr "l'évaluation de ``subject`` dans une instruction ``match`` ;"

#: whatsnew/3.10.rst:438
msgid ""
"comparing the subject with each pattern in a ``case`` statement from top to "
"bottom until a match is confirmed."
msgstr ""
"l'application de chaque filtre sur ``subject`` dans des instructions "
"``case`` de haut en bas jusqu'à ce qu'un appariement soit confirmé ;"

#: whatsnew/3.10.rst:440
msgid "executing the action associated with the pattern of the confirmed match"
msgstr "l’exécution de l'action associée au filtre s'il y a appariement ;"

#: whatsnew/3.10.rst:442
msgid ""
"If an exact match is not confirmed, the last case, a wildcard ``_``, if "
"provided, will be used as the matching case. If an exact match is not "
"confirmed and a wildcard case does not exist, the entire match block is a no-"
"op."
msgstr ""
"s'il n'y a aucun appariement et que le dernier ``case`` est un filtre "
"*attrape-tout* ``_``, l'action correspondante est exécutée. S'il n'y a aucun "
"appariement ni filtre attrape-tout, le bloc ``match`` n'effectue aucune "
"opération."

#: whatsnew/3.10.rst:448
msgid "Declarative approach"
msgstr "Approche déclarative"

#: whatsnew/3.10.rst:450
msgid ""
"Readers may be aware of pattern matching through the simple example of "
"matching a subject (data object) to a literal (pattern) with the switch "
"statement found in C, Java or JavaScript (and many other languages). Often "
"the switch statement is used for comparison of an object/expression with "
"case statements containing literals."
msgstr ""
"Le filtrage par motifs est peut-être connu des lecteurs par l'intermédiaire "
"des langages *C*, *Java* ou *JavaScript* (et plusieurs autres langages), "
"avec l'appariement simple d'un sujet (objet de données) à un littéral "
"(filtre) avec l'instruction ``switch``. Souvent, l'instruction ``switch`` "
"est utilisée pour comparer des objets ou expressions à des instructions "
"``case`` qui contiennent des littéraux."

#: whatsnew/3.10.rst:456
msgid ""
"More powerful examples of pattern matching can be found in languages such as "
"Scala and Elixir. With structural pattern matching, the approach is "
"\"declarative\" and explicitly states the conditions (the patterns) for data "
"to match."
msgstr ""
"Des exemples plus puissants de filtrage par motifs sont présents dans des "
"langages tels que *Scala* et *Elixir*. Avec le filtrage par motifs "
"structurels, l'approche est « déclarative » et énonce les conditions (les "
"motifs) pour apparier les données."

#: whatsnew/3.10.rst:460
msgid ""
"While an \"imperative\" series of instructions using nested \"if\" "
"statements could be used to accomplish something similar to structural "
"pattern matching, it is less clear than the \"declarative\" approach. "
"Instead the \"declarative\" approach states the conditions to meet for a "
"match and is more readable through its explicit patterns. While structural "
"pattern matching can be used in its simplest form comparing a variable to a "
"literal in a case statement, its true value for Python lies in its handling "
"of the subject's type and shape."
msgstr ""
"Bien qu'une série d'instructions « impératives » utilisant des instructions "
"« if » imbriquées puisse être utilisée pour accomplir quelque chose de "
"similaire au filtrage par motifs structurels, ceci est moins clair que "
"l'approche « déclarative ». Cette dernière énonce les conditions à remplir "
"pour réaliser un appariement grâce à ses filtres sur des motifs explicites. "
"Bien que le filtrage par motifs structurels puisse être utilisé dans sa "
"forme la plus simple pour comparer une variable à un littéral dans une "
"instruction ``case``, son intérêt réel en Python réside dans son traitement "
"du sujet selon son type et sa forme."

#: whatsnew/3.10.rst:469
msgid "Simple pattern: match to a literal"
msgstr "Filtre simple : apparier à un littéral"

#: whatsnew/3.10.rst:471
msgid ""
"Let's look at this example as pattern matching in its simplest form: a "
"value, the subject, being matched to several literals, the patterns. In the "
"example below, ``status`` is the subject of the match statement. The "
"patterns are each of the case statements, where literals represent request "
"status codes. The associated action to the case is executed after a match::"
msgstr ""
"Regardons cet exemple en tant que filtrage par motif dans sa forme la plus "
"simple : une valeur, le sujet, est comparée à (ou « filtrée par ») plusieurs "
"littéraux, les motifs. Dans l'exemple ci-dessous, ``status`` est le sujet de "
"l'instruction ``match``. Les filtres sont chacune des instructions ``case``, "
"où les littéraux représentent les codes de status des requêtes. Les actions "
"associées au ``case`` sont exécutés suite à un appariement ::"

#: whatsnew/3.10.rst:488
msgid ""
"If the above function is passed a ``status`` of 418, \"I'm a teapot\" is "
"returned. If the above function is passed a ``status`` of 500, the case "
"statement with ``_`` will match as a wildcard, and \"Something's wrong with "
"the internet\" is returned. Note the last block: the variable name, ``_``, "
"acts as a *wildcard* and insures the subject will always match. The use of "
"``_`` is optional."
msgstr ""
"Si on passe 418 à ``status`` dans la fonction ci-haut, elle renvoie ``\"I'm "
"a teapot\"``. Avec 500, l'instruction ``case`` qui contient ``_`` apparie "
"comme attrape-tout et la fonction renvoie ``\"Something's wrong with the "
"internet\"``. Prenez note que dans le dernier bloc, le nom de variable, "
"``_`` agit comme un *attrape-tout* et garantit que le sujet sera toujours "
"apparié. L'utilisation de ``_`` est optionnelle."

#: whatsnew/3.10.rst:495
msgid ""
"You can combine several literals in a single pattern using ``|`` (\"or\")::"
msgstr ""
"Vous pouvez combiner plusieurs littéraux dans un seul filtre en utilisant ``|"
"`` (qui se lit « ou ») ::"

#: whatsnew/3.10.rst:501
msgid "Behavior without the wildcard"
msgstr "Comportement sans l'attrape-tout"

#: whatsnew/3.10.rst:503
msgid ""
"If we modify the above example by removing the last case block, the example "
"becomes::"
msgstr ""
"Modifions l'exemple ci-haut en enlevant le dernier bloc ``case``. Il "
"devient ::"

#: whatsnew/3.10.rst:515
msgid ""
"Without the use of ``_`` in a case statement, a match may not exist. If no "
"match exists, the behavior is a no-op. For example, if ``status`` of 500 is "
"passed, a no-op occurs."
msgstr ""
"Sans l'utilisation de ``_`` dans une instruction ``case``, il est possible "
"de ne pas avoir d'appariement. Dans ce cas, il ne se passe rien. Par "
"exemple, si 500 est passé à ``status``, aucune opération n'est effectuée."

#: whatsnew/3.10.rst:520
msgid "Patterns with a literal and variable"
msgstr "Filtres avec un littéral et une variable"

#: whatsnew/3.10.rst:522
msgid ""
"Patterns can look like unpacking assignments, and a pattern may be used to "
"bind variables. In this example, a data point can be unpacked to its x-"
"coordinate and y-coordinate::"
msgstr ""
"Les motifs des filtres peuvent prendre une forme similaire aux affectations "
"multiples et un filtre peut être utilisé pour lier plus d'une variable. Dans "
"cet exemple, un point peut être dissocié entre son abscisse et son "
"ordonnée ::"

#: whatsnew/3.10.rst:539
msgid ""
"The first pattern has two literals, ``(0, 0)``, and may be thought of as an "
"extension of the literal pattern shown above. The next two patterns combine "
"a literal and a variable, and the variable *binds* a value from the subject "
"(``point``).  The fourth pattern captures two values, which makes it "
"conceptually similar to the unpacking assignment ``(x, y) = point``."
msgstr ""
"Le motif du premier filtre comporte deux littéraux, ``(0, 0)``, et peut être "
"vu comme une extension du filtre sur un littéral montré plus haut. Les "
"motifs des deux filtres suivants regroupent un littéral et une variable. De "
"plus, la variable est liée à la valeur provenant du sujet (``point``). Le "
"motif du quatrième filtre capture deux valeurs, ce qui le rend "
"conceptuellement similaire à l'affectation multiple : ``(x, y) = point``."

#: whatsnew/3.10.rst:546
msgid "Patterns and classes"
msgstr "Filtres et classes"

#: whatsnew/3.10.rst:548
msgid ""
"If you are using classes to structure your data, you can use as a pattern "
"the class name followed by an argument list resembling a constructor. This "
"pattern has the ability to capture class attributes into variables::"
msgstr ""
"Si vous utilisez des classes pour structurer vos données, vous pouvez "
"utiliser le nom de la classe suivie d'une liste d'arguments comme motif de "
"filtre. Ceci ressemble à un appel du constructeur. Ce filtre peut capturer "
"les attributs de la classe dans des variables ::"

#: whatsnew/3.10.rst:570
msgid "Patterns with positional parameters"
msgstr "Filtres avec arguments positionnels"

#: whatsnew/3.10.rst:572
msgid ""
"You can use positional parameters with some builtin classes that provide an "
"ordering for their attributes (e.g. dataclasses). You can also define a "
"specific position for attributes in patterns by setting the "
"``__match_args__`` special attribute in your classes. If it's set to (\"x\", "
"\"y\"), the following patterns are all equivalent (and all bind the ``y`` "
"attribute to the ``var`` variable)::"
msgstr ""
"Vous pouvez utiliser les arguments positionnels avec un certain nombre de "
"classes natives qui définissent l'ordre de leurs attributs, notamment les "
"classes de données (*dataclasses*). Vous pouvez aussi spécifier la position "
"des attributs quand ils sont utilisés dans les filtres en définissant "
"l'attribut spécial ``__match_args__`` dans vos classes. Par exemple, le "
"mettre à ``(\"x\", \"y\")`` rend tous les filtres ci-dessous équivalents (en "
"particulier, tous provoquent la liaison de l'attribut ``y`` à la variable "
"``var``) ::"

#: whatsnew/3.10.rst:584
msgid "Nested patterns"
msgstr "Filtres imbriqués"

#: whatsnew/3.10.rst:586
msgid ""
"Patterns can be arbitrarily nested.  For example, if our data is a short "
"list of points, it could be matched like this::"
msgstr ""
"Les filtres peuvent être imbriqués de façon arbitraire. Par exemple, si nous "
"avons une courte liste de points, elle peut être appariée comme ceci ::"

#: whatsnew/3.10.rst:602
msgid "Complex patterns and the wildcard"
msgstr "Filtres complexes et attrape-tout"

#: whatsnew/3.10.rst:604
msgid ""
"To this point, the examples have used ``_`` alone in the last case "
"statement. A wildcard can be used in more complex patterns, such as "
"``('error', code, _)``. For example::"
msgstr ""
"Jusqu'à maintenant, les exemples ont utilisé ``_`` seul dans la dernière "
"instruction ``case``. Un attrape-tout peut être utilisé dans un filtre plus "
"complexe tel que ``('error', code, _)``. Par exemple ::"

#: whatsnew/3.10.rst:614
msgid ""
"In the above case, ``test_variable`` will match for ('error', code, 100) and "
"('error', code, 800)."
msgstr ""
"Dans l'exemple précédent, ``test_variable`` s'apparie à ``('error', code, "
"100)`` et à ``('error', code, 800)``."

#: whatsnew/3.10.rst:618
msgid "Guard"
msgstr "Garde"

#: whatsnew/3.10.rst:620
msgid ""
"We can add an ``if`` clause to a pattern, known as a \"guard\".  If the "
"guard is false, ``match`` goes on to try the next case block.  Note that "
"value capture happens before the guard is evaluated::"
msgstr ""
"On peut ajouter une clause ``if`` à un filtre, ce qu'on appelle une "
"« garde ». Si la garde s'évalue à faux, ``match`` poursuit avec la tentative "
"d'appariement du prochain bloc ``case``. Notez que la capture de valeur se "
"produit avant l'évaluation de la garde ::"

#: whatsnew/3.10.rst:631
msgid "Other Key Features"
msgstr "Autres fonctionnalités importantes"

#: whatsnew/3.10.rst:633
msgid "Several other key features:"
msgstr "Plusieurs autres fonctionnalités importantes :"

#: whatsnew/3.10.rst:635
msgid ""
"Like unpacking assignments, tuple and list patterns have exactly the same "
"meaning and actually match arbitrary sequences. Technically, the subject "
"must be a sequence. Therefore, an important exception is that patterns don't "
"match iterators. Also, to prevent a common mistake, sequence patterns don't "
"match strings."
msgstr ""
"Comme dans les affectations multiples, les motifs de filtres qui sont des "
"*n*-uplets ou des listes sont totalement équivalents et autorisent tous les "
"types de séquences. Techniquement, le sujet doit être une séquence. Ainsi, "
"exception importante, les filtres n'autorisent pas les itérateurs. Aussi, "
"pour prémunir d'une erreur commune, les filtres de séquences n'autorisent "
"pas les chaînes ;"

#: whatsnew/3.10.rst:641
msgid ""
"Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)`` "
"work similar to wildcards in unpacking assignments.  The name after ``*`` "
"may also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two "
"items without binding the remaining items."
msgstr ""
"les filtres de séquence peuvent faire intervenir l'affectation étoilée : "
"``[x, y, *reste]`` ou ``(x, y, *reste)`` ont le même sens que dans une "
"affectation avec ``=``. Le nom de variable après l'étoile peut aussi être "
"l'attrape-tout ``_``. Ainsi, ``(x, y, *_)`` est un motif de filtre qui "
"reconnaît les séquences à deux éléments ou plus, en capturant les deux "
"premiers et en ignorant le reste ;"

#: whatsnew/3.10.rst:646
msgid ""
"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the "
"``\"bandwidth\"`` and ``\"latency\"`` values from a dict.  Unlike sequence "
"patterns, extra keys are ignored.  A wildcard ``**rest`` is also supported.  "
"(But ``**_`` would be redundant, so is not allowed.)"
msgstr ""
"il existe les filtres d'association, qui ressemblent syntaxiquement aux "
"dictionnaires. Par exemple, le filtre ``{\"bande_passante\": b, \"latence\": "
"l}`` extrait les valeurs des clés ``\"bande_passante\"`` et ``\"latence\"`` "
"dans un dictionnaire. Contrairement aux filtres de séquence, les clés "
"absentes du filtre sont ignorées et le filtre réussit tout de même. "
"L'affectation double-étoilée (``**reste``) fonctionne aussi (cependant, "
"``**_`` serait redondant et n'est donc pas permis) ;"

#: whatsnew/3.10.rst:651
msgid "Subpatterns may be captured using the ``as`` keyword::"
msgstr ""
"on peut capturer la valeur d'une partie du motif d'un filtre avec le mot-clé "
"``as``, par exemple ::"

#: whatsnew/3.10.rst:655
msgid ""
"This binds x1, y1, x2, y2 like you would expect without the ``as`` clause, "
"and p2 to the entire second item of the subject."
msgstr ""
"Ceci lie ``x1``, ``y1``, ``x2``, ``y2`` comme attendu sans la clause ``as``, "
"et lie ``p2`` à l’entièreté du second élément du sujet ;"

#: whatsnew/3.10.rst:658
msgid ""
"Most literals are compared by equality. However, the singletons ``True``, "
"``False`` and ``None`` are compared by identity."
msgstr ""
"la plupart des littéraux sont comparés par égalité. Néanmoins, les "
"singletons ``True``, ``False`` et ``None`` sont comparés par identité ;"

#: whatsnew/3.10.rst:661
msgid ""
"Named constants may be used in patterns.  These named constants must be "
"dotted names to prevent the constant from being interpreted as a capture "
"variable::"
msgstr ""
"les filtres peuvent contenir des noms qui se réfèrent à des constantes. Ces "
"noms doivent impérativement être qualifiés (contenir au moins un point) pour "
"ne pas être interprétés comme des variables de capture ::"

#: whatsnew/3.10.rst:679
msgid ""
"For the full specification see :pep:`634`.  Motivation and rationale are in :"
"pep:`635`, and a longer tutorial is in :pep:`636`."
msgstr ""
"Pour la spécification complète, voir la :pep:`634`. La motivation et la "
"justification des choix sont dans la :pep:`635`, et un tutoriel plus élaboré "
"se trouve dans la :pep:`636`."

#: whatsnew/3.10.rst:686
msgid "Optional ``EncodingWarning`` and ``encoding=\"locale\"`` option"
msgstr "``EncodingWarning`` et option ``encoding=\"locale\"`` optionnels"

#: whatsnew/3.10.rst:688
msgid ""
"The default encoding of :class:`TextIOWrapper` and :func:`open` is platform "
"and locale dependent. Since UTF-8 is used on most Unix platforms, omitting "
"``encoding`` option when opening UTF-8 files (e.g. JSON, YAML, TOML, "
"Markdown) is a very common bug. For example::"
msgstr ""
"L'encodage par défaut de :class:`TextIOWrapper` et de :func:`open`  dépend "
"de la plateforme et des paramètres régionaux. Comme UTF-8 est utilisé sur la "
"plupart des plateformes Unix, ne pas spécifier l'option ``encoding`` pour "
"ouvrir des fichiers UTF-8 est une erreur courante. Par exemple ::"

#: whatsnew/3.10.rst:697
msgid ""
"To find this type of bug, an optional ``EncodingWarning`` is added. It is "
"emitted when :data:`sys.flags.warn_default_encoding <sys.flags>` is true and "
"locale-specific default encoding is used."
msgstr ""
"Pour trouver ce type de bogue, un ``EncodingWarning`` optionnel a été "
"ajouté. Il est levé quand :data:`sys.flags.warn_default_encoding <sys."
"flags>` est ``True`` et quand l'encodage utilisé est celui défini par les "
"paramètres régionaux."

#: whatsnew/3.10.rst:701
msgid ""
"``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING` "
"are added to enable the warning."
msgstr ""
"L'option ``-X warn_default_encoding`` et la variable d’environnement :envvar:"
"`PYTHONWARNDEFAULTENCODING` ont été ajoutées pour activer cet avertissement."

#: whatsnew/3.10.rst:704
msgid "See :ref:`io-text-encoding` for more information."
msgstr "Voir :ref:`io-text-encoding` pour plus d'informations."

#: whatsnew/3.10.rst:709
msgid "New Features Related to Type Hints"
msgstr "Nouvelles fonctionnalités reliées aux indications de types"

#: whatsnew/3.10.rst:711
msgid ""
"This section covers major changes affecting :pep:`484` type hints and the :"
"mod:`typing` module."
msgstr ""
"Cette section couvre les changements majeurs touchant le module :mod:"
"`typing` et les indications de types de style :pep:`484`."

#: whatsnew/3.10.rst:716
msgid "PEP 604: New Type Union Operator"
msgstr "PEP 604 : nouvel opérateur d'union de types"

#: whatsnew/3.10.rst:718
msgid ""
"A new type union operator was introduced which enables the syntax ``X | Y``. "
"This provides a cleaner way of expressing 'either type X or type Y' instead "
"of using :data:`typing.Union`, especially in type hints."
msgstr ""
"Un nouvel opérateur d'union de types a été ajouté. Il permet la syntaxe ``X "
"| Y``. Ceci offre une façon plus propre d'exprimer « soit le type X, soit le "
"type Y » plutôt que d'utiliser :data:`typing.Union`, en particulier pour les "
"indications de types."

#: whatsnew/3.10.rst:722
msgid ""
"In previous versions of Python, to apply a type hint for functions accepting "
"arguments of multiple types, :data:`typing.Union` was used::"
msgstr ""
"Dans les versions précédentes de Python, pour appliquer une indication de "
"type à des fonctions qui acceptent des arguments de plusieurs types, :data:"
"`typing.Union` était utilisée ::"

#: whatsnew/3.10.rst:729
msgid "Type hints can now be written in a more succinct manner::"
msgstr ""
"Les indications de type peuvent maintenant être écrites de façon plus "
"courte ::"

#: whatsnew/3.10.rst:735
msgid ""
"This new syntax is also accepted as the second argument to :func:"
"`isinstance` and :func:`issubclass`::"
msgstr ""
"Cette nouvelle syntaxe est aussi acceptée comme le second argument de :func:"
"`isinstance` et de :func:`issubclass` ::"

#: whatsnew/3.10.rst:741
msgid "See :ref:`types-union` and :pep:`604` for more details."
msgstr "Voir :ref:`types-union` et la :pep:`604` pour plus de détails"

#: whatsnew/3.10.rst:743
msgid ""
"(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`, with "
"additions by Yurii Karabas and Serhiy Storchaka in :issue:`44490`.)"
msgstr ""
"(contribution de *Maggie Moss* et *Philippe Prados* dans :issue:`41428`, "
"avec ajouts par *Yurii Karabas* et *Serhiy Storchaka* dans :issue:`44490`)."

#: whatsnew/3.10.rst:748
msgid "PEP 612: Parameter Specification Variables"
msgstr "PEP 612 : variables de spécification de paramètres"

#: whatsnew/3.10.rst:750
msgid ""
"Two new options to improve the information provided to static type checkers "
"for :pep:`484`\\ 's ``Callable`` have been added to the :mod:`typing` module."
msgstr ""
"Deux nouvelles options ont été ajoutées au module :mod:`typing` pour "
"améliorer l'information donnée aux vérificateurs de types statiques pour les "
"``Callable`` définis dans la :pep:`484`."

#: whatsnew/3.10.rst:753
msgid ""
"The first is the parameter specification variable.  They are used to forward "
"the parameter types of one callable to another callable -- a pattern "
"commonly found in higher order functions and decorators.  Examples of usage "
"can be found in :class:`typing.ParamSpec`. Previously, there was no easy way "
"to type annotate dependency of parameter types in such a precise manner."
msgstr ""
"La première est la variable de spécification de paramètre. Elles sont "
"utilisées pour transférer le type d'un appelable à un autre – un patron de "
"conception souvent utilisé dans les fonctions d'ordre supérieur et dans les "
"décorateurs. Des exemples d'utilisation se trouvent dans :class:`typing."
"ParamSpec`. Préalablement, il n'y avait pas de façon facile pour annoter les "
"dépendances de types des paramètres de manière aussi précise."

#: whatsnew/3.10.rst:759
msgid ""
"The second option is the new ``Concatenate`` operator. It's used in "
"conjunction with parameter specification variables to type annotate a higher "
"order callable which adds or removes parameters of another callable.  "
"Examples of usage can be found in :class:`typing.Concatenate`."
msgstr ""
"La seconde option est le nouvel opérateur ``Concatenate``. Il est utilisé en "
"conjonction avec les variables de spécification de paramètres pour annoter "
"les types d'un appelable d'ordre supérieur qui ajoute ou retire des "
"paramètres à un autre appelable. Des exemples d'utilisation se trouvent "
"dans :class:`typing.Concatenate`."

#: whatsnew/3.10.rst:764
msgid ""
"See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing."
"Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing."
"ParamSpecKwargs`, and :pep:`612` for more details."
msgstr ""
"Voir :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing."
"Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs` "
"et la :pep:`612` pour plus de détails"

#: whatsnew/3.10.rst:768
msgid ""
"(Contributed by Ken Jin in :issue:`41559`, with minor enhancements by Jelle "
"Zijlstra in :issue:`43783`.  PEP written by Mark Mendoza.)"
msgstr ""
"(contribution de *Ken Jin* dans :issue:`41559`, avec améliorations mineures "
"par *Jelle Zijlstra* dans :issue:`43783` ; PEP écrite par *Mark Mendoza*)."

#: whatsnew/3.10.rst:773
msgid "PEP 613: TypeAlias"
msgstr "PEP 613 : ``TypeAlias``"

#: whatsnew/3.10.rst:775
msgid ""
":pep:`484` introduced the concept of type aliases, only requiring them to be "
"top-level unannotated assignments. This simplicity sometimes made it "
"difficult for type checkers to distinguish between type aliases and ordinary "
"assignments, especially when forward references or invalid types were "
"involved. Compare::"
msgstr ""
"La :pep:`484` a ajouté le concept d'alias de types, en exigeant seulement "
"qu'ils soient des assignations non-annotées au niveau du module. Cette "
"simplicité rendait parfois difficile pour les vérificateurs de types de "
"distinguer entre un alias de type et une affectation ordinaire, en "
"particulier quand des références postérieures ou des types invalides étaient "
"impliqués. Comparez ::"

#: whatsnew/3.10.rst:783
msgid ""
"Now the :mod:`typing` module has a special value :data:`TypeAlias` which "
"lets you declare type aliases more explicitly::"
msgstr ""
"Maintenant le module :mod:`typing` possède une valeur spéciale :data:"
"`TypeAlias` qui permet de déclarer des alias de types de façon plus "
"explicite ::"

#: whatsnew/3.10.rst:789
msgid "See :pep:`613` for more details."
msgstr "Voir la :pep:`613` pour plus de détails."

#: whatsnew/3.10.rst:791
msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)"
msgstr "(contribution de *Mikhail Golubev* dans :issue:`41923`)."

#: whatsnew/3.10.rst:794
msgid "PEP 647: User-Defined Type Guards"
msgstr "PEP 647 : gardes de type définies par l'utilisateur"

#: whatsnew/3.10.rst:796
msgid ""
":data:`TypeGuard` has been added to the :mod:`typing` module to annotate "
"type guard functions and improve information provided to static type "
"checkers during type narrowing.  For more information, please see :data:"
"`TypeGuard`\\ 's documentation, and :pep:`647`."
msgstr ""
":data:`TypeGuard` a été ajouté au module :mod:`typing` pour annoter les "
"fonctions de garde de type et améliorer l'information fournie aux "
"vérificateurs de types statiques pendant le raffinage de types. Pour plus "
"d'information, consultez la documentation de :data:`TypeGuard` et la :pep:"
"`647`."

#: whatsnew/3.10.rst:801
msgid ""
"(Contributed by Ken Jin and Guido van Rossum in :issue:`43766`. PEP written "
"by Eric Traut.)"
msgstr ""
"(contribution de *Ken Jin* et *Guido van Rossum* dans :issue:`43766`. PEP "
"écrit par *Eric Traut*)."

#: whatsnew/3.10.rst:805
msgid "Other Language Changes"
msgstr "Autres changements au langage"

#: whatsnew/3.10.rst:807
msgid ""
"The :class:`int` type has a new method :meth:`int.bit_count`, returning the "
"number of ones in the binary expansion of a given integer, also known as the "
"population count. (Contributed by Niklas Fiekas in :issue:`29882`.)"
msgstr ""
"Le type :class:`int` a une nouvelle méthode :meth:`int.bit_count`, qui "
"renvoie le nombre de chiffres uns dans l’expansion binaire d'un entier "
"donné, aussi connue sous le nom de chiffre de population (*population "
"count*) (contribution de *Niklas Fiekas* dans :issue:`29882`)."

#: whatsnew/3.10.rst:811
msgid ""
"The views returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:`dict."
"items` now all have a ``mapping`` attribute that gives a :class:`types."
"MappingProxyType` object wrapping the original dictionary. (Contributed by "
"Dennis Sweeney in :issue:`40890`.)"
msgstr ""
"Les vues renvoyées par :meth:`dict.keys`, :meth:`dict.values` et :meth:`dict."
"items` ont maintenant toutes un attribut ``mapping`` qui donne un objet :"
"class:`types.MappingProxyType` encapsulant le dictionnaire original "
"(contribution de *Dennis Sweeney* dans :issue:`40890`)."

#: whatsnew/3.10.rst:816
msgid ""
":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, "
"used to require that all the iterables have an equal length."
msgstr ""
":pep:`618` : la fonction :func:`zip` a maintenant un argument optionnel "
"``strict``, utilisé pour demander que tous les itérables soient de même "
"longueur."

#: whatsnew/3.10.rst:819
msgid ""
"Builtin and extension functions that take integer arguments no longer "
"accept :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and "
"other objects that can be converted to integers only with a loss (e.g. that "
"have the :meth:`~object.__int__` method but do not have the :meth:`~object."
"__index__` method). (Contributed by Serhiy Storchaka in :issue:`37999`.)"
msgstr ""
"Les fonctions d'extensions et les fonctions natives qui prennent des "
"arguments entiers n'acceptent plus les :class:`~decimal.Decimal`, :class:"
"`~fractions.Fraction` et autres objets qui ne peuvent pas être convertis en "
"entiers sans perte de précision (par exemple ceux qui ont une méthode :meth:"
"`~object.__int__` mais pas une méthode :meth:`~object.__index__`) "
"(contribution de *Serhiy Storchaka* dans :issue:`37999`)."

#: whatsnew/3.10.rst:826
msgid ""
"If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator "
"will correctly fall back to :func:`object.__pow__` and :func:`object."
"__rpow__` as expected. (Contributed by Alex Shkop in :issue:`38302`.)"
msgstr ""
"Si :func:`object.__ipow__` renvoie :const:`NotImplemented`, l'opérateur va "
"correctement se rabattre sur :func:`object.__pow__` et :func:`object."
"__rpow__` tel qu'attendu (contribution d'*Alex Shkop* dans :issue:`38302`)."

#: whatsnew/3.10.rst:830
msgid ""
"Assignment expressions can now be used unparenthesized within set literals "
"and set comprehensions, as well as in sequence indexes (but not slices)."
msgstr ""
"Les expressions d'affectations peuvent maintenant être utilisées dans les "
"littéraux d'ensembles, dans les compréhensions d'ensembles et dans les "
"indices de séquences (mais pas dans les tranches)."

#: whatsnew/3.10.rst:833
msgid ""
"Functions have a new ``__builtins__`` attribute which is used to look for "
"builtin symbols when a function is executed, instead of looking into "
"``__globals__['__builtins__']``. The attribute is initialized from "
"``__globals__[\"__builtins__\"]`` if it exists, else from the current "
"builtins. (Contributed by Mark Shannon in :issue:`42990`.)"
msgstr ""
"Les fonctions ont un nouvel attribut ``__builtins__`` qui est utilisé pour "
"repérer les symboles natifs quand la fonction est exécutée, plutôt que de "
"regarder dans ``__globals__['__builtins__']``. L'attribut est initialisé à "
"partir de ``__globals__[\"__builtins__\"]`` s'il existe, ou des symboles "
"natifs en cours autrement (contribution de *Mark Shannon* dans :issue:"
"`42990`)."

#: whatsnew/3.10.rst:839
msgid ""
"Two new builtin functions -- :func:`aiter` and :func:`anext` have been added "
"to provide asynchronous counterparts to :func:`iter` and :func:`next`, "
"respectively. (Contributed by Joshua Bronson, Daniel Pope, and Justin Wang "
"in :issue:`31861`.)"
msgstr ""
"Deux nouvelles fonctions natives – :func:`aiter` et :func:`anext` – ont été "
"ajoutées pour fournir les équivalents asynchrones de :func:`iter` et de :"
"func:`next`, respectivement (contribution de *Joshua Bronson*, *Daniel Pope* "
"et *Justin Wang* dans :issue:`31861`)."

#: whatsnew/3.10.rst:844
msgid ""
"Static methods (:func:`@staticmethod <staticmethod>`) and class methods (:"
"func:`@classmethod <classmethod>`) now inherit the method attributes "
"(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, "
"``__annotations__``) and have a new ``__wrapped__`` attribute. Moreover, "
"static methods are now callable as regular functions. (Contributed by Victor "
"Stinner in :issue:`43682`.)"
msgstr ""
"Les méthodes statiques (:func:`@staticmethod <staticmethod>`) et les "
"méthodes de classes (:func:`@classmethod <classmethod>`) héritent maintenant "
"des attributs de méthodes (``__module__``, ``__name__``, ``__qualname__``, "
"``__doc__``, ``__annotations__``) et ont un nouvel attribut ``__wrapped__``. "
"De plus, les méthodes statiques sont maintenant appelables en tant que "
"fonctions classiques (contribution de *Victor Stinner* dans :issue:`43682`)."

#: whatsnew/3.10.rst:851
msgid ""
"Annotations for complex targets (everything beside ``simple name`` targets "
"defined by :pep:`526`) no longer cause any runtime effects with ``from "
"__future__ import annotations``. (Contributed by Batuhan Taskaya in :issue:"
"`42737`.)"
msgstr ""
"Les annotations des cibles complexes (toutes cibles autre que ``simple "
"name`` telles que définies dans la :pep:`526`) n'ont plus d'effet à "
"l'exécution avec ``from __future__ import annotations`` (contribution de "
"*Batuhan Taskaya* dans :issue:`42737`)."

#: whatsnew/3.10.rst:855
msgid ""
"Class and module objects now lazy-create empty annotations dicts on demand. "
"The annotations dicts are stored in the object’s ``__dict__`` for backwards "
"compatibility.  This improves the best practices for working with "
"``__annotations__``; for more information, please see :ref:`annotations-"
"howto`. (Contributed by Larry Hastings in :issue:`43901`.)"
msgstr ""
"Les objets ``class`` et ``module`` créent maintenant paresseusement un "
"dictionnaire d'annotations vide sur demande. Les dictionnaires d'annotations "
"sont stockés dans le ``__dict__`` de l'objet pour garder la retro-"
"compatibilité.  Cela renforce les bonnes pratiques relatives à "
"``__annotations__`` ; pour plus d'information, voir :ref:`annotations-howto` "
"(contribution de *Larry Hastings* dans :issue:`43901`)."

#: whatsnew/3.10.rst:862
msgid ""
"Annotations consist of ``yield``, ``yield from``, ``await`` or named "
"expressions are now forbidden under ``from __future__ import annotations`` "
"due to their side effects. (Contributed by Batuhan Taskaya in :issue:"
"`42725`.)"
msgstr ""
"Les annotations qui contiennent ``yield``, ``yield from``, ``await`` ou une "
"expression nommée ne sont plus permises sous ``from __future__ import "
"annotations`` à cause de leurs effets secondaires (contribution de *Batuhan "
"Taskaya* dans :issue:`42725`)."

#: whatsnew/3.10.rst:867
msgid ""
"Usage of unbound variables, ``super()`` and other expressions that might "
"alter the processing of symbol table as annotations are now rendered "
"effectless under ``from __future__ import annotations``. (Contributed by "
"Batuhan Taskaya in :issue:`42725`.)"
msgstr ""
"L'utilisation de variables non liées, de ``super()`` et d'autres expressions "
"qui peuvent changer le traitement de la table des symboles en tant "
"qu'annotation n'ont plus d'effet sous ``from __future__ import annotations`` "
"(contribution de *Batuhan Taskaya* dans :issue:`42725`)."

#: whatsnew/3.10.rst:872
msgid ""
"Hashes of NaN values of both :class:`float` type and :class:`decimal."
"Decimal` type now depend on object identity. Formerly, they always hashed to "
"``0`` even though NaN values are not equal to one another. This caused "
"potentially quadratic runtime behavior due to excessive hash collisions when "
"creating dictionaries and sets containing multiple NaNs. (Contributed by "
"Raymond Hettinger in :issue:`43475`.)"
msgstr ""
"Le hachage des valeurs *NaN* des types :class:`float` et :class:`decimal."
"Decimal` dépend maintenant de l'identité de l'objet. Préalablement, cette "
"valeur de hachage était toujours ``0`` alors que les valeurs *NaN* ne sont "
"pas égales entre elles. Cela pouvait potentiellement entrainer un temps "
"d'exécution quadratique en raison des collisions excessives des valeurs de "
"hachage lors de la création de dictionnaires et d'ensembles qui contiennent "
"plusieurs *NaN* (contribution de *Raymond Hettinger* dans :issue:`43475`)."

#: whatsnew/3.10.rst:879
msgid ""
"A :exc:`SyntaxError` (instead of a :exc:`NameError`) will be raised when "
"deleting the :const:`__debug__` constant.  (Contributed by Dong-hee Na in :"
"issue:`45000`.)"
msgstr ""
"Une :exc:`SyntaxError` (plutôt qu'une :exc:`NameError`) sera levée quand la "
"constante :const:`__debug__` est supprimée (contribution de *Dong-hee Na* "
"dans :issue:`45000`)."

#: whatsnew/3.10.rst:882
msgid ""
":exc:`SyntaxError` exceptions now have ``end_lineno`` and ``end_offset`` "
"attributes.  They will be ``None`` if not determined. (Contributed by Pablo "
"Galindo in :issue:`43914`.)"
msgstr ""
"Les exceptions :exc:`SyntaxError` ont maintenant des attributs "
"``end_lineno`` et ``end_offset``. La valeur est ``None`` quand ils ne "
"peuvent pas être déterminés (contribution de *Pablo Galindo* dans :issue:"
"`43914`)."

#: whatsnew/3.10.rst:887
msgid "New Modules"
msgstr "Nouveaux modules"

#: whatsnew/3.10.rst:889
#, fuzzy
msgid "None."
msgstr "Aucun pour le moment."

#: whatsnew/3.10.rst:893
msgid "Improved Modules"
msgstr "Modules améliorés"

#: whatsnew/3.10.rst:896
msgid "asyncio"
msgstr "``asyncio``"

#: whatsnew/3.10.rst:898
msgid ""
"Add missing :meth:`~asyncio.events.AbstractEventLoop."
"connect_accepted_socket` method. (Contributed by Alex Grönholm in :issue:"
"`41332`.)"
msgstr ""
"Ajout de la méthode :meth:`~asyncio.events.AbstractEventLoop."
"connect_accepted_socket` manquante (contribution d'*Alex Grönholm* dans :"
"issue:`41332`)."

#: whatsnew/3.10.rst:903
msgid "argparse"
msgstr "``argparse``"

#: whatsnew/3.10.rst:905
msgid ""
"Misleading phrase \"optional arguments\" was replaced with \"options\" in "
"argparse help. Some tests might require adaptation if they rely on exact "
"output match. (Contributed by Raymond Hettinger in :issue:`9694`.)"
msgstr ""
"L'expression ``\"optional arguments\"`` qui portait à confusion a été "
"remplacée par ``\"options\"`` dans le message d'aide d'``argparse``. "
"Certains tests devront être adaptés s'ils dépendent d'une comparaison exacte "
"dans la sortie d'aide (contribution de *Raymond Hettinger* dans :issue:"
"`9694`)."

#: whatsnew/3.10.rst:909
msgid "array"
msgstr "``array``"

#: whatsnew/3.10.rst:911
msgid ""
"The :meth:`~array.array.index` method of :class:`array.array` now has "
"optional *start* and *stop* parameters. (Contributed by Anders Lorentsen and "
"Zackery Spytz in :issue:`31956`.)"
msgstr ""
"La méthode :meth:`~array.array.index` de la classe :class:`array.array` a "
"maintenant les paramètres optionnels *start* et *stop* (contribution "
"d'*Anders Lorentsen* et de *Zackery Spytz* dans :issue:`31956`)."

#: whatsnew/3.10.rst:916
msgid "asynchat, asyncore, smtpd"
msgstr "``asynchat``, ``asyncore``, ``smtpd``"

#: whatsnew/3.10.rst:917
msgid ""
"These modules have been marked as deprecated in their module documentation "
"since Python 3.6.  An import-time :class:`DeprecationWarning` has now been "
"added to all three of these modules."
msgstr ""
"Ces modules ont étés déclarés obsolètes dans leur documentation de modules "
"depuis Python 3.6. Un :class:`DeprecationWarning` au moment de l'importation "
"est maintenant ajouté pour ces trois modules."

#: whatsnew/3.10.rst:922
msgid "base64"
msgstr "``base64``"

#: whatsnew/3.10.rst:924
msgid ""
"Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support "
"the Base32 Encoding with Extended Hex Alphabet."
msgstr ""
"Ajout de :func:`base64.b32hexencode` et de :func:`base64.b32hexdecode` pour "
"prendre en charge l'encodage Base32 avec l'alphabet hexadécimal étendu."

#: whatsnew/3.10.rst:928
msgid "bdb"
msgstr "``bdb``"

#: whatsnew/3.10.rst:930
msgid ""
"Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. "
"(Contributed by Irit Katriel in :issue:`24160`.)"
msgstr ""
"Ajout de :meth:`~bdb.Breakpoint.clearBreakpoints` pour supprimer tous les "
"points d'arrêt (contribution d'*Irit Katriel* dans :issue:`24160`)."

#: whatsnew/3.10.rst:934
msgid "bisect"
msgstr "``bisect``"

#: whatsnew/3.10.rst:936
msgid ""
"Added the possibility of providing a *key* function to the APIs in the :mod:"
"`bisect` module. (Contributed by Raymond Hettinger in :issue:`4356`.)"
msgstr ""
"Ajout de la possibilité de fournir une fonction ``key`` aux API dans le "
"module :mod:`bisect` (contribution de *Raymond Hettinger* dans :issue:"
"`4356`)."

#: whatsnew/3.10.rst:940
msgid "codecs"
msgstr "``codecs``"

#: whatsnew/3.10.rst:942
msgid ""
"Add a :func:`codecs.unregister` function to unregister a codec search "
"function. (Contributed by Hai Shi in :issue:`41842`.)"
msgstr ""
"Ajout d'une fonction :func:`codecs.unregister` pour désinscrire une fonction "
"de recherche de codecs (contribution de *Hai Shi* dans :issue:`41842`)."

#: whatsnew/3.10.rst:946
msgid "collections.abc"
msgstr "``collections.abc``"

#: whatsnew/3.10.rst:948
msgid ""
"The ``__args__`` of the :ref:`parameterized generic <types-genericalias>` "
"for :class:`collections.abc.Callable` are now consistent with :data:`typing."
"Callable`. :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.  Note that a :exc:`TypeError` may be raised "
"for invalid forms of parameterizing :class:`collections.abc.Callable` which "
"may have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:"
"`42195`.)"
msgstr ""
"L'attribut ``__args__`` des :ref:`génériques paramétrables <types-"
"genericalias>` de :class:`collections.abc.Callable` est maintenant cohérent "
"avec :data:`typing.Callable`. Les génériques de :class:`collections.abc."
"Callable` aplatissent maintenant les types des paramètres à l'instar de :"
"data:`typing.Callable`. Ceci veut dire que ``collections.abc.Callable[[int, "
"str], str]`` aura un attribut ``__args__`` de valeur ``(int, str, str)`` ; "
"auparavant, il aurait été ``([int, str], str)``. Pour permettre ce "
"changement, :class:`types.GenericAlias` peut être dérivée, et une sous-"
"classe sera renvoyée lors de la surcharge  du type :class:`collections.abc."
"Callable`. Prenez note que :exc:`TypeError` sera levée pour des formes "
"invalides de paramétrisation de :class:`collections.abc.Callable`, ce qui "
"aurait pu passer silencieusement dans Python 3.9 (contribution de *Ken Jin* "
"dans :issue:`42195`)."

#: whatsnew/3.10.rst:961
msgid "contextlib"
msgstr "``contextlib``"

#: whatsnew/3.10.rst:963
msgid ""
"Add a :func:`contextlib.aclosing` context manager to safely close async "
"generators and objects representing asynchronously released resources. "
"(Contributed by Joongi Kim and John Belmonte in :issue:`41229`.)"
msgstr ""
"Ajout d'un gestionnaire de contexte :func:`contextlib.aclosing` pour fermer "
"de façon sécurisée les générateurs asynchrones et les objets représentants "
"des ressources libérées de façon asynchrone (contribution de *Joongi Kim* et "
"*John Belmonte* dans :issue:`41229`)."

#: whatsnew/3.10.rst:967
msgid ""
"Add asynchronous context manager support to :func:`contextlib.nullcontext`. "
"(Contributed by Tom Gringauz in :issue:`41543`.)"
msgstr ""
"Ajout d'un gestionnaire de contexte pour prendre en charge :func:`contextlib."
"nullcontext` (contribution de *Tom Gringauz* dans :issue:`41543`)."

#: whatsnew/3.10.rst:970
msgid ""
"Add :class:`AsyncContextDecorator`, for supporting usage of async context "
"managers as decorators."
msgstr ""
"Ajout de :class:`AsyncContextDecorator` pour prendre en charge les "
"gestionnaires de contexte asynchrones en tant que décorateurs."

#: whatsnew/3.10.rst:974
msgid "curses"
msgstr "``curses``"

#: whatsnew/3.10.rst:976
msgid ""
"The extended color functions added in ncurses 6.1 will be used transparently "
"by :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses."
"init_pair`, and :func:`curses.pair_content`. A new function, :func:`curses."
"has_extended_color_support`, indicates whether extended color support is "
"provided by the underlying ncurses library. (Contributed by Jeffrey "
"Kintscher and Hans Petter Jansson in :issue:`36982`.)"
msgstr ""
"Les fonctions de couleurs étendues ajoutées dans *ncurses* 6.1 sont "
"utilisées de façon transparente par :func:`curses.color_content`, :func:"
"`curses.init_color`, :func:`curses.init_pair` et :func:`curses."
"pair_content`. Une nouvelle fonction, :func:`curses."
"has_extended_color_support`, indique si la prise en charge des couleurs "
"étendues est fournie par la bibliothèque *ncurses* sous-jacente "
"(contribution de *Jeffrey Kintscher* et de *Hans Petter Jansson* dans :issue:"
"`36982`)."

#: whatsnew/3.10.rst:983
msgid ""
"The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if "
"they are provided by the underlying curses library. (Contributed by Zackery "
"Spytz in :issue:`39273`.)"
msgstr ""
"Les constantes ``BUTTON5_*`` sont maintenant exposées dans le module :mod:"
"`curses` si elles sont fournies par la bibliothèque *curses* sous-jacente "
"(contribution de *Zackery Spytz* dans :issue:`39273`)."

#: whatsnew/3.10.rst:988
msgid "dataclasses"
msgstr "``dataclasses``"

#: whatsnew/3.10.rst:991
msgid "__slots__"
msgstr "``__slots__``"

#: whatsnew/3.10.rst:993
msgid ""
"Added ``slots`` parameter in :func:`dataclasses.dataclass` decorator. "
"(Contributed by Yurii Karabas in :issue:`42269`)"
msgstr ""
"Ajout du paramètre ``slots`` dans le décorateur :func:`dataclasses."
"dataclass` (contribution de *Yurii Karabas* dans :issue:`42269`)."

#: whatsnew/3.10.rst:997
msgid "Keyword-only fields"
msgstr "Champs obligatoirement nommés"

#: whatsnew/3.10.rst:999
msgid ""
"dataclasses now supports fields that are keyword-only in the generated "
"__init__ method.  There are a number of ways of specifying keyword-only "
"fields."
msgstr ""
"Les classes de données (``dataclass``) prennent maintenant en charge les "
"champs obligatoirement nommés dans la méthode ``__init__`` générée. Il y a "
"plusieurs façons de spécifier les champs obligatoirement nommés."

#: whatsnew/3.10.rst:1003
msgid "You can say that every field is keyword-only:"
msgstr "Vous pouvez indiquer que tous les champs sont obligatoirement nommés :"

#: whatsnew/3.10.rst:1014
msgid ""
"Both ``name`` and ``birthday`` are keyword-only parameters to the generated "
"__init__ method."
msgstr ""
"Les paramètres ``name`` et ``birthday`` sont tous deux obligatoirement "
"nommés dans la méthode ``__init__`` générée."

#: whatsnew/3.10.rst:1017
msgid "You can specify keyword-only on a per-field basis:"
msgstr ""
"Pour chaque champ, vous pouvez indiquer s'il est obligatoirement nommé :"

#: whatsnew/3.10.rst:1028
msgid ""
"Here only ``birthday`` is keyword-only.  If you set ``kw_only`` on "
"individual fields, be aware that there are rules about re-ordering fields "
"due to keyword-only fields needing to follow non-keyword-only fields.  See "
"the full dataclasses documentation for details."
msgstr ""
"Ici, seulement ``birthday`` est obligatoirement nommé. Si vous assignez "
"``kw_only`` sur un champ particulier, notez qu'il y a des règles concernant "
"l'ordre des champs puisque les champs obligatoirement nommés doivent suivre "
"les champs optionnellement nommés. Voir la documentation de ``dataclass`` "
"pour plus de détails."

#: whatsnew/3.10.rst:1033
msgid ""
"You can also specify that all fields following a KW_ONLY marker are keyword-"
"only.  This will probably be the most common usage:"
msgstr ""
"Vous pouvez aussi indiquer que tous les champs qui suivent un marqueur "
"``KW_ONLY`` sont obligatoirement nommés. Ceci sera probablement "
"l'utilisation la plus commune :"

#: whatsnew/3.10.rst:1048
#, fuzzy
msgid ""
"Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are "
"not. (Contributed by Eric V. Smith in :issue:`43532`.)"
msgstr ""
"Ici, ``z`` et ``t`` sont obligatoirement nommés, alors que ``x`` et ``y`` ne "
"le sont pas (contribution d'*Eric V. Smith* dans :issue:`43532`)."

#: whatsnew/3.10.rst:1055
msgid "distutils"
msgstr "``distutils``"

#: whatsnew/3.10.rst:1057
msgid ""
"The entire ``distutils`` package is deprecated, to be removed in Python "
"3.12. Its functionality for specifying package builds has already been "
"completely replaced by third-party packages ``setuptools`` and "
"``packaging``, and most other commonly used APIs are available elsewhere in "
"the standard library (such as :mod:`platform`, :mod:`shutil`, :mod:"
"`subprocess` or :mod:`sysconfig`). There are no plans to migrate any other "
"functionality from ``distutils``, and applications that are using other "
"functions should plan to make private copies of the code. Refer to :pep:"
"`632` for discussion."
msgstr ""
"Le paquet ``distutil`` est entièrement obsolète et sera retiré dans Python "
"3.12. Ses fonctionnalités pour spécifier la construction de paquets sont "
"déjà complètement remplacées par les paquets tierce-parties  ``setuptools`` "
"et ``packaging``. Les autres API régulièrement utilisées sont disponibles "
"ailleurs dans la bibliothèque standard (tel que dans :mod:`platform`, :mod:"
"`shutil`, :mod:`subprocess` ou :mod:`sysconfig`). Il n'est pas prévu de "
"migrer d'autres fonctionnalités de ``distutils``, aussi les applications qui "
"utilisent d'autres fonctions du module doivent faire des copies privées du "
"code. Voir la discussion dans la :pep:`632`."

#: whatsnew/3.10.rst:1067
msgid ""
"The ``bdist_wininst`` command deprecated in Python 3.8 has been removed. The "
"``bdist_wheel`` command is now recommended to distribute binary packages on "
"Windows. (Contributed by Victor Stinner in :issue:`42802`.)"
msgstr ""
"La commande ``bdist_wininst`` qui est obsolète depuis Python 3.8 a été "
"retirée. La commande ``bdist_wheel`` est maintenant recommandée pour "
"distribuer des paquets binaires sous Windows (contribution de *Victor "
"Stinner* dans :issue:`42802`)."

#: whatsnew/3.10.rst:1073
msgid "doctest"
msgstr "``doctest``"

#: whatsnew/3.10.rst:1210 whatsnew/3.10.rst:1336
msgid ""
"When a module does not define ``__loader__``, fall back to ``__spec__."
"loader``. (Contributed by Brett Cannon in :issue:`42133`.)"
msgstr ""
"Quand un module ne définit pas ``__loader__``, ``__spec__.loader`` est "
"utilisé (contribution de *Brett Cannon* dans :issue:`42133`)."

#: whatsnew/3.10.rst:1079
msgid "encodings"
msgstr "``encodings``"

#: whatsnew/3.10.rst:1081
msgid ""
":func:`encodings.normalize_encoding` now ignores non-ASCII characters. "
"(Contributed by Hai Shi in :issue:`39337`.)"
msgstr ""
"La fonction :func:`encodings.normalize_encoding` ignore maintenant les "
"caractères non ASCII (contribution de *Hai Shi* dans :issue:`39337`)."

#: whatsnew/3.10.rst:1085
msgid "enum"
msgstr ""

#: whatsnew/3.10.rst:1087
msgid ""
":class:`Enum` :func:`__repr__` now returns ``enum_name.member_name`` and :"
"func:`__str__` now returns ``member_name``.  Stdlib enums available as "
"module constants have a :func:`repr` of ``module_name.member_name``. "
"(Contributed by Ethan Furman in :issue:`40066`.)"
msgstr ""

#: whatsnew/3.10.rst:1092
msgid ""
"Add :class:`enum.StrEnum` for enums where all members are strings. "
"(Contributed by Ethan Furman in :issue:`41816`.)"
msgstr ""

#: whatsnew/3.10.rst:1096
msgid "fileinput"
msgstr "``fileinput``"

#: whatsnew/3.10.rst:1098
msgid ""
"Add *encoding* and *errors* parameters in :func:`fileinput.input` and :class:"
"`fileinput.FileInput`. (Contributed by Inada Naoki in :issue:`43712`.)"
msgstr ""
"Ajout des paramètres ``encoding`` et ``errors`` dans :func:`fileinput.input` "
"et dans :class:`fileinput.FileInput` (contribution d'*Inada Naoki* dans :"
"issue:`43712`)."

#: whatsnew/3.10.rst:1102
msgid ""
":func:`fileinput.hook_compressed` now returns :class:`TextIOWrapper` object "
"when *mode* is \"r\" and file is compressed, like uncompressed files. "
"(Contributed by Inada Naoki in :issue:`5758`.)"
msgstr ""
":func:`fileinput.hook_compressed` renvoie maintenant un objet :class:"
"`TextIOWrapper` quand ``mode`` est ``\"r\"`` et que le fichier est "
"compressé, comme pour les fichiers non compressés (contribution d'*Inada "
"Naoki* dans :issue:`5758`)."

#: whatsnew/3.10.rst:1107
msgid "faulthandler"
msgstr "``faulthandler``"

#: whatsnew/3.10.rst:1109
msgid ""
"The :mod:`faulthandler` module now detects if a fatal error occurs during a "
"garbage collector collection. (Contributed by Victor Stinner in :issue:"
"`44466`.)"
msgstr ""
"Le module :mod:`faulthandler` détecte maintenant si une erreur fatale s'est "
"produite pendant un passage du ramasse-miettes (contribution de *Victor "
"Stinner* dans :issue:`44466`)."

#: whatsnew/3.10.rst:1114
msgid "gc"
msgstr "``gc``"

#: whatsnew/3.10.rst:1116
msgid ""
"Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and :"
"func:`gc.get_referents`. (Contributed by Pablo Galindo in :issue:`43439`.)"
msgstr ""
"Ajout de fonctions de rappels d'audit pour :func:`gc.get_objects`, :func:`gc."
"get_referrers` et :func:`gc.get_referents` (contribution de *Pablo Galindo* "
"dans :issue:`43439`)."

#: whatsnew/3.10.rst:1120
msgid "glob"
msgstr "``glob``"

#: whatsnew/3.10.rst:1122
msgid ""
"Add the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and :func:"
"`~glob.iglob` which allow to specify the root directory for searching. "
"(Contributed by Serhiy Storchaka in :issue:`38144`.)"
msgstr ""
"Ajout des paramètres ``root_dir`` et ``dir_fd`` dans :func:`~glob.glob` et "
"dans :func:`~glob.iglob` pour permettre la spécification du répertoire "
"racine utilisé pour la recherche (contribution de *Serhiy Storchaka* dans :"
"issue:`38144`)."

#: whatsnew/3.10.rst:1127
msgid "hashlib"
msgstr "``hashlib``"

#: whatsnew/3.10.rst:1129
msgid ""
"The hashlib module requires OpenSSL 1.1.1 or newer. (Contributed by "
"Christian Heimes in :pep:`644` and :issue:`43669`.)"
msgstr ""
"La version minimale d'*OpenSSL* pour le module ``hashlib`` est maintenant "
"1.1.1 (contribution de *Christian Heimes* dans :pep:`644` et dans :issue:"
"`43669`)."

#: whatsnew/3.10.rst:1132
msgid ""
"The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed "
"by Christian Heimes in :issue:`38820` and other issues.)"
msgstr ""
"Le module *hashlib* offre une prise en charge préliminaire pour *OpenSSL* "
"3.0.0 (contribution de *Christian Heimes* dans :issue:`38820` et autres "
"tickets)."

#: whatsnew/3.10.rst:1135
msgid ""
"The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In "
"the future PBKDF2-HMAC will only be available when Python has been built "
"with OpenSSL support. (Contributed by Christian Heimes in :issue:`43880`.)"
msgstr ""
"Le repli vers la version en pur Python de :func:`~hashlib.pbkdf2_hmac` est "
"obsolète. Dorénavant, ``PBKDF2-HMAC`` n'est disponible que si Python a été "
"compilé avec la prise en charge d'*OpenSSL* (contribution de *Christian "
"Heimes* dans :issue:`43880`)."

#: whatsnew/3.10.rst:1141
msgid "hmac"
msgstr "``hmac``"

#: whatsnew/3.10.rst:1143
msgid ""
"The hmac module now uses OpenSSL's HMAC implementation internally. "
"(Contributed by Christian Heimes in :issue:`40645`.)"
msgstr ""
"L'implémentation interne du module ``hmac`` utilise maintenant *HMAC* "
"d'*OpenSSL* (contribution de *Christian Heimes* dans :issue:`40645`)."

#: whatsnew/3.10.rst:1147
msgid "IDLE and idlelib"
msgstr "IDLE et ``idlelib``"

#: whatsnew/3.10.rst:1149
msgid ""
"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User "
"hooks were previously ignored.  (Contributed by Ken Hilton in :issue:"
"`43008`.)"
msgstr ""
"IDLE invoque maintenant :func:`sys.excepthook` (lorsque lancé sans ``'-"
"n'``). Auparavant, les fonctions de rappel définies par l'utilisateur "
"étaient ignorées (contribution par *Ken Hilton* dans :issue:`43008`)."

#: whatsnew/3.10.rst:1153
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.10.rst:1161
msgid "The changes above were backported to a 3.9 maintenance release."
msgstr ""
"Les changements ci-dessus ont été rétro-portés dans le cadre de la "
"maintenance de 3.9."

# L'utilisation du terme "zip" peut laisser croire que le contenu de
# clipboard après la copie est structuré, mais ce n'est pas le cas. Le
# clipboard est populé avec du texte non-structuré.
#: whatsnew/3.10.rst:1163
msgid ""
"Add a Shell sidebar.  Move the primary prompt ('>>>') to the sidebar. Add "
"secondary prompts ('...') to the sidebar.  Left click and optional drag "
"selects one or more lines of text, as with the editor line number sidebar.  "
"Right click after selecting text lines displays a context menu with 'copy "
"with prompts'.  This zips together prompts from the sidebar with lines from "
"the selected text.  This option also appears on the context menu for the "
"text.  (Contributed by Tal Einat in :issue:`37903`.)"
msgstr ""
"Ajout d'une barre de côté à la console. Déplacement de l'invite de commande "
"principale (``>>>``) vers cette barre. Ajout des invites secondaires (``..."
"``) à la barre de côté. Le clic de gauche et le glisser optionnel "
"sélectionnent une ou plusieurs lignes de texte, tout comme dans la barre de "
"numéros de ligne de la fenêtre d'édition. Le clic droit après la sélection "
"de lignes de texte affiche un menu contextuel pour copier avec invites "
"(*'copy with prompts'*). Ceci combine les invites de la barre de côté avec "
"le texte sélectionné. Cette option apparait aussi dans le menu contextuel "
"pour le texte (contribution de *Tal Einat* dans :issue:`37903`)."

#: whatsnew/3.10.rst:1172
msgid ""
"Use spaces instead of tabs to indent interactive code.  This makes "
"interactive code entries 'look right'.  Making this feasible was a major "
"motivation for adding the shell sidebar.  (Contributed by Terry Jan Reedy "
"in :issue:`37892`.)"
msgstr ""
"Utilisation d'espaces plutôt que des tabulations pour indenter le code "
"interactif. Ceci donne au code interactif la « bonne apparence ». Cette "
"fonctionnalité est fortement corrélée à l'ajout de la barre de côté de la "
"console (contribution de *Terry Jan Reedy* dans :issue:`37892`)."

# "Coloration" plutôt que "mise en évendence" ou "surlignage" pour
# rester cohérent avec library/idle.po
#: whatsnew/3.10.rst:1177
msgid ""
"Highlight the new :ref:`soft keywords <soft-keywords>` :keyword:`match`, :"
"keyword:`case <match>`, and :keyword:`_ <wildcard-patterns>` in pattern-"
"matching statements. However, this highlighting is not perfect and will be "
"incorrect in some rare cases, including some ``_``-s in ``case`` patterns.  "
"(Contributed by Tal Einat in :issue:`44010`.)"
msgstr ""
"Coloration des nouveaux :ref:`mots clés ad-hoc <soft-keywords>` :keyword:"
"`match`, :keyword:`case <match>` et :keyword:`_ <wildcard-patterns>` dans "
"les instructions de filtrage par motifs (*pattern matching*). Par contre, "
"cette coloration n'est pas parfaite et elle sera incorrecte dans quelques "
"rares cas, y-compris certains ``_`` dans des instructions ``case`` "
"(contribution de Tal Einat dans :issue:`44010`)."

#: whatsnew/3.10.rst:1183
msgid "New in 3.10 maintenance releases."
msgstr "Nouveau dans les versions de maintenance 3.10."

#: whatsnew/3.10.rst:1185
msgid ""
"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood "
"and Terry Jan Reedy in :issue:`45447`.)"
msgstr ""

#: whatsnew/3.10.rst:1188
msgid ""
"Include prompts when saving Shell with inputs and outputs. (Contributed by "
"Terry Jan Reedy in :gh:`95191`.)"
msgstr ""

#: whatsnew/3.10.rst:1192
msgid "importlib.metadata"
msgstr "``importlib.metadata``"

#: whatsnew/3.10.rst:1194
msgid ""
"Feature parity with ``importlib_metadata`` 4.6 (`history <https://importlib-"
"metadata.readthedocs.io/en/latest/history.html>`_)."
msgstr ""
"Équivalence de fonctionnalités avec ``importlib_metadata`` 4.6 (`historique "
"<https://importlib-metadata.readthedocs.io/en/latest/history.html>`_)."

#: whatsnew/3.10.rst:1197
msgid ""
":ref:`importlib.metadata entry points <entry-points>` now provide a nicer "
"experience for selecting entry points by group and name through a new :class:"
"`importlib.metadata.EntryPoints` class. See the Compatibility Note in the "
"docs for more info on the deprecation and usage."
msgstr ""
"Les :ref:`points d'entrée de importlib.metadata <entry-points>` offrent "
"maintenant une interface plus agréable pour choisir les points d'entrée par "
"groupe et par nom par l'intermédiaire d'une nouvelle classe :class:"
"`importlib.metadata.EntryPoints`. Voir la rubrique Note sur la Compatibilité "
"(*Compatibility Note*) dans la documentation du module ``importlib."
"metadata`` pour plus d'information sur son utilisation et ce qui devient "
"obsolète."

#: whatsnew/3.10.rst:1203
msgid ""
"Added :func:`importlib.metadata.packages_distributions` for resolving top-"
"level Python modules and packages to their :class:`importlib.metadata."
"Distribution`."
msgstr ""
"Ajout de :func:`importlib.metadata.packages_distributions` pour résoudre les "
"modules et paquets Python du niveau racine vers leur :class:`importlib."
"metadata.Distribution`."

#: whatsnew/3.10.rst:1208
msgid "inspect"
msgstr "``inspect``"

#: whatsnew/3.10.rst:1213
msgid ""
"Add :func:`inspect.get_annotations`, which safely computes the annotations "
"defined on an object. It works around the quirks of accessing the "
"annotations on various types of objects, and makes very few assumptions "
"about the object it examines. :func:`inspect.get_annotations` can also "
"correctly un-stringize stringized annotations.  :func:`inspect."
"get_annotations` is now considered best practice for accessing the "
"annotations dict defined on any Python object; for more information on best "
"practices for working with annotations, please see :ref:`annotations-howto`. "
"Relatedly, :func:`inspect.signature`, :func:`inspect.Signature."
"from_callable`, and :func:`inspect.Signature.from_function` now call :func:"
"`inspect.get_annotations` to retrieve annotations. This means :func:`inspect."
"signature` and :func:`inspect.Signature.from_callable` can also now un-"
"stringize stringized annotations. (Contributed by Larry Hastings in :issue:"
"`43817`.)"
msgstr ""
"Ajout de :func:`inspect.get_annotations` qui calcule les annotations "
"définies sur un objet de façon sécuritaire. Elle contourne les difficultés "
"d’accéder aux annotations de différents types d'objets et présume très peu "
"de l'objet examiné. :func:`inspect.get_annotations` peut également convertir "
"pour vous les annotations contenues dans des chaînes de caractères en "
"objets. :func:`inspect.get_annotations` est maintenant considérée comme la "
"meilleure pratique pour accéder au dictionnaire d'annotations de tout objet "
"qui prend en charge les annotations ; pour d'autre information sur les "
"meilleures pratiques relatives aux annotations, voir :ref:`annotations-"
"howto`. Dans le même esprit, :func:`inspect.signature`, :func:`inspect."
"Signature.from_callable` et :func:`inspect.Signature.from_function` "
"appellent maintenant :func:`inspect.get_annotations` pour récupérer les "
"annotations. Ceci veut dire que :func:`inspect.signature` et :func:`inspect."
"Signature.from_callable` peuvent maintenant convertir pour vous les "
"annotations contenues dans des chaînes de caractères en objets (contribution "
"de *Larry Hastings* dans :issue:`43817`)."

#: whatsnew/3.10.rst:1229
msgid "itertools"
msgstr ""

#: whatsnew/3.10.rst:1231
msgid ""
"Add :func:`itertools.pairwise()`. (Contributed by Raymond Hettinger in :"
"issue:`38200`.)"
msgstr ""

#: whatsnew/3.10.rst:1235
msgid "linecache"
msgstr "``linecache``"

#: whatsnew/3.10.rst:1241
msgid "os"
msgstr "``os``"

#: whatsnew/3.10.rst:1243
msgid ""
"Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing "
"Xin in :issue:`41440`.)"
msgstr ""
"Ajout de la prise en charge de *VxWorks RTOS* dans :func:`os.cpu_count()` "
"(contribution de *Peixing Xin* dans :issue:`41440`)."

#: whatsnew/3.10.rst:1246
msgid ""
"Add a new function :func:`os.eventfd` and related helpers to wrap the "
"``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:"
"`41001`.)"
msgstr ""
"Ajout d'une nouvelle fonction :func:`os.eventfd` et des fonctions "
"utilitaires associées pour encapsuler l'appel système ``eventfd2`` sur Linux "
"(contribution de *Christian Heimes* dans :issue:`41001`)."

#: whatsnew/3.10.rst:1250
msgid ""
"Add :func:`os.splice()` that allows to move data between two file "
"descriptors without copying between kernel address space and user address "
"space, where one of the file descriptors must refer to a pipe. (Contributed "
"by Pablo Galindo in :issue:`41625`.)"
msgstr ""
"Ajout de :func:`os.splice()` qui permet de déplacer des données entre deux "
"descripteurs de fichiers sans copie entre les espaces noyau et utilisateur. "
"Un des descripteurs de fichiers doit référencer un tube (*pipe*)  "
"(contribution de *Pablo Galindo* dans :issue:`41625`)."

#: whatsnew/3.10.rst:1255
#, fuzzy
msgid ""
"Add :const:`~os.O_EVTONLY`, :const:`~os.O_FSYNC`, :const:`~os.O_SYMLINK` "
"and :const:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :"
"issue:`43106`.)"
msgstr ""
"Ajout de :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` "
"et :data:`~os.O_NOFOLLOW_ANY` sur macOS (contribution de *Dong-hee Na* dans :"
"issue:`43106`)."

#: whatsnew/3.10.rst:1260
msgid "os.path"
msgstr "``os.path``"

#: whatsnew/3.10.rst:1262
msgid ""
":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When "
"set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a "
"symlink loop is encountered. (Contributed by Barney Gale in :issue:`43757`.)"
msgstr ""
":func:`os.path.realpath` accepte maintenant l'argument nommé *strict*. "
"Lorsqu'il est ``True``, une :exc:`OSError` est levée si le chemin n'existe "
"pas ou si une boucle de liens symboliques est rencontrée (contribution de "
"*Barney Gale* dans :issue:`43757`)."

#: whatsnew/3.10.rst:1268
msgid "pathlib"
msgstr "``pathlib``"

#: whatsnew/3.10.rst:1270
#, fuzzy
msgid ""
"Add slice support to :attr:`PurePath.parents <pathlib.PurePath.parents>`. "
"(Contributed by Joshua Cannon in :issue:`35498`.)"
msgstr ""
"Ajout de la prise en charge des tranches dans :attr:`PurePath.parents "
"<pathlib.PurePath.parents>` (contribution de *Joshua Cannon* dans :issue:"
"`35498`)."

#: whatsnew/3.10.rst:1273
#, fuzzy
msgid ""
"Add negative indexing support to :attr:`PurePath.parents <pathlib.PurePath."
"parents>`. (Contributed by Yaroslav Pankovych in :issue:`21041`.)"
msgstr ""
"Ajout de la prise en charge de l'indiçage négatif dans :attr:`PurePath."
"parents <pathlib.PurePath.parents>` (contribution de *Yaroslav Pankovych* "
"dans :issue:`21041`)."

#: whatsnew/3.10.rst:1277
msgid ""
"Add :meth:`Path.hardlink_to <pathlib.Path.hardlink_to>` method that "
"supersedes :meth:`~pathlib.Path.link_to`. The new method has the same "
"argument order as :meth:`~pathlib.Path.symlink_to`. (Contributed by Barney "
"Gale in :issue:`39950`.)"
msgstr ""
"Ajout de la méthode :meth:`Path.hardlink_to <pathlib.Path.hardlink_to>` qui "
"remplace :meth:`~pathlib.Path.link_to`. L'ordre des arguments de la nouvelle "
"méthode est le même que :meth:`~pathlib.Path.symlink_to` (contribution de "
"*Barney Gale* dans :issue:`39950`)."

#: whatsnew/3.10.rst:1282
msgid ""
":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a "
"*follow_symlinks* keyword-only argument for consistency with corresponding "
"functions in the :mod:`os` module. (Contributed by Barney Gale in :issue:"
"`39906`.)"
msgstr ""
":meth:`pathlib.Path.stat` et :meth:`~pathlib.Path.chmod` acceptent "
"maintenant l'argument nommé *follow_symlinks* pour rester cohérent avec les "
"fonctions correspondantes dans le module :mod:`os` (contribution de *Barney "
"Gale* dans :issue:`39906`)."

#: whatsnew/3.10.rst:1288
msgid "platform"
msgstr "``platform``"

#: whatsnew/3.10.rst:1290
#, fuzzy
msgid ""
"Add :func:`platform.freedesktop_os_release()` to retrieve operation system "
"identification from `freedesktop.org os-release <https://www.freedesktop.org/"
"software/systemd/man/os-release.html>`_ standard file. (Contributed by "
"Christian Heimes in :issue:`28468`.)"
msgstr ""
"Ajout de :func:`platform.freedesktop_os_release()` pour récupérer "
"l'information d'identification du système d'exploitation selon le fichier "
"standard des `versions de systèmes d'exploitations de freedesktop.org "
"<https://www.freedesktop.org/software/systemd/man/os-release.html>`_ "
"(contribution de *Christian Heimes* dans :issue:`28468`)."

#: whatsnew/3.10.rst:1296
msgid "pprint"
msgstr "``pprint``"

#: whatsnew/3.10.rst:1298
msgid ""
":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword "
"argument. (Contributed by sblondon in :issue:`42914`.)"
msgstr ""
":func:`pprint.pprint` accepte maintenant le nouvel argument nommé "
"``underscore_numbers`` (contribution de *sblondon* dans :issue:`42914`)."

#: whatsnew/3.10.rst:1301
msgid ""
":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. "
"(Contributed by Lewis Gaul in :issue:`43080`.)"
msgstr ""
":mod:`pprint` peut maintenant afficher élégamment les instances de :class:"
"`dataclasses.dataclass` (contribution de *Lewis Gaul* dans :issue:`43080`)."

#: whatsnew/3.10.rst:1305
msgid "py_compile"
msgstr "``py_compile``"

#: whatsnew/3.10.rst:1307
msgid ""
"Add ``--quiet`` option to command-line interface of :mod:`py_compile`. "
"(Contributed by Gregory Schevchenko in :issue:`38731`.)"
msgstr ""
"Ajout de l'option de ligne de commande ``--quiet`` à l'interface de :mod:"
"`py_compile` (contribution de *Gregory Schevchenko* dans :issue:`38731`)."

#: whatsnew/3.10.rst:1311
msgid "pyclbr"
msgstr "``pyclbr``"

#: whatsnew/3.10.rst:1313
msgid ""
"Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in "
"the tree returned by :func:`pyclbr.readline` and :func:`pyclbr."
"readline_ex`.  It matches the existing (start) ``lineno``. (Contributed by "
"Aviral Srivastava in :issue:`38307`.)"
msgstr ""
"Ajout d'un attribut ``end_lineno`` aux objets ``Function`` et ``Class`` dans "
"l'arbre renvoyé par :func:`pyclbr.readline` et :func:`pyclbr.readline_ex`. "
"Il complète l'attribut ``lineno`` déjà existant (contribution d'*Aviral "
"Srivastava* dans :issue:`38307`)."

#: whatsnew/3.10.rst:1319
msgid "shelve"
msgstr "``shelve``"

# "objets shelf" plutôt que "objets shelves" pour être cohérent avec
# library/shelve.po
#: whatsnew/3.10.rst:1321
#, fuzzy
msgid ""
"The :mod:`shelve` module now uses :const:`pickle.DEFAULT_PROTOCOL` by "
"default instead of :mod:`pickle` protocol ``3`` when creating shelves. "
"(Contributed by Zackery Spytz in :issue:`34204`.)"
msgstr ""
"Le module :mod:`shelve` utilise maintenant :data:`pickle.DEFAULT_PROTOCOL` "
"par défaut plutôt que le protocole ``3`` du module :mod:`pickle` à la "
"création des objets ``shelf`` (contribution de *Zackery Spytz* dans :issue:"
"`34204`)."

#: whatsnew/3.10.rst:1326
msgid "statistics"
msgstr "``statistics``"

#: whatsnew/3.10.rst:1328
msgid ""
"Add :func:`~statistics.covariance`, Pearson's :func:`~statistics."
"correlation`, and simple :func:`~statistics.linear_regression` functions. "
"(Contributed by Tymoteusz Wołodźko in :issue:`38490`.)"
msgstr ""
"Ajout des fonctions :func:`~statistics.covariance`, :func:`~statistics."
"correlation` (corrélation de Pearson) et :func:`~statistics."
"linear_regression` (régression linéaire simple) (contribution de *Tymoteusz "
"Wołodźko* dans :issue:`38490`)."

#: whatsnew/3.10.rst:1334
msgid "site"
msgstr "``site``"

#: whatsnew/3.10.rst:1340
msgid "socket"
msgstr "``socket``"

#: whatsnew/3.10.rst:1342
msgid ""
"The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. "
"(Contributed by Christian Heimes in :issue:`42413`.)"
msgstr ""
"L'exception :exc:`socket.timeout` est maintenant un alias de :exc:"
"`TimeoutError` (contribution de *Christian Heimes* dans :issue:`42413`)."

#: whatsnew/3.10.rst:1345
msgid ""
"Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by "
"Rui Cunha in :issue:`43571`.)"
msgstr ""
"Ajout d'une option pour créer des connecteurs (*socket*) *MPTCP* avec "
"``IPPROTO_MPTCP`` (contribution de *Rui Cunha* dans :issue:`43571`)."

#: whatsnew/3.10.rst:1348
msgid ""
"Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN "
"fields (Contributed by Georg Sauthoff in :issue:`44077`.)"
msgstr ""
"Ajout de l'option ``IP_RECVTOS`` pour récupérer la valeur des champs *type "
"of service (ToS)* ou *differentiated services code point (DSCP/ECN)* "
"(contribution de *Georg Sauthoff* dans :issue:`44077`)."

#: whatsnew/3.10.rst:1352
msgid "ssl"
msgstr "``ssl``"

#: whatsnew/3.10.rst:1354
msgid ""
"The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian "
"Heimes in :pep:`644` and :issue:`43669`.)"
msgstr ""
"La version minimale d'*OpenSSL* pour le module ``ssl`` est maintenant 1.1.1 "
"(contribution de *Christian Heimes* dans :pep:`644` et dans :issue:`43669`)."

#: whatsnew/3.10.rst:1357
#, fuzzy
msgid ""
"The ssl module has preliminary support for OpenSSL 3.0.0 and new option :"
"const:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian Heimes in :"
"issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:"
"`43799`, :issue:`43920`, :issue:`43789`, and :issue:`43811`.)"
msgstr ""
"Le module ``ssl`` offre une prise en charge préliminaire pour *OpenSSL* "
"3.0.0 et la nouvelle option :data:`~ssl.OP_IGNORE_UNEXPECTED_EOF` "
"(contribution de *Christian Heimes* dans :issue:`38820`, :issue:`43794`, :"
"issue:`43788`, :issue:`43791`, :issue:`43799`, :issue:`43920`, :issue:"
"`43789` et :issue:`43811`)."

#: whatsnew/3.10.rst:1363
msgid ""
"Deprecated function and use of deprecated constants now result in a :exc:"
"`DeprecationWarning`. :attr:`ssl.SSLContext.options` has :data:`~ssl."
"OP_NO_SSLv2` and :data:`~ssl.OP_NO_SSLv3` set by default and therefore "
"cannot warn about setting the flag again. The :ref:`deprecation section "
"<whatsnew310-deprecated>` has a list of deprecated features. (Contributed by "
"Christian Heimes in :issue:`43880`.)"
msgstr ""
"Les fonctions obsolètes et l'accès aux constantes obsolètes lèvent "
"maintenant un :exc:`DeprecationWarning`. :attr:`ssl.SSLContext.options` a "
"options :data:`~ssl.OP_NO_SSLv2` et :data:`~ssl.OP_NO_SSLv3` définies par "
"défaut ; par conséquent, il ne peut pas avertir si l'option est définie de "
"nouveau. La section :ref:`obsolescence <whatsnew310-deprecated>` contient la "
"liste des fonctionnalités obsolètes (contribution de *Christian Heimes* "
"dans :issue:`43880`)."

#: whatsnew/3.10.rst:1371
msgid ""
"The ssl module now has more secure default settings. Ciphers without forward "
"secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits "
"weak RSA, DH, and ECC keys with less than 112 bits of security. :class:`~ssl."
"SSLContext` defaults to minimum protocol version TLS 1.2. Settings are based "
"on Hynek Schlawack's research. (Contributed by Christian Heimes in :issue:"
"`43998`.)"
msgstr ""
"La configuration du module ``ssl`` est plus sécuritaire par défaut. Les "
"algorithmes de chiffrement sans confidentialité persistante (*forward "
"secrecy*) et le code d'authentification de message (MAC) *SHA-1* sont "
"désactivés par défaut. Le niveau 2 de sécurité ne permet pas les clés "
"faibles de moins de 112 bits pour *RSA*, *DH* et *ECC*. La version minimale "
"du protocole *TLS* pour :class:`~ssl.SSLContext` est 1.2. La configuration "
"est basée sur la recherche de *Hynek Schlawack* (contribution de *Christian "
"Heimes* dans :issue:`43998`)."

#: whatsnew/3.10.rst:1378
msgid ""
"The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer "
"officially supported. Python does not block them actively. However OpenSSL "
"build options, distro configurations, vendor patches, and cipher suites may "
"prevent a successful handshake."
msgstr ""
"Les protocoles obsolètes *SSL* 3.0, *TLS* 1.0 et *TLS* 1.1 ne sont plus "
"officiellement pris en charge. Python ne les bloque pas activement, mais les "
"options de compilation d'*OpenSSL*, les configurations du système "
"d'exploitation, les rustines des fabricants et les suites d'algorithmes de "
"chiffrement peuvent empêcher l’établissement d'une connexion."

#: whatsnew/3.10.rst:1383
msgid ""
"Add a *timeout* parameter to the :func:`ssl.get_server_certificate` "
"function. (Contributed by Zackery Spytz in :issue:`31870`.)"
msgstr ""
"Ajout d'un paramètre *timeout* à la fonction :func:`ssl."
"get_server_certificate` (contribution de *Zackery Spytz* dans :issue:"
"`31870`)."

#: whatsnew/3.10.rst:1386
msgid ""
"The ssl module uses heap-types and multi-phase initialization. (Contributed "
"by Christian Heimes in :issue:`42333`.)"
msgstr ""
"Le module ``ssl`` utilise les types du tas et l'initialisation multi-phase "
"(contribution de *Christian Heimes* dans :issue:`42333`)."

#: whatsnew/3.10.rst:1389
#, fuzzy
msgid ""
"A new verify flag :const:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. "
"(Contributed by l0x in :issue:`40849`.)"
msgstr ""
"Ajout d'un nouveau drapeau de vérification :data:`~ssl."
"VERIFY_X509_PARTIAL_CHAIN` (contribution de *l0x* dans :issue:`40849`)."

#: whatsnew/3.10.rst:1393
msgid "sqlite3"
msgstr "``sqlite3``"

#: whatsnew/3.10.rst:1395
msgid ""
"Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3."
"Connection.enable_load_extension`, and :meth:`~sqlite3.Connection."
"load_extension`. (Contributed by Erlend E. Aasland in :issue:`43762`.)"
msgstr ""
"Ajout d'événements d'audit pour :func:`~sqlite3.connect/handle`, :meth:"
"`~sqlite3.Connection.enable_load_extension` et :meth:`~sqlite3.Connection."
"load_extension` (contribution d'*Erlend E. Aasland* dans :issue:`43762`)."

#: whatsnew/3.10.rst:1401
msgid "sys"
msgstr "``sys``"

#: whatsnew/3.10.rst:1403
msgid ""
"Add :data:`sys.orig_argv` attribute: the list of the original command line "
"arguments passed to the Python executable. (Contributed by Victor Stinner "
"in :issue:`23427`.)"
msgstr ""
"Ajout de l'attribut :data:`sys.orig_argv` : la liste des arguments de ligne "
"de commande originalement passée à l'exécutable Python (contribution de "
"*Victor Stinner* dans :issue:`23427`)."

#: whatsnew/3.10.rst:1407
msgid ""
"Add :data:`sys.stdlib_module_names`, containing the list of the standard "
"library module names. (Contributed by Victor Stinner in :issue:`42955`.)"
msgstr ""
"Ajout de :data:`sys.stdlib_module_names` qui contient la liste des noms des "
"modules de la bibliothèque standard (contribution de *Victor Stinner* dans :"
"issue:`42955`)."

#: whatsnew/3.10.rst:1412
msgid "_thread"
msgstr "``_thread``"

#: whatsnew/3.10.rst:1414
#, fuzzy
msgid ""
":func:`_thread.interrupt_main` now takes an optional signal number to "
"simulate (the default is still :const:`signal.SIGINT`). (Contributed by "
"Antoine Pitrou in :issue:`43356`.)"
msgstr ""
":func:`_thread.interrupt_main` prend maintenant l'argument optionnel "
"``signum`` : le numéro de signal à simuler (la valeur par défaut est "
"toujours :data:`signal.SIGINT`) (contribution d'*Antoine Pitrou* dans :issue:"
"`43356`)."

#: whatsnew/3.10.rst:1419
msgid "threading"
msgstr "``threading``"

#: whatsnew/3.10.rst:1421
msgid ""
"Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve "
"the functions set by :func:`threading.settrace` and :func:`threading."
"setprofile` respectively. (Contributed by Mario Corchero in :issue:`42251`.)"
msgstr ""
"Ajout des fonctions :func:`threading.gettrace` et :func:`threading."
"getprofile` pour récupérer les fonctions assignées par :func:`threading."
"settrace` et :func:`threading.setprofile` respectivement (contribution de "
"*Mario Corchero* dans :issue:`42251`)."

#: whatsnew/3.10.rst:1426
msgid ""
"Add :data:`threading.__excepthook__` to allow retrieving the original value "
"of :func:`threading.excepthook` in case it is set to a broken or a different "
"value. (Contributed by Mario Corchero in :issue:`42308`.)"
msgstr ""
"Ajout de :data:`threading.__excepthook__` pour permettre la récupération de :"
"func:`threading.excepthook` au cas où elle serait affectée à une valeur "
"incorrecte ou différente (contribution de *Mario Corchero* dans :issue:"
"`42308`)."

#: whatsnew/3.10.rst:1432
msgid "traceback"
msgstr "``traceback``"

#: whatsnew/3.10.rst:1434
msgid ""
"The :func:`~traceback.format_exception`, :func:`~traceback."
"format_exception_only`, and :func:`~traceback.print_exception` functions can "
"now take an exception object as a positional-only argument. (Contributed by "
"Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)"
msgstr ""
"Les fonctions :func:`~traceback.format_exception`, :func:`~traceback."
"format_exception_only` et :func:`~traceback.print_exception` peuvent "
"maintenant prendre un objet exception en argument positionnel (contribution "
"de *Zackery Spytz* et *Matthias Bussonnier* dans :issue:`26389`)."

#: whatsnew/3.10.rst:1441
msgid "types"
msgstr "``types``"

#: whatsnew/3.10.rst:1443
msgid ""
"Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and :data:"
"`types.NotImplementedType` classes, providing a new set of types readily "
"interpretable by type checkers. (Contributed by Bas van Beek in :issue:"
"`41810`.)"
msgstr ""
"Les classes :data:`types.EllipsisType`, :data:`types.NoneType` et :data:"
"`types.NotImplementedType` sont ajoutées de nouveau. Elles fournissent un "
"nouvel ensemble de types facilement interprétable par les vérificateurs de "
"types (contribution de *Bas van Beek* dans :issue:`41810`)."

#: whatsnew/3.10.rst:1449
msgid "typing"
msgstr "``typing``"

#: whatsnew/3.10.rst:1451
msgid "For major changes, see :ref:`new-feat-related-type-hints`."
msgstr "Pour les changements majeurs, voir :ref:`new-feat-related-type-hints`."

#: whatsnew/3.10.rst:1453
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 la :pep:`586` et pour correspondre au comportement des vérificateurs de "
"types statiques défini dans la PEP."

#: whatsnew/3.10.rst:1456
msgid "``Literal`` now de-duplicates parameters."
msgstr "``Literal`` dé-duplique maintenant les paramètres."

#: whatsnew/3.10.rst:1457
msgid ""
"Equality comparisons between ``Literal`` objects are now order independent."
msgstr ""
"La comparaison d'égalité entre objets ``Literal`` ne tient plus compte de "
"l'ordre."

#: whatsnew/3.10.rst:1458
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 de ``Literal`` respectent maintenant les types. Par "
"exemple, ``Literal[0] == Literal[False]`` était préalablement évaluée à "
"``True``. Elle est maintenant ``False``. Pour prendre en charge ce "
"changement, le cache des types de l'implémentation interne peut maintenant "
"différencier entre les types."

#: whatsnew/3.10.rst:1462
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 unhashable parameters will not throw an "
"error::"
msgstr ""
"Les objets ``Literal`` lèvent maintenant une exception :exc:`TypeError` "
"pendant la comparaison d'égalité si au moins un de leurs paramètres n'est "
"pas :term:`hachable`. Notez que déclarer un ``Literal`` avec des paramètres "
"non hachables ne lève pas d'erreur ::"

#: whatsnew/3.10.rst:1474
msgid "(Contributed by Yurii Karabas in :issue:`42345`.)"
msgstr "(contribution de *Yurii Karabas* dans :issue:`42345`)."

#: whatsnew/3.10.rst:1476
#, fuzzy
msgid ""
"Add new function :func:`typing.is_typeddict` to introspect if an annotation "
"is a :class:`typing.TypedDict`. (Contributed by Patrick Reader in :issue:"
"`41792`.)"
msgstr ""
"Ajout d'une nouvelle fonction :func:`typing.is_typeddict` pour inspecter si "
"une annotation est une :class:`typing.TypedDict` (contribution de *Patrick "
"Reader* dans :issue:`41792`)."

#: whatsnew/3.10.rst:1480
#, fuzzy
msgid ""
"Subclasses of ``typing.Protocol`` which only have data variables declared "
"will now raise a ``TypeError`` when checked with ``isinstance`` unless they "
"are decorated with :func:`runtime_checkable`.  Previously, these checks "
"passed silently.  Users should decorate their subclasses with the :func:"
"`runtime_checkable` decorator if they want runtime protocols. (Contributed "
"by Yurii Karabas in :issue:`38908`.)"
msgstr ""
"Les sous-classes de ``typing.Protocol`` qui ne contiennent que des "
"déclarations de variables de données vont maintenant lever une ``TypeError`` "
"quand elles sont testées avec ``isinstance``, sauf si elles sont décorées "
"par :func:`runtime_checkable`. Auparavant, ces tests passaient "
"silencieusement. Les utilisateurs doivent décorer leurs sous-classes avec le "
"décorateur :func:`runtime_checkable` s'ils désirent les protocoles à "
"l'exécution (contribution de *Yurii Karabas* dans :issue:`38908`)."

#: whatsnew/3.10.rst:1488
#, fuzzy
msgid ""
"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :"
"exc:`DeprecationWarning`.  These submodules have been deprecated since "
"Python 3.8 and will be removed in a future version of Python.  Anything "
"belonging to those submodules should be imported directly from :mod:`typing` "
"instead. (Contributed by Sebastian Rittau in :issue:`38291`.)"
msgstr ""
"Importer quoi que ce soit des sous-modules ``typing.io`` et ``typing.re`` "
"émet maintenant un :exc:`DeprecationWarning`. Ces sous-modules sont "
"obsolètes depuis Python 3.8 et seront retirés dans une version future de "
"Python. Tout ce qui appartient à ces modules doit plutôt être importé "
"directement du module :mod:`typing` (contribution de *Sebastian Rittau* "
"dans :issue:`38291`)."

#: whatsnew/3.10.rst:1496
msgid "unittest"
msgstr "``unittest``"

#: whatsnew/3.10.rst:1498
msgid ""
"Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the "
"existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi "
"in :issue:`39385`.)"
msgstr ""
"Ajout d'une nouvelle méthode :meth:`~unittest.TestCase.assertNoLogs` pour "
"complémenter la méthode existante :meth:`~unittest.TestCase.assertLogs` "
"(contribution de *Kit Yan Choi* dans :issue:`39385`)."

#: whatsnew/3.10.rst:1503
msgid "urllib.parse"
msgstr "``urllib.parse``"

#: whatsnew/3.10.rst:1505
msgid ""
"Python versions earlier than Python 3.10 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éalables à Python 3.10 acceptaient les deux caractères ``;`` "
"et ``&`` comme séparateurs de paramètres de requêtes dans :func:`urllib."
"parse.parse_qs` et :func:`urllib.parse.parse_qsl`. Pour prévenir des failles "
"de sécurité potentielles et pour respecter les dernières 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 l'implémentation interne "
"de :func:`cgi.parse` et de :func:`cgi.parse_multipart` puisqu'elles "
"utilisent les fonctions affectées. Pour plus de détails, voir la "
"documentation respective de ces fonctions (contribution d'*Adam "
"Goldschmidt*, de *Senthil Kumaran* et de *Ken Jin* dans :issue:`42967`)."

#: whatsnew/3.10.rst:1516
msgid "xml"
msgstr "``xml``"

#: whatsnew/3.10.rst:1518
msgid ""
"Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax."
"handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :"
"issue:`35018`.)"
msgstr ""
"Ajout d'une classe :class:`~xml.sax.handler.LexicalHandler` au module :mod:"
"`xml.sax.handler` (contribution de *Jonathan Gossage* de *Zackery Spytz* "
"dans :issue:`35018`)."

#: whatsnew/3.10.rst:1523
msgid "zipimport"
msgstr "``zipimport``"

#: whatsnew/3.10.rst:1524
msgid ""
"Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter."
"find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:"
"`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon in :issue:"
"`42131`.)"
msgstr ""
"Ajout des méthodes relatives à la :pep:`451` : :meth:`~zipimport.zipimporter."
"find_spec`, :meth:`zipimport.zipimporter.create_module` et :meth:`zipimport."
"zipimporter.exec_module` (contribution de *Brett Cannon* dans :issue:"
"`42131`)."

#: whatsnew/3.10.rst:1529
msgid ""
"Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by "
"Desmond Cheong in :issue:`14678`.)"
msgstr ""
"Ajout de la méthode :meth:`~zipimport.zipimporter.invalidate_caches` "
"(contribution de *Desmond Cheong* dans :issue:`14678`)."

#: whatsnew/3.10.rst:1534
msgid "Optimizations"
msgstr "Optimisations"

#: whatsnew/3.10.rst:1536
msgid ""
"Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster "
"(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :"
"issue:`41334`.)"
msgstr ""
"Les constructeurs de :func:`str`, :func:`bytes` et :func:`bytearray` sont "
"maintenant plus rapides (environ 30—40 % pour les petits objets) "
"(contribution de *Serhiy Storchaka* dans :issue:`41334`)."

#: whatsnew/3.10.rst:1540
msgid ""
"The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-"
"name`` command startup time is 1.4x faster in average. On Linux, ``python3 -"
"I -m module-name`` imports 69 modules on Python 3.9, whereas it only imports "
"51 modules (-18) on Python 3.10. (Contributed by Victor Stinner in :issue:"
"`41006` and :issue:`41718`.)"
msgstr ""
"Le module :mod:`runpy` importe maintenant moins de modules. Le temps de "
"démarrage de la commande ``python3 -m module-name`` est en moyenne 1,4 fois "
"plus rapide. Sur Linux ``python3 -I -m module-name`` importe 69 modules dans "
"Python 3.9, alors qu'elle n'en importe que 51 (18 de moins) dans Python 3.10 "
"(contribution de *Victor Stinner* dans :issue:`41006` et dans :issue:"
"`41718`)."

#: whatsnew/3.10.rst:1546
msgid ""
"The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism.  "
"It is about 36% faster now for regular attributes and 44% faster for slots. "
"(Contributed by Pablo Galindo and Yury Selivanov in :issue:`42093` and Guido "
"van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy "
"and MicroPython.)"
msgstr ""
"L'instruction ``LOAD_ATTR`` utilise maintenant le mécanisme de cache par "
"code d'opération. Elle est environ 36 % plus rapide pour les attributs "
"ordinaires et 44 % plus rapide pour les *slots* (contribution de *Pablo "
"Galindo* et de *Yury Selivanov* dans :issue:`42093` et *Guido van Rossum* "
"dans :issue:`42927`, basée sur des idées originalement mises en œuvre dans "
"*PyPy* et dans *MicroPython*)."

#: whatsnew/3.10.rst:1552
msgid ""
"When building Python with :option:`--enable-optimizations` now ``-fno-"
"semantic-interposition`` is added to both the compile and link line. This "
"speeds builds of the Python interpreter created with :option:`--enable-"
"shared` with ``gcc`` by up to 30%. See `this article <https://developers."
"redhat.com/blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-"
"python-3-8-run-speeds/>`_ for more details. (Contributed by Victor Stinner "
"and Pablo Galindo in :issue:`38980`.)"
msgstr ""
"Lors de la construction de Python avec :option:`--enable-optimizations`, ``-"
"fno-semantic-interposition`` est maintenant ajouté aux lignes de commande de "
"compilation et d'édition des liens. Ceci accélère les binaires de "
"l'interpréteur Python créés avec :option:`--enable-shared` et ``gcc`` "
"jusqu'à 30 %. Voir `cet article <https://developers.redhat.com/"
"blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-8-run-"
"speeds/>`_ (en anglais) pour plus de détails (contribution de *Victor "
"Stinner* et *Pablo Galindo* dans :issue:`38980`)."

#: whatsnew/3.10.rst:1560
msgid ""
"Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / :mod:"
"`zlib` modules, and add ``.readall()`` function to ``_compression."
"DecompressReader`` class. bz2 decompression is now 1.09x ~ 1.17x faster, "
"lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)`` 1.11x ~ 1.18x "
"faster. (Contributed by Ma Lin, reviewed by Gregory P. Smith, in :issue:"
"`41486`)"
msgstr ""
"Ré-usinage du code assurant la gestion du tampon de sortie pour les modules :"
"mod:`bz2`, :mod:`lzma` et :mod:`zlib`. Ajout de la fonction ``.readall()`` à "
"la classe ``_compression.DecompressReader``. La décompression *bz2* est 1,09 "
"à 1,17 fois plus rapide, la décompression *lzma* est 1,20 à 1,32 fois plus "
"rapide, ``GzipFile.read(-1)`` est 1,11 à 1,18 fois plus rapide (contribution "
"de *Ma Lin*, révision par *Gregory P. Smith* dans :issue:`41486`)."

#: whatsnew/3.10.rst:1566
#, fuzzy
msgid ""
"When using stringized annotations, annotations dicts for functions are no "
"longer created when the function is created.  Instead, they are stored as a "
"tuple of strings, and the function object lazily converts this into the "
"annotations dict on demand.  This optimization cuts the CPU time needed to "
"define an annotated function by half. (Contributed by Yurii Karabas and "
"Inada Naoki in :issue:`42202`.)"
msgstr ""
"Quand les annotations sous forme de chaînes sont utilisées, les "
"dictionnaires d'annotations ne sont plus créés à la création de la fonction. "
"À la place, elles sont stockées dans des *n*-uplets de chaînes et l'objet "
"fonction les convertit vers le dictionnaire d'annotations de façon "
"paresseuse (c.-à-d. au besoin). Cette optimisation réduit de moitié le temps "
"CPU nécessaire à la définition d'une fonction annotée (contribution de "
"*Yurii Karabas* et *Inada Naoki* dans :issue:`42202`)."

#: whatsnew/3.10.rst:1573
msgid ""
"Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` "
"now sometimes use Crochemore & Perrin's \"Two-Way\" string searching "
"algorithm to avoid quadratic behavior on long strings.  (Contributed by "
"Dennis Sweeney in :issue:`41972`)"
msgstr ""
"Les fonctions de recherche de sous-chaînes telles que ``str1 in str2`` et "
"``str2.find(str1)`` peuvent utiliser maintenant l'algorithme "
"« bidirectionnel » de recherche de chaînes *Crochemore et Perrin* pour "
"éviter le comportement quadratique sur les longues chaînes (contribution de "
"*Dennis Sweeney* dans :issue:`41972`)."

#: whatsnew/3.10.rst:1578
#, fuzzy
msgid ""
"Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute "
"cache lookup performance in the common case of cache hits. This makes the "
"interpreter 1.04 times faster on average. (Contributed by Dino Viehland in :"
"issue:`43452`.)"
msgstr ""
"Ajout d'une micro-optimisation dans ``_PyType_Lookup()`` pour améliorer la "
"performance de la recherche du type des attributs dans le cache, dans le cas "
"le plus commun où il est dans le cache. Ceci accélère l'interpréteur d'un "
"facteur de 1,04 en moyenne (contribution de *Dino Viehland* dans :issue:"
"`43452`)."

#: whatsnew/3.10.rst:1582
#, fuzzy
msgid ""
"The following built-in functions now support the faster :pep:`590` "
"vectorcall calling convention: :func:`map`, :func:`filter`, :func:"
"`reversed`, :func:`bool` and :func:`float`. (Contributed by Dong-hee Na and "
"Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:"
"`41873` and :issue:`41870`.)"
msgstr ""
"Les fonctions natives suivantes prennent maintenant en charge la convention "
"d'appel plus performante *vectorcall* définie dans la :pep:`590` : :func:"
"`map`, :func:`filter`, :func:`reversed`, :func:`bool` et :func:`float` "
"(contribution de *Dong-hee Na* et *Jeroen Demeyer* dans :issue:`43575`, :"
"issue:`43287`, :issue:`41922`, :issue:`41873` et :issue:`41870`)."

#: whatsnew/3.10.rst:1586
#, fuzzy
msgid ""
":class:`BZ2File` performance is improved by removing internal ``RLock``. "
"This makes :class:`BZ2File` thread unsafe in the face of multiple "
"simultaneous readers or writers, just like its equivalent classes in :mod:"
"`gzip` and :mod:`lzma` have always been.  (Contributed by Inada Naoki in :"
"issue:`43785`.)"
msgstr ""
"La performance de :class:`BZ2File` est améliorée par le retrait d'un verrou "
"``RLock`` interne. Ceci rend :class:`BZ2File` incompatible avec les fils "
"d'exécutions multiples quand il y a plusieurs lecteurs ou écrivains "
"concurrents, tout comme les classes équivalentes dans :mod:`gzip` et :mod:"
"`lzma` qui l'ont toujours été (contribution de *Inada Naoki* dans :issue:"
"`43785`)."

#: whatsnew/3.10.rst:2200
msgid "Deprecated"
msgstr "Obsolescence"

#: whatsnew/3.10.rst:1596
#, fuzzy
msgid ""
"Currently Python accepts numeric literals immediately followed by keywords, "
"for example ``0in x``, ``1or x``, ``0if 1else 2``.  It allows confusing and "
"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as "
"``[0x1 for x in y]`` or ``[0x1f or x in y]``).  Starting in this release, a "
"deprecation warning is raised if the numeric literal is immediately followed "
"by one of keywords :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:"
"`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`. In future releases it "
"will be changed to syntax warning, and finally to syntax error. (Contributed "
"by Serhiy Storchaka in :issue:`43833`.)"
msgstr ""
"Actuellement, Python accepte les littéraux numériques immédiatement suivis "
"par un mot clé, par exemple : ``0in x``, ``1or x``, ``0if 1else 2``. Ceci "
"peut donner lieu à des expressions ambigües ou déroutantes telles que "
"``[0x1for x in y]`` (qui peut être interprétée comme ``[0x1 for x in y]`` ou "
"comme ``[0x1f or x in y]``). À partir de cette version, un avertissement "
"indiquant l'obsolescence programmée est levé si un littéral numérique est "
"immédiatement suivi d'un des mots clés suivants : :keyword:`and`, :keyword:"
"`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` et :"
"keyword:`or`. Dans une version future, un avertissement sur la syntaxe sera "
"levé, et ultérieurement ce sera une erreur de syntaxe (contribution de "
"*Serhiy Storchaka* dans :issue:`43833`)."

#: whatsnew/3.10.rst:1607
msgid ""
"Starting in this release, there will be a concerted effort to begin cleaning "
"up old import semantics that were kept for Python 2.7 compatibility. "
"Specifically, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:"
"`~importlib.abc.Finder.find_module` (superseded by :meth:`~importlib.abc."
"Finder.find_spec`), :meth:`~importlib.abc.Loader.load_module` (superseded "
"by :meth:`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader."
"module_repr` (which the import system takes care of for you), the "
"``__package__`` attribute (superseded by ``__spec__.parent``), the "
"``__loader__`` attribute (superseded by ``__spec__.loader``), and the "
"``__cached__`` attribute (superseded by ``__spec__.cached``) will slowly be "
"removed (as well as other classes and methods in :mod:`importlib`). :exc:"
"`ImportWarning` and/or :exc:`DeprecationWarning` will be raised as "
"appropriate to help identify code which needs updating during this "
"transition."
msgstr ""
"À partir de la version présente, il y aura un effort coordonné pour "
"commencer le nettoyage des anciennes sémantiques d'importation qui étaient "
"gardées pour la compatibilité avec Python 2.7. Plus spécifiquement, :meth:"
"`~importlib.abc.PathEntryFinder.find_loader`/:meth:`~importlib.abc.Finder."
"find_module` (remplacées par :meth:`~importlib.abc.Finder.find_spec`), :meth:"
"`~importlib.abc.Loader.load_module` (remplacée par :meth:`~importlib.abc."
"Loader.exec_module`), :meth:`~importlib.abc.Loader.module_repr` (qui est "
"géré par le système d'importation pour vous), l'attribut ``__package__`` "
"(remplacé par ``__spec__.parent``), l'attribut ``__loader__`` (remplacé par "
"``__spec__.loader``) et l'attribut ``__cached__`` (remplacé par ``__spec__."
"cached``) seront progressivement retirés (de même que d'autres classes et "
"méthodes dans :mod:`importlib`). Des :exc:`ImportWarning` ou :exc:"
"`DeprecationWarning` seront levés le cas échéant pendant cette transition "
"pour aider à identifier le code qui doit être mis à jour."

#: whatsnew/3.10.rst:1624
msgid ""
"The entire ``distutils`` namespace is deprecated, to be removed in Python "
"3.12. Refer to the :ref:`module changes <distutils-deprecated>` section for "
"more information."
msgstr ""
"L'espace de noms ``distutils`` est complètement obsolète et sera retiré dans "
"Python 3.12. Voir la section sur les :ref:`changements aux modules "
"<distutils-deprecated>` pour plus d'information."

#: whatsnew/3.10.rst:1628
msgid ""
"Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:"
"`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by "
"Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)"
msgstr ""
"Les arguments non entiers de :func:`random.randrange` sont obsolètes. La "
"levée de :exc:`ValueError` dans ce cas est obsolète et est remplacée par :"
"exc:`TypeError` (contribution de *Serhiy Storchaka* et *Raymond Hettinger* "
"dans :issue:`37319`)."

#: whatsnew/3.10.rst:1632
msgid ""
"The various ``load_module()`` methods of :mod:`importlib` have been "
"documented as deprecated since Python 3.6, but will now also trigger a :exc:"
"`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` instead. "
"(Contributed by Brett Cannon in :issue:`26131`.)"
msgstr ""
"Les multiples méthodes ``load_module()`` de :mod:`importlib` étaient "
"documentées comme obsolètes depuis Python 3.6, mais elles vont maintenant "
"aussi lever un :exc:`DeprecationWarning`. Utilisez plutôt :meth:`~importlib."
"abc.Loader.exec_module` (contribution de *Brett Cannon* dans :issue:`26131`)."

#: whatsnew/3.10.rst:1638
msgid ""
":meth:`zimport.zipimporter.load_module` has been deprecated in preference "
"for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon "
"in :issue:`26131`.)"
msgstr ""
":meth:`zimport.zipimporter.load_module` est obsolète. Utilisez plutôt :meth:"
"`~zipimport.zipimporter.exec_module` (contribution de *Brett Cannon* dans :"
"issue:`26131`)."

#: whatsnew/3.10.rst:1642
msgid ""
"The use of :meth:`~importlib.abc.Loader.load_module` by the import system "
"now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader."
"exec_module` is preferred. (Contributed by Brett Cannon in :issue:`26131`.)"
msgstr ""
"L'utilisation de :meth:`~importlib.abc.Loader.load_module` par le système "
"d'importation lève maintenant un :exc:`ImportWarning` car :meth:`~importlib."
"abc.Loader.exec_module` est recommandée (contribution de (*Brett Cannon* "
"dans :issue:`26131`)."

#: whatsnew/3.10.rst:1647
msgid ""
"The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:"
"`importlib.abc.PathEntryFinder.find_module` by the import system now trigger "
"an :exc:`ImportWarning` as :meth:`importlib.abc.MetaPathFinder.find_spec` "
"and :meth:`importlib.abc.PathEntryFinder.find_spec` are preferred, "
"respectively. You can use :func:`importlib.util.spec_from_loader` to help in "
"porting. (Contributed by Brett Cannon in :issue:`42134`.)"
msgstr ""
"L'utilisation de :meth:`importlib.abc.MetaPathFinder.find_module` et de :"
"meth:`importlib.abc.PathEntryFinder.find_module` par le système "
"d'importation lève maintenant un :exc:`ImportWarning` car :meth:`importlib."
"abc.MetaPathFinder.find_spec` et :meth:`importlib.abc.PathEntryFinder."
"find_spec` sont recommandées, respectivement. Vous pouvez utiliser :func:"
"`importlib.util.spec_from_loader` pour faciliter le portage (contribution de "
"*Brett Cannon* dans :issue:`42134`)."

#: whatsnew/3.10.rst:1656
msgid ""
"The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import "
"system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc."
"PathEntryFinder.find_spec` is preferred. You can use :func:`importlib.util."
"spec_from_loader` to help in porting. (Contributed by Brett Cannon in :issue:"
"`43672`.)"
msgstr ""
"L'utilisation de :meth:`importlib.abc.PathEntryFinder.find_loader` par le "
"système d'importation lève maintenant un :exc:`ImportWarning`. Son "
"remplacement par :meth:`importlib.abc.PathEntryFinder.find_spec` est "
"recommandé. Vous pouvez utiliser :func:`importlib.util.spec_from_loader` "
"pour faciliter le portage (contribution de *Brett Cannon* dans :issue:"
"`43672`)."

#: whatsnew/3.10.rst:1662
msgid ""
"The various implementations of :meth:`importlib.abc.MetaPathFinder."
"find_module` ( :meth:`importlib.machinery.BuiltinImporter.find_module`, :"
"meth:`importlib.machinery.FrozenImporter.find_module`, :meth:`importlib."
"machinery.WindowsRegistryFinder.find_module`, :meth:`importlib.machinery."
"PathFinder.find_module`, :meth:`importlib.abc.MetaPathFinder."
"find_module` ), :meth:`importlib.abc.PathEntryFinder.find_module` ( :meth:"
"`importlib.machinery.FileFinder.find_module` ), and :meth:`importlib.abc."
"PathEntryFinder.find_loader` ( :meth:`importlib.machinery.FileFinder."
"find_loader` ) now raise :exc:`DeprecationWarning` and are slated for "
"removal in Python 3.12 (previously they were documented as deprecated in "
"Python 3.4). (Contributed by Brett Cannon in :issue:`42135`.)"
msgstr ""
"Plusieurs implémentations de :meth:`importlib.abc.MetaPathFinder."
"find_module` (:meth:`importlib.machinery.BuiltinImporter.find_module`, :meth:"
"`importlib.machinery.FrozenImporter.find_module`, :meth:`importlib.machinery."
"WindowsRegistryFinder.find_module`, :meth:`importlib.machinery.PathFinder."
"find_module` et :meth:`importlib.abc.MetaPathFinder.find_module`), :meth:"
"`importlib.abc.PathEntryFinder.find_module` (:meth:`importlib.machinery."
"FileFinder.find_module`) et :meth:`importlib.abc.PathEntryFinder."
"find_loader` (:meth:`importlib.machinery.FileFinder.find_loader`) lèvent "
"maintenant :exc:`DeprecationWarning` et seront retirées dans Python 3.12 "
"(elles étaient documentées comme obsolètes depuis Python 3.4) (contribution "
"de *Brett Cannon* dans :issue:`42135`)."

#: whatsnew/3.10.rst:1677
msgid ""
":class:`importlib.abc.Finder` is deprecated (including its sole method, :"
"meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc."
"MetaPathFinder` and :class:`importlib.abc.PathEntryFinder` no longer inherit "
"from the class. Users should inherit from one of these two classes as "
"appropriate instead. (Contributed by Brett Cannon in :issue:`42135`.)"
msgstr ""
":class:`importlib.abc.Finder` est obsolète (incluant sa seule méthode, :meth:"
"`~importlib.abc.Finder.find_module`). Les deux classes :class:`importlib.abc."
"MetaPathFinder` et :class:`importlib.abc.PathEntryFinder` n'héritent plus de "
"``Finder``. Les utilisateurs doivent hériter d'une de ces deux classes le "
"cas échéant (contribution de *Brett Cannon* dans :issue:`42135`)."

#: whatsnew/3.10.rst:1684
msgid ""
"The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:"
"`importlib.util.set_package_wrapper`, :func:`importlib.util."
"set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:"
"`pkgutil.ImpImporter`, and :class:`pkgutil.ImpLoader` have all been updated "
"to list Python 3.12 as the slated version of removal (they began raising :"
"exc:`DeprecationWarning` in previous versions of Python). (Contributed by "
"Brett Cannon in :issue:`43720`.)"
msgstr ""
"Les déclarations d'obsolescence de :mod:`imp`, :func:`importlib."
"find_loader`, :func:`importlib.util.set_package_wrapper`, :func:`importlib."
"util.set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:"
"`pkgutil.ImpImporter` et :class:`pkgutil.ImpLoader` ont étés mises à jour "
"pour indiquer Python 3.12 comme la version où elles seront retirées (elles "
"lèvent un :exc:`DeprecationWarning` depuis les précédentes versions de "
"Python) (contribution de *Brett Cannon* dans :issue:`43720`)."

#: whatsnew/3.10.rst:1694
msgid ""
"The import system now uses the ``__spec__`` attribute on modules before "
"falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's "
"``__repr__()`` method. Removal of the use of ``module_repr()`` is scheduled "
"for Python 3.12. (Contributed by Brett Cannon in :issue:`42137`.)"
msgstr ""
"Le système d'importation utilise maintenant l'attribut ``__spec__`` des "
"modules avant de se rabattre sur :meth:`~importlib.abc.Loader.module_repr` "
"pour la méthode ``__repr__()`` des modules. Le retrait de l'utilisation de "
"``module_repr()`` est planifié pour Python 3.12 (contribution de *Brett "
"Cannon* dans :issue:`42137`)."

#: whatsnew/3.10.rst:1700
msgid ""
":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery."
"FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader."
"module_repr` are deprecated and slated for removal in Python 3.12. "
"(Contributed by Brett Cannon in :issue:`42136`.)"
msgstr ""
":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery."
"FrozenLoader.module_repr` et :meth:`importlib.machinery.BuiltinLoader."
"module_repr` sont obsolètes et seront retirées dans Python 3.12 "
"(contribution de *Brett Cannon* dans :issue:`42136`)."

#: whatsnew/3.10.rst:1706
msgid ""
"``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python "
"3.3, when it was made an alias to :class:`str`.  It is now deprecated, "
"scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland in :"
"issue:`42264`.)"
msgstr ""
"``sqlite3.OptimizedUnicode`` est non-documenté et désuète depuis Python 3.3, "
"quand elle devenue un alias de :class:`str`. Elle est maintenant déclarée "
"obsolète et sera retiré dans Python 3.12 (contribution de *Erlend E. "
"Aasland* dans :issue:`42264`)."

#: whatsnew/3.10.rst:1711
msgid ""
"The undocumented built-in function ``sqlite3.enable_shared_cache`` is now "
"deprecated, scheduled for removal in Python 3.12.  Its use is strongly "
"discouraged by the SQLite3 documentation.  See `the SQLite3 docs <https://"
"sqlite.org/c3ref/enable_shared_cache.html>`_ for more details. If a shared "
"cache must be used, open the database in URI mode using the ``cache=shared`` "
"query parameter. (Contributed by Erlend E. Aasland in :issue:`24464`.)"
msgstr ""
"La fonction native non-documentée ``sqlite3.enable_shared_cache`` est "
"maintenant obsolète et sera retirée dans Python 3.12. Son utilisation est "
"fortement déconseillée dans la documentation de SQLite3. Voir `la "
"documentation de SQLite3 <https://sqlite.org/c3ref/enable_shared_cache."
"html>`_ (en anglais) pour plus de détails. Si un cache partagé est "
"nécessaire, ouvrez la base de données en mode URI en utilisant le paramètre "
"de requête ``cache=shared`` (contribution de *Erlend E. Aasland* dans :issue:"
"`24464`)."

#: whatsnew/3.10.rst:1719
msgid "The following ``threading`` methods are now deprecated:"
msgstr ""
"Les méthodes suivantes du module ``threading`` sont maintenant obsolètes :"

#: whatsnew/3.10.rst:1721
msgid "``threading.currentThread`` => :func:`threading.current_thread`"
msgstr "``threading.currentThread`` => :func:`threading.current_thread` ;"

#: whatsnew/3.10.rst:1723
msgid "``threading.activeCount`` => :func:`threading.active_count`"
msgstr "``threading.activeCount`` => :func:`threading.active_count` ;"

#: whatsnew/3.10.rst:1725
msgid ""
"``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`"
msgstr ""
"``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all` ;"

#: whatsnew/3.10.rst:1728
msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`"
msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set` ;"

#: whatsnew/3.10.rst:1730
msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`"
msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name` ;"

#: whatsnew/3.10.rst:1732
msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`"
msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name` ;"

#: whatsnew/3.10.rst:1734
msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`"
msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon` ;"

#: whatsnew/3.10.rst:1736
msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`"
msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`."

#: whatsnew/3.10.rst:1738
#, fuzzy
msgid "(Contributed by Jelle Zijlstra in :gh:`87889`.)"
msgstr "(Contribution de *Jelle Zijlstra* dans :issue:`21574`.)"

#: whatsnew/3.10.rst:1740
msgid ""
":meth:`pathlib.Path.link_to` is deprecated and slated for removal in Python "
"3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney "
"Gale in :issue:`39950`.)"
msgstr ""
":meth:`pathlib.Path.link_to` est obsolète et sera retirée dans Python 3.12. "
"Utilisez plutôt :meth:`pathlib.Path.hardlink_to` (contribution de *Barney "
"Gale* dans :issue:`39950`)."

#: whatsnew/3.10.rst:1744
msgid ""
"``cgi.log()`` is deprecated and slated for removal in Python 3.12. "
"(Contributed by Inada Naoki in :issue:`41139`.)"
msgstr ""
"``cgi.log()`` est obsolète et sera retirée dans Python 3.12 (contribution de "
"*Inada Naoki* dans :issue:`41139`)."

#: whatsnew/3.10.rst:1747
msgid ""
"The following :mod:`ssl` features have been deprecated since Python 3.6, "
"Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:"
msgstr ""
"Les fonctionnalités suivantes de :mod:`ssl` sont obsolètes depuis Python "
"3.6, Python 3.7 ou *OpenSSL* 1.1.0 et seront retirées dans 3.11 :"

#: whatsnew/3.10.rst:1750
msgid ""
":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl."
"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and :"
"data:`~ssl.OP_NO_TLSv1_3` are replaced by :attr:`sslSSLContext."
"minimum_version` and :attr:`sslSSLContext.maximum_version`."
msgstr ""
":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl."
"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2` et :"
"data:`~ssl.OP_NO_TLSv1_3` sont remplacés par :attr:`sslSSLContext."
"minimum_version` et :attr:`sslSSLContext.maximum_version` ;"

#: whatsnew/3.10.rst:1756
#, fuzzy
msgid ""
":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl."
"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl."
"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2`, and :const:`~ssl."
"PROTOCOL_TLS` are deprecated in favor of :const:`~ssl.PROTOCOL_TLS_CLIENT` "
"and :const:`~ssl.PROTOCOL_TLS_SERVER`"
msgstr ""
":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl."
"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl."
"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2` et :data:`~ssl."
"PROTOCOL_TLS` sont obsolètes et remplacés par :data:`~ssl."
"PROTOCOL_TLS_CLIENT` et :data:`~ssl.PROTOCOL_TLS_SERVER` ;"

#: whatsnew/3.10.rst:1762
msgid ""
":func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`"
msgstr ""
":func:`~ssl.wrap_socket` est remplacée par :meth:`ssl.SSLContext."
"wrap_socket` ;"

#: whatsnew/3.10.rst:1764
msgid ":func:`~ssl.match_hostname`"
msgstr ":func:`~ssl.match_hostname` ;"

#: whatsnew/3.10.rst:1766
msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`"
msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd` ;"

#: whatsnew/3.10.rst:1768
msgid ""
"NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl."
"SSLContext.set_npn_protocols` are replaced by ALPN."
msgstr ""
"Les fonctionnalités NPN (*Next Protocol Negotiation*) telles que :meth:`ssl."
"SSLSocket.selected_npn_protocol` et :meth:`ssl.SSLContext.set_npn_protocols` "
"sont remplacées par ALPN (*Application Layer Protocol Negotiation*)."

#: whatsnew/3.10.rst:1771
msgid ""
"The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is "
"deprecated in Python 3.10 and will be removed in Python 3.12. This feature "
"requires a :ref:`debug build of Python <debug-build>`. (Contributed by "
"Victor Stinner in :issue:`44584`.)"
msgstr ""
"Le débogage des fils d'exécution (variable d'environnement :envvar:"
"`PYTHONTHREADDEBUG`) est obsolète dans Python 3.10 et sera retiré dans "
"Python 3.12. Cette fonctionnalité nécessite un interpréteur :ref:`compilé "
"avec les paramètres de débogage <debug-build>` (contribution de *Victor "
"Stinner* dans :issue:`44584`)."

#: whatsnew/3.10.rst:1776
#, fuzzy
msgid ""
"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :"
"exc:`DeprecationWarning`.  These submodules will be removed in a future "
"version of Python.  Anything belonging to these submodules should be "
"imported directly from :mod:`typing` instead. (Contributed by Sebastian "
"Rittau in :issue:`38291`.)"
msgstr ""
"Importer des sous-modules ``typing.io`` et ``typing.re`` lève maintenant un :"
"exc:`DeprecationWarning`. Ces sous-modules seront retirés dans une version "
"future de Python. Le contenu de ces sous-modules devrait plutôt être importé "
"directement du module :mod:`typing` (contribution de *Sebastian Rittau* "
"dans :issue:`38291`)."

#: whatsnew/3.10.rst:2208
msgid "Removed"
msgstr "Retrait"

#: whatsnew/3.10.rst:1787
msgid ""
"Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, "
"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and "
"``__rdivmod__`` of the :class:`complex` class.  They always raised a :exc:"
"`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)"
msgstr ""
"Les méthodes spéciales ``__int__``, ``__float__``, ``__floordiv__``, "
"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` et "
"``__rdivmod__`` sont retirées de la classe :class:`complex`. Elles levaient "
"toujours une :exc:`TypeError` (contribution de *Serhiy Storchaka* dans :"
"issue:`41974`)."

#: whatsnew/3.10.rst:1793
msgid ""
"The ``ParserBase.error()`` method from the private and undocumented "
"``_markupbase`` module has been removed.  :class:`html.parser.HTMLParser` is "
"the only subclass of ``ParserBase`` and its ``error()`` implementation was "
"already removed in Python 3.5. (Contributed by Berker Peksag in :issue:"
"`31844`.)"
msgstr ""
"La méthode ``ParserBase.error()`` du module privé et non-documenté "
"``_markupbase`` a été retirée. :class:`html.parser.HTMLParser` est la seule "
"sous-classe de ``ParserBase`` et son implémentation de la méthode "
"``error()`` a été retirée dans Python 3.5 (contribution de *Berker Peksag* "
"dans :issue:`31844`)."

#: whatsnew/3.10.rst:1799
msgid ""
"Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal "
"PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was "
"moved to the internal C API. (Contributed by Victor Stinner in :issue:"
"`42157`.)"
msgstr ""
"Retrait de l'attribut ``unicodedata.ucnhash_CAPI`` qui était un objet "
"``PyCapsule`` interne. La structure privée associée ``_PyUnicode_Name_CAPI`` "
"a été déplacée vers l'API C interne (contribution de *Victor Stinner* dans :"
"issue:`42157`)."

#: whatsnew/3.10.rst:1804
msgid ""
"Removed the ``parser`` module, which was deprecated in 3.9 due to the switch "
"to the new PEG parser, as well as all the C source and header files that "
"were only being used by the old parser, including ``node.h``, ``parser.h``, "
"``graminit.h`` and ``grammar.h``."
msgstr ""
"Retrait du module ``parser`` qui était obsolète depuis 3.9 étant donné la "
"transition vers le nouvel analyseur syntaxique PEG. Retrait aussi des "
"fichiers source et en-tête C qui n'étaient utilisés que par l'ancien "
"analyseur, ceci comprend ``node.h``, ``parser.h``, ``graminit.h`` et "
"``grammar.h``."

#: whatsnew/3.10.rst:1809
msgid ""
"Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, "
"``PyParser_SimpleParseStringFlagsFilename``, "
"``PyParser_SimpleParseFileFlags`` and ``PyNode_Compile`` that were "
"deprecated in 3.9 due to the switch to the new PEG parser."
msgstr ""
"Retrait des fonctions ``PyParser_SimpleParseStringFlags``, "
"``PyParser_SimpleParseStringFlagsFilename``, "
"``PyParser_SimpleParseFileFlags`` et ``PyNode_Compile`` de l'API C publique. "
"Elles étaient obsolètes depuis 3.9 étant donné la transition vers "
"l'analyseur syntaxique *PEG*."

#: whatsnew/3.10.rst:1814
msgid ""
"Removed the ``formatter`` module, which was deprecated in Python 3.4. It is "
"somewhat obsolete, little used, and not tested. It was originally scheduled "
"to be removed in Python 3.6, but such removals were delayed until after "
"Python 2.7 EOL. Existing users should copy whatever classes they use into "
"their code. (Contributed by Dong-hee Na and Terry J. Reedy in :issue:"
"`42299`.)"
msgstr ""
"Retrait du module ``formatter`` qui était obsolète depuis Python 3.4. Il "
"était quelque peu désuet, peu utilisé et non-testé. Il était originalement "
"planifié pour le retrait dans Python 3.6, mais ces retraits ont été retardés "
"jusqu'à la fin de la prise en charge de Python 2.7. Les utilisateurs de ce "
"module doivent copier les classes qu'ils utilisent dans leur propre code "
"(contribution de *Dong-hee Na* et *Terry J. Reedy* dans :issue:`42299`)."

#: whatsnew/3.10.rst:1821
msgid ""
"Removed the :c:func:`PyModule_GetWarningsModule` function that was useless "
"now due to the _warnings module was converted to a builtin module in 2.6. "
"(Contributed by Hai Shi in :issue:`42599`.)"
msgstr ""
"Retrait de la fonction :c:func:`PyModule_GetWarningsModule` qui était "
"maintenant inutile depuis la conversion de ``_warnings`` en module natif "
"dans 2.6 (contribution de *Hai Shi* dans :issue:`42599`)."

#: whatsnew/3.10.rst:1825
msgid ""
"Remove deprecated aliases to :ref:`collections-abstract-base-classes` from "
"the :mod:`collections` module. (Contributed by Victor Stinner in :issue:"
"`37324`.)"
msgstr ""
"Retrait des alias obsolètes :ref:`collections-abstract-base-classes` du "
"module :mod:`collections` (contribution de *Victor Stinner* dans :issue:"
"`37324`)."

#: whatsnew/3.10.rst:1829
msgid ""
"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :"
"doc:`high-level API <../library/asyncio-api-index>` following deprecation in "
"Python 3.8.  The motivation behind this change is multifold:"
msgstr ""
"Le paramètre ``loop`` a été retiré de la majorité de :doc:`l'API haut-niveau "
"<../library/asyncio-api-index>` d':mod:`asyncio`. Il était obsolète depuis "
"Python 3.8. La motivation pour ce changement avait plusieurs facettes :"

#: whatsnew/3.10.rst:1833
msgid "This simplifies the high-level API."
msgstr "ceci simplifie l'API haut-niveau ;"

#: whatsnew/3.10.rst:1834
msgid ""
"The functions in the high-level API have been implicitly getting the current "
"thread's running event loop since Python 3.7.  There isn't a need to pass "
"the event loop to the API in most normal use cases."
msgstr ""
"les fonctions dans l'API haut niveau reçoivent implicitement la boucle "
"d'évènements qui tourne dans le présent fil d'exécution depuis Python 3.7. "
"Il n'y a aucun besoin de passer la boucle d'évènements à l'API dans la "
"majorité de son utilisation normale ;"

#: whatsnew/3.10.rst:1837
msgid ""
"Event loop passing is error-prone especially when dealing with loops running "
"in different threads."
msgstr ""
"le passage de la boucle d'évènements cause facilement des erreurs quand "
"plusieurs boucles qui tournent dans plusieurs fils d'exécution sont "
"impliquées."

#: whatsnew/3.10.rst:1840
msgid ""
"Note that the low-level API will still accept ``loop``. See :ref:`changes-"
"python-api` for examples of how to replace existing code."
msgstr ""
"Prenez note que l'API bas-niveau accepte toujours le paramètre ``loop``. "
"Voir :ref:`changes-python-api` pour plus d'exemples sur comment remplacer le "
"code existant"

#: whatsnew/3.10.rst:1915
msgid ""
"(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle "
"Stanley in :issue:`42392`.)"
msgstr ""
"(contribution de *Yurii Karabas*, *Andrew Svetlov*, *Yury Selivanov* et "
"*Kyle Stanley* dans :issue:`42392`)."

#: whatsnew/3.10.rst:2135
msgid "Porting to Python 3.10"
msgstr "Portage vers Python 3.10"

#: whatsnew/3.10.rst:1850
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 autres "
"améliorations qui peuvent demander des changements à votre code."

#: whatsnew/3.10.rst:1855
msgid "Changes in the Python syntax"
msgstr "Changements à la syntaxe de Python"

#: whatsnew/3.10.rst:1857
#, fuzzy
msgid ""
"Deprecation warning is now emitted when compiling previously valid syntax if "
"the numeric literal is immediately followed by a keyword (like in ``0in "
"x``). In future releases it will be changed to syntax warning, and finally "
"to a syntax error.  To get rid of the warning and make the code compatible "
"with future releases just add a space between the numeric literal and the "
"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`.)"
msgstr ""
"Un ``DeprecationWarning`` est maintenant levé lors de la compilation de "
"syntaxe qui était préalablement valide si un littéral numérique est "
"immédiatement suivi d'un mot clé (comme dans ``0in x``). Dans une version "
"future, il sera changé en avertissement de syntaxe, puis finalement en "
"erreur de syntaxe. Pour vous débarrasser de l'avertissement et pour rendre "
"votre code compatible avec les versions futures de Python, ajoutez "
"simplement une espace entre le littéral numérique et le mot clé qui le suit "
"(contribution de *Serhiy Storchaka* dans :issue:`43833`)."

#: whatsnew/3.10.rst:1868
msgid "Changes in the Python API"
msgstr "Changements dans l'API Python"

#: whatsnew/3.10.rst:1870
msgid ""
"The *etype* parameters of the :func:`~traceback.format_exception`, :func:"
"`~traceback.format_exception_only`, and :func:`~traceback.print_exception` "
"functions in the :mod:`traceback` module have been renamed to *exc*. "
"(Contributed by Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)"
msgstr ""
"Les paramètres *etype* des fonctions :func:`~traceback.format_exception`, :"
"func:`~traceback.format_exception_only` et :func:`~traceback."
"print_exception` du module :mod:`traceback` ont étés renommés *exc* "
"(contribution de *Zackery Spytz* et *Matthias Bussonnier* dans :issue:"
"`26389`)."

#: whatsnew/3.10.rst:1876
msgid ""
":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit."
"register` fails, its exception is now logged. Previously, only some "
"exceptions were logged, and the last exception was always silently ignored. "
"(Contributed by Victor Stinner in :issue:`42639`.)"
msgstr ""
":mod:`atexit` : à la fin de l'exécution de Python, si une fonction de rappel "
"qui a été enregistrée avec :func:`atexit.register` échoue, son exception est "
"maintenant journalisée. Préalablement, seulement certaines exceptions "
"étaient journalisées et la dernière exception était toujours ignorée de "
"façon silencieuse (contribution de *Victor Stinner* dans :issue:`42639`)."

#: whatsnew/3.10.rst:1882
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)``.  Code which "
"accesses the arguments via :func:`typing.get_args` or ``__args__`` need to "
"account for this change.  Furthermore, :exc:`TypeError` may be raised for "
"invalid forms of parameterizing :class:`collections.abc.Callable` which may "
"have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:"
"`42195`.)"
msgstr ""
"Les génériques de :class:`collections.abc.Callable` aplatissent maintenant "
"les paramètres de types tel qu'il est fait par :data:`typing.Callable`. Ceci "
"veut dire que ``collections.abc.Callable[[int, str], str]`` aura un attribut "
"``__args__`` de valeur ``(int, str, str)`` ; préalablement, il aurait été "
"``([int, str], str)``. Les codes qui accèdent aux arguments par :func:"
"`typing.get_args` ou ``__args__`` doivent tenir compte de ce changement. De "
"plus, :exc:`TypeError` sera levée pour des formes invalides de "
"paramétrisation de :class:`collections.abc.Callable`, ce qui aurait pu "
"passer silencieusement dans Python 3.9 (contribution de *Ken Jin* dans :"
"issue:`42195`)."

#: whatsnew/3.10.rst:1892
msgid ""
":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` "
"instead of :exc:`DeprecationWarning` if the given parameter will not fit in "
"a 16-bit unsigned integer. (Contributed by Erlend E. Aasland in :issue:"
"`42393`.)"
msgstr ""
":meth:`socket.htons` et :meth:`socket.ntohs` lèvent maintenant :exc:"
"`OverflowError` plutôt que :exc:`DeprecationWarning` si le paramètre passé "
"est trop grand pour être stocké dans un entier 16-bit non-signé "
"(contribution de *Erlend E. Aasland* dans :issue:`42393`)."

#: whatsnew/3.10.rst:1897
msgid ""
"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :"
"doc:`high-level API <../library/asyncio-api-index>` following deprecation in "
"Python 3.8."
msgstr ""
"Le paramètre ``loop`` a été retiré de la majorité de :doc:`l'API haut-niveau "
"<../library/asyncio-api-index>` d':mod:`asyncio` suite à la déclaration de "
"son obsolescence dans Python 3.8."

#: whatsnew/3.10.rst:1901
msgid "A coroutine that currently looks like this::"
msgstr "Une coroutine qui ressemble actuellement à ceci ::"

#: whatsnew/3.10.rst:1906
msgid "Should be replaced with this::"
msgstr "Doit être remplacée par ceci ::"

#: whatsnew/3.10.rst:1911
msgid ""
"If ``foo()`` was specifically designed *not* to run in the current thread's "
"running event loop (e.g. running in another thread's event loop), consider "
"using :func:`asyncio.run_coroutine_threadsafe` instead."
msgstr ""
"Si ``foo()`` a été spécifiquement conçue pour *ne pas* s'exécuter dans le "
"fil d'exécution courant, (par exemple pour tourner dans la boucle "
"d'exécution d'un autre fil), l'utilisation de :func:`asyncio."
"run_coroutine_threadsafe` est probablement plus appropriée."

#: whatsnew/3.10.rst:1918
msgid ""
"The :data:`types.FunctionType` constructor now inherits the current builtins "
"if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than "
"using ``{\"None\": None}`` as builtins: same behavior as :func:`eval` and :"
"func:`exec` functions.  Defining a function with ``def function(...): ...`` "
"in Python is not affected, globals cannot be overridden with this syntax: it "
"also inherits the current builtins. (Contributed by Victor Stinner in :issue:"
"`42990`.)"
msgstr ""
"Le constructeur de :data:`types.FunctionType` hérite maintenant des "
"définitions natives si le dictionnaire *globals* n'a pas de clé "
"``\"__builtins__\"``, plutôt que d'utiliser ``{\"None\": None}`` pour les "
"définitions natives : même comportement que celui des fonctions :func:`eval` "
"et :func:`exec`. Définir une fonction avec ``def function(...): ...`` en "
"Python n'est pas affecté, les globales ne peuvent pas être changées avec "
"cette syntaxe : elles héritent aussi des définitions natives courantes "
"(contribution de *Victor Stinner* dans :issue:`42990`)."

#: whatsnew/3.10.rst:1927
msgid "Changes in the C API"
msgstr "Changements dans l'API C"

#: whatsnew/3.10.rst:1929
msgid ""
"The C API functions ``PyParser_SimpleParseStringFlags``, "
"``PyParser_SimpleParseStringFlagsFilename``, "
"``PyParser_SimpleParseFileFlags``, ``PyNode_Compile`` and the type used by "
"these functions, ``struct _node``, were removed due to the switch to the new "
"PEG parser."
msgstr ""
"Les fonctions de l'API C ``PyParser_SimpleParseStringFlags``, "
"``PyParser_SimpleParseStringFlagsFilename``, "
"``PyParser_SimpleParseFileFlags`` et ``PyNode_Compile`` ainsi que ``struct "
"_node``, le type utilisé par ces fonctions, ont été retirés suite à la "
"transition vers le nouvel analyseur syntaxique *PEG*."

#: whatsnew/3.10.rst:1935
msgid ""
"Source should be now be compiled directly to a code object using, for "
"example, :c:func:`Py_CompileString`. The resulting code object can then be "
"evaluated using, for example, :c:func:`PyEval_EvalCode`."
msgstr ""
"Le code source doit maintenant être compilé directement en un objet code, en "
"utilisant par exemple :c:func:`Py_CompileString`. L'objet code ainsi produit "
"peut ensuite être évalué, en utilisant par exemple :c:func:`PyEval_EvalCode`."

#: whatsnew/3.10.rst:1939
msgid "Specifically:"
msgstr "Spécifiquement :"

#: whatsnew/3.10.rst:1941
msgid ""
"A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile`` "
"can be replaced by calling :c:func:`Py_CompileString`."
msgstr ""
"Un appel à ``PyParser_SimpleParseStringFlags`` suivi de ``PyNode_Compile`` "
"peut être remplacé par :c:func:`Py_CompileString` ;"

#: whatsnew/3.10.rst:1944
msgid ""
"There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To "
"compile code from a ``FILE *`` argument, you will need to read the file in C "
"and pass the resulting buffer to :c:func:`Py_CompileString`."
msgstr ""
"Il n'y a pas de remplacement immédiat pour "
"``PyParser_SimpleParseFileFlags``. Pour compiler du code à partir d'un "
"argument ``FILE *``, vous devez lire le fichier en C et passer le tampon "
"résultant à :c:func:`Py_CompileString`."

#: whatsnew/3.10.rst:1948
msgid ""
"To compile a file given a ``char *`` filename, explicitly open the file, "
"read it and compile the result. One way to do this is using the :py:mod:`io` "
"module with :c:func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :"
"c:func:`PyBytes_AsString` and :c:func:`Py_CompileString`, as sketched below. "
"(Declarations and error handling are omitted.) ::"
msgstr ""
"Pour compiler un fichier à partir du ``char *`` de son nom, ouvrez le "
"fichier de façon explicite, lisez son contenu et compilez le résultat. Une "
"façon de faire est d'utiliser le module :py:mod:`io` en conjonction avec :c:"
"func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :c:func:"
"`PyBytes_AsString` et :c:func:`Py_CompileString`, comme dans l'esquisse qui "
"suit (les déclarations et la gestion d'erreurs ne sont pas incluses) ::"

#: whatsnew/3.10.rst:1961
msgid ""
"For ``FrameObject`` objects, the ``f_lasti`` member now represents a "
"wordcode offset instead of a simple offset into the bytecode string. This "
"means that this number needs to be multiplied by 2 to be used with APIs that "
"expect a byte offset instead (like :c:func:`PyCode_Addr2Line` for example). "
"Notice as well that the ``f_lasti`` member of ``FrameObject`` objects is not "
"considered stable: please use :c:func:`PyFrame_GetLineNumber` instead."
msgstr ""
"Pour les objets ``FrameObject``, le champ ``f_lasti`` représente maintenant "
"en décalage par *wordcode* plutôt qu'un simple décalage dans la chaîne de "
"code intermédiaire. Il est donc nécessaire de multiplier ce nombre par 2 "
"pour l'utiliser dans les API qui attendent un décalage par octet (tel que :c:"
"func:`PyCode_Addr2Line`, par exemple). Prenez aussi note que le champ "
"``f_lasti`` de ``FrameObject`` n'est pas considéré stable : utilisez plutôt :"
"c:func:`PyFrame_GetLineNumber`."

#: whatsnew/3.10.rst:1969
msgid "CPython bytecode changes"
msgstr "Changements au code intermédiaire CPython"

#: whatsnew/3.10.rst:1971
#, fuzzy
msgid ""
"The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of "
"strings as the function's annotations. (Contributed by Yurii Karabas and "
"Inada Naoki in :issue:`42202`.)"
msgstr ""
"L'instruction ``MAKE_FUNCTION`` accepte maintenant soit un dictionnaire, "
"soit un *n*-uplet de chaînes pour l'annotation de la fonction (contribution "
"de *Yurii Karabas* et *Inada Naoki* dans :issue:`42202`)."

#: whatsnew/3.10.rst:1976
msgid "Build Changes"
msgstr "Changements à la compilation"

#: whatsnew/3.10.rst:1978
msgid ""
":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no "
"longer supported. (Contributed by Christian Heimes in :issue:`43669`.)"
msgstr ""
":pep:`644` : la version minimale d'*OpenSSL* pour Python est maintenant "
"1.1.1. *OpenSSL* 1.0.2 n'est plus prise en charge (contribution de "
"*Christian Heimes* dans :issue:`43669`)."

#: whatsnew/3.10.rst:1982
msgid ""
"The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now "
"required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)"
msgstr ""
"Les fonctions de *C99* :c:func:`snprintf` et :c:func:`vsnprintf` sont "
"maintenant nécessaires à la compilation de Python (contribution de *Victor "
"Stinner* dans :issue:`36020`)."

#: whatsnew/3.10.rst:1986
msgid ""
":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey "
"Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)"
msgstr ""
"La version minimale de SQLite pour le module :mod:`sqlite3` est maintenant "
"3.7.15 (contribution de *Sergey Fedoseev* et *Erlend E. Aasland* dans :issue:"
"`40744` et :issue:`40810`)."

#: whatsnew/3.10.rst:1989
msgid ""
"The :mod:`atexit` module must now always be built as a built-in module. "
"(Contributed by Victor Stinner in :issue:`42639`.)"
msgstr ""
"Le module :mod:`atexit` doit maintenant toujours être compilé en tant que "
"module natif (contribution de *Victor Stinner* dans :issue:`42639`)."

#: whatsnew/3.10.rst:1992
msgid ""
"Add :option:`--disable-test-modules` option to the ``configure`` script: "
"don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas "
"Petazzoni and Peixing Xin in :issue:`27640`.)"
msgstr ""
"Ajout de l'option :option:`--disable-test-modules` au script ``configure`` : "
"ne pas compiler ni installer les modules de tests (contribution de *Xavier "
"de Gaye*, *Thomas Petazzoni* et *Peixing Xin* dans :issue:`27640`)."

#: whatsnew/3.10.rst:1996
msgid ""
"Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the "
"``./configure`` script. If specified, the :mod:`ensurepip` module looks for "
"``setuptools`` and ``pip`` wheel packages in this directory: if both are "
"present, these wheel packages are used instead of ensurepip bundled wheel "
"packages."
msgstr ""
"Ajout de l'option :option:`--with-wheel-pkg-dir=PATH <--with-wheel-pkg-dir>` "
"au script ``./configure``. Si elle est passée, le module :mod:`ensurepip` "
"recherche les paquets *wheel* de ``setuptools`` et de ``pip`` dans ce "
"répertoire : si les deux sont présents, ces paquets *wheel* sont utilisés "
"plutôt que ceux inclus avec *ensurepip*."

#: whatsnew/3.10.rst:2002
msgid ""
"Some Linux distribution packaging policies recommend against bundling "
"dependencies. For example, Fedora installs wheel packages in the ``/usr/"
"share/python-wheels/`` directory and don't install the ``ensurepip."
"_bundled`` package."
msgstr ""
"La politique de paquets de certaines distributions Linux déconseille "
"l'inclusion des dépendances. Par exemple, Fedora installe les paquets "
"*wheel* dans le répertoire ``/usr/share/python-wheels/`` et n'installe pas "
"le paquet ``ensurepip._bundled``"

#: whatsnew/3.10.rst:2007
msgid "(Contributed by Victor Stinner in :issue:`42856`.)"
msgstr "(contribution de *Victor Stinner* dans :issue:`42856`)."

#: whatsnew/3.10.rst:2009
msgid ""
"Add a new :option:`configure --without-static-libpython option <--without-"
"static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static "
"library and not install the ``python.o`` object file."
msgstr ""
"Ajout d'une nouvelle option :option:`--without-static-libpython` au script "
"``configure`` pour ne pas compiler la bibliothèque statique ``libpythonMAJOR."
"MINOR.a`` et ne pas installer le fichier objet ``python.o``"

#: whatsnew/3.10.rst:2013
msgid "(Contributed by Victor Stinner in :issue:`43103`.)"
msgstr "(contribution de *Victor Stinner* dans :issue:`43103`)."

#: whatsnew/3.10.rst:2015
#, fuzzy
msgid ""
"The ``configure`` script now uses the ``pkg-config`` utility, if available, "
"to detect the location of Tcl/Tk headers and libraries.  As before, those "
"locations can be explicitly specified with the ``--with-tcltk-includes`` and "
"``--with-tcltk-libs`` configuration options. (Contributed by Manolis "
"Stamatogiannakis in :issue:`42603`.)"
msgstr ""
"Le script ``configure`` utilise maintenant l'utilitaire ``pkg-config`` "
"lorsqu'il est disponible pour repérer l'emplacement des en-têtes et des "
"bibliothèques *Tcl/Tk*. Comme auparavant, ces emplacements peuvent être "
"spécifiés de façon explicite par les options de configuration :option:`--"
"with-tcltk-includes` et :option:`--with-tcltk-libs` (contribution de "
"*Manolis Stamatogiannakis* et :issue:`42603`)."

#: whatsnew/3.10.rst:2021
msgid ""
"Add :option:`--with-openssl-rpath` option to ``configure`` script. The "
"option simplifies building Python with a custom OpenSSL installation, e.g. "
"``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``. "
"(Contributed by Christian Heimes in :issue:`43466`.)"
msgstr ""
"Ajout de l'option :option:`--with-openssl-rpath` au script ``configure``. "
"Cette option simplifie la compilation de Python avec une installation "
"personnalisée d'OpenSSL, par exemple : ``./configure --with-openssl=/path/to/"
"openssl --with-openssl-rpath=auto`` (contribution de *Christian Heimes* "
"dans :issue:`43466`)."

#: whatsnew/3.10.rst:2028
msgid "C API Changes"
msgstr "Changements à l'API C"

#: whatsnew/3.10.rst:2031
msgid "PEP 652: Maintaining the Stable ABI"
msgstr "PEP 652 : maintenance d'une ABI stable"

#: whatsnew/3.10.rst:2033
msgid ""
"The Stable ABI (Application Binary Interface) for extension modules or "
"embedding Python is now explicitly defined. :ref:`stable` describes C API "
"and ABI stability guarantees along with best practices for using the Stable "
"ABI."
msgstr ""
"L'interface binaire-programme (*Application Binary Interface*, *ABI* en "
"anglais) stable pour les modules d'extension ou pour l'intégration de Python "
"est maintenant définie de façon explicite. Le document :ref:`stable` décrit "
"les garanties de stabilité pour l'API C et pour l'interface binaire-"
"programme ainsi que les bonnes pratiques pour travailler avec l'interface "
"binaire-programme stable"

#: whatsnew/3.10.rst:2038
msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)"
msgstr ""
"(contribution de *Petr Viktorin* dans :pep:`652` et dans :issue:`43795`)."

#: whatsnew/3.10.rst:2043
msgid ""
"The result of :c:func:`PyNumber_Index` now always has exact type :class:"
"`int`. Previously, the result could have been an instance of a subclass of "
"``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)"
msgstr ""
"Le résultat de :c:func:`PyNumber_Index` est maintenant exactement de type :"
"class:`int`. Auparavant, le résultat pouvait être une instance d'une classe "
"dérivée de ``int`` (contribution de *Serhiy Storchaka* dans :issue:`40792`)."

#: whatsnew/3.10.rst:2047
msgid ""
"Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` "
"structure: the list of the original command line arguments passed to the "
"Python executable. (Contributed by Victor Stinner in :issue:`23427`.)"
msgstr ""
"Ajout d'un nouveau champ :c:member:`~PyConfig.orig_argv` à la structure :c:"
"type:`PyConfig` : la liste des arguments de ligne de commande originalement "
"passée à l'exécutable Python (contribution de *Victor Stinner* dans :issue:"
"`23427`)."

#: whatsnew/3.10.rst:2052
msgid ""
"The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:"
"`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the "
"``tzinfo`` attributes of :class:`datetime.datetime` and :class:`datetime."
"time` objects. (Contributed by Zackery Spytz in :issue:`30155`.)"
msgstr ""
"Les macros :c:func:`PyDateTime_DATE_GET_TZINFO` et :c:func:"
"`PyDateTime_TIME_GET_TZINFO` ont été ajoutées pour récupérer l'attribut "
"``tzinfo`` des objets :class:`datetime.datetime` et :class:`datetime.time` "
"(contribution de *Zackery Spytz* dans :issue:`30155`)."

#: whatsnew/3.10.rst:2058
msgid ""
"Add a :c:func:`PyCodec_Unregister` function to unregister a codec search "
"function. (Contributed by Hai Shi in :issue:`41842`.)"
msgstr ""
"Ajout d'une fonction :c:func:`PyCodec_Unregister` pour désinscrire une "
"fonction de recherche de codecs (contribution de *Hai Shi* dans :issue:"
"`41842`)."

#: whatsnew/3.10.rst:2062
msgid ""
"The :c:func:`PyIter_Send` function was added to allow sending value into "
"iterator without raising ``StopIteration`` exception. (Contributed by "
"Vladimir Matveev in :issue:`41756`.)"
msgstr ""
"Ajout de la fonction :c:func:`PyIter_Send` pour acheminer une valeur dans un "
"itérateur sans lever une exception ``StopIteration`` (contribution de "
"*Vladimir Matveev* dans :issue:`41756`)."

#: whatsnew/3.10.rst:2066
msgid ""
"Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by "
"Alex Gaynor in :issue:`41784`.)"
msgstr ""
"Ajout de :c:func:`PyUnicode_AsUTF8AndSize` à l'API C limitée (contribution "
"d'*Alex Gaynor* dans :issue:`41784`)."

#: whatsnew/3.10.rst:2069
msgid ""
"Add :c:func:`PyModule_AddObjectRef` function: similar to :c:func:"
"`PyModule_AddObject` but don't steal a reference to the value on success. "
"(Contributed by Victor Stinner in :issue:`1635741`.)"
msgstr ""
"Ajout de la fonction :c:func:`PyModule_AddObjectRef` : comparable à :c:func:"
"`PyModule_AddObject` mais ne s’accapare pas une référence à la valeur s'il y "
"a réussite (contribution de *Victor Stinner* dans :issue:`1635741`)."

#: whatsnew/3.10.rst:2074
msgid ""
"Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the "
"reference count of an object and return the object. (Contributed by Victor "
"Stinner in :issue:`42262`.)"
msgstr ""
"Ajout des fonctions :c:func:`Py_NewRef` et :c:func:`Py_XNewRef` pour "
"incrémenter le compteur des références d'un objet et renvoyer l'objet "
"(contribution de *Victor Stinner* dans :issue:`42262`)."

# Auparavant, *bases* pouvait être un n-uplet de plusieurs classes.
#: whatsnew/3.10.rst:2078
msgid ""
"The :c:func:`PyType_FromSpecWithBases` and :c:func:"
"`PyType_FromModuleAndSpec` functions now accept a single class as the "
"*bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)"
msgstr ""
"Les fonctions :c:func:`PyType_FromSpecWithBases` et :c:func:"
"`PyType_FromModuleAndSpec` n'acceptent maintenant qu'une seule classe pour "
"l'argument *bases* (contribution *Serhiy Storchaka* dans :issue:`42423`)."

#: whatsnew/3.10.rst:2082
msgid ""
"The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` "
"slot. (Contributed by Hai Shi in :issue:`41832`.)"
msgstr ""
"La fonction :c:func:`PyType_FromModuleAndSpec` accepte maintenant ``NULL`` "
"dans l'emplacement ``tp_doc`` (contribution de *Hai Shi* dans :issue:"
"`41832`)."

#: whatsnew/3.10.rst:2086
msgid ""
"The :c:func:`PyType_GetSlot` function can accept :ref:`static types <static-"
"types>`. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)"
msgstr ""
"La fonction :c:func:`PyType_GetSlot` peut maintenant accepter des :ref:"
"`types statiques <static-types>` (contribution de *Hai Shi* et *Petr "
"Viktorin* dans :issue:`41073`)."

#: whatsnew/3.10.rst:2090
msgid ""
"Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an "
"object is an instance of :class:`set` but not an instance of a subtype. "
"(Contributed by Pablo Galindo in :issue:`43277`.)"
msgstr ""
"Ajout d'une nouvelle fonction :c:func:`PySet_CheckExact` à l'API C pour "
"vérifier si un objet est une instance de :class:`set` mais pas une instance "
"d'un sous-type (contribution de *Pablo Galindo* dans :issue:`43277`)."

#: whatsnew/3.10.rst:2094
msgid ""
"Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to "
"simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)"
msgstr ""
"Ajout de :c:func:`PyErr_SetInterruptEx` qui accepte le numéro d'un signal à "
"simuler (contribution d'*Antoine Pitrou* dans :issue:`43356`)."

#: whatsnew/3.10.rst:2098
msgid ""
"The limited C API is now supported if :ref:`Python is built in debug mode "
"<debug-build>` (if the ``Py_DEBUG`` macro is defined). In the limited C API, "
"the :c:func:`Py_INCREF` and :c:func:`Py_DECREF` functions are now "
"implemented as opaque function calls, rather than accessing directly the :c:"
"member:`PyObject.ob_refcnt` member, if Python is built in debug mode and the "
"``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became possible to "
"support the limited C API in debug mode because the :c:type:`PyObject` "
"structure is the same in release and debug mode since Python 3.8 (see :issue:"
"`36465`)."
msgstr ""
"L'API C limitée est maintenant prise en charge si Python est compilé en :ref:"
"`mode débogage <debug-build>` (si la macro ``Py_DEBUG`` est définie). Dans "
"l'API C limitée, les fonctions :c:func:`Py_INCREF` et :c:func:`Py_DECREF` "
"sont maintenant implémentées en appel de fonctions opaques, plutôt que "
"d'accéder directement au champ :c:member:`PyObject.ob_refcnt`. C'est le cas "
"si Python est compilé en mode débogage et que la macro ``Py_LIMITED_API`` "
"vise Python 3.10 ou plus récent. Il est possible de prendre en charge l'API "
"C limitée en mode débogage, car la structure :c:type:`PyObject` est la même "
"dans les versions standard et dans les versions débogage depuis Python 3.8 "
"(voir :issue:`36465`)."

#: whatsnew/3.10.rst:2108
msgid ""
"The limited C API is still not supported in the :option:`--with-trace-refs` "
"special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in :"
"issue:`43688`.)"
msgstr ""
"L'API C limitée n'est toujours pas prise en charge dans les compilations "
"spéciales avec l'option :option:`--with-trace-refs` (macro "
"``Py_TRACE_REFS``) (Contribution de *Victor Stinner* dans :issue:`43688`)."

#: whatsnew/3.10.rst:2112
msgid ""
"Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is "
"the *y* object, the same as ``x is y`` in Python. Add also the :c:func:"
"`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to test if "
"an object is, respectively, the ``None`` singleton, the ``True`` singleton "
"or the ``False`` singleton. (Contributed by Victor Stinner in :issue:"
"`43753`.)"
msgstr ""
"Ajout de la fonction :c:func:`Py_Is(x, y) <Py_Is>` pour vérifier si l'objet "
"*x* est l'objet *y*, tout comme ``x is y`` en Python. Ajout aussi des "
"fonctions :c:func:`Py_IsNone`, :c:func:`Py_IsTrue` et :c:func:`Py_IsFalse` "
"pour vérifier si l'objet est le singleton ``None``, le singleton ``True`` ou "
"le singleton ``False``, respectivement (contribution de *Victor Stinner* "
"dans :issue:`43753`)."

#: whatsnew/3.10.rst:2119
msgid ""
"Add new functions to control the garbage collector from C code: :c:func:"
"`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. These "
"functions allow to activate, deactivate and query the state of the garbage "
"collector from C code without having to import the :mod:`gc` module."
msgstr ""
"Ajout de fonctions pour contrôler le ramasse-miettes en C : :c:func:"
"`PyGC_Enable()`, :c:func:`PyGC_Disable()` et :c:func:`PyGC_IsEnabled()`. Ces "
"fonctions permettent d'activer, de désactiver et d'interroger l'état du "
"ramasse-miettes dans du code C sans avoir à importer le module :mod:`gc`."

#: whatsnew/3.10.rst:2126
#, fuzzy
msgid ""
"Add a new :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow "
"creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)"
msgstr ""
"Ajout d'une nouvelle option :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` pour "
"les types. Elle empêche la création d'instances de ce type (contribution de "
"*Victor Stinner* dans :issue:`43916`)."

#: whatsnew/3.10.rst:2130
#, fuzzy
msgid ""
"Add a new :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating "
"immutable type objects: type attributes cannot be set nor deleted. "
"(Contributed by Victor Stinner and Erlend E. Aasland in :issue:`43908`.)"
msgstr ""
"Ajout d'une nouvelle option :c:data:`Py_TPFLAGS_IMMUTABLETYPE` pour les "
"types qui permet de créer des objets de types immuable : les attributs du "
"type ne peuvent pas être affectés ou supprimés (contribution de *Victor "
"Stinner* et d'*Erlend E. Aasland* dans :issue:`43908`)."

#: whatsnew/3.10.rst:2137
msgid ""
"The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:"
"`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: "
"``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. See :"
"ref:`arg-parsing` and :pep:`353`. (Contributed by Victor Stinner in :issue:"
"`40943`.)"
msgstr ""

#: whatsnew/3.10.rst:2143
msgid ""
"Since :c:func:`Py_REFCNT()` is changed to the inline static function, "
"``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, "
"new_refcnt)``: see :c:func:`Py_SET_REFCNT()` (available since Python 3.9). "
"For backward compatibility, this macro can be used::"
msgstr ""
"Étant donné la conversion de :c:func:`Py_REFCNT()` en fonction statique en-"
"ligne, ``Py_REFCNT(obj) = new_refcnt`` doit être remplacé par "
"``Py_SET_REFCNT(obj, new_refcnt)`` : voir :c:func:`Py_SET_REFCNT()` "
"(disponible depuis Python 3.9). Pour la rétro-compatibilité, cette macro "
"peut être utilisée ::"

#: whatsnew/3.10.rst:2152
msgid "(Contributed by Victor Stinner in :issue:`39573`.)"
msgstr "(contribution de *Victor Stinner* dans :issue:`39573`)."

#: whatsnew/3.10.rst:2154
msgid ""
"Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed "
"for historical reason. It is no longer allowed. (Contributed by Victor "
"Stinner in :issue:`40839`.)"
msgstr ""
"Appeler :c:func:`PyDict_GetItem` sans avoir obtenu le :term:`GIL` était "
"autorisé pour des raisons historiques. Ceci n'est plus permis (contribution "
"de *Victor Stinner* dans :issue:`40839`)."

#: whatsnew/3.10.rst:2158
msgid ""
"``PyUnicode_FromUnicode(NULL, size)`` and "
"``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` "
"now.  Use :c:func:`PyUnicode_New` to allocate Unicode object without initial "
"data. (Contributed by Inada Naoki in :issue:`36346`.)"
msgstr ""
"``PyUnicode_FromUnicode(NULL, size)`` et ``PyUnicode_FromStringAndSize(NULL, "
"size)`` lèvent maintenant un ``DeprecationWarning``. Vous devez utiliser :c:"
"func:`PyUnicode_New` pour allouer un objet Unicode sans donnée initiale "
"(contribution de *Inada Naoki* dans :issue:`36346`)."

#: whatsnew/3.10.rst:2163
msgid ""
"The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API "
"``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. "
"(Contributed by Victor Stinner in :issue:`42157`.)"
msgstr ""
"La structure privée ``_PyUnicode_Name_CAPI`` de l'API PyCapsule "
"``unicodedata.ucnhash_CAPI`` a été déplacée dans l'API C interne. "
"(Contribution par Victor Stinner dans :issue:`42157`.)"

#: whatsnew/3.10.rst:2167
msgid ""
":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:"
"func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:"
"`Py_GetProgramName` functions now return ``NULL`` if called before :c:func:"
"`Py_Initialize` (before Python is initialized). Use the new :ref:`init-"
"config` API to get the :ref:`init-path-config`. (Contributed by Victor "
"Stinner in :issue:`42260`.)"
msgstr ""

#: whatsnew/3.10.rst:2174
msgid ""
":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:"
"`PyCell_SET` macros can no longer be used as l-value or r-value. For "
"example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) = "
"x`` now fail with a compiler error. It prevents bugs like ``if "
"(PyList_SET_ITEM (a, b, c) < 0) ...`` test. (Contributed by Zackery Spytz "
"and Victor Stinner in :issue:`30459`.)"
msgstr ""

#: whatsnew/3.10.rst:2181
msgid ""
"The non-limited API files ``odictobject.h``, ``parser_interface.h``, "
"``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe."
"h``, and ``pytime.h`` have been moved to the ``Include/cpython`` directory. "
"These files must not be included directly, as they are already included in "
"``Python.h``; see :ref:`api-includes`. If they have been included directly, "
"consider including ``Python.h`` instead. (Contributed by Nicholas Sim in :"
"issue:`35134`.)"
msgstr ""

#: whatsnew/3.10.rst:2189
#, fuzzy
msgid ""
"Use the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable "
"type objects. Do not rely on :c:macro:`Py_TPFLAGS_HEAPTYPE` to decide if a "
"type object is mutable or not; check if :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` "
"is set instead. (Contributed by Victor Stinner and Erlend E. Aasland in :"
"issue:`43908`.)"
msgstr ""
"Ajout d'une nouvelle option :c:data:`Py_TPFLAGS_IMMUTABLETYPE` pour les "
"types qui permet de créer des objets de types immuable : les attributs du "
"type ne peuvent pas être affectés ou supprimés (contribution de *Victor "
"Stinner* et d'*Erlend E. Aasland* dans :issue:`43908`)."

#: whatsnew/3.10.rst:2195
#, fuzzy
msgid ""
"The undocumented function ``Py_FrozenMain`` has been removed from the "
"limited API. The function is mainly useful for custom builds of Python. "
"(Contributed by Petr Viktorin in :issue:`26241`.)"
msgstr ""
"La fonction non-documentée ``Py_FrozenMain`` a été retirée de l'API limitée. "
"La fonction est principalement utile pour les compilations personnalisées de "
"Python (contribution de *Petr Viktorin* dans :issue:`26241`)."

#: whatsnew/3.10.rst:2202
msgid ""
"The ``PyUnicode_InternImmortal()`` function is now deprecated and will be "
"removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. "
"(Contributed by Victor Stinner in :issue:`41692`.)"
msgstr ""
"La fonction ``PyUnicode_InternImmortal()`` est maintenant obsolète et sera "
"retirée dans Python 3.12 : utilisez plutôt :c:func:`PyUnicode_InternInPlace` "
"(contribution de *Victor Stinner* dans :issue:`41692`)."

#: whatsnew/3.10.rst:2210
msgid ""
"Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. "
"(Contributed by Inada Naoki in :issue:`41123`.)"
msgstr ""
"Retrait des fonctions ``Py_UNICODE_str*`` manipulant des chaînes "
"``Py_UNICODE*`` (contribution de *Inada Naoki* dans :issue:`41123`) :"

#: whatsnew/3.10.rst:2213
msgid ""
"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:"
"`PyUnicode_GET_LENGTH`"
msgstr ""
"``Py_UNICODE_strlen`` : utilisez :c:func:`PyUnicode_GetLength` ou :c:macro:"
"`PyUnicode_GET_LENGTH` ;"

#: whatsnew/3.10.rst:2215
msgid ""
"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:"
"`PyUnicode_FromFormat`"
msgstr ""
"``Py_UNICODE_strcat`` : utilisez :c:func:`PyUnicode_CopyCharacters` ou :c:"
"func:`PyUnicode_FromFormat` ;"

#: whatsnew/3.10.rst:2217
msgid ""
"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:"
"`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`"
msgstr ""
"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy`` : utilisez :c:func:"
"`PyUnicode_CopyCharacters` ou :c:func:`PyUnicode_Substring` ;"

#: whatsnew/3.10.rst:2219
msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`"
msgstr "``Py_UNICODE_strcmp`` : utilisez :c:func:`PyUnicode_Compare` ;"

#: whatsnew/3.10.rst:2220
msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`"
msgstr "``Py_UNICODE_strncmp`` : utilisez :c:func:`PyUnicode_Tailmatch` ;"

#: whatsnew/3.10.rst:2221
msgid ""
"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:"
"`PyUnicode_FindChar`"
msgstr ""
"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr`` : utilisez :c:func:"
"`PyUnicode_FindChar`."

#: whatsnew/3.10.rst:2224
msgid ""
"Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. "
"(Contributed by Inada Naoki in :issue:`41103`.)"
msgstr ""
"Retrait de ``PyUnicode_GetMax()``. Vous devez migrer vers les nouvelles API "
"de la :pep:`393` (contribution de *Inada Naoki* dans :issue:`41103`)."

#: whatsnew/3.10.rst:2227
msgid ""
"Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:"
"`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)"
msgstr ""
"Retrait de ``PyLong_FromUnicode()``. Vous devez migrer vers :c:func:"
"`PyLong_FromUnicodeObject` (contribution de *Inada Naoki* dans :issue:"
"`41103`)."

#: whatsnew/3.10.rst:2230
msgid ""
"Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:"
"`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed "
"by Inada Naoki in :issue:`41103`.)"
msgstr ""
"Retrait de ``PyUnicode_AsUnicodeCopy()``. Vous devez utiliser :c:func:"
"`PyUnicode_AsUCS4Copy` ou :c:func:`PyUnicode_AsWideCharString` (contribution "
"de *Inada Naoki* dans :issue:`41103`)."

#: whatsnew/3.10.rst:2234
msgid ""
"Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by "
"``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. "
"(Contributed by Victor Stinner in :issue:`41834`.)"
msgstr ""
"Retrait de la variable ``_Py_CheckRecursionLimit`` : elle a été remplacée "
"par le champ ``ceval.recursion_limit`` de la structure :c:type:"
"`PyInterpreterState` (contribution de *Victor Stinner* dans :issue:`41834`)."

#: whatsnew/3.10.rst:2238
msgid ""
"Removed undocumented macros ``Py_ALLOW_RECURSION`` and "
"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:"
"type:`PyInterpreterState` structure. (Contributed by Serhiy Storchaka in :"
"issue:`41936`.)"
msgstr ""
"Retrait des macros non-documentées ``Py_ALLOW_RECURSION`` et "
"``Py_END_ALLOW_RECURSION`` et du champ ``recursion_critical`` de la "
"structure :c:type:`PyInterpreterState` (contribution de *Serhiy Storchaka* "
"dans :issue:`41936`)."

#: whatsnew/3.10.rst:2243
msgid ""
"Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing "
"Python already implicitly installs signal handlers: see :c:member:`PyConfig."
"install_signal_handlers`. (Contributed by Victor Stinner in :issue:`41713`.)"
msgstr ""
"Retrait de la fonction non-documentée ``PyOS_InitInterrupts()``. "
"L'initialisation de Python installe déjà les gestionnaires de signaux de "
"façon implicite : voir :c:member:`PyConfig.install_signal_handlers` "
"(contribution de *Victor Stinner* dans :issue:`41713`)."

#: whatsnew/3.10.rst:2248
msgid ""
"Remove the ``PyAST_Validate()`` function. It is no longer possible to build "
"a AST object (``mod_ty`` type) with the public C API. The function was "
"already excluded from the limited C API (:pep:`384`). (Contributed by Victor "
"Stinner in :issue:`43244`.)"
msgstr ""
"Retrait de la fonction ``PyAST_Validate()``. Il n'est plus possible de "
"construire un objet *AST* (type ``mod_ty``) avec l'API C publique. La "
"fonction était déjà retirée de l'API C limitée (:pep:`384`) (contribution de "
"*Victor Stinner* dans :issue:`43244`)."

#: whatsnew/3.10.rst:2253
msgid "Remove the ``symtable.h`` header file and the undocumented functions:"
msgstr ""
"Retrait du fichier d'en-tête ``symtable.h`` et des fonctions non-"
"documentées :"

#: whatsnew/3.10.rst:2255
msgid "``PyST_GetScope()``"
msgstr "``PyST_GetScope()`` ;"

#: whatsnew/3.10.rst:2256
msgid "``PySymtable_Build()``"
msgstr "``PySymtable_Build()`` ;"

#: whatsnew/3.10.rst:2257
msgid "``PySymtable_BuildObject()``"
msgstr "``PySymtable_BuildObject()`` ;"

#: whatsnew/3.10.rst:2258
msgid "``PySymtable_Free()``"
msgstr "``PySymtable_Free()`` ;"

#: whatsnew/3.10.rst:2259
msgid "``Py_SymtableString()``"
msgstr "``Py_SymtableString()`` ;"

#: whatsnew/3.10.rst:2260
msgid "``Py_SymtableStringObject()``"
msgstr "``Py_SymtableStringObject()``."

#: whatsnew/3.10.rst:2262
msgid ""
"The ``Py_SymtableString()`` function was part the stable ABI by mistake but "
"it could not be used, because the ``symtable.h`` header file was excluded "
"from the limited C API."
msgstr ""
"Par erreur, la fonction ``Py_SymtableString()`` faisait partie de l'*ABI* "
"stable, mais elle ne pouvait pas être utilisée, car le fichier d'en-tête "
"``symtable.h`` était exclu de l'API C limitée."

#: whatsnew/3.10.rst:2266
msgid ""
"Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner "
"in :issue:`43244`.)"
msgstr ""
"Utilisez plutôt le module Python :mod:`symtable` (contribution de *Victor "
"Stinner* dans :issue:`43244`)."

#: whatsnew/3.10.rst:2269
msgid ""
"Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers "
"and from ``python3.dll``, the library that provides the stable ABI on "
"Windows. Since the function takes a ``FILE*`` argument, its ABI stability "
"cannot be guaranteed. (Contributed by Petr Viktorin in :issue:`43868`.)"
msgstr ""
"Retrait de :c:func:`PyOS_ReadlineFunctionPointer` des fichiers d'en-tête de "
"l'API C limitée et de ``python3.dll``, la bibliothèque qui fournit l'*ABI* "
"stable sur Windows. Étant donné que la fonction prend un ``FILE*`` en "
"argument, la stabilité de son interface binaire-programme ne peut pas être "
"garantie (contribution de *Petr Viktorin* dans :issue:`43868`)."

#: whatsnew/3.10.rst:2275
msgid ""
"Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These "
"functions were undocumented and excluded from the limited C API. Most names "
"defined by these header files were not prefixed by ``Py`` and so could "
"create names conflicts. For example, ``Python-ast.h`` defined a ``Yield`` "
"macro which was conflict with the ``Yield`` name used by the Windows "
"``<winbase.h>`` header. Use the Python :mod:`ast` module instead. "
"(Contributed by Victor Stinner in :issue:`43244`.)"
msgstr ""
"Retrait des fichiers d'en-tête ``ast.h``, ``asdl.h`` et ``Python-ast.h``. "
"Ces fonctions étaient non-documentées et exclues de l'API C limitée. La "
"majorité des noms définis dans ces fichiers d'en-tête n'avaient pas le "
"préfixe ``Py`` et pouvaient ainsi causer des conflits de noms. Par exemple, "
"``Python-ast.h`` définit une macro ``Yield`` qui était en conflit avec le "
"nom ``Yield`` utilisé dans le fichier d'en-tête ``<winbase.h>`` de Windows. "
"Utilisez plutôt le module Python :mod:`ast` (contribution de *Victor "
"Stinner* dans :issue:`43244`)."

#: whatsnew/3.10.rst:2283
msgid ""
"Remove the compiler and parser functions using ``struct _mod`` type, because "
"the public AST C API was removed:"
msgstr ""
"Retrait des fonctions d'analyse syntaxique et de compilation qui utilisent "
"le type ``struct _mod`` car l'API C publique pour manipuler les *AST* a été "
"retirée :"

#: whatsnew/3.10.rst:2286
msgid "``PyAST_Compile()``"
msgstr "``PyAST_Compile()`` ;"

#: whatsnew/3.10.rst:2287
msgid "``PyAST_CompileEx()``"
msgstr "``PyAST_CompileEx()`` ;"

#: whatsnew/3.10.rst:2288
msgid "``PyAST_CompileObject()``"
msgstr "``PyAST_CompileObject()`` ;"

#: whatsnew/3.10.rst:2289
msgid "``PyFuture_FromAST()``"
msgstr "``PyFuture_FromAST()`` ;"

#: whatsnew/3.10.rst:2290
msgid "``PyFuture_FromASTObject()``"
msgstr "``PyFuture_FromASTObject()`` ;"

#: whatsnew/3.10.rst:2291
msgid "``PyParser_ASTFromFile()``"
msgstr "``PyParser_ASTFromFile()`` ;"

#: whatsnew/3.10.rst:2292
msgid "``PyParser_ASTFromFileObject()``"
msgstr "``PyParser_ASTFromFileObject()`` ;"

#: whatsnew/3.10.rst:2293
msgid "``PyParser_ASTFromFilename()``"
msgstr "``PyParser_ASTFromFilename()`` ;"

#: whatsnew/3.10.rst:2294
msgid "``PyParser_ASTFromString()``"
msgstr "``PyParser_ASTFromString()`` ;"

#: whatsnew/3.10.rst:2295
msgid "``PyParser_ASTFromStringObject()``"
msgstr "``PyParser_ASTFromStringObject()``."

#: whatsnew/3.10.rst:2297
msgid ""
"These functions were undocumented and excluded from the limited C API. "
"(Contributed by Victor Stinner in :issue:`43244`.)"
msgstr ""
"Ces fonctions étaient non-documentées et exclues de l'API C limitée "
"(contribution de *Victor Stinner* dans :issue:`43244`)."

#: whatsnew/3.10.rst:2300
msgid "Remove the ``pyarena.h`` header file with functions:"
msgstr "Retrait du fichier d'en-tête ``pyarena.h`` et des fonctions :"

#: whatsnew/3.10.rst:2302
msgid "``PyArena_New()``"
msgstr "``PyArena_New()`` ;"

#: whatsnew/3.10.rst:2303
msgid "``PyArena_Free()``"
msgstr "``PyArena_Free()`` ;"

#: whatsnew/3.10.rst:2304
msgid "``PyArena_Malloc()``"
msgstr "``PyArena_Malloc()`` ;"

#: whatsnew/3.10.rst:2305
msgid "``PyArena_AddPyObject()``"
msgstr "``PyArena_AddPyObject()``."

#: whatsnew/3.10.rst:2307
msgid ""
"These functions were undocumented, excluded from the limited C API, and were "
"only used internally by the compiler. (Contributed by Victor Stinner in :"
"issue:`43244`.)"
msgstr ""
"Ces fonctions étaient non-documentées et exclues de l'API C limitée ; elles "
"n'étaient utilisées que par le compilateur dans l'implémentation interne "
"(contribution de *Victor Stinner* dans :issue:`43244`)."

#: whatsnew/3.10.rst:2311
msgid ""
"The ``PyThreadState.use_tracing`` member has been removed to optimize "
"Python. (Contributed by Mark Shannon in :issue:`43760`.)"
msgstr ""
"Retrait du champ ``PyThreadState.use_tracing`` pour optimiser Python "
"(contribution de *Mark Shannon* dans :issue:`43760`)."

#~ msgid "Release"
#~ msgstr "Version"

#~ msgid "|release|"
#~ msgstr "|release|"

#~ msgid "Date"
#~ msgstr "Date"

#~ msgid "|today|"
#~ msgstr "|today|"

#~ msgid ""
#~ "This article explains the new features in Python 3.10, compared to 3.9."
#~ msgstr ""
#~ "Cet article explique les nouvelles fonctionnalités de Python 3.10 par "
#~ "rapport à la version 3.9."

#~ msgid "For full details, see the :ref:`changelog <changelog>`."
#~ msgstr "Pour plus de détails, voir le :ref:`changelog <changelog>`."

#~ msgid ""
#~ ":func:`asyncio.get_event_loop` now emits a deprecation warning if there "
#~ "is no running event loop. In the future it will be an alias of :func:"
#~ "`~asyncio.get_running_loop`. :mod:`asyncio` functions which implicitly "
#~ "create :class:`~asyncio.Future` or :class:`~asyncio.Task` objects now "
#~ "emit a deprecation warning if there is no running event loop and no "
#~ "explicit *loop* argument is passed: :func:`~asyncio.ensure_future`, :func:"
#~ "`~asyncio.wrap_future`, :func:`~asyncio.gather`, :func:`~asyncio."
#~ "shield`, :func:`~asyncio.as_completed` and constructors of :class:"
#~ "`~asyncio.Future`, :class:`~asyncio.Task`, :class:`~asyncio."
#~ "StreamReader`, :class:`~asyncio.StreamReaderProtocol`. (Contributed by "
#~ "Serhiy Storchaka in :issue:`39529`.)"
#~ msgstr ""
#~ ":func:`asyncio.get_event_loop` lève maintenant un ``DeprecationWarning`` "
#~ "s'il n'y a pas de boucle d'événements en cours d'exécution. Elle "
#~ "deviendra un alias pour :func:`~asyncio.get_running_loop` dans une "
#~ "version future. Les fonctions de :mod:`asyncio` qui créent implicitement "
#~ "des objets :class:`~asyncio.Future` ou :class:`~asyncio.Task` lèvent "
#~ "maintenant un ``DeprecationWarning`` s'il n'y a pas de boucle "
#~ "d'événements en cours d'exécution et que l'argument *loop* n'est pas "
#~ "passé explicitement : :func:`~asyncio.ensure_future`, :func:`~asyncio."
#~ "wrap_future`, :func:`~asyncio.gather`, :func:`~asyncio.shield`, :func:"
#~ "`~asyncio.as_completed` et les constructeurs des classes :class:`~asyncio."
#~ "Future`, :class:`~asyncio.Task`, :class:`~asyncio.StreamReader`, :class:"
#~ "`~asyncio.StreamReaderProtocol` (contribution de Serhiy Storchaka dans :"
#~ "issue:`39529`)."

#~ msgid ""
#~ "We expect to backport these shell changes to a future 3.9 maintenance "
#~ "release."
#~ msgstr ""
#~ "Il est prévu de rétro-porter ces changements de la console dans le cadre "
#~ "de la maintenance de 3.9."

#~ msgid ""
#~ "The presence of newline or tab characters in parts of a URL allows for "
#~ "some forms of attacks. Following the WHATWG specification that updates :"
#~ "rfc:`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are "
#~ "stripped from the URL by the parser in :mod:`urllib.parse` preventing "
#~ "such attacks. The removal characters are controlled by a new module level "
#~ "variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :issue:"
#~ "`43882`)"
#~ msgstr ""
#~ "La présence de caractères de saut de ligne ou de tabulation dans une URL "
#~ "permet certaines formes d'attaques. En conformité avec la spécification "
#~ "du *WHATWG* qui met à jour la :rfc:`3986`, les caractères *ASCII* de saut "
#~ "de ligne ``\\n``, ``\\r`` et de tabulation ``\\t`` sont retirés des URL "
#~ "par l'analyseur dans :mod:`urllib.parse` pour contrer ces attaques. Le "
#~ "jeu de caractères à retirer est contrôlé par une nouvelle variable de "
#~ "module ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE`` (voir :issue:`43882`)."
