# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" "PO-Revision-Date: 2022-10-18 12:23+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 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 `." 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 ` 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 ` 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 `) and class methods (:" "func:`@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 `) et les " "méthodes de classes (:func:`@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 msgid "None yet." 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 ` " "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 ` 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 ` :keyword:`match`, :" "keyword:`case `, and :keyword:`_ ` 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 ` :keyword:" "`match`, :keyword:`case ` et :keyword:`_ ` 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 `_)." msgstr "" "Équivalence de fonctionnalités avec ``importlib_metadata`` 4.6 (`historique " "`_)." #: whatsnew/3.10.rst:1197 msgid "" ":ref:`importlib.metadata 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 ` 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 msgid "" "Add :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :" "data:`~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 `. " "(Contributed by Joshua Cannon in :issue:`35498`.)" msgstr "" "Ajout de la prise en charge des tranches dans :attr:`PurePath.parents " "` (contribution de *Joshua Cannon* dans :issue:" "`35498`)." #: whatsnew/3.10.rst:1273 #, fuzzy msgid "" "Add negative indexing support to :attr:`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 ` (contribution de *Yaroslav Pankovych* " "dans :issue:`21041`)." #: whatsnew/3.10.rst:1277 msgid "" "Add :meth:`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 ` 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 `_ 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 " "`_ " "(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 msgid "" "The :mod:`shelve` module now uses :data:`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 msgid "" "The ssl module has preliminary support for OpenSSL 3.0.0 and new option :" "data:`~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 " "` 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 ` 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 msgid "" "A new verify flag :data:`~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 msgid "" ":func:`_thread.interrupt_main` now takes an optional signal number to " "simulate (the default is still :data:`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 `_ 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 `_ (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 ` 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 " "` 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 `_ 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 `_ (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 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 :data:`~ssl." "PROTOCOL_TLS` are deprecated in favor of :data:`~ssl.PROTOCOL_TLS_CLIENT` " "and :data:`~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 `. (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 ` (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 `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" msgstr "" "La fonction :c:func:`PyType_GetSlot` peut maintenant accepter des :ref:" "`types statiques ` (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 " "` (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 ` (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) ` 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) ` 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 msgid "" "Add a new :c:data:`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 msgid "" "Add a new :c:data:`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 msgid "" "Use the :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " "type objects. Do not rely on :c:data:`Py_TPFLAGS_HEAPTYPE` to decide if a " "type object is mutable or not; check if :c:data:`Py_TPFLAGS_IMMUTABLETYPE` " "is set instead. (Contributed by Victor Stinner and Erlend E. Aasland in :" "issue:`43908`.)" msgstr "" #: 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 " "```` 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 ```` 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 `." #~ msgstr "Pour plus de détails, voir le :ref:`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`)."