# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
"PO-Revision-Date: 2023-02-17 16:13+0100\n"
"Last-Translator: Nicolas Gibaud <nicolas.gibaud7@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.3\n"

#: library/typing.rst:3
msgid ":mod:`typing` --- Support for type hints"
msgstr ":mod:`typing` — Prise en charge des annotations de type"

#: library/typing.rst:16
msgid "**Source code:** :source:`Lib/typing.py`"
msgstr "**Code source :** :source:`Lib/typing.py`"

#: library/typing.rst:20
msgid ""
"The Python runtime does not enforce function and variable type annotations. "
"They can be used by third party tools such as type checkers, IDEs, linters, "
"etc."
msgstr ""
"Le moteur d'exécution Python n'applique pas les annotations de type pour les "
"fonctions et les variables. Elles peuvent être utilisées par des outils "
"tiers tels que les contrôleurs de type, les IDE, les analyseurs de code, etc."

#: library/typing.rst:26
#, fuzzy
msgid ""
"This module provides runtime support for type hints. For the original "
"specification of the typing system, see :pep:`484`. For a simplified "
"introduction to type hints, see :pep:`483`."
msgstr ""
"Ce module fournit la gestion des annotations de type à l'exécution. La prise "
"en compte de base comprend les types :data:`Any`, :data:`Union`, :data:"
"`Callable`, :class:`TypeVar` et :class:`Generic`. Pour les spécifications "
"complètes, voir la :pep:`484`. Pour une introduction simplifiée aux "
"annotations de type, voir la :pep:`483`."

#: library/typing.rst:31
msgid ""
"The function below takes and returns a string and is annotated as follows::"
msgstr ""
"La fonction ci-dessous prend et renvoie une chaîne de caractères, et est "
"annotée comme suit ::"

#: library/typing.rst:36
msgid ""
"In the function ``greeting``, the argument ``name`` is expected to be of "
"type :class:`str` and the return type :class:`str`. Subtypes are accepted as "
"arguments."
msgstr ""
"La fonction ``greeting`` s'attend à ce que l'argument ``name`` soit de type :"
"class:`str` et le type de retour :class:`str`. Les sous-types sont acceptés "
"comme arguments."

#: library/typing.rst:40
msgid ""
"New features are frequently added to the ``typing`` module. The "
"`typing_extensions <https://pypi.org/project/typing-extensions/>`_ package "
"provides backports of these new features to older versions of Python."
msgstr ""
"Le module ``typing`` est fréquemment enrichi de nouvelles fonctionnalités. "
"Le package `typing_extensions <https://pypi.org/project/typing-extensions/"
">`_ fournit des rétro-portages de ces fonctionnalités vers les anciennes "
"versions de Python."

#: library/typing.rst:44
msgid ""
"For a summary of deprecated features and a deprecation timeline, please see "
"`Deprecation Timeline of Major Features`_."
msgstr ""
"Pour un résumé des fonctionnalités obsolètes et leur planification "
"d'obsolescence, consultez les `Etapes d'Obsolescence des Fonctionnalités "
"Majeures`_."

#: library/typing.rst:50
msgid ""
"`\"Typing cheat sheet\" <https://mypy.readthedocs.io/en/stable/"
"cheat_sheet_py3.html>`_"
msgstr ""

#: library/typing.rst:50
msgid "A quick overview of type hints (hosted at the mypy docs)"
msgstr ""

#: library/typing.rst:55
msgid ""
"\"Type System Reference\" section of `the mypy docs <https://mypy."
"readthedocs.io/en/stable/index.html>`_"
msgstr ""

#: library/typing.rst:53
msgid ""
"The Python typing system is standardised via PEPs, so this reference should "
"broadly apply to most Python type checkers. (Some parts may still be "
"specific to mypy.)"
msgstr ""

#: library/typing.rst:59
msgid ""
"`\"Static Typing with Python\" <https://typing.readthedocs.io/en/latest/>`_"
msgstr ""

#: library/typing.rst:58
#, fuzzy
msgid ""
"Type-checker-agnostic documentation written by the community detailing type "
"system features, useful typing related tools and typing best practices."
msgstr ""
"La documentation https://typing.readthedocs.io/ est une référence utile pour "
"les fonctionnalités du système de types, les outils liés au typage et les "
"bonnes pratiques de typage.La documentation sur https://typing.readthedocs."
"io/ sert de référence pour les fonctionnalités, les outils utiles et les "
"meilleures pratiques liés au système de typage."

#: library/typing.rst:65
msgid "Relevant PEPs"
msgstr "PEPs pertinentes"

#: library/typing.rst:67
#, fuzzy
msgid ""
"Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a "
"number of PEPs have modified and enhanced Python's framework for type "
"annotations:"
msgstr ""
"Depuis l'introduction initiale des annotations de type dans les :pep:`484` "
"et :pep:`483`, plusieurs PEPs ont modifié et amélioré le framework "
"d'annotation de type. Cela inclut :"

#: library/typing.rst:77
msgid ":pep:`526`: Syntax for Variable Annotations"
msgstr ":pep:`526` : Syntaxe pour les Annotations de Variables"

#: library/typing.rst:77
msgid ""
"*Introducing* syntax for annotating variables outside of function "
"definitions, and :data:`ClassVar`"
msgstr ""
"*Introduction* d'une syntaxe permettant d'annoter les variables autrement "
"qu'au sein de la définition d'une fonction et de :data:`ClassVar`"

#: library/typing.rst:80
msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)"
msgstr ""
":pep:`544`: Protocoles : Sous-typage Structurel (*duck-typing* statique)"

#: library/typing.rst:80
msgid ""
"*Introducing* :class:`Protocol` and the :func:"
"`@runtime_checkable<runtime_checkable>` decorator"
msgstr ""
"*Ajout* de :class:`Protocol` et du décorateur :func:"
"`@runtime_checkable<runtime_checkable>`"

#: library/typing.rst:83
msgid ":pep:`585`: Type Hinting Generics In Standard Collections"
msgstr ":pep:`585`: Annotations de Type Générique dans les Collections Natives"

#: library/typing.rst:83
msgid ""
"*Introducing* :class:`types.GenericAlias` and the ability to use standard "
"library classes as :ref:`generic types<types-genericalias>`"
msgstr ""
"*Ajout* de :class:`types.GenericAlias` et de la possibilité d'utiliser les "
"classes de bibliothèques natives comme les :ref:`types génériques<types-"
"genericalias>`"

#: library/typing.rst:85
msgid ":pep:`586`: Literal Types"
msgstr ":pep:`586`: Types Littéraux"

#: library/typing.rst:86
msgid "*Introducing* :data:`Literal`"
msgstr "*Ajout* de :data:`Literal`"

#: library/typing.rst:87
msgid ""
":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys"
msgstr ""
":pep:`589`: TypedDict: Annotations de Type pour les Dictionnaires ayant un "
"Ensemble Fixe de Clés"

#: library/typing.rst:88
msgid "*Introducing* :class:`TypedDict`"
msgstr "*Ajout* de :class:`TypedDict`"

#: library/typing.rst:89
msgid ":pep:`591`: Adding a final qualifier to typing"
msgstr ":pep:`591`: Ajout d'un qualificatif final au typage"

#: library/typing.rst:90
msgid "*Introducing* :data:`Final` and the :func:`@final<final>` decorator"
msgstr "*Ajout* de :data:`Final` et du décorateur :func:`@final<final>`"

#: library/typing.rst:91
msgid ":pep:`593`: Flexible function and variable annotations"
msgstr ":pep:`593`: fonction Flexible et annotations de variables"

#: library/typing.rst:92
msgid "*Introducing* :data:`Annotated`"
msgstr "*Ajout* de :data:`Annotated`"

#: library/typing.rst:95
msgid ":pep:`604`: Allow writing union types as ``X | Y``"
msgstr ":pep:`604`: Permettre l'écriture de types union tels que ``X | Y``"

#: library/typing.rst:94
msgid ""
"*Introducing* :data:`types.UnionType` and the ability to use the binary-or "
"operator ``|`` to signify a :ref:`union of types<types-union>`"
msgstr ""
"*Ajout* de :data:`types.UnionType` et la possibilité d'utiliser l'opérateur "
"binaire ``|`` (*ou*) pour signifier :ref:`union of types<types-union>`"

#: library/typing.rst:97
msgid ":pep:`612`: Parameter Specification Variables"
msgstr ":pep:`612`: Variables de Spécification de Paramètre"

#: library/typing.rst:98
msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`"
msgstr "*Ajout* de :class:`ParamSpec` et de :data:`Concatenate`"

#: library/typing.rst:99
#, fuzzy
msgid ":pep:`613`: Explicit Type Aliases"
msgstr ":pep:`613`: Alias de Type Explicites"

#: library/typing.rst:100
msgid "*Introducing* :data:`TypeAlias`"
msgstr "*Ajout* de :data:`TypeAlias`"

#: library/typing.rst:101
msgid ":pep:`646`: Variadic Generics"
msgstr ":pep:`646`: Génériques Variadiques"

#: library/typing.rst:102
msgid "*Introducing* :data:`TypeVarTuple`"
msgstr "*Ajout* de :data:`TypeVarTuple`"

#: library/typing.rst:103
msgid ":pep:`647`: User-Defined Type Guards"
msgstr ":pep:`647`: Gardes de Types Définies par l'Utilisateur"

#: library/typing.rst:104
msgid "*Introducing* :data:`TypeGuard`"
msgstr "*Ajout* de :data:`TypeGuard`"

#: library/typing.rst:105
msgid ""
":pep:`655`: Marking individual TypedDict items as required or potentially "
"missing"
msgstr ""
":pep:`655`: Marquer les items individuels TypedDict comme nécessaires ou "
"potentiellement manquants"

#: library/typing.rst:106
msgid "*Introducing* :data:`Required` and :data:`NotRequired`"
msgstr "*Ajout* de :data:`Required` et de :data:`NotRequired`"

#: library/typing.rst:107
msgid ":pep:`673`: Self type"
msgstr ":pep:`673`: Type self"

#: library/typing.rst:108
msgid "*Introducing* :data:`Self`"
msgstr "*Ajout* de :data:`Self`"

#: library/typing.rst:109
msgid ":pep:`675`: Arbitrary Literal String Type"
msgstr ":pep:`675`: Type String Littéral Arbitraire"

#: library/typing.rst:110
msgid "*Introducing* :data:`LiteralString`"
msgstr "*Ajout* de :data:`LiteralString`"

#: library/typing.rst:112
msgid ":pep:`681`: Data Class Transforms"
msgstr ":pep:`681`: Transformateurs de Classes de Données"

#: library/typing.rst:112
msgid ""
"*Introducing* the :func:`@dataclass_transform<dataclass_transform>` decorator"
msgstr ""
"*Ajout* du décorateur :func:`@dataclass_transform<dataclass_transform>`"

#: library/typing.rst:122
msgid "Type aliases"
msgstr "Alias de type"

#: library/typing.rst:124
#, fuzzy
msgid ""
"A type alias is defined by assigning the type to the alias. In this example, "
"``Vector`` and ``list[float]`` will be treated as interchangeable synonyms::"
msgstr ""
"Un alias de type est défini en affectant le type à l'alias. Dans cet "
"exemple, ``Vector`` et ``List[float]`` sont traités comme des synonymes "
"interchangeables ::"

#: library/typing.rst:135
msgid ""
"Type aliases are useful for simplifying complex type signatures. For "
"example::"
msgstr ""
"Les alias de type sont utiles pour simplifier les signatures complexes. Par "
"exemple ::"

#: library/typing.rst:153
msgid ""
"Type aliases may be marked with :data:`TypeAlias` to make it explicit that "
"the statement is a type alias declaration, not a normal variable assignment::"
msgstr ""

#: library/typing.rst:163
msgid "NewType"
msgstr "*NewType*"

#: library/typing.rst:165
msgid "Use the :class:`NewType` helper to create distinct types::"
msgstr "Utilisez la classe :class:`NewType` pour créer des types distincts ::"

#: library/typing.rst:172
msgid ""
"The static type checker will treat the new type as if it were a subclass of "
"the original type. This is useful in helping catch logical errors::"
msgstr ""
"Le vérificateur de types statiques traite le nouveau type comme s'il "
"s'agissait d'une sous-classe du type original. C'est utile pour aider à "
"détecter les erreurs logiques ::"

#: library/typing.rst:184
msgid ""
"You may still perform all ``int`` operations on a variable of type "
"``UserId``, but the result will always be of type ``int``. This lets you "
"pass in a ``UserId`` wherever an ``int`` might be expected, but will prevent "
"you from accidentally creating a ``UserId`` in an invalid way::"
msgstr ""
"Vous pouvez toujours effectuer toutes les opérations applicables à un entier "
"(type ``int``) sur une variable de type ``UserId``, mais le résultat sera "
"toujours de type ``int``. Ceci vous permet de passer un ``UserId`` partout "
"où un ``int`` est attendu, mais vous empêche de créer accidentellement un "
"``UserId`` d'une manière invalide ::"

#: library/typing.rst:192
msgid ""
"Note that these checks are enforced only by the static type checker. At "
"runtime, the statement ``Derived = NewType('Derived', Base)`` will make "
"``Derived`` a callable that immediately returns whatever parameter you pass "
"it. That means the expression ``Derived(some_value)`` does not create a new "
"class or introduce much overhead beyond that of a regular function call."
msgstr ""
"Notez que ces contrôles ne sont exécutés que par le vérificateur de types "
"statique. À l'exécution, l'instruction ``Derived = NewType('Derived', "
"Base)`` fait de ``Derived`` une fonction qui renvoie immédiatement le "
"paramètre que vous lui passez. Cela signifie que l'expression "
"``Derived(some_value)`` ne crée pas une nouvelle classe et n'introduit pas "
"de surcharge au-delà de celle d'un appel de fonction normal."

#: library/typing.rst:198
msgid ""
"More precisely, the expression ``some_value is Derived(some_value)`` is "
"always true at runtime."
msgstr ""
"Plus précisément, l'expression ``some_value is Derived(some_value)`` est "
"toujours vraie au moment de l'exécution."

#: library/typing.rst:201
msgid "It is invalid to create a subtype of ``Derived``::"
msgstr "La création d'un sous-type de ``Derived`` est invalide ::"

#: library/typing.rst:210
msgid ""
"However, it is possible to create a :class:`NewType` based on a 'derived' "
"``NewType``::"
msgstr ""
"Il est néanmoins possible de créer un :class:`NewType` basé sur un "
"``NewType`` « dérivé » ::"

#: library/typing.rst:218
msgid "and typechecking for ``ProUserId`` will work as expected."
msgstr "et la vérification de type pour ``ProUserId`` fonctionne comme prévu."

#: library/typing.rst:220
msgid "See :pep:`484` for more details."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:224
msgid ""
"Recall that the use of a type alias declares two types to be *equivalent* to "
"one another. Doing ``Alias = Original`` will make the static type checker "
"treat ``Alias`` as being *exactly equivalent* to ``Original`` in all cases. "
"This is useful when you want to simplify complex type signatures."
msgstr ""
"Rappelons que l'utilisation d'un alias de type déclare que deux types sont "
"*équivalents* l'un à l'autre. Écrire ``Alias = Original`` fait que le "
"vérificateur de types statiques traite ``Alias`` comme étant *exactement "
"équivalent* à ``Original`` dans tous les cas. C'est utile lorsque vous "
"voulez simplifier des signatures complexes."

#: library/typing.rst:229
msgid ""
"In contrast, ``NewType`` declares one type to be a *subtype* of another. "
"Doing ``Derived = NewType('Derived', Original)`` will make the static type "
"checker treat ``Derived`` as a *subclass* of ``Original``, which means a "
"value of type ``Original`` cannot be used in places where a value of type "
"``Derived`` is expected. This is useful when you want to prevent logic "
"errors with minimal runtime cost."
msgstr ""
"En revanche, ``NewType`` déclare qu'un type est un *sous-type* d'un autre. "
"Écrire ``Derived = NewType('Derived', Original)`` fait que le vérificateur "
"de type statique traite ``Derived`` comme une *sous-classe* de ``Original``, "
"ce qui signifie qu'une valeur de type ``Original`` ne peut être utilisée "
"dans les endroits où une valeur de type ``Derived`` est prévue. C'est utile "
"lorsque vous voulez éviter les erreurs logiques avec un coût d'exécution "
"minimal."

#: library/typing.rst:238
#, fuzzy
msgid ""
"``NewType`` is now a class rather than a function.  As a result, there is "
"some additional runtime cost when calling ``NewType`` over a regular "
"function."
msgstr ""
"``NewType`` est maintenant une classe (plutôt qu'une fonction). Cela "
"entraine un coût supplémentaire en temps d'exécution lors d'un appel. "
"Cependant, ce coût sera réduit dans la version 3.11.0."

#: library/typing.rst:243
msgid ""
"The performance of calling ``NewType`` has been restored to its level in "
"Python 3.9."
msgstr ""

#: library/typing.rst:250
msgid "Annotating callable objects"
msgstr ""

#: library/typing.rst:252
msgid ""
"Functions -- or other :term:`callable` objects -- can be annotated using :"
"class:`collections.abc.Callable` or :data:`typing.Callable`. "
"``Callable[[int], str]`` signifies a function that takes a single parameter "
"of type :class:`int` and returns a :class:`str`."
msgstr ""

#: library/typing.rst:2684
#, fuzzy
msgid "For example:"
msgstr "Par exemple ::"

#: library/typing.rst:275
#, fuzzy
msgid ""
"The subscription syntax must always be used with exactly two values: the "
"argument list and the return type.  The argument list must be a list of "
"types, a :class:`ParamSpec`, :data:`Concatenate`, or an ellipsis. The return "
"type must be a single type."
msgstr ""
"La syntaxe de sélection (*subscription* en anglais) doit toujours être "
"utilisée avec exactement deux valeurs : la liste d'arguments et le type de "
"retour. La liste d'arguments doit être une liste de types ou une ellipse ; "
"il doit y avoir un seul type de retour."

#: library/typing.rst:280
msgid ""
"If a literal ellipsis ``...`` is given as the argument list, it indicates "
"that a callable with any arbitrary parameter list would be acceptable:"
msgstr ""

#: library/typing.rst:292
msgid ""
"``Callable`` cannot express complex signatures such as functions that take a "
"variadic number of arguments, :func:`overloaded functions <overload>`, or "
"functions that have keyword-only parameters. However, these signatures can "
"be expressed by defining a :class:`Protocol` class with a :meth:`~object."
"__call__` method:"
msgstr ""

#: library/typing.rst:319
msgid ""
"Callables which take other callables as arguments may indicate that their "
"parameter types are dependent on each other using :class:`ParamSpec`. "
"Additionally, if that callable adds or removes arguments from other "
"callables, the :data:`Concatenate` operator may be used.  They take the form "
"``Callable[ParamSpecVariable, ReturnType]`` and "
"``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], "
"ReturnType]`` respectively."
msgstr ""
"Les appelables qui prennent en argument d'autres appelables peuvent indiquer "
"que leurs types de paramètres dépendent les uns des autres en utilisant :"
"class:`ParamSpec`. De plus, si un appelable ajoute ou supprime des arguments "
"d'autres appelables, l'opérateur :data:`Concatenate` peut être utilisé.  Ils "
"prennent la forme ``Callable[ParamSpecVariable, ReturnType]`` et "
"``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], "
"ReturnType]`` respectivement."

#: library/typing.rst:3211
msgid ""
"``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :"
"pep:`612` for more details."
msgstr ""
"``Callable`` prend désormais en charge :class:`ParamSpec` et :data:"
"`Concatenate`. Voir :pep:`612` pour plus de détails."

#: library/typing.rst:332
msgid ""
"The documentation for :class:`ParamSpec` and :class:`Concatenate` provides "
"examples of usage in ``Callable``."
msgstr ""
"La documentation pour :class:`ParamSpec` et :class:`Concatenate` fournit des "
"exemples d'utilisation dans ``Callable``."

#: library/typing.rst:338
msgid "Generics"
msgstr "Génériques"

#: library/typing.rst:340
#, fuzzy
msgid ""
"Since type information about objects kept in containers cannot be statically "
"inferred in a generic way, many container classes in the standard library "
"support subscription to denote the expected types of container elements."
msgstr ""
"Comme les informations de type sur les objets conservés dans des conteneurs "
"ne peuvent pas être déduites statiquement de manière générique, les classes "
"mères abstraites ont été étendues pour prendre en charge la sélection "
"(*subscription* en anglais) et indiquer les types attendus pour les éléments "
"de conteneur."

#: library/typing.rst:357
#, fuzzy
msgid ""
"Generics can be parameterized by using a factory available in typing called :"
"class:`TypeVar`."
msgstr ""
"Les génériques peuvent être paramétrés en utilisant une nouvelle fabrique "
"(au sens des patrons de conception) disponible en tapant :class:`TypeVar`."

#: library/typing.rst:373
msgid "Annotating tuples"
msgstr ""

#: library/typing.rst:375
msgid ""
"For most containers in Python, the typing system assumes that all elements "
"in the container will be of the same type. For example::"
msgstr ""

#: library/typing.rst:390
msgid ""
":class:`list` only accepts one type argument, so a type checker would emit "
"an error on the ``y`` assignment above. Similarly, :class:`~collections.abc."
"Mapping` only accepts two type arguments: the first indicates the type of "
"the keys, and the second indicates the type of the values."
msgstr ""

#: library/typing.rst:396
msgid ""
"Unlike most other Python containers, however, it is common in idiomatic "
"Python code for tuples to have elements which are not all of the same type. "
"For this reason, tuples are special-cased in Python's typing system. :class:"
"`tuple` accepts *any number* of type arguments::"
msgstr ""

#: library/typing.rst:412
msgid ""
"To denote a tuple which could be of *any* length, and in which all elements "
"are of the same type ``T``, use ``tuple[T, ...]``. To denote an empty tuple, "
"use ``tuple[()]``. Using plain ``tuple`` as an annotation is equivalent to "
"using ``tuple[Any, ...]``::"
msgstr ""

#: library/typing.rst:435
msgid "The type of class objects"
msgstr ""

#: library/typing.rst:437
#, fuzzy
msgid ""
"A variable annotated with ``C`` may accept a value of type ``C``. In "
"contrast, a variable annotated with ``type[C]`` (or :class:`typing.Type[C] "
"<Type>`) may accept values that are classes themselves -- specifically, it "
"will accept the *class object* of ``C``. For example::"
msgstr ""
"Une variable annotée de ``C`` peut accepter une valeur de type ``C``. En "
"revanche, une variable annotée avec ``Type[C]`` peut accepter des valeurs "
"qui sont elles-mêmes des classes — plus précisément, elle accepte l'objet "
"*class* de ``C``. Par exemple ::"

#: library/typing.rst:447
#, fuzzy
msgid "Note that ``type[C]`` is covariant::"
msgstr "Notez que ``Type[C]`` est covariant ::"

#: library/typing.rst:463
#, fuzzy
msgid ""
"The only legal parameters for :class:`type` are classes, :data:`Any`, :ref:"
"`type variables <generics>`, and unions of any of these types. For example::"
msgstr ""
"Les seuls paramètres légitimes pour :class:`Type` sont les classes, :data:"
"`Any`, :ref:`type variables <generics>`, et les unions de ces types. Par "
"exemple ::"

#: library/typing.rst:475
#, fuzzy
msgid ""
"``type[Any]`` is equivalent to :class:`type`, which is the root of Python's :"
"ref:`metaclass hierarchy <metaclasses>`."
msgstr ""
"``Type[Any]`` est équivalent à ``Type`` qui à son tour est équivalent à "
"``type``, qui est la racine de la hiérarchie des métaclasses de Python."

#: library/typing.rst:481
msgid "User-defined generic types"
msgstr "Types génériques définis par l'utilisateur"

#: library/typing.rst:483
msgid "A user-defined class can be defined as a generic class."
msgstr ""
"Une classe définie par l'utilisateur peut être définie comme une classe "
"générique."

#: library/typing.rst:509
msgid ""
"``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a "
"single type parameter ``T`` . This also makes ``T`` valid as a type within "
"the class body."
msgstr ""
"``Generic[T]`` en tant que classe mère définit que la classe ``LoggedVar`` "
"prend un paramètre de type unique ``T``. Ceci rend également ``T`` valide en "
"tant que type dans le corps de la classe."

#: library/typing.rst:513
#, fuzzy
msgid ""
"The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so "
"that ``LoggedVar[T]`` is valid as a type::"
msgstr ""
"La classe mère :class:`Generic` définit :meth:`__class_getitem__` de sorte "
"que ``LoggedVar[t]`` est valide comme type ::"

#: library/typing.rst:522
#, fuzzy
msgid ""
"A generic type can have any number of type variables. All varieties of :"
"class:`TypeVar` are permissible as parameters for a generic type::"
msgstr ""
"Un type générique peut avoir un nombre quelconque de variables de type et "
"vous pouvez fixer des contraintes sur les variables de type ::"

#: library/typing.rst:534
msgid ""
"Each type variable argument to :class:`Generic` must be distinct. This is "
"thus invalid::"
msgstr ""
"Chaque argument de variable de type :class:`Generic` doit être distinct. "
"Ceci n'est donc pas valable ::"

#: library/typing.rst:545
msgid "You can use multiple inheritance with :class:`Generic`::"
msgstr "Vous pouvez utiliser l'héritage multiple avec :class:`Generic` ::"

#: library/typing.rst:555
#, fuzzy
msgid ""
"When inheriting from generic classes, some type parameters could be fixed::"
msgstr ""
"Lors de l'héritage de classes génériques, certaines variables de type "
"peuvent être corrigées ::"

#: library/typing.rst:565
msgid "In this case ``MyDict`` has a single parameter, ``T``."
msgstr "Dans ce cas, ``MyDict`` a un seul paramètre, ``T``."

#: library/typing.rst:567
#, fuzzy
msgid ""
"Using a generic class without specifying type parameters assumes :data:`Any` "
"for each position. In the following example, ``MyIterable`` is not generic "
"but implicitly inherits from ``Iterable[Any]``:"
msgstr ""
"L'utilisation d'une classe générique sans spécifier de paramètres de type "
"suppose :data:`Any` pour chaque position. Dans l'exemple suivant, "
"``MyIterable`` n'est pas générique mais hérite implicitement de "
"``Iterable[Any]`` ::"

#: library/typing.rst:578
#, fuzzy
msgid "User-defined generic type aliases are also supported. Examples::"
msgstr ""
"Les alias de type générique définis par l'utilisateur sont également pris en "
"charge. Exemples ::"

#: library/typing.rst:595
msgid ":class:`Generic` no longer has a custom metaclass."
msgstr ":class:`Generic` n'a plus de métaclasse personnalisée."

#: library/typing.rst:598
msgid ""
"User-defined generics for parameter expressions are also supported via "
"parameter specification variables in the form ``Generic[P]``.  The behavior "
"is consistent with type variables' described above as parameter "
"specification variables are treated by the typing module as a specialized "
"type variable.  The one exception to this is that a list of types can be "
"used to substitute a :class:`ParamSpec`::"
msgstr ""

#: library/typing.rst:614
msgid ""
"Furthermore, a generic with only one parameter specification variable will "
"accept parameter lists in the forms ``X[[Type1, Type2, ...]]`` and also "
"``X[Type1, Type2, ...]`` for aesthetic reasons.  Internally, the latter is "
"converted to the former, so the following are equivalent::"
msgstr ""

#: library/typing.rst:626
msgid ""
"Note that generics with :class:`ParamSpec` may not have correct "
"``__parameters__`` after substitution in some cases because they are "
"intended primarily for static type checking."
msgstr ""

#: library/typing.rst:630
msgid ""
":class:`Generic` can now be parameterized over parameter expressions. See :"
"class:`ParamSpec` and :pep:`612` for more details."
msgstr ""

#: library/typing.rst:634
#, fuzzy
msgid ""
"A user-defined generic class can have ABCs as base classes without a "
"metaclass conflict. Generic metaclasses are not supported. The outcome of "
"parameterizing generics is cached, and most types in the typing module are :"
"term:`hashable` and comparable for equality."
msgstr ""
"Une classe générique définie par l'utilisateur peut avoir des classes mères "
"abstraites (ABC pour *Abstract Base Classes* en anglais) sans conflit de "
"métaclasses. Les métaclasses génériques ne sont pas prises en charge. Le "
"résultat du paramétrage des génériques est mis en cache et la plupart des "
"types dans le module ``typing`` sont hachables et comparables pour l'égalité."

#: library/typing.rst:641
msgid "The :data:`Any` type"
msgstr "Le type :data:`Any`"

#: library/typing.rst:643
msgid ""
"A special kind of type is :data:`Any`. A static type checker will treat "
"every type as being compatible with :data:`Any` and :data:`Any` as being "
"compatible with every type."
msgstr ""
"Un type particulier est :data:`Any`. Un vérificateur de types statiques "
"traite chaque type comme étant compatible avec :data:`Any` et :data:`Any` "
"comme étant compatible avec chaque type."

#: library/typing.rst:647
#, fuzzy
msgid ""
"This means that it is possible to perform any operation or method call on a "
"value of type :data:`Any` and assign it to any variable::"
msgstr ""
"Cela signifie qu'il est possible d'effectuer n'importe quelle opération ou "
"appel de méthode sur une valeur de type :data:`Any` et de l'affecter à "
"n'importe quelle variable ::"

#: library/typing.rst:665
#, fuzzy
msgid ""
"Notice that no type checking is performed when assigning a value of type :"
"data:`Any` to a more precise type. For example, the static type checker did "
"not report an error when assigning ``a`` to ``s`` even though ``s`` was "
"declared to be of type :class:`str` and receives an :class:`int` value at "
"runtime!"
msgstr ""
"Notez qu'aucun contrôle de typage n'est effectué lors de l'affectation d'une "
"valeur de type :data:`Any` à un type plus précis. Par exemple, le "
"vérificateur de types statiques ne signale pas d'erreur lors de "
"l'affectation de ``a`` à ``s`` même si ``s`` était déclaré être de type :"
"class:`str` et reçoit une valeur :class:`int` au moment de son exécution !"

#: library/typing.rst:671
msgid ""
"Furthermore, all functions without a return type or parameter types will "
"implicitly default to using :data:`Any`::"
msgstr ""
"De plus, toutes les fonctions sans type de retour ni type de paramètre sont "
"considérées comme utilisant :data:`Any` implicitement par défaut ::"

#: library/typing.rst:684
msgid ""
"This behavior allows :data:`Any` to be used as an *escape hatch* when you "
"need to mix dynamically and statically typed code."
msgstr ""
"Ce comportement permet à :data:`Any` d'être utilisé comme succédané lorsque "
"vous avez besoin de mélanger du code typé dynamiquement et statiquement."

#: library/typing.rst:687
msgid ""
"Contrast the behavior of :data:`Any` with the behavior of :class:`object`. "
"Similar to :data:`Any`, every type is a subtype of :class:`object`. However, "
"unlike :data:`Any`, the reverse is not true: :class:`object` is *not* a "
"subtype of every other type."
msgstr ""
"Comparons le comportement de :data:`Any` avec celui de :class:`object`. De "
"la même manière que pour :data:`Any`, chaque type est un sous-type de :class:"
"`object`. Cependant, contrairement à :data:`Any`, l'inverse n'est pas "
"vrai : :class:`object` n'est *pas* un sous-type de chaque autre type."

#: library/typing.rst:692
msgid ""
"That means when the type of a value is :class:`object`, a type checker will "
"reject almost all operations on it, and assigning it to a variable (or using "
"it as a return value) of a more specialized type is a type error. For "
"example::"
msgstr ""
"Cela signifie que lorsque le type d'une valeur est :class:`object`, un "
"vérificateur de types rejette presque toutes les opérations sur celle-ci, et "
"l'affecter à une variable (ou l'utiliser comme une valeur de retour) d'un "
"type plus spécialisé est une erreur de typage. Par exemple ::"

#: library/typing.rst:714
msgid ""
"Use :class:`object` to indicate that a value could be any type in a typesafe "
"manner. Use :data:`Any` to indicate that a value is dynamically typed."
msgstr ""
"Utilisez :class:`object` pour indiquer qu'une valeur peut être de n'importe "
"quel type de manière sûre. Utiliser :data:`Any` pour indiquer qu'une valeur "
"est typée dynamiquement."

#: library/typing.rst:719
msgid "Nominal vs structural subtyping"
msgstr "Sous-typage nominal et sous-typage structurel"

#: library/typing.rst:721
#, fuzzy
msgid ""
"Initially :pep:`484` defined the Python static type system as using *nominal "
"subtyping*. This means that a class ``A`` is allowed where a class ``B`` is "
"expected if and only if ``A`` is a subclass of ``B``."
msgstr ""
"Initialement la :pep:`484` définissait le système de type statique Python "
"comme utilisant *le sous-type nominal*. Cela signifie qu'une classe ``A`` "
"est permise lorsqu'une classe ``B`` est prévue si et seulement si ``A`` est "
"une sous-classe de ``B``."

#: library/typing.rst:725
#, fuzzy
msgid ""
"This requirement previously also applied to abstract base classes, such as :"
"class:`~collections.abc.Iterable`. The problem with this approach is that a "
"class had to be explicitly marked to support them, which is unpythonic and "
"unlike what one would normally do in idiomatic dynamically typed Python "
"code. For example, this conforms to :pep:`484`::"
msgstr ""
"Ce pré-requis s'appliquait auparavant aussi aux classes mères abstraites, "
"telles que :class:`Iterable`. Le problème avec cette approche est qu'une "
"classe devait être explicitement marquée pour les supporter, ce qui n'est "
"pas *pythonique* et diffère de ce que l'on ferait normalement avec du code "
"Python idiomatique typé dynamiquement. Par exemple, ceci est conforme à la :"
"pep:`484` ::"

#: library/typing.rst:738
msgid ""
":pep:`544` allows to solve this problem by allowing users to write the above "
"code without explicit base classes in the class definition, allowing "
"``Bucket`` to be implicitly considered a subtype of both ``Sized`` and "
"``Iterable[int]`` by static type checkers. This is known as *structural "
"subtyping* (or static duck-typing)::"
msgstr ""
"La :pep:`544` permet de résoudre ce problème en permettant aux utilisateurs "
"d'écrire le code ci-dessus sans classes mères explicites dans la définition "
"de classe, permettant à ``Bucket`` d'être implicitement considéré comme un "
"sous-type de ``Sized`` et ``Iterable[int]`` par des vérificateurs de type "
"statique. C'est ce qu'on appelle le *sous-typage structurel* (ou typage "
"canard) ::"

#: library/typing.rst:754
msgid ""
"Moreover, by subclassing a special class :class:`Protocol`, a user can "
"define new custom protocols to fully enjoy structural subtyping (see "
"examples below)."
msgstr ""
"De plus, en sous-classant une classe spéciale :class:`Protocol`, un "
"utilisateur peut définir de nouveaux protocoles personnalisés pour profiter "
"pleinement du sous-typage structurel (voir exemples ci-dessous)."

#: library/typing.rst:759
msgid "Module contents"
msgstr ""

#: library/typing.rst:761
#, fuzzy
msgid ""
"The ``typing`` module defines the following classes, functions and "
"decorators."
msgstr "Ce module définit les classes, fonctions et décorateurs suivants :"

#: library/typing.rst:764
msgid "Special typing primitives"
msgstr ""

#: library/typing.rst:767
#, fuzzy
msgid "Special types"
msgstr "Type « optionnel »."

#: library/typing.rst:769
msgid ""
"These can be used as types in annotations. They do not support subscription "
"using ``[]``."
msgstr ""

#: library/typing.rst:774
msgid "Special type indicating an unconstrained type."
msgstr "Type spécial indiquant un type non contraint."

#: library/typing.rst:776
msgid "Every type is compatible with :data:`Any`."
msgstr "Chaque type est compatible avec :data:`Any`."

#: library/typing.rst:777
msgid ":data:`Any` is compatible with every type."
msgstr ":data:`Any` est compatible avec tous les types."

#: library/typing.rst:779
msgid ""
":data:`Any` can now be used as a base class. This can be useful for avoiding "
"type checker errors with classes that can duck type anywhere or are highly "
"dynamic."
msgstr ""

#: library/typing.rst:786
msgid "A :ref:`constrained type variable <typing-constrained-typevar>`."
msgstr ""

#: library/typing.rst:788
msgid "Definition::"
msgstr ""

#: library/typing.rst:792
#, fuzzy
msgid ""
"``AnyStr`` is meant to be used for functions that may accept :class:`str` "
"or :class:`bytes` arguments but cannot allow the two to mix."
msgstr ""
"Cela est destiné à être utilisé pour des fonctions qui peuvent accepter "
"n'importe quel type de chaîne de caractères sans permettre à différents "
"types de chaînes de caractères de se mélanger. Par exemple ::"

#: library/typing.rst:871 library/typing.rst:937 library/typing.rst:1153
#: library/typing.rst:2524
msgid "For example::"
msgstr "Par exemple ::"

#: library/typing.rst:806
msgid "Special type that includes only literal strings."
msgstr ""

#: library/typing.rst:808
msgid ""
"Any string literal is compatible with ``LiteralString``, as is another "
"``LiteralString``. However, an object typed as just ``str`` is not. A string "
"created by composing ``LiteralString``-typed objects is also acceptable as a "
"``LiteralString``."
msgstr ""

#: library/typing.rst:814
#, fuzzy
msgid "Example:"
msgstr "Par exemple ::"

#: library/typing.rst:830
msgid ""
"``LiteralString`` is useful for sensitive APIs where arbitrary user-"
"generated strings could generate problems. For example, the two cases above "
"that generate type checker errors could be vulnerable to an SQL injection "
"attack."
msgstr ""

#: library/typing.rst:835
#, fuzzy
msgid "See :pep:`675` for more details."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:841
msgid ""
"The `bottom type <https://en.wikipedia.org/wiki/Bottom_type>`_, a type that "
"has no members."
msgstr ""

#: library/typing.rst:844
msgid ""
"This can be used to define a function that should never be called, or a "
"function that never returns::"
msgstr ""

#: library/typing.rst:864
msgid ""
"On older Python versions, :data:`NoReturn` may be used to express the same "
"concept. ``Never`` was added to make the intended meaning more explicit."
msgstr ""

#: library/typing.rst:869
#, fuzzy
msgid "Special type indicating that a function never returns."
msgstr "Type spécial indiquant qu'une fonction ne renvoie rien. Par exemple ::"

#: library/typing.rst:878
msgid ""
"``NoReturn`` can also be used as a `bottom type <https://en.wikipedia.org/"
"wiki/Bottom_type>`_, a type that has no values. Starting in Python 3.11, "
"the :data:`Never` type should be used for this concept instead. Type "
"checkers should treat the two equivalently."
msgstr ""

#: library/typing.rst:889
#, fuzzy
msgid "Special type to represent the current enclosed class."
msgstr "Type spécial indiquant qu'une fonction ne renvoie rien. Par exemple ::"

#: library/typing.rst:901
msgid ""
"This annotation is semantically equivalent to the following, albeit in a "
"more succinct fashion::"
msgstr ""

#: library/typing.rst:913
msgid "In general if something currently follows the pattern of::"
msgstr ""

#: library/typing.rst:920
msgid ""
"You should use :data:`Self` as calls to ``SubclassOfFoo.return_self`` would "
"have ``Foo`` as the return type and not ``SubclassOfFoo``."
msgstr ""

#: library/typing.rst:923
msgid "Other common use cases include:"
msgstr ""

#: library/typing.rst:925
msgid ""
":class:`classmethod`\\s that are used as alternative constructors and return "
"instances of the ``cls`` parameter."
msgstr ""

#: library/typing.rst:927
msgid "Annotating an :meth:`~object.__enter__` method which returns self."
msgstr ""

#: library/typing.rst:929
#, fuzzy
msgid "See :pep:`673` for more details."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:935
msgid ""
"Special annotation for explicitly declaring a :ref:`type alias <type-"
"aliases>`."
msgstr ""

#: library/typing.rst:943
msgid ""
"``TypeAlias`` is particularly useful for annotating aliases that make use of "
"forward references, as it can be hard for type checkers to distinguish these "
"from normal variable assignments:"
msgstr ""

#: library/typing.rst:963
#, fuzzy
msgid "See :pep:`613` for more details."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:968
msgid "Special forms"
msgstr ""

#: library/typing.rst:970
msgid ""
"These can be used as types in annotations. They all support subscription "
"using ``[]``, but each has a unique syntax."
msgstr ""

#: library/typing.rst:975
#, fuzzy
msgid ""
"Union type; ``Union[X, Y]`` is equivalent to ``X | Y`` and means either X or "
"Y."
msgstr "Type « union » ; ``Union[X, Y]`` signifie X ou Y."

#: library/typing.rst:977
#, fuzzy
msgid ""
"To define a union, use e.g. ``Union[int, str]`` or the shorthand ``int | "
"str``. Using that shorthand is recommended. Details:"
msgstr ""
"Pour définir une union, utilisez par exemple ``Union[int, str]``. Détail :"

#: library/typing.rst:979
msgid "The arguments must be types and there must be at least one."
msgstr ""
"Les arguments doivent être des types et il doit y en avoir au moins un."

#: library/typing.rst:981
msgid "Unions of unions are flattened, e.g.::"
msgstr "Les unions d'unions sont aplanies, par exemple ::"

#: library/typing.rst:985
msgid "Unions of a single argument vanish, e.g.::"
msgstr "Les unions d'un seul argument disparaissent, par exemple ::"

#: library/typing.rst:989
msgid "Redundant arguments are skipped, e.g.::"
msgstr "Les arguments redondants sont ignorés, par exemple ::"

#: library/typing.rst:993
msgid "When comparing unions, the argument order is ignored, e.g.::"
msgstr ""
"Lors de la comparaison d'unions, l'ordre des arguments est ignoré, par "
"exemple ::"

#: library/typing.rst:997
#, fuzzy
msgid "You cannot subclass or instantiate a ``Union``."
msgstr "Vous ne pouvez pas sous-classer ou instancier une union."

#: library/typing.rst:999
msgid "You cannot write ``Union[X][Y]``."
msgstr "Vous ne pouvez pas écrire ``Union[X][Y]``."

#: library/typing.rst:1001
msgid "Don't remove explicit subclasses from unions at runtime."
msgstr "Ne supprime pas les sous-classes explicites des unions à l'exécution."

#: library/typing.rst:1004
msgid ""
"Unions can now be written as ``X | Y``. See :ref:`union type "
"expressions<types-union>`."
msgstr ""

#: library/typing.rst:1010
#, fuzzy
msgid "``Optional[X]`` is equivalent to ``X | None`` (or ``Union[X, None]``)."
msgstr "``Optional[X]`` équivaut à ``Union[X, None]``."

#: library/typing.rst:1012
msgid ""
"Note that this is not the same concept as an optional argument, which is one "
"that has a default.  An optional argument with a default does not require "
"the ``Optional`` qualifier on its type annotation just because it is "
"optional. For example::"
msgstr ""
"Notez que ce n'est pas le même concept qu'un argument optionnel, qui est un "
"argument qui possède une valeur par défaut. Un argument optionnel (qui a une "
"valeur par défaut) ne nécessite pas, à ce titre, le qualificatif "
"``Optional`` sur son annotation de type. Par exemple ::"

#: library/typing.rst:1020
msgid ""
"On the other hand, if an explicit value of ``None`` is allowed, the use of "
"``Optional`` is appropriate, whether the argument is optional or not. For "
"example::"
msgstr ""
"Par contre, si une valeur explicite de ``None`` est permise, l'utilisation "
"de ``Optional`` est appropriée, que l'argument soit facultatif ou non. Par "
"exemple ::"

#: library/typing.rst:1027
msgid ""
"Optional can now be written as ``X | None``. See :ref:`union type "
"expressions<types-union>`."
msgstr ""

#: library/typing.rst:1033
msgid "Special form for annotating higher-order functions."
msgstr ""

#: library/typing.rst:1035
msgid ""
"``Concatenate`` can be used in conjunction with :ref:`Callable <annotating-"
"callables>` and :class:`ParamSpec` to annotate a higher-order callable which "
"adds, removes, or transforms parameters of another callable.  Usage is in "
"the form ``Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable]``. "
"``Concatenate`` is currently only valid when used as the first argument to "
"a :ref:`Callable <annotating-callables>`. The last parameter to "
"``Concatenate`` must be a :class:`ParamSpec` or ellipsis (``...``)."
msgstr ""

#: library/typing.rst:1044
msgid ""
"For example, to annotate a decorator ``with_lock`` which provides a :class:"
"`threading.Lock` to the decorated function,  ``Concatenate`` can be used to "
"indicate that ``with_lock`` expects a callable which takes in a ``Lock`` as "
"the first argument, and returns a callable with a different type signature.  "
"In this case, the :class:`ParamSpec` indicates that the returned callable's "
"parameter types are dependent on the parameter types of the callable being "
"passed in::"
msgstr ""

#: library/typing.rst:1740
msgid ""
":pep:`612` -- Parameter Specification Variables (the PEP which introduced "
"``ParamSpec`` and ``Concatenate``)"
msgstr ""

#: library/typing.rst:1085
msgid ":class:`ParamSpec`"
msgstr ""

#: library/typing.rst:1743
msgid ":ref:`annotating-callables`"
msgstr ""

#: library/typing.rst:1090
msgid "Special typing form to define \"literal types\"."
msgstr ""

#: library/typing.rst:1092
#, fuzzy
msgid ""
"``Literal`` can be used to indicate to type checkers that the annotated "
"object has a value equivalent to one of the provided literals."
msgstr ""
"Type pour indiquer aux vérificateurs de type que la variable ou le paramètre "
"de fonction correspondant a une valeur équivalente au littéral fourni (ou un "
"parmi plusieurs littéraux). Par exemple ::"

#: library/typing.rst:1108
msgid ""
"``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is "
"allowed as type argument to ``Literal[...]``, but type checkers may impose "
"restrictions. See :pep:`586` for more details about literal types."
msgstr ""
"``Literal[...]`` ne peut être sous-classé. Lors de l'exécution, une valeur "
"arbitraire est autorisée comme argument de type pour ``Literal[...]``, mais "
"les vérificateurs de type peuvent imposer des restrictions. Voir la :pep:"
"`586` pour plus de détails sur les types littéraux."

#: library/typing.rst:1114
msgid ""
"``Literal`` now de-duplicates parameters.  Equality comparisons of "
"``Literal`` objects are no longer order dependent. ``Literal`` objects will "
"now raise a :exc:`TypeError` exception during equality comparisons if one of "
"their parameters are not :term:`hashable`."
msgstr ""

#: library/typing.rst:1122
msgid "Special type construct to mark class variables."
msgstr ""
"Construction de type particulière pour indiquer les variables de classe."

#: library/typing.rst:1124
msgid ""
"As introduced in :pep:`526`, a variable annotation wrapped in ClassVar "
"indicates that a given attribute is intended to be used as a class variable "
"and should not be set on instances of that class. Usage::"
msgstr ""
"Telle qu'introduite dans la :pep:`526`, une annotation de variable "
"enveloppée dans ClassVar indique qu'un attribut donné est destiné à être "
"utilisé comme une variable de classe et ne doit pas être défini sur des "
"instances de cette classe. Utilisation ::"

#: library/typing.rst:1132
msgid ":data:`ClassVar` accepts only types and cannot be further subscribed."
msgstr ":data:`ClassVar` n'accepte que les types et ne peut plus être dérivé."

#: library/typing.rst:1134
msgid ""
":data:`ClassVar` is not a class itself, and should not be used with :func:"
"`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python "
"runtime behavior, but it can be used by third-party type checkers. For "
"example, a type checker might flag the following code as an error::"
msgstr ""
":data:`ClassVar` n'est pas une classe en soi, et ne devrait pas être "
"utilisée avec :func:`isinstance` ou :func:`issubclass`. :data:`ClassVar` ne "
"modifie pas le comportement d'exécution Python, mais il peut être utilisé "
"par des vérificateurs tiers. Par exemple, un vérificateur de types peut "
"marquer le code suivant comme une erreur ::"

#: library/typing.rst:1148
#, fuzzy
msgid "Special typing construct to indicate final names to type checkers."
msgstr ""
"Construction de type particulière pour indiquer les variables de classe."

#: library/typing.rst:1150
msgid ""
"Final names cannot be reassigned in any scope. Final names declared in class "
"scopes cannot be overridden in subclasses."
msgstr ""

#: library/typing.rst:2540
msgid ""
"There is no runtime checking of these properties. See :pep:`591` for more "
"details."
msgstr ""
"Ces propriétés ne sont pas vérifiées à l'exécution. Voir la :pep:`591` pour "
"plus de détails."

#: library/typing.rst:1171
#, fuzzy
msgid "Special typing construct to mark a :class:`TypedDict` key as required."
msgstr ""
"Construction de type particulière pour indiquer les variables de classe."

#: library/typing.rst:1173
#, fuzzy
msgid ""
"This is mainly useful for ``total=False`` TypedDicts. See :class:`TypedDict` "
"and :pep:`655` for more details."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:1180
#, fuzzy
msgid ""
"Special typing construct to mark a :class:`TypedDict` key as potentially "
"missing."
msgstr ""
"Construction de type particulière pour indiquer les variables de classe."

#: library/typing.rst:1183
#, fuzzy
msgid "See :class:`TypedDict` and :pep:`655` for more details."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:1189
msgid "Special typing form to add context-specific metadata to an annotation."
msgstr ""

#: library/typing.rst:1191
msgid ""
"Add metadata ``x`` to a given type ``T`` by using the annotation "
"``Annotated[T, x]``. Metadata added using ``Annotated`` can be used by "
"static analysis tools or at runtime. At runtime, the metadata is stored in "
"a :attr:`!__metadata__` attribute."
msgstr ""

#: library/typing.rst:1196
msgid ""
"If a library or tool encounters an annotation ``Annotated[T, x]`` and has no "
"special logic for the metadata, it should ignore the metadata and simply "
"treat the annotation as ``T``. As such, ``Annotated`` can be useful for code "
"that wants to use annotations for purposes outside Python's static typing "
"system."
msgstr ""

#: library/typing.rst:1202
msgid ""
"Using ``Annotated[T, x]`` as an annotation still allows for static "
"typechecking of ``T``, as type checkers will simply ignore the metadata "
"``x``. In this way, ``Annotated`` differs from the :func:`@no_type_check "
"<no_type_check>` decorator, which can also be used for adding annotations "
"outside the scope of the typing system, but completely disables typechecking "
"for a function or class."
msgstr ""

#: library/typing.rst:1209
msgid ""
"The responsibility of how to interpret the metadata lies with the the tool "
"or library encountering an ``Annotated`` annotation. A tool or library "
"encountering an ``Annotated`` type can scan through the metadata elements to "
"determine if they are of interest (e.g., using :func:`isinstance`)."
msgstr ""

#: library/typing.rst:1217
msgid ""
"Here is an example of how you might use ``Annotated`` to add metadata to "
"type annotations if you were doing range analysis:"
msgstr ""

#: library/typing.rst:1230
msgid "Details of the syntax:"
msgstr ""

#: library/typing.rst:1232
msgid "The first argument to ``Annotated`` must be a valid type"
msgstr ""

#: library/typing.rst:1234
msgid ""
"Multiple metadata elements can be supplied (``Annotated`` supports variadic "
"arguments)::"
msgstr ""

#: library/typing.rst:1243
msgid ""
"It is up to the tool consuming the annotations to decide whether the client "
"is allowed to add multiple metadata elements to one annotation and how to "
"merge those annotations."
msgstr ""

#: library/typing.rst:1247
msgid ""
"``Annotated`` must be subscripted with at least two arguments "
"( ``Annotated[int]`` is not valid)"
msgstr ""

#: library/typing.rst:1250
msgid ""
"The order of the metadata elements is preserved and matters for equality "
"checks::"
msgstr ""

#: library/typing.rst:1257
msgid ""
"Nested ``Annotated`` types are flattened. The order of the metadata elements "
"starts with the innermost annotation::"
msgstr ""

#: library/typing.rst:1264
msgid "Duplicated metadata elements are not removed::"
msgstr ""

#: library/typing.rst:1270
msgid "``Annotated`` can be used with nested and generic aliases:"
msgstr ""

#: library/typing.rst:1283
msgid "``Annotated`` cannot be used with an unpacked :class:`TypeVarTuple`::"
msgstr ""

#: library/typing.rst:1287
#, fuzzy
msgid "This would be equivalent to::"
msgstr "Ce qui est équivalent à ::"

#: library/typing.rst:1291
msgid ""
"where ``T1``, ``T2``, etc. are :class:`TypeVars <TypeVar>`. This would be "
"invalid: only one type should be passed to Annotated."
msgstr ""

#: library/typing.rst:1294
msgid ""
"By default, :func:`get_type_hints` strips the metadata from annotations. "
"Pass ``include_extras=True`` to have the metadata preserved:"
msgstr ""

#: library/typing.rst:1307
msgid ""
"At runtime, the metadata associated with an ``Annotated`` type can be "
"retrieved via the :attr:`!__metadata__` attribute:"
msgstr ""

#: library/typing.rst:1321
#, fuzzy
msgid ":pep:`593` - Flexible function and variable annotations"
msgstr ":pep:`593`: fonction Flexible et annotations de variables"

#: library/typing.rst:1322
msgid "The PEP introducing ``Annotated`` to the standard library."
msgstr ""

#: library/typing.rst:1329
#, fuzzy
msgid "Special typing construct for marking user-defined type guard functions."
msgstr ""
"Construction de type particulière pour indiquer les variables de classe."

#: library/typing.rst:1331
msgid ""
"``TypeGuard`` can be used to annotate the return type of a user-defined type "
"guard function.  ``TypeGuard`` only accepts a single type argument. At "
"runtime, functions marked this way should return a boolean."
msgstr ""

#: library/typing.rst:1335
msgid ""
"``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static "
"type checkers to determine a more precise type of an expression within a "
"program's code flow.  Usually type narrowing is done by analyzing "
"conditional code flow and applying the narrowing to a block of code.  The "
"conditional expression here is sometimes referred to as a \"type guard\"::"
msgstr ""

#: library/typing.rst:1350
msgid ""
"Sometimes it would be convenient to use a user-defined boolean function as a "
"type guard.  Such a function should use ``TypeGuard[...]`` as its return "
"type to alert static type checkers to this intention."
msgstr ""

#: library/typing.rst:1354
msgid ""
"Using  ``-> TypeGuard`` tells the static type checker that for a given "
"function:"
msgstr ""

#: library/typing.rst:1357
msgid "The return value is a boolean."
msgstr ""

#: library/typing.rst:1358
msgid ""
"If the return value is ``True``, the type of its argument is the type inside "
"``TypeGuard``."
msgstr ""

#: library/typing.rst:1375
msgid ""
"If ``is_str_list`` is a class or instance method, then the type in "
"``TypeGuard`` maps to the type of the second parameter after ``cls`` or "
"``self``."
msgstr ""

#: library/typing.rst:1379
msgid ""
"In short, the form ``def foo(arg: TypeA) -> TypeGuard[TypeB]: ...``, means "
"that if ``foo(arg)`` returns ``True``, then ``arg`` narrows from ``TypeA`` "
"to ``TypeB``."
msgstr ""

#: library/typing.rst:1385
msgid ""
"``TypeB`` need not be a narrower form of ``TypeA`` -- it can even be a wider "
"form. The main reason is to allow for things like narrowing ``list[object]`` "
"to ``list[str]`` even though the latter is not a subtype of the former, "
"since ``list`` is invariant. The responsibility of writing type-safe type "
"guards is left to the user."
msgstr ""

#: library/typing.rst:1391
#, fuzzy
msgid ""
"``TypeGuard`` also works with type variables.  See :pep:`647` for more "
"details."
msgstr ""
"Ces propriétés ne sont pas vérifiées à l'exécution. Voir la :pep:`591` pour "
"plus de détails."

#: library/typing.rst:1398
msgid "Typing operator to conceptually mark an object as having been unpacked."
msgstr ""

#: library/typing.rst:1400
msgid ""
"For example, using the unpack operator ``*`` on a :class:`type variable "
"tuple <TypeVarTuple>` is equivalent to using ``Unpack`` to mark the type "
"variable tuple as having been unpacked::"
msgstr ""

#: library/typing.rst:1409
msgid ""
"In fact, ``Unpack`` can be used interchangeably with ``*`` in the context "
"of :class:`typing.TypeVarTuple <TypeVarTuple>` and :class:`builtins.tuple "
"<tuple>` types. You might see ``Unpack`` being used explicitly in older "
"versions of Python, where ``*`` couldn't be used in certain places::"
msgstr ""

#: library/typing.rst:1426
#, fuzzy
msgid "Building generic types"
msgstr "Types génériques définis par l'utilisateur"

#: library/typing.rst:1428
msgid ""
"The following classes should not be used directly as annotations. Their "
"intended purpose is to be building blocks for creating generic types."
msgstr ""

#: library/typing.rst:1434
msgid "Abstract base class for generic types."
msgstr "Classe de base abstraite pour les types génériques."

#: library/typing.rst:1436
msgid ""
"A generic type is typically declared by inheriting from an instantiation of "
"this class with one or more type variables. For example, a generic mapping "
"type might be defined as::"
msgstr ""
"Un type générique est généralement déclaré en héritant d'une instanciation "
"de cette classe avec une ou plusieurs variables de type. Par exemple, un "
"type de correspondance générique peut être défini comme suit ::"

#: library/typing.rst:1445
msgid "This class can then be used as follows::"
msgstr "Cette classe peut alors être utilisée comme suit ::"

#: library/typing.rst:1458
msgid "Type variable."
msgstr "Variables de type."

#: library/typing.rst:1555 library/typing.rst:1779 library/typing.rst:2724
msgid "Usage::"
msgstr "Utilisation ::"

#: library/typing.rst:1466
#, fuzzy
msgid ""
"Type variables exist primarily for the benefit of static type checkers.  "
"They serve as the parameters for generic types as well as for generic "
"function and type alias definitions. See :class:`Generic` for more "
"information on generic types.  Generic functions work as follows::"
msgstr ""
"Les variables de type existent principalement dans l'intérêt des contrôleurs "
"de type statiques. Elles servent de paramètres pour les types génériques "
"ainsi que pour les définitions de fonctions génériques. Voir la classe "
"``Generic`` pour plus d'informations sur les types génériques. Les fonctions "
"génériques fonctionnent comme suit ::"

#: library/typing.rst:1487
msgid ""
"Note that type variables can be *bound*, *constrained*, or neither, but "
"cannot be both bound *and* constrained."
msgstr ""

#: library/typing.rst:1490
#, fuzzy
msgid ""
"Type variables may be marked covariant or contravariant by passing "
"``covariant=True`` or ``contravariant=True``.  See :pep:`484` for more "
"details.  By default, type variables are invariant."
msgstr ""
"Les variables de type peuvent être marquées covariantes ou contravariantes "
"en passant ``covariant=True`` ou ``contravariant=True``. Voir la :pep:`484` "
"pour plus de détails. Par défaut, les variables de type sont invariantes. "
"Sinon, une variable de type peut spécifier une limite supérieure en "
"utilisant ``bound=<type>``. Cela signifie qu'un type réel substitué "
"(explicitement ou implicitement) à la variable type doit être une sous-"
"classe du type frontière (*boundary* en anglais), voir la :pep:`484`."

#: library/typing.rst:1494
msgid ""
"Bound type variables and constrained type variables have different semantics "
"in several important ways. Using a *bound* type variable means that the "
"``TypeVar`` will be solved using the most specific type possible::"
msgstr ""

#: library/typing.rst:1509
msgid ""
"Type variables can be bound to concrete types, abstract types (ABCs or "
"protocols), and even unions of types::"
msgstr ""

#: library/typing.rst:1517
msgid ""
"Using a *constrained* type variable, however, means that the ``TypeVar`` can "
"only ever be solved as being exactly one of the constraints given::"
msgstr ""

#: library/typing.rst:1528
msgid "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`."
msgstr ""

#: library/typing.rst:1532
#, fuzzy
msgid "The name of the type variable."
msgstr "Variables de type."

#: library/typing.rst:1536
msgid "Whether the type var has been marked as covariant."
msgstr ""

#: library/typing.rst:1540
msgid "Whether the type var has been marked as contravariant."
msgstr ""

#: library/typing.rst:1544
msgid "The bound of the type variable, if any."
msgstr ""

#: library/typing.rst:1548
msgid "A tuple containing the constraints of the type variable, if any."
msgstr ""

#: library/typing.rst:1552
msgid ""
"Type variable tuple. A specialized form of :class:`type variable <TypeVar>` "
"that enables *variadic* generics."
msgstr ""

#: library/typing.rst:1563
msgid ""
"A normal type variable enables parameterization with a single type. A type "
"variable tuple, in contrast, allows parameterization with an *arbitrary* "
"number of types by acting like an *arbitrary* number of type variables "
"wrapped in a tuple. For example::"
msgstr ""

#: library/typing.rst:1585
msgid ""
"Note the use of the unpacking operator ``*`` in ``tuple[T, *Ts]``. "
"Conceptually, you can think of ``Ts`` as a tuple of type variables ``(T1, "
"T2, ...)``. ``tuple[T, *Ts]`` would then become ``tuple[T, *(T1, "
"T2, ...)]``, which is equivalent to ``tuple[T, T1, T2, ...]``. (Note that in "
"older versions of Python, you might see this written using :data:`Unpack "
"<Unpack>` instead, as ``Unpack[Ts]``.)"
msgstr ""

#: library/typing.rst:1593
msgid ""
"Type variable tuples must *always* be unpacked. This helps distinguish type "
"variable tuples from normal type variables::"
msgstr ""

#: library/typing.rst:1600
msgid ""
"Type variable tuples can be used in the same contexts as normal type "
"variables. For example, in class definitions, arguments, and return types::"
msgstr ""

#: library/typing.rst:1609
msgid ""
"Type variable tuples can be happily combined with normal type variables:"
msgstr ""

#: library/typing.rst:1628
msgid ""
"However, note that at most one type variable tuple may appear in a single "
"list of type arguments or type parameters::"
msgstr ""

#: library/typing.rst:1635
msgid ""
"Finally, an unpacked type variable tuple can be used as the type annotation "
"of ``*args``::"
msgstr ""

#: library/typing.rst:1645
msgid ""
"In contrast to non-unpacked annotations of ``*args`` - e.g. ``*args: int``, "
"which would specify that *all* arguments are ``int`` - ``*args: *Ts`` "
"enables reference to the types of the *individual* arguments in ``*args``. "
"Here, this allows us to ensure the types of the ``*args`` passed to "
"``call_soon`` match the types of the (positional) arguments of ``callback``."
msgstr ""

#: library/typing.rst:1652
#, fuzzy
msgid "See :pep:`646` for more details on type variable tuples."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:1656
#, fuzzy
msgid "The name of the type variable tuple."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:1662
msgid ""
"Parameter specification variable.  A specialized version of :class:`type "
"variables <TypeVar>`."
msgstr ""

#: library/typing.rst:1669
msgid ""
"Parameter specification variables exist primarily for the benefit of static "
"type checkers.  They are used to forward the parameter types of one callable "
"to another callable -- a pattern commonly found in higher order functions "
"and decorators.  They are only valid when used in ``Concatenate``, or as the "
"first argument to ``Callable``, or as parameters for user-defined Generics.  "
"See :class:`Generic` for more information on generic types."
msgstr ""

#: library/typing.rst:1676
msgid ""
"For example, to add basic logging to a function, one can create a decorator "
"``add_logging`` to log function calls.  The parameter specification variable "
"tells the type checker that the callable passed into the decorator and the "
"new callable returned by it have inter-dependent type parameters::"
msgstr ""

#: library/typing.rst:1700
msgid ""
"Without ``ParamSpec``, the simplest way to annotate this previously was to "
"use a :class:`TypeVar` with bound ``Callable[..., Any]``.  However this "
"causes two problems:"
msgstr ""

#: library/typing.rst:1704
msgid ""
"The type checker can't type check the ``inner`` function because ``*args`` "
"and ``**kwargs`` have to be typed :data:`Any`."
msgstr ""

#: library/typing.rst:1706
msgid ""
":func:`~cast` may be required in the body of the ``add_logging`` decorator "
"when returning the ``inner`` function, or the static type checker must be "
"told to ignore the ``return inner``."
msgstr ""

#: library/typing.rst:1713
msgid ""
"Since ``ParamSpec`` captures both positional and keyword parameters, ``P."
"args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its "
"components.  ``P.args`` represents the tuple of positional parameters in a "
"given call and should only be used to annotate ``*args``.  ``P.kwargs`` "
"represents the mapping of keyword parameters to their values in a given "
"call, and should be only be used to annotate ``**kwargs``.  Both attributes "
"require the annotated parameter to be in scope. At runtime, ``P.args`` and "
"``P.kwargs`` are instances respectively of :class:`ParamSpecArgs` and :class:"
"`ParamSpecKwargs`."
msgstr ""

#: library/typing.rst:1725
msgid "The name of the parameter specification."
msgstr ""

#: library/typing.rst:1727
msgid ""
"Parameter specification variables created with ``covariant=True`` or "
"``contravariant=True`` can be used to declare covariant or contravariant "
"generic types.  The ``bound`` argument is also accepted, similar to :class:"
"`TypeVar`.  However the actual semantics of these keywords are yet to be "
"decided."
msgstr ""

#: library/typing.rst:1736
msgid ""
"Only parameter specification variables defined in global scope can be "
"pickled."
msgstr ""

#: library/typing.rst:1742
msgid ":data:`Concatenate`"
msgstr ""

#: library/typing.rst:1748
msgid ""
"Arguments and keyword arguments attributes of a :class:`ParamSpec`. The ``P."
"args`` attribute of a ``ParamSpec`` is an instance of ``ParamSpecArgs``, and "
"``P.kwargs`` is an instance of ``ParamSpecKwargs``. They are intended for "
"runtime introspection and have no special meaning to static type checkers."
msgstr ""

#: library/typing.rst:1753
msgid ""
"Calling :func:`get_origin` on either of these objects will return the "
"original ``ParamSpec``:"
msgstr ""

#: library/typing.rst:1769
msgid "Other special directives"
msgstr ""

#: library/typing.rst:1771
msgid ""
"These functions and classes should not be used directly as annotations. "
"Their intended purpose is to be building blocks for creating and declaring "
"types."
msgstr ""

#: library/typing.rst:1777
msgid "Typed version of :func:`collections.namedtuple`."
msgstr "Version typée de :func:`collections.namedtuple`."

#: library/typing.rst:1785
msgid "This is equivalent to::"
msgstr "Ce qui est équivalent à ::"

#: library/typing.rst:1789
msgid ""
"To give a field a default value, you can assign to it in the class body::"
msgstr ""
"Pour assigner une valeur par défaut à un champ, vous pouvez lui donner dans "
"le corps de classe ::"

#: library/typing.rst:1798
msgid ""
"Fields with a default value must come after any fields without a default."
msgstr ""
"Les champs avec une valeur par défaut doivent venir après tous les champs "
"sans valeur par défaut."

#: library/typing.rst:1800
#, fuzzy
msgid ""
"The resulting class has an extra attribute ``__annotations__`` giving a dict "
"that maps the field names to the field types.  (The field names are in the "
"``_fields`` attribute and the default values are in the ``_field_defaults`` "
"attribute, both of which are part of the :func:`~collections.namedtuple` "
"API.)"
msgstr ""
"La classe résultante a un attribut supplémentaire ``__annotations__`` "
"donnant un dictionnaire qui associe les noms des champs aux types de champs. "
"(Les noms des champs sont dans l'attribut ``_fields`` et les valeurs par "
"défaut sont dans l'attribut ``_field_defaults`` qui font partie de l'API "
"*namedtuple*.)"

#: library/typing.rst:1806
msgid "``NamedTuple`` subclasses can also have docstrings and methods::"
msgstr ""
"Les sous-classes de ``NamedTuple`` peuvent aussi avoir des *docstrings* et "
"des méthodes ::"

#: library/typing.rst:1816
#, fuzzy
msgid "``NamedTuple`` subclasses can be generic::"
msgstr ""
"Les sous-classes de ``NamedTuple`` peuvent aussi avoir des *docstrings* et "
"des méthodes ::"

#: library/typing.rst:1822
msgid "Backward-compatible usage::"
msgstr "Utilisation rétrocompatible ::"

#: library/typing.rst:1826
msgid "Added support for :pep:`526` variable annotation syntax."
msgstr ""
"Ajout de la gestion de la syntaxe d'annotation variable de la :pep:`526`."

#: library/typing.rst:1829
msgid "Added support for default values, methods, and docstrings."
msgstr ""
"Ajout de la prise en charge des valeurs par défaut, des méthodes et des "
"chaînes de caractères *docstrings*."

#: library/typing.rst:1832
msgid ""
"The ``_field_types`` and ``__annotations__`` attributes are now regular "
"dictionaries instead of instances of ``OrderedDict``."
msgstr ""
"Les attributs ``_field_types`` et ``__annotations__`` sont maintenant des "
"dictionnaires standards au lieu d'instances de ``OrderedDict``."

#: library/typing.rst:1836
msgid ""
"Removed the ``_field_types`` attribute in favor of the more standard "
"``__annotations__`` attribute which has the same information."
msgstr ""
"rend l'attribut ``_field_types`` obsolète en faveur de l'attribut plus "
"standard ``__annotations__`` qui a la même information."

#: library/typing.rst:1840
msgid "Added support for generic namedtuples."
msgstr ""

#: library/typing.rst:1845
msgid "Helper class to create low-overhead :ref:`distinct types <distinct>`."
msgstr ""

#: library/typing.rst:1847
#, fuzzy
msgid ""
"A ``NewType`` is considered a distinct type by a typechecker. At runtime, "
"however, calling a ``NewType`` returns its argument unchanged."
msgstr ""
"Une fonction pour faciliter l'indication d'un type distinct à un "
"vérificateur de types, voir :ref:`distinct`. Lors de l'exécution, elle "
"renvoie une fonction qui renvoie son argument. Utilisation ::"

#: library/typing.rst:1857
msgid "The module in which the new type is defined."
msgstr ""

#: library/typing.rst:1861
msgid "The name of the new type."
msgstr ""

#: library/typing.rst:1865
msgid "The type that the new type is based on."
msgstr ""

#: library/typing.rst:1869
msgid "``NewType`` is now a class rather than a function."
msgstr ""

#: library/typing.rst:1874
#, fuzzy
msgid "Base class for protocol classes."
msgstr ""
"Classe de base pour les classes de protocole. Les classes de protocole sont "
"définies comme suit ::"

#: library/typing.rst:1876
#, fuzzy
msgid "Protocol classes are defined like this::"
msgstr ""
"Classe de base pour les classes de protocole. Les classes de protocole sont "
"définies comme suit ::"

#: library/typing.rst:1882
msgid ""
"Such classes are primarily used with static type checkers that recognize "
"structural subtyping (static duck-typing), for example::"
msgstr ""
"Ces classes sont principalement utilisées avec les vérificateurs statiques "
"de type qui reconnaissent les sous-types structurels (typage canard "
"statique), par exemple ::"

#: library/typing.rst:1894
#, fuzzy
msgid ""
"See :pep:`544` for more details. Protocol classes decorated with :func:"
"`runtime_checkable` (described later) act as simple-minded runtime protocols "
"that check only the presence of given attributes, ignoring their type "
"signatures."
msgstr ""
"Voir la :pep:`544` pour plus de détails. Les classes de protocole décorées "
"avec :func:`runtime_checkable` (décrite plus loin) agissent comme des "
"protocoles d'exécution simples qui ne vérifient que la présence d'attributs "
"donnés, ignorant leurs signatures de type."

#: library/typing.rst:1899
msgid "Protocol classes can be generic, for example::"
msgstr "Les classes de protocole peuvent être génériques, par exemple ::"

#: library/typing.rst:1911
msgid "Mark a protocol class as a runtime protocol."
msgstr "Marquez une classe de protocole comme protocole d'exécution."

#: library/typing.rst:1913
#, fuzzy
msgid ""
"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. "
"This raises :exc:`TypeError` when applied to a non-protocol class.  This "
"allows a simple-minded structural check, very similar to \"one trick "
"ponies\" in :mod:`collections.abc` such as :class:`~collections.abc."
"Iterable`.  For example::"
msgstr ""
"Un tel protocole peut être utilisé avec :func:`isinstance` et :func:"
"`issubclass`. Cela lève :exc:`TypeError` lorsqu'il est appliqué à une classe "
"non protocole. Cela permet un contrôle structurel compréhensible, très "
"similaire aux « classes qui ne savent faire qu'une chose » présentes dans :"
"mod:`collections.abc` tel que :class:`Iterable`. Par exemple ::"

#: library/typing.rst:1933
msgid ""
":func:`!runtime_checkable` will check only the presence of the required "
"methods or attributes, not their type signatures or types. For example, :"
"class:`ssl.SSLObject` is a class, therefore it passes an :func:`issubclass` "
"check against :ref:`Callable <annotating-callables>`. However, the ``ssl."
"SSLObject.__init__`` method exists only to raise a :exc:`TypeError` with a "
"more informative message, therefore making it impossible to call "
"(instantiate) :class:`ssl.SSLObject`."
msgstr ""

#: library/typing.rst:1944
msgid ""
"An :func:`isinstance` check against a runtime-checkable protocol can be "
"surprisingly slow compared to an ``isinstance()`` check against a non-"
"protocol class. Consider using alternative idioms such as :func:`hasattr` "
"calls for structural checks in performance-sensitive code."
msgstr ""

#: library/typing.rst:1955
#, fuzzy
msgid ""
"Special construct to add type hints to a dictionary. At runtime it is a "
"plain :class:`dict`."
msgstr ""
"Un simple espace de nommage typé. À l'exécution, c'est l'équivalent d'un "
"simple :class:`dict`."

#: library/typing.rst:1958
#, fuzzy
msgid ""
"``TypedDict`` declares a dictionary type that expects all of its instances "
"to have a certain set of keys, where each key is associated with a value of "
"a consistent type. This expectation is not checked at runtime but is only "
"enforced by type checkers. Usage::"
msgstr ""
"``TypedDict`` crée un type de dictionnaire qui s'attend à ce que toutes ses "
"instances aient un certain jeu de clés, où chaque clé est associée à une "
"valeur d'un type cohérent. Cette vérification n'est pas faite au moment de "
"l'exécution mais n'est appliquée que par les vérificateurs de type. "
"Utilisation ::"

#: library/typing.rst:1974
#, fuzzy
msgid ""
"To allow using this feature with older versions of Python that do not "
"support :pep:`526`, ``TypedDict`` supports two additional equivalent "
"syntactic forms:"
msgstr ""
"Les informations de type pour l'introspection sont accessibles via ``Point2D."
"__annotations__`` et ``Point2D.__total__``. Pour permettre l'utilisation de "
"cette fonctionnalité avec les anciennes versions de Python qui ne prennent "
"pas en compte la :pep:`526`, ``TypedDict`` gère deux formes syntaxiques "
"équivalentes supplémentaires :"

#: library/typing.rst:1978
msgid "Using a literal :class:`dict` as the second argument::"
msgstr ""

#: library/typing.rst:1982
msgid "Using keyword arguments::"
msgstr ""

#: library/typing.rst:1989
msgid ""
"The keyword-argument syntax is deprecated in 3.11 and will be removed in "
"3.13. It may also be unsupported by static type checkers."
msgstr ""

#: library/typing.rst:1990
msgid ""
"The functional syntax should also be used when any of the keys are not "
"valid :ref:`identifiers <identifiers>`, for example because they are "
"keywords or contain hyphens. Example::"
msgstr ""

#: library/typing.rst:2002
msgid ""
"By default, all keys must be present in a ``TypedDict``. It is possible to "
"mark individual keys as non-required using :data:`NotRequired`::"
msgstr ""

#: library/typing.rst:2013
msgid ""
"This means that a ``Point2D`` ``TypedDict`` can have the ``label`` key "
"omitted."
msgstr ""

#: library/typing.rst:2016
msgid ""
"It is also possible to mark all keys as non-required by default by "
"specifying a totality of ``False``::"
msgstr ""

#: library/typing.rst:2026
msgid ""
"This means that a ``Point2D`` ``TypedDict`` can have any of the keys "
"omitted. A type checker is only expected to support a literal ``False`` or "
"``True`` as the value of the ``total`` argument. ``True`` is the default, "
"and makes all items defined in the class body required."
msgstr ""

#: library/typing.rst:2031
msgid ""
"Individual keys of a ``total=False`` ``TypedDict`` can be marked as required "
"using :data:`Required`::"
msgstr ""

#: library/typing.rst:2046
msgid ""
"It is possible for a ``TypedDict`` type to inherit from one or more other "
"``TypedDict`` types using the class-based syntax. Usage::"
msgstr ""

#: library/typing.rst:2053
msgid ""
"``Point3D`` has three items: ``x``, ``y`` and ``z``. It is equivalent to "
"this definition::"
msgstr ""

#: library/typing.rst:2061
msgid ""
"A ``TypedDict`` cannot inherit from a non-\\ ``TypedDict`` class, except "
"for :class:`Generic`. For example::"
msgstr ""

#: library/typing.rst:2079
#, fuzzy
msgid "A ``TypedDict`` can be generic:"
msgstr ""
"Les sous-classes de ``NamedTuple`` peuvent aussi avoir des *docstrings* et "
"des méthodes ::"

#: library/typing.rst:2089
msgid ""
"A ``TypedDict`` can be introspected via annotations dicts (see :ref:"
"`annotations-howto` for more information on annotations best practices), :"
"attr:`__total__`, :attr:`__required_keys__`, and :attr:`__optional_keys__`."
msgstr ""

#: library/typing.rst:2095
msgid ""
"``Point2D.__total__`` gives the value of the ``total`` argument. Example:"
msgstr ""

#: library/typing.rst:2117
msgid ""
"``Point2D.__required_keys__`` and ``Point2D.__optional_keys__`` return :"
"class:`frozenset` objects containing required and non-required keys, "
"respectively."
msgstr ""

#: library/typing.rst:2120
msgid ""
"Keys marked with :data:`Required` will always appear in "
"``__required_keys__`` and keys marked with :data:`NotRequired` will always "
"appear in ``__optional_keys__``."
msgstr ""

#: library/typing.rst:2123
msgid ""
"For backwards compatibility with Python 3.10 and below, it is also possible "
"to use inheritance to declare both required and non-required keys in the "
"same ``TypedDict`` . This is done by declaring a ``TypedDict`` with one "
"value for the ``total`` argument and then inheriting from it in another "
"``TypedDict`` with a different value for ``total``:"
msgstr ""

#: library/typing.rst:2146
#, fuzzy
msgid ""
"See :pep:`589` for more examples and detailed rules of using ``TypedDict``."
msgstr ""
"Voir la :pep:`589` pour plus d'exemples et de règles détaillées "
"d'utilisation de ``TypedDict`` avec les vérificateurs de type."

#: library/typing.rst:2150
msgid ""
"Added support for marking individual keys as :data:`Required` or :data:"
"`NotRequired`. See :pep:`655`."
msgstr ""

#: library/typing.rst:2154
msgid "Added support for generic ``TypedDict``\\ s."
msgstr ""

#: library/typing.rst:2158
msgid "Protocols"
msgstr "Protocoles"

#: library/typing.rst:2160
#, fuzzy
msgid ""
"The following protocols are provided by the typing module. All are decorated "
"with :func:`@runtime_checkable <runtime_checkable>`."
msgstr "Ces protocoles sont décorés par :func:`runtime_checkable`."

#: library/typing.rst:2165
msgid ""
"An ABC with one abstract method ``__abs__`` that is covariant in its return "
"type."
msgstr ""
"Une ABC avec une méthode abstraite ``__abs__`` qui est covariante dans son "
"type de retour."

#: library/typing.rst:2170
msgid "An ABC with one abstract method ``__bytes__``."
msgstr "Une ABC avec une méthode abstraite ``__bytes__``."

#: library/typing.rst:2174
msgid "An ABC with one abstract method ``__complex__``."
msgstr "Une ABC avec une méthode abstraite ``__complex__``."

#: library/typing.rst:2178
msgid "An ABC with one abstract method ``__float__``."
msgstr "Une ABC avec une méthode abstraite ``__float__``."

#: library/typing.rst:2182
msgid "An ABC with one abstract method ``__index__``."
msgstr "Une ABC avec une méthode abstraite ``__index__``."

#: library/typing.rst:2188
msgid "An ABC with one abstract method ``__int__``."
msgstr "Une ABC avec une méthode abstraite ``__int__``."

#: library/typing.rst:2192
msgid ""
"An ABC with one abstract method ``__round__`` that is covariant in its "
"return type."
msgstr ""
"Une ABC avec une méthode abstraite ``__round__`` qui est covariante dans son "
"type de retour."

#: library/typing.rst:2196
msgid "ABCs for working with IO"
msgstr ""

#: library/typing.rst:2202
#, fuzzy
msgid ""
"Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and "
"``BinaryIO(IO[bytes])`` represent the types of I/O streams such as returned "
"by :func:`open`."
msgstr ""
"Le type générique ``IO[AnyStr]`` et ses sous-classes ``TextIO(IO[str])`` et "
"``BinaryIO(IO[bytes])`` représentent les types de flux d'entrées-sorties "
"tels que renvoyés par :func:`open`."

#: library/typing.rst:2208
#, fuzzy
msgid "Functions and decorators"
msgstr "Classes, fonctions et décorateurs"

#: library/typing.rst:2212
msgid "Cast a value to a type."
msgstr "Convertit une valeur en un type."

#: library/typing.rst:2214
msgid ""
"This returns the value unchanged.  To the type checker this signals that the "
"return value has the designated type, but at runtime we intentionally don't "
"check anything (we want this to be as fast as possible)."
msgstr ""
"Ceci renvoie la valeur inchangée. Pour le vérificateur de types, cela "
"signifie que la valeur de retour a le type désigné mais, à l'exécution, "
"intentionnellement, rien n'est vérifié (afin que cela soit aussi rapide que "
"possible)."

#: library/typing.rst:2221
msgid ""
"Ask a static type checker to confirm that *val* has an inferred type of "
"*typ*."
msgstr "Vérifie que *val* est bien du type *typ*."

#: library/typing.rst:2223
#, fuzzy
msgid ""
"At runtime this does nothing: it returns the first argument unchanged with "
"no checks or side effects, no matter the actual type of the argument."
msgstr "Renvoie le premier argument inchangé lors de l'exécution."

#: library/typing.rst:2226
#, fuzzy
msgid ""
"When a static type checker encounters a call to ``assert_type()``, it emits "
"an error if the value is not of the specified type::"
msgstr ""
"Lors d'un appel à ``assert_type()``, le vérificateur de types va lever "
"émettre une erreur si la variable n'est pas du type renseigné ::"

#: library/typing.rst:2233
msgid ""
"This function is useful for ensuring the type checker's understanding of a "
"script is in line with the developer's intentions::"
msgstr ""
"Cette fonction permet de s'assurer de la compréhension du vérificateur de "
"type d'un script par rapport aux intentions du développeur ::"

#: library/typing.rst:2247
msgid ""
"Ask a static type checker to confirm that a line of code is unreachable."
msgstr ""
"Demande une confirmation de la part du vérificateur statique de type qu'une "
"ligne de code est inaccessible."

#: library/typing.rst:2249
#, fuzzy
msgid "Example::"
msgstr "Par exemple ::"

#: library/typing.rst:2260
msgid ""
"Here, the annotations allow the type checker to infer that the last case can "
"never execute, because ``arg`` is either an :class:`int` or a :class:`str`, "
"and both options are covered by earlier cases."
msgstr ""

#: library/typing.rst:2265
#, fuzzy
msgid ""
"If a type checker finds that a call to ``assert_never()`` is reachable, it "
"will emit an error. For example, if the type annotation for ``arg`` was "
"instead ``int | str | float``, the type checker would emit an error pointing "
"out that ``unreachable`` is of type :class:`float`. For a call to "
"``assert_never`` to pass type checking, the inferred type of the argument "
"passed in must be the bottom type, :data:`Never`, and nothing else."
msgstr ""
"Les annotations permettent ici au vérificateur de types de déduire que le "
"dernier cas ne sera jamais exécuté car les seuls cas possibles (qu'``arg`` "
"soit un :class:`int` ou un :class:`str`) sont couverts dans les cas "
"précédents. Une erreur est levée si un appel à ``assert_never()`` est "
"atteignable. Par exemple, si l'annotation de type d'``arg`` est ``int | str "
"| float``, une erreur sera levée indiquant qu'``unreachable`` est de type :"
"class:`float`. Lors d'un appel à ``assert_never``, afin de passer la "
"vérification de type avec succès, le type déduit de l'argument doit être de "
"type :data:`Never`."

#: library/typing.rst:2273
msgid "At runtime, this throws an exception when called."
msgstr "Une erreur est levé si la fonction est appelé lors de l'exécution."

#: library/typing.rst:2276
msgid ""
"`Unreachable Code and Exhaustiveness Checking <https://typing.readthedocs.io/"
"en/latest/source/unreachable.html>`__ has more information about "
"exhaustiveness checking with static typing."
msgstr ""
"`Unreachable Code and Exhaustiveness Checking <https://typing.readthedocs.io/"
"en/latest/source/unreachable.html>`__ pour plus détails sur la vérification "
"exhaustive statique de type."

#: library/typing.rst:2284
msgid "Reveal the inferred static type of an expression."
msgstr "Révèle le type statique déduit d'une expression."

#: library/typing.rst:2286
msgid ""
"When a static type checker encounters a call to this function, it emits a "
"diagnostic with the type of the argument. For example::"
msgstr ""
"Lorsqu'un vérificateur de types rencontre un appel à cette fonction, il va "
"diagnostiquer le type de l'argument. Par exemple ::"

#: library/typing.rst:2292
msgid ""
"This can be useful when you want to debug how your type checker handles a "
"particular piece of code."
msgstr ""
"Cela est utile afin de comprendre comment le vérificateur de types va "
"traiter un bout de code précis."

#: library/typing.rst:2295
msgid ""
"The function returns its argument unchanged, which allows using it within an "
"expression::"
msgstr ""
"La fonction renvoie l'argument inchangé. Ce qui permet de l'utiliser au sein "
"d'une expression ::"

#: library/typing.rst:2300
msgid ""
"Most type checkers support ``reveal_type()`` anywhere, even if the name is "
"not imported from ``typing``. Importing the name from ``typing`` allows your "
"code to run without runtime errors and communicates intent more clearly."
msgstr ""
"La plupart des vérificateurs de type supportent ``reveal_type()``, même dans "
"le cas ou le nom du type n'est pas importé depuis ``typing``. Cependant, "
"l'import depuis ``typing`` permet d'éviter les erreurs d'exécution et "
"devient plus compréhensible."

#: library/typing.rst:2305
msgid ""
"At runtime, this function prints the runtime type of its argument to stderr "
"and returns it unchanged::"
msgstr ""
"Lors de l'exécution, cette fonction affiche le type de son argument dans "
"*stderr* et le renvoie inchangé ::"

#: library/typing.rst:2317
msgid ""
"Decorator to mark an object as providing :func:`dataclass <dataclasses."
"dataclass>`-like behavior."
msgstr ""

#: library/typing.rst:2320
#, fuzzy
msgid ""
"``dataclass_transform`` may be used to decorate a class, metaclass, or a "
"function that is itself a decorator. The presence of "
"``@dataclass_transform()`` tells a static type checker that the decorated "
"object performs runtime \"magic\" that transforms a class in a similar way "
"to :func:`@dataclasses.dataclass <dataclasses.dataclass>`."
msgstr ""
":data:`~typing.dataclass_transform` permet de décorer une classe, une "
"métaclasse ou une fonction décoratrice.  L'utilisation de "
"``@dataclass_transform()`` avertit le vérificateur de types statiques que "
"l'objet décoré effectue de la \"magie\" consistant à transformer une classe, "
"lui appliquant un comportement du type de :func:`dataclasses.dataclass`."

#: library/typing.rst:2327
#, fuzzy
msgid "Example usage with a decorator function:"
msgstr "Exemple d'utilisation avec une fonction décoratrice ::"

#: library/typing.rst:2343
msgid "On a base class::"
msgstr "Avec une classe de base ::"

#: library/typing.rst:2352
msgid "On a metaclass::"
msgstr "Avec une métaclasse ::"

#: library/typing.rst:2363
msgid ""
"The ``CustomerModel`` classes defined above will be treated by type checkers "
"similarly to classes created with :func:`@dataclasses.dataclass <dataclasses."
"dataclass>`. For example, type checkers will assume these classes have "
"``__init__`` methods that accept ``id`` and ``name``."
msgstr ""
"Les classes ``CustomerModel`` définis ci-dessus sont traitées par les "
"vérificateurs de type de la même que les classes créées avec :func:"
"`@dataclasses.dataclass <dataclasses.dataclass>`. Par exemple, les "
"vérificateurs de type déduisent que ces classes possèdent une méthode "
"``__init__`` acceptant ``id`` et ``name`` comme arguments."

#: library/typing.rst:2369
msgid ""
"The decorated class, metaclass, or function may accept the following bool "
"arguments which type checkers will assume have the same effect as they would "
"have on the :func:`@dataclasses.dataclass<dataclasses.dataclass>` decorator: "
"``init``, ``eq``, ``order``, ``unsafe_hash``, ``frozen``, ``match_args``, "
"``kw_only``, and ``slots``. It must be possible for the value of these "
"arguments (``True`` or ``False``) to be statically evaluated."
msgstr ""
"Les arguments booléens suivants sont acceptés,les vérificateurs de type "
"supposent qu'ils ont le même effet qu'ils auraient eu sur le décorateur :"
"func:`@dataclasses.dataclass<dataclasses.dataclass>` : ``init``, ``eq``, "
"``order``, ``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, et "
"``slots``. Il est possible d'évaluer statiquement les valeurs de ces "
"arguments (``True`` or ``False``)."

#: library/typing.rst:2377
msgid ""
"The arguments to the ``dataclass_transform`` decorator can be used to "
"customize the default behaviors of the decorated class, metaclass, or "
"function:"
msgstr ""
"Les arguments du décorateur ``dataclass_transform`` permettent de "
"personnaliser le comportement par défaut de la classe, métaclasse ou "
"fonction décorée :"

#: library/typing.rst:0
msgid "Parameters"
msgstr ""

#: library/typing.rst:2381
#, fuzzy
msgid ""
"Indicates whether the ``eq`` parameter is assumed to be ``True`` or "
"``False`` if it is omitted by the caller. Defaults to ``True``."
msgstr ""
"``eq_default`` indique la valeur du paramètre ``eq`` (``True`` ou ``False``) "
"si ce ne n'est pas précisé lors de l'appel."

#: library/typing.rst:2386
#, fuzzy
msgid ""
"Indicates whether the ``order`` parameter is assumed to be ``True`` or "
"``False`` if it is omitted by the caller. Defaults to ``False``."
msgstr ""
"``eq_default`` indique la valeur du paramètre ``eq`` (``True`` ou ``False``) "
"si ce ne n'est pas précisé lors de l'appel."

#: library/typing.rst:2391
#, fuzzy
msgid ""
"Indicates whether the ``kw_only`` parameter is assumed to be ``True`` or "
"``False`` if it is omitted by the caller. Defaults to ``False``."
msgstr ""
"``eq_default`` indique la valeur du paramètre ``eq`` (``True`` ou ``False``) "
"si ce ne n'est pas précisé lors de l'appel."

#: library/typing.rst:2396
#, fuzzy
msgid ""
"Specifies a static list of supported classes or functions that describe "
"fields, similar to :func:`dataclasses.field`. Defaults to ``()``."
msgstr ""
"``field_specifiers`` spécifie une liste statique des classes ou fonctions "
"prises en charge pour la description des champs, similaire à  ``dataclasses."
"field()``."

#: library/typing.rst:2402
msgid ""
"Arbitrary other keyword arguments are accepted in order to allow for "
"possible future extensions."
msgstr ""
"D'autres arguments sont acceptés afin d'autoriser de futurs possibles "
"extensions."

#: library/typing.rst:2406
#, fuzzy
msgid ""
"Type checkers recognize the following optional parameters on field "
"specifiers:"
msgstr ""
"Les arguments optionnels suivants pour la spécifications des champs sont "
"reconnus :"

#: library/typing.rst:2409
msgid "**Recognised parameters for field specifiers**"
msgstr ""

#: library/typing.rst:2413
msgid "Parameter name"
msgstr ""

#: library/typing.rst:2414
msgid "Description"
msgstr ""

#: library/typing.rst:2415
msgid "``init``"
msgstr ""

#: library/typing.rst:2416
#, fuzzy
msgid ""
"Indicates whether the field should be included in the synthesized "
"``__init__`` method. If unspecified, ``init`` defaults to ``True``."
msgstr ""
"``init`` indique si le champ doit être inclut au sein de la méthode "
"``__init__``. Vaut ``True`` par défaut."

#: library/typing.rst:2419
msgid "``default``"
msgstr ""

#: library/typing.rst:2420
#, fuzzy
msgid "Provides the default value for the field."
msgstr "``default`` indique la valeur par défaut du champ."

#: library/typing.rst:2421
msgid "``default_factory``"
msgstr ""

#: library/typing.rst:2422
#, fuzzy
msgid ""
"Provides a runtime callback that returns the default value for the field. If "
"neither ``default`` nor ``default_factory`` are specified, the field is "
"assumed to have no default value and must be provided a value when the class "
"is instantiated."
msgstr ""
"``default_factory`` fournit une fonction de rappel renvoyant la valeur par "
"défaut du champ. Si les arguments ``default`` et ``default_factory`` ne sont "
"pas renseignés, le champ n'a pas de valeur pas défaut et il faudra en "
"fournir une lors de l'instanciation de la classe."

#: library/typing.rst:2427
msgid "``factory``"
msgstr ""

#: library/typing.rst:2428
msgid "An alias for the ``default_factory`` parameter on field specifiers."
msgstr ""

#: library/typing.rst:2429
msgid "``kw_only``"
msgstr ""

#: library/typing.rst:2430
#, fuzzy
msgid ""
"Indicates whether the field should be marked as keyword-only. If ``True``, "
"the field will be keyword-only. If ``False``, it will not be keyword-only. "
"If unspecified, the value of the ``kw_only`` parameter on the object "
"decorated with ``dataclass_transform`` will be used, or if that is "
"unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` "
"will be used."
msgstr ""
"``kw_only`` indique si le champ est uniquement par mot-clé. Si l'argument "
"n'est pas renseigné, la valeur du paramètre ``kw_only`` de l'objet décoré "
"avec ``dataclass_transform`` est utilisé. Ou si cette valeur n'est pas "
"renseigné non plus, la valeur de ``kw_only_default`` de "
"``dataclass_transform`` est utilisé."

#: library/typing.rst:2436
msgid "``alias``"
msgstr ""

#: library/typing.rst:2437
#, fuzzy
msgid ""
"Provides an alternative name for the field. This alternative name is used in "
"the synthesized ``__init__`` method."
msgstr ""
"``alias`` indique un nom alternatif pour le champ. Cet alias est utilisé "
"dans le méthode ``__init__`` synthétisée."

#: library/typing.rst:2440
msgid ""
"At runtime, this decorator records its arguments in the "
"``__dataclass_transform__`` attribute on the decorated object. It has no "
"other runtime effect."
msgstr ""
"Lors de l'exécution, les arguments de ce décorateur sont enregistrés au sein "
"de l'attribut ``__dataclass_transform__`` de l'objet décoré. Il n'y pas "
"d'autre effet à l'exécution."

#: library/typing.rst:2444
#, fuzzy
msgid "See :pep:`681` for more details."
msgstr "Voir la :pep:`484` pour plus de détails."

#: library/typing.rst:2450
msgid "Decorator for creating overloaded functions and methods."
msgstr ""

#: library/typing.rst:2452
msgid ""
"The ``@overload`` decorator allows describing functions and methods that "
"support multiple different combinations of argument types. A series of "
"``@overload``-decorated definitions must be followed by exactly one non-"
"``@overload``-decorated definition (for the same function/method)."
msgstr ""

#: library/typing.rst:2457
#, fuzzy
msgid ""
"``@overload``-decorated definitions are for the benefit of the type checker "
"only, since they will be overwritten by the non-``@overload``-decorated "
"definition. The non-``@overload``-decorated definition, meanwhile, will be "
"used at runtime but should be ignored by a type checker.  At runtime, "
"calling an ``@overload``-decorated function directly will raise :exc:"
"`NotImplementedError`."
msgstr ""
"Le décorateur ``@overload`` permet de décrire des fonctions et des méthodes "
"qui acceptent plusieurs combinaisons différentes de types d'arguments. Une "
"série de définitions décorées avec ``overload`` doit être suivie d'une seule "
"définition non décorée de ``overload`` (pour la même fonction/méthode). Les "
"définitions décorées de ``@overload`` ne sont destinées qu'au vérificateur "
"de type, puisqu'elles sont écrasées par la définition non décorée de "
"``@overload`` ; cette dernière, en revanche, est utilisée à l'exécution mais "
"qu'il convient que le vérificateur de types l'ignore. Lors de l'exécution, "
"l'appel direct d'une fonction décorée avec ``@overload`` lèvera :exc:"
"`NotImplementedError`. Un exemple de surcharge qui donne un type plus précis "
"que celui qui peut être exprimé à l'aide d'une variable union ou type ::"

#: library/typing.rst:2465
msgid ""
"An example of overload that gives a more precise type than can be expressed "
"using a union or a type variable:"
msgstr ""

#: library/typing.rst:2482
#, fuzzy
msgid ""
"See :pep:`484` for more details and comparison with other typing semantics."
msgstr ""
"Voir la :pep:`484` pour plus de détails et la comparaison avec d'autres "
"sémantiques de typage."

#: library/typing.rst:2484
msgid ""
"Overloaded functions can now be introspected at runtime using :func:"
"`get_overloads`."
msgstr ""
"Les fonctions surchargées peuvent maintenant être inspectées durant "
"l'exécution via :func:`get_overloads`."

#: library/typing.rst:2491
msgid ""
"Return a sequence of :func:`@overload <overload>`-decorated definitions for "
"*func*."
msgstr ""

#: library/typing.rst:2494
#, fuzzy
msgid ""
"*func* is the function object for the implementation of the overloaded "
"function. For example, given the definition of ``process`` in the "
"documentation for :func:`@overload <overload>`, ``get_overloads(process)`` "
"will return a sequence of three function objects for the three defined "
"overloads. If called on a function with no overloads, ``get_overloads()`` "
"returns an empty sequence."
msgstr ""
"Renvoie la séquence des définitions des fonctions décorées comme :func:"
"`@overload <overload>` associées à *func*. *func* est l'objet de la fonction "
"implémenté de base. Par exemple, en reprenant le définition de ``process`` "
"dans la documentation pour  :func:`@overload <overload>`, "
"``get_overloads(process)`` renvoie une séquence composée de trois objets de "
"fonction associés aux trois fonctions surchargées définies. En cas d'appel à "
"``get_overloads()`` sur une fonction non surchargés, une séquence vide est "
"retournée."

#: library/typing.rst:2501
msgid ""
"``get_overloads()`` can be used for introspecting an overloaded function at "
"runtime."
msgstr ""
"``get_overloads()`` peut être utilisé afin d'inspecter une fonction "
"surchargée durant l'exécution."

#: library/typing.rst:2509
#, fuzzy
msgid "Clear all registered overloads in the internal registry."
msgstr ""
"Suppression de toutes les surcharges enregistrées au sein du registre "
"interne. Cela peut être utilisé afin de récupérer la mémoire utilisé par le "
"registre."

#: library/typing.rst:2511
#, fuzzy
msgid "This can be used to reclaim the memory used by the registry."
msgstr ""
"Suppression de toutes les surcharges enregistrées au sein du registre "
"interne. Cela peut être utilisé afin de récupérer la mémoire utilisé par le "
"registre."

#: library/typing.rst:2518
#, fuzzy
msgid "Decorator to indicate final methods and final classes."
msgstr ""
"Décorateur pour indiquer que les annotations ne sont pas des indications de "
"type."

#: library/typing.rst:2520
#, fuzzy
msgid ""
"Decorating a method with ``@final`` indicates to a type checker that the "
"method cannot be overridden in a subclass. Decorating a class with "
"``@final`` indicates that it cannot be subclassed."
msgstr ""
"Un décorateur pour indiquer aux vérificateurs de types que la méthode "
"décorée ne peut pas être remplacée et que la classe décorée ne peut pas être "
"sous-classée. Par exemple ::"

#: library/typing.rst:2545
#, fuzzy
msgid ""
"The decorator will now attempt to set a ``__final__`` attribute to ``True`` "
"on the decorated object. Thus, a check like ``if getattr(obj, \"__final__\", "
"False)`` can be used at runtime to determine whether an object ``obj`` has "
"been marked as final. If the decorated object does not support setting "
"attributes, the decorator returns the object unchanged without raising an "
"exception."
msgstr ""
"Le décorateur met l'attribut ``__final__`` à ``True`` de l'objet décoré. "
"Cela permet d'utiliser une vérification comme ``if getattr(obj, "
"\"__final__\", False)`` durant l'exécution afin de vérifier si un objet "
"``obj`` est décoré comme ``final``. Dans le cas où l'objet décoré ne "
"supporte pas la modification d'attributs, le décorateur retournera l'objet "
"de base sans lever d'exception."

#: library/typing.rst:2556
msgid "Decorator to indicate that annotations are not type hints."
msgstr ""
"Décorateur pour indiquer que les annotations ne sont pas des indications de "
"type."

#: library/typing.rst:2558
#, fuzzy
msgid ""
"This works as a class or function :term:`decorator`.  With a class, it "
"applies recursively to all methods and classes defined in that class (but "
"not to methods defined in its superclasses or subclasses). Type checkers "
"will ignore all annotations in a function or class with this decorator."
msgstr ""
"Cela fonctionne en tant que classe ou fonction :term:`décoratrice "
"<decorator>`. Avec une classe, elle s'applique récursivement à toutes les "
"méthodes définies dans cette classe (mais pas aux méthodes définies dans ses "
"superclasses ou sous-classes)."

#: library/typing.rst:2564
msgid "``@no_type_check`` mutates the decorated object in place."
msgstr ""

#: library/typing.rst:2568
msgid "Decorator to give another decorator the :func:`no_type_check` effect."
msgstr ""
"Décorateur pour donner à un autre décorateur l'effet :func:`no_type_check`."

#: library/typing.rst:2570
msgid ""
"This wraps the decorator with something that wraps the decorated function "
"in :func:`no_type_check`."
msgstr ""
"Ceci enveloppe le décorateur avec quelque chose qui enveloppe la fonction "
"décorée dans :func:`no_type_check`."

#: library/typing.rst:2575
#, fuzzy
msgid "Decorator to mark a class or function as unavailable at runtime."
msgstr ""
"Décorateur pour marquer une classe ou une fonction comme étant indisponible "
"au moment de l'exécution."

#: library/typing.rst:2577
msgid ""
"This decorator is itself not available at runtime. It is mainly intended to "
"mark classes that are defined in type stub files if an implementation "
"returns an instance of a private class::"
msgstr ""
"Ce décorateur n'est pas disponible à l'exécution. Il est principalement "
"destiné à marquer les classes qui sont définies dans des fichiers séparés "
"d'annotations de type (*type stub file*, en anglais) si une implémentation "
"renvoie une instance d'une classe privée ::"

#: library/typing.rst:2588
msgid ""
"Note that returning instances of private classes is not recommended. It is "
"usually preferable to make such classes public."
msgstr ""
"Notez qu'il n'est pas recommandé de renvoyer les instances des classes "
"privées. Il est généralement préférable de rendre ces classes publiques."

#: library/typing.rst:2592
msgid "Introspection helpers"
msgstr "Utilitaires d'introspection"

#: library/typing.rst:2596
msgid ""
"Return a dictionary containing type hints for a function, method, module or "
"class object."
msgstr ""
"Renvoie un dictionnaire contenant des annotations de type pour une fonction, "
"une méthode, un module ou un objet de classe."

#: library/typing.rst:2599
msgid ""
"This is often the same as ``obj.__annotations__``. In addition, forward "
"references encoded as string literals are handled by evaluating them in "
"``globals`` and ``locals`` namespaces. For a class ``C``, return a "
"dictionary constructed by merging all the ``__annotations__`` along ``C."
"__mro__`` in reverse order."
msgstr ""
"C'est souvent équivalent à ``obj.__annotations__``. De plus, les références "
"postérieures encodées sous forme de chaîne de caractères sont évaluées dans "
"les espaces de nommage ``globals`` et ``locals``. Pour une classe ``C``, "
"elle renvoie un dictionnaire construit en fusionnant toutes les "
"``__annotations__`` en parcourant ``C.__mro__`` en ordre inverse."

#: library/typing.rst:2605
#, fuzzy
msgid ""
"The function recursively replaces all ``Annotated[T, ...]`` with ``T``, "
"unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for "
"more information). For example:"
msgstr ""
"La fonction remplace récursivement tous les ``Annotated[T, ...]`` avec "
"``T``, sauf si la valeur de ``include_extras`` est définie à ``True`` (voir :"
"class:`Annotated` pour plus d'information). Par exemple ::"

#: library/typing.rst:2622
msgid ""
":func:`get_type_hints` does not work with imported :ref:`type aliases <type-"
"aliases>` that include forward references. Enabling postponed evaluation of "
"annotations (:pep:`563`) may remove the need for most forward references."
msgstr ""
":func:`get_type_hints` ne fonctionne pas avec les :ref:`alias de type <type-"
"aliases>` importés contenant des références postérieures. L'activation "
"d'évaluation différée des annotations (:pep:`563`) permet de supprimer le "
"besoin de références postérieures supplémentaires."

#: library/typing.rst:2627
#, fuzzy
msgid ""
"Added ``include_extras`` parameter as part of :pep:`593`. See the "
"documentation on :data:`Annotated` for more information."
msgstr "Ajout du paramètre ``include_extras`` comme énoncé dans la :pep:`593`."

#: library/typing.rst:2631
msgid ""
"Previously, ``Optional[t]`` was added for function and method annotations if "
"a default value equal to ``None`` was set. Now the annotation is returned "
"unchanged."
msgstr ""
"Avant, ``Optional[t]`` était ajouté pour les annotations de fonctions et de "
"méthodes dans le cas où une valeur par défaut était égal à ``None``. "
"Maintenant, les annotations sont renvoyées inchangées."

#: library/typing.rst:2638
msgid ""
"Get the unsubscripted version of a type: for a typing object of the form "
"``X[Y, Z, ...]`` return ``X``."
msgstr ""

#: library/typing.rst:2641
msgid ""
"If ``X`` is a typing-module alias for a builtin or :mod:`collections` class, "
"it will be normalized to the original class. If ``X`` is an instance of :"
"class:`ParamSpecArgs` or :class:`ParamSpecKwargs`, return the underlying :"
"class:`ParamSpec`. Return ``None`` for unsupported objects."
msgstr ""

#: library/typing.rst:2670
#, fuzzy
msgid "Examples:"
msgstr "Par exemple ::"

#: library/typing.rst:2662
msgid ""
"Get type arguments with all substitutions performed: for a typing object of "
"the form ``X[Y, Z, ...]`` return ``(Y, Z, ...)``."
msgstr ""

#: library/typing.rst:2665
#, fuzzy
msgid ""
"If ``X`` is a union or :class:`Literal` contained in another generic type, "
"the order of ``(Y, Z, ...)`` may be different from the order of the original "
"arguments ``[Y, Z, ...]`` due to type caching. Return ``()`` for unsupported "
"objects."
msgstr ""
"Pour un objet de typage de la forme ``X[Y, Z, ....]``, ces fonctions "
"renvoient ``X`` et ``(Y, Z,...)``. Si ``X`` est un alias pour une classe "
"native ou de :mod:`collections`, il est normalisé vers la classe originale. "
"Si ``X`` est une union or un :class:`Literal` contenu dans un autre type "
"générique, l'ordre de ``(Y, Z, ...)`` peut différer de l'ordre des arguments "
"originels ``[Y, Z, ...]`` à cause du cache de types.Pour les objets non "
"gérés, renvoient ``None`` et ``()`` respectivement. Exemples ::"

#: library/typing.rst:2682
msgid "Check if a type is a :class:`TypedDict`."
msgstr "Vérifier si un type est un :class:`TypedDict`."

#: library/typing.rst:2703
msgid ""
"Class used for internal typing representation of string forward references."
msgstr ""

#: library/typing.rst:2705
#, fuzzy
msgid ""
"For example, ``List[\"SomeClass\"]`` is implicitly transformed into "
"``List[ForwardRef(\"SomeClass\")]``.  ``ForwardRef`` should not be "
"instantiated by a user, but may be used by introspection tools."
msgstr ""
"Une classe utilisée pour le typage interne de la représentation des "
"références postérieures des chaînes de caractères. Par exemple, "
"``List[\"SomeClass\"]`` est implicitement transformé en "
"``List[ForwardRef(\"SomeClass\")]``. Cette classe ne doit pas être "
"instanciée par un utilisateur, mais peut être utilisée par des outils "
"d'introspection."

#: library/typing.rst:2710
msgid ""
":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be "
"implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus "
"will not automatically resolve to ``list[SomeClass]``."
msgstr ""
"Les types :pep:`585` tels que ``list[\"SomeClass\"]`` ne seront pas "
"implicitement transformés en ``list[ForwardRef(\"SomeClass\")]`` et ne "
"seront donc pas automatiquement résolus en ``list[SomeClass]``."

#: library/typing.rst:2717
msgid "Constant"
msgstr "Constante"

#: library/typing.rst:2721
#, fuzzy
msgid ""
"A special constant that is assumed to be ``True`` by 3rd party static type "
"checkers. It is ``False`` at runtime."
msgstr ""
"Constante spéciale qui vaut ``True`` pour les vérificateurs de types "
"statique tiers et ``False`` à l'exécution. Utilisation ::"

#: library/typing.rst:2732
#, fuzzy
msgid ""
"The first type annotation must be enclosed in quotes, making it a \"forward "
"reference\", to hide the ``expensive_mod`` reference from the interpreter "
"runtime.  Type annotations for local variables are not evaluated, so the "
"second annotation does not need to be enclosed in quotes."
msgstr ""
"Notez que la première annotation de type doit être entourée de guillemets, "
"ce qui en fait une « référence avant », pour cacher la référence "
"``expensive_mod`` au moment de l'exécution par l'interpréteur. Les "
"annotations de type pour les variables locales ne sont pas évaluées, de "
"sorte que la deuxième annotation n'a pas besoin d'être placée entre "
"guillemets."

#: library/typing.rst:2739
msgid ""
"If ``from __future__ import annotations`` is used, annotations are not "
"evaluated at function definition time. Instead, they are stored as strings "
"in ``__annotations__``. This makes it unnecessary to use quotes around the "
"annotation (see :pep:`563`)."
msgstr ""
"Si ``from __future__ import annotations`` est utilisé, les annotations ne "
"sont pas évaluées au moment de la définition de fonction. Elles sont alors "
"stockées comme des chaînes de caractères dans ``__annotations__``, ce qui "
"rend inutile l'utilisation de guillemets autour de l'annotation (Voir :pep:"
"`563`)."

#: library/typing.rst:2751
#, fuzzy
msgid "Deprecated aliases"
msgstr "Obsolète en"

#: library/typing.rst:2753
msgid ""
"This module defines several deprecated aliases to pre-existing standard "
"library classes. These were originally included in the typing module in "
"order to support parameterizing these generic classes using ``[]``. However, "
"the aliases became redundant in Python 3.9 when the corresponding pre-"
"existing classes were enhanced to support ``[]`` (see :pep:`585`)."
msgstr ""

#: library/typing.rst:2760
msgid ""
"The redundant types are deprecated as of Python 3.9. However, while the "
"aliases may be removed at some point, removal of these aliases is not "
"currently planned. As such, no deprecation warnings are currently issued by "
"the interpreter for these aliases."
msgstr ""

#: library/typing.rst:2765
msgid ""
"If at some point it is decided to remove these deprecated aliases, a "
"deprecation warning will be issued by the interpreter for at least two "
"releases prior to removal. The aliases are guaranteed to remain in the "
"typing module without deprecation warnings until at least Python 3.14."
msgstr ""

#: library/typing.rst:2770
msgid ""
"Type checkers are encouraged to flag uses of the deprecated types if the "
"program they are checking targets a minimum Python version of 3.9 or newer."
msgstr ""

#: library/typing.rst:2776
msgid "Aliases to built-in types"
msgstr ""

#: library/typing.rst:2780
#, fuzzy
msgid "Deprecated alias to :class:`dict`."
msgstr "Vérifier si un type est un :class:`TypedDict`."

#: library/typing.rst:2782
#, fuzzy
msgid ""
"Note that to annotate arguments, it is preferred to use an abstract "
"collection type such as :class:`Mapping` rather than to use :class:`dict` "
"or :class:`!typing.Dict`."
msgstr ""
"Version générique de :class:`list`. Utile pour annoter les types de retour. "
"Pour annoter les arguments, il est préférable d'utiliser un type de "
"collection abstraite tel que :class:`Sequence` ou :class:`Iterable`."

#: library/typing.rst:3026
msgid "This type can be used as follows::"
msgstr "Ce type peut être utilisé comme suit ::"

#: library/typing.rst:2791
#, fuzzy
msgid ""
":class:`builtins.dict <dict>` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`builtins.dict <dict>` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2797
msgid "Deprecated alias to :class:`list`."
msgstr ""

#: library/typing.rst:2799
#, fuzzy
msgid ""
"Note that to annotate arguments, it is preferred to use an abstract "
"collection type such as :class:`Sequence` or :class:`Iterable` rather than "
"to use :class:`list` or :class:`!typing.List`."
msgstr ""
"Version générique de :class:`list`. Utile pour annoter les types de retour. "
"Pour annoter les arguments, il est préférable d'utiliser un type de "
"collection abstraite tel que :class:`Sequence` ou :class:`Iterable`."

#: library/typing.rst:2803
msgid "This type may be used as follows::"
msgstr "Ce type peut être utilisé comme suit ::"

#: library/typing.rst:2813
#, fuzzy
msgid ""
":class:`builtins.list <list>` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`builtins.list <list>` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2819
#, fuzzy
msgid "Deprecated alias to :class:`builtins.set <set>`."
msgstr "Une version générique de :class:`builtins.frozenset <frozenset>`."

#: library/typing.rst:2821
#, fuzzy
msgid ""
"Note that to annotate arguments, it is preferred to use an abstract "
"collection type such as :class:`AbstractSet` rather than to use :class:`set` "
"or :class:`!typing.Set`."
msgstr ""
"Version générique de :class:`list`. Utile pour annoter les types de retour. "
"Pour annoter les arguments, il est préférable d'utiliser un type de "
"collection abstraite tel que :class:`Sequence` ou :class:`Iterable`."

#: library/typing.rst:2825
#, fuzzy
msgid ""
":class:`builtins.set <set>` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`builtins.set <set>` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2831
#, fuzzy
msgid "Deprecated alias to :class:`builtins.frozenset <frozenset>`."
msgstr "Une version générique de :class:`builtins.frozenset <frozenset>`."

#: library/typing.rst:2833
#, fuzzy
msgid ""
":class:`builtins.frozenset <frozenset>` now supports subscripting (``[]``). "
"See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`builtins.frozenset <frozenset>` prend désormais en charge ``[]``. "
"Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:2840
msgid "Deprecated alias for :class:`tuple`."
msgstr ""

#: library/typing.rst:2842
msgid ""
":class:`tuple` and ``Tuple`` are special-cased in the type system; see :ref:"
"`annotating-tuples` for more details."
msgstr ""

#: library/typing.rst:2845
#, fuzzy
msgid ""
":class:`builtins.tuple <tuple>` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`builtins.tuple <tuple>` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2851
#, fuzzy
msgid "Deprecated alias to :class:`type`."
msgstr "Vérifier si un type est un :class:`TypedDict`."

#: library/typing.rst:2853
msgid ""
"See :ref:`type-of-class-objects` for details on using :class:`type` or "
"``typing.Type`` in type annotations."
msgstr ""

#: library/typing.rst:2858
#, fuzzy
msgid ""
":class:`builtins.type <type>` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`builtins.type <type>` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2865
#, fuzzy
msgid "Aliases to types in :mod:`collections`"
msgstr "Correspond aux autres types au sein de :mod:`collections.abc`."

#: library/typing.rst:2869
#, fuzzy
msgid "Deprecated alias to :class:`collections.defaultdict`."
msgstr "Une version générique de :class:`collections.defaultdict`."

#: library/typing.rst:2873
#, fuzzy
msgid ""
":class:`collections.defaultdict` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.defaultdict` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2879
#, fuzzy
msgid "Deprecated alias to :class:`collections.OrderedDict`."
msgstr "Une version générique de :class:`collections.OrderedDict`."

#: library/typing.rst:2883
#, fuzzy
msgid ""
":class:`collections.OrderedDict` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.OrderedDict` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2889
#, fuzzy
msgid "Deprecated alias to :class:`collections.ChainMap`."
msgstr "Une version générique de :class:`collections.ChainMap`."

#: library/typing.rst:2894
#, fuzzy
msgid ""
":class:`collections.ChainMap` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.ChainMap` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2900
#, fuzzy
msgid "Deprecated alias to :class:`collections.Counter`."
msgstr "Une version générique de :class:`collections.Counter`."

#: library/typing.rst:2905
#, fuzzy
msgid ""
":class:`collections.Counter` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.Counter` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2911
#, fuzzy
msgid "Deprecated alias to :class:`collections.deque`."
msgstr "Une version générique de :class:`collections.deque`."

#: library/typing.rst:2916
#, fuzzy
msgid ""
":class:`collections.deque` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.deque` prend désormais en charge ``[]``. Voir :pep:`585` "
"et :ref:`types-genericalias`."

#: library/typing.rst:2923
msgid "Aliases to other concrete types"
msgstr ""

#: library/typing.rst:2928
msgid ""
"Deprecated aliases corresponding to the return types from :func:`re.compile` "
"and :func:`re.match`."
msgstr ""

#: library/typing.rst:2931
#, fuzzy
msgid ""
"These types (and the corresponding functions) are generic over :data:"
"`AnyStr`. ``Pattern`` can be specialised as ``Pattern[str]`` or "
"``Pattern[bytes]``; ``Match`` can be specialised as ``Match[str]`` or "
"``Match[bytes]``."
msgstr ""
"Ces alias de type correspondent aux types de retour de :func:`re.compile` "
"et :func:`re.match`. Ces types (et les fonctions correspondantes) sont "
"génériques dans ``AnyStr`` et peuvent être rendus spécifiques en écrivant "
"``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]`` ou ``Match[bytes]``."

#: library/typing.rst:2939
msgid ""
"The ``typing.re`` namespace is deprecated and will be removed. These types "
"should be directly imported from ``typing`` instead."
msgstr ""

#: library/typing.rst:2940
msgid ""
"Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""

#: library/typing.rst:2946
msgid "Deprecated alias for :class:`str`."
msgstr ""

#: library/typing.rst:2948
#, fuzzy
msgid ""
"``Text`` is provided to supply a forward compatible path for Python 2 code: "
"in Python 2, ``Text`` is an alias for ``unicode``."
msgstr ""
"``Text`` est un alias pour ``str``. Il est fourni pour obtenir une "
"compatibilité ascendante du code Python 2 : en Python 2, ``Text`` est un "
"alias pour ``unicode``."

#: library/typing.rst:2952
msgid ""
"Use ``Text`` to indicate that a value must contain a unicode string in a "
"manner that is compatible with both Python 2 and Python 3::"
msgstr ""
"Utilisez ``Text`` pour indiquer qu'une valeur doit contenir une chaîne "
"Unicode d'une manière compatible avec Python 2 et Python 3 ::"

#: library/typing.rst:2960
msgid ""
"Python 2 is no longer supported, and most type checkers also no longer "
"support type checking Python 2 code. Removal of the alias is not currently "
"planned, but users are encouraged to use :class:`str` instead of ``Text``."
msgstr ""

#: library/typing.rst:2970
#, fuzzy
msgid "Aliases to container ABCs in :mod:`collections.abc`"
msgstr "Correspond aux collections au sein de :mod:`collections.abc`"

#: library/typing.rst:2974
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Set`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:2976
#, fuzzy
msgid ""
":class:`collections.abc.Set` now supports subscripting (``[]``). See :pep:"
"`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Set` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:2982
#, fuzzy
msgid ""
"This type represents the types :class:`bytes`, :class:`bytearray`, and :"
"class:`memoryview` of byte sequences."
msgstr ""
"Ce type représente les types :class:`bytes`, :class:`bytearray` et :class:"
"`memoryview`."

#: library/typing.rst:2986
msgid ""
"Prefer ``typing_extensions.Buffer``, or a union like ``bytes | bytearray | "
"memoryview``."
msgstr ""

#: library/typing.rst:2990
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Collection`."
msgstr "Une version générique de :class:`collections.abc.Collection`"

#: library/typing.rst:2994
#, fuzzy
msgid ""
":class:`collections.abc.Collection` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Collection` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3000
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Container`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3002
#, fuzzy
msgid ""
":class:`collections.abc.Container` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Container` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3008
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.ItemsView`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3010
#, fuzzy
msgid ""
":class:`collections.abc.ItemsView` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.ItemsView` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3016
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.KeysView`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3018
#, fuzzy
msgid ""
":class:`collections.abc.KeysView` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.KeysView` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3024
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Mapping`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3031
#, fuzzy
msgid ""
":class:`collections.abc.Mapping` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Mapping` prend désormais en charge ``[]``. Voir :pep:"
"`585` et :ref:`types-genericalias`."

#: library/typing.rst:3037
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.MappingView`."
msgstr "Une version générique de :class:`collections.abc.MappingView`."

#: library/typing.rst:3039
#, fuzzy
msgid ""
":class:`collections.abc.MappingView` now supports subscripting (``[]``). "
"See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.MappingView` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3045
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.MutableMapping`."
msgstr "Une version générique de :class:`collections.abc.MutableMapping`."

#: library/typing.rst:3047
#, fuzzy
msgid ""
":class:`collections.abc.MutableMapping` now supports subscripting (``[]``). "
"See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.MutableMapping` prend désormais en charge ``[]``. "
"Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3054
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.MutableSequence`."
msgstr "Une version générique de :class:`collections.abc.MutableSequence`."

#: library/typing.rst:3056
#, fuzzy
msgid ""
":class:`collections.abc.MutableSequence` now supports subscripting (``[]``). "
"See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.MutableSequence` prend désormais en charge ``[]``. "
"Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3063
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.MutableSet`."
msgstr "Un alias pour :class:`collections.abc.Hashable`"

#: library/typing.rst:3065
#, fuzzy
msgid ""
":class:`collections.abc.MutableSet` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.MutableSet` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3071
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Sequence`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3073
#, fuzzy
msgid ""
":class:`collections.abc.Sequence` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Sequence` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3079
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.ValuesView`."
msgstr "Une version générique de :class:`collections.abc.ValuesView`."

#: library/typing.rst:3081
#, fuzzy
msgid ""
":class:`collections.abc.ValuesView` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.ValuesView` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3088
#, fuzzy
msgid "Aliases to asynchronous ABCs in :mod:`collections.abc`"
msgstr "Correspond aux collections au sein de :mod:`collections.abc`"

#: library/typing.rst:3092
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Coroutine`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3094
#, fuzzy
msgid ""
"The variance and order of type variables correspond to those of :class:"
"`Generator`, for example::"
msgstr ""
"Une version générique de :class:`collections.abc.Coroutine`. La variance et "
"l'ordre des variables de type correspondent à ceux de la classe :class:"
"`Generator`, par exemple ::"

#: library/typing.rst:3105
#, fuzzy
msgid ""
":class:`collections.abc.Coroutine` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Coroutine` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3111
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.AsyncGenerator`."
msgstr "Une version générique de :class:`collections.abc.AsyncIterator`."

#: library/typing.rst:3113
msgid ""
"An async generator can be annotated by the generic type "
"``AsyncGenerator[YieldType, SendType]``. For example::"
msgstr ""
"Un générateur asynchrone peut être annoté par le type générique "
"``AsyncGenerator[YieldType, SendType]``. Par exemple ::"

#: library/typing.rst:3122
msgid ""
"Unlike normal generators, async generators cannot return a value, so there "
"is no ``ReturnType`` type parameter. As with :class:`Generator`, the "
"``SendType`` behaves contravariantly."
msgstr ""
"Contrairement aux générateurs normaux, les générateurs asynchrones ne "
"peuvent pas renvoyer une valeur, il n'y a donc pas de paramètre de type "
"``ReturnType``. Comme avec :class:`Generator`, le ``SendType`` se comporte "
"de manière contravariante."

#: library/typing.rst:3126
msgid ""
"If your generator will only yield values, set the ``SendType`` to ``None``::"
msgstr ""
"Si votre générateur ne donne que des valeurs, réglez le paramètre "
"``SendType`` sur ``None`` ::"

#: library/typing.rst:3134
msgid ""
"Alternatively, annotate your generator as having a return type of either "
"``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::"
msgstr ""
"Alternativement, annotez votre générateur comme ayant un type de retour soit "
"``AsyncIterable[YieldType]`` ou ``AsyncIterator[YieldType]`` ::"

#: library/typing.rst:3144
#, fuzzy
msgid ""
":class:`collections.abc.AsyncGenerator` now supports subscripting (``[]``). "
"See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.AsyncGenerator` prend désormais en charge ``[]``. "
"Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3151
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.AsyncIterable`."
msgstr "Une version générique de :class:`collections.abc.AsyncIterable`."

#: library/typing.rst:3155
#, fuzzy
msgid ""
":class:`collections.abc.AsyncIterable` now supports subscripting (``[]``). "
"See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.AsyncIterable` prend désormais en charge ``[]``. "
"Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3161
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.AsyncIterator`."
msgstr "Une version générique de :class:`collections.abc.AsyncIterator`."

#: library/typing.rst:3165
#, fuzzy
msgid ""
":class:`collections.abc.AsyncIterator` now supports subscripting (``[]``). "
"See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.AsyncIterator` prend désormais en charge ``[]``. "
"Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3171
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Awaitable`."
msgstr "Un alias pour :class:`collections.abc.Hashable`"

#: library/typing.rst:3175
#, fuzzy
msgid ""
":class:`collections.abc.Awaitable` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Awaitable` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3182
#, fuzzy
msgid "Aliases to other ABCs in :mod:`collections.abc`"
msgstr "Correspond aux autres types au sein de :mod:`collections.abc`."

#: library/typing.rst:3186
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Iterable`."
msgstr "Un alias pour :class:`collections.abc.Hashable`"

#: library/typing.rst:3188
#, fuzzy
msgid ""
":class:`collections.abc.Iterable` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Iterable` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3194
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Iterator`."
msgstr "Une version générique de :class:`collections.abc.Iterator`."

#: library/typing.rst:3196
#, fuzzy
msgid ""
":class:`collections.abc.Iterator` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Iterator` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3202
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Callable`."
msgstr "Un alias pour :class:`collections.abc.Hashable`"

#: library/typing.rst:3204
msgid ""
"See :ref:`annotating-callables` for details on how to use :class:"
"`collections.abc.Callable` and ``typing.Callable`` in type annotations."
msgstr ""

#: library/typing.rst:3207
#, fuzzy
msgid ""
":class:`collections.abc.Callable` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Callable` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3217
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Generator`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3219
msgid ""
"A generator can be annotated by the generic type ``Generator[YieldType, "
"SendType, ReturnType]``. For example::"
msgstr ""
"Un générateur peut être annoté par le type générique ``Generator[YieldType, "
"SendType, ReturnType]``. Par exemple ::"

#: library/typing.rst:3228
msgid ""
"Note that unlike many other generics in the typing module, the ``SendType`` "
"of :class:`Generator` behaves contravariantly, not covariantly or "
"invariantly."
msgstr ""
"Notez que contrairement à beaucoup d'autres génériques dans le module "
"*typing*, le ``SendType`` de :class:`Generator` se comporte de manière "
"contravariante, pas de manière covariante ou invariante."

#: library/typing.rst:3232
msgid ""
"If your generator will only yield values, set the ``SendType`` and "
"``ReturnType`` to ``None``::"
msgstr ""
"Si votre générateur ne donne que des valeurs, réglez les paramètres "
"``SendType`` et ``ReturnType`` sur ``None`` ::"

#: library/typing.rst:3240
msgid ""
"Alternatively, annotate your generator as having a return type of either "
"``Iterable[YieldType]`` or ``Iterator[YieldType]``::"
msgstr ""
"Alternativement, annotez votre générateur comme ayant un type de retour soit "
"``Iterable[YieldType]`` ou ``Iterator[YieldType]`` ::"

#: library/typing.rst:3248
#, fuzzy
msgid ""
":class:`collections.abc.Generator` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Generator` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3254
#, fuzzy
msgid "Alias to :class:`collections.abc.Hashable`."
msgstr "Un alias pour :class:`collections.abc.Hashable`"

#: library/typing.rst:3258
#, fuzzy
msgid "Deprecated alias to :class:`collections.abc.Reversible`."
msgstr "Un alias pour :class:`collections.abc.Hashable`"

#: library/typing.rst:3260
#, fuzzy
msgid ""
":class:`collections.abc.Reversible` now supports subscripting (``[]``). See :"
"pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`collections.abc.Reversible` prend désormais en charge ``[]``. Voir :"
"pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3266
#, fuzzy
msgid "Alias to :class:`collections.abc.Sized`."
msgstr "Un alias pour :class:`collections.abc.Sized`"

#: library/typing.rst:3271
msgid "Aliases to :mod:`contextlib` ABCs"
msgstr ""

#: library/typing.rst:3275
#, fuzzy
msgid "Deprecated alias to :class:`contextlib.AbstractContextManager`."
msgstr "Une version générique de :class:`contextlib.AbstractContextManager`."

#: library/typing.rst:3280
#, fuzzy
msgid ""
":class:`contextlib.AbstractContextManager` now supports subscripting "
"(``[]``). See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`contextlib.AbstractContextManager` prend désormais en charge ``[]``. "
"Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3287
#, fuzzy
msgid "Deprecated alias to :class:`contextlib.AbstractAsyncContextManager`."
msgstr ""
"Une version générique de :class:`contextlib.AbstractAsyncContextManager`."

#: library/typing.rst:3292
#, fuzzy
msgid ""
":class:`contextlib.AbstractAsyncContextManager` now supports subscripting "
"(``[]``). See :pep:`585` and :ref:`types-genericalias`."
msgstr ""
":class:`contextlib.AbstractAsyncContextManager` prend désormais en charge "
"``[]``. Voir :pep:`585` et :ref:`types-genericalias`."

#: library/typing.rst:3298
msgid "Deprecation Timeline of Major Features"
msgstr "Étapes d'Obsolescence des Fonctionnalités Majeures"

#: library/typing.rst:3300
msgid ""
"Certain features in ``typing`` are deprecated and may be removed in a future "
"version of Python. The following table summarizes major deprecations for "
"your convenience. This is subject to change, and not all deprecations are "
"listed."
msgstr ""
"Certaines fonctionnalités dans ``typing`` sont obsolètes et peuvent être "
"supprimées dans une future version de Python. Le tableau suivant résume les "
"principales dépréciations. Celui-ci peut changer et toutes les dépréciations "
"ne sont pas listées."

#: library/typing.rst:3307
msgid "Feature"
msgstr "Fonctionnalité"

#: library/typing.rst:3308
msgid "Deprecated in"
msgstr "Obsolète en"

#: library/typing.rst:3309
msgid "Projected removal"
msgstr "Suppression prévue"

#: library/typing.rst:3310
msgid "PEP/issue"
msgstr ""

#: library/typing.rst:3311
msgid "``typing.io`` and ``typing.re`` submodules"
msgstr "sous-modules ``typing.io`` et ``typing.re``"

#: library/typing.rst:3312
msgid "3.8"
msgstr ""

#: library/typing.rst:3313
msgid "3.13"
msgstr ""

#: library/typing.rst:3314
msgid ":issue:`38291`"
msgstr ""

#: library/typing.rst:3315
msgid "``typing`` versions of standard collections"
msgstr "Versions de typage des collections standards"

#: library/typing.rst:3320
msgid "3.9"
msgstr ""

#: library/typing.rst:3317
msgid "Undecided (see :ref:`deprecated-typing-aliases` for more information)"
msgstr ""

#: library/typing.rst:3318
msgid ":pep:`585`"
msgstr ""

#: library/typing.rst:3319
msgid ":class:`typing.ByteString`"
msgstr ""

#: library/typing.rst:3321
msgid "3.14"
msgstr ""

#: library/typing.rst:3322
msgid ":gh:`91896`"
msgstr ""

#: library/typing.rst:3323
msgid ":data:`typing.Text`"
msgstr ""

#: library/typing.rst:3324
msgid "3.11"
msgstr ""

#: library/typing.rst:3325
msgid "Undecided"
msgstr "Non défini"

#: library/typing.rst:3326
msgid ":gh:`92332`"
msgstr ""

#~ msgid ""
#~ "Note that ``None`` as a type hint is a special case and is replaced by "
#~ "``type(None)``."
#~ msgstr ""
#~ "Notez que ``None`` comme annotation de type est un cas particulier et est "
#~ "remplacé par ``type(None)``."

#~ msgid "Callable"
#~ msgstr "Appelable"

#~ msgid ""
#~ "Frameworks expecting callback functions of specific signatures might be "
#~ "type hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``."
#~ msgstr ""
#~ "Les cadriciels (*frameworks* en anglais) qui attendent des fonctions de "
#~ "rappel ayant des signatures spécifiques peuvent être typés en utilisant "
#~ "``Callable[[Arg1Type, Arg2Type], ReturnType]``."

#~ msgid ""
#~ "It is possible to declare the return type of a callable without "
#~ "specifying the call signature by substituting a literal ellipsis for the "
#~ "list of arguments in the type hint: ``Callable[..., ReturnType]``."
#~ msgstr ""
#~ "Il est possible de déclarer le type de retour d'un appelable sans "
#~ "spécifier la signature de l'appel en indiquant des points de suspension à "
#~ "la liste des arguments dans l'indice de type : ``Callable[..., "
#~ "ReturnType]``."

#, fuzzy
#~ msgid "See :pep:`613` for more details about explicit type aliases."
#~ msgstr "Voir la :pep:`484` pour plus de détails."

#~ msgid ""
#~ "Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the "
#~ "first item of type X and the second of type Y. The type of the empty "
#~ "tuple can be written as ``Tuple[()]``."
#~ msgstr ""
#~ "Type « *n*-uplet » ; ``Tuple[X, Y]`` est le type d'un *n*-uplet à deux "
#~ "éléments avec le premier élément de type X et le second de type Y. Le "
#~ "type du *n*-uplet vide peut être écrit comme ``Tuple[()]``."

#~ msgid ""
#~ "Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to "
#~ "type variables T1 and T2.  ``Tuple[int, float, str]`` is a tuple of an "
#~ "int, a float and a string."
#~ msgstr ""
#~ "Exemple : ``Tuple[T1, T2]`` est une paire correspondant aux variables de "
#~ "type ``T1`` et ``T2``. ``Tuple[int, float, str]`` est un triplet composé "
#~ "d'un entier, d'un flottant et d'une chaîne de caractères."

#~ msgid ""
#~ "To specify a variable-length tuple of homogeneous type, use literal "
#~ "ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent "
#~ "to ``Tuple[Any, ...]``, and in turn to :class:`tuple`."
#~ msgstr ""
#~ "Pour spécifier un *n*-uplet de longueur variable et de type homogène, "
#~ "utilisez une ellipse, par exemple ``Tuple[int, ....]``. Un *n*-uplet :"
#~ "data:`Tuple` est équivalent à ``Tuple[Any, ....]`` et, à son tour, à :"
#~ "class:`tuple`."

#~ msgid "Optional type."
#~ msgstr "Type « optionnel »."

#~ msgid ""
#~ "Callable type; ``Callable[[int], str]`` is a function of (int) -> str."
#~ msgstr ""
#~ "Type Appelable. ``Callable[[int], str]`` est une fonction de type ``(int) "
#~ "-> str``."

#~ msgid ""
#~ "There is no syntax to indicate optional or keyword arguments; such "
#~ "function types are rarely used as callback types. ``Callable[..., "
#~ "ReturnType]`` (literal ellipsis) can be used to type hint a callable "
#~ "taking any number of arguments and returning ``ReturnType``.  A plain :"
#~ "data:`Callable` is equivalent to ``Callable[..., Any]``, and in turn to :"
#~ "class:`collections.abc.Callable`."
#~ msgstr ""
#~ "Il n'y a pas de syntaxe pour indiquer les arguments optionnels ou les "
#~ "arguments par mots-clés ; de tels types de fonctions sont rarement "
#~ "utilisés comme types de rappel. ``Callable[..., ReturnType]`` (ellipse) "
#~ "peut être utilisé pour annoter le type d'un appelable, prenant un nombre "
#~ "quelconque d'arguments et renvoyant ``ReturnType``. Un simple :data:"
#~ "`Callable` est équivalent à ``Callable[..., Any]`` et, à son tour, à :"
#~ "class:`collections.abc.Callable`."

#~ msgid ""
#~ "The fact that ``Type[C]`` is covariant implies that all subclasses of "
#~ "``C`` should implement the same constructor signature and class method "
#~ "signatures as ``C``. The type checker should flag violations of this, but "
#~ "should also allow constructor calls in subclasses that match the "
#~ "constructor calls in the indicated base class. How the type checker is "
#~ "required to handle this particular case may change in future revisions "
#~ "of :pep:`484`."
#~ msgstr ""
#~ "Le fait que ``Type[C]`` soit covariant implique que toutes les sous-"
#~ "classes de ``C`` doivent implémenter la même signature de constructeur et "
#~ "les signatures de méthode de classe que ``C``. Le vérificateur de types "
#~ "doit signaler les manquements à cette règle. Il doit également autoriser "
#~ "les appels du constructeur dans les sous-classes qui correspondent aux "
#~ "appels du constructeur dans la classe mère indiquée. La façon dont le "
#~ "vérificateur de type est tenu de traiter ce cas particulier peut changer "
#~ "dans les futures révisions de :pep:`484`."

#~ msgid ""
#~ "A special typing construct to indicate to type checkers that a name "
#~ "cannot be re-assigned or overridden in a subclass. For example::"
#~ msgstr ""
#~ "Construction de type particulière pour indiquer aux vérificateurs de type "
#~ "qu'un nom ne peut pas être réassigné ou remplacé dans une sous-classe. "
#~ "Par exemple ::"

#~ msgid ""
#~ "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`.  In "
#~ "general, :func:`isinstance` and :func:`issubclass` should not be used "
#~ "with types."
#~ msgstr ""
#~ "Au moment de l'exécution, ``isinstance(x, T)`` va lever :exc:`TypeError`. "
#~ "En général, :func:`isinstance` et :func:`issubclass` ne devraient pas "
#~ "être utilisés avec les types."

#, fuzzy
#~ msgid ""
#~ "``AnyStr`` is a :class:`constrained type variable <TypeVar>` defined as "
#~ "``AnyStr = TypeVar('AnyStr', str, bytes)``."
#~ msgstr ""
#~ "``AnyStr`` est une variable de type définie comme ``AnyStr = "
#~ "TypeVar('AnyStr', str, bytes)``."

#~ msgid ""
#~ "A generic version of :class:`dict`. Useful for annotating return types. "
#~ "To annotate arguments it is preferred to use an abstract collection type "
#~ "such as :class:`Mapping`."
#~ msgstr ""
#~ "Une version générique de :class:`dict`. Utile pour annoter les types de "
#~ "retour. Pour annoter les arguments, il est préférable d'utiliser un type "
#~ "de collection abstraite tel que :class:`Mapping`."

#~ msgid ""
#~ "A generic version of :class:`builtins.set <set>`. Useful for annotating "
#~ "return types. To annotate arguments it is preferred to use an abstract "
#~ "collection type such as :class:`AbstractSet`."
#~ msgstr ""
#~ "Une version générique de :class:`builtins.set <set>`. Utile pour annoter "
#~ "les types de retour. Pour annoter les arguments, il est préférable "
#~ "d'utiliser un type de collection abstraite tel que :class:`AbstractSet`."

#, fuzzy
#~ msgid "Abstract Base Classes"
#~ msgstr "Classe de base abstraite pour les types génériques."

#~ msgid "A generic version of :class:`collections.abc.Set`."
#~ msgstr "Une version générique de :class:`collections.abc.Set`."

#~ msgid "A generic version of :class:`collections.abc.ByteString`."
#~ msgstr "Une version générique de :class:`collections.abc.ByteString`."

#~ msgid ""
#~ "As a shorthand for this type, :class:`bytes` can be used to annotate "
#~ "arguments of any of the types mentioned above."
#~ msgstr ""
#~ "Comme abréviation pour ce type, :class:`bytes` peut être utilisé pour "
#~ "annoter des arguments de n'importe quel type mentionné ci-dessus."

#, fuzzy
#~ msgid ""
#~ ":class:`collections.abc.ByteString` now supports subscripting (``[]``). "
#~ "See :pep:`585` and :ref:`types-genericalias`."
#~ msgstr ""
#~ ":class:`collections.abc.ByteString` prend désormais en charge ``[]``. "
#~ "Voir :pep:`585` et :ref:`types-genericalias`."

#~ msgid "A generic version of :class:`collections.abc.Container`."
#~ msgstr "Une version générique de :class:`collections.abc.Container`."

#~ msgid "A generic version of :class:`collections.abc.ItemsView`."
#~ msgstr "Une version générique de :class:`collections.abc.ItemsView`."

#~ msgid "A generic version of :class:`collections.abc.KeysView`."
#~ msgstr "Une version générique de :class:`collections.abc.KeysView`."

#~ msgid ""
#~ "A generic version of :class:`collections.abc.Mapping`. This type can be "
#~ "used as follows::"
#~ msgstr ""
#~ "Une version générique de :class:`collections.abc.Mapping`. Ce type peut "
#~ "être utilisé comme suit ::"

#~ msgid "A generic version of :class:`collections.abc.MutableSet`."
#~ msgstr "Une version générique de :class:`collections.abc.MutableSet`."

#~ msgid "A generic version of :class:`collections.abc.Sequence`."
#~ msgstr "Une version générique de :class:`collections.abc.Sequence`."

#~ msgid "A generic version of :class:`collections.abc.Iterable`."
#~ msgstr "Une version générique de :class:`collections.abc.Iterable`."

#~ msgid "A generic version of :class:`collections.abc.Reversible`."
#~ msgstr "Une version générique de :class:`collections.abc.Reversible`."

#~ msgid "Asynchronous programming"
#~ msgstr "Programmation asynchrone"

#~ msgid "A generic version of :class:`collections.abc.Awaitable`."
#~ msgstr "Une version générique de :class:`collections.abc.Awaitable`."

#~ msgid "Context manager types"
#~ msgstr "Types associés aux gestionnaires de contexte"

#~ msgid ""
#~ "``order_default`` indicates whether the ``order`` parameter is assumed to "
#~ "be True or False if it is omitted by the caller."
#~ msgstr ""
#~ "``order_default`` indique la valeur du paramètre ``order`` (``True`` ou "
#~ "``False``) si ce n'est pas précisé lors de l'appel."

#~ msgid ""
#~ "``kw_only_default`` indicates whether the ``kw_only`` parameter is "
#~ "assumed to be True or False if it is omitted by the caller."
#~ msgstr ""
#~ "``kw_only_default``  indique la valeur du paramètre ``kw_only_default`` "
#~ "(``True`` ou ``False``) si ce ne n'est pas précisé lors de l'appel."

#~ msgid "``factory`` is an alias for ``default_factory``."
#~ msgstr "``factory`` est un alias pour ``default_factory``."

#~ msgid "This mutates the function(s) in place."
#~ msgstr "Cela fait muter la ou les fonctions en place."

#~ msgid ""
#~ "Provide basic introspection for generic types and special typing forms."
#~ msgstr ""
#~ "Fournit une introspection de base pour les types génériques et les formes "
#~ "spéciales de typage."

#~ msgid ""
#~ "The latter example's signature is essentially the overloading of ``(str, "
#~ "str) -> str`` and ``(bytes, bytes) -> bytes``.  Also note that if the "
#~ "arguments are instances of some subclass of :class:`str`, the return type "
#~ "is still plain :class:`str`."
#~ msgstr ""
#~ "La signature de ce dernier exemple est essentiellement la surcharge de "
#~ "``(str, str) -> str`` et ``(bytes, bytes) -> bytes``. Notez également que "
#~ "si les arguments sont des instances d'une sous-classe de la classe :class:"
#~ "`str`, le type de retour est toujours la classe :class:`str`."

#~ msgid ""
#~ "This also means that it is not possible to create a subtype of "
#~ "``Derived`` since it is an identity function at runtime, not an actual "
#~ "type::"
#~ msgstr ""
#~ "Cela signifie également qu'il n'est pas possible de créer un sous-type de "
#~ "``Derived`` puisqu'il s'agit d'une fonction d'identité au moment de "
#~ "l'exécution, pas d'un type réel ::"

#~ msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``."
#~ msgstr ""
#~ "Vous pouvez utiliser l'abréviation ``Optional[X]`` pour ``Union[X, "
#~ "None]``."

#~ msgid ""
#~ "**Warning:** this will check only the presence of the required methods, "
#~ "not their type signatures!"
#~ msgstr ""
#~ "**Attention :** ceci ne vérifiera que la présence des méthodes requises, "
#~ "et non leur signature de type !"
