[Squeak-fr] relecture traduction squeak par l'exemple

Jean-François LEFEVRE jflefevre at sqli.com
Mer 6 Fév 17:15:49 UTC 2008


Bonjour à tous,

J'ai commencé à relire la traduction française depuis quelques jours (en 
fait
depuis que Serge m'a passé une copie à la squeak party du C5).

J'ai pris des notes et j'ai quelques remarques (constructives j'espère) 
sur les
premiers chapitres.
Aux traducteurs d'en tenir compte (ou non).
Je vais essayer de rester motivé pour aller jusqu'au bout.
Apparemment, un petit coup de correcteur orthographique/grammatical ne
serait pas du superflu. J'ai noté quelques erreurs mais je ne suis pas non
plus très attentif à ça.

En tout cas, encore bravo pour l'initiative du bouquin et de sa traduction.

Cordialement,
Jean-François
--

[ ] ne faudrait-il pas rappeler dans le titre que c'est une traduction 
de SBE ?
(surtout pour expliquer le nom SBE alors qu'on s'attendrait à SPE ou SPLE)

[ ] p xi : "... construit au-dessus de Squeak mais pour qui les enseignants
d'écoles élémentaires sont le public visé)"
mélange pluriel-singulier bizarre
->construit au-dessus de Squeak mais visant plutôt un public d'enseignants
d'écoles élémentaires.

[ ] p4 : le fichier image est un cliché...
"Il est composé de deux fichiers"
ça fait bizarre de lire qu'un fichier est constitué de deux fichiers !!!
Apparemment "il" fait référence au cliché mais il vaut peut-être mieux
insister en écrivant : "Ce cliché est composé de deux fichiers : ..."

"l’état de tous les objets du système ainsi que les classes et les méthodes
puisque ce sont aussi des objets"
un peu "lourd", je propose :
"l’état de tous les objets du système, dont les classes et les méthodes"
Pour la phrase suivante, je propose de la tourner sous la forme :
"Le second avec l'extension .changes contient le journal de toutes les
modifications apportées au système"

[ ] p 4 : "Dans ce livre, nous avons utilisé pour développer tous les 
exemples"
manque des virgules.
La phrase me semble moins lourde si on l'écrit :
"Dans ce livre, nous avons utilisé la version Squeak-dev de Squeak pour
développer tous les examples. Cette image est disponible sur ..."

[ ] p 6 : Une fois lancé, Squeak vous présente une large fenêtre qui 
contient
des espaces de travail"

Dans la mesure où les fenêtres ne sont pas traduites, il serait 
préférable de
toujours rappeler le terme qui apparait en plus de la traduction.
Je propose : "... une large fenêtre qui contient des "espaces de travail"
(les fenêtres "Workspace" de la figure 1.2)."

[ ] P 6 : "Première interaction." ... Cliquez à l'aide de la souris ...
Les explications sur les boutons de la souris devrait être avant 
l'invitation à
cliquer.

Il serait utile de rappeler les touches qui permettent de simuler les 
boutons
manquant de la souris

Une des explications que j'ai toujours utilisées pour présenter les 
différents
boutons de Smalltalk est que le bouton rouge est manipulé avec l'index 
(pour les
droitiers).
L'index sert à montrer, désigner, éventuellement prendre et déplacer
(par drag&drop).
Le bouton jaune sert en général à activer les menus contextuels.
Le bouton bleu sert à activer le menus de la fenêtre (ou le halo du morph en
squeak).

Une des choses qui est assez déroutante en squeak est que le rouge et le 
jaune
sur le world ouvre tout deux un menu World (différent en plus), ce qui 
détruit
cette logique.

[ ] p 7 : Saisissez Time now (expression retournant le temps présent) ...
je suggère de remplacer "le temps présent" par "l'heure actuelle" ou 
"l'heure
courante"

[ ] p 8 : ah bah oui, voilà la description des méta-touches !!!
ça arrive trop tard

[ ] p 8 : "nous recommandons aux personnes gauchères de configurer leur 
souris
et d'affecter le button rouge à la gauche de leur souris, ..."
- "button rouge" n'est pas traduit (button est resté en anglais)
- le rouge à gauche pour les gaucher ? c'est sûr ça ? je leur aurais plutôt
conseillé de le mettre à droite (justement pour qu'ils le manipulent avec
l'index)

La gestion de la souris restera le premier problème fondamental pour les
débutants, quel que soit le smalltalk choisi. C'est tellement compliqué 
(1,2 ou
3 boutons, gaucher droitier, configurable dans le système hôte, configurable
dans le Smalltalk, modifiable au niveau du code)

Peut-être qu'une image smalltalk devrait s'ouvrir sur une fenêtre d'aide 
à la
configuration de sa souris et permettant de valider ses 3 boutons.

[ ] p 9 : "La plupart des menus de Squeak ne sont pas modaux, ..."
J'ai vu que l'explicatino a été simplifié (suite à un post récent)
Je ne suis pas complètement convaincu du bien fondé de cette 
affirmation. J'ai
plutôt l'impression qu'ils sont modaux par défaut et que c'est seulement 
quand
on l'épingle qu'un menu devient non modal.

[ ] p 13 : "Faites un glisser-déposer"
peut-être faut-il expliquer l'action (je ne suis pas sûr qu'un non
informaticien connaisse le terme, surtout en français)

[ ] p 15 : "Vous avez seulement envoyé..." (é et non er à envoyé)

[ ] p 15 : je n'ai jamais compris pourquoi certains disent 
"Smalltalkien". Je
suppose que ça vient des Lispiens mais j'ai toujours utilisé Smalltalker
(Smalltalkeur en français).
J'ai tendance à traduire Smalltalk par "babillage" (même si ce n'est pas la
traduction qu'on trouve dans les dicos anglais-français) et du coup ça 
devient
"babilleur". "Talk" c'est "parler", et "talker" c'est "parleur".

Ce qui me console, c'est que dans le monde Smalltalk on a deux possibilités
tandis qu'en java il n'y en a aucune de satisfaisante et qu'on se retrouve à
dire un "programmeur java" ( wooaaa !!! y ont même pas de noms les 
pauvres ;-)

[ ] p 16 : "c'est l'objet, et non vous, qui choisissez la méthode appropriée
pour répondre à votre message"

"C'est l'objet .. qui choisissez" me fait bizarre
Je suggère de mettre :
"C'est l'objet qui choisit la méthode appropriée pour répondre à votre
message et non vous.
éventuellement le "et non vous" entre parenthèses)

[ ] page 20 "après avoir installé ce paquetage" (et non "installer")

[ ] page 22 : "qui ont [quelquechose ?] à voir entre elles"

[ ] page 31 : "le fenêtre qui s'ouvre" (la fenêtre)

[ ] page 31 : "comme[nt] répondre"

[ ] page 34 : "vous vous retrouvez exactement dans le même état ... que vous
l'avez laissé..."
la phrase est bizarre. Le "que vous l'avez laissé" s'applique à l'image ou à
l'environnement mais le début de la phrase concerne "vous".

au choix : dans le même état ... où vous l'étiez
ou alors dans le même état ... qu'au moment de la dernière sauvegarde ...

[ ] page 35 : "que Smalltalk est [un] langage très simple"

[ ] page 39 : "la philosophie est plutôt d'avoir un code qui parle de 
lui-même."
Pas tout à fait vrai : la philosophie de départ de smalltalk était plutôt
d'avoir une à deux lignes de commentaire pour chaque méthode.

Cette habitude s'est perdue (et c'est bien dommage car c'était le 
meilleur moyen
d'apprendre). On trouve maintenant beaucoup trop de méthodes 
essentielles sans
le moindre commentaire.
qq chiffres :
vw25 30000 méthodes dont 20000 commentées
vw75 40000 méthodes dont 20000 commentées (et je ne charge pas de parcelles)
Squeak 3.9 45000 dont 22000 commentées
malheureusement, une bonne partie des méthodes de la 7.5 étaient déjà en 2.5
=> la plupart des développeurs ne commentent plus leur développement
alors que les premières versions étaient commentées au 2/3
il est vraissemblable que le phénomène soit identique pour squeak (qui 
doit lui
aussi avoir un bon historique commun avec VisualWorks).

[ ] page 41 : Par convention, si une classe définit une méthode 
initialize, elle
sera appelée dès que l'objet aura été créé.
Il y a plusieurs ambiguïtés dans la phrase :
- "elle" peut faire référence à la classe ou à la méthode initialize
- "l'objet" peut laisser croire qu'on parle de la classe
- Je ne suis pas tout à fait d'accord sur le "Par convention", Je dirais 
plutôt
que c'est par construction (on hérite du mécanisme défini dans Behavior et
ProtoObject (mécanisme qui n'est d'ailleur pas commun à tous les smalltalk).

Je suggère : Par construction, lorsqu'une instance est créée, le message
initialize est automatiquement envoyé (il est encore trop tôt pour vous
expliquer comment cet "automatisme" est réalisé). La méthode initialize
peut-être redéfinie dans n'importe quelle classe pour répondre 
spécifiquement à
ce message.

[ ] Page 43 : "La cellule doit apparaître à l'angle haut à gauche de 
l'écran"
"l'angle haut à gauche" me gène.
On dit pas plutôt "le coin haut gauche" ou le coin en haut à gauche" ?

[ ] page 45 : les deux dernières lignes (7 et 8) ne sont pas indentées de la
même manière que les précédentes.

Remarque : il n'est pas nécessaire de décomposer width et height, ça donne :
self bounds: (5 at 5 extent: sampleCell extent * n + (2 * self borderWidth).
Attention cependant aux impacts sur les paragraphes suivants (variables
temporaires citées plus loin). C'est peut-être compliqué de changer ça.

[ ] page 45 : "...,et vous suggère un certain nombre de proposition..."
=> en général pas de virgule devant un "et"
de toutes façons, il manque un espace entre la virgule et le "et"
Répétition de Squeak dans la phrase précédente

[ ] page 49 : "Une convention typographique."
En fait il ne manque pas grand-chose pour que ça devienne syntaxique.
La convention pour noter les noms des méthodes est d'utiliser le # des 
symboles.
Ainsi on parle plus volontier de la méthode #initialize.
Il suffit d'ajouter une méthode #>> dans Behavior (recherchant et 
retournant la
méthode compilée présente dans le dictionaire de méthode) pour autoriser :

SBEGame>>#cellsPerSide
Naturellement, on notera Object class>>#initialize pour faire référence à la
méthode de classe.

[ ] page 50 :
c position: ((i - 1) * c width) @ ((j - 1) * c height) + origin.
On pourrait écrire : (pas nécessairement moins lisible)
c position: (i @ j) - 1 * c + origin.

[ ] page 51 : Afin de compléter...
Deux fois "Afin" dans la même phrase. On peut remplacer le deuxième par 
"pour".
Ou alors faire deux phrases courtes.

[ ] page 52 : en fait on s'attend plutôt à getMouseAction et setMouseAction
(avec le M majuscule).

Dans le cas présent, la méthode est atypique (car c'est un setter qui 
retourne
la valeur affectée. Je pense que c'est suffisamment rare pour signaler 
que ça
n'est pas habituel.


-- 
*Jean-François LEFEVRE*
Architecte Senior
+33 (0)6 80 38 01 29
jflefevre at sqli.com <mailto:jflefevre at sqli.com> 	
268, avenue du Président Wilson 93210 LA PLAINE-SAINT-DENIS
Std : +33 1 55 93 26 00 - Fax : +33 1 55 93 26 01
*"SQLI Consulting, l'expert du conseil IT"*
www.sqli.com <http://www.sqli.com>

/----------------------------------------------------------------------------------
Ce message et toutes les pièces jointes (ci-après le "message") sont 
confidentiels et établis à l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisée est interdite. Tout message 
électronique est susceptible d'altération.
---------------------------------------------------------------------------------- 

/




Plus d'informations sur la liste de diffusion Squeak-fr