]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/extending/scheme-tutorial.itely
Doc-fr: updates EM, NR ans AU
[lilypond.git] / Documentation / fr / extending / scheme-tutorial.itely
index 6b65cf820c692be834b4b41be4c95ff14088fab0..2991697c3ea7c4e48ec2b2304696c6af85b02ae3 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: 44c3a53cb34d08a57838ae56c407216277e4c3f0
+    Translation of GIT committish: ec074a41f03cf4cd3b914daa1359dd6e0fb2012d
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -285,7 +285,7 @@ procédures Scheme @code{car} et @code{cdr}.
 
 @lisp
 guile> (define mypair (cons 123 "hello there")
 
 @lisp
 guile> (define mypair (cons 123 "hello there")
-... )
+@dots{} )
 guile> (car mypair)
 123
 guile> (cdr mypair)
 guile> (car mypair)
 123
 guile> (cdr mypair)
@@ -295,7 +295,7 @@ guile>
 
 @noindent
 
 
 @noindent
 
-Note :  @code{cdr} se prononce @qq{couldeur}, comme l'indiquent Sussman et
+Note : @code{cdr} se prononce @qq{couldeur}, comme l'indiquent Sussman et
 Abelson -- voir
 @uref{http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-14.html#footnote_Temp_133}.
 
 Abelson -- voir
 @uref{http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-14.html#footnote_Temp_133}.
 
@@ -305,8 +305,9 @@ Abelson -- voir
 @translationof Lists
 
 Autre structure de donnée commune en Scheme : la liste (@emph{list}).
 @translationof Lists
 
 Autre structure de donnée commune en Scheme : la liste (@emph{list}).
-Une liste se définit comme étant vide (représentée par @code{'()}) ou
-une paire dont le @code{cdr} est une liste.
+Une liste « correcte » se définit comme étant vide (représentée par
+@code{'()} et de longueur 0) ou une paire dont le @code{cdr} est une
+liste.
 
 Il existe plusieurs méthodes pour créer une liste, la plus courante
 étant l'utilisation de la procédure @code{list} :
 
 Il existe plusieurs méthodes pour créer une liste, la plus courante
 étant l'utilisation de la procédure @code{list} :
@@ -561,7 +562,7 @@ En Scheme, on définit une procédure à l'aide de l'instruction
 @code{define} :
 
 @example
 @code{define} :
 
 @example
-(define (nom-fonction argument1 argument2 ... argumentn)
+(define (nom-fonction argument1 argument2@dots{} argumentn)
  expression-scheme-qui-donnera-une-valeur-en-retour)
 @end example
 
  expression-scheme-qui-donnera-une-valeur-en-retour)
 @end example
 
@@ -630,7 +631,7 @@ retour de la dernière clause de ce bloc :
 
 @lisp
 guile> (let ((x 2) (y 3) (z 4)) (display (+ x y)) (display (- z 4))
 
 @lisp
 guile> (let ((x 2) (y 3) (z 4)) (display (+ x y)) (display (- z 4))
-... (+ (* x y) (/ z x)))
+@dots{} (+ (* x y) (/ z x)))
 508
 @end lisp
 
 508
 @end lisp
 
@@ -678,7 +679,7 @@ l'instruction @code{cond} :
 @example
 (cond (expression-test-1 expression-résultat-séquence-1)
       (expression-test-2 expression-résultat-séquence-2)
 @example
 (cond (expression-test-1 expression-résultat-séquence-1)
       (expression-test-2 expression-résultat-séquence-2)
-      ...
+      @dots{}
       (expression-test-n expression-résultat-séquence-n))
 @end example
 
       (expression-test-n expression-résultat-séquence-n))
 @end example
 
@@ -688,8 +689,8 @@ Comme par exemple ici :
 guile> (define a 6)
 guile> (define b 8)
 guile> (cond ((< a b) "a est plus petit que b")
 guile> (define a 6)
 guile> (define b 8)
 guile> (cond ((< a b) "a est plus petit que b")
-...          ((= a b) "a égale b")
-...          ((> a b) "a est plus grand que b"))
+@dots{}          ((= a b) "a égale b")
+@dots{}          ((> a b) "a est plus grand que b"))
 "a est plus petit que b"
 @end lisp
 
 "a est plus petit que b"
 @end lisp
 
@@ -727,7 +728,7 @@ expressions, tout comme le langage humain est structuré en mots et
 phrases.  LilyPond dispose d'un analyseur lexical (appelé @emph{lexer})
 qui sait identifier les jetons -- nombres, chaînes, éléments Scheme,
 hauteurs etc. -- ainsi que d'un analyseur syntaxique (appelé
 phrases.  LilyPond dispose d'un analyseur lexical (appelé @emph{lexer})
 qui sait identifier les jetons -- nombres, chaînes, éléments Scheme,
 hauteurs etc. -- ainsi que d'un analyseur syntaxique (appelé
-@emph{parser}) -- voir 
+@emph{parser}) -- voir
 @rcontribnamed{LilyPond grammar, Grammaire de LilyPond}.  Dès lors
 que le programme sait quelle règle grammaticale particulière doit
 s'appliquer, il exécute les consignes qui lui sont associées.
 @rcontribnamed{LilyPond grammar, Grammaire de LilyPond}.  Dès lors
 que le programme sait quelle règle grammaticale particulière doit
 s'appliquer, il exécute les consignes qui lui sont associées.
@@ -904,7 +905,7 @@ traLaLa = @{ c'4 d'4 @}
 est convertie, en interne, en une définition Scheme :
 
 @example
 est convertie, en interne, en une définition Scheme :
 
 @example
-(define traLaLa @var{valeur Scheme de `@code{... }'})
+(define traLaLa @var{valeur Scheme de `@code{@dots{}}'})
 @end example
 
 Cela signifie que variables LilyPond et variables Scheme peuvent tout à
 @end example
 
 Cela signifie que variables LilyPond et variables Scheme peuvent tout à
@@ -950,7 +951,7 @@ syntaxe LilyPond.  Au lieu de définir @code{\twice}, nous aurions tout
 aussi bien pu écrire
 
 @example
 aussi bien pu écrire
 
 @example
-...
+@dots{}
 $(make-sequential-music (list newLa))
 @end example
 
 $(make-sequential-music (list newLa))
 @end example
 
@@ -976,7 +977,7 @@ d'une liste dans le contexte environnant.  Grâce à ces opérateurs, la
 dernière partie de notre fonction pourrait s'écrire ainsi :
 
 @example
 dernière partie de notre fonction pourrait s'écrire ainsi :
 
 @example
-...
+@dots{}
 @{ #@@newLa @}
 @end example
 
 @{ #@@newLa @}
 @end example
 
@@ -998,7 +999,7 @@ ici :
 #(define (nopc)
   (ly:set-option 'point-and-click #f))
 
 #(define (nopc)
   (ly:set-option 'point-and-click #f))
 
-...
+@dots{}
 #(nopc)
 @{ c'4 @}
 @end example
 #(nopc)
 @{ c'4 @}
 @end example
@@ -1265,24 +1266,33 @@ affichera
 
 Par défaut, LilyPond affichera ces messages sur la console, parmi toutes
 les autres informations.  Vous pouvez, afin de les isoler et de garder
 
 Par défaut, LilyPond affichera ces messages sur la console, parmi toutes
 les autres informations.  Vous pouvez, afin de les isoler et de garder
-le résultat des commandes @code{\display@{TRUC@}}, rediriger la sortie
-vers un fichier :
+le résultat des commandes @code{\display@{TRUC@}}, spécifier un
+port optionnel à utiliser pour la sortie :
 
 @example
 
 @example
-lilypond file.ly >display.txt
+@{
+  \displayMusic #(open-output-file "display.txt") @{ c'4\f @}
+@}
 @end example
 
 @end example
 
-Un peu de Scheme combiné à notre code LilyPond, et les seules
-informations qui nous intéressent se retrouveront directement dans un
-fichier indépendant :
+Ceci aura pour effet d'écraser tout fichier précédemment généré.
+Lorsque plusieurs expressions doivent être retranscrites, il suffit de
+faire appel à une variable pour le port puis de la réutiliser :
 
 @example
 @{
 
 @example
 @{
-  #(with-output-to-file "display.txt"
-      (lambda () #@{ \displayMusic @{ c'4\f @} #@}))
+  port = #(open-output-file "display.txt")
+  \displayMusic \port @{ c'4\f @}
+  \displayMusic \port @{ d'4 @}
+  #(close-output-port port)
 @}
 @end example
 
 @}
 @end example
 
+La documentation de Guile fournit une description détaillée des ports.
+Clôturer un port n'est requis que si vous désirez consulter le fichier
+avant que LilyPond n'ait fini, ce dont nous ne nous sommes pas préoccupé
+dans le premier exemple.
+
 L'information sera encore plus lisible après un peu de mise en forme :
 
 @example
 L'information sera encore plus lisible après un peu de mise en forme :
 
 @example
@@ -1297,7 +1307,7 @@ L'information sera encore plus lisible après un peu de mise en forme :
               'pitch    (ly:make-pitch 0 0 0))))
 @end example
 
               'pitch    (ly:make-pitch 0 0 0))))
 @end example
 
-Une séquence musicale @code{@{ ... @}} se voit attribuer le nom de
+Une séquence musicale @code{@{ @dots{} @}} se voit attribuer le nom de
 @code{SequentialMusic}, et les expressions qu'elle contient sont
 enregistrées en tant que liste dans sa propriété @code{'elements}.  Une
 note est représentée par un objet @code{NoteEvent} -- contenant les
 @code{SequentialMusic}, et les expressions qu'elle contient sont
 enregistrées en tant que liste dans sa propriété @code{'elements}.  Une
 note est représentée par un objet @code{NoteEvent} -- contenant les
@@ -1392,7 +1402,7 @@ La hauteur de la note se modifie en définissant sa propriété
        (ly:make-pitch 0 1 0)) ;; set the pitch to d'.
 \displayLilyMusic \someNote
 ===>
        (ly:make-pitch 0 1 0)) ;; set the pitch to d'.
 \displayLilyMusic \someNote
 ===>
-d'
+d'4
 @end example
 
 
 @end example
 
 
@@ -1455,10 +1465,10 @@ Nous aurons donc besoin, dans notre fonction, de cloner cette expression
 -- de telle sorte que les deux notes constituent la séquence -- puis
 d'ajouter un @code{SlurEvent} à la propriété @code{'articulations} de
 chacune d'elles, et enfin réaliser un @code{SequentialMusic} de ces deux
 -- de telle sorte que les deux notes constituent la séquence -- puis
 d'ajouter un @code{SlurEvent} à la propriété @code{'articulations} de
 chacune d'elles, et enfin réaliser un @code{SequentialMusic} de ces deux
-@code{EventChords}.  En tenant compte du fait que, dans le cadre d'un
-ajout, une propriété non définie est lue @code{'()} (une liste vide),
-aucune vérification n'est requise avant d'introduire un nouvel élément
-en tête de la propriété @code{articulations}.
+éléments @code{NoteEvent}.  En tenant compte du fait que, dans le cadre
+d'un ajout, une propriété non définie est lue @code{'()} (une liste
+vide), aucune vérification n'est requise avant d'introduire un nouvel
+élément en tête de la propriété @code{articulations}.
 
 @example
 doubleSlur = #(define-music-function (parser location note) (ly:music?)
 
 @example
 doubleSlur = #(define-music-function (parser location note) (ly:music?)
@@ -1486,7 +1496,7 @@ pouvoir alors ajouter une articulation, telle qu'une instruction de
 doigté, individuellement à l'une des notes d'un accord, ce qui est
 impossible dans le cadre d'une simple fusion de musique indépendante.
 
 doigté, individuellement à l'une des notes d'un accord, ce qui est
 impossible dans le cadre d'une simple fusion de musique indépendante.
 
-Un @code{$variable} au milieu de la notation @code{#@{...#@}} se
+Un @code{$variable} au milieu de la notation @code{#@{ @dots{} #@}} se
 comporte exactement comme un banal @code{\variable} en notation LilyPond
 traditionnelle.  Nous savons déjà que
 
 comporte exactement comme un banal @code{\variable} en notation LilyPond
 traditionnelle.  Nous savons déjà que
 
@@ -1560,7 +1570,7 @@ se déduit la plupart de temps de par son nom -- c'est d'ailleurs une
 excellente pratique que l'on retrouve dans de nombreux autres langages.
 
 @example
 excellente pratique que l'on retrouve dans de nombreux autres langages.
 
 @example
-"Ajoute un accent..."
+"Ajoute un accent@dots{}"
 @end example
 
 @noindent
 @end example
 
 @noindent