@@ -24,7 +24,7 @@ msgstr "Auteur"
24
24
25
25
#: ../Doc/howto/sockets.rst:7
26
26
msgid "Gordon McMillan"
27
- msgstr ""
27
+ msgstr "Gordon McMillan "
28
28
29
29
#: ../Doc/howto/sockets.rst: None
30
30
msgid "Abstract"
@@ -55,6 +55,17 @@ msgid ""
55
55
"blocking sockets. But I'll start by talking about blocking sockets. You'll "
56
56
"need to know how they work before dealing with non-blocking sockets."
57
57
msgstr ""
58
+ "Je ne vais aborder que les connecteurs INET (i.e. IPv4), mais ils "
59
+ "représentent au moins 99% des connecteurs (*socket* en anglais) utilisés. Et "
60
+ "je n'aborderai que les connecteurs STREAM (i.e. TCP) — à moins que vous ne "
61
+ "sachiez vraiment ce que vous faites (auquel cas ce HOWTO n'est pas pour "
62
+ "vous !), vous obtiendrez un meilleur comportement et de meilleures "
63
+ "performances avec un connecteur STREAM que tout autre. Je vais essayer "
64
+ "d'éclaircir le mystère de ce qu'est un connecteur, ainsi que quelques "
65
+ "conseils sur la façon de travailler avec des connecteurs bloquants et non "
66
+ "bloquants. Mais je vais commencer par aborder les connecteurs bloquants. "
67
+ "Nous avons besoin de savoir comment ils fonctionnent avant de traiter les "
68
+ "connecteurs non bloquants."
58
10000
td>69
59
70
#: ../Doc/howto/sockets.rst:31
60
71
msgid ""
@@ -89,7 +100,7 @@ msgstr ""
89
100
90
101
#: ../Doc/howto/sockets.rst:54
91
102
msgid "Creating a Socket"
92
- msgstr "Créer un *socket* "
103
+ msgstr "Créer un connecteur "
93
104
94
105
#: ../Doc/howto/sockets.rst:56
95
106
msgid ""
@@ -120,13 +131,22 @@ msgid ""
120
131
"machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any "
121
132
"address the machine happens to have."
122
133
msgstr ""
134
+ "Quelques remarques : nous avons utilisé ``socket.gethostname()`` pour que le "
135
+ "connecteur soit visible par le monde extérieur. Si nous avions utilisé ``s."
136
+ "bind((('localhost', 80))`` ou ``s.bind((('127.0.0.0.1', 80))`` nous aurions "
137
+ "encore un connecteur \" serveur\" , mais qui ne serait visible que sur la "
138
+ "machine même. ``s.bind('', 80)]`` spécifie que le socket est accessible par "
139
+ "toute adresse que la machine possède."
123
140
124
141
#: ../Doc/howto/sockets.rst:87
125
142
msgid ""
126
143
"A second thing to note: low number ports are usually reserved for \" well "
127
144
"known\" services (HTTP, SNMP etc). If you're playing around, use a nice high "
128
145
"number (4 digits)."
129
146
msgstr ""
147
+ "Une deuxième chose à noter : les ports dont le numéro est petit sont "
148
+ "généralement réservés aux services \" bien connus\" (HTTP, SNMP, etc.). Si "
149
+ "vous expérimentez, utilisez un nombre suffisamment élevé (4 chiffres)."
130
150
131
151
#: ../Doc/howto/sockets.rst:91
132
152
msgid ""
@@ -135,6 +155,10 @@ msgid ""
135
155
"outside connections. If the rest of the code is written properly, that "
136
156
"should be plenty."
137
157
msgstr ""
158
+ "Enfin, l'argument ``listen`` indique à la bibliothèque de connecteurs que "
159
+ "nous voulons qu'elle mette en file d'attente jusqu'à 5 requêtes de connexion "
160
+ "(le maximum normal) avant de refuser les connexions externes. Si le reste du "
161
+ "code est écrit correctement, cela devrait suffire."
138
162
139
163
#: ../Doc/howto/sockets.rst:95
140
164
msgid ""
@@ -160,7 +184,7 @@ msgstr ""
160
184
161
185
#: ../Doc/howto/sockets.rst:121
162
186
msgid "IPC"
163
- msgstr ""
187
+ msgstr "Communication Entre Processus "
164
188
165
189
#: ../Doc/howto/sockets.rst:123
166
190
msgid ""
@@ -170,6 +194,11 @@ msgid ""
170
194
"a shortcut around a couple of layers of network code and be quite a bit "
171
195
"faster."
172
196
msgstr ""
197
+ "Si vous avez besoin d'une communication rapide entre deux processus sur une "
198
+ "même machine, vous devriez regarder comment utiliser les *pipes* ou la "
199
+ "mémoire partagée. Si vous décidez d'utiliser les sockets AF_INET, liez le "
200
+ "connecteur \" serveur\" à ``'localhost'``. Sur la plupart des plates-formes, "
201
+ "cela court-circuitera quelques couches réseau et sera un peu plus rapide."
173
202
174
203
#: ../Doc/howto/sockets.rst:129
175
204
msgid ""
@@ -229,6 +258,10 @@ msgid ""
229
258
"request, then reads a reply. That's it. The socket is discarded. This means "
230
259
"that a client can detect the end of the reply by receiving 0 bytes."
231
260
msgstr ""
261
+ "Un protocole comme HTTP utilise un connecteur pour un seul transfert. Le "
262
+ "client envoie une demande, puis lit une réponse. C'est tout. Le connecteur "
263
+ "est mis au rebut. Cela signifie qu'un client peut détecter la fin de la "
264
+ "réponse en recevant 0 octet."
232
265
233
266
#: ../Doc/howto/sockets.rst:169
234
267
msgid ""
@@ -243,12 +276,27 @@ msgid ""
243
276
"they are* (much better), *or end by shutting down the connection*. The "
244
277
"choice is entirely yours, (but some ways are righter than others)."
245
278
msgstr ""
279
+ "Mais si vous prévoyez de réutiliser votre connecteur pour d'autres "
280
+ "transferts, vous devez réaliser que il n'y a *pas* d':abbr:`EOT (End of "
281
+ "Transfer)` sur un connecteur. Je répète : si un connecteur ``send`` ou "
282
+ "``recv`` retourne après avoir manipulé 0 octets, la connexion a été "
283
+ <
A3DB
span class="pl-s">"interrompue. Si la connexion n'a *pas* été interrompue, vous pouvez attendre "
284
+ "sur un ``recv`` pour toujours, car le connecteur ne vous dira pas qu'il n'y "
285
+ "a plus rien à lire (pour le moment). Maintenant, si vous y réfléchissez un "
286
+ "peu, vous allez vous rendre compte d'une vérité fondamentale sur les "
287
+ "connecteurs : *les messages doivent être de longueur fixe* (beurk), *ou être "
288
+ "délimités* (haussement d'épaules), *ou indiquer de quelle longueur ils sont* "
289
+ "(beaucoup mieux), *ou terminer en coupant la connexion*. Le choix est "
290
+ "entièrement de votre côté, (mais certaines façons sont plus justes que "
291
+ "d'autres)."
246
292
247
293
#: ../Doc/howto/sockets.rst:180
248
294
msgid ""
249
295
"Assuming you don't want to end the connection, the simplest solution is a "
250
296
"fixed length message::"
251
297
msgstr ""
298
+ "En supposant que vous ne vouliez pas terminer la connexion, la solution la "
299
+ "plus simple est un message de longueur fixe ::"
252
300
253
301
#: ../Doc/howto/sockets.rst:217
254
302
msgid ""
@@ -300,7 +348,7 @@ msgstr ""
300
348
301
349
#: ../Doc/howto/sockets.rst:252
302
350
msgid "Binary Data"
303
- msgstr ""
351
+ msgstr "Données binaires "
304
352
305
353
#: ../Doc/howto/sockets.rst:254
306
354
msgid ""
@@ -326,7 +374,7 @@ msgstr ""
326
374
327
375
#: ../Doc/howto/sockets.rst:272
328
376
msgid "Disconnecting"
329
- msgstr ""
377
+ msgstr "Déconnexion "
330
378
331
379
#: ../Doc/howto/sockets.rst:274
332
380
msgid ""
@@ -390,6 +438,10 @@ msgid ""
390
438
"calls, in much the same ways. It's just that, if you do it right, your app "
391
439
"will be almost inside-out."
392
440
msgstr ""
441
+ "Si vous avez compris ce qui précède, vous savez déjà tout ce que vous devez "
442
+ "savoir sur la mécanique de l'utilisation des connecteurs. Vous utiliserez "
443
+ "toujours les mêmes appels, de la même façon. C'est juste que, si vous le "
444
+ "faites bien, votre application sera presque dans la poche."
393
445
394
446
#: ../Doc/howto/sockets.rst:320
395
447
msgid ""
@@ -400,6 +452,13 @@ msgid ""
400
452
"the exact same idea. You do this after creating the socket, but before using "
401
453
"it. (Actually, if you're nuts, you can switch back and forth.)"
402
454
msgstr ""
455
+ "En Python, vous utilisez ``socket.setblocking(0)`` pour le rendre non-"
456
+ "bloquant. En C, c'est plus complexe, (pour commencer, vous devez choisir "
457
+ "entre la version BSD ``O_NONBLOCK`` et la version Posix presque impossible à "
458
+ "distinguer ``O_NDELAY``, qui est complètement différente de "
459
+ "``TCP_NODELAY``), mais c'est exactement la même idée. Vous le faites après "
460
+ "avoir créé le connecteur mais avant de l'utiliser (en fait, si vous êtes "
461
+ "fou, vous pouvez alterner)."
403
462
404
463
#: ../Doc/howto/sockets.rst:327
405
464
msgid ""
@@ -413,14 +472,17 @@ msgstr ""
413
472
414
473
#: ../Doc/howto/sockets.rst:334
415
474
msgid "Use ``select``."
416
- msgstr ""
475
+ msgstr "Utiliser ``select``. "
417
476
418
477
#: ../Doc/howto/sockets.rst:336
419
478
msgid ""
420
479
"In C, coding ``select`` is fairly complex. In Python, it's a piece of cake, "
421
480
"but it's close enough to the C version that if you understand ``select`` in "
422
481
"Python, you'll have little trouble with it in C::"
423
482
msgstr ""
483
+ "En C, implémenter ``select`` est assez complexe. En Python, c'est du gâteau, "
484
+ "mais c'est assez proche de la version C ; aussi, si vous comprenez "
485
+ "``select`` en Python, vous aurez peu de problèmes avec lui en C ::"
424
486
425
487
#: ../Doc/howto/sockets.rst:347
426
488
msgid ""
@@ -449,6 +511,14 @@ msgid ""
449
511
"nothing. (Actually, any reasonably healthy socket will return as writable - "
450
512
"it just means outbound network buffer space is available.)"
451
513
msgstr ""
514
+ "Si un connecteur se trouve dans la liste des sorties que vous pouvez lire, "
515
+ "vous pouvez être pratiquement certain qu'un ``recv`` sur ce connecteur "
516
+ "retournera *quelque chose*. Même chose pour la liste des sorties sur "
517
+ "lesquelles vous pouvez écrire. Vous pourrez envoyer *quelque chose*. Peut-"
518
+ "être pas tout ce que vous voudrez, mais *quelque chose* est mieux que rien. "
519
+ "(En fait, n'importe quel connecteur raisonnablement sain retournera en "
520
+ "écriture — cela signifie simplement que l'espace tampon réseau sortant est "
521
+ "disponible)."
452
522
453
523
#: ../Doc/howto/sockets.rst:366
454
524
msgid ""
@@ -458,6 +528,13 @@ msgid ""
458
528
"it in the potential_writers list. If it shows up in the writable list, you "
459
529
"have a decent chance that it has connected."
460
530
msgstr ""
531
+ "Si vous avez un connecteur \" serveur\" , mettez-le dans la liste des lecteurs "
532
+ "potentiels. Si il apparaît dans la liste des sorties que vous pouvez lire, "
533
+ "votre ``accept`` fonctionnera (presque certainement). Si vous avez créé un "
534
+ "nouveau connecteur pour ``connect`` à quelqu'un d'autre, mettez-le dans la "
535
+ "liste des éditeurs potentiels. Si il apparaît dans la liste des sorties sur "
536
+ "lesquelles vous pouvez écrire, vous avez une bonne chance qu'il se soit "
537
+ "connecté."
461
538
462
539
#: ../Doc/howto/sockets.rst:372
463
540
msgid ""
@@ -467,6 +544,11 @@ msgid ""
467
544
"problem of determining whether the other end is done, or just busy with "
468
545
"something else."
469
546
msgstr ""
547
+ "En fait, ``select`` peut être pratique même avec des connecteurs bloquants. "
548
+ "C'est une façon de déterminer si vous allez bloquer — le socket redevient "
549
+ "lisible lorsqu'il y a quelque chose dans les tampons. Cependant, cela n'aide "
550
+ "pas encore à déterminer si l'autre extrémité a terminé, ou si elle est "
551
+ "simplement occupée par autre chose."
470
552
471
553
#: ../Doc/howto/sockets.rst:377
472
554
msgid ""
@@ -476,3 +558,9 @@ msgid ""
476
558
"differently on Windows. In fact, on Windows I usually use threads (which "
477
559
"work very, very well) with my sockets."
478
560
msgstr ""
561
+ "**Alerte de portabilité** : Sous Unix, ``select`` fonctionne aussi bien avec "
562
+ "les connecteurs qu'avec les fichiers. N'essayez pas cela sous Windows. Sous "
563
+ "Windows, ``select`` ne fonctionne qu'avec les connecteurs. Notez également "
564
+ "qu'en C, la plupart des options de connecteurs les plus avancées se font "
565
+ "différemment sous Windows. En fait, sous Windows, j'utilise habituellement "
566
+ "des fils d'exécution (qui fonctionnent très, très bien) avec mes connecteurs."
0 commit comments