\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 61762da8bedb70c6b4f0264604396288f70256f5
+ Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@documentencoding UTF-8
-@setfilename lilypond-program.info
+@setfilename lilypond-usage.info
@settitle GNU LilyPond -- Utilisation des programmes
+@documentencoding UTF-8
+@documentlanguage fr
+@afourpaper
+
+@c Translators: John Mandereau, Jean-Charles Malahieude
@macro manualIntro
Ce document constitue le manuel d'utilisation des programmes de GNU
@set FDL
@include macros.itexi
-@afourpaper
@c don't remove this comment.
@ignore
@omflanguage French
@end ignore
-@c Translators: John Mandereau, Jean-Charles Malahieude
@c urg, makeinfo 4.9.91 French translation is funky
-@iftex
-@documentlanguage fr
+@c iftex
@frenchspacing on
-@end iftex
+@c end iftex
@lilyTitlePage{Utilisation des programmes}
+@c TOC -- non-tex
@ifnottex
@c maybe add a "Tasks" or "Specific tasks" or something like
@c that, after Suggestions -gp
-
-@c FIXME: Move 'Suggestions for writing files' here from the Learning
-@c Manual, and reorder this menu according to docs in English -JM
@menu
-* Installation:: installation, compilation.
-* Environnement de travail:: environnement de travail pour LilyPond.
-* Exécution de LilyPond:: mode d'emploi.
-* LilyPond-book:: intégration de texte et musique.
-* Conversion à partir d'autres formats:: conversion vers le format source lilypond.
+* Exécution de LilyPond:: mode d'emploi.
+* Mise à jour avec convert-ly:: mise à jour d'anciens fichiers.
+* LilyPond-book:: intégration de texte et musique.
+* Programmes externes:: Mixing LilyPond and other programs.
+* Suggestions pour la saisie de fichiers LilyPond:: comment agencer un fichier.
Annexes
@docMain
@end ifnottex
+
@contents
+@allowcodebreaks false
-@include usage/install.itely
-@include usage/setup.itely
@include usage/running.itely
+@include usage/updating.itely
@include usage/lilypond-book.itely
-@include usage/converters.itely
+@include usage/external.itely
+@include usage/suggestions.itely
@include fdl.itexi
--- /dev/null
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
+@ignore
+ Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.12.0"
+
+@c Translators: Jean-Charles Malahieude
+
+@node Programmes externes
+@chapter Programmes externes
+@translationof External programs
+
+LilyPond peut interagir avec d'autres programmes, selon différentes
+manières.
+
+@menu
+* Pointer-cliquer::
+* LilyPond et les éditeurs de texte::
+* Conversion à partir d'autres formats::
+* Insertion du résultat de LilyPond dans d'autres programmes::
+* Inclusion du travail des autres::
+@end menu
+
+
+@node Pointer-cliquer
+@section Pointer-cliquer
+@translationof Point and click
+
+@cindex pointer-cliquer
+
+Le pointer-cliquer (@emph{point and click}) permet de se retrouver
+directement dans le fichier source, à la note que l'on pointe dans le
+visionneur de PDF. Ceci facilite grandement le repérage des erreurs à
+partir du fichier imprimable.
+
+Lorsque cette fonctionnalité est active, LilyPond ajoute des hyperliens
+au fichier PDF. Ces liens sont transmis au navigateur internet qui se
+charge d'ouvrir un éditeur de texte à l'endroit même où le curseur
+pointe.
+
+Afin que cette chaîne de traitement soit pleinement opérationnelle, il
+faut configurer votre visionneur de PDF de façon à ce qu'il suive les
+liens grâce au script @file{lilypond-invoke-editor} fourni avec
+LilyPond.
+
+Pour Xpdf, sous UNIX, vous devrez insérer la ligne suivante dans
+le fichier @file{xpdfrc} -- soit @file{/etc/xpdfrc}, soit dans votre
+répertoire personnel @file{.xpdfrc}.
+
+@example
+urlCommand "lilypond-invoke-editor %s"
+@end example
+
+@file{lilypond-invoke-editor} est un petit programme assistant. Il se
+charge d'appeler un éditeur pour les identifants de ressource
+(@emph{URI}) de type @code{textedit}, et un navigateur pour les autres.
+Il teste en outre la variable d'environnement @code{EDITOR} pour les cas
+suivant@tie{}:
+
+@table @code
+@item emacs
+ sera alors lancée la commande
+@example
+emacsclient --no-wait +@var{line}:@var{column} @var{file}
+@end example
+@item gvim
+ sera alors lancée la commande
+@example
+gvim --remote +:@var{line}:norm@var{column} @var{file}
+@end example
+
+@item nedit
+ sera alors lancée la commande
+@example
+ nc -noask +@var{line} @var{file}'
+@end example
+@end table
+
+La variable d'environnement @code{LYEDITOR} permet d'anticiper cette
+affectation, puisqu'elle contient la commande qui permet de lancer
+l'éditeur en tenant compte des valeurs respectives de @code{%(file)s},
+@code{%(column)s} , et@code{%(line)s}. Par exemple,
+
+@example
+emacsclient --no-wait +%(line)s:%(column)s %(file)s
+@end example
+
+@noindent
+en variable d'environnement @code{LYEDITOR} revient au lancement d'un
+client emacs standard.
+
+
+@cindex ficher de sortie, taille
+
+@cindex taille du ficher de sortie
+
+L'option pointer-cliquer accroît la taille des fichiers de manière
+significative. Afin de réduire la taille des fichiers PDF et PS, il est
+toujours possible de désactiver le pointer-cliquer en ajoutant
+
+@example
+\pointAndClickOff
+@end example
+
+@noindent
+dans le fichier @file{.ly}. Il peut alors être activé de manière
+explicite grâce à
+
+@example
+\pointAndClickOn
+@end example
+
+Le pointer-cliquer peut aussi être désactivé au moment de la compilation
+en ligne de commande@tie{}:
+
+@example
+lilypond -dno-point-and-click file.ly
+@end example
+
+@warning{Lorsqu'un fichier LilyPond est destiné à être redistribué,
+pensez à désactiver le pointer-cliquer, de telle sorte que les chemins
+d'accès et autres informations propres à votre système ne se retrouvent
+pas inclus dans le fichier @file{.pdf}.}
+
+
+@node LilyPond et les éditeurs de texte
+@section LilyPond et les éditeurs de texte
+@translationof Text editor support
+
+@cindex éditeurs
+@cindex vim
+@cindex emacs
+@cindex modes, éditeur
+@cindex syntaxe, coloration
+@cindex coloration syntaxique
+
+Certains éditeurs de texte prennent en charge LilyPond.
+
+@menu
+* Mode Emacs::
+* Mode Vim::
+* Autres éditeurs::
+@end menu
+
+@node Mode Emacs
+@unnumberedsubsec Mode Emacs
+@translationof Emacs mode
+
+Emacs dispose d'un @file{lilypond-mode} qui fournit l'autocomplétion des
+mots-clés, l'indentation, les appariements spécifiques à LilyPond, la
+coloration synthaxique, ainsi que des raccourcis pour compiler et
+consulter les manuels de LilyPond en mode info. Si le
+@file{lilypond-mode} n'était pas installé sur votre système, procédez
+comme ci-dessous.
+
+Le répertoire @file{elisp} inclus dans les sources contient aussi un
+mode pour saisir la musique et lancer LilyPond. Faites @command{make
+install} pour l'installer dans votre @var{elispdir}. Le fichier
+@file{lilypond-init.el} devrait trouver sa place dans
+@var{load-path}@file{/site-start.d/} ou bien ajouté à votre
+@file{~/.emacs} ou @file{~/.emacs.el}.
+
+En tant que simple utilisateur, vous pouvez toujours ajouter votre
+propre répertoire (par exemple @file{~/site-lisp/}) à votre
+@var{load-path} en ajoutant la ligne suivante -- modifiée en conséquence
+-- à votre @file{~/.emacs}@tie{}:
+
+@c any reason we do not advise: (push "~/site-lisp" load-path)
+@example
+(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))
+@end example
+
+
+@node Mode Vim
+@unnumberedsubsec Mode Vim
+@translationof Vim mode
+
+En ce qui concerne @uref{http://@/www@/.vim@/.org,VIM}, LilyPond fournit
+un fichier @file{vimrc} qui gère la coloration synthaxique. Le
+répertoire @code{$VIM} inclus dans les sources contient aussi un
+mode pour saisir la musique et lancer LilyPond.
+
+Le type de fichier LilyPond sera reconnu si votre
+@file{~/.vim/filetype.vim} contient
+
+@example
+if exists("did_load_filetypes")
+ finish
+endif
+augroup filetypedetect
+ au! BufNewFile,BufRead *.ly,*.ily setf lilypond
+augroup END
+@end example
+
+N'oubliez pas d'inclure ce chemin en ajoutant à votre @file{~/.vimrc} la
+ligne suivante@tie{}:
+
+@example
+set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/
+@end example
+
+@noindent
+où $@{LILYPOND_VERSION@} correspond à votre version de LilyPond. Si
+LilyPond n'est pas installé dans @file{/usr/local/}, modifiez ce chemin
+en conséquence. À titre d'exemple, si vous avez une Fedora, le chemin
+mène à la version de Vim au lieu de LilyPond@tie{}:
+
+@example
+set runtimepath+=/usr/share/vim/vim72/
+@end example
+
+
+@node Autres éditeurs
+@unnumberedsubsec Autres éditeurs
+@translationof Other editors
+
+LilyPond est pris en charge par d'autres éditeurs, aussi bien en mode
+texte qu'avec une interface graphique. Dans la mesure où leurs fichiers
+de configuration ne sont pas fournis avec LilyPond, nous vous invitons à
+consulter leur documentation pour plus d'information. Certains de ces
+éditeurs sont mentionnés à la page @rweb{Facilités d'édition}.
+
+
+@node Conversion à partir d'autres formats
+@section Conversion à partir d'autres formats
+@translationof Converting from other formats
+
+La musique peut aussi être récupérée par importation d'un autre
+format. Ce chapitre passe en revue les différents outils prévus à cet
+effet et inclus dans la distribution. Il existe d'autres outils qui
+permettent de générer du code LilyPond, comme par exemple des
+séquenceurs en mode graphique ou des convertisseurs XML. Pour plus
+de détails, rendez-vous sur le @uref{http://@/lilypond@/.org,site}.
+
+Il s'agit de programmes distincts de @command{lilypond} qui se lancent
+en ligne de commande. Pour plus de précisions, reportez-vous au
+chapitre @ref{Utilisation en ligne de commande}. Si vous utilisez MacOS
+10.3 ou 10.4 et recontrez quelque problème avec l'un de ces scripts, comme
+@code{convert-ly}, reportez-vous à la page @rweb{MacOS X}.
+
+
+@knownissues
+Les développeurs ne sont malheureusement pas suffisament nombreux et
+disponibles pour maintenir à jour ces programmes, considérez-les donc
+@emph{en l'état}. Nous acceptons les patches avec plaisir, mais il y a
+peu de chance pour que nous soyons en mesure de résoudre les bogues de
+ces programmes.
+
+@menu
+* Utilisation de midi2ly:: importation de musique au format MIDI.
+* Utilisation de musicxml2ly:: importation de partitions au format MusicXML.
+* Utilisation d'abc2ly:: importation de partitions au format ABC.
+* Utilisation d'etf2ly:: importation de partitions Finale.
+* Autres formats::
+@end menu
+
+
+
+@node Utilisation de midi2ly
+@subsection Utilisation de @command{midi2ly}
+@translationof Invoking midi2ly
+
+@cindex MIDI
+
+@command{midi2ly} traduit un fichier MIDI de Type@tie{}1 en un fichier
+source LilyPond.
+
+MIDI (Music Instrument Digital Interface) constitue un standard pour
+les instruments. Il spécifie le cablage, un protocole série et un
+format de fichier. Le format de fichier MIDI est de ce fait un format
+standard pour exporter de la musique à partir d'autres programmes, et
+cette faculté prend tout son intérêt lorsqu'un programme dispose d'un
+convertisseur capable d'importer directement un fichier.
+
+@command{midi2ly} convertit les pistes en contextes de portée
+(@rinternals{Staff}) et les canaux en contextes de voix
+(@rinternals{Voice}). Les hauteurs sont rendues en mode relatif, et
+les durées spécifiées lorsque nécessaire.
+
+Vous pouvez enregistrer un fichier MIDI grâce à un clavier
+électronique et ensuite le convertir en fichier @file{.ly}. Néanmoins
+le rythme humain n'a pas une précision suffisante pour qu'une
+conversion MIDI à ly ne se fasse sans surprise. En le couplant à une
+quantisation (options @code{-s} et @code{-d}), @command{midi2ly} tente
+de compenser dans la mesure du possible ces problèmes de
+temporisation. C'est la raison pour laquelle le recours à
+@command{midi2ly} n'est pas recommandé pour des fichiers midi générés
+manuellement.
+
+Pour le lancer en ligne de commande, procédez ainsi@tie{}:
+
+@example
+midi2ly [@var{option}]@dots{} @var{fichier-midi}
+@end example
+
+Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de
+commande du système. Pour plus de précisions, reportez-vous à
+@c ToBeTranslated
+@ref{Converting from other formats}.
+
+@command{midi2ly} accepte les options suivantes@tie{}:
+
+@table @code
+@item -a, --absolute-pitches
+Rendu en hauteurs absolues.
+
+@item -d, --duration-quant=@var{DUR}
+Quantiser les durées à partir de @var{DUR}.
+
+@item -e, --explicit-durations
+Rendu explicite des durées.
+
+@item -h,--help
+Afficher un résumé des utilisations.
+
+@item -k, --key=@var{acc}[:@var{minor}]
+Déterminer la tonalité par défaut. @math{@var{acc} > 0} fixe le
+nombre de dièses ; @math{@var{acc} < 0} le nombre de bémols. Une
+tonalité mineure est spécifiée par l'emploi de @code{:1}.
+
+@item -o, --output=@var{file}
+Générer le résultat dans le fichier @var{file}.
+
+@item -s, --start-quant=@var{DUR}
+Quantiser le début des notes sur @var{DUR}.
+
+@item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN}
+Accepter des n-olets de valeur @var{DUR}*@var{NUM}/@var{DEN}.
+
+@item -v, --verbose
+Mode verbeux.
+
+@item -V, --version
+Afficher le numéro de version.
+
+@item -w, --warranty
+Afficher les mentions de garantie et de copyright.
+
+@item -x, --text-lyrics
+Interpréter le texte comme des paroles.
+@end table
+
+
+@knownissues
+
+Le tuilage en arpège ne sera pas rendu correctement. La première note
+sera lue et les suivantes ignorées. Affectez-leur une durée unique et
+ajoutez une indication de phrasé ou de pédale.
+
+
+@node Utilisation de musicxml2ly
+@subsection Utilisation de @command{musicxml2ly}
+@translationof Invoking musicxml2ly
+
+@cindex MusicXML
+
+@uref{http://@/www.@/musicxml@/.org/,MusicXML} est un
+dialecte XML pour représenter la notation musicale.
+
+@command{musicxml2ly} extrait, à partir d'un fichier MusicXML, les
+notes, articulations, structure de la partition, paroles, etc.
+et les écrit dans un fichier @var{.ly}. Il se lance en ligne de
+commande.
+
+Pour le lancer en ligne de commande, procédez ainsi :
+@example
+musicxml2ly [@var{option}]@dots{} @var{fichier-xml}
+@end example
+
+Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de
+commande du système. Pour plus de précisions, reportez-vous à
+@c ToBeTranslated
+@ref{Converting from other formats}.
+
+Si le nom du fichier est @file{-}, @command{musicxml2ly} lira
+directement à partir de la ligne de commande.
+
+@command{musicxml2ly} accepte les options suivantes@tie{}:
+
+@table @code
+@item -a, --absolute
+Rendu en hauteurs absolues.
+
+@item -h,--help
+Afficher un résumé des utilisations.
+
+@item -l, --language=LANG
+Utiliser un autre fichier de définition liguistique @file{LANG.ly}
+et les noms de notes correspondants, comme par exemple
+@var{deutsch} pour @file{deutsch.ly} et noms de notes en allemand.
+
+@item --lxml
+Utiliser le paquetage Python @code{lxml.etree}, moins gourmand en
+mémoire et temps de calcul, pour effectuer l'annalyse XML.
+
+@item --nd --no-articulation-directions
+Ne pas convertir la direction (@code{^}, @code{_} ou @code{-}) des
+articulations, nuances, etc.
+
+@item --no-beaming
+Ne pas convertir les informations de ligature@tie{}; laisser LilyPond
+gérer les ligatures automatiquement.
+
+@item -o,--output=@var{file}
+Générer le résultat dans le fichier @var{fichier}. S'il n'est pas
+déterminé, ce sera @var{fichier-xml}@file{.ly} ; @file{-} produira le
+résultat sur la sortie standard (@var{stdout}).
+
+@item -r,--relative
+Rendu en hauteurs relatives (mode par défaut).
+
+@item -v,--verbose
+Mode verbeux.
+
+@item --version
+Afficher le numéro de version.
+
+@item -z,--compressed
+Le fichier d'entrée est un fichier MusicXML zippé.
+@end table
+
+
+@node Utilisation d'abc2ly
+@subsection Utilisation de @command{abc2ly}
+@translationof Invoking abc2ly
+
+@warning{Ce programme ne bénéficie d'aucune maintenance. Il est
+susceptible d'être suprimé des versions futures de LilyPond.}
+
+@cindex ABC
+
+ABC est un format relativement simple basé sur l'ASCII. Sa
+description est disponible sur le
+@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html,site
+d'ABC}.
+
+@command{abc2ly} traduit du format ABC au format LilyPond.
+
+Pour le lancer en ligne de commande, procédez ainsi@tie{}:
+
+@example
+abc2ly [@var{option}]@dots{} @var{fichier-abc}
+@end example
+
+@command{abc2ly} accepte les options suivantes@tie{}:
+
+@table @code
+@item -b,--beams=None
+Préserver la notion de lien de croches propre à ABC.
+@item -h,--help
+Afficher un résumé des utilisations.
+@item -o,--output=@var{file}
+Générer le résultat dans le fichier @var{file}.
+@item -s,--strict
+Être strict sur la réussite.
+@item --version
+Afficher le numéro de version.
+@end table
+
+Il est possible d'ajouter des bribes de code LilyPond dans un fichier
+source ABC. Ainsi, l'assertion
+
+@example
+%%LY voices \set autoBeaming = ##f
+@end example
+
+aura pour conséquence d'insérer le texte qui suit le mot-clé @qq{voices}
+dans la voix correspondante du fichier LilyPond.
+
+De la même manière,
+
+@example
+%%LY slyrics more words
+@end example
+
+placera le texte suivant le mot-clé @qq{slyrics} dans une ligne de paroles.
+
+
+@knownissues
+
+Le standard ABC n'est pas si @qq{standard} que cela. Pour des
+fonctionnalités étendues, comme la polyphonie, existent différentes
+conventions.
+
+Un fichier comportant plusieurs morceaux ne peut être converti.
+
+ABC synchronise paroles et musique en début de ligne@tie{};
+@command{abc2ly} ne le fait pas.
+
+@command{abc2ly} ignore les ligatures ABC.
+
+
+@node Utilisation d'etf2ly
+@subsection Utilisation de @command{etf2ly}
+@translationof Invoking etf2ly
+
+@warning{Ce programme ne bénéficie d'aucune maintenance. Il est
+susceptible d'être suprimé des versions futures de LilyPond.}
+
+@cindex ETF
+@cindex enigma
+@cindex Finale
+@cindex Coda Technology
+
+ETF (Enigma Transport Format) est l'un des formats utilisés par le
+logiciel Finale, édité par Coda Music Technology. @command{etf2ly}
+convertit partiellement les fichiers ETF en fichiers source LilyPond.
+
+
+Pour le lancer en ligne de commande, procédez ainsi@tie{}:
+
+@example
+etf2ly [@var{option}]@dots{} @var{fichier-etf}
+@end example
+
+Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de
+commande du système. Pour plus de précisions, reportez-vous à
+@c ToBeTranslated
+@ref{Converting from other formats}.
+
+@command{etf2ly} accepte les options suivantes@tie{}:
+
+@table @code
+@item -h,--help
+Afficher cette aide.
+@item -o, --output=@var{file}
+Générer le résultat dans le fichier @var{file}.
+@item --version
+Afficher le numéro de version.
+@end table
+
+
+@knownissues
+
+La liste des scripts d'articulation est incomplète. Les mesures vides
+perturbent @command{etf2ly}. Les séquences de notes d'ornement ne se
+terminent pas de manière satisfaisante.
+
+
+@node Autres formats
+@subsection Autres formats
+@translationof Other formats
+
+@cindex programmes externes générant des fichiers LilyPond
+
+LilyPond ne prend pas en charge d'autre format. Cependant, certains
+outils indépendants permettent de générer des fichiers LilyPond, comme
+indiqué à la page @rweb{Facilités d'édition}.
+
+
+
+@node Inclusion de partition LilyPond dans d'autres programmes
+@section Insertion de partition LilyPond dans d'autres programmes
+@translationof LilyPond output in other programs
+
+This section shows methods to integrate text and music, different than
+the automated method with @command{lilypond-book}.
+
+@menu
+* Extraction de plusieurs fragments d'une grande partition::
+* Insertion du résultat de LilyPond dans OpenOffice.org::
+* Insertion du résultat de LilyPond dans d'autres programmes::
+@end menu
+
+@node Extraction de plusieurs fragments d'une grande partition
+@unnumberedsubsec Extraction de plusieurs fragments d'une grande partition
+@translationof Many quotes from a large score
+
+If you need to quote many fragments from a large score, you can also use
+the clip systems feature, see @ruser{Extraction de fragments musicaux}.
+
+
+@node Insertion du résultat de LilyPond dans OpenOffice.org
+@unnumberedsubsec Insertion du résultat de LilyPond dans OpenOffice.org
+@translationof Inserting LilyPond output into OpenOffice.org
+
+@cindex OpenOffice.org
+
+LilyPond notation can be added to OpenOffice.org with
+@uref{http://@/ooolilypond@/.sourceforge@/.net@/,OOoLilyPond}.
+
+
+@node Insertion du résultat de LilyPond dans d'autres programmes
+@unnumberedsubsec Insertion du résultat de LilyPond dans d'autres programmes
+@translationof Inserting LilyPond output into other programs
+
+To insert LilyPond output in other programs, use @code{lilypond}
+instead of @code{lilypond-book}. Each example must be created
+individually and added to the document; consult the documentation for
+that program. Most programs will be able to insert LilyPond output in
+@file{PNG}, @file{EPS}, or @file{PDF} formats.
+
+To reduce the white space around your LilyPond score, use
+the following options
+
+@example
+\paper@{
+ indent=0\mm
+ line-width=120\mm
+ oddFooterMarkup=##f
+ oddHeaderMarkup=##f
+ bookTitleMarkup = ##f
+ scoreTitleMarkup = ##f
+@}
+
+@{ c1 @}
+@end example
+
+To produce a useful @file{EPS} file, use
+
+@example
+lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts myfile.ly
+
+@file{PNG}:
+lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png myfile.ly
+@end example
+
+
+@node Inclusion du travail des autres
+@section Inclusion du travail des autres
+@translationof Independent includes
+
+Some people have written large (and useful!) code that can be
+shared between projects. This code might eventually make its way
+into LilyPond itself, but until that happens, you must download
+and @code{\include} them manually.
+
+
+@menu
+* MIDI et articulations::
+@end menu
+
+
+@node MIDI et articulations
+@subsection MIDI et articulations
+@translationof MIDI articulation
+
+LilyPond can be used to produce MIDI output, for
+@qq{proof-hearing} what has been written. However, only dynamics,
+explicit tempo markings, and the notes and durations themselves
+are produced in the output.
+
+The @emph{articulate} project is one attempt to get more of the
+information in the score into he MIDI. It works by shortening
+notes not under slurs, to @q{articulate} the notes. The amount of
+shortening depends on any articulation markings attached to a
+note: staccato halves the note value, tenuto gives a note its full
+duration, and so on. The script also realises trills and turns,
+and could be extended to expand other ornaments such as mordents.
+
+@example
+@uref{http://@/www@/.nicta@/.com@/.au/@/people/@/chubbp/@/articulate}
+@end example
+@noindent
+site en anglais.
+@knownissues
+
+Its main limitation is that it can only affect things it knows
+about: anything that is merely textual markup (instead of a note
+property) is still ignored.
+
+
--- /dev/null
+\documentclass[a4paper]{article}
+
+%\def\preLilyPondExample{}}
+%\def\postLilyPondExample{}
+
+
+\begin{document}
+
+\begin{lilypond}
+\relative c' { c d e f g a b c }
+\end{lilypond}
+
+
+\begin{lilypond}[fragment]
+c d e
+\end{lilypond}
+
+
+% illustre l'interaction des marges avec lilypond+couplets
+
+% obsolète
+% genère les titres standards de lilypond
+\input titledefs.tex
+\def\preLilyPondExample{\def\mustmakelilypondtitle{}}
+
+\begin{lilypond}
+\header {
+ title = "Titre"
+ subtitle = "Sous-titre"
+ subsubtitle = "Sous-sous-titre"
+ opus = "Opus 1"
+ piece = "Pièce"
+ composer = "Compositeur"
+ enteredby = "JCN"
+ instrument = "instrument"
+}
+\layout { linewidth = -1. }
+\relative c'' { a b c d }
+\end{lilypond}
+
+\begin{enumerate}
+\item Vers un. aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa
+\item Vers deux. bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb
+\end{enumerate}
+
+\end{document}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e9755d4dc717866f8578d08589427ae5e5fa4d39
+ Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@node Exécution de LilyPond
-@chapter Exécution de LilyPond
+@chapter Exécution de @command{lilypond}
@translationof Running LilyPond
@untranslated
* Utilisation habituelle::
* Utilisation en ligne de commande::
* Messages d'erreur::
-* Pourquoi la syntaxe change-t-elle?::
-* Mise à jour des fichiers avec convert-ly::
-* Rapport de bogue::
+* Quelques erreurs des plus courantes::
@end menu
@node Utilisation habituelle
* Lancement de lilypond::
* Options en ligne de commande::
* Variables d'environnement::
+* Exécution de LilyPond en mode protégé::
@end menu
@node Lancement de lilypond
-@subsection Lancement de lilypond
+@unnumberedsubsec Lancement de @command{lilypond}
@translationof Invoking lilypond
@untranslated
@node Options en ligne de commande
-@subsection Options en ligne de commande
+@unnumberedsubsec Options en ligne de commande pour @command{lilypond}
@translationof Command line options
@untranslated
@node Variables d'environnement
-@subsection Variables d'environnement
+@unnumberedsubsec Variables d'environnement
@translationof Environment variables
@untranslated
-@node Messages d'erreur
-@section Messages d'erreur
-@translationof Error messages
+@node Exécution de LilyPond en mode protégé
+@unnumberedsubsec Exécution de LilyPond en mode protégé
+@translationof LilyPond in chroot jail
@untranslated
-@node Pourquoi la syntaxe change-t-elle?
-@section Pourquoi la syntaxe change-t-elle?
-@translationof Why does the syntax change?
-@untranslated
-@node Mise à jour des fichiers avec convert-ly
-@section Mise à jour avec @command{convert-ly}
-@translationof Updating files with convert-ly
+@node Messages d'erreur
+@section Messages d'erreur
+@translationof Error messages
@untranslated
-@subsection Options en ligne de commande
-@menu
-* Limitations de convert-ly::
-@end menu
-
-@node Limitations de convert-ly
-@subsection Limitations de @command{convert-ly}
-@translationof Problems with convert-ly
-@untranslated
+@node Quelques erreurs des plus courantes
+@section Quelques erreurs des plus courantes
+@translationof Common errors
+Les conditions amenant aux erreurs qui suivent sont fréquentes, bien
+qu'elles ne soient pas évidentes ni facilement localisables. Nous
+espérons que ces explications vous aideront à les résoudre plus
+facilement.
-@node Rapport de bogue
-@section Rapport de bogue
-@translationof Reporting bugs
-
-@untranslated
+@menu
+* La musique déborde de la page::
+* Apparition d'une portée supplémentaire::
+* Erreur renvoyant à ../ly/init.ly::
+* Message d'erreur Unbound variable %::
+* Message d'erreur FT_Get_Glyph_Name::
+@end menu
+@node La musique déborde de la page
+@unnumberedsubsec La musique déborde de la page
+@translationof Music runs off the page
+
+Lorsque la musique s'épanche au delà de la marge droite ou bien semble
+anormalement comprimée, la raison en est le plus souvent une note à la
+durée erronée ; cela finit par provoquer le débordement de la dernière
+note d'une mesure. Rien ne s'oppose à ce que la dernière note d'une
+mesure ne s'arrête avant la barre de mesure ; on considère simplement
+qu'elle se prolonge sur la mesure suivante. Des débordements à
+répétition finissent par générer une musique comprimée ou qui sort de la
+page, pour la simple et bonne raison que les sauts de ligne automatiques
+ne peuvent intervenir qu'à la fin d'une mesure complète, autrement dit
+lorsque toutes les notes sont terminées avant la fin de la mesure.
+
+@warning{Une durée erronée peut empêcher les sauts de ligne, ce qui
+conduit à une musique compressée, voire à un débordement de la page.}
+
+Une erreur de durée sera bien plus facilement localisable si vous
+positionnez régulièrement des contrôles de barre de mesure -- voir
+@ruser{Vérification des limites et numéros de mesure}.
+
+Si vous tenez absolument à enchainer de tels débordements, vous devrez
+insérer des barres de mesure invisibles là où vous souhaitez positionner
+un saut de ligne. Consultez le chapitre @ruser{Barres de mesure} pour
+plus de détails.
+
+
+@node Apparition d'une portée supplémentaire
+@unnumberedsubsec Apparition d'une portée supplémentaire
+@translationof An extra staff appears
+
+Lorsque les contextes ne sont pas créés explicitement par la commande
+@code{\new}, ils le seront si la commande à exécuter n'est pas censée
+s'appliquer au contexte en cours. Pour des partitions simples, les fait
+que les contextes soient automatiquement créés rend bien des services,
+et c'est d'ailleurs le cas pour la majorité des exemples contenus dans
+les manuels de LilyPond. Cependant, la création implicite d'un contexte
+peut aboutir à l'apparition d'une portée @qq{parasite}. On s'attend par
+exemple, en lisant le code qui suit, à ce que toutes les têtes de notes
+soient en rouge, alors que le résultat nous présente deux portées et que
+les notes, placées sur la portée inférieure, restent en noir.
+
+@lilypond[quote,verbatim,relative=2]
+\override Staff.NoteHead #'color = #red
+\new Staff { a }
+@end lilypond
+
+Étant donné qu'aucun contexte @code{Staff} n'existe lorsque la
+dérogation est introduite, LilyPond le crée implicitement pour lui
+appliquer la directive considérée. Survient alors la commande
+@w{@code{\new Staff}} qui, à son tour, crée une nouvelle portée pour
+contenir les notes qui suivent. Voici la syntaxe correcte pour obtenir
+ces notes en rouge :
+
+@lilypond[quote,verbatim,relative=2]
+\new Staff {
+ \override Staff.NoteHead #'color = #red
+ a
+}
+@end lilypond
+
+Autre exemple : la présence d'une commande @code{\relative} à
+l'intérieur d'une section @code{\repeat} génèrera obligatoirement une
+portée intempestive. Cela tient au fait que la commande @code{\repeat}
+va créer deux blocs @code{\relative} qui, chacun à leur tour, créeront
+implicitement un bloc @code{Staff} assorti d'un bloc @code{Voice}.
+
+@lilypond[quote,verbatim]
+\repeat unfold 2 \relative { c d e f }
+@end lilypond
+
+La manière adéquate de procéder consiste à inverser les commandes
+@code{\repeat} et @code{\relative}, comme ceci :
+
+@lilypond[quote,verbatim]
+\relative {
+ \repeat unfold 2 { c d e f }
+}
+@end lilypond
+
+
+@node Erreur renvoyant à ../ly/init.ly
+@unnumberedsubsec Erreur renvoyant à @code{../ly/init.ly}
+@translationof Apparent error in ../ly/init.ly
+
+Certains messages d'erreur relatifs à une erreur de syntaxe dans le
+fichier @code{../ly/init.ly} peuvent survenir lorsque le fichier est mal
+formaté. Cela se produit notamment lors d'un défaut de parité de
+bornages ou de guillemets.
+
+L'erreur la plus courante est la simple omission d'une accolade
+fermante (@code{@}} à la fin du bloc @code{Score}. La solution est
+évidente en pareil cas : il suffit de vérifier que le bloc @code{Score}
+est bien clôturé. La structure des fichiers LilyPond est abordée plus
+en détails au chapitre @ref{Organisation des fichiers LilyPond}. C'est la
+raison pour laquelle nous vous invitons à utiliser un éditeur de texte
+qui prenne en charge le contrôle de parité des parenthèses, crochets et
+accolades afin de vous éviter de telles erreurs.
+
+Lorsqu'il s'agit d'un guillemet fermant (@code{"}) omis, le message
+d'erreur devrait vous indiquer un numéro de ligne avoisinant. L'erreur
+se situe la plupart du temps une ou deux lignes au-dessus de celle
+indiquée.
+
+
+@node Message d'erreur Unbound variable %
+@unnumberedsubsec Message d'erreur « Unbound variable % »
+@translationof Error message Unbound variable %
+
+Ce message d'erreur, qu'il apparaisse sur le terminal ou en fin de
+fichier journal, est associé à un message du type @qq{GUILE a signalé
+une erreur @dots{}}, survient à chaque fois qu'un commentaire
+@emph{LilyPond} est indûment placé dans une routine @emph{Scheme}.
+
+Un commentaire LilyPond est introduit par le signe pourcent (@code{%})
+et ne doit en aucun cas se trouver dans une routine Scheme. En Scheme,
+les commentaires s'introduisent par un point-virgule (@code{;}).
+
+
+@node Message d'erreur FT_Get_Glyph_Name
+@unnumberedsubsec Message d'erreur « FT_Get_Glyph_Name »
+@translationof Error message FT_Get_Glyph_Name
+
+Ce message d'erreur, qu'il apparaisse sur le terminal ou en fin de
+fichier journal, survient lorsqu'un fichier source contient des
+caractères non ASCII et qu'il n'a pas été enregistré avec un encodage
+UTF-8. Pour plus dde détails, reportez-vous au chapitre
+@ruser{Codage du texte}.
--- /dev/null
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+@ignore
+ Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.12.0"
+
+@c Translators: Ludovic Sardain, Jean-Charles Malahieude
+@c Translation checkers: Jean-Yves Baudais, Valentin Villenave, John Mandereau, Jean-Charles Malahieude
+
+@node Suggestions pour la saisie de fichiers LilyPond
+@chapter Suggestions pour la saisie de fichiers
+@translationof Suggestions for writing files
+
+Maintenant vous êtes prêt à travailler sur de plus gros fichiers
+LilyPond -- des pièces entières, et plus seulement les petits
+exemples du tutoriel. Mais comment devriez-vous vous y prendre ?
+
+Tant que LilyPond parvient à comprendre vos fichiers et produit le
+résultat que vous souhaitez, peu importe la manière dont le code est
+organisé. Néanmoins, quelques critères doivent être pris en compte
+lorsque l'on écrit un fichier LilyPond.
+
+@itemize
+@item Si vous faites une erreur, la structure même du fichier LilyPond
+peut permettre de la localiser plus ou moins facilement.
+
+@item Et si vous souhaitez partager vos fichiers avec quelqu'un
+d'autre, ou si vous souhaitez modifier vos propres fichiers dans
+quelques années ? Si certains fichiers LilyPond sont compréhensibles
+au premier coup d'oeil, d'autres vous feront vous arracher les cheveux
+pendant une heure.
+
+@item Et si vous souhaitez mettre à jour votre fichier pour
+l'utiliser avec une version plus récente de LilyPond ? La syntaxe du
+langage d'entrée change parfois lorsque LilyPond s'améliore. La
+plupart des changements peuvent être appliqués automatiquement avec
+@code{convert-ly}, mais quelques-uns peuvent requérir une intervention
+manuelle. Vos fichiers LilyPond peuvent être structurés de manière à
+faciliter leur mise à jour.
+@end itemize
+
+@menu
+* Suggestions générales::
+* Gravure de musique existante::
+* Projets d'envergure::
+* Résolution de problèmes::
+* De la commande make et des fichiers Makefile::
+@end menu
+
+@node Suggestions générales
+@section Suggestions générales
+@translationof General suggestions
+
+Voici quelques conseils qui peuvent vous éviter certains problèmes ou
+en résoudre d'autres.
+
+@itemize
+@item @strong{Ajoutez le numéro de version dans chaque fichier}.
+Notez que chaque fichier modèle contient une ligne @w{@code{\version
+"@version{}"}}. Nous vous conseillons fortement d'inclure cette ligne,
+même pour de petits fichiers. Par expérience, il est très difficile
+de se rappeler quelle version de LilyPond on utilisait quelques
+années auparavant. L'utilitaire @command{convert-ly} demande que vous
+spécifiiez la version de LilyPond vous utilisiez alors.
+
+@item @strong{Ajoutez des contrôles} : @ruser{Vérifications d'octave}
+et @ruser{Vérification des limites et numéros de mesure}. Si vous avez
+ajouté des contrôles de loin en loin, et que vous faites une erreur,
+vous pourrez la retrouver plus rapidement. @qq{De loin en loin},
+qu'est-ce à dire ? Cela dépend de la complexité de la musique. Pour de
+la musique très simple, peut-être une ou deux fois. Pour de la musique
+très complexe, peut-être à chaque mesure.
+
+@item @strong{Une mesure par ligne de texte}. Si la musique en
+elle-même ou le résultat que vous désirez contient quelque chose de
+compliqué, il est souvent bon de n'écrire qu'une seule mesure par ligne.
+Économiser de la place en tassant huit mesures par ligne, ça ne vaut pas
+vraiment le coup si l'on doît corriger vos fichiers.
+
+@item @strong{Ajoutez des commentaires}. Utilisez soit des
+numéros de mesure (assez souvent), soit des références au contenu
+musical -- @qq{second thème des violons}, @qq{quatrième variation}, etc.
+Vous pouvez ne pas avoir besoin des commentaires lorsque vous écrivez
+une pièce pour la première fois, mais si vous souhaitez y revenir deux
+ou trois ans plus tard pour changer quelque chose, ou si vous donnez
+le fichier source à un ami, ce sera beaucoup plus difficile de
+déterminer vos intentions ou la manière dont votre fichier est
+structuré si vous n'y avez pas adjoint de commentaires.
+
+@item @strong{Indentez les accolades}. Beaucoup de problèmes
+viennent d'un défaut de parité entre @code{@{} et @code{@}}.
+
+@item @strong{Mentionnez les durées} au début de chaque section ou
+variable. Si vous saisissez @code{c4 d e} au début d'une phrase, vous
+vous épargnerez des problèmes si, plus tard, vous modifiez votre musique.
+
+@item @strong{Séparez les affinages de mise en forme} de la musique
+elle-même. Voyez
+@ref{Économie de saisie grâce aux identificateurs et fonctions} et
+@ref{Feuilles de style}.
+
+@end itemize
+
+
+@node Gravure de musique existante
+@section Gravure de musique existante
+@translationof Typesetting existing music
+
+Si vous saisissez de la musique à partir d'une partition existante,
+c'est-à-dire de la musique déjà écrite,
+
+@itemize
+
+@item n'entrez qu'un seul système de la partition originale
+à la fois -- mais toujours une seule mesure par ligne de texte --,
+et vérifiez chaque système lorsqu'il est terminé. Vous pouvez
+utiliser les commandes @code{showLastLength} et @code{showFirstLength}
+pour accélérer la compilation -- voir
+@ruser{Ignorer des passages de la partition} ;
+
+@item définissez @code{mBreak = @{\break @}} et insérez
+@code{\mBreak} dans le fichier d'entrée pour obtenir des sauts de
+ligne identiques à la partition originale. Cela facilite la
+comparaison entre la partition originale et la partition de
+LilyPond. Lorsque vous avez fini de relire votre musique, vous pouvez
+définir @code{mBreak = @{ @}} pour enlever tous ces sauts de ligne, et
+laisser LilyPond placer les sauts de ligne selon son propre algorithme.
+
+@item encadrez les notes d'une partie pour instrument transpositeur
+dans un
+
+@example
+\transpose c @var{tonalité-naturelle} @{...@}
+@end example
+(où @var{tonalité-naturelle} correspond à celle de l'instrument en
+question) de telle sorte que la musique comprise dans cette variable se
+retrouve en ut. Vous pourrez toujours transposer à l'inverse si besoin
+lorsque vous ferez appel à cette variable. Des erreurs de transposition
+seront moins susceptibles de se produire si la musique de toutes les
+variables est dans la même et unique tonalité.
+
+De la même manière, prenez toujours le do comme note de départ ou
+d'arrivée. Ceci aura pour simple conséquence que les autres tonalités
+que vous utiliserez seront celles propres à chacun des instruments --
+sib pour une trompette en si bémol, ou lab pour une clarinette en la bémol.
+
+@end itemize
+
+
+@node Projets d'envergure
+@section Projets d'envergure
+@translationof Large projects
+
+Lorsque l'on travaille sur un gros projet, il devient vital
+de structurer clairement ses fichiers LilyPond.
+
+@itemize @bullet
+
+@item @strong{Utilisez un identificateur pour chaque voix},
+avec un minimum de structure dans la définition. La structure de la
+section @code{\score} est la plus susceptible de changer, notamment
+dans une nouvelle version de LilyPond, alors que la définition du
+@code{violon} l'est beaucoup moins.
+
+@example
+violin = \relative c'' @{
+g4 c'8. e16
+@}
+...
+\score @{
+ \new GrandStaff @{
+ \new Staff @{
+ \violin
+ @}
+ @}
+@}
+@end example
+
+@item @strong{Séparez les retouches} des définitions de
+musique. Nous vous avons déjà invité à adopter une telle pratique, qui
+par ailleurs devient vitale pour des projets d'importance. Nous
+pouvons avoir besoin de changer la définition de
+@code{fpuisp}, mais dans ce cas nous n'aurons besoin de le faire
+qu'une seule fois, et nous pourrons encore éviter de
+modifier quoi que ce soit à l'intérieur de la définition
+du @code{violon}.
+
+@example
+fpuisp = _\markup@{
+ \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
+violin = \relative c'' @{
+g4\fpuisp c'8. e16
+@}
+@end example
+
+@end itemize
+
+
+@node Résolution de problèmes
+@section Résolution de problèmes
+@translationof Troubleshooting
+
+Tôt ou tard, vous écrirez un fichier que LilyPond ne peut pas
+compiler. Les messages que LilyPond affiche peuvent vous aider à
+trouver l'erreur, mais dans beaucoup de cas vous aurez besoin de faire
+quelques recherches pour déterminer la source du problème.
+
+Pour ce faire, les outils les plus puissants sont le commentaire de
+fin de ligne, indiqué par @code{%}, et le commentaire multilignes (ou
+bloc de commentaire), indiqué par @code{%@{ ... %@}}. Si vous ne
+pouvez localiser le problème, commencez par mettre en commentaire de
+grandes parties de votre fichier source. Après avoir mis en
+commentaire une section, essayez de compiler à nouveau. Si cela
+fonctionne, c'est que le problème se situe dans cette partie du
+fichier. Si cela ne fonctionne pas, continuez à mettre en commentaire
+d'autres sections, jusqu'à ce que vous ayez quelque chose qui compile.
+
+Dans un cas extrême, vous pourriez en arriver à
+
+@example
+\score @{
+ <<
+ % \melodie
+ % \harmonie
+ % \basse
+ >>
+ \layout@{@}
+@}
+@end example
+
+@noindent
+c'est-à-dire un fichier sans aucune musique.
+
+Si cela se produit, ne vous découragez pas. Décommentez un peu, la
+partie de basse par exemple, et voyez si ça fonctionne. Si ce n'est pas
+le cas, placez en commentaire toute la partie de basse, mais laissez
+@code{\basse} décommenté dans le bloc @code{\score}.
+
+@example
+basse = \relative c' @{
+%@{
+ c4 c c c
+ d d d d
+%@}
+@}
+@end example
+
+Maintenant commencez à décommenter petit à petit le partie de
+@code{basse} jusqu'à ce que vous localisiez la ligne qui pose
+problème.
+
+Une autre technique de déboguage très utile est la construction
+d'@rweb{Exemples minimaux}.
+
+
+
+
+@node De la commande make et des fichiers Makefile
+@section De la commande @command{make} et des fichiers @code{Makefile}
+@translationof Make and Makefiles
+
+@cindex makefiles
+@cindex make
+
+La plupart des plates-formes sur lesquelles tourne LilyPond disposent
+d'un logiciel appelé @code{make}. Ce logiciel va lire un fichier
+spécial, nommé de @code{Makefile}, qui contient tout ce qu'il
+faut -- les dépendances entre certains fichiers, les instructions
+successives à traiter par le système -- pour aboutir au fichier que
+vous désirez obtenir. Il pourrait par exemple contenir tout ce qu'il
+faut pour produire @code{ballade.pdf} et @code{ballade.midi} à partir de
+@code{ballade.ly} en lançant LilyPond.
+
+La création d'un @code{Makefile} peut se révéler pertinente pour
+certains projets, que ce soit par simple goût personnel ou bien par
+respect de ceux qui pourront accéder à vos sources. Cette manière de
+procéder est particulièrement indiquée lorsque vous travaillez sur un
+projet de grande envergure impliquant de nombreuses inclusions de
+fichiers et différentes éditions -- par exemple un conducteur et un
+matériel d'orchestre complet avec la partition pour le chef et une
+partition séparée pour chacun des pupitres -- ou bien si votre projet
+requiert certaines commandes particulières comme @code{lilypond-book}.
+Les @emph{Makefiles} varient tant en complexité qu'en flexibilité selon
+les besoin et les aptitudes de celui qui les crée. Le programme GNU Make
+est installé par défaut sur les distributions Linux et sur MacOS@tie{}X,
+et il en existe une version pour les environnements Windows.
+
+Consultez le @strong{GNU Make Manual} pour plus de détails sur ce dont
+@code{make} est capable -- vous pourrez même en trouver des versions
+françaises à l'aide des moteurs de recherche --, dans la mesure où ce
+qui suit ne donne qu'un bref apperçu de ses possibilités.
+
+Les commandes permettant de définir les règles diffèrent selon la
+plate-forme : si les différents Linux et MacOS@tie{}X utilisent
+@code{bash}, Windows utilise @code{cmd}. Dans le cas de MacOS@tie{}X,
+vous devrez toutefois configurer votre système de telle sorte qu'il
+utilise l'interpréteur en ligne de commande. Voici quelques exemples de
+fichier @emph{Makefile}, avec une version pour Linux ou MacOS et une
+pour Windows.
+
+Pour commencer, une pièce à quatre mouvements pour orchestre et dont les
+fichiers sont répartis selon l'arborescence suivante :
+
+@example
+Symphonie/
+|-- MIDI/
+|-- Makefile
+|-- Notes/
+| |-- alto.ily
+| |-- cor.ily
+| |-- cello.ily
+| |-- figures.ily
+| |-- hautbois.ily
+| |-- trioCordes.ily
+| |-- violonOne.ily
+| `-- violonTwo.ily
+|-- Partitions/
+| |-- symphonie.ly
+| |-- symphonieI.ly
+| |-- symphonieII.ly
+| |-- symphonieIII.ly
+| `-- symphonieIV.ly
+|-- PDF/
+|-- Pupitres/
+| |-- symphon-alto.ly
+| |-- symphonie-cello.ly
+| |-- symphonie-cor.ly
+| |-- symphonie-hautbois.ly
+| |-- symphonie-violonUn.ly
+| `-- symphonie-violonDeux.ly
+`-- symphonieDefs.ily
+@end example
+
+Les fichiers @code{.ly} des répertoires @code{Partitions} et
+@code{Pupitres} récupèreront la notation des fichiers @code{.ily}
+contenus dans le répertoire @code{Notes} :
+
+@example
+%%% début du fichier "symphone-cello.ly"
+\include ../symphonieDefs.ily
+\include ../Notes/cello.ily
+@end example
+
+Le @emph{Makefile} répertorie des cibles correspondant à @code{score}
+(l'intégrale au format conducteur), @code{mouvements} (chacun des
+mouvements au format conducteur) et @code{pupitres} (une partition par
+pupitre). Il contient aussi une cible @code{archive} chargée de générer
+une archive des fichiers source qui pourra être diffusée sur la toile ou
+transmise par courriel. Voici ce que contiendrait ce @emph{Makefile}
+pour Linux ou MacOS@tie{}X. Ce fichier doit être enregistré sous le nom
+de @code{Makefile} à la racine du projet -- ici @code{Symphonie}.
+
+@warning{Lorsque vous définissez une cible ou une règle sur plusieurs
+lignes, les lignes à partir de la deuxième @strong{doivent} débuter par
+une tabulation, non pas par des espaces.}
+
+@example
+# Le préfixe au nom des fichiers résultants
+piece = symphonie
+# Détermination du nombre de processeurs
+CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//`
+# La commande d'appel à lilypond
+LILY_CMD = lilypond -ddelete-intermediate-files \
+ -dno-point-and-click -djob-count=$(CPU_CORES)
+
+# Les suffixes utilisés dans ce Makefile
+.SUFFIXES: .ly .ily .pdf .midi
+
+# Les fichiers sources et résultants sont recherchés dans les répertoires
+# listés dans la variable VPATH. Ceux-ci sont tous des sous-répertoires
+# du répertoire courant (fourni par la variable de GNU make `CURDIR').
+VPATH = \
+ $(CURDIR)/Partitions \
+ $(CURDIR)/PDF \
+ $(CURDIR)/Pupitres \
+ $(CURDIR)/Notes
+
+# La règle type pour créer un PDF et un MIDI à partir d'un fichier
+# source LY.
+# Les .pdf résultants iront dans le sous-répertoire "PDF" et les fichiers
+# .midi dans le sous-répertoire "MIDI".
+%.pdf %.midi: %.ly
+ $(LILY_CMD) $<; \ # cette ligne commence par une tabulation
+ if test -f "$*.pdf"; then \
+ mv "$*.pdf" PDF/; \
+ fi; \
+ if test -f "$*.midi"; then \
+ mv "$*.midi" MIDI/; \
+ fi
+
+notes = \
+ alto.ily \
+ cello.ily \
+ cor.ily \
+ hautbois.ily \
+ violonUn.ily \
+ violonDeux.ily
+
+# Les dépendances selon le mouvement.
+$(piece)I.pdf: $(piece)I.ly $(notes)
+$(piece)II.pdf: $(piece)II.ly $(notes)
+$(piece)III.pdf: $(piece)III.ly $(notes)
+$(piece)IV.pdf: $(piece)IV.ly $(notes)
+
+# Les dépendances pour la partition intégrale.
+$(piece).pdf: $(piece).ly $(notes)
+
+# Les dépendances pour les pupitres.
+$(piece)-alto.pdf: $(piece)-alto.ly alto.ily
+$(piece)-cello.pdf: $(piece)-cello.ly cello.ily
+$(piece)-cor.pdf: $(piece)-cor.ly cor.ily
+$(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily
+$(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily
+$(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily
+
+# Lancer `make score' pour générer l'intégrale des quatre mouvements en
+# un seul fichier.
+.PHONY: score
+score: $(piece).pdf
+
+# Lancer `make parties' pour obtenir tous les pupitres.
+# Lancer `make toto.pdf' pour obtenir la partie instrumentale de toto.
+# Par exemple : `make symphonie-cello.pdf'.
+.PHONY: parties
+parties: $(piece)-cello.pdf \
+ $(piece)-violonUn.pdf \
+ $(piece)-violonDeux.pdf \
+ $(piece)-alto.pdf \
+ $(piece)-hautbois.pdf \
+ $(piece)-cor.pdf
+
+# Lancer `make mouvements' pour générer un fichier séparé pour chacun
+# des mouvements.
+.PHONY: mouvements
+mouvements: $(piece)I.pdf \
+ $(piece)II.pdf \
+ $(piece)III.pdf \
+ $(piece)IV.pdf
+
+all: score parties mouvements
+
+archive:
+ tar -cvvf symphonie.tar \ # cette ligne commence par une tabulation
+ --exclude=*pdf --exclude=*~ \
+ --exclude=*midi --exclude=*.tar \
+ ../Symphonie/*
+@end example
+
+
+Les choses se compliquent sous Windows. Une fois GNU Make pour Windows
+téléchargé et installé, il vous faudra correctement définir le chemin
+d'accès au programme @emph{Make} -- dans les variables d'environnement
+du système -- afin que l'interpréteur de commandes DOS puisse le
+localiser. Pour cela, faites un clic droite sur @qq{Poste de travail},
+choisissez @code{Propriétés} puis @code{Avancées}. Cliquez sur
+@code{Variables d'environnement} puis, dans l'onglet @w{@code{Variables
+système}}, mettez @code{path} en surbrillance et cliquez sur
+@code{Modifier}. Ajoutez alors le chemin d'accès complet à l'exécutable
+de GNU Make, qui devrait ressembler à :
+
+@example
+C:\Program Files\GnuWin32\bin
+@end example
+
+Il va également falloir adapter le @emph{makefile} aux particularités de
+l'interpréteur de commandes et à la présence d'espaces dans le nom de
+certains répertoire de ce système.
+La cible @code{archive} est tout bonnement supprimée, puisque Windows ne
+dispose pas de la commande @code{tar}. Enfin, les fichiers MIDI ont une
+extension par défaut propre à Windows.
+
+
+@example
+## VERSION POUR WINDOWS
+##
+piece = symphonie
+LILY_CMD = lilypond -ddelete-intermediate-files \
+ -dno-point-and-click \
+ -djob-count=$(NUMBER_OF_PROCESSORS)
+
+#get the 8.3 name of CURDIR (workaround for spaces in PATH)
+workdir = $(shell for /f "tokens=*" %%b in ("$(CURDIR)") \
+ do @@echo %%~sb)
+
+.SUFFIXES: .ly .ily .pdf .mid
+
+VPATH = \
+ $(workdir)/Partitions \
+ $(workdir)/PDF \
+ $(workdir)/Pupitress \
+ $(workdir)/Notes
+
+%.pdf %.mid: %.ly
+ $(LILY_CMD) $< # cette ligne commence par une tabulation
+ if exist "$*.pdf" move /Y "$*.pdf" PDF/ # tabulation au début
+ if exist "$*.mid" move /Y "$*.mid" MIDI/ # tabulation au début
+
+notes = \
+ cello.ily \
+ figures.ily \
+ cor.ily \
+ hautbois.ily \
+ trioCordes.ily \
+ alto.ily \
+ violonUn.ily \
+ violonDeux.ily
+
+$(piece)I.pdf: $(piece)I.ly $(notes)
+$(piece)II.pdf: $(piece)II.ly $(notes)
+$(piece)III.pdf: $(piece)III.ly $(notes)
+$(piece)IV.pdf: $(piece)IV.ly $(notes)
+
+$(piece).pdf: $(piece).ly $(notes)
+
+$(piece)-cello.pdf: $(piece)-cello.ly cello.ily
+$(piece)-cor.pdf: $(piece)-cor.ly cor.ily
+$(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily
+$(piece)-alto.pdf: $(piece)-alto.ly alto.ily
+$(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily
+$(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily
+
+.PHONY: score
+score: $(piece).pdf
+
+.PHONY: parties
+parties: $(piece)-cello.pdf \
+ $(piece)-violonUn.pdf \
+ $(piece)-violonDeux.pdf \
+ $(piece)-alto.pdf \
+ $(piece)-hautbois.pdf \
+ $(piece)-cor.pdf
+
+.PHONY: mouvements
+mouvements: $(piece)I.pdf \
+ $(piece)II.pdf \
+ $(piece)III.pdf \
+ $(piece)IV.pdf
+
+all: score parties mouvements
+@end example
+
+
+Le @emph{Makefile} suivant convient pour un document
+@command{lilypond-book} réalisé avec @LaTeX{}. Ce projet contiendra un
+index, ce qui nécessitera de lancer une deuxième fois @command{latex}
+pour mettre à jour les liens. Les fichiers résultants iront dans le
+répertoire @code{out} pour ce qui est des .pdf et dans le répertoire
+@code{htmlout} pour ce qui est du html.
+
+@example
+SHELL=/bin/sh
+FILE=monprojet
+OUTDIR=out
+WEBDIR=htmlout
+VIEWER=acroread
+BROWSER=firefox
+LILYBOOK_PDF=lilypond-book --output=$(OUTDIR) --pdf $(FILE).lytex
+LILYBOOK_HTML=lilypond-book --output=$(WEBDIR) $(FILE).lytex
+PDF=cd $(OUTDIR) && pdflatex $(FILE)
+HTML=cd $(WEBDIR) && latex2html $(FILE)
+INDEX=cd $(OUTDIR) && makeindex $(FILE)
+PREVIEW=$(VIEWER) $(OUTDIR)/$(FILE).pdf &
+
+all: pdf web keep
+
+pdf:
+ $(LILYBOOK_PDF) # tabulation en début de ligne
+ $(PDF) # tabulation en début de ligne
+ $(INDEX) # tabulation en début de ligne
+ $(PDF) # tabulation en début de ligne
+ $(PREVIEW) # tabulation en début de ligne
+
+web:
+ $(LILYBOOK_HTML) # tabulation en début de ligne
+ $(HTML) # tabulation en début de ligne
+ cp -R $(WEBDIR)/$(FILE)/ ./ # tabulation en début de ligne
+ $(BROWSER) $(FILE)/$(FILE).html & # tabulation en début de ligne
+
+keep: pdf
+ cp $(OUTDIR)/$(FILE).pdf $(FILE).pdf # tabulation en début de ligne
+
+clean:
+ rm -rf $(OUTDIR) # tabulation en début de ligne
+
+web-clean:
+ rm -rf $(WEBDIR) # tabulation en début de ligne
+
+archive:
+ tar -cvvf monprojet.tar \ # tabulation en début de ligne
+ --exclude=out/* \
+ --exclude=htmlout/* \
+ --exclude=monprojet/* \
+ --exclude=*midi \
+ --exclude=*pdf \
+ --exclude=*~ \
+ ../MonProjet/*
+@end example
+
+AVENIR: faire que ça marche sous Windows
+
+Ce @emph{makefile} n'est malheureusement pas opérationnel sous Windows.
+La seule alternative qui s'offre aux utilisateurs de Windows consiste à
+créer un fichier de traitement par lot (@code{.bat}) qui contienne les
+différentes commandes successives. Bien que cette manière de procéder
+ne tienne aucun compte des dépendances entre fichiers, elle permet de
+réduire le nombre de processus à lancer dans une seule commande. Vous
+devrez enregistrer les lignes suivantes dans un fichier
+@code{construire.bat} ou @code{construire.cmd}. Ce fichier pourra être
+exécuté soit en ligne de commande, soit par un double clic sur son
+icone.
+
+@example
+lilypond-book --output=out --pdf monprojet.lytex
+cd out
+pdflatex monprojet
+makeindex monprojet
+pdflatex monprojet
+cd ..
+copy out\monprojet.pdf MonProjet.pdf
+@end example
+
+
+@seealso
+Manuel d'utilisation :
+@ref{Utilisation en ligne de commande},
+@ref{LilyPond-book}
--- /dev/null
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
+@ignore
+ Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.12.0"
+
+@c Translators: Jean-Charles Malahieude
+@c Translation checkers:
+
+@node Mise à jour avec convert-ly
+@chapter Mise à jour avec @command{convert-ly}
+@translationof Updating files with convert-ly
+
+@cindex mise à jour de fichiers LilyPond
+@cindex convert-ly
+
+La syntaxe des fichiers LilyPond évolue avec le temps, que ce soit dans
+le but de la simplifier ou pour l'améliorer. Il en résulte que
+l'interpréteur de LilyPond se retrouve incapable de traîter d'anciens
+fichiers. L'utilitaire @command{convert-ly} permet cependant de
+mettre ces fichiers en conformité au fur et à mesure que de nouvelles
+versions de LilyPond sont disponibles.
+
+@menu
+* LilyPond une langue vivante::
+* Exécution de convert-ly::
+* Options en ligne de commande pour convert-ly::
+* Problèmes d'exécution de convert-ly::
+* Conversions manuelles::
+@end menu
+
+
+@node LilyPond une langue vivante
+@section LilyPond, une langue vivante
+@translationof Why does the syntax change?
+
+@cindex convert-ly
+@cindex mise à jour d'anciens fichiers
+
+La syntaxe de LilyPond change de temps en temps. Ces changements de
+syntaxe (le langage d'entrée) accompagnent les améliorations du
+logiciel. Ces changements sont parfois destinés à rendre les fichiers
+plus faciles à lire et à écrire, ou permettent d'intégrer de nouvelles
+fonctionnalités.
+
+Par exemple, tous les noms des propriétés de @code{\paper} et
+@code{\layout} devaient étre étaient libellées sous la forme
+@code{@w{premier-deuxième-troisième}}. Nous avons constaté, une fois la
+version 2.11.60 mise à disposition, que la propriété
+@code{printallheaders} ne respectait pas cette convention. Aurions-nous
+du la laisser telle que, au risque de dérouter les nouveaux utilisateurs
+par cette exception de formatage, ou bien la modifier -- ce qui allait
+obliger ceux qui l'avaient déjà utilisée à se mettre en chasse@tie{}?
+Pour ce cas d'espèce, nous avons décidé de changer pour
+@code{print-all-headers}. Cette modification peut heureusement être
+automatisée par notre utilitaire @command{convert-ly}.
+
+Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les
+modifications. Par exemple, dans les versions 2.4 et antérieures de
+LilyPond, les accents et les lettres non anglaises étaient entrées en
+utilisant LaTeX -- par exemple, @code{No\"el}. À partir de la version
+2.6, le caratère @code{ë} doit être entré directement dans le fichier
+LilyPond comme caractère UTF-8. @code{convert-ly} ne peut pas changer
+tous les caractères LaTeX en caractères UTF-8@tie{}; vous devez mettre à
+jour vos vieux fichiers LilyPond manuellement.
+
+
+@node Exécution de convert-ly
+@section Exécution de @command{convert-ly}
+@translationof Invoking convert-ly
+
+@command{convert-ly} utilise les mentions de @code{\version} -- que vous
+n'avez sûrement pas oublié de porter dans vos fichiers -- pour
+déterminer le numéro de l'ancienne version. Mettre à jour votre fichier
+ne vous demande que de lancer
+
+@example
+convert-ly -e monfichier.ly
+@end example
+
+@noindent
+dans le dossier où il se trouve. @code{monfichier.ly} sera mis à jour,
+et vous aurez une copie de l'original@tie{}: @code{monfichier.ly~}.
+
+@warning{@command{convert-ly} effectuera les conversions jusqu'aux
+modifications de syntaxe les plus récentes qu'il contient. C'est la
+raison pour laquelle le numéro de @code{@bs{}version} modifié est la
+plupart du temps inférieur au propre numéro de version de
+@command{convert-ly}.}
+
+Vous pouvez convertir tous les fichiers d'un dossier en lançant
+
+@example
+convert-ly -e *.ly
+@end example
+
+Vous pouvez aussi affecter un autre nom au fichier mis à jour et
+conserver votre fichier original en l'état@tie{}:
+
+@example
+convert-ly monfichier.ly > monnouveaufichier.ly
+@end example
+
+Le programme affichera les numéros de version correspondant aux
+différentes conversions effectuées. Si aucun numéro de version
+n'apparaît, considérez que le fichier ne comporte pas de syntaxe
+obsolète.
+
+Les utilisateurs de MacOS@tie{}X disposent d'une entrée spécifique dans
+le menu@tie{}: @code{Compile > Update syntax}.
+
+Si vous utilisez windows, ouvrez un interpréteur de commande en faisant
+@code{Démarrer > Accessoires > Interpréteur de commmandes}.
+
+
+@node Options en ligne de commande pour convert-ly
+@section Options en ligne de commande pour @command{convert-ly}
+@translationof Command line options for convert-ly
+
+L'utilitaire @command{convert-ly} se lance de la manière suivante@tie{}:
+
+@example
+convert-ly [@var{option}]@dots{} @var{fichier}@dots{}
+@end example
+
+Vous pouvez utiliser les options@tie{}:
+
+@table @code
+@item -e,--edit
+pour éditer directement le fichier d'origine.
+
+@item -f,--from=@var{from-patchlevel}
+pour définir le numéro de version à partir duquel vous voulez effectuer
+les conversions. Lorsque cette option n'est pas activée,
+@command{convert-ly} tentera de le déterminer sur la foi de la mention
+de @code{\version} contenue dans le fichier. Cette option s'utilise
+sous la forme@tie{}: @code{--from=2.10.25}
+
+@item -n,--no-version
+Normalement, @command{convert-ly} ajoutera une indication de
+@code{\version} à votre fichier s'il n'en comporte pas. Cette option
+permet de passer outre.
+
+@item -s, --show-rules
+pour afficher les conversions applicables.
+
+@item --to=@var{to-patchlevel}
+pour n'appliquer les conversions que jusqu'à une version déterminée. Il
+s'agit par défaut de la dernière version disponible. Cette option
+s'utilise sous la forme@tie{}: @code{--to=2.12.2}
+
+
+@item -h, --help
+visualiser l'aide et quitter.
+@end table
+
+Lorsqu'il s'agit de fragments inclus dans un fichier texinfo, il
+vous faudra lancer
+
+@example
+convert-ly --from=... --to=... --no-version *.itely
+@end example
+
+Lorsque vous désirez savoir quels changements de syntaxe sont intervenus
+entre deux versions de LilyPond, lancez
+
+@example
+convert-ly --from=@var{ancienne} --to=@var{récente} -s
+@end example
+
+
+@node Problèmes d'exécution de convert-ly
+@section Problèmes d'exécution de @code{convert-ly}
+@translationof Problems running convert-ly
+
+Sous Windows, lorsque le nom du fichier original ou le chemin qui y mène
+comporte des espaces, l'interpréteur de commande requiert qu'il soit
+entouré de triples guillemets comme ci-dessous@tie{}:
+
+@example
+convert-ly """D:/Mes Partitions/Ode.ly""" > "D:/Mes Partitions/nouveau Ode.ly"
+@end example
+
+Lorsque la commande @command{convert-ly -e *.ly} échoue parce que
+son expansion dépasse la taille maximale d'une ligne, vous pouvez lancer
+@command{convert-ly} dans une boucle. L'exemple suivant permet, sous
+Unix, de convertir tous les fichiers @code{.ly} d'un même
+répertoire@tie{}:
+
+@example
+for f in *.ly; do convert-ly -e $f; done;
+@end example
+
+Avec l'interpréteur de commandes de Windows, la syntaxe consacrée
+est@tie{}:
+
+@example
+for %x in (*.ly) do convert-ly -e """%x"""
+@end example
+
+Toutes les évolutions du langage ne sont pas forcément prises en charge.
+@command{convert-ly} ne tolère qu'une seule option de sortie à la fois.
+La mise à jour automatique du code Scheme inclus dans les fichiers
+LilyPond est plus qu'hasardeuse@tie{}; atendez-vous à devoir mettre les
+mains dans le cambouis.
+
+
+@node Conversions manuelles
+@section Conversions manuelles
+@translationof Manual conversions
+
+En théorie, un programme tel que @command{convert-ly} devrait pouvoir
+traîter n'importe quel changement de syntaxe. En effet, si un programme
+informatique sait interpréter aussi bien une version que l'autre, un
+autre programme informatique doit alors être capable de traduire un
+fichier donné
+@footnote{At least, this is possible in any LilyPond file which does not
+contain scheme. If there is scheme in the file, then the LilyPond file
+contains a Turing-complete language, and we run into problems with the
+famous @qq{Halting Problem} in computer science.}.
+
+Le projet LilyPond ne dispose cependant que de ressources
+limitées@tie{}: les conversions ne sont pas toutes automatisées. Voici
+une liste de problèmes clairement identifiés@tie{}:
+
+
+@verbatim
+1.6->2.0:
+ Doesn't always convert figured bass correctly, specifically things like {<
+>}. Mats' comment on working around this:
+ To be able to run convert-ly
+ on it, I first replaced all occurrences of '{<' to some dummy like '{#'
+ and similarly I replaced '>}' with '&}'. After the conversion, I could
+ then change back from '{ #' to '{ <' and from '& }' to '> }'.
+ Doesn't convert all text markup correctly. In the old markup syntax,
+ it was possible to group a number of markup commands together within
+parentheses, e.g.
+ -#'((bold italic) "string")
+ This will incorrectly be converted into
+ -\markup{{\bold italic} "string"}
+ instead of the correct
+ -\markup{\bold \italic "string"}
+2.0->2.2:
+ Doesn't handle \partcombine
+ Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple
+stanzas.
+2.0->2.4:
+ \magnify isn't changed to \fontsize.
+ - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
+ remove-tag isn't changed.
+ - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
+ first-page-number isn't changed.
+ - first-page-number no => print-first-page-number = ##f
+ Line breaks in header strings aren't converted.
+ - \\\\ as line break in \header strings => \markup \center-align <
+ "First Line" "Second Line" >
+ Crescendo and decrescendo terminators aren't converted.
+ - \rced => \!
+ - \rc => \!
+2.2->2.4:
+ \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly
+converted.
+2.4.2->2.5.9
+ \markup{ \center-align <{ ... }> } should be converted to:
+ \markup{ \center-align {\line { ... }} }
+ but now, \line is missing.
+2.4->2.6
+ Special LaTeX characters such as $~$ in text are not converted to UTF8.
+2.8
+ \score{} must now begin with a music expression. Anything else
+ (particularly \header{}) must come after the music.
+@end verbatim
+
+