Working on howto/sockets.po (#621)

This commit is contained in:
Vincent 2019-04-03 23:49:19 +02:00 committed by Julien Palard
parent db5efbbf8e
commit b8ad383629

View File

@ -24,7 +24,7 @@ msgstr "Auteur"
#: ../Doc/howto/sockets.rst:7 #: ../Doc/howto/sockets.rst:7
msgid "Gordon McMillan" msgid "Gordon McMillan"
msgstr "" msgstr "Gordon McMillan"
#: ../Doc/howto/sockets.rst:None #: ../Doc/howto/sockets.rst:None
msgid "Abstract" msgid "Abstract"
@ -55,6 +55,17 @@ msgid ""
"blocking sockets. But I'll start by talking about blocking sockets. You'll " "blocking sockets. But I'll start by talking about blocking sockets. You'll "
"need to know how they work before dealing with non-blocking sockets." "need to know how they work before dealing with non-blocking sockets."
msgstr "" msgstr ""
"Je ne vais aborder que les connecteurs INET (i.e. IPv4), mais ils "
"représentent au moins 99% des connecteurs (*socket* en anglais) utilisés. Et "
"je n'aborderai que les connecteurs STREAM (i.e. TCP) — à moins que vous ne "
"sachiez vraiment ce que vous faites (auquel cas ce HOWTO n'est pas pour "
"vous !), vous obtiendrez un meilleur comportement et de meilleures "
"performances avec un connecteur STREAM que tout autre. Je vais essayer "
"d'éclaircir le mystère de ce qu'est un connecteur, ainsi que quelques "
"conseils sur la façon de travailler avec des connecteurs bloquants et non "
"bloquants. Mais je vais commencer par aborder les connecteurs bloquants. "
"Nous avons besoin de savoir comment ils fonctionnent avant de traiter les "
"connecteurs non bloquants."
#: ../Doc/howto/sockets.rst:31 #: ../Doc/howto/sockets.rst:31
msgid "" msgid ""
@ -89,7 +100,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:54 #: ../Doc/howto/sockets.rst:54
msgid "Creating a Socket" msgid "Creating a Socket"
msgstr "Créer un *socket*" msgstr "Créer un connecteur"
#: ../Doc/howto/sockets.rst:56 #: ../Doc/howto/sockets.rst:56
msgid "" msgid ""
@ -120,6 +131,12 @@ msgid ""
"machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any " "machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any "
"address the machine happens to have." "address the machine happens to have."
msgstr "" msgstr ""
"Quelques remarques : nous avons utilisé ``socket.gethostname()`` pour que le "
"connecteur soit visible par le monde extérieur. Si nous avions utilisé ``s."
"bind((('localhost', 80))`` ou ``s.bind((('127.0.0.0.1', 80))`` nous aurions "
"encore un connecteur \"serveur\", mais qui ne serait visible que sur la "
"machine même. ``s.bind('', 80)]`` spécifie que le socket est accessible par "
"toute adresse que la machine possède."
#: ../Doc/howto/sockets.rst:87 #: ../Doc/howto/sockets.rst:87
msgid "" msgid ""
@ -127,6 +144,9 @@ msgid ""
"known\" services (HTTP, SNMP etc). If you're playing around, use a nice high " "known\" services (HTTP, SNMP etc). If you're playing around, use a nice high "
"number (4 digits)." "number (4 digits)."
msgstr "" msgstr ""
"Une deuxième chose à noter : les ports dont le numéro est petit sont "
"généralement réservés aux services \"bien connus\" (HTTP, SNMP, etc.). Si "
"vous expérimentez, utilisez un nombre suffisamment élevé (4 chiffres)."
#: ../Doc/howto/sockets.rst:91 #: ../Doc/howto/sockets.rst:91
msgid "" msgid ""
@ -135,6 +155,10 @@ msgid ""
"outside connections. If the rest of the code is written properly, that " "outside connections. If the rest of the code is written properly, that "
"should be plenty." "should be plenty."
msgstr "" msgstr ""
"Enfin, l'argument ``listen`` indique à la bibliothèque de connecteurs que "
"nous voulons qu'elle mette en file d'attente jusqu'à 5 requêtes de connexion "
"(le maximum normal) avant de refuser les connexions externes. Si le reste du "
"code est écrit correctement, cela devrait suffire."
#: ../Doc/howto/sockets.rst:95 #: ../Doc/howto/sockets.rst:95
msgid "" msgid ""
@ -160,7 +184,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:121 #: ../Doc/howto/sockets.rst:121
msgid "IPC" msgid "IPC"
msgstr "" msgstr "Communication Entre Processus"
#: ../Doc/howto/sockets.rst:123 #: ../Doc/howto/sockets.rst:123
msgid "" msgid ""
@ -170,6 +194,11 @@ msgid ""
"a shortcut around a couple of layers of network code and be quite a bit " "a shortcut around a couple of layers of network code and be quite a bit "
"faster." "faster."
msgstr "" msgstr ""
"Si vous avez besoin d'une communication rapide entre deux processus sur une "
"même machine, vous devriez regarder comment utiliser les *pipes* ou la "
"mémoire partagée. Si vous décidez d'utiliser les sockets AF_INET, liez le "
"connecteur \"serveur\" à ``'localhost'``. Sur la plupart des plates-formes, "
"cela court-circuitera quelques couches réseau et sera un peu plus rapide."
#: ../Doc/howto/sockets.rst:129 #: ../Doc/howto/sockets.rst:129
msgid "" msgid ""
@ -229,6 +258,10 @@ msgid ""
"request, then reads a reply. That's it. The socket is discarded. This means " "request, then reads a reply. That's it. The socket is discarded. This means "
"that a client can detect the end of the reply by receiving 0 bytes." "that a client can detect the end of the reply by receiving 0 bytes."
msgstr "" msgstr ""
"Un protocole comme HTTP utilise un connecteur pour un seul transfert. Le "
"client envoie une demande, puis lit une réponse. C'est tout. Le connecteur "
"est mis au rebut. Cela signifie qu'un client peut détecter la fin de la "
"réponse en recevant 0 octet."
#: ../Doc/howto/sockets.rst:169 #: ../Doc/howto/sockets.rst:169
msgid "" msgid ""
@ -243,12 +276,27 @@ msgid ""
"they are* (much better), *or end by shutting down the connection*. The " "they are* (much better), *or end by shutting down the connection*. The "
"choice is entirely yours, (but some ways are righter than others)." "choice is entirely yours, (but some ways are righter than others)."
msgstr "" msgstr ""
"Mais si vous prévoyez de réutiliser votre connecteur pour d'autres "
"transferts, vous devez réaliser que il n'y a *pas* d':abbr:`EOT (End of "
"Transfer)` sur un connecteur. Je répète : si un connecteur ``send`` ou "
"``recv`` retourne après avoir manipulé 0 octets, la connexion a été "
"interrompue. Si la connexion n'a *pas* été interrompue, vous pouvez attendre "
"sur un ``recv`` pour toujours, car le connecteur ne vous dira pas qu'il n'y "
"a plus rien à lire (pour le moment). Maintenant, si vous y réfléchissez un "
"peu, vous allez vous rendre compte d'une vérité fondamentale sur les "
"connecteurs : *les messages doivent être de longueur fixe* (beurk), *ou être "
"délimités* (haussement d'épaules), *ou indiquer de quelle longueur ils sont* "
"(beaucoup mieux), *ou terminer en coupant la connexion*. Le choix est "
"entièrement de votre côté, (mais certaines façons sont plus justes que "
"d'autres)."
#: ../Doc/howto/sockets.rst:180 #: ../Doc/howto/sockets.rst:180
msgid "" msgid ""
"Assuming you don't want to end the connection, the simplest solution is a " "Assuming you don't want to end the connection, the simplest solution is a "
"fixed length message::" "fixed length message::"
msgstr "" msgstr ""
"En supposant que vous ne vouliez pas terminer la connexion, la solution la "
"plus simple est un message de longueur fixe ::"
#: ../Doc/howto/sockets.rst:217 #: ../Doc/howto/sockets.rst:217
msgid "" msgid ""
@ -300,7 +348,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:252 #: ../Doc/howto/sockets.rst:252
msgid "Binary Data" msgid "Binary Data"
msgstr "" msgstr "Données binaires"
#: ../Doc/howto/sockets.rst:254 #: ../Doc/howto/sockets.rst:254
msgid "" msgid ""
@ -326,7 +374,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:272 #: ../Doc/howto/sockets.rst:272
msgid "Disconnecting" msgid "Disconnecting"
msgstr "" msgstr "Déconnexion"
#: ../Doc/howto/sockets.rst:274 #: ../Doc/howto/sockets.rst:274
msgid "" msgid ""
@ -390,6 +438,10 @@ msgid ""
"calls, in much the same ways. It's just that, if you do it right, your app " "calls, in much the same ways. It's just that, if you do it right, your app "
"will be almost inside-out." "will be almost inside-out."
msgstr "" msgstr ""
"Si vous avez compris ce qui précède, vous savez déjà tout ce que vous devez "
"savoir sur la mécanique de l'utilisation des connecteurs. Vous utiliserez "
"toujours les mêmes appels, de la même façon. C'est juste que, si vous le "
"faites bien, votre application sera presque dans la poche."
#: ../Doc/howto/sockets.rst:320 #: ../Doc/howto/sockets.rst:320
msgid "" msgid ""
@ -400,6 +452,13 @@ msgid ""
"the exact same idea. You do this after creating the socket, but before using " "the exact same idea. You do this after creating the socket, but before using "
"it. (Actually, if you're nuts, you can switch back and forth.)" "it. (Actually, if you're nuts, you can switch back and forth.)"
msgstr "" msgstr ""
"En Python, vous utilisez ``socket.setblocking(0)`` pour le rendre non-"
"bloquant. En C, c'est plus complexe, (pour commencer, vous devez choisir "
"entre la version BSD ``O_NONBLOCK`` et la version Posix presque impossible à "
"distinguer ``O_NDELAY``, qui est complètement différente de "
"``TCP_NODELAY``), mais c'est exactement la même idée. Vous le faites après "
"avoir créé le connecteur mais avant de l'utiliser (en fait, si vous êtes "
"fou, vous pouvez alterner)."
#: ../Doc/howto/sockets.rst:327 #: ../Doc/howto/sockets.rst:327
msgid "" msgid ""
@ -413,7 +472,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:334 #: ../Doc/howto/sockets.rst:334
msgid "Use ``select``." msgid "Use ``select``."
msgstr "" msgstr "Utiliser ``select``."
#: ../Doc/howto/sockets.rst:336 #: ../Doc/howto/sockets.rst:336
msgid "" msgid ""
@ -421,6 +480,9 @@ msgid ""
"but it's close enough to the C version that if you understand ``select`` in " "but it's close enough to the C version that if you understand ``select`` in "
"Python, you'll have little trouble with it in C::" "Python, you'll have little trouble with it in C::"
msgstr "" msgstr ""
"En C, implémenter ``select`` est assez complexe. En Python, c'est du gâteau, "
"mais c'est assez proche de la version C ; aussi, si vous comprenez "
"``select`` en Python, vous aurez peu de problèmes avec lui en C ::"
#: ../Doc/howto/sockets.rst:347 #: ../Doc/howto/sockets.rst:347
msgid "" msgid ""
@ -449,6 +511,14 @@ msgid ""
"nothing. (Actually, any reasonably healthy socket will return as writable - " "nothing. (Actually, any reasonably healthy socket will return as writable - "
"it just means outbound network buffer space is available.)" "it just means outbound network buffer space is available.)"
msgstr "" msgstr ""
"Si un connecteur se trouve dans la liste des sorties que vous pouvez lire, "
"vous pouvez être pratiquement certain qu'un ``recv`` sur ce connecteur "
"retournera *quelque chose*. Même chose pour la liste des sorties sur "
"lesquelles vous pouvez écrire. Vous pourrez envoyer *quelque chose*. Peut-"
"être pas tout ce que vous voudrez, mais *quelque chose* est mieux que rien. "
"(En fait, n'importe quel connecteur raisonnablement sain retournera en "
"écriture — cela signifie simplement que l'espace tampon réseau sortant est "
"disponible)."
#: ../Doc/howto/sockets.rst:366 #: ../Doc/howto/sockets.rst:366
msgid "" msgid ""
@ -458,6 +528,13 @@ msgid ""
"it in the potential_writers list. If it shows up in the writable list, you " "it in the potential_writers list. If it shows up in the writable list, you "
"have a decent chance that it has connected." "have a decent chance that it has connected."
msgstr "" msgstr ""
"Si vous avez un connecteur \"serveur\", mettez-le dans la liste des lecteurs "
"potentiels. Si il apparaît dans la liste des sorties que vous pouvez lire, "
"votre ``accept`` fonctionnera (presque certainement). Si vous avez créé un "
"nouveau connecteur pour ``connect`` à quelqu'un d'autre, mettez-le dans la "
"liste des éditeurs potentiels. Si il apparaît dans la liste des sorties sur "
"lesquelles vous pouvez écrire, vous avez une bonne chance qu'il se soit "
"connecté."
#: ../Doc/howto/sockets.rst:372 #: ../Doc/howto/sockets.rst:372
msgid "" msgid ""
@ -467,6 +544,11 @@ msgid ""
"problem of determining whether the other end is done, or just busy with " "problem of determining whether the other end is done, or just busy with "
"something else." "something else."
msgstr "" msgstr ""
"En fait, ``select`` peut être pratique même avec des connecteurs bloquants. "
"C'est une façon de déterminer si vous allez bloquer — le socket redevient "
"lisible lorsqu'il y a quelque chose dans les tampons. Cependant, cela n'aide "
"pas encore à déterminer si l'autre extrémité a terminé, ou si elle est "
"simplement occupée par autre chose."
#: ../Doc/howto/sockets.rst:377 #: ../Doc/howto/sockets.rst:377
msgid "" msgid ""
@ -476,3 +558,9 @@ msgid ""
"differently on Windows. In fact, on Windows I usually use threads (which " "differently on Windows. In fact, on Windows I usually use threads (which "
"work very, very well) with my sockets." "work very, very well) with my sockets."
msgstr "" msgstr ""
"**Alerte de portabilité** : Sous Unix, ``select`` fonctionne aussi bien avec "
"les connecteurs qu'avec les fichiers. N'essayez pas cela sous Windows. Sous "
"Windows, ``select`` ne fonctionne qu'avec les connecteurs. Notez également "
"qu'en C, la plupart des options de connecteurs les plus avancées se font "
"différemment sous Windows. En fait, sous Windows, j'utilise habituellement "
"des fils d'exécution (qui fonctionnent très, très bien) avec mes connecteurs."