Amélia parle le français !
Un historique de toutes nos réunions
Table des matières
La voix du secrétaire (Jean), fortement aidé par Sniper
Présents à la réunion :
- BooK,
- Emmanuel,
- François,
- Kai,
- Briac,
- Stéphane,
- D@vid,
- Sniper,
- Olivier,
- Gérald,
- Christophe, un nouveau, qui n'est même pas abonné à la liste,
- Artur,
- Jicé,
- et moi.
Je vous laisse deviner qui a mangé quoi et qui a bu quoi, sachant que les plats et boissons
suivants ont été consommés : un oeuf mayonnaise, un poulet-frites, deux Orangina,
une Margarita, un magret de canard, une dame blanche (facile jusque-là, mais ça se complique) deux
soupes gratinées, une soupe normale, une escalope milanaise, une entrecôte elle aussi
milanaise, un bacon cheeseburger, de la Grimbergen, de la Leffe, du Coca-Cola...
Il était hors de question de parler d'un film récent. Mais pris par le feu de la
discussion, nous en avons quand même parlé. Mais nous avons
quand même parlé d'autre chose, y compris
d'informatique. Nous avons même parlé de Perl.
- Il y a ceux qui ont été déçus par le film, et il y a eu ceux qui
en ont été satisfaits. Parmi les déçus, il y a D@vid et moi. D@vid
savait déjà qu'il y aurait des coupures (Tom Bombadil, et les passages
connexes de la Vieille Forêt et des Hauts des Galgals, ou bien la
rencontre nocturne avec
Gildor Inglorion).
Mais il a découvert des
altérations par rapport au livre, altérations qui dénaturent
complètement le récit. Par exemple, pour la bataille où Elendil meurt,
et où Isildur défait Sauron, le film montre une séquence où Isildur
ôte le heaume de son père. On peut alors constater qu'Elendil est un
petit vieux. Aucun rapport avec la description que Tolkien nous fait
des Numénoréens !
- À un autre moment, le film montre que c'est
Saroumane qui a créé les Uruk-Hai. Quel besoin le réalisateur a-t-il
eu d'attribuer cela à Saroumane, alors que c'est Sauron qui est à l'origine
de cette race d'orques ?
On peut encore citer la disparition de Bilbon, lors de sa fête, devant
tout le monde. Dans le livre, Gandalf s'arrange in extremis
pour provoquer une explosion pyrotechnique, et mettre la disparition
sur le compte de sa magie. Dans le film, Bilbon disparaît, un point,
c'est tout. Et tout le monde dans la Comté sait que Bilbon possède
le moyen de se rendre invisible.
- Je trouve que la première partie du livre est très bien
construite, dans la mesure où l'on ne sait pas avec certitude qui est
dans le camp du bien et qui est dans le camp du mal (pour les Nazgûl,
on est à peu près fixé). Par le biais des récits et des retours en arrière,
l'auteur nous révèle juste ce qu'il faut d'information pour que le lecteur
ne soit pas perdu, mais pas assez pour qu'il puisse se faire une opinion
définitive sur qui est gentil et qui est méchant. Or, le film a une trame
quasiment linéaire, et on sait donc immédiatement comment les différents
personnages se répartissent (d'autant plus que certains ont disparu,
Gildor Inglorion,
Tom Bombadil,
Bill Ferny de Bree, etc).
- On retrouve un peu cela dans la deuxième
partie (la fin du premier tome). Dans le livre, à plusieurs reprises Frodon
a l'impression que la Compagnie est suivie par... on ne sait pas très bien qui
ou quoi. Dans le film, Frodon a l'impression une fois et une seule que la
Compagnie est suivie, il voit nettement par quoi, et Gandalf lui annonce
instantanément qu'il s'agit de Gollum. Et le plan suivant montre effectivement
Gollum en premier plan.
- BooK a lu, ou plutôt essayé de lire le Seigneur des Anneaux lorsqu'il avait
treize ans. Il a trouvé que cela n'avançait pas, qu'il y avait des descriptions
à n'en plus finir, et il a abandonné. Il faut dire que treize ans, c'est
peut-être un peu tôt pour ce roman, malgré l'image que s'en font les gens
qui ne l'ont pas lu.
- Quant à moi, je l'ai mieux supporté, car je l'ai lu la première fois à
21 ans. J'ai trouvé qu'il y avait des longueurs. Il y en a un peu au
début, à cause du prologue qui ne fait pas partie intégrante du roman, et qui
présente les hobbits et la Comté. Également vers la fin, l'histoire est pour
ainsi dire terminée au chapitre 3 de la sixième partie, et il y en a encore 6 à
lire.
- Malgré les coupures par rapport au livre, certains trouvent qu'il
y a des longueurs aussi dans le film. Il est question notamment de la scène
où ils arrivent dans le hall principal de la Moria. Ceux qui n'ont pas
lu le livre craignent notamment d'avoir à lire une description de huit
pages. [ En fait, j'ai vérifié. La description occupe en tout et
pour tout une demi-page. ]
- À noter que j'ai lu le Seigneur des Anneaux pendant des vacances
d'été, et que j'ai donc lu les trois tomes en six jours. François a fait mieux :
il a lu le roman en deux jours ! Lorsque je l'ai relu en anglais quelques
années plus tard, c'était en période scolaire, et en parallèle avec d'autres livres.
Il m'a alors fallu quatre mois.
- D@vid et moi avons trouvé la lecture en V.O. très
enrichissante. Tolkien a en effet un vocabulaire très étendu. J'ai
conservé un souvenir marquant de la description de l'Ithilien et de sa
végétation. Ou alors, là où un écrivain normal aurait écrit :
Faramir had breakfast.
Tolkien préfère écrire :
Faramir broke his fast.
Je m'étais amusé à concentrer le style de Tolkien en une phrase la plus courte possible.
Là où un anglophone moyen écrirait :
Wearing a grey mantle, he rode fast on his great horse for ninety-six
miles, lest he would be overtaken by a messenger bringing bad news.
le style Tolkien donne :
Clad in a grey cloak, he rode swiftly on his great steed for thirty leagues
and two, lest he be overtaken by an errand-rider bearing ill tidings.
- Dans le cadre de son travail, à diverses occasions, D@vid a eu des
contacts avec des anglophones. Les discussions avaient donc lieu en anglais.
Dans ces discussions, D@vid utilisait le vocabulaire et les tournures de phrase
qu'il avait appris dans The Lord of the Rings, et cela impressionnait
beaucoup ses interlocuteurs.
- J'ai vu le film en version française, et j'ai remarqué un calembour
lors de la discussion entre Elrond et Gandalf. Elrond dit en substance :
Les nains se préoccupent peu des problèmes des autres.
donc, avec un jeu de mots visant « les uns / les
autres ». Apparamment, j'ai été le seul à interprêter cette
réplique comme un jeu de mots, et personne n'a trouvé qu'il y avait
une ressemblance phonétique entre « les nains » et
« les uns ».
- Parmi les participants à la réunion, Sniper est le premier à avoir
acheté
Programmation en Perl, 3e édition.
Il l'a donc
fait dédicacer par les trois traducteurs et le relecteur. Après une petite
photo, il l'a rangé dans son sac. Un peu plus tard dans la soirée, Sniper
a ressorti le livre de son sac, et oh malheur, il s'est aperçu que la couverture
avait été pliée lors du rangement !
- Philippe a passé en revue les points importants, notamment l'exemple qui
lui permettra de fayoter auprès de la mère d'Estelle. Un passage du chapitre sur
les expressions rationnelles évoquait la recherche de doublons, recherche qui peut
renvoyer des faux positifs, comme :
The clothes you don don't fit.
(le verbe to don signifiant « enfiler », et non pas « donner »
comme le croyait Philippe). BooK a donc traduit cet exemple en :
J'ai une belle belle-mère.
- Il a été question également de problèmes de traduction, notamment la traduction
de double quote et de simple quote. Il s'agit en fait de signes
de typographie en usage dans le monde anglophone, et qui n'ont aucun équivalent
en français. Ces caractères ont la même utilisation dans un texte anglais que
nos guillemets (« et ») dans un texte français, mais en essence, ce sont des
caractères différents.
- Un autre problème est celui des extraits de code. La version originale utilise
la police Courier, une police à espacement fixe. La version traduite, comme
tous les livres publiés par O'Reilly France, utilise une autre police de caractères,
pour laquelle l'espacement est fixe, sauf pour les espaces ! Du coup, dans
certains extraits de code, les commentaires ne sont pas très bien alignés.
- Où l'on reparle d'un sujet épineux, la différence entre liste et tableau.
Soit le programme suivant.
my $x; my @x = (5, 6);
($x) = (5, 6); # alors $x vaut 5
($x) = @x; # ici aussi, $x vaut 5
$x = @x; # alors $x vaut 2
$x = (5, 6); # alors $x vaut 6
Dans les deux premiers cas, il s'agit d'une affectation en contexte de liste, et
plus particulièrement, dans la deuxième ligne, il y a conversion implicite du
tableau @x en liste. La troisième et la quatrième lignes sont plus
délicates à comprendre, pour les débutants et les moyennement expérimentés.
Dans les deux cas, il s'agit d'une affectation en contexte scalaire. Mais
la ligne 3 comporte un tableau évalué en contexte scalaire, ce qui donne le
nombre d'éléments, tandis que la ligne 4 comporte une liste en contexte
scalaire, ce qui donne le dernier élément de la liste, conformément à
la définition de l'opérateur virgule en contexte scalaire. Je me rappelle
avoir vu dans le défunt site Perlmonth un article,
"list": a four-letter word
(ce qui se traduit en français par : « liste » :
un mot de cinq lettres (*)).
- Artur a eu des problèmes, récemment, parce qu'il avait
fait une faute de frappe dans la clé d'un hachage. En
caricaturant, il stockait une information dans
$h{qznmwx}, puis il demandait la valeur de
$h{qzmnwx}. Et il ne trouvait pas ce qu'il avait
renseigné. Au bout d'un temps long, trop long, il s'est
aperçu que ce n'était pas la même clé (avez-vous remarqué
que l'ordre du « m » et du « n » n'était
pas le même ?). Je pense qu'Artur n'utilisait pas des
clés aussi biscornues, mais en revanche, il avait besoin de
structures de données fortement imbriquées, peut-être bien
avec huit ou neuf niveaux, ce qui multiplie les risques de
fautes de frappe. Aux yeux de Perl, la lecture d'une clé
absente dans un hachage ne constitue pas une erreur. J'ai
suggéré le pragma use attributes, mais je
pense qu'il s'applique de préférence à des structures avec
un seul niveau d'imbrication.
- Sniper a expliqué les références à Jicé, en lui
détaillant la différence entre les références « en
dur » et les références symboliques. Lorsque l'on a
besoin d'une référence symbolique, il est nécessaire de
faire précéder la ligne d'un
no strict "refs", directive qui sera
annulée à la fin de la portée lexicale. D'autre part, il lui
donne un exemple d'utilisation des références de
subroutines. Il devait examiner ligne à ligne un fichier
log, en extraire un statut, et exécuter telle ou telle
action en fonction de ce statut. Donc, au lieu de coder :
if ($code_etat eq '100')
{ transaction_terminee($ligne_du_fichier_de_log) }
elsif ($code_etat eq '220')
{ transaction_en_cours_de_transfert($ligne_du_fichier_de_log) }
elsif ...
il a construit un hachage :
( 100 => \&transaction_terminee,
220 => \&transaction_en_cours_de_transfert,
etc
)
et il a écrit un simple
$trigger{$code_etat}->($ligne_du_fichier_de_log)
dans son programme.
- Sniper a également évoqué un « perlicisme », pour alimenter
plusieurs éléments d'un hachage. La solution neuneu d'un programmeur qui a
appris la programmation avec un autre langage est :
$hash{foo} = 1;
$hash{bar} = 2;
Quelqu'un d'un peu plus expérimenté écrirait :
($hash{foo}, $hash{bar}) = (1, 2);
Mais lorsque l'on écrit du code Perl qui ressemble à du code Perl, la façon la
plus élégante est d'écrire :
@keys = qw(foo bar);
@hash{@keys} = (1, 2);
Avec deux clés, comme dans cet exemple, on ne remarque pas vraiment la
différence, mais lorsque le nombre augmente, l'amélioration est sensible.
- Il a été question de
Randal Schwartz,
et de ses
démélés avec la justice
(ce sujet a
été déjà abordé à maintes reprises, mais comme tout le monde n'assiste pas à
toutes les réunions, et n'est pas toujours présent du début à la fin de la
réunion...). Il a été question d'une réflexion de Randal : « Je regrette
de ne pas avoir pu donner un peu plus de temps à la communauté Perl cette
année. » Certains ont fait remarquer à Randal que, d'un autre côté,
Stonehenge Consulting avait
subventionné
Damian avec une somme appréciable, et qu'il était possible de mettre cette subvention à
l'actif de Randal.
- À ce propos, Stéphane fait remarquer une certaine évolution dans le
classement des différentes personnalités du monde Perl. Ainsi,
Damian Conway
est en progression, tout comme
Simon Cozens
(celui qui s'occupe
de Parrot), tandis que la notoriété de Tom Christiansen et celle de
Randal Schwartz tendent à s'effriter.
- Stéphane et d'autres évoquent les hyper operators, qui sont
devenus des hyperators. Stéphane relate une discussion sur
un groupe consacré à Perl 6, laquelle concernait l'utilisation d'un hyperator
appliqué à deux listes de longueurs différentes. Stéphane et Damian avaient
des opinions différentes sur la conduite à tenir. L'un voulait faire
« boucler » la liste la plus courte, l'autre voulait la compléter
par l'élément neutre approprié. Par exemple,
(1, 2, 3, 4, 5) ^+ (10, 20)
(1, 2, 3, 4, 5) ^* (10, 20)
auraient donné, pour l'un
(1, 2, 3, 4, 5) ^+ (10, 20, 10, 20, 10)
(1, 2, 3, 4, 5) ^* (10, 20, 10, 20, 10)
et pour l'autre
(1, 2, 3, 4, 5) ^+ (10, 20, 0, 0, 0)
(1, 2, 3, 4, 5) ^* (10, 20, 1, 1, 1)
Des participants à la réunion demandent à quoi les hyperators pourront bien
servir, lorsqu'ils existeront. Je crois avoir répondu qu'ils existent
déjà en APL, qu'ils y sont utilisés et que cela ne pose de
problème à personne. J'aurais pu aussi faire un parallèle
avec l'opérateur map, dont personne ne conteste l'utilité, alors
qu'il serait possible de faire la même chose avec une boucle foreach,
voire une boucle for.
- Enfin une revue de code ! En fait, il s'agit du fameux script
dont Emmanuel nous parle de temps en temps, et qui, s'il avait continué
à sévir, aurait envoyé des messages comportant une année à cinq chiffres
depuis deux ans. Mais il y a d'autres points, disons, remarquables dans
ce script. Des instructions local qui ne servent à rien, par
exemple. Ou bien une série de print successifs, qui auraient
gagné à être remplacés par un seul print, portant sur un
here-document ou, à la rigueur, une chaîne de caractères
multi-ligne.
- Les habitués du groupe de discussion
fr.comp.lang.perl
(Briac et moi, mais surtout
Briac) évoquent le bas niveau de certaines questions
posées. Quelqu'un a demandé par exemple comment utiliser
SNMP, alors qu'il suffisait de lire la doc. [ Depuis, il
y a eu pire. Un autre a posé la question : « Je
sais que la multiplication se fait avec *. Mais
comment faire pour diviser deux nombres ? » ]
- SNMP a fait l'objet de deux discussions. Sniper et Jicé en ont parlé,
et Briac leur a demandé de quoi il s'agissait. C'est un protocole
qui permet à des systèmes différents de s'échanger des informations
techniques sur leurs caractéristiques respectives. Un peu plus tard,
Artur a évoqué ce protocole avec quelqu'un d'autre.
- Lors d'une réunion précédente, Stéphane avait prêté à BooK le livre
« Éléments d'informatique », un exemplaire en piteux état :
pas de couverture, et feuilles volantes. Depuis, il (BooK) a fait des recherches
sur le net, et le livre était évoqué dans trois pages web, deux dans une
langue étrangère, la dernière en français. Il a contacté la personne
qui a rédigé cette page, et c'est ainsi qu'il a pu acheter un exemplaire
en bon état.
- Quelqu'un a lancé : « J'ai une question sur les fichiers
graphiques. », et Gérald a aussitôt répondu : « 42 ! ».
Je lui ai dit qu'effectivement, 42 est la réponse à une question sur les
formats des fichiers graphiques, car il existe un format très répandu pour
lequel le nombre magique (celui qui est utilisé par file(1)) est
42. Mais je ne savais plus si c'est le nombre magique du format GIF
ou celui du format JPEG. [ En fait, c'est celui du format TIFF, j'ai
vérifié. ]
- BooK s'intéresse aux fichiers XPM. Ce sont des fichiers graphiques,
destinés à des images de faibles dimensions, et avec un nombre limité
de couleurs (typiquement des icônes). Voici un exemple de fichier XMP extrait
des sources d'Emacs :
/* XPM */
/*****************************************************************************/
/* GNU Emacs bitmap conv. to pixmap by Przemek Klosowski (przemek@nist.gov) */
/*****************************************************************************/
static char * image_name [] = {
/**/
"50 50 7 1",
/**/
" s mask c none",
"B c blue",
"x c black",
": c sandy brown",
"+ c saddle brown",
"' c grey",
". c white",
" ",
" ",
" x ",
" :x ",
" :::x ",
" ::x ",
" x ::x ",
" x: xxx :::x ",
" x: xxx xxx:xxx x::x ",
" x:: xxxx::xxx:::::xx x::x ",
" x:: x:::::::xx::::::xx x::x ",
" x:: xx::::::::x:::::::xx xx::x ",
" x:: xx::::::::::::::::::x xx::xx ",
" x::x xx:::::xxx:::::::xxx:xxx xx:::xx ",
" x:::x xx:::::xx...xxxxxxxxxxxxxxx:::xx ",
" x:::x xx::::::xx..xxx...xxxx...xxxxxxxx ",
" x:::x x::::::xx.xxx.......x.x.......xxxx ",
" x:::xx x:::x::xx.xx..........x.xx.........x ",
" x::::xx::xx:::x.xx....''''x'x'x''.xxx.....x ",
" xx::::xxxx::xx.xx.xxxx.'''''''.xxx xxxx ",
" xx::::::::xx..x.xxx..'''''''''.xx ",
" xxx:::::xxx..xx.xx.xx.xxx.'''''.xx ",
" xxx::xx...xx.xx.BBBB..xx''''''xx ",
" xxxx.....xx.xxBB:BB.xx'''''''xx ",
" xx.....xx...x.BBBx.xxx''''''xx ",
" x....xxxx..xx...xxx''''''''''xx ",
" x..xxxxxx..x.......x..''''''''xx ",
" x.x xxx.x.x.x...xxxx.'''''''''xx ",
" x xxx.x.x.xx...xx..'''''''''xx ",
" xx.x..x.x.xx........''''''''x ",
" xx'.xx.x.x.x.x.......'''''''''x ",
" xx'..xxxx..x...x.......'''''''x ",
" xx''.xx.x..xx...x.......'''.xxx ",
" xx''..x.x.x.x.x.xx.xxxxx.'.xx+xx ",
" xx''..x.xx..xx.x.x.x+++xxxxx+++x ",
" xx'''.x..xxx.x.x.x.x+++++xxx+xxx ",
" xx''.xx..x..xx.xxxx++x+++x++xxx ",
" xx''..xx.xxx.xxx.xxx++xx+x++xx ",
" xx'''.xx.xx..xx.xxxx++x+++xxx ",
" xx'''.xxx.xx.xxxxxxxxx++++xxx ",
" xx''...xx.xx.xxxxxx++xxxxxxx ",
" xx''''..x..xxx..xxxx+++++xx ",
" xx''''..x..xx..xxxx++++xx ",
" xxx'''''x.xx.xxxxxxxxxxx ",
" xxx'''''..xxx xxxxx ",
" xxxx''''xxxx ",
" xxx'''xxx ",
" xxxxx ",
" ",
" "
};
Le fichier commence par un commentaire obligatoire,
/* XPM */ continue par une table de
correspondance entre un caractère ASCII et une couleur définie
par ses paramètres RVB ou par un nom apparaissant dans
rgb.txt, et se termine par un dessin qui rappelle l'art
ASCII de la préhistoire de l'informatique, que des imprimantes à
ruban ou à rouleaux imprimaient sur du papier listing à bandes
Caroll. Ce format peut sans problème être digéré par un
compilateur C. Mais BooK voudrait le faire avaler à un
interprêteur Perl. En d'autres termes, il veut produire un
fichier bilingue Perl + XPM. Le problème, c'est que le
commentaire de la première ligne provoque l'affichage d'une
erreur dans l'interprêteur Perl, car il considère qu'il s'agit
d'une expression régulière, et cette expression régulière
comporte un quantificateur étoile qui ne quantifie rien du
tout. Donc, erreur de compilation. Cela dit, Philippe nous
signale qu'il existe une solution, qui lui a été exposée par
Brad, l'Australien qui a participé à
deux
réunions ces derniers
mois. Lorsque l'on utilise l'option -x sur la ligne de
commande, l'interprêteur s'attend à voir une ligne #!,
et tant qu'il ne l'a pas vue, il laisse tomber ce qu'il lit.
L'utilisation principale de cette option -x concerne la
messagerie électronique, lorsque le message comporte un certain
nombre de lignes en langage naturel, puis un bout de code en
Perl. Avec l'option, l'interprêteur n'accordera aucune attention
au message entre humains, et il ne s'intéressera qu'à la portion
du message qui le concerne.
- La discussion porte sur PHP.
Ce langage est bien adapté pour
consulter des bases de données et construire des pages web dynamiques,
mais le langage lui-même n'est pas très dynamique. Lorsque l'on veut
effectuer un traitement particulier en PHP, il faut ajouter une
bibliothèque pour ce faire. C'est ainsi, notamment, que la distribution
standard de PHP comporte un module Cybermut, destiné à
permettre l'accès au site web du Crédit Mutuel.
- Un autre langage émerge sur la scène informatique, REBOL. Je me souviens
seulement que ce langage permet de spécifier un URL lorsque l'on
souhaite ouvrir un fichier.
- Il a été question de Zope,
mais là encore je me souviens uniquement
que nous avons dit que l'on pouvait utiliser conjointement
Zope et Perl
depuis peu.
- François a évoqué la différence entre un compilateur portable
tel que
gcc,
et un compilateur spécifique tel que celui
d'Intel. gcc tourne sur tous les processeurs sur lesquels
Unix est disponible (ou peu s'en faut), et il est donc obligé
de s'adapter à toutes les architectures. De la sorte, le compilateur
ne peut pas mettre à profit les particularités de tel ou tel processeur,
pour générer un code optimal. À l'inverse, le compilateur d'Intel
ne s'intéresse qu'aux processeurs Intel (et peut-être pas tous), et
il est donc capable de profiter au maximum des particularités de
ces processeurs pour optimiser le code machine.
- C'est la première fois que Gérald et Artur assistent ensemble à
une réunion de Paris.pm. Mais Gérald connaissait déjà Artur, car à une
certaine époque ils travaillaient tous les deux pour Bull. Gérald et
ses collègues savaient que s'il y avait besoin de porter un logiciel
sur une nouvelle machine, ils pourraient toujours s'adresser à Artur,
même pour les portages les plus tordus. Artur nous en avait
déjà dit deux mots.
- Sniper voulait effectuer une recherche sur l'archive d'un forum
ou d'une liste. Pour ce faire, il a sorti son ordinateur portable de
sa sacoche, et il l'a allumé. Lorsque tout le monde a vu
la mention « Windows 2000 », des cris de réprobation ont
fusé de toutes parts, suivis de remarques désobligeantes du genre :
« nous reviendrons demain, lorsque la séquence de démarrage
se sera terminée. »
- Comment se faire infecter par un virus informatique. L'un des
moyens les plus efficaces, c'est encore de s'arranger pour qu'un
utilisateur de la machine cible exécute le programme viral.
Et c'est souvent ce qui se passe lorsque quelqu'un reçoit un
message avec un fichier .exe en pièce jointe.
Toutefois, Briac et moi avons reçu un message de voeux de bonne
année, avec un fichier .exe en pièce jointe. Ni lui ni
moi n'avons ouvert l'exécutable. Il nous suffit de savoir que
Machin ou Truc nous envoie ses souhaits pour la nouvelle année,
le reste importe peu.
- Sur les machines Unix, le programme viral est parfois
obligé de tester ses autorisations, et le cas échéant s'arrêter
avec le message d'erreur : « Désolé, ce programme ne
peut tourner que sous le code utilisateur root. »
- Là où Sniper travaille, il a des difficultés à se connecter
à des machines extérieures, et à faire par exemple des
téléchargements de fichiers. En effet, pour des raisons de sécurité,
il n'y a que quelques ports IP qui soient ouverts, dont, heureusement
le port 80 pour HTTP. J'évoque une RFC, parue le 1er avril
dernier, présentant le protocole « TCP over HTTP », un
protocole destiné à faire passer n'importe quoi par le port 80,
sans se préoccuper des firewalls. Hélas, je n'ai pas
pu retrouver la RFC en cause.
- Après la fin officielle de la réunion, aux alentours de
minuit, Sniper, Jicé et moi avons pris le même métro et le
même train (nous habitons à quelques centaines de mètres les
uns des autres). Sur le chemin du retour, ils ont repris une
discussion qu'ils avaient entamé avec Briac, et ils parlé
notamment des canaux de discussion IRC et des robots qui
opèrent dedans, un domaine dans lequel je ne me suis pas
plongé jusqu'à maintenant. Et j'ai peut-être bien fait de ne
pas m'y plonger, car il semblerait que ce soit une activité
assez prenante, les sessions dites normales ayant tendance à
se prolonger très tard dans la nuit. Parmi les anecdotes que
j'ai retenues, Jean-Crhistophe a raconté qu'il s'était
connecté sur le canal IRC de son ancienne école, et qu'il
avait été accueilli par des remarques du genre :
« Tiens ! Voilà un vieux ! Encore plus vieux
que les professeurs que l'on rencontre parfois sur
IRC ! »
Mon travail sur Amelia n'est pas la première fois que je suis impliqué
dans une traduction. À l'époque où je ne connaissais pas Perl, j'occupais
mon temps libre avec les wargames, et j'ai été impliqué dans plusieurs
traductions de règles. J'en avais profité pour répertorier un certain
nombre de conseils de traduction, du genre de ceux que l'on n'apprend
pas au collège ou au lycée.
De ces conseils, j'en extrait un, qui vous fera comprendre pourquoi
Japhy a adopté le titre "list": a four-letter word, et pourquoi je
m'extasie sur la traduction.
Si vous avez vu L'Étoffe des Héros, vous vous souvenez peut-être de
Pancho Barnes, la tenancière du saloon de la base d'Edwards, un personnage
haut en couleurs. Dans son autobiographie, Chuck Yeager la décrit ainsi :
V.O. Pancho would never use a five- or six-letter word when a four-letter
word would do. She had the filthiest mouth that any of us fighter jocks
had ever heard.
J'ai vu ces phrases traduites ainsi :
MAUVAIS Elle n'employait jamais un mot de cinq ou six lettres quand un mot
de quatre lettres pouvait suffire. Elle avait un langage ordurier auquel
même nous, vieux pilotes de chasse, nous n'arrivions pas à nous faire.
La traduction correcte serait plutôt :
BON Elle n'employait jamais un mot de six ou sept lettres quand un mot de
cinq lettres pouvait suffire. Elle avait un langage ordurier auquel même
nous, vieux pilotes de chasse, nous n'arrivions pas à nous faire.
Et pourquoi ? Parce que pour les Français, les termes "un mot de cinq
lettres" ne désignent pas n'importe quel mot de la longueur indiquée, mais
un mot bien particulier. Vous savez, le "mot de Cambronne", que le général
Koenig, assiégé à Bir-Hakeim, aurait prononcé quand on lui proposait de se
rendre. De même, l'expression "four-letter word" désigne pour les
Américains, non pas un mot, mais une série de mots à usage... disons,
spécialisé. Cela va du "Nuts" anodin du général McAuliffe, assiégé à
Bastogne en 1944 (1) aux deux mots S**t et F**k que vous connaissez bien,
en passant par d'autres que je ne vous enseignerai pas. Par conséquent, la
véritable traduction de "four-letter word" est "mot de cinq lettres". Par
extension, dans la phrase citée en exemple, il faudra traduire "five or
six" par "six ou sept".
(1) Comme quoi, les généraux commandant des troupes d'élite
(Vieille Garde, Légion étrangère, Parachutistes) ont parfois les mêmes idées. À
propos, quelqu'un peut-il m'indiquer quel mot grossier fut proféré par Fingon,
le Haut-Roi des Noldor, encerclé à la bataille des Larmes Innombrables ?
Remarque a posteriori : j'ai lu
Structured Programming With Goto
de Knuth, et j'ai remarqué qu'à un moment, il a écrit une phrase du
genre :
goto est un mot de quatre lettres.
HTML 5 - CSS v3
Mongueurs de Paris, le 24 mai 2013
Copyright © The Paris Perl Mongers, 1999-2024