# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-01-15 22:33+0100\n" "PO-Revision-Date: 2019-06-10 15:50+0200\n" "Last-Translator: Julien Palard \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 2.0.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 "" #: library/asyncio-eventloop.rst:16 msgid "Preface" msgstr "" #: 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 "" #: 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 "" #: library/asyncio-eventloop.rst:28 msgid "Obtaining the Event Loop" msgstr "Obtenir 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 "" #: library/asyncio-eventloop.rst:34 msgid "Return the running event loop in the current OS thread." msgstr "" #: library/asyncio-eventloop.rst:36 msgid "Raise a :exc:`RuntimeError` if there is no running event loop." msgstr "" #: library/asyncio-eventloop.rst:38 msgid "This function can only be called from a coroutine or a callback." msgstr "" #: library/asyncio-eventloop.rst:44 #, fuzzy 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 "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: library/asyncio-eventloop.rst:74 #, fuzzy msgid "Set *loop* as the current event loop for the current OS thread." msgstr "" "Appelle le gestionnaire d'exception de la boucle d'évènements actuelle." #: library/asyncio-eventloop.rst:78 msgid "Create and return a new event loop object." msgstr "" #: 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 "" #: library/asyncio-eventloop.rst:86 msgid "Contents" msgstr "Sommaire" #: library/asyncio-eventloop.rst:87 msgid "This documentation page contains the following sections:" msgstr "" #: library/asyncio-eventloop.rst:89 msgid "" "The `Event Loop Methods`_ section is the reference documentation of the " "event loop APIs;" msgstr "" #: 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 "" #: library/asyncio-eventloop.rst:96 msgid "" "The `Server Objects`_ section documents types returned from event loop " "methods like :meth:`loop.create_server`;" msgstr "" #: library/asyncio-eventloop.rst:99 msgid "" "The `Event Loop Implementations`_ section documents the :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" msgstr "" #: library/asyncio-eventloop.rst:102 msgid "" "The `Examples`_ section showcases how to work with some event loop APIs." msgstr "" #: 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 "" #: 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 "" #: library/asyncio-eventloop.rst:129 msgid "Return the Future's result or raise its exception." msgstr "" #: library/asyncio-eventloop.rst:133 msgid "Run the event loop until :meth:`stop` is called." msgstr "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: 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 "" #: library/asyncio-eventloop.rst:179 library/asyncio-eventloop.rst:199 msgid "" "Note that there is no need to call this function when :func:`asyncio.run` is " "used." msgstr "" #: library/asyncio-eventloop.rst:182 library/asyncio-eventloop.rst:1212 #: library/asyncio-eventloop.rst:1600 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:`ThreadPoolExecutor`. After calling this method, " "a :exc:`RuntimeError` will be raised if :meth:`loop.run_in_executor` is " "called while using the default executor." msgstr "" #: library/asyncio-eventloop.rst:206 msgid "Scheduling callbacks" msgstr "" #: library/asyncio-eventloop.rst:210 msgid "" "Schedule the *callback* :term:`callback` to be called with *args* arguments " "at the next iteration of the event loop." msgstr "" #: library/asyncio-eventloop.rst:213 msgid "" "Callbacks are called in the order in which they are registered. Each " "callback will be called exactly once." msgstr "" #: library/asyncio-eventloop.rst:216 library/asyncio-eventloop.rst:283 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 "" #: library/asyncio-eventloop.rst:220 msgid "" "An instance of :class:`asyncio.Handle` is returned, which can be used later " "to cancel the callback." msgstr "" #: library/asyncio-eventloop.rst:223 msgid "This method is not thread-safe." msgstr "" #: library/asyncio-eventloop.rst:227 msgid "" "A thread-safe variant of :meth:`call_soon`. Must be used to schedule " "callbacks *from another thread*." msgstr "" #: library/asyncio-eventloop.rst:230 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 "" #: library/asyncio-eventloop.rst:234 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." #: library/asyncio-eventloop.rst:237 library/asyncio-eventloop.rst:287 #: library/asyncio-eventloop.rst:307 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." msgstr "" #: library/asyncio-eventloop.rst:245 msgid "" "Most :mod:`asyncio` scheduling functions don't allow passing keyword " "arguments. To do that, use :func:`functools.partial`::" msgstr "" #: library/asyncio-eventloop.rst:252 msgid "" "Using partial objects is usually more convenient than using lambdas, as " "asyncio can render partial objects better in debug and error messages." msgstr "" #: library/asyncio-eventloop.rst:260 msgid "Scheduling delayed callbacks" msgstr "" #: library/asyncio-eventloop.rst:262 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 "" #: library/asyncio-eventloop.rst:269 msgid "" "Schedule *callback* to be called after the given *delay* number of seconds " "(can be either an int or a float)." msgstr "" #: library/asyncio-eventloop.rst:272 library/asyncio-eventloop.rst:304 msgid "" "An instance of :class:`asyncio.TimerHandle` is returned which can be used to " "cancel the callback." msgstr "" #: library/asyncio-eventloop.rst:275 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 "" #: library/asyncio-eventloop.rst:279 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 "" #: library/asyncio-eventloop.rst:291 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 "" #: library/asyncio-eventloop.rst:298 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 "" #: library/asyncio-eventloop.rst:302 msgid "This method's behavior is the same as :meth:`call_later`." msgstr "" #: library/asyncio-eventloop.rst:311 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 "" #: library/asyncio-eventloop.rst:318 msgid "" "Return the current time, as a :class:`float` value, according to the event " "loop's internal monotonic clock." msgstr "" #: library/asyncio-eventloop.rst:322 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 "" #: library/asyncio-eventloop.rst:328 msgid "The :func:`asyncio.sleep` function." msgstr "La fonction :func:`asyncio.sleep`." #: library/asyncio-eventloop.rst:332 msgid "Creating Futures and Tasks" msgstr "" #: library/asyncio-eventloop.rst:336 msgid "Create an :class:`asyncio.Future` object attached to the event loop." msgstr "" #: library/asyncio-eventloop.rst:338 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 "" #: library/asyncio-eventloop.rst:346 msgid "" "Schedule the execution of :ref:`coroutine ` *coro*. Return a :" "class:`Task` object." msgstr "" #: library/asyncio-eventloop.rst:349 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 "" #: library/asyncio-eventloop.rst:353 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 "" #: library/asyncio-eventloop.rst:356 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 "" #: library/asyncio-eventloop.rst:360 #, fuzzy msgid "Added the *name* parameter." msgstr "ajout du paramètre ``name``." #: library/asyncio-eventloop.rst:363 #, fuzzy msgid "Added the *context* parameter." msgstr "ajout du paramètre ``name``." #: library/asyncio-eventloop.rst:368 msgid "Set a task factory that will be used by :meth:`loop.create_task`." msgstr "" #: library/asyncio-eventloop.rst:371 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 "" #: library/asyncio-eventloop.rst:379 msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" #: library/asyncio-eventloop.rst:383 msgid "Opening network connections" msgstr "Créer des connexions" #: library/asyncio-eventloop.rst:393 msgid "" "Open a streaming transport connection to a given address specified by *host* " "and *port*." msgstr "" #: library/asyncio-eventloop.rst:396 msgid "" "The socket family can be either :py:data:`~socket.AF_INET` or :py:data:" "`~socket.AF_INET6` depending on *host* (or the *family* argument, if " "provided)." msgstr "" #: library/asyncio-eventloop.rst:400 msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." msgstr "" #: library/asyncio-eventloop.rst:402 library/asyncio-eventloop.rst:1128 #: library/asyncio-eventloop.rst:1144 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." msgstr "" #: library/asyncio-eventloop.rst:405 msgid "" "This method will try to establish the connection in the background. When " "successful, it returns a ``(transport, protocol)`` pair." msgstr "" #: library/asyncio-eventloop.rst:408 msgid "The chronological synopsis of the underlying operation is as follows:" msgstr "" #: library/asyncio-eventloop.rst:410 msgid "" "The connection is established and a :ref:`transport ` is " "created for it." msgstr "" #: library/asyncio-eventloop.rst:413 msgid "" "*protocol_factory* is called without arguments and is expected to return a :" "ref:`protocol ` instance." msgstr "" #: library/asyncio-eventloop.rst:416 msgid "" "The protocol instance is coupled with the transport by calling its :meth:" "`~BaseProtocol.connection_made` method." msgstr "" #: library/asyncio-eventloop.rst:419 msgid "A ``(transport, protocol)`` tuple is returned on success." msgstr "" #: library/asyncio-eventloop.rst:421 msgid "" "The created transport is an implementation-dependent bidirectional stream." msgstr "" #: library/asyncio-eventloop.rst:424 library/asyncio-eventloop.rst:545 msgid "Other arguments:" msgstr "" #: library/asyncio-eventloop.rst:426 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 "" #: library/asyncio-eventloop.rst:432 msgid ":ref:`SSL/TLS security considerations `" msgstr "" #: library/asyncio-eventloop.rst:434 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 "" #: library/asyncio-eventloop.rst:442 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 "" #: library/asyncio-eventloop.rst:447 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 "" #: library/asyncio-eventloop.rst:455 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 "" #: library/asyncio-eventloop.rst:464 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 "" #: library/asyncio-eventloop.rst:472 library/asyncio-eventloop.rst:576 #: library/asyncio-eventloop.rst:800 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 "" #: library/asyncio-eventloop.rst:476 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 "" #: library/asyncio-eventloop.rst:480 library/asyncio-eventloop.rst:891 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 "" #: library/asyncio-eventloop.rst:484 library/asyncio-eventloop.rst:717 #: library/asyncio-eventloop.rst:811 library/asyncio-eventloop.rst:895 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 "" #: library/asyncio-eventloop.rst:490 library/asyncio-eventloop.rst:729 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "" #: library/asyncio-eventloop.rst:494 msgid "" "The socket option :py:data:`~socket.TCP_NODELAY` is set by default for all " "TCP connections." msgstr "" #: library/asyncio-eventloop.rst:499 library/asyncio-eventloop.rst:821 #, fuzzy msgid "Added the *ssl_handshake_timeout* parameter." msgstr "ajout du paramètre ``name``." #: library/asyncio-eventloop.rst:503 msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." msgstr "" #: library/asyncio-eventloop.rst:505 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 "" #: library/asyncio-eventloop.rst:514 msgid "For more information: https://tools.ietf.org/html/rfc6555" msgstr "" #: library/asyncio-eventloop.rst:518 library/asyncio-eventloop.rst:637 #: library/asyncio-eventloop.rst:743 library/asyncio-eventloop.rst:778 #: library/asyncio-eventloop.rst:825 library/asyncio-eventloop.rst:903 #, fuzzy msgid "Added the *ssl_shutdown_timeout* parameter." msgstr "ajout du paramètre ``name``." #: library/asyncio-eventloop.rst:522 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 "" #: library/asyncio-eventloop.rst:532 msgid "Create a datagram connection." msgstr "Créer une connexion par datagramme" #: library/asyncio-eventloop.rst:534 msgid "" "The socket family can be either :py:data:`~socket.AF_INET`, :py:data:" "`~socket.AF_INET6`, or :py:data:`~socket.AF_UNIX`, depending on *host* (or " "the *family* argument, if provided)." msgstr "" #: library/asyncio-eventloop.rst:538 msgid "The socket type will be :py:data:`~socket.SOCK_DGRAM`." msgstr "" #: library/asyncio-eventloop.rst:540 library/asyncio-eventloop.rst:660 #: library/asyncio-eventloop.rst:792 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." msgstr "" #: library/asyncio-eventloop.rst:543 library/asyncio-eventloop.rst:619 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "" #: library/asyncio-eventloop.rst:547 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 "" #: library/asyncio-eventloop.rst:551 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 "" #: library/asyncio-eventloop.rst:555 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 "" #: library/asyncio-eventloop.rst:560 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:data:`~socket.SO_REUSEPORT` constant is not defined then " "this capability is unsupported." msgstr "" #: library/asyncio-eventloop.rst:566 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." msgstr "" #: library/asyncio-eventloop.rst:569 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 "" #: library/asyncio-eventloop.rst:580 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." msgstr "" #: library/asyncio-eventloop.rst:583 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" #: library/asyncio-eventloop.rst:587 msgid "" "The *reuse_address* parameter is no longer supported, as using :py:data:" "`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " "Explicitly passing ``reuse_address=True`` will raise an exception." msgstr "" #: library/asyncio-eventloop.rst:592 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 "" #: library/asyncio-eventloop.rst:596 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :py:data:`~sockets.SO_REUSEPORT` " "is used instead, which specifically prevents processes with differing UIDs " "from assigning sockets to the same socket address." msgstr "" #: library/asyncio-eventloop.rst:602 msgid "Added support for Windows." msgstr "Prise en charge sur Windows." #: library/asyncio-eventloop.rst:605 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 "" #: library/asyncio-eventloop.rst:614 msgid "Create a Unix connection." msgstr "Créer une connexion Unix" #: library/asyncio-eventloop.rst:616 msgid "" "The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" "py:data:`~socket.SOCK_STREAM`." msgstr "" #: library/asyncio-eventloop.rst:621 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 "" #: library/asyncio-eventloop.rst:626 msgid "" "See the documentation of the :meth:`loop.create_connection` method for " "information about arguments to this method." msgstr "" #: library/asyncio-eventloop.rst:630 library/asyncio-eventloop.rst:770 #: library/asyncio-eventloop.rst:1195 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." #: library/asyncio-eventloop.rst:631 msgid "" "Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " "a :term:`path-like object`." msgstr "" #: library/asyncio-eventloop.rst:641 msgid "Creating network servers" msgstr "Créer des serveurs" #: library/asyncio-eventloop.rst:653 msgid "" "Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " "*port* of the *host* address." msgstr "" #: library/asyncio-eventloop.rst:656 msgid "Returns a :class:`Server` object." msgstr "" #: library/asyncio-eventloop.rst:658 #, fuzzy msgid "Arguments:" msgstr "Arguments :" #: library/asyncio-eventloop.rst:663 msgid "" "The *host* parameter can be set to several types which determine where the " "server would be listening:" msgstr "" #: library/asyncio-eventloop.rst:666 msgid "" "If *host* is a string, the TCP server is bound to a single network interface " "specified by *host*." msgstr "" #: library/asyncio-eventloop.rst:669 msgid "" "If *host* is a sequence of strings, the TCP server is bound to all network " "interfaces specified by the sequence." msgstr "" #: library/asyncio-eventloop.rst:672 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 "" #: library/asyncio-eventloop.rst:676 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 "" #: library/asyncio-eventloop.rst:681 msgid "" "*family* can be set to either :data:`socket.AF_INET` or :data:`~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 :data:`~socket.AF_UNSPEC`)." msgstr "" #: library/asyncio-eventloop.rst:686 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* est un masque de bits pour :meth:`getaddrinfo`." #: library/asyncio-eventloop.rst:688 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " "object. If specified, *host* and *port* must not be specified." msgstr "" #: library/asyncio-eventloop.rst:693 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 "" #: library/asyncio-eventloop.rst:697 msgid "" "*backlog* is the maximum number of queued connections passed to :meth:" "`~socket.socket.listen` (defaults to 100)." msgstr "" #: library/asyncio-eventloop.rst:700 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " "the accepted connections." msgstr "" #: library/asyncio-eventloop.rst:703 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 "" #: library/asyncio-eventloop.rst:708 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 "" #: library/asyncio-eventloop.rst:713 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 "" #: library/asyncio-eventloop.rst:721 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 "" #: library/asyncio-eventloop.rst:733 msgid "The *host* parameter can be a sequence of strings." msgstr "" #: library/asyncio-eventloop.rst:737 msgid "" "Added *ssl_handshake_timeout* and *start_serving* parameters. The socket " "option :py:data:`~socket.TCP_NODELAY` is set by default for all TCP " "connections." msgstr "" #: library/asyncio-eventloop.rst:747 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 "" #: library/asyncio-eventloop.rst:758 msgid "" "Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." "AF_UNIX` socket family." msgstr "" #: library/asyncio-eventloop.rst:761 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 "" #: library/asyncio-eventloop.rst:766 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." msgstr "" #: library/asyncio-eventloop.rst:773 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :class:`~pathlib.Path` object." msgstr "" #: library/asyncio-eventloop.rst:785 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "" #: library/asyncio-eventloop.rst:787 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." msgstr "" #: library/asyncio-eventloop.rst:790 library/asyncio-eventloop.rst:877 msgid "Parameters:" msgstr "Paramètres :" #: library/asyncio-eventloop.rst:795 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." msgstr "" #: library/asyncio-eventloop.rst:804 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." msgstr "" #: library/asyncio-eventloop.rst:807 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 "" #: library/asyncio-eventloop.rst:815 msgid "Returns a ``(transport, protocol)`` pair." msgstr "" #: library/asyncio-eventloop.rst:829 msgid "Transferring files" msgstr "" #: library/asyncio-eventloop.rst:834 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" #: library/asyncio-eventloop.rst:837 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" #: library/asyncio-eventloop.rst:839 msgid "*file* must be a regular file object opened in binary mode." msgstr "" #: library/asyncio-eventloop.rst:841 library/asyncio-eventloop.rst:1083 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 "" #: library/asyncio-eventloop.rst:848 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 "" #: library/asyncio-eventloop.rst:852 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." msgstr "" #: library/asyncio-eventloop.rst:859 msgid "TLS Upgrade" msgstr "" #: library/asyncio-eventloop.rst:866 msgid "Upgrade an existing transport-based connection to TLS." msgstr "Convertit une connexion existante en connexion TLS." #: library/asyncio-eventloop.rst:868 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 "" #: library/asyncio-eventloop.rst:872 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 "" #: library/asyncio-eventloop.rst:879 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." msgstr "" #: library/asyncio-eventloop.rst:883 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "" #: library/asyncio-eventloop.rst:885 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." msgstr "" #: library/asyncio-eventloop.rst:888 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." msgstr "" #: library/asyncio-eventloop.rst:908 msgid "Watching file descriptors" msgstr "Surveiller des descripteurs de fichiers" #: library/asyncio-eventloop.rst:912 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." msgstr "" #: library/asyncio-eventloop.rst:918 msgid "" "Stop monitoring the *fd* file descriptor for read availability. Returns " "``True`` if *fd* was previously being monitored for reads." msgstr "" #: library/asyncio-eventloop.rst:923 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments once *fd* is available for writing." msgstr "" #: library/asyncio-eventloop.rst:927 library/asyncio-eventloop.rst:1182 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." msgstr "" #: library/asyncio-eventloop.rst:932 msgid "" "Stop monitoring the *fd* file descriptor for write availability. Returns " "``True`` if *fd* was previously being monitored for writes." msgstr "" #: library/asyncio-eventloop.rst:935 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." msgstr "" #: library/asyncio-eventloop.rst:940 msgid "Working with socket objects directly" msgstr "" #: library/asyncio-eventloop.rst:942 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 "" #: library/asyncio-eventloop.rst:951 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." msgstr "" #: library/asyncio-eventloop.rst:954 msgid "Return the received data as a bytes object." msgstr "" #: library/asyncio-eventloop.rst:956 library/asyncio-eventloop.rst:970 #: library/asyncio-eventloop.rst:981 library/asyncio-eventloop.rst:993 #: library/asyncio-eventloop.rst:1008 library/asyncio-eventloop.rst:1023 #: library/asyncio-eventloop.rst:1033 library/asyncio-eventloop.rst:1059 #: library/asyncio-eventloop.rst:1097 msgid "*sock* must be a non-blocking socket." msgstr "Le connecteur *sock* ne doit pas être bloquant." #: library/asyncio-eventloop.rst:958 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 "" #: library/asyncio-eventloop.rst:965 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." msgstr "" #: library/asyncio-eventloop.rst:968 msgid "Return the number of bytes written to the buffer." msgstr "" #: library/asyncio-eventloop.rst:976 msgid "" "Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of :" "meth:`socket.recvfrom() `." msgstr "" #: library/asyncio-eventloop.rst:979 msgid "Return a tuple of (received data, remote address)." msgstr "" #: library/asyncio-eventloop.rst:987 msgid "" "Receive a datagram of up to *nbytes* from *sock* into *buf*. Asynchronous " "version of :meth:`socket.recvfrom_into() `." msgstr "" #: library/asyncio-eventloop.rst:991 msgid "Return a tuple of (number of bytes received, remote address)." msgstr "" #: library/asyncio-eventloop.rst:999 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." msgstr "" #: library/asyncio-eventloop.rst:1002 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 "" #: library/asyncio-eventloop.rst:1010 library/asyncio-eventloop.rst:1061 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 "" #: library/asyncio-eventloop.rst:1017 msgid "" "Send a datagram from *sock* to *address*. Asynchronous version of :meth:" "`socket.sendto() `." msgstr "" #: library/asyncio-eventloop.rst:1021 #, fuzzy msgid "Return the number of bytes sent." msgstr "Active le mode débogage pour la boucle d'évènements." #: library/asyncio-eventloop.rst:1029 msgid "Connect *sock* to a remote socket at *address*." msgstr "" #: library/asyncio-eventloop.rst:1031 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "" #: library/asyncio-eventloop.rst:1035 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 "" #: library/asyncio-eventloop.rst:1044 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." msgstr "" #: library/asyncio-eventloop.rst:1050 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." msgstr "" #: library/asyncio-eventloop.rst:1053 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 "" #: library/asyncio-eventloop.rst:1068 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr "" #: library/asyncio-eventloop.rst:1073 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." msgstr "" #: library/asyncio-eventloop.rst:1076 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" #: library/asyncio-eventloop.rst:1078 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." msgstr "" #: library/asyncio-eventloop.rst:1081 msgid "*file* must be a regular file object open in binary mode." msgstr "" #: library/asyncio-eventloop.rst:1090 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 "" #: library/asyncio-eventloop.rst:1094 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." msgstr "" #: library/asyncio-eventloop.rst:1103 msgid "DNS" msgstr "" #: library/asyncio-eventloop.rst:1108 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "" #: library/asyncio-eventloop.rst:1112 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "" #: library/asyncio-eventloop.rst:1114 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 "" #: library/asyncio-eventloop.rst:1122 msgid "Working with pipes" msgstr "" #: library/asyncio-eventloop.rst:1126 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:1131 msgid "*pipe* is a :term:`file-like object `." msgstr "" #: library/asyncio-eventloop.rst:1133 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" #: library/asyncio-eventloop.rst:1137 library/asyncio-eventloop.rst:1153 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." msgstr "" #: library/asyncio-eventloop.rst:1142 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:1147 msgid "*pipe* is :term:`file-like object `." msgstr "" #: library/asyncio-eventloop.rst:1149 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" #: library/asyncio-eventloop.rst:1158 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." msgstr "" #: library/asyncio-eventloop.rst:1163 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" #: library/asyncio-eventloop.rst:1168 msgid "Unix signals" msgstr "Signaux Unix" #: library/asyncio-eventloop.rst:1172 msgid "Set *callback* as the handler for the *signum* signal." msgstr "" #: library/asyncio-eventloop.rst:1174 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 "" #: library/asyncio-eventloop.rst:1179 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 "" #: library/asyncio-eventloop.rst:1185 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" #: library/asyncio-eventloop.rst:1190 msgid "Remove the handler for the *sig* signal." msgstr "Supprime le gestionnaire du signal *sig*." #: library/asyncio-eventloop.rst:1192 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." msgstr "" #: library/asyncio-eventloop.rst:1199 msgid "The :mod:`signal` module." msgstr "Le module :mod:`signal`." #: library/asyncio-eventloop.rst:1203 msgid "Executing code in thread or process pools" msgstr "" #: library/asyncio-eventloop.rst:1207 msgid "Arrange for *func* to be called in the specified executor." msgstr "" #: library/asyncio-eventloop.rst:1209 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." msgstr "" #: library/asyncio-eventloop.rst:1254 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 "" #: library/asyncio-eventloop.rst:1259 msgid "This method returns a :class:`asyncio.Future` object." msgstr "" #: library/asyncio-eventloop.rst:1261 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." msgstr "" #: library/asyncio-eventloop.rst:1264 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 "" #: library/asyncio-eventloop.rst:1273 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* must be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" #: library/asyncio-eventloop.rst:1277 msgid "" "*executor* must be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" #: library/asyncio-eventloop.rst:1283 msgid "Error Handling API" msgstr "API de gestion d'erreur" #: library/asyncio-eventloop.rst:1285 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" #: library/asyncio-eventloop.rst:1289 msgid "Set *handler* as the new event loop exception handler." msgstr "" #: library/asyncio-eventloop.rst:1291 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 "" #: library/asyncio-eventloop.rst:1301 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." msgstr "" #: library/asyncio-eventloop.rst:1308 msgid "Default exception handler." msgstr "Gestionnaire d'exception par défaut." #: library/asyncio-eventloop.rst:1310 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 "" #: library/asyncio-eventloop.rst:1314 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." msgstr "" #: library/asyncio-eventloop.rst:1319 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:1321 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" msgstr "" #: library/asyncio-eventloop.rst:1324 msgid "'message': Error message;" msgstr "``message`` : Message d'erreur ;" #: library/asyncio-eventloop.rst:1325 msgid "'exception' (optional): Exception object;" msgstr "``exception`` (optionnel): Un objet exception ;" #: library/asyncio-eventloop.rst:1326 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "" #: library/asyncio-eventloop.rst:1327 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "" #: library/asyncio-eventloop.rst:1328 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "" #: library/asyncio-eventloop.rst:1329 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" #: library/asyncio-eventloop.rst:1330 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" #: library/asyncio-eventloop.rst:1331 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "" #: library/asyncio-eventloop.rst:1333 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "" #: library/asyncio-eventloop.rst:1333 #, fuzzy msgid "the exception." msgstr "Gestionnaire d'exception par défaut." #: library/asyncio-eventloop.rst:1337 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler()` method." msgstr "" #: library/asyncio-eventloop.rst:1342 msgid "Enabling debug mode" msgstr "Active le mode débogage" #: library/asyncio-eventloop.rst:1346 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "" #: library/asyncio-eventloop.rst:1348 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." msgstr "" #: library/asyncio-eventloop.rst:1354 msgid "Set the debug mode of the event loop." msgstr "Active le mode débogage pour la boucle d'évènements." #: library/asyncio-eventloop.rst:1358 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." msgstr "" #: library/asyncio-eventloop.rst:1363 msgid "The :ref:`debug mode of asyncio `." msgstr "" #: library/asyncio-eventloop.rst:1367 msgid "Running Subprocesses" msgstr "" #: library/asyncio-eventloop.rst:1369 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 "" #: library/asyncio-eventloop.rst:1376 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 "" #: library/asyncio-eventloop.rst:1385 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" #: library/asyncio-eventloop.rst:1388 msgid "*args* must be a list of strings represented by:" msgstr "" #: library/asyncio-eventloop.rst:1390 #, fuzzy msgid ":class:`str`;" msgstr ":class:`str`" #: library/asyncio-eventloop.rst:1391 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." msgstr "" #: library/asyncio-eventloop.rst:1394 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 "" #: library/asyncio-eventloop.rst:1398 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 "" #: library/asyncio-eventloop.rst:1404 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." msgstr "" #: library/asyncio-eventloop.rst:1407 msgid "Other parameters:" msgstr "Autres paramètres :" #: library/asyncio-eventloop.rst:1409 msgid "*stdin* can be any of these:" msgstr "" #: library/asyncio-eventloop.rst:1411 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 "" #: library/asyncio-eventloop.rst:1414 library/asyncio-eventloop.rst:1426 #: library/asyncio-eventloop.rst:1438 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," msgstr "" #: library/asyncio-eventloop.rst:1416 library/asyncio-eventloop.rst:1428 #: library/asyncio-eventloop.rst:1440 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" msgstr "" #: library/asyncio-eventloop.rst:1418 library/asyncio-eventloop.rst:1430 #: library/asyncio-eventloop.rst:1442 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" msgstr "" #: library/asyncio-eventloop.rst:1421 msgid "*stdout* can be any of these:" msgstr "" #: library/asyncio-eventloop.rst:1423 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 "" #: library/asyncio-eventloop.rst:1433 msgid "*stderr* can be any of these:" msgstr "" #: library/asyncio-eventloop.rst:1435 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 "" #: library/asyncio-eventloop.rst:1444 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" msgstr "" #: library/asyncio-eventloop.rst:1447 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 "" #: library/asyncio-eventloop.rst:1452 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 "" #: library/asyncio-eventloop.rst:1456 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." msgstr "" #: library/asyncio-eventloop.rst:1459 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 "" #: library/asyncio-eventloop.rst:1467 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 "" #: library/asyncio-eventloop.rst:1472 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." msgstr "" #: library/asyncio-eventloop.rst:1475 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." msgstr "" #: library/asyncio-eventloop.rst:1478 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." msgstr "" #: library/asyncio-eventloop.rst:1481 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 "" #: library/asyncio-eventloop.rst:1486 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 "" #: library/asyncio-eventloop.rst:1495 msgid "Callback Handles" msgstr "" #: library/asyncio-eventloop.rst:1499 msgid "" "A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." "call_soon_threadsafe`." msgstr "" #: library/asyncio-eventloop.rst:1504 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." msgstr "" #: library/asyncio-eventloop.rst:1509 msgid "Return ``True`` if the callback was cancelled." msgstr "Renvoie ``True`` si la fonction de rappel à été annulé." #: library/asyncio-eventloop.rst:1515 msgid "" "A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" "`loop.call_at`." msgstr "" #: library/asyncio-eventloop.rst:1518 msgid "This class is a subclass of :class:`Handle`." msgstr "" #: library/asyncio-eventloop.rst:1522 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" #: library/asyncio-eventloop.rst:1524 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." msgstr "" #: library/asyncio-eventloop.rst:1531 msgid "Server Objects" msgstr "Objets Serveur" #: library/asyncio-eventloop.rst:1533 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 "" #: library/asyncio-eventloop.rst:1537 msgid "Do not instantiate the class directly." msgstr "" #: library/asyncio-eventloop.rst:1541 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 "" #: library/asyncio-eventloop.rst:1554 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" #: library/asyncio-eventloop.rst:1559 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" #: library/asyncio-eventloop.rst:1562 msgid "" "The sockets that represent existing incoming client connections are left " "open." msgstr "" #: library/asyncio-eventloop.rst:1565 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." msgstr "" #: library/asyncio-eventloop.rst:1570 msgid "Return the event loop associated with the server object." msgstr "" #: library/asyncio-eventloop.rst:1576 msgid "Start accepting connections." msgstr "Commence à accepter les connexions." #: library/asyncio-eventloop.rst:1578 msgid "" "This method is idempotent, so it can be called when the server is already " "serving." msgstr "" #: library/asyncio-eventloop.rst:1581 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 "" #: library/asyncio-eventloop.rst:1592 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." msgstr "" #: library/asyncio-eventloop.rst:1596 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 "" #: library/asyncio-eventloop.rst:1618 msgid "Return ``True`` if the server is accepting new connections." msgstr "Donne ``True`` si le serveur accepte de nouvelles connexions." #: library/asyncio-eventloop.rst:1624 msgid "Wait until the :meth:`close` method completes." msgstr "Attends que la méthode :meth:`close` se termine." #: library/asyncio-eventloop.rst:1628 msgid "List of :class:`socket.socket` objects the server is listening on." msgstr "" #: library/asyncio-eventloop.rst:1630 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 "" #: library/asyncio-eventloop.rst:1640 msgid "Event Loop Implementations" msgstr "Implémentations de boucle d'évènements" #: library/asyncio-eventloop.rst:1642 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" #: library/asyncio-eventloop.rst:1645 msgid "" "By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " "and :class:`ProactorEventLoop` on Windows." msgstr "" #: library/asyncio-eventloop.rst:1651 msgid "An event loop based on the :mod:`selectors` module." msgstr "" #: library/asyncio-eventloop.rst:1653 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 "" #: library/asyncio-eventloop.rst:1668 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilité ` : Unix, Windows." #: library/asyncio-eventloop.rst:1673 msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." msgstr "" #: library/asyncio-eventloop.rst:1676 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." #: library/asyncio-eventloop.rst:1679 msgid "" "`MSDN documentation on I/O Completion Ports `_." msgstr "" #: library/asyncio-eventloop.rst:1685 msgid "Abstract base class for asyncio-compliant event loops." msgstr "" #: library/asyncio-eventloop.rst:1687 msgid "" "The :ref:`asyncio-event-loop-methods` section lists all methods that an " "alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" #: library/asyncio-eventloop.rst:1693 msgid "Examples" msgstr "Exemples" #: library/asyncio-eventloop.rst:1695 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 "" #: library/asyncio-eventloop.rst:1705 msgid "Hello World with call_soon()" msgstr "\"Hello World\" avec ``call_soon()``" #: library/asyncio-eventloop.rst:1707 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 "" #: library/asyncio-eventloop.rst:1731 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." msgstr "" #: library/asyncio-eventloop.rst:1738 msgid "Display the current date with call_later()" msgstr "Afficher la date actuelle avec ``call_later()``" #: library/asyncio-eventloop.rst:1740 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 "" #: library/asyncio-eventloop.rst:1768 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." msgstr "" #: library/asyncio-eventloop.rst:1775 msgid "Watch a file descriptor for read events" msgstr "" #: library/asyncio-eventloop.rst:1777 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" msgstr "" #: library/asyncio-eventloop.rst:1815 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." msgstr "" #: library/asyncio-eventloop.rst:1819 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." msgstr "" #: library/asyncio-eventloop.rst:1827 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Définit les gestionnaires de signaux pour *SIGINT* et *SIGTERM*" #: library/asyncio-eventloop.rst:1829 msgid "(This ``signals`` example only works on Unix.)" msgstr "(Cet exemple ne fonctionne que sur Unix.)" #: library/asyncio-eventloop.rst:1831 msgid "" "Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " "the :meth:`loop.add_signal_handler` method::" msgstr ""