1
0
Fork 0

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
1 changed files with 94 additions and 6 deletions

View File

@ -24,7 +24,7 @@ msgstr "Auteur"
#: ../Doc/howto/sockets.rst:7
msgid "Gordon McMillan"
msgstr ""
msgstr "Gordon McMillan"
#: ../Doc/howto/sockets.rst:None
msgid "Abstract"
@ -55,6 +55,17 @@ msgid ""
"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."
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
msgid ""
@ -89,7 +100,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:54
msgid "Creating a Socket"
msgstr "Créer un *socket*"
msgstr "Créer un connecteur"
#: ../Doc/howto/sockets.rst:56
msgid ""
@ -120,6 +131,12 @@ msgid ""
"machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any "
"address the machine happens to have."
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
msgid ""
@ -127,6 +144,9 @@ msgid ""
"known\" services (HTTP, SNMP etc). If you're playing around, use a nice high "
"number (4 digits)."
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
msgid ""
@ -135,6 +155,10 @@ msgid ""
"outside connections. If the rest of the code is written properly, that "
"should be plenty."
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
msgid ""
@ -160,7 +184,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:121
msgid "IPC"
msgstr ""
msgstr "Communication Entre Processus"
#: ../Doc/howto/sockets.rst:123
msgid ""
@ -170,6 +194,11 @@ msgid ""
"a shortcut around a couple of layers of network code and be quite a bit "
"faster."
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
msgid ""
@ -229,6 +258,10 @@ msgid ""
"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."
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
msgid ""
@ -243,12 +276,27 @@ msgid ""
"they are* (much better), *or end by shutting down the connection*. The "
"choice is entirely yours, (but some ways are righter than others)."
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
msgid ""
"Assuming you don't want to end the connection, the simplest solution is a "
"fixed length message::"
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
msgid ""
@ -300,7 +348,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:252
msgid "Binary Data"
msgstr ""
msgstr "Données binaires"
#: ../Doc/howto/sockets.rst:254
msgid ""
@ -326,7 +374,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:272
msgid "Disconnecting"
msgstr ""
msgstr "Déconnexion"
#: ../Doc/howto/sockets.rst:274
msgid ""
@ -390,6 +438,10 @@ msgid ""
"calls, in much the same ways. It's just that, if you do it right, your app "
"will be almost inside-out."
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
msgid ""
@ -400,6 +452,13 @@ msgid ""
"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.)"
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
msgid ""
@ -413,7 +472,7 @@ msgstr ""
#: ../Doc/howto/sockets.rst:334
msgid "Use ``select``."
msgstr ""
msgstr "Utiliser ``select``."
#: ../Doc/howto/sockets.rst:336
msgid ""
@ -421,6 +480,9 @@ msgid ""
"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::"
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
msgid ""
@ -449,6 +511,14 @@ msgid ""
"nothing. (Actually, any reasonably healthy socket will return as writable - "
"it just means outbound network buffer space is available.)"
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
msgid ""
@ -458,6 +528,13 @@ msgid ""
"it in the potential_writers list. If it shows up in the writable list, you "
"have a decent chance that it has connected."
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
msgid ""
@ -467,6 +544,11 @@ msgid ""
"problem of determining whether the other end is done, or just busy with "
"something else."
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
msgid ""
@ -476,3 +558,9 @@ msgid ""
"differently on Windows. In fact, on Windows I usually use threads (which "
"work very, very well) with my sockets."
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."