encore de l'asyncio (#154)

Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Reviewed-on: AFPy/python-docs-fr#154
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-committed-by: Christophe Nanteuil <christophenan@noreply.localhost>
This commit is contained in:
Christophe Nanteuil 2023-07-05 06:58:09 +00:00 committed by Julien Palard
parent 3cd06fe97f
commit c17336438c
5 changed files with 559 additions and 318 deletions

View File

@ -6,21 +6,24 @@ msgstr ""
"Project-Id-Version: Python 3\n" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n" "POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2023-06-17 19:31+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.2\n"
#: library/asyncio-api-index.rst:6 #: library/asyncio-api-index.rst:6
msgid "High-level API Index" msgid "High-level API Index"
msgstr "" msgstr "Index de l'API de haut niveau"
#: library/asyncio-api-index.rst:8 #: library/asyncio-api-index.rst:8
msgid "This page lists all high-level async/await enabled asyncio APIs." msgid "This page lists all high-level async/await enabled asyncio APIs."
msgstr "" msgstr ""
"Cette page répertorie toutes les API *async/await* de haut niveau "
"disponibles dans l'API *asyncio*."
#: library/asyncio-api-index.rst:12 #: library/asyncio-api-index.rst:12
msgid "Tasks" msgid "Tasks"
@ -31,24 +34,26 @@ msgid ""
"Utilities to run asyncio programs, create Tasks, and await on multiple " "Utilities to run asyncio programs, create Tasks, and await on multiple "
"things with timeouts." "things with timeouts."
msgstr "" msgstr ""
"Utilitaires pour exécuter des programmes asynchrones, créer des tâches et "
"attendre plusieurs choses avec des délais maximaux d'attente."
#: library/asyncio-api-index.rst:21 #: library/asyncio-api-index.rst:21
#, fuzzy
msgid ":func:`run`" msgid ":func:`run`"
msgstr ":func:`round`" msgstr ":func:`run`"
#: library/asyncio-api-index.rst:22 #: library/asyncio-api-index.rst:22
msgid "Create event loop, run a coroutine, close the loop." msgid "Create event loop, run a coroutine, close the loop."
msgstr "" msgstr "Crée une boucle d'événements, exécute une coroutine, ferme la boucle."
#: library/asyncio-api-index.rst:24 #: library/asyncio-api-index.rst:24
#, fuzzy
msgid ":class:`Runner`" msgid ":class:`Runner`"
msgstr ":class:`Queue`" msgstr ":class:`Runner`"
#: library/asyncio-api-index.rst:25 #: library/asyncio-api-index.rst:25
msgid "A context manager that simplifies multiple async function calls." msgid "A context manager that simplifies multiple async function calls."
msgstr "" msgstr ""
"Gestionnaire de contexte qui simplifie plusieurs appels de fonction "
"asynchrones."
#: library/asyncio-api-index.rst:27 #: library/asyncio-api-index.rst:27
msgid ":class:`Task`" msgid ":class:`Task`"
@ -56,18 +61,19 @@ msgstr ":class:`Task`"
#: library/asyncio-api-index.rst:28 #: library/asyncio-api-index.rst:28
msgid "Task object." msgid "Task object."
msgstr "" msgstr "Objet de tâche."
#: library/asyncio-api-index.rst:30 #: library/asyncio-api-index.rst:30
#, fuzzy
msgid ":class:`TaskGroup`" msgid ":class:`TaskGroup`"
msgstr ":class:`Task`" msgstr ":class:`TaskGroup`"
#: library/asyncio-api-index.rst:31 #: library/asyncio-api-index.rst:31
msgid "" msgid ""
"A context manager that holds a group of tasks. Provides a convenient and " "A context manager that holds a group of tasks. Provides a convenient and "
"reliable way to wait for all tasks in the group to finish." "reliable way to wait for all tasks in the group to finish."
msgstr "" msgstr ""
"Gestionnaire de contexte pour un groupe de tâches. Fournit un moyen pratique "
"et fiable d'attendre la fin de toutes les tâches du groupe."
#: library/asyncio-api-index.rst:35 #: library/asyncio-api-index.rst:35
msgid ":func:`create_task`" msgid ":func:`create_task`"
@ -75,7 +81,7 @@ msgstr ":func:`create_task`"
#: library/asyncio-api-index.rst:36 #: library/asyncio-api-index.rst:36
msgid "Start an asyncio Task, then returns it." msgid "Start an asyncio Task, then returns it."
msgstr "" msgstr "Démarre une tâche asynchrone, puis la renvoie."
#: library/asyncio-api-index.rst:38 #: library/asyncio-api-index.rst:38
msgid ":func:`current_task`" msgid ":func:`current_task`"
@ -83,7 +89,7 @@ msgstr ":func:`current_task`"
#: library/asyncio-api-index.rst:39 #: library/asyncio-api-index.rst:39
msgid "Return the current Task." msgid "Return the current Task."
msgstr "" msgstr "Renvoie la tâche actuelle."
#: library/asyncio-api-index.rst:41 #: library/asyncio-api-index.rst:41
msgid ":func:`all_tasks`" msgid ":func:`all_tasks`"
@ -92,64 +98,67 @@ msgstr ":func:`all_tasks`"
#: library/asyncio-api-index.rst:42 #: library/asyncio-api-index.rst:42
msgid "Return all tasks that are not yet finished for an event loop." msgid "Return all tasks that are not yet finished for an event loop."
msgstr "" msgstr ""
"Renvoie toutes les tâches qui ne sont pas encore terminées pour une boucle "
"d'événements."
#: library/asyncio-api-index.rst:44 #: library/asyncio-api-index.rst:44
msgid "``await`` :func:`sleep`" msgid "``await`` :func:`sleep`"
msgstr "" msgstr "``await`` :func:`sleep`"
#: library/asyncio-api-index.rst:45 #: library/asyncio-api-index.rst:45
msgid "Sleep for a number of seconds." msgid "Sleep for a number of seconds."
msgstr "" msgstr "Dort quelques secondes."
#: library/asyncio-api-index.rst:47 #: library/asyncio-api-index.rst:47
msgid "``await`` :func:`gather`" msgid "``await`` :func:`gather`"
msgstr "" msgstr "``await`` :func:`gather`"
#: library/asyncio-api-index.rst:48 #: library/asyncio-api-index.rst:48
msgid "Schedule and wait for things concurrently." msgid "Schedule and wait for things concurrently."
msgstr "" msgstr "Planifie et attend des choses concurrentes."
#: library/asyncio-api-index.rst:50 #: library/asyncio-api-index.rst:50
msgid "``await`` :func:`wait_for`" msgid "``await`` :func:`wait_for`"
msgstr "" msgstr "``await`` :func:`wait_for`"
#: library/asyncio-api-index.rst:51 #: library/asyncio-api-index.rst:51
msgid "Run with a timeout." msgid "Run with a timeout."
msgstr "" msgstr "Exécute avec un délai d'attente."
#: library/asyncio-api-index.rst:53 #: library/asyncio-api-index.rst:53
msgid "``await`` :func:`shield`" msgid "``await`` :func:`shield`"
msgstr "" msgstr "``await`` :func:`shield`"
#: library/asyncio-api-index.rst:54 #: library/asyncio-api-index.rst:54
msgid "Shield from cancellation." msgid "Shield from cancellation."
msgstr "" msgstr "Empêche l'annulation."
#: library/asyncio-api-index.rst:56 #: library/asyncio-api-index.rst:56
msgid "``await`` :func:`wait`" msgid "``await`` :func:`wait`"
msgstr "" msgstr "``await`` :func:`wait`"
#: library/asyncio-api-index.rst:57 #: library/asyncio-api-index.rst:57
msgid "Monitor for completion." msgid "Monitor for completion."
msgstr "" msgstr "Surveille l'achèvement."
#: library/asyncio-api-index.rst:59 #: library/asyncio-api-index.rst:59
#, fuzzy
msgid ":func:`timeout`" msgid ":func:`timeout`"
msgstr ":func:`round`" msgstr ":func:`timeout`"
#: library/asyncio-api-index.rst:60 #: library/asyncio-api-index.rst:60
msgid "Run with a timeout. Useful in cases when ``wait_for`` is not suitable." msgid "Run with a timeout. Useful in cases when ``wait_for`` is not suitable."
msgstr "" msgstr ""
"Exécute avec un délai d'attente. Utile dans les cas où ``wait_for`` ne "
"convient pas."
#: library/asyncio-api-index.rst:62 #: library/asyncio-api-index.rst:62
#, fuzzy
msgid ":func:`to_thread`" msgid ":func:`to_thread`"
msgstr ":func:`round`" msgstr ":func:`to_thread`"
#: library/asyncio-api-index.rst:63 #: library/asyncio-api-index.rst:63
msgid "Asynchronously run a function in a separate OS thread." msgid "Asynchronously run a function in a separate OS thread."
msgstr "" msgstr ""
"Exécute de manière asynchrone une fonction dans un fil d'exécution séparé."
#: library/asyncio-api-index.rst:65 #: library/asyncio-api-index.rst:65
msgid ":func:`run_coroutine_threadsafe`" msgid ":func:`run_coroutine_threadsafe`"
@ -157,15 +166,15 @@ msgstr ":func:`run_coroutine_threadsafe`"
#: library/asyncio-api-index.rst:66 #: library/asyncio-api-index.rst:66
msgid "Schedule a coroutine from another OS thread." msgid "Schedule a coroutine from another OS thread."
msgstr "" msgstr "Planifie une coroutine à partir d'un autre fil d'exécution."
#: library/asyncio-api-index.rst:68 #: library/asyncio-api-index.rst:68
msgid "``for in`` :func:`as_completed`" msgid "``for in`` :func:`as_completed`"
msgstr "" msgstr "``for in`` :func:`as_completed`"
#: library/asyncio-api-index.rst:69 #: library/asyncio-api-index.rst:69
msgid "Monitor for completion with a ``for`` loop." msgid "Monitor for completion with a ``for`` loop."
msgstr "" msgstr "Surveille l'achèvement avec une boucle ``for``."
#: library/asyncio-api-index.rst:73 library/asyncio-api-index.rst:109 #: library/asyncio-api-index.rst:73 library/asyncio-api-index.rst:109
#: library/asyncio-api-index.rst:133 library/asyncio-api-index.rst:169 #: library/asyncio-api-index.rst:133 library/asyncio-api-index.rst:169
@ -178,34 +187,41 @@ msgid ""
":ref:`Using asyncio.gather() to run things in parallel " ":ref:`Using asyncio.gather() to run things in parallel "
"<asyncio_example_gather>`." "<asyncio_example_gather>`."
msgstr "" msgstr ""
":ref:`Utilisation d'asyncio.gather() pour exécuter des choses en parallèle "
"<asyncio_example_gather>`."
#: library/asyncio-api-index.rst:77 #: library/asyncio-api-index.rst:77
msgid "" msgid ""
":ref:`Using asyncio.wait_for() to enforce a timeout " ":ref:`Using asyncio.wait_for() to enforce a timeout "
"<asyncio_example_waitfor>`." "<asyncio_example_waitfor>`."
msgstr "" msgstr ""
":ref:`Utilisation d'asyncio.wait_for() pour appliquer un délai d'attente "
"<asyncio_example_waitfor>`."
#: library/asyncio-api-index.rst:80 #: library/asyncio-api-index.rst:80
msgid ":ref:`Cancellation <asyncio_example_task_cancel>`." msgid ":ref:`Cancellation <asyncio_example_task_cancel>`."
msgstr "" msgstr ":ref:`Annulation <asyncio_example_task_cancel>`."
#: library/asyncio-api-index.rst:82 #: library/asyncio-api-index.rst:82
msgid ":ref:`Using asyncio.sleep() <asyncio_example_sleep>`." msgid ":ref:`Using asyncio.sleep() <asyncio_example_sleep>`."
msgstr "" msgstr ":ref:`Utilisation d'asyncio.sleep() <asyncio_example_sleep>`."
#: library/asyncio-api-index.rst:84 #: library/asyncio-api-index.rst:84
msgid "See also the main :ref:`Tasks documentation page <coroutine>`." msgid "See also the main :ref:`Tasks documentation page <coroutine>`."
msgstr "" msgstr "Voir aussi la page de :ref:`documentation de Tasks <coroutine>`."
#: library/asyncio-api-index.rst:88 #: library/asyncio-api-index.rst:88
msgid "Queues" msgid "Queues"
msgstr "" msgstr "Files d'attente"
#: library/asyncio-api-index.rst:90 #: library/asyncio-api-index.rst:90
msgid "" msgid ""
"Queues should be used to distribute work amongst multiple asyncio Tasks, " "Queues should be used to distribute work amongst multiple asyncio Tasks, "
"implement connection pools, and pub/sub patterns." "implement connection pools, and pub/sub patterns."
msgstr "" msgstr ""
"Les files d'attente doivent être utilisées pour répartir le travail entre "
"plusieurs tâches asynchrones, implémenter des pools de connexions et des "
"modèles *pub*/*sub*."
#: library/asyncio-api-index.rst:98 #: library/asyncio-api-index.rst:98
msgid ":class:`Queue`" msgid ":class:`Queue`"
@ -213,7 +229,7 @@ msgstr ":class:`Queue`"
#: library/asyncio-api-index.rst:99 #: library/asyncio-api-index.rst:99
msgid "A FIFO queue." msgid "A FIFO queue."
msgstr "" msgstr "File d'attente FIFO (premier entré, premier sorti)."
#: library/asyncio-api-index.rst:101 #: library/asyncio-api-index.rst:101
msgid ":class:`PriorityQueue`" msgid ":class:`PriorityQueue`"
@ -221,7 +237,7 @@ msgstr ":class:`PriorityQueue`"
#: library/asyncio-api-index.rst:102 #: library/asyncio-api-index.rst:102
msgid "A priority queue." msgid "A priority queue."
msgstr "" msgstr "File d'attente avec gestion des priorités."
#: library/asyncio-api-index.rst:104 #: library/asyncio-api-index.rst:104
msgid ":class:`LifoQueue`" msgid ":class:`LifoQueue`"
@ -229,17 +245,20 @@ msgstr ":class:`LifoQueue`"
#: library/asyncio-api-index.rst:105 #: library/asyncio-api-index.rst:105
msgid "A LIFO queue." msgid "A LIFO queue."
msgstr "" msgstr "Pile LIFO (dernier entré, premier sorti)."
#: library/asyncio-api-index.rst:110 #: library/asyncio-api-index.rst:110
msgid "" msgid ""
":ref:`Using asyncio.Queue to distribute workload between several Tasks " ":ref:`Using asyncio.Queue to distribute workload between several Tasks "
"<asyncio_example_queue_dist>`." "<asyncio_example_queue_dist>`."
msgstr "" msgstr ""
":ref:`Utilisation d'asyncio.Queue pour répartir la charge de travail entre "
"plusieurs tâches <asyncio_example_queue_dist>`."
#: library/asyncio-api-index.rst:113 #: library/asyncio-api-index.rst:113
msgid "See also the :ref:`Queues documentation page <asyncio-queues>`." msgid "See also the :ref:`Queues documentation page <asyncio-queues>`."
msgstr "" msgstr ""
"Voir aussi la page de :ref:`documentation des Queues <asyncio-queues>`."
#: library/asyncio-api-index.rst:117 #: library/asyncio-api-index.rst:117
msgid "Subprocesses" msgid "Subprocesses"
@ -248,70 +267,73 @@ msgstr "Sous-processus"
#: library/asyncio-api-index.rst:119 #: library/asyncio-api-index.rst:119
msgid "Utilities to spawn subprocesses and run shell commands." msgid "Utilities to spawn subprocesses and run shell commands."
msgstr "" msgstr ""
"Utilitaires pour générer des sous-processus et exécuter des commandes shell."
#: library/asyncio-api-index.rst:125 #: library/asyncio-api-index.rst:125
msgid "``await`` :func:`create_subprocess_exec`" msgid "``await`` :func:`create_subprocess_exec`"
msgstr "" msgstr "``await`` :func:`create_subprocess_exec`"
#: library/asyncio-api-index.rst:126 #: library/asyncio-api-index.rst:126
msgid "Create a subprocess." msgid "Create a subprocess."
msgstr "" msgstr "Crée un sous-processus."
#: library/asyncio-api-index.rst:128 #: library/asyncio-api-index.rst:128
msgid "``await`` :func:`create_subprocess_shell`" msgid "``await`` :func:`create_subprocess_shell`"
msgstr "" msgstr "``await`` :func:`create_subprocess_shell`"
#: library/asyncio-api-index.rst:129 #: library/asyncio-api-index.rst:129
msgid "Run a shell command." msgid "Run a shell command."
msgstr "" msgstr "Exécute une commande shell."
#: library/asyncio-api-index.rst:134 #: library/asyncio-api-index.rst:134
msgid ":ref:`Executing a shell command <asyncio_example_subprocess_shell>`." msgid ":ref:`Executing a shell command <asyncio_example_subprocess_shell>`."
msgstr "" msgstr ""
":ref:`Exécution d'une commande shell <asyncio_example_subprocess_shell>`."
#: library/asyncio-api-index.rst:136 #: library/asyncio-api-index.rst:136
msgid "See also the :ref:`subprocess APIs <asyncio-subprocess>` documentation." msgid "See also the :ref:`subprocess APIs <asyncio-subprocess>` documentation."
msgstr "" msgstr ""
"Voir aussi la documentation des :ref:`API subprocess <asyncio-subprocess>`."
#: library/asyncio-api-index.rst:141 #: library/asyncio-api-index.rst:141
msgid "Streams" msgid "Streams"
msgstr "Streams" msgstr "Flux (*streams*)"
#: library/asyncio-api-index.rst:143 #: library/asyncio-api-index.rst:143
msgid "High-level APIs to work with network IO." msgid "High-level APIs to work with network IO."
msgstr "" msgstr "API de haut niveau pour travailler avec les entrées-sorties réseau."
#: library/asyncio-api-index.rst:149 #: library/asyncio-api-index.rst:149
msgid "``await`` :func:`open_connection`" msgid "``await`` :func:`open_connection`"
msgstr "" msgstr "``await`` :func:`open_connection`"
#: library/asyncio-api-index.rst:150 #: library/asyncio-api-index.rst:150
msgid "Establish a TCP connection." msgid "Establish a TCP connection."
msgstr "" msgstr "Établit une connexion TCP."
#: library/asyncio-api-index.rst:152 #: library/asyncio-api-index.rst:152
msgid "``await`` :func:`open_unix_connection`" msgid "``await`` :func:`open_unix_connection`"
msgstr "" msgstr "``await`` :func:`open_unix_connection`"
#: library/asyncio-api-index.rst:153 #: library/asyncio-api-index.rst:153
msgid "Establish a Unix socket connection." msgid "Establish a Unix socket connection."
msgstr "" msgstr "Établit une connexion sur un connecteur Unix."
#: library/asyncio-api-index.rst:155 #: library/asyncio-api-index.rst:155
msgid "``await`` :func:`start_server`" msgid "``await`` :func:`start_server`"
msgstr "" msgstr "``await`` :func:`start_server`"
#: library/asyncio-api-index.rst:156 #: library/asyncio-api-index.rst:156
msgid "Start a TCP server." msgid "Start a TCP server."
msgstr "" msgstr "Démarre un serveur TCP."
#: library/asyncio-api-index.rst:158 #: library/asyncio-api-index.rst:158
msgid "``await`` :func:`start_unix_server`" msgid "``await`` :func:`start_unix_server`"
msgstr "" msgstr "``await`` :func:`start_unix_server`"
#: library/asyncio-api-index.rst:159 #: library/asyncio-api-index.rst:159
msgid "Start a Unix socket server." msgid "Start a Unix socket server."
msgstr "" msgstr "Démarre un serveur de socket Unix."
#: library/asyncio-api-index.rst:161 #: library/asyncio-api-index.rst:161
msgid ":class:`StreamReader`" msgid ":class:`StreamReader`"
@ -319,7 +341,7 @@ msgstr ":class:`StreamReader`"
#: library/asyncio-api-index.rst:162 #: library/asyncio-api-index.rst:162
msgid "High-level async/await object to receive network data." msgid "High-level async/await object to receive network data."
msgstr "" msgstr "Objet *async/await* de haut niveau pour recevoir des données réseau."
#: library/asyncio-api-index.rst:164 #: library/asyncio-api-index.rst:164
msgid ":class:`StreamWriter`" msgid ":class:`StreamWriter`"
@ -327,23 +349,25 @@ msgstr ":class:`StreamWriter`"
#: library/asyncio-api-index.rst:165 #: library/asyncio-api-index.rst:165
msgid "High-level async/await object to send network data." msgid "High-level async/await object to send network data."
msgstr "" msgstr "Objet *async/await* de haut niveau pour envoyer des données réseau."
#: library/asyncio-api-index.rst:170 #: library/asyncio-api-index.rst:170
msgid ":ref:`Example TCP client <asyncio_example_stream>`." msgid ":ref:`Example TCP client <asyncio_example_stream>`."
msgstr "" msgstr ":ref:`Exemple de client TCP <asyncio_example_stream>`."
#: library/asyncio-api-index.rst:172 #: library/asyncio-api-index.rst:172
msgid "See also the :ref:`streams APIs <asyncio-streams>` documentation." msgid "See also the :ref:`streams APIs <asyncio-streams>` documentation."
msgstr "" msgstr "Voir aussi la documentation des :ref:`API streams <asyncio-streams>`."
#: library/asyncio-api-index.rst:177 #: library/asyncio-api-index.rst:177
msgid "Synchronization" msgid "Synchronization"
msgstr "" msgstr "Synchronisation"
#: library/asyncio-api-index.rst:179 #: library/asyncio-api-index.rst:179
msgid "Threading-like synchronization primitives that can be used in Tasks." msgid "Threading-like synchronization primitives that can be used in Tasks."
msgstr "" msgstr ""
"Primitives de synchronisation de type thread qui peuvent être utilisées dans "
"les tâches."
#: library/asyncio-api-index.rst:185 #: library/asyncio-api-index.rst:185
msgid ":class:`Lock`" msgid ":class:`Lock`"
@ -351,7 +375,7 @@ msgstr ":class:`Lock`"
#: library/asyncio-api-index.rst:186 #: library/asyncio-api-index.rst:186
msgid "A mutex lock." msgid "A mutex lock."
msgstr "" msgstr "Verrou mutex."
#: library/asyncio-api-index.rst:188 #: library/asyncio-api-index.rst:188
msgid ":class:`Event`" msgid ":class:`Event`"
@ -359,7 +383,7 @@ msgstr ":class:`Event`"
#: library/asyncio-api-index.rst:189 #: library/asyncio-api-index.rst:189
msgid "An event object." msgid "An event object."
msgstr "" msgstr "Objet événement."
#: library/asyncio-api-index.rst:191 #: library/asyncio-api-index.rst:191
msgid ":class:`Condition`" msgid ":class:`Condition`"
@ -367,7 +391,7 @@ msgstr ":class:`Condition`"
#: library/asyncio-api-index.rst:192 #: library/asyncio-api-index.rst:192
msgid "A condition object." msgid "A condition object."
msgstr "" msgstr "Objet condition."
#: library/asyncio-api-index.rst:194 #: library/asyncio-api-index.rst:194
msgid ":class:`Semaphore`" msgid ":class:`Semaphore`"
@ -375,7 +399,7 @@ msgstr ":class:`Semaphore`"
#: library/asyncio-api-index.rst:195 #: library/asyncio-api-index.rst:195
msgid "A semaphore." msgid "A semaphore."
msgstr "" msgstr "Sémaphore."
#: library/asyncio-api-index.rst:197 #: library/asyncio-api-index.rst:197
msgid ":class:`BoundedSemaphore`" msgid ":class:`BoundedSemaphore`"
@ -383,30 +407,31 @@ msgstr ":class:`BoundedSemaphore`"
#: library/asyncio-api-index.rst:198 #: library/asyncio-api-index.rst:198
msgid "A bounded semaphore." msgid "A bounded semaphore."
msgstr "" msgstr "Sémaphore avec des bornes."
#: library/asyncio-api-index.rst:200 #: library/asyncio-api-index.rst:200
#, fuzzy
msgid ":class:`Barrier`" msgid ":class:`Barrier`"
msgstr ":class:`Semaphore`" msgstr ":class:`Barrier`"
#: library/asyncio-api-index.rst:201 #: library/asyncio-api-index.rst:201
msgid "A barrier object." msgid "A barrier object."
msgstr "" msgstr "Objet barrière."
#: library/asyncio-api-index.rst:206 #: library/asyncio-api-index.rst:206
msgid ":ref:`Using asyncio.Event <asyncio_example_sync_event>`." msgid ":ref:`Using asyncio.Event <asyncio_example_sync_event>`."
msgstr "" msgstr ":ref:`Utilisation d'asyncio.Event <asyncio_example_sync_event>`."
#: library/asyncio-api-index.rst:208 #: library/asyncio-api-index.rst:208
msgid ":ref:`Using asyncio.Barrier <asyncio_example_barrier>`." msgid ":ref:`Using asyncio.Barrier <asyncio_example_barrier>`."
msgstr "" msgstr ":ref:`Utilisation d'asyncio.Barrier <asyncio_example_barrier>`."
#: library/asyncio-api-index.rst:210 #: library/asyncio-api-index.rst:210
msgid "" msgid ""
"See also the documentation of asyncio :ref:`synchronization primitives " "See also the documentation of asyncio :ref:`synchronization primitives "
"<asyncio-sync>`." "<asyncio-sync>`."
msgstr "" msgstr ""
"Voir aussi la documentation des :ref:`primitives asyncio de synchronisation "
"<asyncio-sync>`."
#: library/asyncio-api-index.rst:215 #: library/asyncio-api-index.rst:215
msgid "Exceptions" msgid "Exceptions"
@ -418,24 +443,28 @@ msgstr ":exc:`asyncio.CancelledError`"
#: library/asyncio-api-index.rst:223 #: library/asyncio-api-index.rst:223
msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`." msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`."
msgstr "" msgstr "Levée lorsqu'une tâche est annulée. Voir aussi :meth:`Task.cancel`."
#: library/asyncio-api-index.rst:225 #: library/asyncio-api-index.rst:225
msgid ":exc:`asyncio.BrokenBarrierError`" msgid ":exc:`asyncio.BrokenBarrierError`"
msgstr "" msgstr ":exc:`asyncio.BrokenBarrierError`"
#: library/asyncio-api-index.rst:226 #: library/asyncio-api-index.rst:226
msgid "Raised when a Barrier is broken. See also :meth:`Barrier.wait`." msgid "Raised when a Barrier is broken. See also :meth:`Barrier.wait`."
msgstr "" msgstr "Levée lorsqu'une barrière est brisée. Voir aussi :meth:`Barrier.wait`."
#: library/asyncio-api-index.rst:231 #: library/asyncio-api-index.rst:231
msgid "" msgid ""
":ref:`Handling CancelledError to run code on cancellation request " ":ref:`Handling CancelledError to run code on cancellation request "
"<asyncio_example_task_cancel>`." "<asyncio_example_task_cancel>`."
msgstr "" msgstr ""
":ref:`Utilisation de CancelledError pour exécuter le code sur la demande "
"d'annulation <asyncio_example_task_cancel>`."
#: library/asyncio-api-index.rst:234 #: library/asyncio-api-index.rst:234
msgid "" msgid ""
"See also the full list of :ref:`asyncio-specific exceptions <asyncio-" "See also the full list of :ref:`asyncio-specific exceptions <asyncio-"
"exceptions>`." "exceptions>`."
msgstr "" msgstr ""
"Voir aussi la liste complète des :ref:`exceptions spécifiques asyncio "
"<asyncio-exceptions>`."

View File

@ -6,51 +6,66 @@ msgstr ""
"Project-Id-Version: Python 3\n" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n" "POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2022-05-23 00:51+0200\n" "PO-Revision-Date: 2023-06-17 19:00+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.2\n"
#: library/asyncio-extending.rst:6 #: library/asyncio-extending.rst:6
msgid "Extending" msgid "Extending"
msgstr "" msgstr "Extension"
#: library/asyncio-extending.rst:8 #: library/asyncio-extending.rst:8
msgid "" msgid ""
"The main direction for :mod:`asyncio` extending is writing custom *event " "The main direction for :mod:`asyncio` extending is writing custom *event "
"loop* classes. Asyncio has helpers that could be used to simplify this task." "loop* classes. Asyncio has helpers that could be used to simplify this task."
msgstr "" msgstr ""
"La direction principale pour l'extension d':mod:`asyncio` est l'écriture de "
"classes *event loop* personnalisées. *Asyncio* a des assistants qui peuvent "
"être utilisés pour simplifier cette tâche."
# suit un :
#: library/asyncio-extending.rst:13 #: library/asyncio-extending.rst:13
msgid "" msgid ""
"Third-parties should reuse existing asyncio code with caution, a new Python " "Third-parties should reuse existing asyncio code with caution, a new Python "
"version is free to break backward compatibility in *internal* part of API." "version is free to break backward compatibility in *internal* part of API."
msgstr "" msgstr ""
"la réutilisation du code asynchrone existant doit se faire avec prudence, "
"une nouvelle version de Python est libre de rompre la compatibilité "
"descendante dans la partie *interne* de l'API."
#: library/asyncio-extending.rst:19 #: library/asyncio-extending.rst:19
msgid "Writing a Custom Event Loop" msgid "Writing a Custom Event Loop"
msgstr "" msgstr "Écriture d'une boucle d'événements personnalisée"
#: library/asyncio-extending.rst:21 #: library/asyncio-extending.rst:21
msgid "" msgid ""
":class:`asyncio.AbstractEventLoop` declares very many methods. Implementing " ":class:`asyncio.AbstractEventLoop` declares very many methods. Implementing "
"all them from scratch is a tedious job." "all them from scratch is a tedious job."
msgstr "" msgstr ""
":class:`asyncio.AbstractEventLoop` déclare de très nombreuses méthodes. Les "
"mettre en œuvre à partir de zéro est un travail fastidieux."
#: library/asyncio-extending.rst:24 #: library/asyncio-extending.rst:24
msgid "" msgid ""
"A loop can get many common methods implementation for free by inheriting " "A loop can get many common methods implementation for free by inheriting "
"from :class:`asyncio.BaseEventLoop`." "from :class:`asyncio.BaseEventLoop`."
msgstr "" msgstr ""
"Une boucle d'événements peut obtenir gratuitement l'implémentation de "
"nombreuses méthodes courantes en héritant de :class:`asyncio.BaseEventLoop`."
#: library/asyncio-extending.rst:27 #: library/asyncio-extending.rst:27
msgid "" msgid ""
"In turn, the successor should implement a bunch of *private* methods " "In turn, the successor should implement a bunch of *private* methods "
"declared but not implemented in :class:`asyncio.BaseEventLoop`." "declared but not implemented in :class:`asyncio.BaseEventLoop`."
msgstr "" msgstr ""
"Le successeur doit, pour ce qui le concerne, implémenter un ensemble de "
"méthodes *privées* déclarées mais non implémentées dans :class:`asyncio."
"BaseEventLoop`."
#: library/asyncio-extending.rst:30 #: library/asyncio-extending.rst:30
msgid "" msgid ""
@ -59,10 +74,14 @@ msgid ""
"implemented by inherited class. The ``_make_socket_transport()`` method is " "implemented by inherited class. The ``_make_socket_transport()`` method is "
"not documented and is considered as an *internal* API." "not documented and is considered as an *internal* API."
msgstr "" msgstr ""
"Par exemple, ``loop.create_connection()`` vérifie les arguments, résout les "
"adresses DNS et appelle ``loop._make_socket_transport()`` qui doit être "
"implémentée par la classe héritée. La méthode ``_make_socket_transport()`` "
"n'est pas documentée et est considérée comme une API *interne*."
#: library/asyncio-extending.rst:38 #: library/asyncio-extending.rst:38
msgid "Future and Task private constructors" msgid "Future and Task private constructors"
msgstr "" msgstr "Constructeurs privés *Future* et *Task*"
#: library/asyncio-extending.rst:40 #: library/asyncio-extending.rst:40
msgid "" msgid ""
@ -70,6 +89,10 @@ msgid ""
"directly, please use corresponding :meth:`loop.create_future` and :meth:" "directly, please use corresponding :meth:`loop.create_future` and :meth:"
"`loop.create_task`, or :func:`asyncio.create_task` factories instead." "`loop.create_task`, or :func:`asyncio.create_task` factories instead."
msgstr "" msgstr ""
":class:`asyncio.Future` et :class:`asyncio.Task` ne doivent jamais être "
"créées directement, veuillez utiliser les correspondances :meth:`loop."
"create_future` et :meth:`loop.create_task`, ou les fabriques :func:`asyncio."
"create_task` à la place."
#: library/asyncio-extending.rst:44 #: library/asyncio-extending.rst:44
msgid "" msgid ""
@ -77,36 +100,42 @@ msgid ""
"implementations for the sake of getting a complex and highly optimized code " "implementations for the sake of getting a complex and highly optimized code "
"for free." "for free."
msgstr "" msgstr ""
"Cependant, les *boucles d'événements* tierces peuvent *réutiliser* les "
"implémentations de *Future* et de *Task* intégrées dans le but d'obtenir "
"gratuitement un code complexe et hautement optimisé."
#: library/asyncio-extending.rst:47 #: library/asyncio-extending.rst:47
msgid "For this purpose the following, *private* constructors are listed:" msgid "For this purpose the following, *private* constructors are listed:"
msgstr "" msgstr "À cette fin, les constructeurs *privés* suivants sont répertoriés :"
#: library/asyncio-extending.rst:51 #: library/asyncio-extending.rst:51
msgid "Create a built-in future instance." msgid "Create a built-in future instance."
msgstr "" msgstr "Crée une instance de la *future* native."
#: library/asyncio-extending.rst:53 #: library/asyncio-extending.rst:53
msgid "*loop* is an optional event loop instance." msgid "*loop* is an optional event loop instance."
msgstr "" msgstr "*loop* est une instance de boucle d'événements facultative."
#: library/asyncio-extending.rst:57 #: library/asyncio-extending.rst:57
msgid "Create a built-in task instance." msgid "Create a built-in task instance."
msgstr "" msgstr "Crée une instance de la *Task* native."
#: library/asyncio-extending.rst:59 #: library/asyncio-extending.rst:59
msgid "" msgid ""
"*loop* is an optional event loop instance. The rest of arguments are " "*loop* is an optional event loop instance. The rest of arguments are "
"described in :meth:`loop.create_task` description." "described in :meth:`loop.create_task` description."
msgstr "" msgstr ""
"*loop* est une instance de boucle d'événements facultative. Le reste des "
"arguments est décrit dans la description de :meth:`loop.create_task`."
# suit un :
#: library/asyncio-extending.rst:64 #: library/asyncio-extending.rst:64
msgid "*context* argument is added." msgid "*context* argument is added."
msgstr "" msgstr "l'argument *contexte* a été ajouté."
#: library/asyncio-extending.rst:69 #: library/asyncio-extending.rst:69
msgid "Task lifetime support" msgid "Task lifetime support"
msgstr "" msgstr "Prise en charge de la durée de vie des tâches"
#: library/asyncio-extending.rst:71 #: library/asyncio-extending.rst:71
msgid "" msgid ""
@ -114,39 +143,48 @@ msgid ""
"keep a task visible by :func:`asyncio.get_tasks` and :func:`asyncio." "keep a task visible by :func:`asyncio.get_tasks` and :func:`asyncio."
"current_task`:" "current_task`:"
msgstr "" msgstr ""
"Une implémentation tierce de tâche doit appeler les fonctions suivantes pour "
"garder une tâche visible par :func:`asyncio.get_tasks` et :func:`asyncio."
"current_task` :"
#: library/asyncio-extending.rst:76 #: library/asyncio-extending.rst:76
msgid "Register a new *task* as managed by *asyncio*." msgid "Register a new *task* as managed by *asyncio*."
msgstr "" msgstr "Enregistre une nouvelle *tâche* comme gérée par *asyncio*."
#: library/asyncio-extending.rst:78 #: library/asyncio-extending.rst:78
msgid "Call the function from a task constructor." msgid "Call the function from a task constructor."
msgstr "" msgstr "Appelez la fonction à partir d'un constructeur de tâche."
#: library/asyncio-extending.rst:82 #: library/asyncio-extending.rst:82
msgid "Unregister a *task* from *asyncio* internal structures." msgid "Unregister a *task* from *asyncio* internal structures."
msgstr "" msgstr "Désinscrit une *tâche* des structures internes *asyncio*."
#: library/asyncio-extending.rst:84 #: library/asyncio-extending.rst:84
msgid "The function should be called when a task is about to finish." msgid "The function should be called when a task is about to finish."
msgstr "" msgstr ""
"La fonction doit être appelée lorsqu'une tâche est sur le point de se "
"terminer."
#: library/asyncio-extending.rst:88 #: library/asyncio-extending.rst:88
msgid "Switch the current task to the *task* argument." msgid "Switch the current task to the *task* argument."
msgstr "" msgstr "Bascule la tâche en cours vers l'argument *task*."
#: library/asyncio-extending.rst:90 #: library/asyncio-extending.rst:90
msgid "" msgid ""
"Call the function just before executing a portion of embedded *coroutine* (:" "Call the function just before executing a portion of embedded *coroutine* (:"
"meth:`coroutine.send` or :meth:`coroutine.throw`)." "meth:`coroutine.send` or :meth:`coroutine.throw`)."
msgstr "" msgstr ""
"Appelez la fonction juste avant d'exécuter une partie de la *coroutine* "
"intégrée (:meth:`coroutine.send` ou :meth:`coroutine.throw`)."
#: library/asyncio-extending.rst:95 #: library/asyncio-extending.rst:95
msgid "Switch the current task back from *task* to ``None``." msgid "Switch the current task back from *task* to ``None``."
msgstr "" msgstr "Rebascule la tâche en cours de *task* à ``None``."
#: library/asyncio-extending.rst:97 #: library/asyncio-extending.rst:97
msgid "" msgid ""
"Call the function just after :meth:`coroutine.send` or :meth:`coroutine." "Call the function just after :meth:`coroutine.send` or :meth:`coroutine."
"throw` execution." "throw` execution."
msgstr "" msgstr ""
"Appelez la fonction juste après l'exécution de :meth:`coroutine.send` ou :"
"meth:`coroutine.throw`."

File diff suppressed because it is too large Load Diff

View File

@ -6,17 +6,18 @@ msgstr ""
"Project-Id-Version: Python 3\n" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n" "POT-Creation-Date: 2022-03-23 18:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2023-06-17 17:57+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.2.2\n"
#: library/asyncio-platforms.rst:9 #: library/asyncio-platforms.rst:9
msgid "Platform Support" msgid "Platform Support"
msgstr "" msgstr "Prise en charge de la plate-forme"
#: library/asyncio-platforms.rst:11 #: library/asyncio-platforms.rst:11
msgid "" msgid ""
@ -24,16 +25,21 @@ msgid ""
"have subtle differences and limitations due to the platforms' underlying " "have subtle differences and limitations due to the platforms' underlying "
"architecture and capabilities." "architecture and capabilities."
msgstr "" msgstr ""
"Le module :mod:`asyncio` est conçu pour être portable, mais certaines plates-"
"formes présentent des différences et des limitations subtiles en raison de "
"l'architecture et des capacités sous-jacentes des plates-formes."
#: library/asyncio-platforms.rst:17 #: library/asyncio-platforms.rst:17
msgid "All Platforms" msgid "All Platforms"
msgstr "" msgstr "Toutes plateformes"
#: library/asyncio-platforms.rst:19 #: library/asyncio-platforms.rst:19
msgid "" msgid ""
":meth:`loop.add_reader` and :meth:`loop.add_writer` cannot be used to " ":meth:`loop.add_reader` and :meth:`loop.add_writer` cannot be used to "
"monitor file I/O." "monitor file I/O."
msgstr "" msgstr ""
":meth:`loop.add_reader` et :meth:`loop.add_writer` ne peuvent pas être "
"utilisées pour surveiller les entrées-sorties de fichiers."
#: library/asyncio-platforms.rst:24 #: library/asyncio-platforms.rst:24
msgid "Windows" msgid "Windows"
@ -44,48 +50,69 @@ msgid ""
"**Source code:** :source:`Lib/asyncio/proactor_events.py`, :source:`Lib/" "**Source code:** :source:`Lib/asyncio/proactor_events.py`, :source:`Lib/"
"asyncio/windows_events.py`, :source:`Lib/asyncio/windows_utils.py`" "asyncio/windows_events.py`, :source:`Lib/asyncio/windows_utils.py`"
msgstr "" msgstr ""
"**Code source :** :source:`Lib/asyncio/proactor_events.py`, :source:`Lib/"
"asyncio/windows_events.py`, :source:`Lib/asyncio/windows_utils.py`"
# suit un :
#: library/asyncio-platforms.rst:34 #: library/asyncio-platforms.rst:34
msgid "On Windows, :class:`ProactorEventLoop` is now the default event loop." msgid "On Windows, :class:`ProactorEventLoop` is now the default event loop."
msgstr "" msgstr ""
"sous Windows, :class:`ProactorEventLoop` est désormais la boucle "
"d'événements par défaut."
#: library/asyncio-platforms.rst:36 #: library/asyncio-platforms.rst:36
msgid "All event loops on Windows do not support the following methods:" msgid "All event loops on Windows do not support the following methods:"
msgstr "" msgstr ""
"Aucune boucle d'événements sous Windows ne prend en charge les méthodes "
"suivantes :"
#: library/asyncio-platforms.rst:38 #: library/asyncio-platforms.rst:38
msgid "" msgid ""
":meth:`loop.create_unix_connection` and :meth:`loop.create_unix_server` are " ":meth:`loop.create_unix_connection` and :meth:`loop.create_unix_server` are "
"not supported. The :data:`socket.AF_UNIX` socket family is specific to Unix." "not supported. The :data:`socket.AF_UNIX` socket family is specific to Unix."
msgstr "" msgstr ""
":meth:`loop.create_unix_connection` et :meth:`loop.create_unix_server` ne "
"sont pas prises en charge. La famille de connecteurs :data:`socket.AF_UNIX` "
"est spécifique à Unix."
#: library/asyncio-platforms.rst:42 #: library/asyncio-platforms.rst:42
msgid "" msgid ""
":meth:`loop.add_signal_handler` and :meth:`loop.remove_signal_handler` are " ":meth:`loop.add_signal_handler` and :meth:`loop.remove_signal_handler` are "
"not supported." "not supported."
msgstr "" msgstr ""
":meth:`loop.add_signal_handler` et :meth:`loop.remove_signal_handler` ne "
"sont pas prises en charge."
#: library/asyncio-platforms.rst:45 #: library/asyncio-platforms.rst:45
msgid ":class:`SelectorEventLoop` has the following limitations:" msgid ":class:`SelectorEventLoop` has the following limitations:"
msgstr "" msgstr ":class:`SelectorEventLoop` a les limitations suivantes :"
#: library/asyncio-platforms.rst:47 #: library/asyncio-platforms.rst:47
msgid "" msgid ""
":class:`~selectors.SelectSelector` is used to wait on socket events: it " ":class:`~selectors.SelectSelector` is used to wait on socket events: it "
"supports sockets and is limited to 512 sockets." "supports sockets and is limited to 512 sockets."
msgstr "" msgstr ""
":class:`~selectors.SelectSelector` est utilisée pour attendre les événements "
"de connecteur (*sockets*) : elle prend en charge les connecteurs et est "
"limitée à 512 connecteurs."
#: library/asyncio-platforms.rst:50 #: library/asyncio-platforms.rst:50
msgid "" msgid ""
":meth:`loop.add_reader` and :meth:`loop.add_writer` only accept socket " ":meth:`loop.add_reader` and :meth:`loop.add_writer` only accept socket "
"handles (e.g. pipe file descriptors are not supported)." "handles (e.g. pipe file descriptors are not supported)."
msgstr "" msgstr ""
":meth:`loop.add_reader` et :meth:`loop.add_writer` n'acceptent que les "
"descripteurs de connecteur (par exemple, les descripteurs de tube fichier ne "
"sont pas pris en charge)."
#: library/asyncio-platforms.rst:53 #: library/asyncio-platforms.rst:53
msgid "" msgid ""
"Pipes are not supported, so the :meth:`loop.connect_read_pipe` and :meth:" "Pipes are not supported, so the :meth:`loop.connect_read_pipe` and :meth:"
"`loop.connect_write_pipe` methods are not implemented." "`loop.connect_write_pipe` methods are not implemented."
msgstr "" msgstr ""
"Les tubes ne sont pas pris en charge, donc les méthodes :meth:`loop."
"connect_read_pipe` et :meth:`loop.connect_write_pipe` ne sont pas "
"implémentées."
#: library/asyncio-platforms.rst:56 #: library/asyncio-platforms.rst:56
msgid "" msgid ""
@ -93,16 +120,21 @@ msgid ""
"subprocess_exec` and :meth:`loop.subprocess_shell` methods are not " "subprocess_exec` and :meth:`loop.subprocess_shell` methods are not "
"implemented." "implemented."
msgstr "" msgstr ""
"Les :ref:`sous-processus <asyncio-subprocess>` ne sont pas pris en charge, "
"c'est-à-dire que les méthodes :meth:`loop.subprocess_exec` et :meth:`loop."
"subprocess_shell` ne sont pas implémentées."
#: library/asyncio-platforms.rst:60 #: library/asyncio-platforms.rst:60
msgid ":class:`ProactorEventLoop` has the following limitations:" msgid ":class:`ProactorEventLoop` has the following limitations:"
msgstr "" msgstr ":class:`ProactorEventLoop` a les limitations suivantes :"
#: library/asyncio-platforms.rst:62 #: library/asyncio-platforms.rst:62
msgid "" msgid ""
"The :meth:`loop.add_reader` and :meth:`loop.add_writer` methods are not " "The :meth:`loop.add_reader` and :meth:`loop.add_writer` methods are not "
"supported." "supported."
msgstr "" msgstr ""
"Les méthodes :meth:`loop.add_reader` et :meth:`loop.add_writer` ne sont pas "
"prises en charge."
#: library/asyncio-platforms.rst:65 #: library/asyncio-platforms.rst:65
msgid "" msgid ""
@ -111,16 +143,23 @@ msgid ""
"depends on the hardware (availability of `HPET <https://en.wikipedia.org/" "depends on the hardware (availability of `HPET <https://en.wikipedia.org/"
"wiki/High_Precision_Event_Timer>`_) and on the Windows configuration." "wiki/High_Precision_Event_Timer>`_) and on the Windows configuration."
msgstr "" msgstr ""
"La résolution de l'horloge monotone sous Windows est généralement d'environ "
"15,6 millisecondes. La meilleure résolution est de 0,5 milliseconde. La "
"résolution dépend du matériel (disponibilité de `HPET <https://fr.wikipedia."
"org/wiki/High_Precision_Event_Timer>`_) et de la configuration de Windows."
#: library/asyncio-platforms.rst:75 #: library/asyncio-platforms.rst:75
msgid "Subprocess Support on Windows" msgid "Subprocess Support on Windows"
msgstr "" msgstr "Prise en charge des sous-processus sous Windows"
#: library/asyncio-platforms.rst:77 #: library/asyncio-platforms.rst:77
msgid "" msgid ""
"On Windows, the default event loop :class:`ProactorEventLoop` supports " "On Windows, the default event loop :class:`ProactorEventLoop` supports "
"subprocesses, whereas :class:`SelectorEventLoop` does not." "subprocesses, whereas :class:`SelectorEventLoop` does not."
msgstr "" msgstr ""
"Sous Windows, la boucle d'événements par défaut :class:`ProactorEventLoop` "
"prend en charge les sous-processus, contrairement à :class:"
"`SelectorEventLoop`."
#: library/asyncio-platforms.rst:80 #: library/asyncio-platforms.rst:80
msgid "" msgid ""
@ -128,6 +167,10 @@ msgid ""
"set_child_watcher>` function is also not supported, as :class:" "set_child_watcher>` function is also not supported, as :class:"
"`ProactorEventLoop` has a different mechanism to watch child processes." "`ProactorEventLoop` has a different mechanism to watch child processes."
msgstr "" msgstr ""
"La fonction :meth:`policy.set_child_watcher() <AbstractEventLoopPolicy."
"set_child_watcher>` n'est pas non plus prise en charge, car :class:"
"`ProactorEventLoop` a un mécanisme différent pour surveiller les processus "
"enfants."
#: library/asyncio-platforms.rst:87 #: library/asyncio-platforms.rst:87
msgid "macOS" msgid "macOS"
@ -135,11 +178,11 @@ msgstr "macOS"
#: library/asyncio-platforms.rst:89 #: library/asyncio-platforms.rst:89
msgid "Modern macOS versions are fully supported." msgid "Modern macOS versions are fully supported."
msgstr "" msgstr "Les versions modernes de macOS sont entièrement prises en charge."
#: library/asyncio-platforms.rst:92 #: library/asyncio-platforms.rst:92
msgid "macOS <= 10.8" msgid "macOS <= 10.8"
msgstr "" msgstr "macOS ≤ 10.8"
#: library/asyncio-platforms.rst:93 #: library/asyncio-platforms.rst:93
msgid "" msgid ""
@ -149,3 +192,10 @@ msgid ""
"class:`~selectors.SelectSelector` or :class:`~selectors.PollSelector` to " "class:`~selectors.SelectSelector` or :class:`~selectors.PollSelector` to "
"support character devices on these older versions of macOS. Example::" "support character devices on these older versions of macOS. Example::"
msgstr "" msgstr ""
"Sur macOS 10.6, 10.7 et 10.8, la boucle d'événements par défaut utilise :"
"class:`selectors.KqueueSelector`, qui ne prend pas en charge les "
"périphériques de caractères sur ces versions. La :class:`SelectorEventLoop` "
"peut être configurée manuellement pour utiliser :class:`~selectors."
"SelectSelector` ou :class:`~selectors.PollSelector` pour prendre en charge "
"les périphériques de caractères sur ces anciennes versions de macOS. Par "
"exemple ::"

View File

@ -6,18 +6,18 @@ msgstr ""
"Project-Id-Version: Python 3\n" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n" "POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2019-11-17 01:26+0100\n" "PO-Revision-Date: 2023-06-17 17:44+0200\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n" "Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.4\n" "X-Generator: Poedit 3.2.2\n"
#: library/asyncio-policy.rst:8 #: library/asyncio-policy.rst:8
msgid "Policies" msgid "Policies"
msgstr "Stratégies" msgstr "Politiques"
#: library/asyncio-policy.rst:10 #: library/asyncio-policy.rst:10
msgid "" msgid ""
@ -28,25 +28,32 @@ msgid ""
"implementations, or substituted by a :ref:`custom policy <asyncio-custom-" "implementations, or substituted by a :ref:`custom policy <asyncio-custom-"
"policies>` that can override these behaviors." "policies>` that can override these behaviors."
msgstr "" msgstr ""
"Une politique de boucle d'événements est un objet global utilisé pour "
"obtenir et définir la :ref:`boucle d'événements <asyncio-event-loop>` "
"actuelle, ainsi que créer de nouvelles boucles d'événements. La politique "
"par défaut peut être :ref:`remplacée <asyncio-policy-get-set>` par des :ref:"
"`alternatives intégrées <asyncio-policy-builtin>` afin d'utiliser d'autres "
"implémentations de boucles d'événements, ou remplacée par une :ref:"
"`politique personnalisée <asyncio-custom-policies>` qui peut remplacer ces "
"comportements."
#: library/asyncio-policy.rst:19 #: library/asyncio-policy.rst:19
#, fuzzy
msgid "" msgid ""
"The :ref:`policy object <asyncio-policy-objects>` gets and sets a separate " "The :ref:`policy object <asyncio-policy-objects>` gets and sets a separate "
"event loop per *context*. This is per-thread by default, though custom " "event loop per *context*. This is per-thread by default, though custom "
"policies could define *context* differently." "policies could define *context* differently."
msgstr "" msgstr ""
"Une stratégie définit la notion de *contexte* et gère une boucle d'événement " "Un :ref:`objet politique <asyncio-policy-objects>` définit la notion de "
"distincte par contexte. La stratégie par défaut définit le *contexte* comme " "*contexte* et gère une boucle d'événement distincte par contexte. Ceci est "
"étant le fil d'exécution actuel." "valable fil par fil d'exécution par défaut, bien que les politiques "
"personnalisées puissent définir le *contexte* différemment."
#: library/asyncio-policy.rst:24 #: library/asyncio-policy.rst:24
#, fuzzy
msgid "" msgid ""
"Custom event loop policies can control the behavior of :func:" "Custom event loop policies can control the behavior of :func:"
"`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop`." "`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop`."
msgstr "" msgstr ""
"En utilisant une stratégie de boucle d'événement personnalisée, le " "En utilisant une politique de boucle d'événement personnalisée, le "
"comportement des fonctions :func:`get_event_loop`, :func:`set_event_loop` " "comportement des fonctions :func:`get_event_loop`, :func:`set_event_loop` "
"et :func:`new_event_loop` peut être personnalisé." "et :func:`new_event_loop` peut être personnalisé."
@ -55,12 +62,12 @@ msgid ""
"Policy objects should implement the APIs defined in the :class:" "Policy objects should implement the APIs defined in the :class:"
"`AbstractEventLoopPolicy` abstract base class." "`AbstractEventLoopPolicy` abstract base class."
msgstr "" msgstr ""
"Les objets de stratégie doivent implémenter les API définies dans la classe " "Les objets politiques doivent implémenter les API définies dans la classe "
"de base abstraite :class:`AbstractEventLoopPolicy`." "mère abstraite :class:`AbstractEventLoopPolicy`."
#: library/asyncio-policy.rst:34 #: library/asyncio-policy.rst:34
msgid "Getting and Setting the Policy" msgid "Getting and Setting the Policy"
msgstr "Obtenir et définir la stratégie" msgstr "Obtenir et définir la politique"
#: library/asyncio-policy.rst:36 #: library/asyncio-policy.rst:36
msgid "" msgid ""
@ -68,35 +75,35 @@ msgid ""
"current process:" "current process:"
msgstr "" msgstr ""
"Les fonctions suivantes peuvent être utilisées pour obtenir et définir la " "Les fonctions suivantes peuvent être utilisées pour obtenir et définir la "
"stratégie du processus en cours :" "politique du processus en cours :"
#: library/asyncio-policy.rst:41 #: library/asyncio-policy.rst:41
msgid "Return the current process-wide policy." msgid "Return the current process-wide policy."
msgstr "Renvoie la stratégie actuelle à l'échelle du processus." msgstr "Renvoie la politique actuelle à l'échelle du processus."
#: library/asyncio-policy.rst:45 #: library/asyncio-policy.rst:45
msgid "Set the current process-wide policy to *policy*." msgid "Set the current process-wide policy to *policy*."
msgstr "" msgstr ""
"Définit la stratégie actuelle sur l'ensemble du processus sur *policy*." "Définit la politique actuelle sur l'ensemble du processus sur *policy*."
#: library/asyncio-policy.rst:47 #: library/asyncio-policy.rst:47
msgid "If *policy* is set to ``None``, the default policy is restored." msgid "If *policy* is set to ``None``, the default policy is restored."
msgstr "" msgstr ""
"Si *policy* est définie sur ``None``, la stratégie par défaut est restaurée." "Si *policy* est définie sur ``None``, la politique par défaut est restaurée."
#: library/asyncio-policy.rst:53 #: library/asyncio-policy.rst:53
msgid "Policy Objects" msgid "Policy Objects"
msgstr "Sujets de stratégie" msgstr "Objets politiques"
#: library/asyncio-policy.rst:55 #: library/asyncio-policy.rst:55
msgid "The abstract event loop policy base class is defined as follows:" msgid "The abstract event loop policy base class is defined as follows:"
msgstr "" msgstr ""
"La classe de base abstraite de la stratégie de boucle d'événements est " "La classe mère abstraite de la politique de boucle d'événements est définie "
"définie comme suit :" "comme suit :"
#: library/asyncio-policy.rst:59 #: library/asyncio-policy.rst:59
msgid "An abstract base class for asyncio policies." msgid "An abstract base class for asyncio policies."
msgstr "Une classe de base abstraite pour les stratégies *asyncio*." msgstr "Une classe de base abstraite pour les politiques *asyncio*."
#: library/asyncio-policy.rst:63 #: library/asyncio-policy.rst:63
msgid "Get the event loop for the current context." msgid "Get the event loop for the current context."
@ -144,14 +151,14 @@ msgstr "Définit l'observateur du processus enfant actuel à *watcher*."
#: library/asyncio-policy.rst:100 #: library/asyncio-policy.rst:100
msgid "asyncio ships with the following built-in policies:" msgid "asyncio ships with the following built-in policies:"
msgstr "*asyncio* est livré avec les stratégies intégrées suivantes :" msgstr "*asyncio* est livré avec les politiques intégrées suivantes :"
#: library/asyncio-policy.rst:105 #: library/asyncio-policy.rst:105
msgid "" msgid ""
"The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :" "The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :"
"class:`ProactorEventLoop` on Windows." "class:`ProactorEventLoop` on Windows."
msgstr "" msgstr ""
"La stratégie *asyncio* par défaut. Utilise :class:`SelectorEventLoop` sur " "La politique *asyncio* par défaut. Utilise :class:`SelectorEventLoop` sur "
"les plates-formes Unix et :class:`ProactorEventLoop` sur Windows." "les plates-formes Unix et :class:`ProactorEventLoop` sur Windows."
#: library/asyncio-policy.rst:108 #: library/asyncio-policy.rst:108
@ -159,13 +166,14 @@ msgid ""
"There is no need to install the default policy manually. asyncio is " "There is no need to install the default policy manually. asyncio is "
"configured to use the default policy automatically." "configured to use the default policy automatically."
msgstr "" msgstr ""
"Il n'est pas nécessaire d'installer la stratégie par défaut manuellement. " "Il n'est pas nécessaire d'installer la politique par défaut manuellement. "
"*asyncio* est configuré pour utiliser automatiquement la stratégie par " "*asyncio* est configuré pour utiliser automatiquement la politique par "
"défaut." "défaut."
#: library/asyncio-policy.rst:113 #: library/asyncio-policy.rst:113
msgid "On Windows, :class:`ProactorEventLoop` is now used by default." msgid "On Windows, :class:`ProactorEventLoop` is now used by default."
msgstr "" msgstr ""
"Sous Windows, :class:`ProactorEventLoop` est désormais utilisée par défaut."
#: library/asyncio-policy.rst:116 #: library/asyncio-policy.rst:116
msgid "" msgid ""
@ -174,13 +182,18 @@ msgid ""
"no running event loop and no current loop is set. In some future Python " "no running event loop and no current loop is set. In some future Python "
"release this will become an error." "release this will become an error."
msgstr "" msgstr ""
"Dans les versions Python 3.10.9, 3.11.1 et 3.12, la méthode :meth:"
"`get_event_loop` de la politique *asyncio* par défaut lève 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-policy.rst:124 #: library/asyncio-policy.rst:124
msgid "" msgid ""
"An alternative event loop policy that uses the :class:`SelectorEventLoop` " "An alternative event loop policy that uses the :class:`SelectorEventLoop` "
"event loop implementation." "event loop implementation."
msgstr "" msgstr ""
"Stratégie de boucle d'événements alternative utilisant l'implémentation de " "Politique de boucle d'événements alternative utilisant l'implémentation de "
"la boucle d'événements :class:`ProactorEventLoop`." "la boucle d'événements :class:`ProactorEventLoop`."
#: library/asyncio-policy.rst:135 #: library/asyncio-policy.rst:135
@ -188,12 +201,11 @@ msgid ":ref:`Availability <availability>`: Windows."
msgstr ":ref:`Disponibilité <availability>` : Windows." msgstr ":ref:`Disponibilité <availability>` : Windows."
#: library/asyncio-policy.rst:132 #: library/asyncio-policy.rst:132
#, fuzzy
msgid "" msgid ""
"An alternative event loop policy that uses the :class:`ProactorEventLoop` " "An alternative event loop policy that uses the :class:`ProactorEventLoop` "
"event loop implementation." "event loop implementation."
msgstr "" msgstr ""
"Stratégie de boucle d'événements alternative utilisant l'implémentation de " "Politique de boucle d'événements alternative utilisant l'implémentation de "
"la boucle d'événements :class:`ProactorEventLoop`." "la boucle d'événements :class:`ProactorEventLoop`."
#: library/asyncio-policy.rst:141 #: library/asyncio-policy.rst:141
@ -220,7 +232,6 @@ msgstr ""
"`create_subprocess_exec` et :meth:`loop.subprocess_exec`." "`create_subprocess_exec` et :meth:`loop.subprocess_exec`."
#: library/asyncio-policy.rst:151 #: library/asyncio-policy.rst:151
#, fuzzy
msgid "" msgid ""
"asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " "asyncio defines the :class:`AbstractChildWatcher` abstract base class, which "
"child watchers should implement, and has four different implementations: :" "child watchers should implement, and has four different implementations: :"
@ -228,10 +239,11 @@ msgid ""
"`MultiLoopChildWatcher`, :class:`SafeChildWatcher`, and :class:" "`MultiLoopChildWatcher`, :class:`SafeChildWatcher`, and :class:"
"`FastChildWatcher`." "`FastChildWatcher`."
msgstr "" msgstr ""
"*asyncio* définit la classe de base abstraite :class:`AbstractChildWatcher`, " "*asyncio* définit la classe mère abstraite :class:`AbstractChildWatcher`, "
"que les observateurs enfants doivent implémenter et possède deux " "que les observateurs enfants doivent implémenter et possède quatre "
"implémentations différentes : :class:`SafeChildWatcher` (configurée pour " "implémentations différentes : :class:`ThreadedChildWatcher` (configurée pour "
"être utilisé par défaut) et :class:`FastChildWatcher`." "être utilisé par défaut), :class:`MultiLoopChildWatcher`, :class:"
"`SafeChildWatcher` et :class:`FastChildWatcher`."
#: library/asyncio-policy.rst:157 #: library/asyncio-policy.rst:157
msgid "" msgid ""
@ -252,7 +264,7 @@ msgstr ""
#: library/asyncio-policy.rst:165 #: library/asyncio-policy.rst:165
msgid "Return the current child watcher for the current policy." msgid "Return the current child watcher for the current policy."
msgstr "Renvoie l'observateur enfant actuel pour la stratégie actuelle." msgstr "Renvoie l'observateur enfant actuel pour la politique actuelle."
#: library/asyncio-policy.rst:169 #: library/asyncio-policy.rst:169
msgid "" msgid ""
@ -260,7 +272,7 @@ msgid ""
"*watcher* must implement methods defined in the :class:" "*watcher* must implement methods defined in the :class:"
"`AbstractChildWatcher` base class." "`AbstractChildWatcher` base class."
msgstr "" msgstr ""
"Définit l'observateur enfant actuel à *watcher* pour la stratégie actuelle. " "Définit l'observateur enfant actuel à *watcher* pour la politique actuelle. "
"*watcher* doit implémenter les méthodes définies dans la classe de base :" "*watcher* doit implémenter les méthodes définies dans la classe de base :"
"class:`AbstractChildWatcher`." "class:`AbstractChildWatcher`."
@ -270,9 +282,9 @@ msgid ""
"watchers. For such event loops, using :func:`set_child_watcher` might be " "watchers. For such event loops, using :func:`set_child_watcher` might be "
"prohibited or have no effect." "prohibited or have no effect."
msgstr "" msgstr ""
"Les implémentations de boucles d'événement tierces peuvent ne pas prendre en " "Les implémentations de boucles d'événements tierces peuvent ne pas prendre "
"charge les observateurs enfants personnalisés. Pour ces boucles " "en charge les observateurs enfants personnalisés. Pour ces boucles "
"d'événements, utiliser :func:`set_child_watcher` pourrait être interdit ou " "d'événements, utiliser :func:`set_child_watcher` pourrait être interdit ou "
"n'avoir aucun effet." "n'avoir aucun effet."
#: library/asyncio-policy.rst:182 #: library/asyncio-policy.rst:182
@ -286,7 +298,7 @@ msgid ""
"same process replaces the previous handler." "same process replaces the previous handler."
msgstr "" msgstr ""
"Organise l'appel de ``callback(pid, returncode, * args)`` lorsqu'un " "Organise l'appel de ``callback(pid, returncode, * args)`` lorsqu'un "
"processus dont le PID est égal à *pid* se termine. La spécification d'un " "processus dont le *PID* est égal à *pid* se termine. La spécification d'un "
"autre rappel pour le même processus remplace le gestionnaire précédent." "autre rappel pour le même processus remplace le gestionnaire précédent."
#: library/asyncio-policy.rst:189 #: library/asyncio-policy.rst:189
@ -325,13 +337,15 @@ msgstr "Remarque : la boucle peut être ``None``."
#: library/asyncio-policy.rst:209 #: library/asyncio-policy.rst:209
msgid "Return ``True`` if the watcher is ready to use." msgid "Return ``True`` if the watcher is ready to use."
msgstr "" msgstr "Renvoie ``True`` si l'observateur est prêt à être utilisé."
#: library/asyncio-policy.rst:211 #: library/asyncio-policy.rst:211
msgid "" msgid ""
"Spawning a subprocess with *inactive* current child watcher raises :exc:" "Spawning a subprocess with *inactive* current child watcher raises :exc:"
"`RuntimeError`." "`RuntimeError`."
msgstr "" msgstr ""
"La création d'un sous-processus avec un observateur enfant actuel *inactif* "
"lève une :exc:`RuntimeError`."
#: library/asyncio-policy.rst:218 #: library/asyncio-policy.rst:218
msgid "Close the watcher." msgid "Close the watcher."
@ -346,26 +360,21 @@ msgstr ""
"jacentes sont nettoyées." "jacentes sont nettoyées."
#: library/asyncio-policy.rst:225 #: library/asyncio-policy.rst:225
#, fuzzy
msgid "" msgid ""
"This implementation starts a new waiting thread for every subprocess spawn." "This implementation starts a new waiting thread for every subprocess spawn."
msgstr "" msgstr ""
"Cette implémentation évite de perturber un autre code qui aurait besoin de " "Cette implémentation démarre un nouveau fil d'exécution en attente pour "
"générer des processus en interrogeant chaque processus explicitement par un " "chaque génération de sous-processus."
"signal :py:data:`SIGCHLD`."
#: library/asyncio-policy.rst:227 #: library/asyncio-policy.rst:227
#, fuzzy
msgid "" msgid ""
"It works reliably even when the asyncio event loop is run in a non-main OS " "It works reliably even when the asyncio event loop is run in a non-main OS "
"thread." "thread."
msgstr "" msgstr ""
"C'est une solution sûre, mais elle nécessite un temps système important lors " "Il fonctionne de manière fiable même lorsque la boucle d'événements "
"de la manipulation d'un grand nombre de processus (*O(n)* à chaque fois que " "*asyncio* est exécutée dans un fil d'exécution non principal."
"un :py:data:`SIGCHLD` est reçu)."
#: library/asyncio-policy.rst:229 #: library/asyncio-policy.rst:229
#, fuzzy
msgid "" msgid ""
"There is no noticeable overhead when handling a big number of children " "There is no noticeable overhead when handling a big number of children "
"(*O(1)* each time a child terminates), but starting a thread per process " "(*O(1)* each time a child terminates), but starting a thread per process "
@ -376,7 +385,7 @@ msgstr ""
#: library/asyncio-policy.rst:232 #: library/asyncio-policy.rst:232
msgid "This watcher is used by default." msgid "This watcher is used by default."
msgstr "" msgstr "Cet observateur est utilisé par défaut."
#: library/asyncio-policy.rst:238 #: library/asyncio-policy.rst:238
msgid "" msgid ""
@ -384,24 +393,34 @@ msgid ""
"instantiation. That can break third-party code that installs a custom " "instantiation. That can break third-party code that installs a custom "
"handler for :py:data:`SIGCHLD` signal." "handler for :py:data:`SIGCHLD` signal."
msgstr "" msgstr ""
"Cette implémentation enregistre un gestionnaire de signal :py:data:`SIGCHLD` "
"lors de l'instanciation. Cela peut casser le code tiers qui installe un "
"gestionnaire personnalisé pour le signal :py:data:`SIGCHLD`."
#: library/asyncio-policy.rst:260 #: library/asyncio-policy.rst:260
msgid "" msgid ""
"The watcher avoids disrupting other code spawning processes by polling every " "The watcher avoids disrupting other code spawning processes by polling every "
"process explicitly on a :py:data:`SIGCHLD` signal." "process explicitly on a :py:data:`SIGCHLD` signal."
msgstr "" msgstr ""
"L'observateur évite de perturber un autre code qui crée des processus en "
"interrogeant explicitement chaque processus sur un signal :py:data:`SIGCHLD`."
#: library/asyncio-policy.rst:245 #: library/asyncio-policy.rst:245
msgid "" msgid ""
"There is no limitation for running subprocesses from different threads once " "There is no limitation for running subprocesses from different threads once "
"the watcher is installed." "the watcher is installed."
msgstr "" msgstr ""
"Il n'y a aucune limitation pour l'exécution de sous-processus à partir de "
"différents fils d'exécution une fois l'observateur installé."
#: library/asyncio-policy.rst:248 #: library/asyncio-policy.rst:248
msgid "" msgid ""
"The solution is safe but it has a significant overhead when handling a big " "The solution is safe but it has a significant overhead when handling a big "
"number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." "number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)."
msgstr "" msgstr ""
"La solution est sûre mais elle a une surcharge importante lors de la gestion "
"d'un grand nombre de processus (*O(n)* chaque fois qu'un :py:data:`SIGCHLD` "
"est reçu)."
#: library/asyncio-policy.rst:256 #: library/asyncio-policy.rst:256
msgid "" msgid ""
@ -409,6 +428,11 @@ msgid ""
"py:data:`SIGCHLD` signal. If the main thread has no running event loop " "py:data:`SIGCHLD` signal. If the main thread has no running event loop "
"another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)." "another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)."
msgstr "" msgstr ""
"Cette implémentation utilise une boucle d'événements active du fil "
"d'exécution principal pour gérer le signal :py:data:`SIGCHLD`. Si le fil "
"d'exécution principal n'a pas de boucle d'événements en cours d'exécution, "
"un autre fil ne pourra pas générer de sous-processus (une :exc:"
"`RuntimeError` est levée)."
#: library/asyncio-policy.rst:263 #: library/asyncio-policy.rst:263
msgid "" msgid ""
@ -416,6 +440,9 @@ msgid ""
"*O(N)* complexity but requires a running event loop in the main thread to " "*O(N)* complexity but requires a running event loop in the main thread to "
"work." "work."
msgstr "" msgstr ""
"Cette solution est aussi sûre que :class:`MultiLoopChildWatcher` et a la "
"même complexité en *O(N)* mais nécessite une boucle d'événements en cours "
"d'exécution dans le fil d'exécution principal pour fonctionner."
#: library/asyncio-policy.rst:268 #: library/asyncio-policy.rst:268
msgid "" msgid ""
@ -440,6 +467,9 @@ msgid ""
"This solution requires a running event loop in the main thread to work, as :" "This solution requires a running event loop in the main thread to work, as :"
"class:`SafeChildWatcher`." "class:`SafeChildWatcher`."
msgstr "" msgstr ""
"Cette solution nécessite une boucle d'événements en cours d'exécution dans "
"le fil d'exécution principal pour fonctionner, comme :class:"
"`SafeChildWatcher`."
#: library/asyncio-policy.rst:280 #: library/asyncio-policy.rst:280
msgid "" msgid ""
@ -451,10 +481,18 @@ msgid ""
"event loop. The main disadvantage is that pidfds are specific to Linux, and " "event loop. The main disadvantage is that pidfds are specific to Linux, and "
"only work on recent (5.3+) kernels." "only work on recent (5.3+) kernels."
msgstr "" msgstr ""
"Cette implémentation interroge les descripteurs de fichiers de processus "
"(*pidfds*) pour attendre la fin du processus enfant. À certains égards, :"
"class:`PidfdChildWatcher` est une implémentation d'observateur d'enfants "
"*Goldilocks*. Elle ne nécessite ni signaux ni threads, n'interfère avec "
"aucun processus lancé en dehors de la boucle d'événements et évolue de "
"manière linéaire avec le nombre de sous-processus lancés par la boucle "
"d'événements. Le principal inconvénient est que les *pidfds* sont "
"spécifiques à Linux et ne fonctionnent que sur les noyaux récents (5.3+)."
#: library/asyncio-policy.rst:294 #: library/asyncio-policy.rst:294
msgid "Custom Policies" msgid "Custom Policies"
msgstr "Stratégies personnalisées" msgstr "Politiques personnalisées"
#: library/asyncio-policy.rst:296 #: library/asyncio-policy.rst:296
msgid "" msgid ""