From 2d025ea9f0c2276936f87ee53b08e10da7887735 Mon Sep 17 00:00:00 2001 From: Mathieu Dupuy Date: Fri, 8 May 2020 14:48:15 +0000 Subject: [PATCH] =?UTF-8?q?howto/socket.po:=20deuxi=C3=A8me=20partie=20(#1?= =?UTF-8?q?260)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * howto/socket.po: deuxième partie * change tirets courts en longs + pospell * Apply suggestions from code review Co-authored-by: Antoine <43954001+awecx@users.noreply.github.com> * corrections + wrapping * Apply suggestions from code review Co-authored-by: Antoine <43954001+awecx@users.noreply.github.com> * suggestions de Christophe * je te la mets dans le derrière, Sphinx, tu m'entends ? Co-authored-by: Antoine <43954001+awecx@users.noreply.github.com> --- howto/sockets.po | 70 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 10 deletions(-) diff --git a/howto/sockets.po b/howto/sockets.po index 3ba096f7..ced8804b 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -6,14 +6,14 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-06-10 11:27+0200\n" -"PO-Revision-Date: 2020-05-03 17:28+0200\n" +"PO-Revision-Date: 2020-05-04 22:08+0200\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" "Last-Translator: Mathieu Dupuy \n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.3\n" #: ../Doc/howto/sockets.rst:5 msgid "Socket Programming HOWTO" @@ -262,7 +262,7 @@ msgstr "" #: ../Doc/howto/sockets.rst:134 msgid "Using a Socket" -msgstr "" +msgstr "Utilisation d'un connecteur" #: ../Doc/howto/sockets.rst:136 msgid "" @@ -274,6 +274,14 @@ msgid "" "in a request, or perhaps a signon. But that's a design decision - it's not a " "rule of sockets." msgstr "" +"La première chose à noter, c'est que la prise « client » du navigateur web " +"et la prise « client » du serveur web sont des bêtes identiques. C'est-à-" +"dire qu'il s'agit d'une conversation « pair à pair ». Ou pour le dire " +"autrement, *en tant que concepteur, vous devrez décider quelles sont les " +"règles d'étiquette pour une conversation*. Normalement, la connexion via " +"``connect`` lance la conversation en envoyant une demande, ou peut-être un " +"signe. Mais c'est une décision de conception — ce n'est pas une règle des " +"connecteurs." #: ../Doc/howto/sockets.rst:143 msgid "" @@ -286,6 +294,16 @@ msgid "" "reply. Without a ``flush`` in there, you may wait forever for the reply, " "because the request may still be in your output buffer." msgstr "" +"Il y a maintenant deux ensembles de verbes à utiliser pour la communication. " +"Vous pouvez utiliser ``send`` et ``recv``, ou vous pouvez transformer votre " +"connecteur client en une bête imitant un fichier et utiliser ``read`` et " +"``write``. C'est la façon dont Java présente ses connecteurs. Je ne vais pas " +"en parler ici, sauf pour vous avertir que vous devez utiliser ``flush`` sur " +"les connecteurs. Ce sont des « fichiers », mis en mémoire tampon, et une " +"erreur courante est d'« écrire » via ``write`` quelque chose, puis de " +"« lire » via ``read`` pour obtenir une réponse. Sans un ``flush``, vous " +"pouvez attendre la réponse pour toujours, parce que la requête peut encore " +"être dans votre mémoire tampon de sortie." #: ../Doc/howto/sockets.rst:152 msgid "" @@ -297,6 +315,14 @@ msgid "" "you how many bytes they handled. It is *your* responsibility to call them " "again until your message has been completely dealt with." msgstr "" +"Nous arrivons maintenant au principal écueil des connecteurs — ``send`` et " +"``recv`` fonctionnent sur les mémoires tampons du réseau. ils ne traitent " +"pas nécessairement tous les octets que vous leur passez (ou que vous " +"attendez d'eux), car leur principal objectif est de gérer les tampons " +"réseau. En général, leur exécution se termine lorsque les tampons réseau " +"associés ont été remplis (``send``) ou vidés (``recv``). Ils vous indiquent " +"alors combien d'octets ils ont traité. Il est de *votre* responsabilité de " +"les rappeler jusqu'à ce que votre message ait été complètement traité." #: ../Doc/howto/sockets.rst:160 msgid "" @@ -305,6 +331,10 @@ msgid "" "data on this connection. Ever. You may be able to send data successfully; " "I'll talk more about this later." msgstr "" +"Lorsqu'un ``recv`` renvoie 0 octet, cela signifie que l'autre partie a fermé " +"(ou est en train de fermer) la connexion. Vous ne recevrez plus de données " +"sur cette connexion. Jamais. Vous pouvez peut-être envoyer des données avec " +"succès. J’en parlerai plus tard." #: ../Doc/howto/sockets.rst:165 msgid "" @@ -331,18 +361,17 @@ msgid "" "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é " +"transferts, vous devez réaliser qu'\\ *il n'y a pas* d':abbr:`EOT (End of " +"Transfer)` *sur un connecteur*. Je répète : si un appel à ``send`` ou " +"``recv`` se termine 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)." +"délimités* (bof), *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 meilleurs que d'autres)." #: ../Doc/howto/sockets.rst:180 msgid "" @@ -360,6 +389,12 @@ msgid "" "gets more complex. (And in C, it's not much worse, except you can't use " "``strlen`` if the message has embedded ``\\0``\\ s.)" msgstr "" +"Le code d'envoi ici est utilisable pour presque tous les systèmes de " +"messagerie — en Python, vous envoyez des chaînes de caractères, et vous " +"pouvez utiliser ``len()`` pour en déterminer la longueur (même si elle " +"contient des caractères ``\\0``). C'est surtout le code de réception qui " +"devient plus complexe. (Et en C, ce n'est pas bien pire, sauf que vous ne " +"pouvez pas utiliser ``strlen`` si le message contient des ``\\0``\\ s)." #: ../Doc/howto/sockets.rst:223 msgid "" @@ -371,6 +406,15 @@ msgid "" "chunk size, (4096 or 8192 is frequently a good match for network buffer " "sizes), and scanning what you've received for a delimiter." msgstr "" +"Le plus simple est de faire du premier caractère du message un indicateur du " +"type de message, et de faire en sorte que le type détermine la longueur. " +"Vous avez maintenant deux ``recv``\\ s — le premier pour obtenir (au moins) " +"ce premier caractère afin de pouvoir déterminer la longueur, et le second " +"dans une boucle pour obtenir le reste. Si vous décidez de suivre la route " +"délimitée, vous recevrez un morceau de taille arbitraire (4096 ou 8192 est " +"fréquemment une bonne valeur pour correspondre à la taille de la mémoire " +"tampon du réseau), et vous analyserez ce que vous avez reçu pour trouver un " +"délimiteur." #: ../Doc/howto/sockets.rst:231 msgid "" @@ -380,6 +424,12 @@ msgid "" "of a following message. You'll need to put that aside and hold onto it, " "until it's needed." msgstr "" +"Une subtilité dont il faut être conscient : si votre protocole de " +"conversation permet de renvoyer plusieurs messages les uns à la suite des " +"autres (sans aucune sorte de réponse), et que vous passez à ``recv`` une " +"taille de morceau arbitraire, vous pouvez en arriver à lire le début du " +"message suivant. Vous devrez alors le mettre de côté et le conserver, " +"jusqu'à ce que vous en ayez besoin." #: ../Doc/howto/sockets.rst:237 msgid ""