# 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: 2019-11-15 18:54+0100\n"
"PO-Revision-Date: 2019-06-18 22:29+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.2\n"

#: ../Doc/library/asyncio-protocol.rst:9
msgid "Transports and Protocols"
msgstr "Transports et Protocoles"

#: ../Doc/library/asyncio-protocol.rst:12
msgid "Preface"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:13
msgid ""
"Transports and Protocols are used by the **low-level** event loop APIs such "
"as :meth:`loop.create_connection`.  They use callback-based programming "
"style and enable high-performance implementations of network or IPC "
"protocols (e.g. HTTP)."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:18
msgid ""
"Essentially, transports and protocols should only be used in libraries and "
"frameworks and never in high-level asyncio applications."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:22
msgid "This documentation page covers both `Transports`_ and `Protocols`_."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:25
msgid "Introduction"
msgstr "Introduction"

#: ../Doc/library/asyncio-protocol.rst:26
msgid ""
"At the highest level, the transport is concerned with *how* bytes are "
"transmitted, while the protocol determines *which* bytes to transmit (and to "
"some extent when)."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:30
msgid ""
"A different way of saying the same thing: a transport is an abstraction for "
"a socket (or similar I/O endpoint) while a protocol is an abstraction for an "
"application, from the transport's point of view."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:35
msgid ""
"Yet another view is the transport and protocol interfaces together define an "
"abstract interface for using network I/O and interprocess I/O."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:39
msgid ""
"There is always a 1:1 relationship between transport and protocol objects: "
"the protocol calls transport methods to send data, while the transport calls "
"protocol methods to pass it data that has been received."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:44
msgid ""
"Most of connection oriented event loop methods (such as :meth:`loop."
"create_connection`) usually accept a *protocol_factory* argument used to "
"create a *Protocol* object for an accepted connection, represented by a "
"*Transport* object. Such methods usually return a tuple of ``(transport, "
"protocol)``."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:51
msgid "Contents"
msgstr "Sommaire"

#: ../Doc/library/asyncio-protocol.rst:52
msgid "This documentation page contains the following sections:"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:54
msgid ""
"The `Transports`_ section documents asyncio :class:`BaseTransport`, :class:"
"`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, :class:"
"`DatagramTransport`, and :class:`SubprocessTransport` classes."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:59
msgid ""
"The `Protocols`_ section documents asyncio :class:`BaseProtocol`, :class:"
"`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol`, and :class:"
"`SubprocessProtocol` classes."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:63
msgid ""
"The `Examples`_ section showcases how to work with transports, protocols, "
"and low-level event loop APIs."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:70
msgid "Transports"
msgstr "Transports"

#: ../Doc/library/asyncio-protocol.rst:72
msgid "**Source code:** :source:`Lib/asyncio/transports.py`"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:76
msgid ""
"Transports are classes provided by :mod:`asyncio` in order to abstract "
"various kinds of communication channels."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:79
msgid ""
"Transport objects are always instantiated by an :ref:`asyncio event loop "
"<asyncio-event-loop>`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:82
msgid ""
"asyncio implements transports for TCP, UDP, SSL, and subprocess pipes. The "
"methods available on a transport depend on the transport's kind."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:85
msgid ""
"The transport classes are :ref:`not thread safe <asyncio-multithreading>`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:89
msgid "Transports Hierarchy"
msgstr "Hiérarchie des transports"

#: ../Doc/library/asyncio-protocol.rst:93
msgid ""
"Base class for all transports.  Contains methods that all asyncio transports "
"share."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:98
msgid "A base transport for write-only connections."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:100
msgid ""
"Instances of the *WriteTransport* class are returned from the :meth:`loop."
"connect_write_pipe` event loop method and are also used by subprocess-"
"related methods like :meth:`loop.subprocess_exec`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:107
msgid "A base transport for read-only connections."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:109
msgid ""
"Instances of the *ReadTransport* class are returned from the :meth:`loop."
"connect_read_pipe` event loop method and are also used by subprocess-related "
"methods like :meth:`loop.subprocess_exec`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:116
msgid ""
"Interface representing a bidirectional transport, such as a TCP connection."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:119
msgid ""
"The user does not instantiate a transport directly; they call a utility "
"function, passing it a protocol factory and other information necessary to "
"create the transport and protocol."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:123
msgid ""
"Instances of the *Transport* class are returned from or used by event loop "
"methods like :meth:`loop.create_connection`, :meth:`loop."
"create_unix_connection`, :meth:`loop.create_server`, :meth:`loop.sendfile`, "
"etc."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:131
msgid "A transport for datagram (UDP) connections."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:133
msgid ""
"Instances of the *DatagramTransport* class are returned from the :meth:`loop."
"create_datagram_endpoint` event loop method."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:139
msgid ""
"An abstraction to represent a connection between a parent and its child OS "
"process."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:142
msgid ""
"Instances of the *SubprocessTransport* class are returned from event loop "
"methods :meth:`loop.subprocess_shell` and :meth:`loop.subprocess_exec`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:148
msgid "Base Transport"
msgstr "Classe de base des Transports"

#: ../Doc/library/asyncio-protocol.rst:152
msgid "Close the transport."
msgstr "Ferme le transport."

#: ../Doc/library/asyncio-protocol.rst:154
msgid ""
"If the transport has a buffer for outgoing data, buffered data will be "
"flushed asynchronously.  No more data will be received.  After all buffered "
"data is flushed, the protocol's :meth:`protocol.connection_lost() "
"<BaseProtocol.connection_lost>` method will be called with :const:`None` as "
"its argument."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:163
msgid "Return ``True`` if the transport is closing or is closed."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:167
msgid "Return information about the transport or underlying resources it uses."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:170
msgid ""
"*name* is a string representing the piece of transport-specific information "
"to get."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:173
msgid ""
"*default* is the value to return if the information is not available, or if "
"the transport does not support querying it with the given third-party event "
"loop implementation or on the current platform."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:178
msgid ""
"For example, the following code attempts to get the underlying socket object "
"of the transport::"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:185
msgid "Categories of information that can be queried on some transports:"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:187
msgid "socket:"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:189
msgid ""
"``'peername'``: the remote address to which the socket is connected, result "
"of :meth:`socket.socket.getpeername` (``None`` on error)"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:193
msgid "``'socket'``: :class:`socket.socket` instance"
msgstr "``'socket'`` : Instance de :class:`socket.socket`"

#: ../Doc/library/asyncio-protocol.rst:195
msgid ""
"``'sockname'``: the socket's own address, result of :meth:`socket.socket."
"getsockname`"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:198
msgid "SSL socket:"
msgstr "Connecteur (*socket* en anglais) SSL :"

#: ../Doc/library/asyncio-protocol.rst:200
msgid ""
"``'compression'``: the compression algorithm being used as a string, or "
"``None`` if the connection isn't compressed; result of :meth:`ssl.SSLSocket."
"compression`"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:204
msgid ""
"``'cipher'``: a three-value tuple containing the name of the cipher being "
"used, the version of the SSL protocol that defines its use, and the number "
"of secret bits being used; result of :meth:`ssl.SSLSocket.cipher`"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:209
msgid ""
"``'peercert'``: peer certificate; result of :meth:`ssl.SSLSocket.getpeercert`"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:212
msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance"
msgstr "``sslcontext'`` : Instance de :class:`ssl.SSLContext`"

#: ../Doc/library/asyncio-protocol.rst:214
msgid ""
"``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:217
msgid "pipe:"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:219
msgid "``'pipe'``: pipe object"
msgstr "``'pipe'`` : objet *pipe*"

#: ../Doc/library/asyncio-protocol.rst:221
msgid "subprocess:"
msgstr "sous-processus :"

#: ../Doc/library/asyncio-protocol.rst:223
msgid "``'subprocess'``: :class:`subprocess.Popen` instance"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:227
msgid "Set a new protocol."
msgstr "Change le protocole."

#: ../Doc/library/asyncio-protocol.rst:229
msgid ""
"Switching protocol should only be done when both protocols are documented to "
"support the switch."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:234
msgid "Return the current protocol."
msgstr "Renvoie le protocole courant."

#: ../Doc/library/asyncio-protocol.rst:238
msgid "Read-only Transports"
msgstr "Transports en lecture seule"

#: ../Doc/library/asyncio-protocol.rst:242
msgid "Return ``True`` if the transport is receiving new data."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:248
msgid ""
"Pause the receiving end of the transport.  No data will be passed to the "
"protocol's :meth:`protocol.data_received() <Protocol.data_received>` method "
"until :meth:`resume_reading` is called."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:252
msgid ""
"The method is idempotent, i.e. it can be called when the transport is "
"already paused or closed."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:258
msgid ""
"Resume the receiving end.  The protocol's :meth:`protocol.data_received() "
"<Protocol.data_received>` method will be called once again if some data is "
"available for reading."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:262
msgid ""
"The method is idempotent, i.e. it can be called when the transport is "
"already reading."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:268
msgid "Write-only Transports"
msgstr "Transports en lecture/écriture"

#: ../Doc/library/asyncio-protocol.rst:272
msgid ""
"Close the transport immediately, without waiting for pending operations to "
"complete.  Buffered data will be lost.  No more data will be received. The "
"protocol's :meth:`protocol.connection_lost() <BaseProtocol.connection_lost>` "
"method will eventually be called with :const:`None` as its argument."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:280
msgid ""
"Return :const:`True` if the transport supports :meth:`~WriteTransport."
"write_eof`, :const:`False` if not."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:285
msgid "Return the current size of the output buffer used by the transport."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:289
msgid ""
"Get the *high* and *low* watermarks for write flow control. Return a tuple "
"``(low, high)`` where *low* and *high* are positive number of bytes."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:293
msgid "Use :meth:`set_write_buffer_limits` to set the limits."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:299
msgid "Set the *high* and *low* watermarks for write flow control."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:301
msgid ""
"These two values (measured in number of bytes) control when the protocol's :"
"meth:`protocol.pause_writing() <BaseProtocol.pause_writing>` and :meth:"
"`protocol.resume_writing() <BaseProtocol.resume_writing>` methods are "
"called. If specified, the low watermark must be less than or equal to the "
"high watermark.  Neither *high* nor *low* can be negative."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:309
msgid ""
":meth:`~BaseProtocol.pause_writing` is called when the buffer size becomes "
"greater than or equal to the *high* value. If writing has been paused, :meth:"
"`~BaseProtocol.resume_writing` is called when the buffer size becomes less "
"than or equal to the *low* value."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:314
msgid ""
"The defaults are implementation-specific.  If only the high watermark is "
"given, the low watermark defaults to an implementation-specific value less "
"than or equal to the high watermark.  Setting *high* to zero forces *low* to "
"zero as well, and causes :meth:`~BaseProtocol.pause_writing` to be called "
"whenever the buffer becomes non-empty.  Setting *low* to zero causes :meth:"
"`~BaseProtocol.resume_writing` to be called only once the buffer is empty. "
"Use of zero for either limit is generally sub-optimal as it reduces "
"opportunities for doing I/O and computation concurrently."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:325
msgid "Use :meth:`~WriteTransport.get_write_buffer_limits` to get the limits."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:330
msgid "Write some *data* bytes to the transport."
msgstr "Écrit des octets de *data* sur le transport."

#: ../Doc/library/asyncio-protocol.rst:332
#: ../Doc/library/asyncio-protocol.rst:361
msgid ""
"This method does not block; it buffers the data and arranges for it to be "
"sent out asynchronously."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:337
msgid ""
"Write a list (or any iterable) of data bytes to the transport. This is "
"functionally equivalent to calling :meth:`write` on each element yielded by "
"the iterable, but may be implemented more efficiently."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:344
msgid ""
"Close the write end of the transport after flushing all buffered data. Data "
"may still be received."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:347
msgid ""
"This method can raise :exc:`NotImplementedError` if the transport (e.g. SSL) "
"doesn't support half-closed connections."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:352
msgid "Datagram Transports"
msgstr "Transports de datagrammes"

#: ../Doc/library/asyncio-protocol.rst:356
msgid ""
"Send the *data* bytes to the remote peer given by *addr* (a transport-"
"dependent target address).  If *addr* is :const:`None`, the data is sent to "
"the target address given on transport creation."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:366
msgid ""
"Close the transport immediately, without waiting for pending operations to "
"complete.  Buffered data will be lost. No more data will be received.  The "
"protocol's :meth:`protocol.connection_lost() <BaseProtocol.connection_lost>` "
"method will eventually be called with :const:`None` as its argument."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:376
msgid "Subprocess Transports"
msgstr "Transports vers des sous-processus"

#: ../Doc/library/asyncio-protocol.rst:380
msgid "Return the subprocess process id as an integer."
msgstr ""
"Donne l'identifiant du sous processus sous la forme d'un nombre entier."

#: ../Doc/library/asyncio-protocol.rst:384
msgid ""
"Return the transport for the communication pipe corresponding to the integer "
"file descriptor *fd*:"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:387
msgid ""
"``0``: readable streaming transport of the standard input (*stdin*), or :"
"const:`None` if the subprocess was not created with ``stdin=PIPE``"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:389
msgid ""
"``1``: writable streaming transport of the standard output (*stdout*), or :"
"const:`None` if the subprocess was not created with ``stdout=PIPE``"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:391
msgid ""
"``2``: writable streaming transport of the standard error (*stderr*), or :"
"const:`None` if the subprocess was not created with ``stderr=PIPE``"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:393
msgid "other *fd*: :const:`None`"
msgstr "autre *fd* : :const:`None`"

#: ../Doc/library/asyncio-protocol.rst:397
msgid ""
"Return the subprocess return code as an integer or :const:`None` if it "
"hasn't returned, which is similar to the :attr:`subprocess.Popen.returncode` "
"attribute."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:403
msgid "Kill the subprocess."
msgstr "Tue le sous-processus."

#: ../Doc/library/asyncio-protocol.rst:405
msgid ""
"On POSIX systems, the function sends SIGKILL to the subprocess. On Windows, "
"this method is an alias for :meth:`terminate`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:408
msgid "See also :meth:`subprocess.Popen.kill`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:412
msgid ""
"Send the *signal* number to the subprocess, as in :meth:`subprocess.Popen."
"send_signal`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:417
msgid "Stop the subprocess."
msgstr "Termine le sous-processus."

#: ../Doc/library/asyncio-protocol.rst:419
msgid ""
"On POSIX systems, this method sends SIGTERM to the subprocess. On Windows, "
"the Windows API function TerminateProcess() is called to stop the subprocess."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:423
msgid "See also :meth:`subprocess.Popen.terminate`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:427
msgid "Kill the subprocess by calling the :meth:`kill` method."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:429
msgid ""
"If the subprocess hasn't returned yet, and close transports of *stdin*, "
"*stdout*, and *stderr* pipes."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:436
msgid "Protocols"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:438
msgid "**Source code:** :source:`Lib/asyncio/protocols.py`"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:442
msgid ""
"asyncio provides a set of abstract base classes that should be used to "
"implement network protocols.  Those classes are meant to be used together "
"with :ref:`transports <asyncio-transport>`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:446
msgid ""
"Subclasses of abstract base protocol classes may implement some or all "
"methods.  All these methods are callbacks: they are called by transports on "
"certain events, for example when some data is received. A base protocol "
"method should be called by the corresponding transport."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:453
msgid "Base Protocols"
msgstr "Protocoles de base"

#: ../Doc/library/asyncio-protocol.rst:457
msgid "Base protocol with methods that all protocols share."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:461
msgid ""
"The base class for implementing streaming protocols (TCP, Unix sockets, etc)."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:466
msgid ""
"A base class for implementing streaming protocols with manual control of the "
"receive buffer."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:471
msgid "The base class for implementing datagram (UDP) protocols."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:475
msgid ""
"The base class for implementing protocols communicating with child processes "
"(unidirectional pipes)."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:480
#, fuzzy
msgid "Base Protocol"
msgstr "Protocoles de base"

#: ../Doc/library/asyncio-protocol.rst:482
msgid "All asyncio protocols can implement Base Protocol callbacks."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:485
msgid "Connection Callbacks"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:486
msgid ""
"Connection callbacks are called on all protocols, exactly once per a "
"successful connection.  All other protocol callbacks can only be called "
"between those two methods."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:492
msgid "Called when a connection is made."
msgstr "Appelé lorsqu'une connexion est établie."

#: ../Doc/library/asyncio-protocol.rst:494
msgid ""
"The *transport* argument is the transport representing the connection.  The "
"protocol is responsible for storing the reference to its transport."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:500
msgid "Called when the connection is lost or closed."
msgstr "Appelé lorsqu'une connexion est perdue ou fermée."

#: ../Doc/library/asyncio-protocol.rst:502
msgid ""
"The argument is either an exception object or :const:`None`. The latter "
"means a regular EOF is received, or the connection was aborted or closed by "
"this side of the connection."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:508
msgid "Flow Control Callbacks"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:509
msgid ""
"Flow control callbacks can be called by transports to pause or resume "
"writing performed by the protocol."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:512
msgid ""
"See the documentation of the :meth:`~WriteTransport.set_write_buffer_limits` "
"method for more details."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:517
msgid "Called when the transport's buffer goes over the high watermark."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:521
msgid "Called when the transport's buffer drains below the low watermark."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:523
msgid ""
"If the buffer size equals the high watermark, :meth:`~BaseProtocol."
"pause_writing` is not called: the buffer size must go strictly over."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:527
msgid ""
"Conversely, :meth:`~BaseProtocol.resume_writing` is called when the buffer "
"size is equal or lower than the low watermark.  These end conditions are "
"important to ensure that things go as expected when either mark is zero."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:534
msgid "Streaming Protocols"
msgstr "Protocoles connectés"

#: ../Doc/library/asyncio-protocol.rst:536
msgid ""
"Event methods, such as :meth:`loop.create_server`, :meth:`loop."
"create_unix_server`, :meth:`loop.create_connection`, :meth:`loop."
"create_unix_connection`, :meth:`loop.connect_accepted_socket`, :meth:`loop."
"connect_read_pipe`, and :meth:`loop.connect_write_pipe` accept factories "
"that return streaming protocols."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:544
msgid ""
"Called when some data is received.  *data* is a non-empty bytes object "
"containing the incoming data."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:547
msgid ""
"Whether the data is buffered, chunked or reassembled depends on the "
"transport.  In general, you shouldn't rely on specific semantics and instead "
"make your parsing generic and flexible. However, data is always received in "
"the correct order."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:552
msgid ""
"The method can be called an arbitrary number of times while a connection is "
"open."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:555
msgid ""
"However, :meth:`protocol.eof_received() <Protocol.eof_received>` is called "
"at most once.  Once `eof_received()` is called, ``data_received()`` is not "
"called anymore."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:561
msgid ""
"Called when the other end signals it won't send any more data (for example "
"by calling :meth:`transport.write_eof() <WriteTransport.write_eof>`, if the "
"other end also uses asyncio)."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:566
msgid ""
"This method may return a false value (including ``None``), in which case the "
"transport will close itself.  Conversely, if this method returns a true "
"value, the protocol used determines whether to close the transport. Since "
"the default implementation returns ``None``, it implicitly closes the "
"connection."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:572
msgid ""
"Some transports, including SSL, don't support half-closed connections, in "
"which case returning true from this method will result in the connection "
"being closed."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:577
#: ../Doc/library/asyncio-protocol.rst:638
msgid "State machine:"
msgstr "Machine à états :"

#: ../Doc/library/asyncio-protocol.rst:588
msgid "Buffered Streaming Protocols"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:590
msgid ""
"**Important:** this has been added to asyncio in Python 3.7 *on a "
"provisional basis*!  This is as an experimental API that might be changed or "
"removed completely in Python 3.8."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:595
msgid ""
"Buffered Protocols can be used with any event loop method that supports "
"`Streaming Protocols`_."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:598
msgid ""
"``BufferedProtocol`` implementations allow explicit manual allocation and "
"control of the receive buffer.  Event loops can then use the buffer provided "
"by the protocol to avoid unnecessary data copies.  This can result in "
"noticeable performance improvement for protocols that receive big amounts of "
"data.  Sophisticated protocol implementations can significantly reduce the "
"number of buffer allocations."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:605
msgid ""
"The following callbacks are called on :class:`BufferedProtocol` instances:"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:610
msgid "Called to allocate a new receive buffer."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:612
msgid ""
"*sizehint* is the recommended minimum size for the returned buffer.  It is "
"acceptable to return smaller or larger buffers than what *sizehint* "
"suggests.  When set to -1, the buffer size can be arbitrary. It is an error "
"to return a buffer with a zero size."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:617
msgid ""
"``get_buffer()`` must return an object implementing the :ref:`buffer "
"protocol <bufferobjects>`."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:622
msgid "Called when the buffer was updated with the received data."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:624
msgid "*nbytes* is the total number of bytes that were written to the buffer."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:628
msgid ""
"See the documentation of the :meth:`protocol.eof_received() <Protocol."
"eof_received>` method."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:632
msgid ""
":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of "
"times during a connection.  However, :meth:`protocol.eof_received() "
"<Protocol.eof_received>` is called at most once and, if called, :meth:"
"`~BufferedProtocol.get_buffer` and :meth:`~BufferedProtocol.buffer_updated` "
"won't be called after it."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:651
msgid "Datagram Protocols"
msgstr "Protocoles non-connectés"

#: ../Doc/library/asyncio-protocol.rst:653
msgid ""
"Datagram Protocol instances should be constructed by protocol factories "
"passed to the :meth:`loop.create_datagram_endpoint` method."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:658
msgid ""
"Called when a datagram is received.  *data* is a bytes object containing the "
"incoming data.  *addr* is the address of the peer sending the data; the "
"exact format depends on the transport."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:664
msgid ""
"Called when a previous send or receive operation raises an :class:"
"`OSError`.  *exc* is the :class:`OSError` instance."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:667
msgid ""
"This method is called in rare conditions, when the transport (e.g. UDP) "
"detects that a datagram could not be delivered to its recipient. In many "
"conditions though, undeliverable datagrams will be silently dropped."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:674
msgid ""
"On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for "
"datagram protocols, because there is no reliable way to detect send failures "
"caused by writing too many packets."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:678
msgid ""
"The socket always appears 'ready' and excess packets are dropped. An :class:"
"`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not be "
"raised; if it is raised, it will be reported to :meth:`DatagramProtocol."
"error_received` but otherwise ignored."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:687
msgid "Subprocess Protocols"
msgstr "Protocoles liés aux sous-processus"

#: ../Doc/library/asyncio-protocol.rst:689
msgid ""
"Datagram Protocol instances should be constructed by protocol factories "
"passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` "
"methods."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:695
msgid ""
"Called when the child process writes data into its stdout or stderr pipe."
msgstr ""
"Appelé lorsqu'un processus enfant écrit sur sa sortie d'erreur ou sa sortie "
"standard."

#: ../Doc/library/asyncio-protocol.rst:698
msgid "*fd* is the integer file descriptor of the pipe."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:700
msgid "*data* is a non-empty bytes object containing the received data."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:704
msgid ""
"Called when one of the pipes communicating with the child process is closed."
msgstr ""
"Appelé lorsqu'une des *pipe*\\ s de communication avec un sous-processus est "
"fermée."

#: ../Doc/library/asyncio-protocol.rst:707
msgid "*fd* is the integer file descriptor that was closed."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:711
msgid "Called when the child process has exited."
msgstr "Appelé lorsqu'un processus enfant se termine."

#: ../Doc/library/asyncio-protocol.rst:715
msgid "Examples"
msgstr "Exemples"

#: ../Doc/library/asyncio-protocol.rst:720
msgid "TCP Echo Server"
msgstr "Serveur de *ping* en TCP"

#: ../Doc/library/asyncio-protocol.rst:722
msgid ""
"Create a TCP echo server using the :meth:`loop.create_server` method, send "
"back received data, and close the connection::"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:763
msgid ""
"The :ref:`TCP echo server using streams <asyncio-tcp-echo-server-streams>` "
"example uses the high-level :func:`asyncio.start_server` function."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:769
msgid "TCP Echo Client"
msgstr "Client de *ping* en TCP"

#: ../Doc/library/asyncio-protocol.rst:771
msgid ""
"A TCP echo client using the :meth:`loop.create_connection` method, sends "
"data, and waits until the connection is closed::"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:819
msgid ""
"The :ref:`TCP echo client using streams <asyncio-tcp-echo-client-streams>` "
"example uses the high-level :func:`asyncio.open_connection` function."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:826
msgid "UDP Echo Server"
msgstr "Serveur de *ping* en UDP"

#: ../Doc/library/asyncio-protocol.rst:828
msgid ""
"A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, "
"sends back received data::"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:870
msgid "UDP Echo Client"
msgstr "Client de *ping* en UDP"

#: ../Doc/library/asyncio-protocol.rst:872
msgid ""
"A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, "
"sends data and closes the transport when it receives the answer::"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:927
msgid "Connecting Existing Sockets"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:929
msgid ""
"Wait until a socket receives data using the :meth:`loop.create_connection` "
"method with a protocol::"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:983
msgid ""
"The :ref:`watch a file descriptor for read events "
"<asyncio_example_watch_fd>` example uses the low-level :meth:`loop."
"add_reader` method to register an FD."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:987
msgid ""
"The :ref:`register an open socket to wait for data using streams "
"<asyncio_example_create_connection-streams>` example uses high-level streams "
"created by the :func:`open_connection` function in a coroutine."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:994
msgid "loop.subprocess_exec() and SubprocessProtocol"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:996
msgid ""
"An example of a subprocess protocol used to get the output of a subprocess "
"and to wait for the subprocess exit."
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:999
msgid "The subprocess is created by th :meth:`loop.subprocess_exec` method::"
msgstr ""

#: ../Doc/library/asyncio-protocol.rst:1045
msgid ""
"See also the :ref:`same example <asyncio_example_create_subprocess_exec>` "
"written using high-level APIs."
msgstr ""

#~ msgid "Transports and protocols (callback based API)"
#~ msgstr "Transports et protocoles (APi basée sur des fonctions de rappel)"

#~ msgid "``'ssl_object'`` info was added to SSL sockets."
#~ msgstr "``'ssl_object'`` est ajouté aux *sockets* SSL."

#~ msgid "Interface for read-only transports."
#~ msgstr "Interface pour les transports en lecture seule."

#~ msgid "Interface for write-only transports."
#~ msgstr "Interface pour les transports en écriture seule."

#~ msgid "Protocol examples"
#~ msgstr "Exemples de protocole"
