# 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-07-05 23:26+0200\n" "Last-Translator: Christophe Nanteuil \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.2.2\n" #: library/asyncio-eventloop.rst:8 msgid "Event Loop" msgstr "Boucle d'évènements" #: library/asyncio-eventloop.rst:10 msgid "" "**Source code:** :source:`Lib/asyncio/events.py`, :source:`Lib/asyncio/" "base_events.py`" msgstr "" "**Code source :** :source:`Lib/asyncio/events.py`, :source:`Lib/asyncio/" "base_events.py`" #: library/asyncio-eventloop.rst:16 msgid "Preface" msgstr "Préface" #: library/asyncio-eventloop.rst:17 msgid "" "The event loop is the core of every asyncio application. Event loops run " "asynchronous tasks and callbacks, perform network IO operations, and run " "subprocesses." msgstr "" "La boucle d'événements est au cœur de chaque application *asyncio*. Les " "boucles d'événements exécutent des tâches et des rappels asynchrones, " "effectuent des opérations d'entrée-sorite réseau et exécutent des sous-" "processus." #: library/asyncio-eventloop.rst:21 msgid "" "Application developers should typically use the high-level asyncio " "functions, such as :func:`asyncio.run`, and should rarely need to reference " "the loop object or call its methods. This section is intended mostly for " "authors of lower-level code, libraries, and frameworks, who need finer " "control over the event loop behavior." msgstr "" "Les développeurs d'applications doivent généralement utiliser les fonctions " "*asyncio* de haut niveau, telles que :func:`asyncio.run`, et ne doivent que " "rarement référencer l'objet boucle ou appeler ses méthodes. Cette section " "est principalement destinée aux auteurs de code, de bibliothèques et de " "cadriciels de bas niveau, qui ont besoin d'un contrôle plus précis sur le " "comportement de la boucle d'événements." #: library/asyncio-eventloop.rst:28 msgid "Obtaining the Event Loop" msgstr "Obtention d'une boucle d'évènements" #: library/asyncio-eventloop.rst:29 msgid "" "The following low-level functions can be used to get, set, or create an " "event loop:" msgstr "" "Les fonctions de bas niveau suivantes peuvent être utilisées pour obtenir, " "définir ou créer une boucle d'événements :" #: library/asyncio-eventloop.rst:34 msgid "Return the running event loop in the current OS thread." msgstr "" "Renvoie la boucle d'événements en cours d'exécution dans le fil actuel du " "système d'exploitation." #: library/asyncio-eventloop.rst:36 msgid "Raise a :exc:`RuntimeError` if there is no running event loop." msgstr "" "Lève une :exc:`RuntimeError` s'il n'y a pas de boucle d'événements en cours " "d'exécution." #: library/asyncio-eventloop.rst:38 msgid "This function can only be called from a coroutine or a callback." msgstr "" "Cette fonction ne peut être appelée qu'à partir d'une coroutine ou d'une " "fonction de rappel." #: library/asyncio-eventloop.rst:44 msgid "Get the current event loop." msgstr "Arrête l'exécution de la boucle d'évènements." #: library/asyncio-eventloop.rst:46 msgid "" "When called from a coroutine or a callback (e.g. scheduled with call_soon or " "similar API), this function will always return the running event loop." msgstr "" "Lorsqu'elle est appelée depuis une coroutine ou une fonction de rappel (par " "exemple planifiée avec *call_soon* ou une API similaire), cette fonction " "renvoie toujours la boucle d'événement en cours." #: library/asyncio-eventloop.rst:50 msgid "" "If there is no running event loop set, the function will return the result " "of the ``get_event_loop_policy().get_event_loop()`` call." msgstr "" "S'il n'y a pas de boucle d'événement en cours d'exécution, la fonction " "renvoie le résultat de l'appel ``get_event_loop_policy().get_event_loop()``." #: library/asyncio-eventloop.rst:53 msgid "" "Because this function has rather complex behavior (especially when custom " "event loop policies are in use), using the :func:`get_running_loop` function " "is preferred to :func:`get_event_loop` in coroutines and callbacks." msgstr "" "Étant donné que cette fonction a un comportement plutôt complexe (en " "particulier lorsque des politiques de boucle d'événements personnalisées " "sont utilisées), l'utilisation de la fonction :func:`get_running_loop` est " "préférable à :func:`get_event_loop` dans les coroutines et les fonctions de " "rappel." #: library/asyncio-eventloop.rst:58 msgid "" "As noted above, consider using the higher-level :func:`asyncio.run` " "function, instead of using these lower level functions to manually create " "and close an event loop." msgstr "" "Comme indiqué ci-dessus, envisagez d'utiliser la fonction de haut niveau :" "func:`asyncio.run`, au lieu d'utiliser ces fonctions de bas niveau pour " "créer et fermer manuellement une boucle d'événements." # suit un : #: library/asyncio-eventloop.rst:63 msgid "" "In Python versions 3.10.0--3.10.8 and 3.11.0 this function (and other " "functions which use it implicitly) emitted a :exc:`DeprecationWarning` if " "there was no running event loop, even if the current loop was set on the " "policy. In Python versions 3.10.9, 3.11.1 and 3.12 they emit a :exc:" "`DeprecationWarning` if there is no running event loop and no current loop " "is set. In some future Python release this will become an error." msgstr "" "dans les versions Python 3.10.0–3.10.8 et 3.11.0, cette fonction (et " "d'autres fonctions qui l'utilisent implicitement) levait un :exc:" "`DeprecationWarning` s'il n'y avait pas de boucle d'événements en cours " "d'exécution, même si la boucle actuelle était définie dans la politique. " "Dans les versions Python 3.10.9, 3.11.1 et 3.12, elles lèvent un :exc:" "`DeprecationWarning` s'il n'y a pas de boucle d'événements en cours et " "qu'aucune boucle actuelle n'est définie. Dans une future version de Python, " "cela deviendra une erreur." #: library/asyncio-eventloop.rst:74 msgid "Set *loop* as the current event loop for the current OS thread." msgstr "" "Définit *loop* comme boucle d'événements actuelle pour le fil d'exécution " "actuel du système d'exploitation." #: library/asyncio-eventloop.rst:78 msgid "Create and return a new event loop object." msgstr "Crée et renvoie un nouvel objet de boucle d'événements." #: library/asyncio-eventloop.rst:80 msgid "" "Note that the behaviour of :func:`get_event_loop`, :func:`set_event_loop`, " "and :func:`new_event_loop` functions can be altered by :ref:`setting a " "custom event loop policy `." msgstr "" "Notez que le comportement des fonctions :func:`get_event_loop`, :func:" "`set_event_loop` et :func:`new_event_loop` peut être modifié en :ref:" "`définissant une politique de boucle d'événement personnalisée `." #: library/asyncio-eventloop.rst:86 msgid "Contents" msgstr "Sommaire" #: library/asyncio-eventloop.rst:87 msgid "This documentation page contains the following sections:" msgstr "Cette page de documentation contient les sections suivantes :" # suit un : #: library/asyncio-eventloop.rst:89 msgid "" "The `Event Loop Methods`_ section is the reference documentation of the " "event loop APIs;" msgstr "" "la section `Event Loop Methods`_ est la documentation de référence des API " "de boucle d'événements ;" # suit un : #: library/asyncio-eventloop.rst:92 msgid "" "The `Callback Handles`_ section documents the :class:`Handle` and :class:" "`TimerHandle` instances which are returned from scheduling methods such as :" "meth:`loop.call_soon` and :meth:`loop.call_later`;" msgstr "" "la section `Callback Handles`_ documente les instances :class:`Handle` et :" "class:`TimerHandle` qui sont renvoyées par les méthodes de planification " "telles que :meth:`loop.call_soon` et :meth:`loop.call_later` ;" # suit un : #: library/asyncio-eventloop.rst:96 msgid "" "The `Server Objects`_ section documents types returned from event loop " "methods like :meth:`loop.create_server`;" msgstr "" "la section `Server Objects`_ documente les types renvoyés par les méthodes " "de boucle d'événements comme :meth:`loop.create_server` ;" # suit un : #: library/asyncio-eventloop.rst:99 msgid "" "The `Event Loop Implementations`_ section documents the :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" msgstr "" "la section `Event Loop Implementations`_ documente les classes :class:" "`SelectorEventLoop` et :class:`ProactorEventLoop` ;" # suit un : #: library/asyncio-eventloop.rst:102 msgid "" "The `Examples`_ section showcases how to work with some event loop APIs." msgstr "" "la section `Exemples`_ montre comment travailler avec certaines API de " "boucle d'événements." #: library/asyncio-eventloop.rst:109 msgid "Event Loop Methods" msgstr "Méthodes de la boucle d'évènements" #: library/asyncio-eventloop.rst:111 msgid "Event loops have **low-level** APIs for the following:" msgstr "" "Les boucles d'événements ont des API **de bas niveau** pour les éléments " "suivants :" #: library/asyncio-eventloop.rst:119 msgid "Running and stopping the loop" msgstr "Démarrer et arrêter une boucle d'évènements" #: library/asyncio-eventloop.rst:123 msgid "Run until the *future* (an instance of :class:`Future`) has completed." msgstr "" "Lance la boucle jusqu'à ce que *future* (une instance de :class:`Future`) " "soit terminée." #: library/asyncio-eventloop.rst:126 msgid "" "If the argument is a :ref:`coroutine object ` it is implicitly " "scheduled to run as a :class:`asyncio.Task`." msgstr "" "Si l'argument est un objet :ref:`coroutine `, il est " "implicitement programmé pour s'exécuter en tant que :class:`asyncio.Task`." #: library/asyncio-eventloop.rst:129 msgid "Return the Future's result or raise its exception." msgstr "Renvoie le résultat du *Future* ou lève son exception." #: library/asyncio-eventloop.rst:133 msgid "Run the event loop until :meth:`stop` is called." msgstr "" "Exécute la boucle d'événement jusqu'à ce que :meth:`stop` soit appelée." #: library/asyncio-eventloop.rst:135 msgid "" "If :meth:`stop` is called before :meth:`run_forever()` is called, the loop " "will poll the I/O selector once with a timeout of zero, run all callbacks " "scheduled in response to I/O events (and those that were already scheduled), " "and then exit." msgstr "" "Si :meth:`stop` est appelée avant que :meth:`run_forever()` ne soit appelée, " "la boucle interroge le sélecteur d'entrée-sortie une fois avec un délai " "d'attente de zéro, exécute tous les rappels programmés en réponse aux " "événements d'entrée-sortie (et ceux qui étaient déjà programmés), puis " "quitte." #: library/asyncio-eventloop.rst:140 msgid "" "If :meth:`stop` is called while :meth:`run_forever` is running, the loop " "will run the current batch of callbacks and then exit. Note that new " "callbacks scheduled by callbacks will not run in this case; instead, they " "will run the next time :meth:`run_forever` or :meth:`run_until_complete` is " "called." msgstr "" "Si :meth:`stop` est appelée pendant que :meth:`run_forever` est en cours " "d'exécution, la boucle exécute le lot actuel de rappels puis se termine. " "Notez que les nouveaux rappels programmés par fonctions de rappel ne " "s'exécuteront pas dans ce cas ; à la place, ils s'exécuteront la prochaine " "fois que :meth:`run_forever` ou :meth:`run_until_complete` sera appelée." #: library/asyncio-eventloop.rst:148 msgid "Stop the event loop." msgstr "Arrête l'exécution de la boucle d'évènements." #: library/asyncio-eventloop.rst:152 msgid "Return ``True`` if the event loop is currently running." msgstr "Renvoie ``True`` si la boucle d'évènements est démarrée." #: library/asyncio-eventloop.rst:156 msgid "Return ``True`` if the event loop was closed." msgstr "Renvoie ``True`` si la boucle d'évènements est arrêtée." #: library/asyncio-eventloop.rst:160 msgid "Close the event loop." msgstr "Arrête la boucle d'évènements." #: library/asyncio-eventloop.rst:162 msgid "" "The loop must not be running when this function is called. Any pending " "callbacks will be discarded." msgstr "" "La boucle ne doit pas être en cours d'exécution lorsque cette fonction est " "appelée. Tous les rappels en attente seront ignorés." #: library/asyncio-eventloop.rst:165 msgid "" "This method clears all queues and shuts down the executor, but does not wait " "for the executor to finish." msgstr "" "Cette méthode efface toutes les files d'attente et arrête l'exécuteur, mais " "n'attend pas que l'exécuteur se termine." #: library/asyncio-eventloop.rst:168 msgid "" "This method is idempotent and irreversible. No other methods should be " "called after the event loop is closed." msgstr "" "Cette méthode est idempotente et irréversible. Aucune autre méthode ne doit " "être appelée après la fermeture de la boucle d'événements." #: library/asyncio-eventloop.rst:173 msgid "" "Schedule all currently open :term:`asynchronous generator` objects to close " "with an :meth:`~agen.aclose()` call. After calling this method, the event " "loop will issue a warning if a new asynchronous generator is iterated. This " "should be used to reliably finalize all scheduled asynchronous generators." msgstr "" "Planifie la fermeture de tous les objets :term:`générateurs asynchrones " "` actuellement ouverts avec un appel :meth:`~agen." "aclose()`. Après avoir appelé cette méthode, la boucle d'événements émet un " "avertissement si un nouveau générateur asynchrone est itéré. Elle doit être " "utilisée pour finaliser de manière fiable tous les générateurs asynchrones " "planifiés." #: library/asyncio-eventloop.rst:179 msgid "" "Note that there is no need to call this function when :func:`asyncio.run` is " "used." msgstr "" "Notez qu'il n'est pas nécessaire d'appeler cette fonction lorsque :func:" "`asyncio.run` est utilisée." #: library/asyncio-eventloop.rst:182 library/asyncio-eventloop.rst:1219 #: library/asyncio-eventloop.rst:1610 msgid "Example::" msgstr "Exemple ::" #: library/asyncio-eventloop.rst:194 msgid "" "Schedule the closure of the default executor and wait for it to join all of " "the threads in the :class:`~concurrent.futures.ThreadPoolExecutor`. Once " "this method has been called, using the default executor with :meth:`loop." "run_in_executor` will raise a :exc:`RuntimeError`." msgstr "" "Planifie la fermeture de l'exécuteur par défaut et attend que tous les fils " "se rejoignent dans le :class:`~concurrent.futures.ThreadPoolExecutor`. Une " "fois cette méthode appelée, l'utilisation de l'exécuteur par défaut avec :" "meth:`loop.run_in_executor` lève une :exc:`RuntimeError`." # suit un : #: library/asyncio-eventloop.rst:202 msgid "" "Do not call this method when using :func:`asyncio.run`, as the latter " "handles default executor shutdown automatically." msgstr "" "n'appelez pas cette méthode lorsque vous utilisez :func:`asyncio.run`, car " "cette dernière gère automatiquement l'arrêt de l'exécuteur par défaut." #: library/asyncio-eventloop.rst:209 msgid "Scheduling callbacks" msgstr "Planification des fonctions de rappel" #: library/asyncio-eventloop.rst:213 msgid "" "Schedule the *callback* :term:`callback` to be called with *args* arguments " "at the next iteration of the event loop." msgstr "" "Définit la :term:`fonction de rappel ` *callback* à appeler avec " "les arguments *args* à la prochaine itération de la boucle d'événements." #: library/asyncio-eventloop.rst:216 msgid "" "Return an instance of :class:`asyncio.Handle`, which can be used later to " "cancel the callback." msgstr "" "Renvoie une instance de :class:`asyncio.Handle`, qui pourra être utilisée " "ultérieurement pour annuler le rappel." #: library/asyncio-eventloop.rst:219 msgid "" "Callbacks are called in the order in which they are registered. Each " "callback will be called exactly once." msgstr "" "Les fonctions de rappels sont appelées dans l'ordre dans lequel elles sont " "enregistrées. Chaque fonction de rappel sera appelée exactement une fois." #: library/asyncio-eventloop.rst:222 msgid "" "The optional keyword-only *context* argument specifies a custom :class:" "`contextvars.Context` for the *callback* to run in. Callbacks use the " "current context when no *context* is provided." msgstr "" "L'argument facultatif nommé uniquement *context* spécifie un :class:" "`contextvars.Context` personnalisé pour le *callback* à exécuter. Les " "rappels utilisent le contexte actuel lorsqu'aucun *context* n'est fourni." #: library/asyncio-eventloop.rst:226 msgid "Unlike :meth:`call_soon_threadsafe`, this method is not thread-safe." msgstr "" "Contrairement à :meth:`call_soon_threadsafe`, cette méthode n'est pas " "compatible avec les programmes à fils d'exécution multiples." #: library/asyncio-eventloop.rst:230 msgid "" "A thread-safe variant of :meth:`call_soon`. When scheduling callbacks from " "another thread, this function *must* be used, since :meth:`call_soon` is not " "thread-safe." msgstr "" "Une variante compatible avec les programmes à fils d'exécution multiples de :" "meth:`call_soon`. Lors de la planification de rappels à partir d'un autre " "fil d'exécution, cette fonction *doit* être utilisée, puisque :meth:" "`call_soon` n'est pas thread-safe." #: library/asyncio-eventloop.rst:234 msgid "" "Raises :exc:`RuntimeError` if called on a loop that's been closed. This can " "happen on a secondary thread when the main application is shutting down." msgstr "" "Lève :exc:`RuntimeError` si elle est appelée sur une boucle qui a été " "fermée. Cela peut se produire sur un fil secondaire lorsque l'application " "principale se ferme." #: library/asyncio-eventloop.rst:238 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." msgstr "" "Voir la section :ref:`exécution concurrente et multi-fils d'exécution " "` de la documentation." # suit un : #: library/asyncio-eventloop.rst:241 library/asyncio-eventloop.rst:291 #: library/asyncio-eventloop.rst:311 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." msgstr "" "le paramètre nommé uniquement *context* a été ajouté. Voir :pep:`567` pour " "plus de détails." # suit un : #: library/asyncio-eventloop.rst:249 msgid "" "Most :mod:`asyncio` scheduling functions don't allow passing keyword " "arguments. To do that, use :func:`functools.partial`::" msgstr "" "la plupart des fonctions d'ordonnancement :mod:`asyncio` n'autorisent pas le " "passage d'arguments nommés. Pour le faire, utilisez :func:`functools." "partial` ::" #: library/asyncio-eventloop.rst:256 msgid "" "Using partial objects is usually more convenient than using lambdas, as " "asyncio can render partial objects better in debug and error messages." msgstr "" "L'utilisation d'objets partiels est généralement plus pratique que " "l'utilisation de lambdas, car *asyncio* peut mieux rendre les objets " "partiels dans les messages de débogage et d'erreur." #: library/asyncio-eventloop.rst:264 msgid "Scheduling delayed callbacks" msgstr "Planification des rappels différés" #: library/asyncio-eventloop.rst:266 msgid "" "Event loop provides mechanisms to schedule callback functions to be called " "at some point in the future. Event loop uses monotonic clocks to track time." msgstr "" "La boucle d'événements fournit des mécanismes pour programmer les fonctions " "de rappel à appeler à un moment donné dans le futur. La boucle d'événements " "utilise des horloges monotones pour suivre le temps." #: library/asyncio-eventloop.rst:273 msgid "" "Schedule *callback* to be called after the given *delay* number of seconds " "(can be either an int or a float)." msgstr "" "Planifie le rappel *callback* à appeler après *delay* secondes (peut être un " "entier ou un flottant)." #: library/asyncio-eventloop.rst:276 library/asyncio-eventloop.rst:308 msgid "" "An instance of :class:`asyncio.TimerHandle` is returned which can be used to " "cancel the callback." msgstr "" "Une instance de :class:`asyncio.TimerHandle` est renvoyée et peut être " "utilisée pour annuler le rappel." #: library/asyncio-eventloop.rst:279 msgid "" "*callback* will be called exactly once. If two callbacks are scheduled for " "exactly the same time, the order in which they are called is undefined." msgstr "" "*callback* sera appelé exactement une fois. Si deux rappels sont programmés " "exactement à la même heure, l'ordre dans lequel ils sont appelés n'est pas " "défini." #: library/asyncio-eventloop.rst:283 msgid "" "The optional positional *args* will be passed to the callback when it is " "called. If you want the callback to be called with keyword arguments use :" "func:`functools.partial`." msgstr "" "L'argument positionnel facultatif *args* sera transmis au rappel lorsqu'il " "sera appelé. Si vous voulez que le rappel soit appelé avec des arguments " "nommés, utilisez :func:`functools.partial`." #: library/asyncio-eventloop.rst:287 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the *callback* to run in. The current " "context is used when no *context* is provided." msgstr "" "Un argument facultatif *context* nommé uniquement permet de spécifier un :" "class:`contextvars.Context` personnalisé pour le *callback* à exécuter. Le " "contexte actuel est utilisé lorsqu'aucun *context* n'est fourni." # suit un : #: library/asyncio-eventloop.rst:295 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "*delay* could not exceed one day. This has been fixed in Python 3.8." msgstr "" "dans Python 3.7 et versions antérieures avec l'implémentation de la boucle " "d'événements par défaut, le *delay* ne pouvait pas dépasser un jour. Cela a " "été corrigé dans Python 3.8." #: library/asyncio-eventloop.rst:302 msgid "" "Schedule *callback* to be called at the given absolute timestamp *when* (an " "int or a float), using the same time reference as :meth:`loop.time`." msgstr "" "Planifie l'appel de *callback* à l'horodatage absolu donné *when* (un *int* " "ou un *float*), en utilisant la même référence de temps que :meth:`loop." "time`." #: library/asyncio-eventloop.rst:306 msgid "This method's behavior is the same as :meth:`call_later`." msgstr "Le comportement de cette méthode est le même que :meth:`call_later`." # suit un : #: library/asyncio-eventloop.rst:315 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "difference between *when* and the current time could not exceed one day. " "This has been fixed in Python 3.8." msgstr "" "dans Python 3.7 et versions antérieures avec l'implémentation de la boucle " "d'événements par défaut, la différence entre *when* et l'heure actuelle ne " "pouvait pas dépasser un jour. Cela a été corrigé dans Python 3.8." #: library/asyncio-eventloop.rst:322 msgid "" "Return the current time, as a :class:`float` value, according to the event " "loop's internal monotonic clock." msgstr "" "Renvoie l'heure actuelle, sous la forme d'une valeur :class:`float`, selon " "l'horloge monotone interne de la boucle d'événements." # suit un : #: library/asyncio-eventloop.rst:326 msgid "" "In Python 3.7 and earlier timeouts (relative *delay* or absolute *when*) " "should not exceed one day. This has been fixed in Python 3.8." msgstr "" "dans Python 3.7 et les versions antérieures, les délais d'expiration " "(relatif *delay* ou absolu *when*) ne doivent pas dépasser un jour. Cela a " "été corrigé dans Python 3.8." # suit un : #: library/asyncio-eventloop.rst:332 msgid "The :func:`asyncio.sleep` function." msgstr "la fonction :func:`asyncio.sleep`." #: library/asyncio-eventloop.rst:336 msgid "Creating Futures and Tasks" msgstr "Création de *Futures* et des tâches" #: library/asyncio-eventloop.rst:340 msgid "Create an :class:`asyncio.Future` object attached to the event loop." msgstr "" "Crée un objet :class:`asyncio.Future` attaché à la boucle d'événements." #: library/asyncio-eventloop.rst:342 msgid "" "This is the preferred way to create Futures in asyncio. This lets third-" "party event loops provide alternative implementations of the Future object " "(with better performance or instrumentation)." msgstr "" "C'est la méthode préférée pour créer des *Futures* avec *asyncio*. Cela " "permet aux boucles d'événements tierces de fournir des implémentations " "alternatives de l'objet *Future* (avec de meilleures performances ou " "instrumentation)." #: library/asyncio-eventloop.rst:350 msgid "" "Schedule the execution of :ref:`coroutine ` *coro*. Return a :" "class:`Task` object." msgstr "" "Planifie l'exécution de :ref:`coroutine ` *coro*. Renvoie un " "objet :class:`Task`." #: library/asyncio-eventloop.rst:353 msgid "" "Third-party event loops can use their own subclass of :class:`Task` for " "interoperability. In this case, the result type is a subclass of :class:" "`Task`." msgstr "" "Les boucles d'événements tierces peuvent utiliser leur propre sous-classe " "de :class:`Task` pour l'interopérabilité. Dans ce cas, le type de résultat " "est une sous-classe de :class:`Task`." #: library/asyncio-eventloop.rst:357 msgid "" "If the *name* argument is provided and not ``None``, it is set as the name " "of the task using :meth:`Task.set_name`." msgstr "" "Si l'argument *name* est fourni et non ``None``, il est défini comme le nom " "de la tâche en utilisant :meth:`Task.set_name`." #: library/asyncio-eventloop.rst:360 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the *coro* to run in. The current context " "copy is created when no *context* is provided." msgstr "" "Argument facultatif *context* nommé uniquement qui permet de spécifier un :" "class:`contextvars.Context` personnalisé pour la *coro* à exécuter. La copie " "de contexte actuel est créée lorsqu'aucun *context* n'est fourni." #: library/asyncio-eventloop.rst:364 msgid "Added the *name* parameter." msgstr "ajout du paramètre ``name``." #: library/asyncio-eventloop.rst:367 msgid "Added the *context* parameter." msgstr "ajout du paramètre ``context``." #: library/asyncio-eventloop.rst:372 msgid "Set a task factory that will be used by :meth:`loop.create_task`." msgstr "" "Définit une fabrique de tâches qui sera utilisée par :meth:`loop." "create_task`." #: library/asyncio-eventloop.rst:375 msgid "" "If *factory* is ``None`` the default task factory will be set. Otherwise, " "*factory* must be a *callable* with the signature matching ``(loop, coro, " "context=None)``, where *loop* is a reference to the active event loop, and " "*coro* is a coroutine object. The callable must return a :class:`asyncio." "Future`-compatible object." msgstr "" "Si *factory* est ``None``, la fabrique de tâches par défaut sera définie. " "Sinon, *factory* doit être un *appelable* avec la signature correspondant à " "``(loop, coro, context=None)``, où *loop* est une référence à la boucle " "d'événements active et *coro* est un objet coroutine . L'appelable doit " "renvoyer un objet compatible avec :class:`asyncio.Future`." #: library/asyncio-eventloop.rst:383 msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" "Renvoie une fabrique de tâches ou ``None`` si celle par défaut est utilisée." #: library/asyncio-eventloop.rst:387 msgid "Opening network connections" msgstr "Création de connexions" #: library/asyncio-eventloop.rst:397 msgid "" "Open a streaming transport connection to a given address specified by *host* " "and *port*." msgstr "" "Ouvre un flux de transport connecté à l'adresse spécifiée par *host* et " "*port*." #: library/asyncio-eventloop.rst:400 #, fuzzy msgid "" "The socket family can be either :py:const:`~socket.AF_INET` or :py:const:" "`~socket.AF_INET6` depending on *host* (or the *family* argument, if " "provided)." msgstr "" "La famille de connecteur peut être :py:data:`~socket.AF_INET` ou :py:data:" "`~socket.AF_INET6` en fonction de *host* (ou l'argument *family*, s'il est " "fourni)." #: library/asyncio-eventloop.rst:404 #, fuzzy msgid "The socket type will be :py:const:`~socket.SOCK_STREAM`." msgstr "Le type de connecteur sera :py:data:`~socket.SOCK_STREAM`." #: library/asyncio-eventloop.rst:406 library/asyncio-eventloop.rst:1135 #: library/asyncio-eventloop.rst:1151 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." msgstr "" "*protocol_factory* doit être un appelable renvoyant un protocole gérant le :" "ref:`protocole asyncio `." #: library/asyncio-eventloop.rst:409 msgid "" "This method will try to establish the connection in the background. When " "successful, it returns a ``(transport, protocol)`` pair." msgstr "" "Cette méthode tente d'établir la connexion en arrière-plan. En cas de " "succès, elle renvoie une paire ``(transport, protocol)``." #: library/asyncio-eventloop.rst:412 msgid "The chronological synopsis of the underlying operation is as follows:" msgstr "Le synopsis chronologique de l'opération sous-jacente est le suivant :" #: library/asyncio-eventloop.rst:414 msgid "" "The connection is established and a :ref:`transport ` is " "created for it." msgstr "" "La connexion est établie et un :ref:`transport asyncio ` " "est créé pour cela." #: library/asyncio-eventloop.rst:417 msgid "" "*protocol_factory* is called without arguments and is expected to return a :" "ref:`protocol ` instance." msgstr "" "*protocol_factory* est appelée sans arguments et doit renvoyer une instance " "de :ref:`protocol asyncio `." #: library/asyncio-eventloop.rst:420 msgid "" "The protocol instance is coupled with the transport by calling its :meth:" "`~BaseProtocol.connection_made` method." msgstr "" "L'instance de protocole est couplée au transport en appelant sa méthode :" "meth:`~BaseProtocol.connection_made`." #: library/asyncio-eventloop.rst:423 msgid "A ``(transport, protocol)`` tuple is returned on success." msgstr "Un *n*-uplet ``(transport, protocol)`` est renvoyé en cas de succès." #: library/asyncio-eventloop.rst:425 msgid "" "The created transport is an implementation-dependent bidirectional stream." msgstr "" "Le transport créé est un flux bidirectionnel dépendant de l'implémentation." #: library/asyncio-eventloop.rst:428 library/asyncio-eventloop.rst:549 msgid "Other arguments:" msgstr "Autres arguments :" #: library/asyncio-eventloop.rst:430 msgid "" "*ssl*: if given and not false, a SSL/TLS transport is created (by default a " "plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " "object, this context is used to create the transport; if *ssl* is :const:" "`True`, a default context returned from :func:`ssl.create_default_context` " "is used." msgstr "" "*ssl* : s'il est donné et non faux, un transport SSL/TLS est créé (par " "défaut un transport TCP simple est créé). Si *ssl* est un objet :class:`ssl." "SSLContext`, ce contexte est utilisé pour créer le transport ; si *ssl* est :" "const:`True`, un contexte par défaut renvoyé par :func:`ssl." "create_default_context` est utilisé." #: library/asyncio-eventloop.rst:436 msgid ":ref:`SSL/TLS security considerations `" msgstr ":ref:`Considérations sur la sécurité SSL/TLS `" #: library/asyncio-eventloop.rst:438 msgid "" "*server_hostname* sets or overrides the hostname that the target server's " "certificate will be matched against. Should only be passed if *ssl* is not " "``None``. By default the value of the *host* argument is used. If *host* " "is empty, there is no default and you must pass a value for " "*server_hostname*. If *server_hostname* is an empty string, hostname " "matching is disabled (which is a serious security risk, allowing for " "potential man-in-the-middle attacks)." msgstr "" "*server_hostname* définit ou remplace le nom d'hôte auquel le certificat du " "serveur cible sera comparé. Ne doit être passé que si *ssl* n'est pas " "``None``. Par défaut, la valeur de l'argument *host* est utilisée. Si *host* " "est vide, il n'y a pas de valeur par défaut et vous devez transmettre une " "valeur pour *server_hostname*. Si *server_hostname* est une chaîne vide, la " "correspondance du nom d'hôte est désactivée (ce qui constitue un risque de " "sécurité sérieux, permettant des attaques potentielles de type « homme du " "milieu »)." #: library/asyncio-eventloop.rst:446 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to getaddrinfo() for *host* resolution. If given, " "these should all be integers from the corresponding :mod:`socket` module " "constants." msgstr "" "*family*, *proto*, *flags* sont facultatifs et sont la famille d'adresse, le " "protocole et les drapeaux à transmettre à *getaddrinfo()* pour la résolution " "de *host*. S'ils sont fournis, ils doivent tous être des entiers provenant " "des constantes du module :mod:`socket`." #: library/asyncio-eventloop.rst:451 msgid "" "*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " "connection. It should be a floating-point number representing the amount of " "time in seconds to wait for a connection attempt to complete, before " "starting the next attempt in parallel. This is the \"Connection Attempt " "Delay\" as defined in :rfc:`8305`. A sensible default value recommended by " "the RFC is ``0.25`` (250 milliseconds)." msgstr "" "*happy_eyeballs_delay*, s'il est fourni, active Happy Eyeballs pour cette " "connexion. Il doit s'agir d'un nombre à virgule flottante représentant le " "temps d'attente en secondes pour qu'une tentative de connexion se termine, " "avant de démarrer la prochaine tentative en parallèle. Il s'agit du « délai " "de tentative de connexion » tel que défini dans la :rfc:`8305`. Une valeur " "par défaut raisonnable recommandée par la RFC est ``0.25`` (250 " "millisecondes)." #: library/asyncio-eventloop.rst:459 msgid "" "*interleave* controls address reordering when a host name resolves to " "multiple IP addresses. If ``0`` or unspecified, no reordering is done, and " "addresses are tried in the order returned by :meth:`getaddrinfo`. If a " "positive integer is specified, the addresses are interleaved by address " "family, and the given integer is interpreted as \"First Address Family " "Count\" as defined in :rfc:`8305`. The default is ``0`` if " "*happy_eyeballs_delay* is not specified, and ``1`` if it is." msgstr "" "*interleave* contrôle la réorganisation des adresses lorsqu'un nom d'hôte se " "résout en plusieurs adresses IP. S'il vaut ``0`` ou n'est pas spécifié, " "aucune réorganisation n'est effectuée et les adresses sont essayées dans " "l'ordre renvoyé par :meth:`getaddrinfo`. Si un entier positif est spécifié, " "les adresses sont entrelacées par famille d'adresses et l'entier donné est " "interprété comme \"First Address Family Count\" tel que défini dans la :rfc:" "`8305`. La valeur par défaut est ``0`` si *happy_eyeballs_delay* n'est pas " "spécifié, et ``1`` si c'est le cas." #: library/asyncio-eventloop.rst:468 msgid "" "*sock*, if given, should be an existing, already connected :class:`socket." "socket` object to be used by the transport. If *sock* is given, none of " "*host*, *port*, *family*, *proto*, *flags*, *happy_eyeballs_delay*, " "*interleave* and *local_addr* should be specified." msgstr "" "*sock*, s'il est fourni, doit être un objet :class:`socket.socket` existant " "et déjà connecté à utiliser par le transport. Si *sock* est donné, aucun des " "*host*, *port*, *family*, *proto*, *flags*, *happy_eyeballs_delay*, " "*interleave* et *local_addr* ne doit être spécifié." # suit un : #: library/asyncio-eventloop.rst:476 library/asyncio-eventloop.rst:580 #: library/asyncio-eventloop.rst:804 msgid "" "The *sock* argument transfers ownership of the socket to the transport " "created. To close the socket, call the transport's :meth:`~asyncio." "BaseTransport.close` method." msgstr "" "l'argument *sock* transfère la propriété du connecteur au transport créé. " "Pour fermer le connecteur, appelez la méthode :meth:`~asyncio.BaseTransport." "close` du transport." #: library/asyncio-eventloop.rst:480 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using " "``getaddrinfo()``, similarly to *host* and *port*." msgstr "" "*local_addr*, s'il est fourni, est un *n*-uplet ``(local_host, local_port)`` " "utilisé pour lier le connecteur localement. *local_host* et *local_port* " "sont recherchés en utilisant ``getaddrinfo()``, de la même manière que " "*host* et *port*." #: library/asyncio-eventloop.rst:484 library/asyncio-eventloop.rst:898 msgid "" "*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " "wait for the TLS handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" "*ssl_handshake_timeout* est (pour une connexion TLS) le temps en secondes à " "attendre que la poignée de main TLS se termine avant d'abandonner la " "connexion. ``60.0`` secondes si ``None`` (par défaut)." #: library/asyncio-eventloop.rst:488 library/asyncio-eventloop.rst:721 #: library/asyncio-eventloop.rst:815 library/asyncio-eventloop.rst:902 msgid "" "*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown " "to complete before aborting the connection. ``30.0`` seconds if ``None`` " "(default)." msgstr "" "*ssl_shutdown_timeout* est le temps en secondes à attendre que l'arrêt SSL " "se termine avant d'abandonner la connexion. ``30.0`` secondes si ``None`` " "(par défaut)." # suit un : #: library/asyncio-eventloop.rst:494 library/asyncio-eventloop.rst:733 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "" "ajout de la prise en charge de SSL/TLS dans :class:`ProactorEventLoop`." # suit un : #: library/asyncio-eventloop.rst:498 #, fuzzy msgid "" "The socket option :py:const:`~socket.TCP_NODELAY` is set by default for all " "TCP connections." msgstr "" "l'option socket :py:data:`~socket.TCP_NODELAY` est définie par défaut pour " "toutes les connexions TCP." #: library/asyncio-eventloop.rst:503 library/asyncio-eventloop.rst:825 msgid "Added the *ssl_handshake_timeout* parameter." msgstr "ajout du paramètre *ssl handshake timeout*" # suit un : #: library/asyncio-eventloop.rst:507 msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." msgstr "ajout des paramètres *happy_eyeballs_delay* et *interleave*." #: library/asyncio-eventloop.rst:509 msgid "" "Happy Eyeballs Algorithm: Success with Dual-Stack Hosts. When a server's " "IPv4 path and protocol are working, but the server's IPv6 path and protocol " "are not working, a dual-stack client application experiences significant " "connection delay compared to an IPv4-only client. This is undesirable " "because it causes the dual-stack client to have a worse user experience. " "This document specifies requirements for algorithms that reduce this user-" "visible delay and provides an algorithm." msgstr "" "Algorithme Happy Eyeballs : « succès avec les hôtes à double pile ». Lorsque " "le chemin et le protocole IPv4 d'un serveur fonctionnent, mais que le chemin " "et le protocole IPv6 du serveur ne fonctionnent pas, une application cliente " "à double pile subit un retard de connexion important par rapport à un client " "IPv4 uniquement. Ceci n'est pas souhaitable car cela entraîne une moins " "bonne expérience utilisateur pour le client à double pile. Ce document " "spécifie les exigences pour les algorithmes qui réduisent ce délai visible " "par l'utilisateur et fournit un algorithme correspondant." #: library/asyncio-eventloop.rst:518 #, fuzzy msgid "For more information: https://datatracker.ietf.org/doc/html/rfc6555" msgstr "" "Pour plus d'informations, consultez : https://tools.ietf.org/html/rfc6555" #: library/asyncio-eventloop.rst:522 library/asyncio-eventloop.rst:641 #: library/asyncio-eventloop.rst:747 library/asyncio-eventloop.rst:782 #: library/asyncio-eventloop.rst:829 library/asyncio-eventloop.rst:910 msgid "Added the *ssl_shutdown_timeout* parameter." msgstr "ajout du paramètre *ssl shutdown timeout*" # suit un : #: library/asyncio-eventloop.rst:526 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " "used directly in async/await code." msgstr "" "la fonction :func:`open_connection` est une API alternative de haut niveau. " "Elle renvoie une paire de (:class:`StreamReader`, :class:`StreamWriter`) qui " "peut être utilisée directement dans le code *async/wait*." #: library/asyncio-eventloop.rst:536 msgid "Create a datagram connection." msgstr "Création d'une connexion par datagramme" #: library/asyncio-eventloop.rst:538 #, fuzzy msgid "" "The socket family can be either :py:const:`~socket.AF_INET`, :py:const:" "`~socket.AF_INET6`, or :py:const:`~socket.AF_UNIX`, depending on *host* (or " "the *family* argument, if provided)." msgstr "" "La famille de connecteur peut être :py:data:`~socket.AF_INET`, :py:data:" "`~socket.AF_INET6` ou :py:data:`~socket.AF_UNIX`, selon *host* (ou " "l'argument *family*, s'il est fourni)." #: library/asyncio-eventloop.rst:542 #, fuzzy msgid "The socket type will be :py:const:`~socket.SOCK_DGRAM`." msgstr "Le type de connecteur sera :py:data:`~socket.SOCK_DGRAM`." #: library/asyncio-eventloop.rst:544 library/asyncio-eventloop.rst:664 #: library/asyncio-eventloop.rst:796 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." msgstr "" "*protocol_factory* doit être un appelable gérant le :ref:`protocole asyncio " "`." #: library/asyncio-eventloop.rst:547 library/asyncio-eventloop.rst:623 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "Un *n*-uplet ``(transport, protocol)`` est renvoyé en cas de succès." #: library/asyncio-eventloop.rst:551 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using :" "meth:`getaddrinfo`." msgstr "" "*local_addr*, s'il est fourni, est un *n*-uplet ``(local_host, local_port)`` " "utilisé pour lier le connecteur localement. Le *local_host* et le " "*local_port* sont recherchés en utilisant :meth:`getaddrinfo`." #: library/asyncio-eventloop.rst:555 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " "are looked up using :meth:`getaddrinfo`." msgstr "" "*remote_addr*, s'il est fourni, est un *n*-uplet ``(remote_host, " "remote_port)`` utilisé pour se connecter à une adresse distante. Le " "*remote_host* et le *remote_port* sont recherchés en utilisant :meth:" "`getaddrinfo`." #: library/asyncio-eventloop.rst:559 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " "given, these should all be integers from the corresponding :mod:`socket` " "module constants." msgstr "" "*family*, *proto*, *flags* sont facultatifs et représentent la famille " "d'adresse, le protocole et les drapeaux à transmettre à :meth:`getaddrinfo` " "pour la résolution *host*. S'ils sont fournis, ils doivent tous être des " "entiers provenant des constantes du module :mod:`socket`." #: library/asyncio-eventloop.rst:564 #, fuzzy msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " "flag when being created. This option is not supported on Windows and some " "Unixes. If the :py:const:`~socket.SO_REUSEPORT` constant is not defined then " "this capability is unsupported." msgstr "" "*reuse_port* indique au noyau d'autoriser ce point de terminaison à être lié " "au même port que les autres points de terminaison existants, tant qu'ils " "définissent tous cet indicateur lors de leur création. Cette option n'est " "pas prise en charge sous Windows et certains Unix. Si la constante :py:data:" "`~socket.SO_REUSEPORT` n'est pas définie, cette fonctionnalité n'est pas " "prise en charge." #: library/asyncio-eventloop.rst:570 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." msgstr "" "*allow_broadcast* indique au noyau d'autoriser ce point de terminaison à " "envoyer des messages à l'adresse de *broadcast*." #: library/asyncio-eventloop.rst:573 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " "specified, *local_addr* and *remote_addr* should be omitted (must be :const:" "`None`)." msgstr "" "*sock* peut éventuellement être spécifié afin d'utiliser un objet :class:" "`socket.socket` préexistant, déjà connecté, à utiliser par le transport. Si " "spécifié, *local_addr* et *remote_addr* doivent être omis (doit être :const:" "`None`)." #: library/asyncio-eventloop.rst:584 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." msgstr "" "Voir les exemples :ref:`asyncio-udp-echo-client-protocol` et :ref:`asyncio-" "udp-echo-server-protocol`." # suit un : #: library/asyncio-eventloop.rst:587 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" "les paramètres *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " "*allow_broadcast* et *sock* ont été ajoutés." # suit un : #: library/asyncio-eventloop.rst:591 #, fuzzy msgid "" "The *reuse_address* parameter is no longer supported, as using :py:const:" "`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " "Explicitly passing ``reuse_address=True`` will raise an exception." msgstr "" "le paramètre *reuse_address* n'est plus pris en charge, car l'utilisation " "de :py:data:`~sockets.SO_REUSEADDR` pose un problème de sécurité important " "pour UDP. Passer explicitement ``reuse_address=True`` lève une exception." #: library/asyncio-eventloop.rst:596 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " "randomly distributed among the sockets." msgstr "" "Lorsque plusieurs processus avec des UID différents attribuent des " "connecteurs à une adresse de connecteur UDP identique avec ``SO_REUSEADDR``, " "les paquets entrants peuvent être distribués de manière aléatoire entre les " "connecteurs." #: library/asyncio-eventloop.rst:600 #, fuzzy msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :py:const:`~sockets.SO_REUSEPORT` " "is used instead, which specifically prevents processes with differing UIDs " "from assigning sockets to the same socket address." msgstr "" "Pour les plates-formes prises en charge, *reuse_port* peut être utilisé en " "remplacement d'une fonctionnalité similaire. Avec *reuse_port*, :py:data:" "`~sockets.SO_REUSEPORT` est utilisé à la place, ce qui empêche " "spécifiquement les processus avec des UID différents d'attribuer des " "connecteurs à la même adresse de connecteur." # suit un : #: library/asyncio-eventloop.rst:606 msgid "Added support for Windows." msgstr "prise en charge sur Windows." # suit un : #: library/asyncio-eventloop.rst:609 msgid "" "The *reuse_address* parameter, disabled since Python 3.9.0, 3.8.1, 3.7.6 and " "3.6.10, has been entirely removed." msgstr "" "le paramètre *reuse_address*, désactivé depuis Python 3.9.0, 3.8.1, 3.7.6 et " "3.6.10, a été entièrement supprimé." #: library/asyncio-eventloop.rst:618 msgid "Create a Unix connection." msgstr "Crée une connexion Unix" #: library/asyncio-eventloop.rst:620 #, fuzzy msgid "" "The socket family will be :py:const:`~socket.AF_UNIX`; socket type will be :" "py:const:`~socket.SOCK_STREAM`." msgstr "" "La famille de connecteur est :py:data:`~socket.AF_UNIX` ; le type de " "connecteur est :py:data:`~socket.SOCK_STREAM`." #: library/asyncio-eventloop.rst:625 msgid "" "*path* is the name of a Unix domain socket and is required, unless a *sock* " "parameter is specified. Abstract Unix sockets, :class:`str`, :class:" "`bytes`, and :class:`~pathlib.Path` paths are supported." msgstr "" "*path* est le nom d'un connecteur de domaine Unix et est obligatoire, sauf " "si un paramètre *sock* est spécifié. Les connecteurs Unix abstraits, les " "chemins :class:`str`, :class:`bytes` et :class:`~pathlib.Path` sont pris en " "charge." #: library/asyncio-eventloop.rst:630 msgid "" "See the documentation of the :meth:`loop.create_connection` method for " "information about arguments to this method." msgstr "" "Voir la documentation de la méthode :meth:`loop.create_connection` pour plus " "d'informations sur les arguments de cette méthode." #: library/asyncio-eventloop.rst:633 library/asyncio-eventloop.rst:773 #: library/asyncio-eventloop.rst:1202 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." #: library/asyncio-eventloop.rst:635 msgid "" "Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " "a :term:`path-like object`." msgstr "" "ajout du paramètre *ssl_handshake_timeout*. Le paramètre *chemin* peut " "désormais être un :term:`objet simili-chemin `." #: library/asyncio-eventloop.rst:645 msgid "Creating network servers" msgstr "Création de serveurs" #: library/asyncio-eventloop.rst:657 #, fuzzy msgid "" "Create a TCP server (socket type :const:`~socket.SOCK_STREAM`) listening on " "*port* of the *host* address." msgstr "" "Crée un serveur TCP (type de connecteur :data:`~socket.SOCK_STREAM`) " "écoutant sur le *port* de l'adresse *hôte*." #: library/asyncio-eventloop.rst:660 msgid "Returns a :class:`Server` object." msgstr "Renvoie un objet :class:`Server`." #: library/asyncio-eventloop.rst:662 msgid "Arguments:" msgstr "Arguments :" #: library/asyncio-eventloop.rst:667 msgid "" "The *host* parameter can be set to several types which determine where the " "server would be listening:" msgstr "" "Le paramètre *host* peut être défini sur plusieurs types qui déterminent où " "le serveur écoute :" #: library/asyncio-eventloop.rst:670 msgid "" "If *host* is a string, the TCP server is bound to a single network interface " "specified by *host*." msgstr "" "Si *host* est une chaîne, le serveur TCP est lié à une seule interface " "réseau spécifiée par *host*." #: library/asyncio-eventloop.rst:673 msgid "" "If *host* is a sequence of strings, the TCP server is bound to all network " "interfaces specified by the sequence." msgstr "" "Si *host* est une séquence de chaînes, le serveur TCP est lié à toutes les " "interfaces réseau spécifiées par la séquence." #: library/asyncio-eventloop.rst:676 msgid "" "If *host* is an empty string or ``None``, all interfaces are assumed and a " "list of multiple sockets will be returned (most likely one for IPv4 and " "another one for IPv6)." msgstr "" "Si *host* est une chaîne vide ou ``None``, toutes les interfaces sont prises " "en compte et une liste de plusieurs connecteurs est renvoyée (probablement " "une pour IPv4 et une autre pour IPv6)." #: library/asyncio-eventloop.rst:680 msgid "" "The *port* parameter can be set to specify which port the server should " "listen on. If ``0`` or ``None`` (the default), a random unused port will be " "selected (note that if *host* resolves to multiple network interfaces, a " "different random port will be selected for each interface)." msgstr "" "Le paramètre *port* peut être défini pour spécifier sur quel port le serveur " "doit écouter. Si ``0`` ou ``None`` (la valeur par défaut), un port inutilisé " "aléatoire est sélectionné (notez que si *host* se résout en plusieurs " "interfaces réseau, un port aléatoire différent est sélectionné pour chaque " "interface)." #: library/asyncio-eventloop.rst:685 #, fuzzy msgid "" "*family* can be set to either :const:`socket.AF_INET` or :const:`~socket." "AF_INET6` to force the socket to use IPv4 or IPv6. If not set, the *family* " "will be determined from host name (defaults to :const:`~socket.AF_UNSPEC`)." msgstr "" "*family* peut être défini sur :data:`socket.AF_INET` ou sur :data:`~socket." "AF_INET6` pour forcer le connecteur à utiliser IPv4 ou IPv6. Si elle n'est " "pas définie, *family* est déterminée à partir du nom d'hôte (par défaut :" "data:`~socket.AF_UNSPEC`)." #: library/asyncio-eventloop.rst:690 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* est un masque de bits pour :meth:`getaddrinfo`." #: library/asyncio-eventloop.rst:692 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " "object. If specified, *host* and *port* must not be specified." msgstr "" "*sock* peut éventuellement être spécifié afin d'utiliser un objet connecteur " "préexistant. S'il est spécifié, *host* et *port* ne doivent pas être " "spécifiés." # suit un : #: library/asyncio-eventloop.rst:697 msgid "" "The *sock* argument transfers ownership of the socket to the server created. " "To close the socket, call the server's :meth:`~asyncio.Server.close` method." msgstr "" "l'argument *sock* transfère la propriété du connecteur au serveur créé. Pour " "fermer le connecteur, appelez la méthode :meth:`~asyncio.Server.close` du " "serveur." #: library/asyncio-eventloop.rst:701 msgid "" "*backlog* is the maximum number of queued connections passed to :meth:" "`~socket.socket.listen` (defaults to 100)." msgstr "" "*backlog* est le nombre maximum de connexions en file d'attente passées à :" "meth:`~socket.socket.listen` (par défaut à 100)." #: library/asyncio-eventloop.rst:704 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " "the accepted connections." msgstr "" "*ssl* peut être défini sur une instance :class:`~ssl.SSLContext` pour " "activer TLS sur les connexions acceptées." #: library/asyncio-eventloop.rst:707 msgid "" "*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " "state, without waiting for its natural timeout to expire. If not specified " "will automatically be set to ``True`` on Unix." msgstr "" "*reuse_address* indique au noyau de réutiliser un connecteur local dans " "l'état ``TIME_WAIT``, sans attendre l'expiration de son délai d'attente " "naturel. S'il n'est pas spécifié, il est automatiquement défini sur ``True`` " "sous Unix." #: library/asyncio-eventloop.rst:712 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " "flag when being created. This option is not supported on Windows." msgstr "" "*reuse_port* indique au noyau d'autoriser ce point de terminaison à être lié " "au même port que les autres points de terminaison existants, tant qu'ils " "définissent tous cet indicateur lors de leur création. Cette option n'est " "pas prise en charge sous Windows." #: library/asyncio-eventloop.rst:717 msgid "" "*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " "for the TLS handshake to complete before aborting the connection. ``60.0`` " "seconds if ``None`` (default)." msgstr "" "*ssl_handshake_timeout* est (pour un serveur TLS) le temps en secondes à " "attendre que la poignée de main TLS se termine avant d'abandonner la " "connexion. ``60.0`` secondes si ``None`` (par défaut)." #: library/asyncio-eventloop.rst:725 msgid "" "*start_serving* set to ``True`` (the default) causes the created server to " "start accepting connections immediately. When set to ``False``, the user " "should await on :meth:`Server.start_serving` or :meth:`Server.serve_forever` " "to make the server to start accepting connections." msgstr "" "*start_serving* défini à ``True`` (valeur par défaut) fait que le serveur " "créé commence immédiatement à accepter les connexions. Lorsqu'il est défini " "sur ``False``, l'utilisateur doit attendre sur :meth:`Server.start_serving` " "ou :meth:`Server.serve_forever` pour que le serveur commence à accepter les " "connexions." # suit un : #: library/asyncio-eventloop.rst:737 msgid "The *host* parameter can be a sequence of strings." msgstr "le paramètre *host* peut être une séquence de chaînes." # suit un : #: library/asyncio-eventloop.rst:741 #, fuzzy msgid "" "Added *ssl_handshake_timeout* and *start_serving* parameters. The socket " "option :py:const:`~socket.TCP_NODELAY` is set by default for all TCP " "connections." msgstr "" "ajout des paramètres *ssl_handshake_timeout* et *start_serving*. L'option " "socket :py:data:`~socket.TCP_NODELAY` est définie par défaut pour toutes les " "connexions TCP." # suit un : #: library/asyncio-eventloop.rst:751 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " "be used in an async/await code." msgstr "" "la fonction :func:`start_server` est une API alternative de niveau supérieur " "qui renvoie une paire de :class:`StreamReader` et :class:`StreamWriter` qui " "peut être utilisée dans un code *async/wait*." #: library/asyncio-eventloop.rst:762 #, fuzzy msgid "" "Similar to :meth:`loop.create_server` but works with the :py:const:`~socket." "AF_UNIX` socket family." msgstr "" "Similaire à :meth:`loop.create_server` mais fonctionne avec la famille de " "connecteurs :py:data:`~socket.AF_UNIX`." #: library/asyncio-eventloop.rst:765 msgid "" "*path* is the name of a Unix domain socket, and is required, unless a *sock* " "argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " "and :class:`~pathlib.Path` paths are supported." msgstr "" "*path* est le nom d'un connecteur de domaine Unix et est obligatoire, sauf " "si un argument *sock* est fourni. Les connecteurs Unix abstraits, les " "chemins :class:`str`, :class:`bytes` et :class:`~pathlib.Path` sont pris en " "charge." #: library/asyncio-eventloop.rst:770 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." msgstr "" "Voir la documentation de la méthode :meth:`loop.create_server` pour plus " "d'informations sur les arguments de cette méthode." # suit un : #: library/asyncio-eventloop.rst:777 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :class:`~pathlib.Path` object." msgstr "" "ajout des paramètres *ssl_handshake_timeout* et *start_serving*. Le " "paramètre *path* peut maintenant être un objet :class:`~pathlib.Path`." #: library/asyncio-eventloop.rst:789 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "" "Enveloppe une connexion déjà acceptée dans une paire transport/protocole." #: library/asyncio-eventloop.rst:791 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." msgstr "" "Cette méthode peut être utilisée par les serveurs qui acceptent les " "connexions en dehors d'*asyncio* mais qui utilisent *asyncio* pour les gérer." #: library/asyncio-eventloop.rst:794 library/asyncio-eventloop.rst:884 msgid "Parameters:" msgstr "Paramètres :" #: library/asyncio-eventloop.rst:799 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." msgstr "" "*sock* est un objet connecteur préexistant renvoyé par :meth:`socket.accept " "`." #: library/asyncio-eventloop.rst:808 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." msgstr "" "*ssl* peut être défini sur une :class:`~ssl.SSLContext` pour activer SSL sur " "les connexions acceptées." #: library/asyncio-eventloop.rst:811 msgid "" "*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " "wait for the SSL handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" "*ssl_handshake_timeout* est (pour une connexion SSL) le temps en secondes à " "attendre que la poignée de main SSL se termine avant d'abandonner la " "connexion. ``60.0`` secondes si ``None`` (par défaut)." #: library/asyncio-eventloop.rst:819 msgid "Returns a ``(transport, protocol)`` pair." msgstr "Renvoie une paire ``(transport, protocole)``." #: library/asyncio-eventloop.rst:833 msgid "Transferring files" msgstr "Transfert de fichiers" #: library/asyncio-eventloop.rst:838 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" "Envoie *file* via *transport*. Renvoie le nombre total d'octets envoyés." #: library/asyncio-eventloop.rst:841 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" "La méthode utilise :meth:`os.sendfile` (hautes performances) si elle est " "disponible." #: library/asyncio-eventloop.rst:843 msgid "*file* must be a regular file object opened in binary mode." msgstr "*file* doit être un objet fichier normal ouvert en mode binaire." #: library/asyncio-eventloop.rst:845 library/asyncio-eventloop.rst:1090 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " "until EOF is reached. File position is always updated, even when this method " "raises an error, and :meth:`file.tell() ` can be used to " "obtain the actual number of bytes sent." msgstr "" "*offset* indique où commencer la lecture du fichier. Si spécifié, *count* " "est le nombre total d'octets à transmettre, par opposition à l'envoi du " "fichier jusqu'à ce que EOF soit atteint. La position du fichier est toujours " "mise à jour, même lorsque cette méthode génère une erreur. :meth:`file." "tell() ` peut être utilisée pour obtenir le nombre d'octets " "réellement envoyés." #: library/asyncio-eventloop.rst:852 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " "when the platform does not support the sendfile system call (e.g. Windows or " "SSL socket on Unix)." msgstr "" "*fallback* défini sur ``True`` permet à *asyncio* de lire et d'envoyer " "manuellement le fichier lorsque la plateforme ne prend pas en charge l'appel " "système *sendfile* (par exemple, Windows ou connecteur SSL sous Unix)." #: library/asyncio-eventloop.rst:856 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." msgstr "" "Lève :exc:`SendfileNotAvailableError` si le système ne prend pas en charge " "l'appel système *sendfile* et que *fallback* est ``False``." #: library/asyncio-eventloop.rst:863 msgid "TLS Upgrade" msgstr "Passage du flux en TLS" #: library/asyncio-eventloop.rst:870 msgid "Upgrade an existing transport-based connection to TLS." msgstr "Convertit une connexion existante en connexion TLS." #: library/asyncio-eventloop.rst:872 msgid "" "Create a TLS coder/decoder instance and insert it between the *transport* " "and the *protocol*. The coder/decoder implements both *transport*-facing " "protocol and *protocol*-facing transport." msgstr "" "Crée une instance de codeur-décodeur TLS et l'insère entre le *transport* et " "le *protocol*. Le codeur-décodeur implémente à la fois le protocole vers le " "*transport* et le transport vers le *protocol*." #: library/asyncio-eventloop.rst:876 msgid "" "Return the created two-interface instance. After *await*, the *protocol* " "must stop using the original *transport* and communicate with the returned " "object only because the coder caches *protocol*-side data and sporadically " "exchanges extra TLS session packets with *transport*." msgstr "" "Renvoie l'instance à deux interfaces créée. Après *await*, le *protocol* " "doit cesser d'utiliser le *transport* d'origine et communiquer avec l'objet " "renvoyé uniquement parce que le codeur met en cache les données côté " "*protocol* et échange sporadiquement des paquets de session TLS " "supplémentaires avec *transport*." #: library/asyncio-eventloop.rst:881 msgid "" "In some situations (e.g. when the passed transport is already closing) this " "may return ``None``." msgstr "" #: library/asyncio-eventloop.rst:886 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." msgstr "" "*transport* et *protocol* que des méthodes comme :meth:`~loop.create_server` " "et :meth:`~loop.create_connection` renvoient." #: library/asyncio-eventloop.rst:890 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "*sslcontext* : une instance configurée de :class:`~ssl.SSLContext`." #: library/asyncio-eventloop.rst:892 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." msgstr "" "*server_side* passe à ``True`` lorsqu'une connexion côté serveur est mise à " "jour (comme celle créée par :meth:`~loop.create_server`)." #: library/asyncio-eventloop.rst:895 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." msgstr "" "*server_hostname* : définit ou remplace le nom d'hôte auquel le certificat " "du serveur cible est comparé." #: library/asyncio-eventloop.rst:915 msgid "Watching file descriptors" msgstr "Surveillance de descripteur de fichier" #: library/asyncio-eventloop.rst:919 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." msgstr "" "Commence à surveiller la disponibilité en lecture du descripteur de fichier " "*fd* et appelle *callback* avec les arguments spécifiés une fois que *fd* " "est disponible en lecture." #: library/asyncio-eventloop.rst:925 msgid "" "Stop monitoring the *fd* file descriptor for read availability. Returns " "``True`` if *fd* was previously being monitored for reads." msgstr "" "Arrête de surveiller le descripteur de fichier *fd* pour la disponibilité en " "lecture. Renvoie ``True`` si *fd* était précédemment surveillé pour les " "lectures." #: library/asyncio-eventloop.rst:930 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments once *fd* is available for writing." msgstr "" "Commence à surveiller le descripteur de fichier *fd* pour la disponibilité " "en écriture et appelle *callback* avec les arguments spécifiés une fois que " "*fd* est disponible en écriture." #: library/asyncio-eventloop.rst:934 library/asyncio-eventloop.rst:1189 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." msgstr "" "Utilisez :func:`functools.partial` pour :ref:`passer des arguments nommés " "` à *callback*." #: library/asyncio-eventloop.rst:939 msgid "" "Stop monitoring the *fd* file descriptor for write availability. Returns " "``True`` if *fd* was previously being monitored for writes." msgstr "" "Arrête de surveiller le descripteur de fichier *fd* pour la disponibilité en " "écriture. Renvoie ``True`` si *fd* était précédemment surveillé pour les " "écritures." #: library/asyncio-eventloop.rst:942 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." msgstr "" "Voir aussi la section :ref:`Prise en charge de la plate-forme ` pour certaines limitations de ces méthodes." #: library/asyncio-eventloop.rst:947 msgid "Working with socket objects directly" msgstr "Travail direct avec des objets *socket*" #: library/asyncio-eventloop.rst:949 msgid "" "In general, protocol implementations that use transport-based APIs such as :" "meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " "implementations that work with sockets directly. However, there are some use " "cases when performance is not critical, and working with :class:`~socket." "socket` objects directly is more convenient." msgstr "" "En général, les implémentations de protocole qui utilisent des API basées " "sur le transport telles que :meth:`loop.create_connection` et :meth:`loop." "create_server` sont plus rapides que les implémentations qui fonctionnent " "directement avec les *sockets*. Cependant, il existe des cas d'utilisation " "où les performances ne sont pas critiques, et travailler directement avec " "les objets :class:`~socket.socket` est plus pratique." #: library/asyncio-eventloop.rst:958 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." msgstr "" "Reçoit jusqu'à *nbytes* de *sock*. Version asynchrone de :meth:`socket." "recv() `." #: library/asyncio-eventloop.rst:961 msgid "Return the received data as a bytes object." msgstr "Renvoie les données reçues sous la forme d'un objet bytes." #: library/asyncio-eventloop.rst:963 library/asyncio-eventloop.rst:977 #: library/asyncio-eventloop.rst:988 library/asyncio-eventloop.rst:1000 #: library/asyncio-eventloop.rst:1015 library/asyncio-eventloop.rst:1030 #: library/asyncio-eventloop.rst:1040 library/asyncio-eventloop.rst:1066 #: library/asyncio-eventloop.rst:1104 msgid "*sock* must be a non-blocking socket." msgstr "Le connecteur *sock* ne doit pas être bloquant." # suit un : #: library/asyncio-eventloop.rst:965 msgid "" "Even though this method was always documented as a coroutine method, " "releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " "is an ``async def`` method." msgstr "" "même si cette méthode a toujours été documentée en tant que méthode " "coroutine, les versions antérieures à Python 3.7 renvoyaient un :class:" "`Future`. Depuis Python 3.7, il s'agit d'une méthode ``async def``." #: library/asyncio-eventloop.rst:972 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." msgstr "" "Reçoit les données de *sock* dans le tampon *buf*. Basée sur le modèle de la " "méthode bloquante :meth:`socket.recv_into() `." #: library/asyncio-eventloop.rst:975 msgid "Return the number of bytes written to the buffer." msgstr "Renvoie le nombre d'octets écrits dans le tampon." #: library/asyncio-eventloop.rst:983 msgid "" "Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of :" "meth:`socket.recvfrom() `." msgstr "" "Reçoit un datagramme jusqu'à *bufsize* de *sock*. Version asynchrone de :" "meth:`socket.recvfrom() `." #: library/asyncio-eventloop.rst:986 msgid "Return a tuple of (received data, remote address)." msgstr "Renvoie un *n*-uplet (données reçues, adresse distante)." #: library/asyncio-eventloop.rst:994 msgid "" "Receive a datagram of up to *nbytes* from *sock* into *buf*. Asynchronous " "version of :meth:`socket.recvfrom_into() `." msgstr "" "Reçoit un datagramme jusqu'à *nbytes* de *sock* vers *buf*. Version " "asynchrone de :meth:`socket.recvfrom_into() `." #: library/asyncio-eventloop.rst:998 msgid "Return a tuple of (number of bytes received, remote address)." msgstr "Renvoie un *n*-uplet (nombre d'octets reçus, adresse distante)." #: library/asyncio-eventloop.rst:1006 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." msgstr "" "Envoie les données *data* au connecteur *sock*. Version asynchrone de :meth:" "`socket.sendall() `." #: library/asyncio-eventloop.rst:1009 msgid "" "This method continues to send to the socket until either all data in *data* " "has been sent or an error occurs. ``None`` is returned on success. On " "error, an exception is raised. Additionally, there is no way to determine " "how much data, if any, was successfully processed by the receiving end of " "the connection." msgstr "" "Cette méthode continue d'envoyer des données au connecteur jusqu'à ce que " "toutes les *data* aient été envoyées ou qu'une erreur se produise. ``None`` " "est renvoyé en cas de succès. En cas d'erreur, une exception est levée. De " "plus, il n'existe aucun moyen de déterminer la quantité de données, le cas " "échéant, qui a été traitée avec succès par l'extrémité réceptrice de la " "connexion." # suit un : #: library/asyncio-eventloop.rst:1017 library/asyncio-eventloop.rst:1068 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" "même si la méthode a toujours été documentée en tant que méthode coroutine, " "avant Python 3.7, elle renvoyait un :class:`Future`. Depuis Python 3.7, il " "s'agit d'une méthode ``async def``." #: library/asyncio-eventloop.rst:1024 msgid "" "Send a datagram from *sock* to *address*. Asynchronous version of :meth:" "`socket.sendto() `." msgstr "" "Envoie un datagramme de *sock* à *address*. Version asynchrone de :meth:" "`socket.sendto() `." #: library/asyncio-eventloop.rst:1028 msgid "Return the number of bytes sent." msgstr "Renvoie le nombre d'octets envoyés." #: library/asyncio-eventloop.rst:1036 msgid "Connect *sock* to a remote socket at *address*." msgstr "Connecte *sock* à un connecteur distant situé à *address*." #: library/asyncio-eventloop.rst:1038 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "" "Version asynchrone de :meth:`socket.connect() `." #: library/asyncio-eventloop.rst:1042 msgid "" "``address`` no longer needs to be resolved. ``sock_connect`` will try to " "check if the *address* is already resolved by calling :func:`socket." "inet_pton`. If not, :meth:`loop.getaddrinfo` will be used to resolve the " "*address*." msgstr "" "``address`` n'a plus besoin d'être résolu. ``sock_connect`` essaie de " "vérifier si *address* est déjà résolue en appelant :func:`socket.inet_pton`. " "Sinon, :meth:`loop.getaddrinfo` est utilisé pour résoudre *address*." #: library/asyncio-eventloop.rst:1051 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." msgstr "" ":meth:`loop.create_connection` et :func:`asyncio.open_connection() " "`." #: library/asyncio-eventloop.rst:1057 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." msgstr "" "Accepte une connexion. Basée sur le modèle de la méthode bloquante :meth:" "`socket.accept() `." #: library/asyncio-eventloop.rst:1060 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " "object usable to send and receive data on the connection, and *address* is " "the address bound to the socket on the other end of the connection." msgstr "" "Le connecteur doit être lié à une adresse et écouter les connexions. La " "valeur de retour est une paire ``(conn, adresse)`` où *conn* est un *nouvel* " "objet socket utilisable pour envoyer et recevoir des données sur la " "connexion, et *adresse* est l'adresse liée au connecteur de l'autre côté de " "la connexion." #: library/asyncio-eventloop.rst:1075 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr ":meth:`loop.create_server` et :func:`start_server`." #: library/asyncio-eventloop.rst:1080 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." msgstr "" "Envoie le fichier en utilisant :mod:`os.sendfile` (haute performance) si " "possible. Renvoie le nombre total d'octets envoyés." #: library/asyncio-eventloop.rst:1083 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" "Version asynchrone de :meth:`socket.sendfile() `." #: library/asyncio-eventloop.rst:1085 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." msgstr "" "*sock* doit être un :const:`socket.SOCK_STREAM` :class:`~socket.socket` non " "bloquant." #: library/asyncio-eventloop.rst:1088 msgid "*file* must be a regular file object open in binary mode." msgstr "*file* doit être un objet fichier normal ouvert en mode binaire." #: library/asyncio-eventloop.rst:1097 msgid "" "*fallback*, when set to ``True``, makes asyncio manually read and send the " "file when the platform does not support the sendfile syscall (e.g. Windows " "or SSL socket on Unix)." msgstr "" "*fallback*, lorsqu'il est défini à ``True``, permet à *asyncio* de lire et " "d'envoyer manuellement le fichier lorsque la plateforme ne prend pas en " "charge l'appel système *sendfile* (par exemple, Windows ou connecteur SSL " "sous Unix)." #: library/asyncio-eventloop.rst:1101 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." msgstr "" "Lève une :exc:`SendfileNotAvailableError` si le système ne prend pas en " "charge l'appel système *sendfile* et que *fallback* est ``False``." #: library/asyncio-eventloop.rst:1110 msgid "DNS" msgstr "DNS" #: library/asyncio-eventloop.rst:1115 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "Version asynchrone de :meth:`socket.getaddrinfo`." #: library/asyncio-eventloop.rst:1119 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "Version asynchrone de :meth:`socket.getnameinfo`." # suit un : #: library/asyncio-eventloop.rst:1121 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" "class:`asyncio.Future` objects. Starting with Python 3.7 both methods are " "coroutines." msgstr "" "les méthodes *getaddrinfo* et *getnameinfo* ont toujours été documentées " "pour renvoyer une coroutine, mais avant Python 3.7, elles renvoyaient en " "fait des objets :class:`asyncio.Future`. À partir de Python 3.7, les deux " "méthodes sont des coroutines." #: library/asyncio-eventloop.rst:1129 msgid "Working with pipes" msgstr "Travail avec des tubes (*pipes*)" #: library/asyncio-eventloop.rst:1133 msgid "Register the read end of *pipe* in the event loop." msgstr "" "Branche l'extrémité en lecture du tube *pipe* à la boucle d'évènements." #: library/asyncio-eventloop.rst:1138 msgid "*pipe* is a :term:`file-like object `." msgstr "*pipe* est un :term:`simili-fichier `." #: library/asyncio-eventloop.rst:1140 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" "Renvoie la paire ``(transport, protocol)``, où *transport* prend en charge " "l'interface :class:`ReadTransport` et *protocol* est un objet instancié par " "*protocol_factory*." #: library/asyncio-eventloop.rst:1144 library/asyncio-eventloop.rst:1160 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." msgstr "" "Avec la boucle d'événements :class:`SelectorEventLoop`, le *pipe* est mis en " "mode non bloquant." #: library/asyncio-eventloop.rst:1149 msgid "Register the write end of *pipe* in the event loop." msgstr "Branche l'extrémité en écriture de *pipe* à la boucle d'évènements." #: library/asyncio-eventloop.rst:1154 msgid "*pipe* is :term:`file-like object `." msgstr "*pipe* est un :term:`simili-fichier `." #: library/asyncio-eventloop.rst:1156 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" "Renvoie la paire ``(transport, protocol)``, où *transport* prend en charge " "l'interface :class:`WriteTransport` et *protocol* est un objet instancié par " "*protocol_factory*." #: library/asyncio-eventloop.rst:1165 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." msgstr "" ":class:`SelectorEventLoop` ne prend pas en charge les méthodes ci-dessus " "sous Windows. Utilisez :class:`ProactorEventLoop` à la place pour Windows." # suit un : #: library/asyncio-eventloop.rst:1170 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" "les méthodes :meth:`loop.subprocess_exec` et :meth:`loop.subprocess_shell`." #: library/asyncio-eventloop.rst:1175 msgid "Unix signals" msgstr "Signaux Unix" #: library/asyncio-eventloop.rst:1179 msgid "Set *callback* as the handler for the *signum* signal." msgstr "Définit *callback* comme gestionnaire du signal *signum*." #: library/asyncio-eventloop.rst:1181 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " "registered using :func:`signal.signal`, a callback registered with this " "function is allowed to interact with the event loop." msgstr "" "La fonction de rappel sera appelée par *loop*, avec d'autres rappels en file " "d'attente et des coroutines exécutables de cette boucle d'événements. " "Contrairement aux gestionnaires de signaux enregistrés à l'aide de :func:" "`signal.signal`, un rappel enregistré avec cette fonction est autorisé à " "interagir avec la boucle d'événements." #: library/asyncio-eventloop.rst:1186 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." msgstr "" "Lève une :exc:`ValueError` si le numéro de signal est invalide ou non " "attrapable. Lève une :exc:`RuntimeError` s'il y a un problème lors de la " "configuration du gestionnaire." #: library/asyncio-eventloop.rst:1192 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" "Comme :func:`signal.signal`, cette fonction doit être invoquée dans le fil " "d'exécution principal." #: library/asyncio-eventloop.rst:1197 msgid "Remove the handler for the *sig* signal." msgstr "Supprime le gestionnaire du signal *sig*." #: library/asyncio-eventloop.rst:1199 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." msgstr "" "Renvoie ``True`` si le gestionnaire de signal a été supprimé, ou ``False`` " "si aucun gestionnaire n'a été défini pour le signal donné." # suit un : #: library/asyncio-eventloop.rst:1206 msgid "The :mod:`signal` module." msgstr "le module :mod:`signal`." #: library/asyncio-eventloop.rst:1210 msgid "Executing code in thread or process pools" msgstr "Exécution de code dans des pools de threads ou de processus" #: library/asyncio-eventloop.rst:1214 msgid "Arrange for *func* to be called in the specified executor." msgstr "Fait en sorte que *func* soit appelée dans l'exécuteur spécifié." #: library/asyncio-eventloop.rst:1216 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." msgstr "" "L'argument *executor* doit être une instance :class:`concurrent.futures." "Executor`. L'exécuteur par défaut est utilisé si *executor* vaut ``None``." #: library/asyncio-eventloop.rst:1261 msgid "" "Note that the entry point guard (``if __name__ == '__main__'``) is required " "for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " "used by :class:`~concurrent.futures.ProcessPoolExecutor`. See :ref:`Safe " "importing of main module `." msgstr "" "Notez que la garde du point d'entrée (``if __name__ == '__main__'``) est " "requis pour l'option 3 en raison des particularités de :mod:" "`multiprocessing`, qui est utilisé par :class:`~concurrent.futures." "ProcessPoolExecutor`. Voir :ref:`Importation sécurisée du module principal " "`." #: library/asyncio-eventloop.rst:1266 msgid "This method returns a :class:`asyncio.Future` object." msgstr "Cette méthode renvoie un objet :class:`asyncio.Future`." #: library/asyncio-eventloop.rst:1268 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." msgstr "" "Utilisez :func:`functools.partial` pour :ref:`passer des arguments nommés " "` à *func*." #: library/asyncio-eventloop.rst:1271 msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " "thread pool executor it creates, instead leaving it up to the thread pool " "executor (:class:`~concurrent.futures.ThreadPoolExecutor`) to set the " "default." msgstr "" ":meth:`loop.run_in_executor` ne configure plus le ``max_workers`` de " "l'exécuteur de pool de threads qu'il crée, laissant à la place à l'exécuteur " "de pool de threads (:class:`~concurrent.futures.ThreadPoolExecutor`) le soin " "de définir le défaut." #: library/asyncio-eventloop.rst:1280 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* must be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" "Définit *executor* comme exécuteur par défaut utilisé par :meth:" "`run_in_executor`. *executor* doit être une instance de :class:`~concurrent." "futures.ThreadPoolExecutor`." #: library/asyncio-eventloop.rst:1284 msgid "" "*executor* must be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" "*executor* doit être une instance de :class:`~concurrent.futures." "ThreadPoolExecutor`." #: library/asyncio-eventloop.rst:1290 msgid "Error Handling API" msgstr "API de gestion d'erreur" #: library/asyncio-eventloop.rst:1292 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" "Permet de personnaliser la façon dont les exceptions sont gérées dans la " "boucle d'événements." #: library/asyncio-eventloop.rst:1296 msgid "Set *handler* as the new event loop exception handler." msgstr "" "Définit *handler* comme nouveau gestionnaire d'exceptions de boucle " "d'événements." #: library/asyncio-eventloop.rst:1298 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " "context)``, where ``loop`` is a reference to the active event loop, and " "``context`` is a ``dict`` object containing the details of the exception " "(see :meth:`call_exception_handler` documentation for details about context)." msgstr "" "Si *handler* est ``None``, le gestionnaire d'exceptions par défaut est " "activé. Sinon, *handler* doit être un appelable avec la signature " "correspondant à ``(loop, context)``, où ``loop`` est une référence à la " "boucle d'événements active et ``context`` est un ``dict`` contenant les " "détails de l'exception (voir la documentation :meth:`call_exception_handler` " "pour plus de détails sur le contexte)." #: library/asyncio-eventloop.rst:1308 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." msgstr "" "Renvoie le gestionnaire d'exceptions actuel ou ``None`` si aucun " "gestionnaire d'exceptions personnalisé n'a été défini." #: library/asyncio-eventloop.rst:1315 msgid "Default exception handler." msgstr "Gestionnaire d'exception par défaut." #: library/asyncio-eventloop.rst:1317 msgid "" "This is called when an exception occurs and no exception handler is set. " "This can be called by a custom exception handler that wants to defer to the " "default handler behavior." msgstr "" "Appelée lorsqu'une exception se produit et qu'aucun gestionnaire d'exception " "n'est défini. Elle peut être appelée par un gestionnaire d'exceptions " "personnalisé qui souhaite s'en remettre au comportement du gestionnaire par " "défaut." #: library/asyncio-eventloop.rst:1321 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." msgstr "" "Le paramètre *context* a la même signification que dans :meth:" "`call_exception_handler`." #: library/asyncio-eventloop.rst:1326 msgid "Call the current event loop exception handler." msgstr "" "Appelle le gestionnaire d'exception de la boucle d'évènements actuelle." #: library/asyncio-eventloop.rst:1328 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" msgstr "" "*context* est un objet ``dict`` contenant les clés suivantes (de nouvelles " "clés pourront être introduites dans les futures versions de Python) :" #: library/asyncio-eventloop.rst:1331 msgid "'message': Error message;" msgstr "'message' : message d'erreur ;" #: library/asyncio-eventloop.rst:1332 msgid "'exception' (optional): Exception object;" msgstr "'exception' (facultatif) : objet exception ;" #: library/asyncio-eventloop.rst:1333 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "'future' (facultatif) : instance de :class:`asyncio.Future` ;" #: library/asyncio-eventloop.rst:1334 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "'task' (facultatif) : instance de :class:`asyncio.Task` ;" #: library/asyncio-eventloop.rst:1335 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "*'handle'* (facultatif) : instance de :class:`asyncio.Handle` ;" #: library/asyncio-eventloop.rst:1336 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" "*'protocol'* (facultatif) : instance de :ref:`protocole asyncio ` ;" #: library/asyncio-eventloop.rst:1337 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" "'transport' (facultatif) : instance de :ref:`transport asyncio ` ;" #: library/asyncio-eventloop.rst:1338 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "'socket' (facultatif) : instance de :class:`socket.socket` ;" #: library/asyncio-eventloop.rst:1340 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "*'asyncgen'* (facultatif) : générateur asynchrone qui a causé" #: library/asyncio-eventloop.rst:1340 msgid "the exception." msgstr "l'exception" # suit un : #: library/asyncio-eventloop.rst:1344 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler()` method." msgstr "" "cette méthode ne doit pas être surchargée dans les boucles d'événements sous-" "classées. Pour la gestion personnalisée des exceptions, utilisez la méthode :" "meth:`set_exception_handler()`." #: library/asyncio-eventloop.rst:1349 msgid "Enabling debug mode" msgstr "Activation du mode débogage" #: library/asyncio-eventloop.rst:1353 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "Obtient le mode de débogage (:class:`bool`) de la boucle d'événements." #: library/asyncio-eventloop.rst:1355 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." msgstr "" "La valeur par défaut est ``True`` si la variable d'environnement :envvar:" "`PYTHONASYNCIODEBUG` est définie sur une chaîne non vide, ``False`` sinon." #: library/asyncio-eventloop.rst:1361 msgid "Set the debug mode of the event loop." msgstr "Active le mode débogage pour la boucle d'évènements." # suit un : #: library/asyncio-eventloop.rst:1365 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." msgstr "" "le nouveau :ref:`mode de développement Python ` peut désormais " "également être utilisé pour activer le mode de débogage." # suit un : #: library/asyncio-eventloop.rst:1370 msgid "The :ref:`debug mode of asyncio `." msgstr "le :ref:`mode debogage d'asyncio `." #: library/asyncio-eventloop.rst:1374 msgid "Running Subprocesses" msgstr "Exécution de sous-processus" #: library/asyncio-eventloop.rst:1376 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " "and :func:`asyncio.create_subprocess_exec` convenience functions instead." msgstr "" "Les méthodes décrites dans ces sous-sections sont de bas niveau. Dans le " "code *async/await* normal, pensez à utiliser les fonctions de commodité de " "haut niveau :func:`asyncio.create_subprocess_shell` et :func:`asyncio." "create_subprocess_exec` à la place." # suit un : #: library/asyncio-eventloop.rst:1383 msgid "" "On Windows, the default event loop :class:`ProactorEventLoop` supports " "subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" "`Subprocess Support on Windows ` for details." msgstr "" "sous Windows, la boucle d'événements par défaut :class:`ProactorEventLoop` " "prend en charge les sous-processus, contrairement à :class:" "`SelectorEventLoop`. Voir :ref:`Prise en charge des sous-processus sous " "Windows ` pour plus de détails." #: library/asyncio-eventloop.rst:1392 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" "Crée un sous-processus à partir d'un ou plusieurs arguments de chaîne " "spécifiés par *args*." #: library/asyncio-eventloop.rst:1395 msgid "*args* must be a list of strings represented by:" msgstr "*args* doit être une liste de chaînes représentée par :" #: library/asyncio-eventloop.rst:1397 msgid ":class:`str`;" msgstr ":class:`str` ;" #: library/asyncio-eventloop.rst:1398 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." msgstr "" "ou :class:`bytes`, encodés selon l':ref:`encodage du système de fichiers " "`." #: library/asyncio-eventloop.rst:1401 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " "program." msgstr "" "La première chaîne spécifie l'exécutable du programme et les chaînes " "restantes spécifient les arguments. Ensemble, les arguments de chaîne " "forment le ``argv`` du programme." #: library/asyncio-eventloop.rst:1405 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=False`` and the list of strings passed as the first " "argument; however, where :class:`~subprocess.Popen` takes a single argument " "which is list of strings, *subprocess_exec* takes multiple string arguments." msgstr "" "C'est similaire à la classe standard de la bibliothèque :class:`subprocess." "Popen` appelée avec ``shell=False`` et la liste des chaînes passées en " "premier argument ; cependant, où :class:`~subprocess.Popen` prend un seul " "argument qui est une liste de chaînes, *subprocess_exec* prend plusieurs " "arguments de chaînes." #: library/asyncio-eventloop.rst:1411 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." msgstr "" "Le *protocol_factory* doit être un appelable renvoyant une sous-classe de la " "classe :class:`asyncio.SubprocessProtocol`." #: library/asyncio-eventloop.rst:1414 msgid "Other parameters:" msgstr "Autres paramètres :" #: library/asyncio-eventloop.rst:1416 msgid "*stdin* can be any of these:" msgstr "*stdin* peut être l'un de ces éléments :" #: library/asyncio-eventloop.rst:1418 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard input stream using :meth:`~loop.connect_write_pipe`" msgstr "" "un objet de type fichier représentant un tube à connecter au flux d'entrée " "standard du sous-processus en utilisant :meth:`~loop.connect_write_pipe`," #: library/asyncio-eventloop.rst:1421 library/asyncio-eventloop.rst:1433 #: library/asyncio-eventloop.rst:1445 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," msgstr "" "la constante :const:`subprocess.PIPE` (par défaut) qui va créer un nouveau " "tube et le connecter," #: library/asyncio-eventloop.rst:1423 library/asyncio-eventloop.rst:1435 #: library/asyncio-eventloop.rst:1447 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" msgstr "" "la valeur ``None`` qui fera que le sous-processus héritera du descripteur de " "fichier de ce processus," #: library/asyncio-eventloop.rst:1425 library/asyncio-eventloop.rst:1437 #: library/asyncio-eventloop.rst:1449 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" msgstr "" "la constante :const:`subprocess.DEVNULL` qui indique que le fichier spécial :" "data:`os.devnull` sera utilisé." #: library/asyncio-eventloop.rst:1428 msgid "*stdout* can be any of these:" msgstr "*stdout* peut être l'un de ces éléments :" #: library/asyncio-eventloop.rst:1430 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard output stream using :meth:`~loop.connect_write_pipe`" msgstr "" "un objet de type fichier représentant un tube à connecter au flux de sortie " "standard du sous-processus en utilisant :meth:`~loop.connect_write_pipe`," #: library/asyncio-eventloop.rst:1440 msgid "*stderr* can be any of these:" msgstr "*stderr* peut être l'un de ces éléments :" #: library/asyncio-eventloop.rst:1442 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard error stream using :meth:`~loop.connect_write_pipe`" msgstr "" "un objet de type fichier représentant un tube à connecter au flux d'erreurs " "standard du sous-processus en utilisant :meth:`~loop.connect_write_pipe`," #: library/asyncio-eventloop.rst:1451 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" msgstr "" "la constante :const:`subprocess.STDOUT` qui connectera le flux d'erreur " "standard au flux de sortie standard du processus." #: library/asyncio-eventloop.rst:1454 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " "*encoding* and *errors*, which should not be specified at all." msgstr "" "Tous les autres arguments nommés sont passés à :class:`subprocess.Popen` " "sans interprétation, à l'exception de *bufsize*, *universal_newlines*, " "*shell*, *text*, *encoding* et *errors*, qui ne doivent pas être spécifiés " "du tout." #: library/asyncio-eventloop.rst:1459 msgid "" "The ``asyncio`` subprocess API does not support decoding the streams as " "text. :func:`bytes.decode` can be used to convert the bytes returned from " "the stream to text." msgstr "" "L'API de sous-processus ``asyncio`` ne prend pas en charge le décodage des " "flux sous forme de texte. :func:`bytes.decode` peut être utilisée pour " "convertir les octets renvoyés par le flux en texte." #: library/asyncio-eventloop.rst:1463 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." msgstr "" "Voir le constructeur de la classe :class:`subprocess.Popen` pour la " "documentation sur les autres arguments." #: library/asyncio-eventloop.rst:1466 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " "object instantiated by the *protocol_factory*." msgstr "" "Renvoie une paire ``(transport, protocol)``, où *transport* est conforme à " "la classe de base :class:`asyncio.SubprocessTransport` et *protocol* est un " "objet instancié par *protocol_factory*." #: library/asyncio-eventloop.rst:1474 msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." msgstr "" "Crée un sous-processus à partir de *cmd*, qui peut être une chaîne :class:" "`str` ou une chaîne :class:`bytes` encodée avec l':ref:`encodage du système " "de fichiers `, en utilisant la syntaxe \"shell\" de la " "plate-forme." #: library/asyncio-eventloop.rst:1479 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." msgstr "" "C'est similaire à la classe standard de la bibliothèque :class:`subprocess." "Popen` appelée avec ``shell=True``." #: library/asyncio-eventloop.rst:1482 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." msgstr "" "Le *protocol_factory* doit être un appelable renvoyant une sous-classe de la " "classe :class:`SubprocessProtocol`." #: library/asyncio-eventloop.rst:1485 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." msgstr "" "Voir :meth:`~loop.subprocess_exec` pour plus de détails sur les arguments " "restants." #: library/asyncio-eventloop.rst:1488 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " "instantiated by the *protocol_factory*." msgstr "" "Renvoie une paire ``(transport, protocol)``, où *transport* est conforme à " "la classe de base :class:`SubprocessTransport` et *protocol* est un objet " "instancié par *protocol_factory*." # suit un : #: library/asyncio-eventloop.rst:1493 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " "`_ " "vulnerabilities. The :func:`shlex.quote` function can be used to properly " "escape whitespace and special characters in strings that are going to be " "used to construct shell commands." msgstr "" "il est de la responsabilité de l'application de s'assurer que tous les " "espaces blancs et les caractères spéciaux sont correctement échappés pour " "éviter les vulnérabilités d'`injection de shell `_. La fonction :func:`shlex.quote` " "peut être utilisée pour échapper correctement les espaces blancs et les " "caractères spéciaux dans les chaînes qui seront utilisées pour construire " "des commandes shell." #: library/asyncio-eventloop.rst:1502 msgid "Callback Handles" msgstr "Fonctions de rappel sur des descripteurs" #: library/asyncio-eventloop.rst:1506 msgid "" "A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." "call_soon_threadsafe`." msgstr "" "Objet encapsulant une fonction de rappel renvoyé par :meth:`loop." "call_soon`, :meth:`loop.call_soon_threadsafe`." #: library/asyncio-eventloop.rst:1511 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." msgstr "" "Annule le rappel. Si le rappel a déjà été annulé ou exécuté, cette méthode " "n'a aucun effet." #: library/asyncio-eventloop.rst:1516 msgid "Return ``True`` if the callback was cancelled." msgstr "Renvoie ``True`` si la fonction de rappel a été annulée." #: library/asyncio-eventloop.rst:1522 msgid "" "A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" "`loop.call_at`." msgstr "" "Objet encapsulant la fonction de rappel renvoyé par :meth:`loop.call_later` " "et :meth:`loop.call_at`." #: library/asyncio-eventloop.rst:1525 msgid "This class is a subclass of :class:`Handle`." msgstr "Cette classe est une sous-classe de :class:`Handle`." #: library/asyncio-eventloop.rst:1529 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" "Renvoie une heure de rappel planifiée sous forme de :class:`float` secondes." #: library/asyncio-eventloop.rst:1531 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." msgstr "" "L'heure est un horodatage absolu, utilisant la même référence de temps que :" "meth:`loop.time`." #: library/asyncio-eventloop.rst:1538 msgid "Server Objects" msgstr "Objets Serveur" #: library/asyncio-eventloop.rst:1540 msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " "functions." msgstr "" "Les objets serveur sont créés par les fonctions :meth:`loop.create_server`, :" "meth:`loop.create_unix_server`, :func:`start_server` et :func:" "`start_unix_server`." #: library/asyncio-eventloop.rst:1544 #, fuzzy msgid "Do not instantiate the :class:`Server` class directly." msgstr "N'instanciez pas la classe directement." #: library/asyncio-eventloop.rst:1548 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " "accepting new connections when the ``async with`` statement is completed::" msgstr "" "Les objets *Server* sont des gestionnaires de contexte asynchrones. " "Lorsqu'il est utilisé dans une instruction ``async with``, il est garanti " "que l'objet Serveur est fermé et n'accepte pas de nouvelle connexion lorsque " "l'instruction ``async with`` est terminée ::" # suit un : #: library/asyncio-eventloop.rst:1561 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" "l'objet serveur est un gestionnaire de contexte asynchrone depuis Python 3.7." #: library/asyncio-eventloop.rst:1564 msgid "" "This class was exposed publicly as ``asyncio.Server`` in Python 3.9.11, " "3.10.3 and 3.11." msgstr "" #: library/asyncio-eventloop.rst:1569 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" "Arrête le serveur : ferme les connecteurs d'écoute et définit l'attribut :" "attr:`sockets` à ``None``." #: library/asyncio-eventloop.rst:1572 msgid "" "The sockets that represent existing incoming client connections are left " "open." msgstr "" "Les connecteurs qui représentent les connexions client entrantes existantes " "restent ouvertes." #: library/asyncio-eventloop.rst:1575 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." msgstr "" "Le serveur est fermé de manière asynchrone, utilisez la coroutine :meth:" "`wait_closed` pour attendre que le serveur soit fermé." #: library/asyncio-eventloop.rst:1580 msgid "Return the event loop associated with the server object." msgstr "Renvoie la boucle d'événement associée à l'objet serveur." #: library/asyncio-eventloop.rst:1586 msgid "Start accepting connections." msgstr "Commence à accepter les connexions." #: library/asyncio-eventloop.rst:1588 msgid "" "This method is idempotent, so it can be called when the server is already " "serving." msgstr "" "Cette méthode est idempotente, elle peut donc être appelée lorsque le " "serveur est déjà en service." #: library/asyncio-eventloop.rst:1591 msgid "" "The *start_serving* keyword-only parameter to :meth:`loop.create_server` " "and :meth:`asyncio.start_server` allows creating a Server object that is not " "accepting connections initially. In this case ``Server.start_serving()``, " "or :meth:`Server.serve_forever` can be used to make the Server start " "accepting connections." msgstr "" "Le paramètre nommé *start_serving* de :meth:`loop.create_server` et :meth:" "`asyncio.start_server` permet de créer un objet *Server* qui n'accepte pas " "les connexions initialement. Dans ce cas, ``Server.start_serving()`` ou :" "meth:`Server.serve_forever` peut être utilisée pour que le serveur commence " "à accepter les connexions." #: library/asyncio-eventloop.rst:1602 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." msgstr "" "Commence à accepter les connexions jusqu'à ce que la coroutine soit annulée. " "L'annulation de la tâche ``serve_forever`` provoque la fermeture du serveur." #: library/asyncio-eventloop.rst:1606 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." msgstr "" "Cette méthode peut être appelée si le serveur accepte déjà les connexions. " "Une seule tâche ``serve_forever`` peut exister par objet *Server*." #: library/asyncio-eventloop.rst:1628 msgid "Return ``True`` if the server is accepting new connections." msgstr "Renvoie ``True`` si le serveur accepte de nouvelles connexions." #: library/asyncio-eventloop.rst:1634 msgid "Wait until the :meth:`close` method completes." msgstr "Attend que la méthode :meth:`close` se termine." #: library/asyncio-eventloop.rst:1638 #, fuzzy msgid "" "List of socket-like objects, ``asyncio.trsock.TransportSocket``, which the " "server is listening on." msgstr "" "Liste les objets :class:`socket.socket` sur lesquels le serveur écoute." # vulnérabilités #: library/asyncio-eventloop.rst:1641 msgid "" "Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " "server sockets directly. In 3.7 a copy of that list is returned." msgstr "" "avant Python 3.7, ``Server.sockets`` renvoyait directement une liste interne " "de sockets de serveur. En 3.7, une copie de cette liste est renvoyée." #: library/asyncio-eventloop.rst:1651 msgid "Event Loop Implementations" msgstr "Implémentations de boucle d'évènements" #: library/asyncio-eventloop.rst:1653 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" "*asyncio* est livré avec deux implémentations de boucles d'événements " "différentes : :class:`SelectorEventLoop` et :class:`ProactorEventLoop`." #: library/asyncio-eventloop.rst:1656 msgid "" "By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " "and :class:`ProactorEventLoop` on Windows." msgstr "" "Par défaut, *asyncio* est configuré pour utiliser :class:`SelectorEventLoop` " "sous Unix et :class:`ProactorEventLoop` sous Windows." #: library/asyncio-eventloop.rst:1662 msgid "An event loop based on the :mod:`selectors` module." msgstr "Boucle d'événements basée sur le module :mod:`selectors`." #: library/asyncio-eventloop.rst:1664 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " "used::" msgstr "" "Utilise le *sélecteur* le plus efficace disponible pour la plate-forme " "donnée. Il est également possible de configurer manuellement " "l'implémentation exacte du sélecteur à utiliser ::" #: library/asyncio-eventloop.rst:1679 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilité ` : Unix, Windows." #: library/asyncio-eventloop.rst:1684 msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." msgstr "" "Boucle d'événements pour Windows qui utilise des \"I/O Completion " "Ports\" (IOCP)." #: library/asyncio-eventloop.rst:1686 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." #: library/asyncio-eventloop.rst:1690 msgid "" "`MSDN documentation on I/O Completion Ports `_." msgstr "" "`Documentation MSDN sur les ports de saisie semi-automatique d’E/S `_." #: library/asyncio-eventloop.rst:1696 msgid "Abstract base class for asyncio-compliant event loops." msgstr "" "Classe mère abstraite pour les boucles d'événements conforme à *asyncio*." #: library/asyncio-eventloop.rst:1698 msgid "" "The :ref:`asyncio-event-loop-methods` section lists all methods that an " "alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" "La section :ref:`asyncio-event-loop-methods` liste toutes les méthodes " "qu'une implémentation alternative de ``AbstractEventLoop`` doit définir." #: library/asyncio-eventloop.rst:1704 msgid "Examples" msgstr "Exemples" #: library/asyncio-eventloop.rst:1706 msgid "" "Note that all examples in this section **purposefully** show how to use the " "low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." "call_soon`. Modern asyncio applications rarely need to be written this way; " "consider using the high-level functions like :func:`asyncio.run`." msgstr "" "Notez que tous les exemples de cette section montrent **à dessein** comment " "utiliser les API de boucle d'événement de bas niveau, telles que :meth:`loop." "run_forever` et :meth:`loop.call_soon`. Les applications *asyncio* modernes " "ont rarement besoin d'être écrites de cette façon ; pensez à utiliser les " "fonctions de haut niveau comme :func:`asyncio.run`." #: library/asyncio-eventloop.rst:1716 msgid "Hello World with call_soon()" msgstr "\"Hello World\" avec ``call_soon()``" #: library/asyncio-eventloop.rst:1718 msgid "" "An example using the :meth:`loop.call_soon` method to schedule a callback. " "The callback displays ``\"Hello World\"`` and then stops the event loop::" msgstr "" "Un exemple utilisant la méthode :meth:`loop.call_soon` pour programmer un " "rappel. Le rappel affiche ``\"Hello World\"`` puis arrête la boucle " "d'événements ::" # suit un : #: library/asyncio-eventloop.rst:1742 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." msgstr "" "un exemple similaire de :ref:`Hello World ` créé avec une " "coroutine et la fonction :func:`run`." #: library/asyncio-eventloop.rst:1749 msgid "Display the current date with call_later()" msgstr "Affichage de la date actuelle avec ``call_later()``" #: library/asyncio-eventloop.rst:1751 msgid "" "An example of a callback displaying the current date every second. The " "callback uses the :meth:`loop.call_later` method to reschedule itself after " "5 seconds, and then stops the event loop::" msgstr "" "Un exemple de rappel affichant la date actuelle toutes les secondes. Le " "rappel utilise la méthode :meth:`loop.call_later` pour se re-planifier après " "5 secondes, puis arrête la boucle d'événements ::" # suit un : #: library/asyncio-eventloop.rst:1779 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." msgstr "" "un exemple similaire de :ref:`date actuelle ` créé " "avec une coroutine et la fonction :func:`run`." #: library/asyncio-eventloop.rst:1786 msgid "Watch a file descriptor for read events" msgstr "Surveillance des événements de lecture pour un descripteur de fichier" #: library/asyncio-eventloop.rst:1788 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" msgstr "" "Attend qu'un descripteur de fichier reçoive des données en utilisant la " "méthode :meth:`loop.add_reader` puis ferme la boucle d'événements ::" # suit un : #: library/asyncio-eventloop.rst:1826 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." msgstr "" "un :ref:`exemple ` similaire utilisant " "les transports, les protocoles et la méthode :meth:`loop.create_connection`," # suit un : #: library/asyncio-eventloop.rst:1830 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." msgstr "" "un autre :ref:`exemple ` " "utilisant la fonction et les flux de haut niveau :func:`asyncio." "open_connection`." #: library/asyncio-eventloop.rst:1838 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Gestion des signaux *SIGINT* et *SIGTERM*" #: library/asyncio-eventloop.rst:1840 msgid "(This ``signals`` example only works on Unix.)" msgstr "(Cet exemple ne fonctionne que sur Unix.)" #: library/asyncio-eventloop.rst:1842 msgid "" "Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " "the :meth:`loop.add_signal_handler` method::" msgstr "" "Enregistre des gestionnaires pour les signaux :py:data:`SIGINT` et :py:data:" "`SIGTERM` en utilisant la méthode :meth:`loop.add_signal_handler` ::" #, fuzzy #~ msgid "Added the *timeout* parameter." #~ msgstr "ajout du paramètre ``name``." #, fuzzy #~ msgid "" #~ "Return the :class:`contextvars.Context` object associated with the handle." #~ msgstr "Renvoie la boucle d'événement associée à l'objet serveur."