]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/user/changing-defaults.itely
Merge master into nested-bookparts
[lilypond.git] / Documentation / fr / user / changing-defaults.itely
index 51dcf0c3e3a3bcd5265827b840ab349fecda2c19..4f7d8755c9aebbf42d7608689b2cbad5dbd9b220 100644 (file)
@@ -1,16 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of ../user/lilypond.tely
 @ignore
-    Translation of GIT committish: da55a1ec3c4b8195efc910b0c986c27f244def85
+    Translation of GIT committish: 76de7e168dbc9ffc7671d99663c5ce50dae42abb
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.61"
+
+@c Translators: Valentin Villenave
+@c Translation checkers: Gilles Thibault
+
 @node Changing defaults
 @chapter Changing defaults
 
-
 LilyPond est conçu pour engendrer, par défaut, des partitions de la
 plus haute qualité.  Cependant, on peut parfois avoir à modifier cette
 mise en page par défaut.  Celle-ci est réglée par tout un ensemble de
@@ -22,18 +26,19 @@ comment trouver le bon levier pour obtenir tel ou tel effet en particulier.
 @cindex Référence du programme
 
 Les moyens de contrôle des différents réglages sont décrits dans un document
-à part entière, la
+séparé, la
 @iftex
 référence du programme
 @end iftex
 @ifnottex
 @ref{Top,Référence du programme,,lilypond-internals}.
 @end ifnottex
-Ce guide répertorie toutes les variables, fonctions et autre options que
-LilyPond met à votre disposition.  Il est consultable en ligne, au format HTML,
+Ce guide répertorie toutes les variables, fonctions et autres options que
+LilyPond met à votre disposition.  Il est consultable 
 @c leave the @uref as one long line.
-@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,on@/-line},
-mais est également inclus dans la documentation fournie avec le logiciel.
+@uref{http://@/lilypond@/.org/@/doc/@/stable/@/Documentation/@/user/@/lilypond@/-internals/,en@tie{}ligne},
+au format HTML, mais est également inclus dans la documentation
+fournie avec le logiciel.
 
 Il est quatre domaines dans lesquels on peut modifier les réglages par défaut :
 
@@ -52,7 +57,7 @@ notation -- par exemple, le fait d'attribuer un chiffre de mesure distinct à ch
 
 @item
 La mise en page, autrement dit les marges, l'espacement, la taille du papier ; tous ces facteurs
-font l'objet des chapitres @ref{Non-musical notation} et @ref{Spacing issues}.
+font l'objet des chapitres @ref{General input and output} et @ref{Spacing issues}.
 @end itemize
 
 En sous-main, LilyPond se sert du langage Scheme (un dérivé du LISP) comme
@@ -60,589 +65,24 @@ infrastructure.  Modifier les choix de mise en page revient à pénétrer dans
 les entrailles du programme, et de ce fait requiert l'emploi du Scheme.
 Les fragments de Scheme, dans un fichier @code{.ly}, sont introduits par le
 caractère @q{hash}, (@code{#}, improprement surnommé @q{dièse}).@footnote{Le 
-@ref{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
+@rlearning{Scheme tutorial} fournit quelques notions de base pour saisir des nombres,
 des listes, des chaînes de caractères ou des symboles, en Scheme.}
 
 
 @menu
-* Automatic notation::          
 * Interpretation contexts::     
-* The \override command::       
-@end menu
-
-
-@node Automatic notation
-@section Automatic notation
-
-Cette section s'intéresse à la manière dont les altérations accidentelles 
-et les ligatures sont automatiquement ajoutées.
-
-@menu
-* Automatic accidentals::       
-* Setting automatic beam behavior::  
+* The override command::        
 @end menu
 
-@node Automatic accidentals
-@subsection Automatic accidentals
-@cindex Altérations accidentelles automatiques
-
-Une fonction a été créée pour regrouper les règles suivant lesquelles
-s'impriment les altérations.  Elle s'invoque de la manière suivante :
-
-@funindex set-accidental-style
-@example
-#(set-accidental-style 'REGLE)
-@end example
-
-@c TODO: check the context stuff below
-@c -does it *really* work?
-@c -the default contexts as specified in
-@c  scm/music-function.scm seem to be different -vv
-
-Cette fonction prend pour argument le nom de la règle d'altérations,
-auquel peut s'ajouter, comme argument facultatif, le contexte
-devant être affecté :
-
-@example
-#(set-accidental-style 'REGLE #('CONTEXTE#))
-@end example
-
-Si aucun contexte n'est spécifié, le contexte @code{Staff} sera affecté ; 
-cependant on peut souhaiter l'appliquer au contexte @code{Voice} en lieu 
-et place.
-
-Les régles d'altérations suivantes sont possibles :
-
-@table @code
-@item default
-C'est la règle d'impression par défaut, qui se rapporte à l'usage 
-en vigueur au XVIIIème siècle : les altérations accidentelles sont valables toute
-une mesure, et uniquement à leur propre octave.
-
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              %#(set-accidental-style 'default) 
-       \musicA }
-       \context Staff = "down"{
-              %#(set-accidental-style 'default)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'default" }}}
-}
-@end lilypond
-
-@item voice
-En principe, LilyPond se souvient de toutes les altérations présentes sur la
-portée (contexte Staff).  Avec cette règle, cependant, les altérations sont indépendantes
-pour chacune des voix. 
-
-
-@example
- \new Staff <<
-        #(set-accidental-style 'voice)
-       @{ @dots{} @}
-       >>
-@end example
-
-De ce fait, les altérations d'une voix sont ignorées dans les autres voix,
-ce qui peut donner lieu à un résultat malencontreux.  Dans l'exemple suivant,
-il est difficile de dire si le deuxième @samp{la} est dièse ou naturel.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'voice) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'voice)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'voice" }}}
-}
-@end lilypond
-
-La règle @code{voice} n'est à envisager que dans le cas de voix devant être lues par
-des musiciens différents. S'il s'agit d'un @q{conducteur}, ou d'une portée destinée
-à un seul musicien, il vaut mieux utiliser @code{modern} ou @code{modern-cautionary}.
-
-
-@item modern
-@funindex modern style accidentals
-Cette règle est la plus courante au XXème siècle.  Les altérations accidentelles
-sont imprimées comme avec le style @code{default}, mais lorsque une note non-altérée
-apparaît à une octave différente, ou bien dans la mesure suivante, des bécarres de précaution
-sont ajoutés.  Dans l'exemple suivant, notez ainsi les deux bécarres dans la
-deuxième mesure de la main droite.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'modern) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'modern)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'modern" }}}
-}
-@end lilypond
-
-@item @code{modern-cautionary}
-@funindex modern-cautionary
-Cette règle est équivalente à @code{modern}, mais les bécarres de précaution sont
-imprimés de façon particulière : soit plus petits, soit (par défaut) entre parenthèses.
-Il est possible de le définir au moyen de la propriété @code{cautionary-style}
-pour l'objet @internalsref{AccidentalSuggestion}.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'modern-cautionary) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'modern-cautionary)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-cautionary" }}}
-}
-@end lilypond
-
-@funindex modern-voice
-@item modern-voice
-Cette règle sert aux altérations dans de la musique polyphonique destinée
-autant à des musiciens différents qu'à quelqu'un qui lirait l'ensemble des voix.
-Les altérations sont imprimées voix par voix, mais les autres voix, dans le même 
-contexte @internalsref{Staff}, en @emph{tiennent compte} cette fois.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'modern-voice) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'modern-voice)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-voice" }}}
-}
-@end lilypond
-
-@funindex modern-voice-cautionary
-@item modern-voice-cautionary
-Cette régle est similaire à la précédente, mais les altérations de précautions
-(celles que n'aurait pas ajoutées @code{voice}), sont imprimées de façon
-particulière.  On retrouve donc toutes les altérations qu'imprimerait
-@code{default}, mais certaines sont considérées comme étant @qq{de précaution}.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'modern-voice-cautionary) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'modern-voice-cautionary)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'modern-voice-cautionary" }}}
-}
-@end lilypond
-
-@item piano
-@funindex piano accidentals
-Cette règle est adaptée aux contextes GrandStaff -- ce qui n'empêche pas de devoir la spécifier 
-pour chaque portée individuelle au sein du contexte GrandStaff.
-
-@example
-\new GrandStaff @{ <<
-  \new Staff = "up" @{ <<
-    #(set-accidental-style 'piano)
-    @{ @dots{} @}
-  >> @}
-  \new Staff = "down"@{ <<
-    #(set-accidental-style 'piano)
-  @{ @dots{} @}
-  >> @}
->> @}
-@end example
-
-Cette règle est communément employée pour les partitions de piano au XXème siècle.
-Très similaire à @code{modern} de par son comportement, elle s'en distingue en ce que
-les altérations tiennent compte des autre portées du contexte @internalsref{GrandStaff} ou
-@internalsref{PianoStaff}.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'piano) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'piano)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'piano" }}}
-}
-@end lilypond
-
-@item piano-cautionary
-@funindex #(set-accidental-style 'piano-cautionary)
-Identique à @code{#(set-accidental-style 'piano)}, mais les altérations de précaution
-sont imprimées différemment.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'piano-cautionary) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'piano-cautionary)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'piano-cautionary" }}}
-}
-@end lilypond
-
-@item no-reset
-@funindex no-reset accidental style
-C'est la même règle que @code{default}, mais l'effet des altérations accidentelles
-ne cesse jamais, même dans les mesures suivantes.
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'no-reset) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'no-reset)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'no-reset" }}}
-}
-@end lilypond
-
-@item forget
-Tout le contraire de @code{no-reset}: l'effet des altérations cesse aussitôt,
-et de ce fait, toutes les altérations, quelque soit leur place dans la mesure, sont
-imprimées, en fonction de l'armure éventuelle.
-
-@lilypond[quote,ragged-right]
-musicA = {  << \relative {  cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\
-       \relative { ais'2 cis, | fis8 b a4 cis2 | } >> }
-
-musicB = { \clef bass  \new Voice { \voiceTwo \relative { < fis, a cis>4 
-       \change Staff = up cis' \change Staff = down <fis, a>  
-       \change Staff = up dis' | \change Staff = down <fis, a cis>4 gis 
-       <f a d>2 |  } }}
-
-\score { 
-       \new PianoStaff {
-       << \context Staff = "up" {
-              #(set-accidental-style 'forget) 
-       \musicA }
-       \context Staff = "down"{
-              #(set-accidental-style 'forget)
-       \musicB } >> }
-       \header { piece = \markup {\fill-line { \fontsize #3  "'forget" }}}
-}
-@end lilypond
-@end table
-
-
-@seealso
-
-Référence du programme : @internalsref{Accidental_engraver},
-@internalsref{Accidental}, @internalsref{AccidentalSuggestion} et @internalsref{AccidentalPlacement}.
-
-
-@refbugs
-
-Les notes simultanées sont considérées comme des évènements séquentiels.
-Ce qui implique que, dans un accord, les altérations accidentelles sont 
-imprimées comme si les notes de l'accords apparaissaient une par une, en fonction
-de l'ordre dans lequels elles ont été saisies -- ce qui peut poser problème lorsqu'au
-sein d'un accord certaines altérations dépendent les unes des autres. Ce problème
-est à résoudre manuellement, en insérant des @code{!} et des @code{?} après les notes
-concernées.
-
-
-@node Setting automatic beam behavior
-@subsection Setting automatic beam behavior
-
-@funindex autoBeamSettings
-@funindex (end * * * *)
-@funindex (begin * * * *)
-@cindex ligatures automatiques, réglage
-@cindex réglage des ligatures automatiques
-
-@c [TODO: use \applyContext]
-
-Dans les métriques courantes, les ligatures automatiques peuvent commencer
-sur n'importe quelle note, mais ne peuvent se terminer qu'à certains points précis
-dans la mesure : sur une pulsation, ou après toute durée spécifiée par les propriétés
-nommées @code{autoBeamSettings}.  Ces propriétés consistent en une liste de règles
-relatives au début ou à la fin des ligatures.  Par défaut, elles sont définies dans
-le fichier
-@file{scm/@/auto@/-beam@/.scm}.
-
-On peut ajouter à cette liste une nouvelle règle, au moyen de la commande
-@example
-#(override-auto-beam-setting '(extrémité p q n m) a b [contexte])
-@end example
-
-@itemize @bullet
-
-@item @code{extrémité} désigne le début (@code{begin}) ou la fin (@code{end}) de la ligature.
-
-@item @code{p/q} désigne la valeur rythmique de la note que l'on veut affecter, ou de la
-plus brève des notes concernées.  Si cette règle doit s'appliquer à toutes les ligatures,
-remplacez @code{p} et @code{q} par des étoiles @qq{@code{*}}.
-
-
-@item @code{n/m} est le chiffre de mesure dans lequel la règle doit s'appliquer. Si
-celle-ci doit s'appliquer dans toutes les métriques, remplacez @code{n} et @code{m}
-par des étoiles @qq{@code{*}}.
-
-@item @code{a/b} est l'emplacement, dans la mesure, auquel les ligatures doivent
-débuter ou s'achever (suivant la valeur @q{extrémité} que nous venons de voir).
-
-
-@item @code{contexte} est un argument facultatif, qui détermine le contexte dans lequel
-la règle doit s'appliquer.  Par défaut, il s'agit de @code{'Voice}.
-@code{#(score-override-auto-beam-setting '(A B C D) E F)} équivaut à
-@code{#(override-auto-beam-setting '(A B C D) E F 'Score)}.
-
-@end itemize
-
-Par exemple, si l'on veut que les ligatures s'achèvent toujours après la première noire :
-
-
-@example
-#(override-auto-beam-setting '(end * * * *) 1 4)
-@end example
-
-On peut obliger une règle de ligatures à ne s'appliquer qu'à des groupes dont la note
-la plus brève est d'une valeur précise :
-
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\time 2/4
-#(override-auto-beam-setting '(end 1 16 * *) 1 16)
-a16 a a a a a a a |
-a32 a a a a16 a a a a a |
-#(override-auto-beam-setting '(end 1 32 * *) 1 16)
-a32 a a a a16 a a a a a |
-@end lilypond
-
-On peut obliger une règle de ligatures à ne s'appliquer que pour un chiffre de mesure
-précis :
-
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\time 5/8
-#(override-auto-beam-setting '(end * * 5 8) 2 8)
-c8 c d d d
-\time 4/4
-e8 e f f e e d d
-\time 5/8
-c8 c d d d
-@end lilypond
-
-Enfin, on peut désactiver une règle de ligatures au moyen du réglage suivant :
-
-@example
-#(revert-auto-beam-setting '(extrémité p q n m) a b [contexte])
-@end example
-
-@noindent
-@code{extrémité}, @code{p}, @code{q}, @code{n}, @code{m}, @code{a}, @code{b} et @code{contexte}
-étant les mêmes que plus haut.  Il est même possible de désactiver des règles que l'on n'a pas
-explicitement créées : les règles par défaut, qui se trouvent dans le fichier @file{scm/@/auto@/-beam@/.scm}.
-
-
-
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\time 4/4
-a16 a a a a a a a a a a a a a a a
-#(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
-a16 a a a a a a a a a a a a a a a
-@end lilypond
-
-La commande @code{revert-auto-beam-setting} requiert exactement les mêmes arguments
-que la règle d'origine.  En d'autres termes, les étoiles ne seront pas prises en compte ici.
-
-@c KEEP LY
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-\time 1/4
-#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
-a16 a a a
-#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % ceci ne désactive pas la règle !
-a a a a
-#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % ceci marche
-a a a a
-@end lilypond
-
-
-
-@c TODO:  old material -- not covered by above stuff, I think.
-Si, dans une mesure à 5/4, l'on veut que les ligatures soient regroupées temps par temps,
-il est nécessaire d'indiquer toutes les terminaisons de ligatures.
-@example
-#(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
-#(override-auto-beam-setting '(end * * * *) 1 2 'Staff)
-#(override-auto-beam-setting '(end * * * *) 3 4 'Staff)
-#(override-auto-beam-setting '(end * * * *) 5 4 'Staff)
-@dots{}
-@end example
-
-La même syntaxe peut servir à définir les points de départ des ligatures.
-Dans l'exemple suivant, les ligatures automatiques  ne peuvent se terminer 
-que sur une noire pointée.
-@example
-#(override-auto-beam-setting '(end * * * *) 3 8)
-#(override-auto-beam-setting '(end * * * *) 1 2)
-#(override-auto-beam-setting '(end * * * *) 7 8)
-@end example
-@c ???? Je n'y comprends rien --vv
-Dans une mesure à 4/4, cela implique que les ligatures ne peuvent se terminer que sur
-la troisième croche, ou sur le quatrième temps (après la valeur de deux fois trois croches).
-
-Si une ligature se fait de manière inattendue, pensez à vérifer les règles automatiques
-dans le fichier @file{scm/@/auto@/-beam@/.scm} pour rechercher d'éventuels conflits, dans
-la mesure ou les règles par défaut s'ajoutent à vos propres règles.  Il est alors nécessaire
-de désactiver toute règle par défaut conduisant à des ligatures indésirables.
-
-Ainsi, pour obtenir des ligatures en groupes de @code{(3 4 3 2)} notes, dans une mesure à 12/8,
-il faudra préalablement utiliser :
-
-@example
-%%% annulons les réglages par défaut relatifs à 12/8, dans scm/auto-beam.scm 
-#(revert-auto-beam-setting '(end * * 12 8) 3 8)
-#(revert-auto-beam-setting '(end * * 12 8) 3 4)
-#(revert-auto-beam-setting '(end * * 12 8) 9 8)
-
-%%% puis ajoutons nos propres règles
-#(override-auto-beam-setting '(end 1 8 12 8) 3 8)
-#(override-auto-beam-setting '(end 1 8 12 8) 7 8)
-#(override-auto-beam-setting '(end 1 8 12 8) 10 8)
-@end example
-
-@cindex ligatures automatiques
-@cindex groupes de notes
-@funindex autoBeaming
-@cindex paroles
-
-Si des ligatures sont utilisées dans les paroles d'une chanson (pour indiquer des mélismes),
-les ligatures automatiques doivent être désactivées, avec @code{\autoBeamOff}.
-
-
-@refcommands
-
-@funindex \autoBeamOff
-@code{\autoBeamOff},
-@funindex \autoBeamOn
-@code{\autoBeamOn}.
-
-@commonprop
-
-Les groupes de notes reliées par les ligatures peuvent être spécifiés au moyen
-de la propriété @code{beatGrouping}.
-
-@lilypond[quote,verbatim,relative=2,fragment,ragged-right]
-\time 5/16
-\set beatGrouping = #'(2 3)
-c8[^"(2+3)" c16 c8]
-\set beatGrouping = #'(3 2)
-c8[^"(3+2)" c16 c8]
-@end lilypond
-
-
-@refbugs
-
-Si une partition se termine alors qu'une ligature automatique est restée inachevée,
-cette dernière ligature ne sera pas imprimée du tout.  C'est également valable dans
-le cas d'une musique polyphonique, saisie avec la syntaxe @code{<< @dots{} \\ @dots{}
->>}, où une voix se terminerait sans que la dernière ligature
-soit achevée.
 
 @node Interpretation contexts
 @section Interpretation contexts
 
-This section describes what contexts are, and how to modify them.
+Cette section traite des contextes.
 
 @menu
 * Contexts explained::          
-* Creating contexts::           
-* Changing context properties on the fly::  
+* The set command::             
 * Modifying context plug-ins::  
 * Layout tunings within contexts::  
 * Changing context default settings::  
@@ -655,234 +95,41 @@ This section describes what contexts are, and how to modify them.
 @node Contexts explained
 @subsection Contexts explained
 
-When music is printed, a lot of notational elements must be added to the
-output.  For example, compare the input and output of the following example:
-
-@lilypond[quote,verbatim,relative=2,fragment]
-cis4 cis2. g4
-@end lilypond
-
-The input is rather sparse, but in the output, bar lines, accidentals,
-clef, and time signature are added.  LilyPond @emph{interprets} the
-input.  During this step, the musical information is inspected in time
-order, similar to reading a score from left to right.  While reading
-the input, the program remembers where measure boundaries are, and which
-pitches require explicit accidentals.  This information can be presented on
-several levels.  For example, the effect of an accidental is limited
-to a single staff, while a bar line must be synchronized across the
-entire score.
-
-Within LilyPond, these rules and bits of information are grouped in
-@emph{Contexts}.  Some examples of contexts are @context{Voice},
-@context{Staff}, and @context{Score}.  They are hierarchical, for
-example: a @context{Staff} can contain many @context{Voice}s, and a
-@context{Score} can contain many @context{Staff} contexts.
-
-@quotation
-@image{context-example,5cm,,}
-@end quotation
-
-Each context has the responsibility for enforcing some notation rules,
-creating some notation objects and maintaining the associated
-properties.  For example, the @context{Voice} context may introduce an
-accidental and then the @context{Staff} context maintains the rule to
-show or suppress the accidental for the remainder of the measure.  The
-synchronization of bar lines is handled at @context{Score} context.
-
-However, in some music we may not want the bar lines to be
-synchronized -- consider a polymetric score in 4/4 and 3/4 time.  In
-such cases, we must modify the default settings of the @context{Score}
-and @context{Staff} contexts.
-
-For very simple scores, contexts are created implicitly, and you need
-not be aware of them.  For larger pieces, such as anything with more
-than one staff, they must be
-created explicitly to make sure that you get as many staves as you
-need, and that they are in the correct order.  For typesetting pieces
-with specialized notation, it can be useful to modify existing or
-to define new contexts.
-
-
-A complete description of all available contexts is in the program
-reference, see
-@ifhtml
-@internalsref{Contexts}.
-@end ifhtml
-@ifnothtml
-Translation @arrow{} Context.
-@end ifnothtml
-
-@c [TODO: describe propagation]
-
-
-@node Creating contexts
-@subsection Creating contexts
-
-For scores with only one voice and one staff, contexts are
-created automatically.  For more complex scores, it is necessary to
-create them by hand.  There are three commands that do this.
-
-@itemize @bullet
-
-@item
-The easiest command is @code{\new}, and it also the quickest to type.
-It is prepended to a music expression, for example
-
-@funindex \new
-@cindex new contexts
-@cindex Context, creating
-
-@example
-\new @var{type} @var{music expression}
-@end example
-
-@noindent
-where @var{type} is a context name (like @code{Staff} or
-@code{Voice}).  This command creates a new context, and starts
-interpreting the @var{music expression} with that.
-
-A practical application of @code{\new} is a score with many
-staves.  Each part that should be on its own staff, is preceded with
-@code{\new Staff}.
-
-@lilypond[quote,verbatim,relative=2,ragged-right,fragment]
-<<
-  \new Staff { c4 c }
-  \new Staff { d4 d }
->>
-@end lilypond
-
-The @code{\new} command may also give a name to the context,
-
-@example
-\new @var{type} = @var{id} @var{music}
-@end example
-However, this user specified name is only used if there is no other
-context already earlier with the same name.
-
-
-@funindex \context
-
-@item
-Like @code{\new}, the @code{\context} command also directs a music
-expression to a context object, but gives the context an explicit name.  The
-syntax is
-
-@example
-\context @var{type} = @var{id} @var{music}
-@end example
-
-This form will search for an existing context of type @var{type}
-called @var{id}.  If that context does not exist yet, a new
-context with the specified name is created.  This is useful if
-the context is referred to later on.  For example, when
-setting lyrics the melody is in a named context
-
-@example
-\context Voice = "@b{tenor}" @var{music}
-@end example
-
-@noindent
-so the texts can be properly aligned to its notes,
-
-@example
-\new Lyrics \lyricsto "@b{tenor}" @var{lyrics}
-@end example
-
-@noindent
-
-Another possible use of named contexts is funneling two different
-music expressions into one context.  In the following example,
-articulations and notes are entered separately,
-
-@example
-music = @{ c4 c4 @}
-arts = @{ s4-. s4-> @}
-@end example
-
-They are combined by sending both to the same @context{Voice} context,
-
-@example
-<<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
->>
-@end example
-@lilypond[quote,ragged-right]
-music = { c4 c4 }
-arts = { s4-. s4-> }
-\relative c'' <<
-  \new Staff \context Voice = "A" \music
-  \context Voice = "A" \arts
->>
-@end lilypond
-
-With this mechanism, it is possible to define an Urtext (original
-edition), with the option to put several distinct articulations on the
-same notes.
-
-@cindex creating contexts
-
-@item
-The third command for creating contexts is
-@example
-\context @var{type} @var{music}
-@end example
+@untranslated
 
 
-@noindent
-This is similar to @code{\context} with @code{= @var{id}}, but matches
-any context of type @var{type}, regardless of its given name.
-
-This variant is used with music expressions that can be interpreted at
-several levels.  For example, the @code{\applyOutput} command (see
-@ref{Running a function on all layout objects}).  Without an explicit
-@code{\context}, it is usually applied to @context{Voice}
-
-@example
-\applyOutput #'@var{context} #@var{function}   % apply to Voice
-@end example
-
-To have it interpreted at the @context{Score} or @context{Staff} level use
-these forms
-
-@example
-\applyOutput #'Score #@var{function}
-\applyOutput #'Staff #@var{function}
-@end example
+@node The set command
+@subsection The @code{\set} command
 
-@end itemize
-
-
-@node Changing context properties on the fly
-@subsection Changing context properties on the fly
-
-@cindex properties
+@cindex propriétés
 @funindex \set
-@cindex changing properties
+@cindex modifier des propriétés
 
-Each context can have different @emph{properties}, variables contained
-in that context.  They can be changed during the interpretation step.
-This is achieved by inserting the @code{\set} command in the music,
+Chaque contexte peut avoir plusieurs @emph{propriétés}, c'est-à-dire
+des variables qu'il inclut.  Ces dernières peuvent être modifiées @qq{à la volée},
+c'est-à-dire pendant que la compilation s'accomplit.  C'est là le rôle de la
+commande @code{\set}.
 
 @example
-\set @var{context}.@var{prop} = #@var{value}
+\set @var{contexte}.@var{propriété} = #@var{valeur}
 @end example
 
-For example,
+Ainsi :
 @lilypond[quote,verbatim,relative=2,fragment]
 R1*2
 \set Score.skipBars = ##t
 R1*2
 @end lilypond
 
-This command skips measures that have no notes.  The result is that
-multi-rests are condensed.  The value assigned is a Scheme object.  In
-this case, it is @code{#t}, the boolean True value.
+Cette commande permet de condenser les mesures vides de notes, en des silences
+multi-mesures.  Il s'agit d'un objet Scheme, auquel on attribue la valeur booléenne
+@q{vrai}, c'est-à-dire la lettre @code{#t} pour @q{True} en anglais.
+
+Ce changement étant appliqué @q{à la volée}, il n'affecte que le second groupe de notes.
 
-If the @var{context} argument is left out, then the current bottom-most
-context (typically @context{ChordNames}, @context{Voice}, or
-@context{Lyrics}) is used.  In this example,
+Si l'argument @var{contexte} n'est pas spécifié, alors la propriété cherchera à s'appliquer
+dans le contexte le plus restreint où elle est employée : le plus souvent
+ @code{ChordNames}, @code{Voice}, ou @code{Lyrics}.  Dans l'exemple suivant,
 
 @lilypond[quote,verbatim,relative=2,fragment]
 c8 c c c
@@ -891,12 +138,13 @@ c8 c c c
 @end lilypond
 
 @noindent
-the @var{context} argument to @code{\set} is left out, so automatic
-beaming is switched off in the current @internalsref{Voice}.  Note that
-the bottom-most context does not always contain the property that you
-wish to change -- for example, attempting to set the @code{skipBars}
-property (of the bottom-most context, in this case @code{Voice}) will
-have no effect.
+aucun argument @var{contexte} n'a été donné à la commande @code{\set}.
+De ce fait, les ligatures automatiques sont désactivées dans le
+contexte actuel, c'est-à-dire @rinternals{Voice}.  Notez que le
+contexte le plus restreint n'est pas toujours le bon, 
+et peut ne pas contenir la propriété qui vous intéresse : ainsi, la propriété 
+@code{skipBars}, évoquée plus haut, ne relève pas du contexte @code{Voice}, 
+et le code suivant ne fonctionnera pas.
 
 @lilypond[quote,verbatim,relative=2,fragment]
 R1*2
@@ -904,59 +152,58 @@ R1*2
 R1*2
 @end lilypond
 
-Contexts are hierarchical, so if a bigger context was specified, for
-example @context{Staff}, then the change would also apply to all
-@context{Voice}s in the current stave.  The change is applied
-@q{on-the-fly}, during the music, so that the setting only affects the
-second group of eighth notes.
+Les contextes s'organisent de façon hiérarchique : aussi, lorsqu'un contexte de niveau
+supérieur est spécifié (par exemple @code{Staff}), la propriété sera modifée dans
+tous les contextes inférieurs (tous les contextes @code{Voice}, par exemple)
+qu'il contient.
 
 @funindex \unset
 
-There is also an @code{\unset} command,
+La commande @code{\unset} permet d'annuler la définition d'une propriété :
+
 @example
-\unset @var{context}.@var{prop}
+\unset @var{contexte}.@var{propriété}
 @end example
 
 @noindent
-which removes the definition of @var{prop}.  This command removes
-the definition only if it is set in @var{context}, so
+si et seulement si cette propriété à été définie dans ce @var{contexte}
+précis ; ainsi,
 
 @example
 \set Staff.autoBeaming = ##f
 @end example
 
 @noindent
-introduces a property setting at @code{Staff} level.  The setting also
-applies to the current @code{Voice}.  However,
+même s'il s'applique à tous les contextes @code{Voice} contenus dans le
+contexte @code{Staff}, ne peut être annulé au niveau @code{Voice}.  Le code
+suivant sera sans effet.
 
 @example
 \unset Voice.autoBeaming
 @end example
 
 @noindent
-does not have any effect.  To cancel this setting, the @code{\unset}
-must be specified on the same level as the original @code{\set}.  In
-other words, undoing the effect of @code{Staff.autoBeaming = ##f}
-requires
+En d'autres termes, la commande @code{\unset} doit impérativement être
+accompagnée du même contexte que la commande @code{\set} d'origine.
+Pour annuler l'effet, dans notre exemple, de @code{Staff.autoBeaming = ##f},
+il faut donc entrer :
 @example
 \unset Staff.autoBeaming
 @end example
 
-Like @code{\set}, the @var{context} argument does not have to be
-specified for a bottom context, so the two statements
+Si l'on se trouve dans le contexte le plus restreint, il n'est pas obligatoire,
+là encore, de spécifier le @var{contexte}.  Ainsi, les deux lignes suivantes sont équivalentes.
+
 
 @example
 \set Voice.autoBeaming = ##t
 \set autoBeaming = ##t
 @end example
 
-@noindent
-are equivalent.
-
 
 @cindex \once
-Settings that should only apply to a single time-step can be entered
-with @code{\once}, for example in
+Pour modifier une propriété de façon à ce qu'elle ne s'applique qu'une seule fois,
+il convient d'employer la commande @code{\once} :
 
 @lilypond[quote,verbatim,relative=2,fragment]
 c4
@@ -965,54 +212,60 @@ c4
 c4
 @end lilypond
 
-the property @code{fontSize} is unset automatically after the second
-note.
+Ici le changement de taille est annulé aussitôt après la note concernée.
 
-A full description of all available context properties is in the
-program reference, see
+La référence du programme contient une description exhaustive de toutes les
+propriétés contexte par contexte : voir
 @ifhtml
-@internalsref{Tunable context properties}.
+@rinternals{Tunable context properties}.
 @end ifhtml
 @ifnothtml
-Translation @arrow{} Tunable context properties.
+Translation @expansion{} Tunable context properties.
 @end ifnothtml
 
 
 @node Modifying context plug-ins
 @subsection Modifying context plug-ins
 
-Notation contexts (like @code{Score} and @code{Staff}) not only
-store properties,
-they also contain plug-ins called @q{engravers} that create notation
-elements.  For example, the @code{Voice} context contains a
-@code{Note_head_engraver} and the @code{Staff} context contains a
-@code{Key_signature_engraver}.
+Les contextes, tels que @code{Score} ou @code{Staff}, ne contiennent
+pas que des propriétés ; ils mettent également en œuvre certains
+sous-programmes (@q{plug-ins}, pour employer le terme consacré) nommés
+@q{graveurs} (@q{engravers}, pour reprendre le terme anglais).
+Ces sous-programmes sont chargés de créer les différents éléments de notation :
+On trouve ainsi dans le contexte @code{Voice}, un graveur @code{Note_head_engraver},
+chargé des têtes de notes, et dans le contexte @code{Staff}, un graveur
+@code{Key_signature_engraver}, chargé de l'armure.
 
-For a full a description of each plug-in, see
+Vous trouverez une description exhaustive de chaque graveur dans
 @ifhtml
-@internalsref{Engravers}.
+@rinternals{Engravers and Performers}.
 @end ifhtml
 @ifnothtml
-Program reference @arrow Translation @arrow{} Engravers.
+Program reference @expansion Translation @expansion{} Engravers.
 @end ifnothtml
-Every context described in
+Chaque contexte mentionné dans
 @ifhtml
-@internalsref{Contexts}
+@rinternals{Contexts}
 @end ifhtml
 @ifnothtml
-Program reference @arrow Translation @arrow{} Context.
+Program reference @expansion Translation @expansion{} Context.
 @end ifnothtml
-lists the engravers used for that context.
+répertorie les graveurs mis en œuvre.
 
 
-It can be useful to shuffle around these plug-ins.  This is done by
-starting a new context with @code{\new} or @code{\context}, and
-modifying it,
+On peut faire, au moyen de ces graveurs, sa propre @qq{cuisine}, en
+modifiant les contextes à volonté.
+
+
+Lorsque un contexte est créé, par la commande @code{\new} ou @code{\context}, on peut
+y adjoindre un bloc @code{\with} (en anglais @q{avec}), dans lequel il est possible
+d'ajouter (commande @code{\consists}) ou d'enlever (commande @code{\remove})
+des graveurs :
 
 @funindex \with
 
 @example
-\new @var{context} \with @{
+\new @var{contexte} \with @{
   \consists @dots{}
   \consists @dots{}
   \remove @dots{}
@@ -1020,14 +273,15 @@ modifying it,
   @emph{etc.}
 @}
 @{
-  @emph{..music..}
+  @emph{..musique..}
 @}
 @end example
 
 @noindent
-where the @dots{} should be the name of an engraver.  Here is a simple
-example which removes @code{Time_signature_engraver} and
-@code{Clef_engraver} from a @code{Staff} context,
+Ici les points de suspension @dots{} devront être remplacés par les noms
+des graveurs désirés.  Dans l'exemple suivant, on enlève du contexte
+@code{Staff}, le chiffre de mesure (graveur @code{Time_signature_engraver})
+et la clé (graveur @code{Clef_engraver}).
 
 @lilypond[quote,relative=1,verbatim,fragment]
 <<
@@ -1043,22 +297,21 @@ example which removes @code{Time_signature_engraver} and
 >>
 @end lilypond
 
-In the second staff there are no time signature or clef symbols.  This
-is a rather crude method of making objects disappear since it will affect
-the entire staff.  This method also influences the spacing, which may or
-may not be desirable.  A more
-sophisticated method of blanking objects is shown in @ref{Common tweaks}.
+La clé et le chiffre de mesure ont disparu de la deuxième portée.  C'est une méthode
+quelque peu radicale, puisqu'elle affectera toute la portée jusqu'à la fin de la
+partition.  L'espacement s'en trouve également affecté, ce qui peut être ou non
+l'effet recherché.  Une méthode plus sophistiquée aurait été de rendre ces objets
+transparents (voir @rlearning{Common tweaks}).
 
-The next example shows a practical application.  Bar lines and time
-signatures are normally synchronized across the score.  This is done
-by the @code{Timing_translator} and @code{Default_bar_line_engraver}.
-This plug-in keeps an administration of time signature, location
-within the measure, etc.  By moving thes engraver from @code{Score} to
-@code{Staff} context, we can have a score where each staff has its own
-time signature.
+Dans l'exemple suivant, voici une mise en pratique plus utile.  En temps
+normal, les barres de mesure et la métrique sont synchronisées verticalement
+dans toute la partition.  Les graveurs qui en sont responsables se nomment
+@code{Timing_translator} et @code{Default_bar_line_engraver}.
+En les enlevant du contexte @code{Score} pour les attribuer au contexte
+@code{Staff}, chaque portée peut désormais avoir sa propre métrique.
 
-@cindex polymetric scores
-@cindex Time signatures, multiple
+@cindex polymétrique, partition
+@cindex Chiffres de mesure multiples
 
 @lilypond[quote,relative=1,ragged-right,verbatim,fragment]
 \new Score \with {
@@ -1086,35 +339,35 @@ time signature.
 @node Layout tunings within contexts
 @subsection Layout tunings within contexts
 
-Each context is responsible for creating certain types of graphical
-objects.  The settings used for printing these objects are also stored by
-context.  By changing these settings, the appearance of objects can be
-altered.
+Chaque contexte est chargé de créer plusieurs types d'objets graphiques.
+Il contient également les réglages nécessaires pour chacun de ces objets.
+Si l'on modifie ces réglages, les objets n'auront plus la même apparence.
 
-The syntax for this is
+La syntaxe employée pour ce faire est
 
 @example
-\override @var{context}.@var{name} #'@var{property} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
 @end example
 
-Here @var{name} is the name of a graphical object, like @code{Stem} or
-@code{NoteHead}, and @var{property} is an internal variable of the
-formatting system (@q{grob property} or @q{layout property}).  The latter is a
-symbol, so it must be quoted.  The subsection @ref{Constructing a
-tweak}, explains what to fill in for @var{name}, @var{property}, and
-@var{value}.  Here we only discuss the functionality of this command.
+Ici @var{objet} est un objet graphique, tel que @code{Stem} (les hampes)
+ou @code{NoteHead} (les têtes de note) ; @var{propriété} est une variable
+(désignée par un symbole, ce qui explique l'apostrophe) employée par le système
+de mise en page.  La sous-section @ref{Constructing a tweak} vous
+aidera à savoir quoi mettre à la place de @var{objet}, @var{propriété} et
+@var{valeur} ; notre propos n'est ici que d'examiner l'emploi de cette commande.
 
-The command
+La commande suivante :
 
 @verbatim
 \override Staff.Stem #'thickness = #4.0
 @end verbatim
 
 @noindent
-makes stems thicker (the default is 1.3, with staff line thickness as a
-unit).  Since the command specifies @context{Staff} as context, it only
-applies to the current staff.  Other staves will keep their normal
-appearance.  Here we see the command in action:
+rend les hampes plus épaisses (la valeur par défaut est 1.3, ce qui signifie qu'elles 
+sont 1,3 fois plus épaisses que les lignes de la portée).  Dans la mesure où nous avons
+indiqué @code{Staff} comme contexte, ce réglage ne s'appliquera qu'à la portée courante ;
+les autres portées demeureront intactes.
+
 
 @lilypond[quote,verbatim,relative=2,fragment]
 c4
@@ -1124,13 +377,12 @@ c4
 c4
 @end lilypond
 
-The @code{\override} command changes the definition of the @code{Stem}
-within the current @context{Staff}.  After the command is interpreted
-all stems are thickened.
+La commande @code{\override} modifie donc la définition de l'objet @code{Stem}
+dans le contexte @code{Staff} ; toutes les hampes qui suivent seront affectées.
 
-Analogous to @code{\set}, the @var{context} argument may be left out,
-causing the default context @context{Voice} to be used.  Adding
-@code{\once} applies the change during one timestep only.
+Tout comme avec la commande @code{\set}, l'argument @var{contexte} peut être omis, auquel
+cas le contexte par défaut (ici, @code{Voice}) sera employé.  La commande @code{\once}
+permet de n'appliquer la modification qu'une seule fois.
 
 @lilypond[quote,fragment,verbatim,relative=2]
 c4
@@ -1139,10 +391,10 @@ c4
 c4
 @end lilypond
 
-The @code{\override} must be done before the object is
-started.  Therefore, when altering @emph{Spanner} objects such as slurs
-or beams, the @code{\override} command must be executed at the moment
-when the object is created.  In this example,
+La commande @code{\override} doit être entrée @emph{avant} l'objet concerné.
+Ainsi, lorsque l'on veut altérer un objet qui se prolonge, tel qu'une liaison,
+une ligature ou tout autre objet dit @emph{Spanner}, la commande @code{\override}
+doit être saisie avant que l'objet soit créé.
 
 @lilypond[quote,fragment,verbatim,relative=2]
 \override Slur #'thickness = #3.0
@@ -1152,29 +404,30 @@ c8 c])
 @end lilypond
 
 @noindent
-the slur is fatter but the beam is not.  This is because the command for
-@code{Beam} comes after the Beam is started, so it has no effect.
+Dans cet exemple, la liaison (@emph{Slur}) est épaissie, mais non la ligature
+(@emph{Beam}).  En effet, le code qui lui est relatif n'a pas été inséré avant le début de
+la ligature, et demeure donc sans effet.
 
-Analogous to @code{\unset}, the @code{\revert} command for a context
-undoes an @code{\override} command; like with @code{\unset}, it only
-affects settings that were made in the same context.  In other words, the
-@code{\revert} in the next example does not do anything.
+De même que la commande @code{\unset}, la commande @code{\revert} défait
+ce qui a été fait par une commande @code{\override}.  Tout comme avec @code{\unset},
+elle ne peut annuler que les réglages effectués dans le même contexte.
+Ainsi dans l'exemple suivant, la commande @code{\revert} est sans effet.
 
 @example
 \override Voice.Stem #'thickness = #4.0
 \revert Staff.Stem #'thickness
 @end example
 
-Some tweakable options are called @q{subproperties} and reside inside
-properties.  To tweak those, use commands of the form
+Il existe, à l'intérieur même de certaines propriétés, des options que l'on
+nomme @q{sous-propriétés}.  La syntaxe est alors
 
 @c leave this as a long long
 @example
-\override @var{context}.@var{name} #'@var{property} #'@var{subproperty} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} #'@var{sous-propriété} = #@var{valeur}
 @end example
 
 @noindent
-such as
+Ainsi, par exemple :
 
 @example
 \override Stem #'details #'beamed-lengths = #'(4 4 3)
@@ -1183,25 +436,25 @@ such as
 
 @seealso
 
-Internals: @internalsref{OverrideProperty}, @internalsref{RevertProperty},
-@internalsref{PropertySet}, @internalsref{Backend}, and
-@internalsref{All layout objects}.
+Référence du programme : @rinternals{OverrideProperty}, @rinternals{RevertProperty},
+@rinternals{PropertySet}, @rinternals{Backend}, et
+@rinternals{All layout objects}.
 
 
-@refbugs
+@knownissues
 
-The back-end is not very strict in type-checking object properties.
-Cyclic references in Scheme values for properties can cause hangs
-or crashes, or both.
+La sous-couche Scheme ne vérifie pas la saisie des propriétés de façon
+très stricte.  Des références cycliques dans des valeurs Scheme peuvent
+de ce fait interrompre, ou faire planter le programme -- ou bien les deux.
 
 
 @node Changing context default settings
 @subsection Changing context default settings
 
-The adjustments of the previous subsections (@ref{Changing context
-properties on the fly}, @ref{Modifying context plug-ins}, and
-@ref{Layout tunings within contexts}) can also be entered separately
-from the music in the @code{\layout} block,
+Les réglages montrés dans les sous-sections @ref{The
+set command}, @ref{Modifying context plug-ins} et
+@ref{Layout tunings within contexts} peuvent également être saisis indépendamment
+de la musique dans le bloc @code{\layout}, au moyen de la commande @code{\context} :
 
 @example
 \layout @{
@@ -1216,10 +469,11 @@ from the music in the @code{\layout} block,
 @}
 @end example
 
-The @code{\Staff} command brings in the existing definition of the
-staff context so that it can be modified.
+Le raccourci @code{\Staff} invoque les définitions inhérentes au contexte
+@code{Staff}, de façon à ce qu'elles puissent être modifiées.
 
-The statements
+Les lignes suivantes affecteront toutes les portées (tous les contextes @code{Staff})
+dans la partition.
 @example
 \set fontSize = #-2
 \override Stem #'thickness = #4.0
@@ -1227,10 +481,10 @@ The statements
 @end example
 
 @noindent
-affect all staves in the score.  Other contexts can be modified
-analogously.
+Les autres contextes peuvent être modifiés de même manière.
 
-The @code{\set} keyword is optional within the @code{\layout} block, so
+La commande @code{\set}, dans le bloc @code{\layout}, est facultative ; aussi
+les lignes suivantes produiront-elles le même effet.
 
 @example
 \context @{
@@ -1239,20 +493,15 @@ The @code{\set} keyword is optional within the @code{\layout} block, so
 @}
 @end example
 
-@noindent
-will also work.
-
 
+@knownissues
 
-@refbugs
+Il est impossible de stocker des modifications de contexte dans un identificateur.
 
-It is not possible to collect context changes in a variable and apply
-them to a @code{\context} definition by referring to that variable.
-
-The @code{\RemoveEmptyStaffContext} will overwrite your current
-@code{\Staff} settings.  If you wish to change the defaults for a
-staff which uses @code{\RemoveEmptyStaffContext}, you must do so
-after calling @code{\RemoveemptyStaffContext}, ie
+Le raccourci @code{\RemoveEmptyStaffContext} détruit tous les réglages
+du contexte @code{\Staff}.  Pour modifier des propriétés de portées gouvernées
+par @code{\RemoveEmptyStaffContext}, il faut le faire impérativement @emph{après}
+avoir invoqué @code{\RemoveEmptyStaffContext} :
 
 @example
 \layout @{
@@ -1268,15 +517,16 @@ after calling @code{\RemoveemptyStaffContext}, ie
 @node Defining new contexts
 @subsection Defining new contexts
 
-Specific contexts, like @context{Staff} and @code{Voice}, are made of
-simple building blocks.  It is possible to create new types of
-contexts with different combinations of engraver plug-ins.
+Les contextes tels que @code{Staff} ou @code{Voice} sont faits
+de briques de constructions empilées.  En combinant divers graveurs,
+il est possible de créer de nouveaux types de contextes.
 
-The next example shows how to build a different type of
-@context{Voice} context from scratch.  It will be similar to
-@code{Voice}, but only prints centered slash noteheads.  It can be used
-to indicate improvisation in jazz pieces,
+Dans l'exemple suivant, on construit, de zéro, un nouveau contexte très
+semblable à @code{Voice}, mais qui n'imprime que des têtes de notes en forme
+de barres obliques au centre de la portée.  Un tel contexte, par exemple, peut
+servir à indiquer un passage improvisé dans un morceau de jazz.
 
+@c KEEP LY
 @lilypond[quote,ragged-right]
 \layout { \context {
   \name ImproVoice
@@ -1295,14 +545,14 @@ to indicate improvisation in jazz pieces,
 
 \relative c'' {
   a4 d8 bes8 \new ImproVoice { c4^"ad lib" c
-   c4 c^"undress" c_"while playing :)" c }
+   c4 c^"dévêtez-vous" c_"tout en jouant :)" c }
   a1
 }
 @end lilypond
 
 
-These settings are defined within a @code{\context} block inside a
-@code{\layout} block,
+On a rassemblé les réglages dans un bloc @code{\context}, lui-même dans
+le bloc @code{\layout} :
 
 @example
 \layout @{
@@ -1312,59 +562,62 @@ These settings are defined within a @code{\context} block inside a
 @}
 @end example
 
-In the following discussion, the example input shown should go in place
-of the @dots{} in the previous fragment.
+En lieu et place des points (@dots{}), voici les éléments à saisir :
 
-First it is necessary to define a name for the new context:
+@itemize @bullet
+@item Tout d'abord, il convient de donner un nom @code{\name} à notre nouveau contexte :
 
 @example
 \name ImproVoice
 @end example
 
-Since it is similar to the @context{Voice}, we want commands that work
-on (existing) @context{Voice}s to remain working.  This is achieved by
-giving the new context an alias @context{Voice},
+@item Comme il est très semblable à @code{Voice}, nous souhaitons que toutes les
+commandes associées au @code{Voice} déjà existant, restent valables.  D'où nécessité
+de la commande @code{\alias}, qui va l'associer au contexte @code{Voice} :
 
 @example
 \alias Voice
 @end example
 
-The context will print notes and instructive texts, so we need to add
-the engravers which provide this functionality,
+@item Ce contexte doit pouvoir imprimer des notes, et des indications textuelles ;
+on ajoute donc les graveurs appropriés.
 
 @example
 \consists Note_heads_engraver
 \consists Text_engraver
 @end example
 
-but we only need this on the center line,
+@item Cependant, on veut que les notes s'affichent toutes au centre de la portée :
 
 @example
 \consists Pitch_squash_engraver
 squashedPosition = #0
 @end example
 
-The @internalsref{Pitch_squash_engraver} modifies note heads (created
-by @internalsref{Note_heads_engraver}) and sets their vertical
-position to the value of @code{squashedPosition}, in this case@tie{}@code{0},
-the center line.
+@noindent
+Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes créées par 
+@rinternals{Note_heads_engraver}, et les @q{écrase} pour qu'elles aient toutes la
+même position verticale, définie par @code{squashedPosition} : ici il s'agit de la
+valeur@tie{}@code{0}, c'est-à-dire la ligne du milieu.
 
-The notes look like a slash, and have no stem,
+@item On veut que les notes aient la forme d'une barre oblique, sans aucune hampe :
 
 @example
 \override NoteHead #'style = #'slash
 \override Stem #'transparent = ##t
 @end example
 
-All these plug-ins have to cooperate, and this is achieved with a
-special plug-in, which must be marked with the keyword @code{\type}.
-This should always be @internalsref{Engraver_group},
+@item Afin que tous ces graveurs puissent travailler de concert, on leur adjoint un
+sous-programme spécial, introduit par la commande @code{\type} : il s'agit de
+@code{Engraver_group},
 
 @example
 \type "Engraver_group"
 @end example
 
-Put together, we get
+@end itemize
+
+Récapitulons -- on se retrouve avec le bloc suivant :
 
 @example
 \context @{
@@ -1381,10 +634,11 @@ Put together, we get
 @end example
 
 @funindex \accepts
-Contexts form hierarchies.  We want to hang the @context{ImproVoice}
-under @context{Staff}, just like normal @code{Voice}s.  Therefore, we
-modify the @code{Staff} definition with the @code{\accepts}
-command,
+Ce n'est pas tout.  En effet, on veut intégrer le nouveau contexte
+@code{ImproVoice} dans la hiérarchie des contextes.  Tout comme le
+contexte @code{Voice}, sa place est au sein du contexte @code{Staff}.
+Nous allons donc modifier le contexte @code{Staff},
+au moyen de la commande @code{\accepts} :
 
 @example
 \context @{
@@ -1394,10 +648,12 @@ command,
 @end example
 
 @funindex \denies
-The opposite of @code{\accepts} is @code{\denies},
-which is sometimes needed when reusing existing context definitions.
+Le contraire de @code{\accepts} est @code{\denies},
+qui est parfois utile lorsque l'on recycle des définitions de
+contextes déjà existantes.
 
-Putting both into a @code{\layout} block, like
+Enfin, tout cela doit prendre place dans le bloc @code{\layout},
+comme suit :
 
 @example
 \layout @{
@@ -1412,15 +668,15 @@ Putting both into a @code{\layout} block, like
 @}
 @end example
 
-Then the output at the start of this subsection can be entered as
+On peut alors saisir la musique, comme dans l'exemple plus haut :
 
 @example
 \relative c'' @{
   a4 d8 bes8
   \new ImproVoice @{
     c4^"ad lib" c
-    c4 c^"undress"
-    c c_"while playing :)"
+    c4 c^"dévêtez-vous"
+    c c_"tout en jouant :)"
   @}
   a1
 @}
@@ -1430,9 +686,9 @@ Then the output at the start of this subsection can be entered as
 @node Aligning contexts
 @subsection Aligning contexts
 
-New contexts may be aligned above or below exisiting contexts.  This
-could be useful in setting up a vocal staff (@ref{Vocal ensembles}) and
-in ossia,
+Il est possible d'aligner verticalement chaque nouveau contexte,
+en-dessous ou au-dessus, par exemple dans le cas de musique vocale
+(@rlearning{Vocal ensembles}) ou d'@qq{ossias}.
 
 @cindex ossia
 @findex alignAboveContext
@@ -1455,37 +711,38 @@ ossia = { f4 f f f }
 @node Vertical grouping of grobs
 @subsection Vertical grouping of grobs
 
-The VerticalAlignment and VerticalAxisGroup grobs work together.
-VerticalAxisGroup groups together different grobs like Staff, Lyrics,
-etc. VerticalAlignment then vertically aligns the different grobs
-grouped together by VerticalAxisGroup. There is usually only one
-VerticalAlignment per score but every Staff, Lyrics, etc. has its own
-VerticalAxisGroup. 
+Les objets @code{VerticalAlignment} et @code{VerticalAxisGroup}
+travaillent de concert.  Comme leurs noms anglais l'indiquent,
+@code{VerticalAxisGroup} regroupe différents objets tels que les portées
+(@code{Staff}), les paroles (@code{Lyrics}) et ainsi de suite ; puis
+@code{VerticalAlignment} synchronise verticalement ces différents groupes.
+En général, il n'y a qu'un seul @code{VerticalAlignment} pour l'ensemble
+de la partition, mais chaque contexte @code{Staff}, @code{Lyrics}, etc.
+possède son propre @code{VerticalAxisGroup}.
 
 
-@node The \override command
+@node The override command
 @section The @code{\override} command
 
-In the previous section, we have already touched on a command that
-changes layout details: the @code{\override} command.  In this section,
-we will look in more detail at how to use the command in practice.  The
-general syntax of this command is:
+La commande @code{\override} permet de modifier la mise en page
+en détail.  Examinons son utilisation concrètementet dans les détails.
+La syntaxe de cette commande ressemble généralement à :
 
 @example
-\override @var{context}.@var{layout_object} #'@var{layout_property} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
 @end example
 
-This will set the @var{layout_property} of the specified @var{layout_object},
-which is a member of the @var{context}, to the @var{value}.
+La propriété @var{propriété} de l'objet @var{objet}, appartenant au contexte
+@var{contexte}, se voit ainsi attribuer la valeur @var{valeur}.
 
 @menu
 * Constructing a tweak::        
 * Navigating the program reference::  
 * Layout interfaces::           
 * Determining the grob property::  
-* Objects connected to the input::  
-* Using Scheme code instead of \tweak::  
-* \set versus \override::       
+* The tweak command::           
+* Using Scheme code instead of tweak::  
+* set versus override::         
 * Difficult tweaks::            
 @end menu
 
@@ -1494,52 +751,54 @@ which is a member of the @var{context}, to the @var{value}.
 @node Constructing a tweak
 @subsection Constructing a tweak
 
-Commands which change output generally look like
+Les commandes permettant de modifier l'apparence de la partition
+ressemblent en général à
 
 @example
 \override Voice.Stem #'thickness = #3.0
 @end example
 
 @noindent
-To construct this tweak we must determine these bits of information:
+Pour élaborer un réglage de ce type, on a besoin de connaître précisément :
 
 @itemize
-@item the context: here @context{Voice}.
-@item the layout object: here @code{Stem}.
-@item the layout property: here @code{thickness}.
-@item a sensible value: here @code{3.0}.
+@item le contexte : ici @code{Voice} (la voix).
+@item l'objet à affecter : ici @code{Stem} (les hampes).
+@item la propriété à modifier : ici @code{thickness} (l'épaisseur du trait).
+@item la valeur désirée : ici @code{3.0} (par défaut, elle est de 1.3).
 @end itemize
 
-Some tweakable options are called @q{subproperties} and reside inside
-properties.  To tweak those, use commands in the form
+Certaines @q{sous-propriétés} sont parfois contenues dans une propriété.
+La commande devient alors :
 
 @example
 \override Stem #'details #'beamed-lengths = #'(4 4 3)
 @end example
 
-@cindex internal documentation
-@cindex finding graphical objects
-@cindex graphical object descriptions
-@cindex tweaking
+@cindex documentation exhaustive
+@cindex trouver des objets graphiques
+@cindex objets graphiques, description
+@cindex régler
 @funindex \override
-@cindex internal documentation
 
-For many properties, regardless of the data type of the property, setting the
-property to false ( @code{##f} ) will result in turning it off, causing
-Lilypond to ignore that property entirely.  This is particularly useful for
-turning off grob properties which may otherwise be causing problems.
+Pour bien des propriétés, quel que soit le type de valeur requise,
+attribuer la valeur @q{faux} (@code{##f} en Scheme) reviendra à désactiver
+complètement l'action de la propriété qui se trouve ainsi purement
+ignorée par LilyPond.  Cela peut s'avérer fort utile pour des propriétés
+causant des désagréments.
 
+@c such announcements are to be avoided -vv
+@ignore
 We demonstrate how to glean this information from the notation manual
 and the program reference.
-
+@end ignore
 
 
 
 @node Navigating the program reference
 @subsection Navigating the program reference
 
-Suppose we want to move the fingering indication in the fragment
-below:
+Comment, par exemple, déplacer le doigté dans le fragment suivant ?
 
 @lilypond[quote,fragment,relative=2,verbatim]
 c-2
@@ -1547,13 +806,13 @@ c-2
 f
 @end lilypond
 
-If you visit the documentation on fingering instructions (in
-@ref{Fingering instructions}), you will notice:
+Sur la page de la documentation relative aux doigtés, c'est-à-dire
+@ref{Fingering instructions}, se trouve l'indication suivante :
 
 @quotation
 @seealso
 
-Program reference: @internalsref{Fingering}.
+Référence du programme : @rinternals{Fingering}.
 
 @end quotation
 
@@ -1568,7 +827,7 @@ expression for the input @code{-2}.  The page contains many links
 forward.  For example, it says
 
 @quotation
-Accepted by: @internalsref{Fingering_engraver},
+Accepted by: @rinternals{Fingering_engraver},
 @end quotation
 
 @noindent
@@ -1576,7 +835,7 @@ That link brings us to the documentation for the Engraver, the
 plug-in, which says
 
 @quotation
-This engraver creates the following layout objects: @internalsref{Fingering}.
+This engraver creates the following layout objects: @rinternals{Fingering}.
 @end quotation
 
 In other words, once the @code{FingerEvent}s are interpreted, the
@@ -1587,7 +846,7 @@ In other words, once the @code{FingerEvent}s are interpreted, the
 @c  I can't figure out what this is supposed to mean.  -gp
 
 The @code{Fingering_engraver} is also listed to create
-@internalsref{Fingering} objects,
+@rinternals{Fingering} objects,
 
 @c  old info?  it doesn't make any sense to me with our current docs.
 This is also the
@@ -1596,72 +855,84 @@ manual.
 @end ignore
 
 @ifnothtml
-The programmer's reference is available as an HTML document.  It is
-highly recommended that you read it in HTML form, either online or
-by downloading the HTML documentation.  This section will be much more
-difficult to understand if you are using the 
-PDF manual.
+Ladite référence est disponible au format HTML, ce qui rend la navigation bien
+plus aisée.  Il est possible soit de la lire en ligne, soit de la télécharger
+dans ce format.  La démarche présentée ici sera plus difficle à comprendre
+dans un document au format PDF.
 @end ifnothtml
 
-Follow the link to @internalsref{Fingering}.  At the top of the
-page, you will see
+Suivons le lien @rinternals{Fingering}.  En haut de la nouvelle page,
+on peut lire
 
 @quotation
-Fingering objects are created by: @internalsref{Fingering_engraver} and
-@internalsref{New_fingering_engraver}.
+Fingering objects are created by: @rinternals{Fingering_engraver} and
+@rinternals{New_fingering_engraver}.
 @end quotation
 
-By following related links inside the program reference, we can follow the
-flow of information within the program:
+En d'autres termes, @emph{Les indications de doigtés} 
+(@code{Fingering} en anglais) @emph{sont créées par les graveurs
+@rinternals{Fingering_engraver} et @rinternals{New_fingering_engraver}.}
+
+En suivant derechef les liens propres à la référence du programme, on suit en fait
+le cheminement qui aboutit à la création de la partition :
 
 @itemize @bullet
 
-@item @internalsref{Fingering}:
-@internalsref{Fingering} objects are created by:
-@internalsref{Fingering_engraver}
+@item @rinternals{Fingering}:
+@rinternals{Fingering} objects are created by:
+@rinternals{Fingering_engraver}
 
-@item @internalsref{Fingering_engraver}:
-Music types accepted: @internalsref{fingering-event}
+@item @rinternals{Fingering_engraver}:
+Music types accepted: @rinternals{fingering-event}
 
-@item @internalsref{fingering-event}:
+@item @rinternals{fingering-event}:
 Music event type @code{fingering-event} is in Music expressions named
-@internalsref{FingerEvent}
+@rinternals{FingeringEvent}
 @end itemize
 
-This path goes against the flow of information in the program: it
-starts from the output, and ends at the input event.  You could
-also start at an input event, and read with the flow of
-information, eventually ending up at the output object(s).
+Ce cheminement se produit, bien sûr, en sens inverse : nous sommes ici partis
+du résultat, et avons abouti aux évènements (en anglais @q{Events}) engendrés
+par le fichier d'entrée.  L'inverse est également possible : on peut partir d'un
+évènement, et suivre le cheminement de LilyPond qui aboutit à la création d'un 
+ou plusieurs objets graphiques.
 
-The program reference can also be browsed like a normal document.  It
-contains chapters on
+La référence du programme peut également se parcourir comme un document normal.
+On y trouve des chapitres tels que
 @ifhtml
-@internalsref{Music definitions},
+@rinternals{Music definitions},
 @end ifhtml
 @ifnothtml
 @code{Music definitions}
 @end ifnothtml
-on @internalsref{Translation}, and the @internalsref{Backend}.  Every
-chapter lists all the definitions used and all properties that may be
-tuned.
+@rinternals{Translation}, ou encore @rinternals{Backend}.  Chaque chapitre
+recense toutes les définitions employées, et les propriétés sujettes à 
+ajustements.
+
+@c -- what about adding a link to the glossary here ? -vv
+@ignore
+La Référence du programme n'est pas traduite en français -- notamment du fait
+qu'elle est en évolution constante, tout comme LilyPond.  En revanche, les termes
+musicaux font l'objet d'un @commentfairelelien{glossaire} fort utile pour les utilisateurs
+francophones.
+@end ignore
 
 
 @node Layout interfaces
 @subsection Layout interfaces
 
-@cindex interface, layout
-@cindex layout interface
-@cindex grob
+@cindex interfaces de rendu
+@cindex rendu, interfaces de
+@cindex objets graphiques
 
-The HTML page that we found in the previous section describes the
-layout object called @internalsref{Fingering}.  Such an object is a
-symbol within the score.  It has properties that store numbers (like
-thicknesses and directions), but also pointers to related objects.  A
-layout object is also called a @emph{Grob}, which is short for Graphical
-Object.  For more details about Grobs, see @internalsref{grob-interface}.
+Tous les éléments de notation sont considérés comme des objets graphiques
+(en anglais @q{Graphical Object}, d'où le diminutif @emph{Grob}).
+Chaque objet est doté d'un certain nombre de propriétés (l'épaisseur du trait,
+l'orientation, etc.), et lié à d'autres objets.
+Le fonctionnement de ces objets est décrit en détail dans @rinternals{grob-interface}.
 
-The page for @code{Fingering} lists the definitions for the
-@code{Fingering} object.  For example, the page says
+Prenons l'exemple des doigtés (en anglais @q{Fingering}).
+La page @code{Fingering} de la Référence du programme établit une liste de définitions
+propres à ce type d'objets :
 
 @quotation
 @code{padding} (dimension, in staff space):
@@ -1670,57 +941,65 @@ The page for @code{Fingering} lists the definitions for the
 @end quotation
 
 @noindent
-which means that the number will be kept at a distance of at least 0.5
-of the note head.
+Ce qui signifie que les doigtés doivent être maintenus à une certaine distance (@emph{padding})
+des notes : 0,5 unités @emph{staff-space} (espace de portée).
 
 
-Each layout object may have several functions as a notational or
-typographical element.  For example, the Fingering object
-has the following aspects
+Chaque objet peut avoir plusieurs attributs, en tant qu'élément typographique
+ou musical.  Ainsi, un doigté (objet @q{Fingering}) possède les attributs suivants :
+
 
 @itemize @bullet
 @item
-Its size is independent of the horizontal spacing, unlike slurs or beams.
+Sa taille ne dépend pas de l'espacement horizontal, contrairement aux liaisons ou ligatures.
 
 @item
-It is a piece of text.  Granted, it is usually a very short text.
+C'est du texte -- un texte vraiment court, certes.
 
 @item
-That piece of text is typeset with a font, unlike slurs or beams.
+Ce texte est imprimé au moyen d'une fonte, contrairement aux liaisons ou ligatures.
 
 @item
-Horizontally, the center of the symbol should be aligned to the
-center of the notehead.
+Sur l'axe horizontal, le centre de ce symbole doit être aligné avec le centre de la note.
 
 @item
-Vertically, the symbol is placed next to the note and the staff.
+Sur l'axe vertical, le symbole doit être proche de la note et de la portée.
 
 @item
-The vertical position is also coordinated with other superscript
-and subscript symbols.
+Sur l'axe vertical encore, il doit également s'ordonner avec les éventuels
+autres symboles, ponctuations, ou éléments textuels.
 @end itemize
 
-Each of these aspects is captured in so-called @emph{interface}s,
-which are listed on the @internalsref{Fingering} page at the bottom
+Faire appliquer ces différents attributs est le rôle des @emph{interfaces},
+que l'on trouve en bas de la page @rinternals{Fingering}.
 
 @quotation
 This object supports the following interfaces:
-@internalsref{item-interface},
-@internalsref{self-alignment-interface},
-@internalsref{side-position-interface}, @internalsref{text-interface},
-@internalsref{text-script-interface}, @internalsref{font-interface},
-@internalsref{finger-interface}, and @internalsref{grob-interface}.
+@rinternals{item-interface},
+@rinternals{self-alignment-interface},
+@rinternals{side-position-interface}, @rinternals{text-interface},
+@rinternals{text-script-interface}, @rinternals{font-interface},
+@rinternals{finger-interface}, and @rinternals{grob-interface}.
 @end quotation
 
-Clicking any of the links will take you to the page of the respective
-object interface.  Each interface has a number of properties.  Some of
-them are not user-serviceable (@q{Internal properties}), but others
-can be modified.
+@noindent
+En français,
+
+@quotation
+Cet objet admet les interfaces suivantes :
+@end quotation
 
-We have been talking of @emph{the} @code{Fingering} object, but actually it
-does not amount to much.  The initialization file (see
-@ref{Default files})
-@file{scm/@/define@/-grobs@/.scm} shows the soul of the @q{object},
+Suit la liste des interfaces en question, présentées comme autant de liens,
+qui conduisent sur les pages dédiées à chacune d'entre elles.
+Chaque interface est dotée d'un certain nombre de propriétés, dont certaines
+peuvent être modifiées, et d'autres non (les @q{Internal properties}, ou 
+propriétés internes).
+
+Pour aller encore plus loin, plutôt que de simplement parler de l'objet
+@code{Fingering}, ce qui ne nous avance pas à grand chose, on peut aller explorer
+son âme même, dans les fichiers source de LilyPond (voir
+@rlearning{Other sources of information}), en l'occurence le fichier
+@file{scm/@/define@/-grobs@/.scm} :
 
 @example
 (Fingering
@@ -1746,15 +1025,14 @@ does not amount to much.  The initialization file (see
 @end example
 
 @noindent
-As you can see, the @code{Fingering} object is nothing more than a
-bunch of variable settings, and the webpage in the Program Reference
-is directly generated from this definition.
-
+@dots{}où l'on découvre que l'objet @code{Fingering} n'est rien de plus qu'un
+amas de variables et de réglages.  La page de la Référence du programme est
+en fait directement engendrée par cette définition.
 
 @node Determining the grob property
 @subsection Determining the grob property
 
-Recall that we wanted to change the position of the @b{2} in
+Nous voulions changer la position du chiffre @b{2} dans le fragment suivant :
 
 @lilypond[quote,fragment,relative=2,verbatim]
 c-2
@@ -1762,10 +1040,10 @@ c-2
 f
 @end lilypond
 
-Since the @b{2} is vertically positioned next to its note, we have to
-meddle with the interface associated with this positioning.  This is
-done using @code{side-position-interface}.  The page for this interface
-says
+Dans la mesure où le @b{2} est placé, verticalement, à proximité de la note qui lui
+correspond, nous allons devoir trouver l'interface en charge de ce placement, qui se
+trouve être @code{side-position-interface}.  Sur la page de cette interface, on
+peut lire :
 
 @quotation
 @code{side-position-interface}
@@ -1775,9 +1053,19 @@ support).  The property @code{direction} signifies where to put the
 victim object relative to the support (left or right, up or down?)
 @end quotation
 
+@noindent
+Ce qui signifie
+@quotation
+@code{side-position-interface}
+
+Placer l'objet affecté à proximité d'autres objets.  La propriété
+@code{direction} indique où placer l'objet (à droite ou à gauche,
+en haut ou en bas).
+@end quotation
+
 @cindex padding
 @noindent
-Below this description, the variable @code{padding} is described as
+En-dessous de cette description se trouve décrite la variable @code{padding} :
 
 @quotation
 @table @code
@@ -1788,16 +1076,23 @@ Add this much extra space between objects that are next to each other.
 @end table
 @end quotation
 
-By increasing the value of @code{padding}, we can move the
-fingering away from the notehead.  The following command inserts
-3 staff spaces of white
-between the note and the fingering:
+@noindent
+Ce qui signifie
+@quotation 
+Ajouter tel espace supplémentaire entre des objets proches les uns des
+autres.
+@end quotation
+
+@noindent
+En augmentant la valeur de @code{padding}, on peut donc éloigner le doigté de la
+note.  La commande suivante insère trois unités d'espace vide entre la note et le doigté :
+
 @example
 \once \override Voice.Fingering #'padding = #3
 @end example
 
-Inserting this command before the Fingering object is created,
-i.e., before @code{c2}, yields the following result:
+En ajoutant cette commande avant la création du doigté (de l'objet @q{Fingering}),
+donc avant @code{c2}, on obtient le résultat suivant :
 
 @lilypond[quote,relative=2,fragment,verbatim]
 \once \override Voice.Fingering #'padding = #3
 @end lilypond
 
 
-In this case, the context for this tweak is @context{Voice}.  This
-fact can also be deduced from the program reference, for the page for
-the @internalsref{Fingering_engraver} plug-in says
+Dans le cas présent, le réglage intervient dans le contexte @code{Voice},
+ce qui pouvait également se déduire de la Référence du programme, où la page
+du graveur @rinternals{Fingering_engraver} indique :
 
 @quotation
-Fingering_engraver is part of contexts: @dots{} @internalsref{Voice}
+Fingering_engraver is part of contexts: @dots{} @rinternals{Voice}
 @end quotation
 
+@noindent
+Ce qui signifie
+@quotation
+Le graveur Fingering_engraver fait partie des contextes : @dots{} @rinternals{Voice}
+@end quotation
 
-@node Objects connected to the input
-@subsection Objects connected to the input
+
+@node The tweak command
+@subsection The @code{\tweak} command
 
 @funindex \tweak
 
-In some cases, it is possible to take a short-cut for tuning graphical
-objects.  For objects that result directly from a piece of the input,
-you can use the @code{\tweak} function, for example
+Dans certains cas, on peut passer par un raccourci pour arranger les
+objets graphiques.  Lorsqu'un objet est directement engendré par un élément distinct
+du fichier source, on peut utiliser la commande @code{\tweak}.
+
+Dans l'accord suivant, les notes sont modifiées une par une :
 
 @lilypond[relative=2,fragment,verbatim,ragged-right]
 <
@@ -1834,40 +1137,41 @@ you can use the @code{\tweak} function, for example
 >4-\tweak #'padding #10 -.
 @end lilypond
 
-As you can see, properties are set in the objects directly,
-without mentioning the grob name or context where this should be
-applied.
+Comme on peut le voir, les propriétés sont ici modifiées directement
+en même temps que les objets sont saisis.  Il n'est plus besoin de spécifier ni
+le nom de l'objet (@emph{grob}), ni le contexte dans lequel cela doit s'appliquer.
 
-This technique only works for objects that are directly connected to
-an @internalsref{event} from the input, for example
+Ce procédé ne marche que pour des objets directement liés aux évènements 
+(@rinternals{Event}) du fichier source.  Par exemple :
 
 @itemize @bullet
-@item note heads, caused by chord-pitch (i.e., notes inside a chord)
-@item articulation signs, caused by articulation instructions
+@item Les têtes de notes au sein d'un accord, qui sont directement engendrées par 
+les hauteurs indiquées
+@item Les signes d'articulation, engendrés par les indications de ponctuation.
 @end itemize
 
-It notably does not work for stems and accidentals (these are caused
-by note heads, not by music events) or clefs (these are not caused by
-music inputs, but rather by the change of a property value).
+En revanche, les hampes ou les altérations sont engendrées par les têtes de notes,
+et non par des évènements dans le fichier source.  De même pour les clés, qui ne
+sont pas directement engendrées par le fichier source, mais plutôt par le
+changement d'une propriété interne.
 
-There are very few objects which are @emph{directly} connected to
-output.  A normal note (like @code{c4}) is not directly connected
-to output, so
+En fait, très peu d'objets passent @emph{directement} du code source à la partition.
+Une note toute simple, par exemple @code{c4}, fait l'objet d'un traitement et n'est donc
+pas directement rendue ; c'est pourquoi le code suivant ne sera d'aucun effet :
 
 @example
 \tweak #'color #red c4
 @end example
 
 @noindent
-does not change color.  See @ref{Displaying music expressions}, for
-details.
+Voir pour plus de détails @ref{Displaying music expressions}.
 
 
-@node Using Scheme code instead of \tweak
+@node Using Scheme code instead of tweak
 @subsection Using Scheme code instead of @code{\tweak}
 
-The main disadvantage of @code{\tweak} is its syntactical
-inflexibility.  For example, the following produces a syntax error.
+L'inconvénient principal de la commande @code{\tweak} est la rigidité de sa
+syntaxe.  Par exemple, le code suivant produit une erreur.
 
 @example
 F = \tweak #'font-size #-3 -\flageolet
@@ -1878,13 +1182,13 @@ F = \tweak #'font-size #-3 -\flageolet
 @end example
 
 @noindent
-With other words, @code{\tweak} doesn't behave like an articulation
-regarding the syntax; in particular, it can't be attached with
-@samp{^} and @samp{_}.
+En d'autres termes, @code{\tweak} ne se comporte pas comme une articulation :
+il ne peut notamment pas être accolé avec les symboles @samp{^} ou @samp{_}.
 
-Using Scheme, this problem can be circumvented.  The route to the
-result is given in @ref{Adding articulation to notes (example)},
-especially how to use @code{\displayMusic} as a helping guide.
+C'est en se servant du langage Scheme que l'on peut résoudre ce problème.
+Dans cet exemple, on a recours aux méthodes décrites dans @ref{Adding 
+articulation to notes (example)}, en particulier quant à l'emploi de
+@code{\displayMusic}.
 
 @example
 F = #(let ((m (make-music 'ArticulationEvent
@@ -1900,115 +1204,115 @@ F = #(let ((m (make-music 'ArticulationEvent
 @end example
 
 @noindent
-Here, the @code{tweaks} properties of the flageolet object
-@samp{m} (created with @code{make-music}) are extracted with
-@code{ly:music-property}, a new key-value pair to change the
-font size is prepended to the property list with the
-@code{acons} Scheme function, and the result is finally
-written back with @code{set!}.  The last element of the
-@code{let} block is the return value, @samp{m} itself.
+Ici les propriétés @code{tweak} de l'objet flageolet nommé
+@samp{m} (créé au moyen de @code{make-music}) sont extraites par
+@code{ly:music-property}, une nouvelle valeur de la taille de fonte
+est ajoutée à la liste de ses propriétés (grâce à la fonction Scheme
+@code{acons}), et le résultat de cette opération est renvoyé par @code{set!}.
+Le dernier élément, dans ce bloc @code{let}, est la valeur finale de
+@samp{m} lui-même.
 
 
-@node \set versus \override
+@node set versus override
 @subsection @code{\set} vs. @code{\override}
 
-We have seen two methods of changing properties: @code{\set} and
-@code{\override}.  There are actually two different kinds of
-properties.
-
-Contexts can have properties, which are usually named in
-@code{studlyCaps}.  They mostly control the translation from
-music to notatino, eg. @code{localKeySignature} (for determining
-whether to print accidentals), @code{measurePosition} (for
-determining when to print a barline).  Context properties can
-change value over time while interpreting a piece of music;
-@code{measurePosition} is an obvious example of
-this.  Context properties are modified with @code{\set}.
-
-There is a special type of context property: the element
-description. These properties are named in @code{StudlyCaps}
-(starting with capital letters).  They contain the
-@q{default settings} for said graphical object as an
-association list.  See @file{scm/@/define@/-grobs@/.scm}
-to see what kind of settings there are.  Element descriptions
-may be modified with @code{\override}.
-
-@code{\override} is actually a shorthand;
+Si les propriétés peuvent être modifiées de deux façons, par les commandes
+@code{\set} et @code{\override}, c'est qu'il y a deux types de propriétés.
+
+Les contextes peuvent avoir des propriétés, dont les noms commencent par une
+minuscule puis comprennent une ou plusieurs majuscules (de style
+@code{totoTutu}).  Elles ont surtout trait
+à la notation des éléments musicaux : par exemple, @code{localKeySignature} permet
+de choisir s'il faut ou non imprimer une altération, ou @code{measurePosition} permet
+de choisir quand il faut imprimer une barre de mesure.  Ces propriétés de contextes
+sont appelées à changer au long de l'interprétation de la partition :
+@code{measurePosition} en est un exemple évident.  Ces propriétés doivent
+être modifiées avec la commande @code{\set}.
+
+Il existe un type particulier de propriétés : les descriptions
+d'éléments.  Ces propriétés, dont les noms commencent par une majuscule, puis comprennent
+une ou plusieurs majuscules (de style @code{TotoTata}), contiennent les réglages
+@q{par défaut} pour les objets graphiques.  Ces réglages sont sous forme de liste Scheme ; on
+peut les consulter dans le fichier @file{scm/@/define@/-grobs@/.scm}.
+Les descriptions d'éléments doivent être modifiées avec la commande @code{\override}.
+
+@code{\override} est en fait un raccourci :
 
 @example
-\override @var{context}.@var{name} #'@var{property} = #@var{value}
+\override @var{contexte}.@var{objet} #'@var{propriété} = #@var{valeur}
 @end example
 
 @noindent
-is more or less equivalent to
+est plus ou moins l'équivalent de
 
 @c  leave this long line -gp
 @example
-\set @var{context}.@var{name} #'@var{property} = #(cons (cons '@var{property} @var{value}) <previous value of @var{context})
+\set @var{contexte}.@var{objet} #'@var{propriété} = #(cons (cons '@var{propriété} @var{valeur}) <valeur précédente de @var{contexte})
 @end example
 
-The value of @code{context} (the alist) is used to initalize
-the properties of individual grobs.  Grobs also have
-properties, named in Scheme style, with
-@code{dashed-words}.  The values of grob properties change
-during the formatting process: formatting basically amounts
-to computing properties using callback functions.
+La valeur de @code{context} (la liste Scheme, ou @q{alist}) sert à initialiser
+les propriétés des objets un par un.  Les objets eux-même ont leurs propriétés,
+dont les noms, dans la tradition du langage Scheme, comprennent un trait d'union
+(@code{toto-titi}).  Ces propriétés internes changent constamment au cours de la mise
+en page : en fait, la gravure d'une page n'est autre que le calcul de toutes
+ces propriétés, au moyen de fonctions de rappel.
 
-@code{fontSize} is a special property: it is equivalent to
-entering @code{\override ... #'font-size} for all pertinent
-objects.  Since this is a common change, the special
-property (modified with @code{\set}) was created.
+La propriété @code{fontSize} est une exception : c'est un raccourci, qui équivaudrait
+à saisir @code{\override @dots{} #'font-size} pour tous les objets
+textuels.  Dans la mesure où il s'agit d'une manipulation très
+courante, une propriété spéciale a été créée.  Elle doit
+être modifiée avec la commande @code{\set}.
 
 
 @node Difficult tweaks
 @subsection Difficult tweaks
 
-There are a few classes of difficult adjustments.
+Certains réglages sont plus délicats que d'autres.
 
 @itemize @bullet
 
 
 @item
-One type of difficult adjustment is the appearance of spanner objects,
-such as slur and tie.  Initially, only one of these objects is created,
-and they can be adjusted with the normal mechanism.  However, in some
-cases the spanners cross line breaks.  If this happens, these objects
-are cloned.  A separate object is created for every system that it is
-in.  These are clones of the original object and inherit all
-properties, including @code{\override}s.
+L'un d'entre eux est l'apparence des objets dits @q{spanner}, qui s'étendent 
+horizontalement, tels que les liaisons.  Si, en principe, un seul de ces objets
+est créé à la fois et peut donc être modifié de façon habituelle, lorsque ces
+objets doivent enjamber un changement de ligne, ils sont dupliqués au début
+du ou des systèmes suivants.  Comme ces objets sont des clones de l'objet d'origine,
+ils en héritent toutes les propriétés, y compris les éventuelles commandes @code{\override}.
 
 
-In other words, an @code{\override} always affects all pieces of a
-broken spanner.  To change only one part of a spanner at a line break,
-it is necessary to hook into the formatting process.  The
-@code{after-line-breaking} callback contains the Scheme procedure that
-is called after the line breaks have been determined, and layout
-objects have been split over different systems.
+En d'autres termes, une commande @code{\override} affecte toujours les deux extrémités
+d'un objet @q{spanner}.  Pour ne modifier que la partie précédant ou suivant le changement
+de ligne, il faut intervenir directement dans le processus de mise en page.  
+La fonction de rappel @code{after-line-breaking} contient toute l'opération Scheme
+effectuée lorsque les sauts de lignes ont été déterminés, et que des objets graphiques
+ont été divisés sur des systèmes différents.
 
-In the following example, we define a procedure
-@code{my-callback}.  This procedure
+Dans l'exemple suivant, on définit une nouvelle opération nommée
+@code{my-callback}.  Cette opération
 
 @itemize @bullet
 @item
-determines if we have been split across line breaks
+détermine si l'objet a été divisé à l'occasion d'un changement de ligne
 @item
-if yes, retrieves all the split objects
+si oui, recherche les différents morceaux de l'objet
 @item
-checks if we are the last of the split objects
+vérifie si l'objet considéré est bien la deuxième moitié d'un objet divisé
 @item
-if yes, it sets @code{extra-offset}.
+si oui, applique un espacement supplémentaire (@code{extra-offset}).
 @end itemize
 
-This procedure is installed into @internalsref{Tie}, so the last part
-of the broken tie is translated up.
+On ajoute cette procédure à l'objet @rinternals{Tie} (liaison de tenue),
+de façon à ce que le deuxième morceau d'une liaison divisée soit rehaussé.
 
+@c KEEP LY
 @lilypond[quote,verbatim,ragged-right]
 #(define (my-callback grob)
   (let* (
-         ; have we been split?
+         ; l'objet a-t-il été divisé ?
          (orig (ly:grob-original grob))
 
-         ; if yes, get the split pieces (our siblings)
+         ; si oui, rechercher les morceaux frères (siblings)
          (siblings (if (ly:grob? orig)
                      (ly:spanner-broken-into orig) '() )))
 
@@ -2024,27 +1328,26 @@ of the broken tie is translated up.
 @end lilypond
 
 @noindent
-When applying this trick, the new @code{after-line-breaking} callback
-should also call the old one @code{after-line-breaking}, if there is
-one.  For example, if using this with @code{Hairpin},
-@code{ly:hairpin::after-line-breaking} should also be called.
+Lorsque cette astuce va être appliquée, notre nouvelle fonction de rappel
+@code{after-line-breaking} devra également appeler celle d'origine
+(@code{after-line-breaking}), si elle existe.
+Ainsi, pour l'utiliser dans le cas d'un crescendo (objet @code{Hairpin}),
+il faudra appeler également @code{ly:hairpin::after-line-breaking}.
 
 
-@item Some objects cannot be changed with @code{\override} for
-technical reasons.  Examples of those are @code{NonMusicalPaperColumn}
-and @code{PaperColumn}.  They can be changed with the
-@code{\overrideProperty} function, which works similar to @code{\once
-\override}, but uses a different syntax.
+@item Pour des raisons d'ordre technique, certains objets ne peuvent être modifiés par
+@code{\override}.  Parmi ceux-là, les objets @code{NonMusicalPaperColumn}
+et @code{PaperColumn}.  La commande @code{\overrideProperty} sert à les modifier, de
+façon similaire à @code{\once \override}, mais avec une syntaxe différente :
 
 @example
 \overrideProperty
-#"Score.NonMusicalPaperColumn"  % Grob name
-#'line-break-system-details     % Property name
-#'((next-padding . 20))         % Value
+#"Score.NonMusicalPaperColumn"  % Nom de l'objet
+#'line-break-system-details     % Nom de la propriété
+#'((next-padding . 20))         % valeur
 @end example
 
-Note, however, that @code{\override}, applied to
-@code{NoteMusicalPaperColumn} and @code{PaperColumn}, still works as
-expected within @code{\context} blocks.
+Notez cependant que la commande @code{\override} peut tout de même être appliquée
+à @code{NoteMusicalPaperColumn} et @code{PaperColumn} dans un bloc @code{\context}.
 
 @end itemize