]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/fr/usage/updating.itely
Adds version number to web page side bar (Issue 3367)
[lilypond.git] / Documentation / fr / usage / updating.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
2
3 @ignore
4     Translation of GIT committish: cb05c492cb84afc6704934fee31e62ebed217900
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.16.0"
12
13 @c Translators: Jean-Charles Malahieude
14 @c Translation checkers:
15
16 @node Mise à jour avec convert-ly
17 @chapter Mise à jour avec @command{convert-ly}
18 @translationof Updating files with convert-ly
19
20 @cindex mise à jour de fichiers LilyPond
21 @cindex convert-ly
22
23 La syntaxe des fichiers LilyPond évolue avec le temps, que ce soit dans
24 le but de la simplifier ou pour l'améliorer.  Il en résulte que
25 l'interpréteur de LilyPond se retrouve incapable de traiter d'anciens
26 fichiers.  L'utilitaire @command{convert-ly} permet cependant de
27 mettre ces fichiers en conformité au fur et à mesure que de nouvelles
28 versions de LilyPond sont disponibles.
29
30 @menu
31 * LilyPond est une langue vivante::
32 * Exécution de convert-ly::
33 * Options en ligne de commande pour convert-ly::
34 * Problèmes d'exécution de convert-ly::
35 * Conversions manuelles::
36 @end menu
37
38
39 @node LilyPond est une langue vivante
40 @section LilyPond est une langue vivante
41 @translationof Why does the syntax change?
42
43 @cindex convert-ly
44 @cindex mise à jour d'anciens fichiers
45
46 La syntaxe de LilyPond change de temps en temps.  Ces changements de
47 syntaxe -- le langage d'entrée -- accompagnent les améliorations du
48 logiciel.  Ces changements sont parfois destinés à rendre les fichiers
49 plus faciles à lire et à écrire, ou permettent d'intégrer de nouvelles
50 fonctionnalités.
51
52 Par exemple, tous les noms des propriétés de @code{\paper} et
53 @code{\layout} devaient être libellées sous la forme
54 @code{@w{premier-deuxième-troisième}}.  Nous avons constaté, une fois la
55 version 2.11.60 mise à disposition, que la propriété
56 @code{printallheaders} ne respectait pas cette convention.  Aurions-nous
57 dû la laisser telle que, au risque de dérouter les nouveaux utilisateurs
58 par cette exception au formatage, ou bien la modifier -- ce qui allait
59 obliger ceux qui l'avaient déjà utilisée à se mettre en chasse ?
60 Pour ce cas d'espèce, nous avons décidé de changer pour
61 @code{print-all-headers}.  Cette modification peut heureusement être
62 automatisée par notre utilitaire @command{convert-ly}.
63
64 Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les
65 modifications.  Par exemple, dans les versions 2.4 et antérieures de
66 LilyPond, les accents et les lettres non anglaises étaient entrées en
67 utilisant @LaTeX{} -- par exemple, @code{No\"el}.  À partir de la
68 version 2.6, le caractère @code{ë} doit être entré directement dans
69 le fichier LilyPond comme caractère UTF-8.  @code{convert-ly} ne peut
70 pas changer tous les caractères @LaTeX{} en caractères UTF-8 ; vous
71 devez mettre à jour vos vieux fichiers LilyPond manuellement.
72
73
74 @node Exécution de convert-ly
75 @section Exécution de @command{convert-ly}
76 @translationof Invoking convert-ly
77
78 @command{convert-ly} utilise les mentions de @code{\version} -- que vous
79 n'avez sûrement pas oublié de porter dans vos fichiers --  pour
80 déterminer le numéro de l'ancienne version.  Mettre à jour votre fichier
81 ne vous demande que de lancer
82
83 @example
84 convert-ly -e monfichier.ly
85 @end example
86
87 @noindent
88 dans le dossier où il se trouve.  @file{monfichier.ly} sera mis à jour,
89 et vous aurez une copie de l'original : @file{monfichier.ly~}.
90
91 @warning{@command{convert-ly} effectuera les conversions jusqu'aux
92 modifications de syntaxe les plus récentes qu'il contient.  C'est la
93 raison pour laquelle le numéro de @code{@bs{}version} modifié est la
94 plupart du temps inférieur au propre numéro de version de
95 @command{convert-ly}.}
96
97 Vous pouvez convertir tous les fichiers d'un dossier en lançant
98
99 @example
100 convert-ly -e *.ly
101 @end example
102
103 Vous pouvez aussi affecter un autre nom au fichier mis à jour et
104 conserver votre fichier original en l'état :
105
106 @example
107 convert-ly monfichier.ly > monnouveaufichier.ly
108 @end example
109
110 Le programme affichera les numéros de version correspondant aux
111 différentes conversions effectuées.  Si aucun numéro de version
112 n'apparaît, considérez que le fichier ne comporte pas de syntaxe
113 obsolète.
114
115 Les utilisateurs de MacOS X disposent d'une entrée spécifique dans
116 le menu : @code{Compile > Update syntax}.
117
118 Si vous utilisez windows, ouvrez un interpréteur de commande en faisant
119 @code{Démarrer > Accessoires > Interpréteur de commandes}.
120
121
122 @node Options en ligne de commande pour convert-ly
123 @section Options en ligne de commande pour @command{convert-ly}
124 @translationof Command line options for convert-ly
125
126 L'utilitaire @command{convert-ly} se lance de la manière suivante :
127
128 @example
129 convert-ly [@var{option}]@dots{} @var{fichier}@dots{}
130 @end example
131
132 Vous pouvez utiliser les options :
133
134 @table @code
135 @item -d, --diff-version-update
136 actualise la valeur de @code{\version} à la plus récente,
137 uniquement si elle est supérieure à celle du fichier.
138
139 @item -e,--edit
140 pour éditer directement le fichier d'origine.
141
142 @item -f, --from=@var{from-patchlevel}
143 pour définir le numéro de version à partir duquel vous voulez effectuer
144 les conversions.  Lorsque cette option n'est pas activée,
145 @command{convert-ly} tentera de le déterminer sur la foi de la mention
146 de @code{\version} contenue dans le fichier.  Cette option s'utilise
147 sous la forme : @code{--from=2.10.25}
148
149 @item -h, --help
150 visualiser l'aide et quitter.
151
152 @item -l @var{loglevel}, --loglevel=@var{loglevel}
153 pour régler le degré de verbosité à @var{loglevel}.  Les différentes
154 valeurs sont @code{NONE}, @code{ERROR}, @code{WARNING}, @code{PROGRESS}
155 (par défaut) et @code{DEBUG}.
156
157 @item -n, --no-version
158 Normalement, @command{convert-ly} ajoutera une indication de
159 @code{\version} à votre fichier s'il n'en comporte pas.  Cette option
160 permet de passer outre.
161
162 @item -s, --show-rules
163 pour afficher les conversions applicables.
164
165 @item -t, --to=@var{to-patchlevel}
166 pour n'appliquer les conversions que jusqu'à une version déterminée.  Il
167 s'agit par défaut de la dernière version disponible.
168
169 @example
170 convert-ly --to=2.14.1 monfichier.ly
171 @end example
172  
173 @end table
174
175 Lorsqu'il s'agit de fragments inclus dans un fichier texinfo, il
176 vous faudra lancer
177
178 @example
179 convert-ly --from=... --to=... --no-version *.itely
180 @end example
181
182 Lorsque vous désirez savoir quels changements de syntaxe sont intervenus
183 entre deux versions de LilyPond, lancez
184
185 @example
186 convert-ly --from=@var{ancienne} --to=@var{récente} -s
187 @end example
188
189
190 @node Problèmes d'exécution de convert-ly
191 @section Problèmes d'exécution de @code{convert-ly}
192 @translationof Problems running convert-ly
193
194 Sous Windows, lorsque le nom du fichier original ou le chemin qui y mène
195 comporte des espaces, l'interpréteur de commande requiert qu'il soit
196 entouré de triples guillemets comme ci-dessous :
197
198 @example
199 convert-ly """D:/Mes Partitions/Ode.ly""" > "D:/Mes Partitions/nouveau Ode.ly"
200 @end example
201
202 Lorsque la commande @command{convert-ly -e *.ly} échoue parce que
203 son expansion dépasse la taille maximale d'une ligne, vous pouvez lancer
204 @command{convert-ly} dans une boucle.  L'exemple suivant permet, sous
205 Unix, de convertir tous les fichiers @file{.ly} d'un même répertoire :
206
207 @example
208 for f in *.ly; do convert-ly -e $f; done;
209 @end example
210
211 Avec l'interpréteur de commandes de Windows, la syntaxe consacrée est :
212
213 @example
214 for %x in (*.ly) do convert-ly -e """%x"""
215 @end example
216
217 Toutes les évolutions du langage ne sont pas forcément prises en charge.
218 @command{convert-ly} ne tolère qu'une seule option de sortie à la fois.
219 La mise à jour automatique du code Scheme inclus dans les fichiers
220 LilyPond est plus qu'hasardeuse ; attendez-vous à devoir mettre les
221 mains dans le cambouis.
222
223
224 @node Conversions manuelles
225 @section Conversions manuelles
226 @translationof Manual conversions
227
228 En théorie, un programme tel que @command{convert-ly} devrait pouvoir
229 traiter n'importe quel changement de syntaxe.  En effet, si un programme
230 informatique sait interpréter aussi bien une version que l'autre, un
231 autre programme informatique doit alors être capable de traduire un
232 fichier donné@footnote{Ceci est réalisable tant que le fichier LilyPond
233 ne contient pas de Scheme.  Dès lors qu'un fichier contient du Scheme,
234 des bribes de langage évolué se retrouvent danas le fichier LilyPond, ce
235 qui conduit immanquablement au « problème de l'arrêt » bien connu en
236 informatique.}. 
237
238 Le projet LilyPond ne dispose cependant que de ressources limitées : les
239 conversions ne sont pas toutes automatisées.  Voici une liste de
240 problèmes clairement identifiés :
241
242
243 @verbatim
244 1.6->2.0:
245  Doesn't always convert figured bass correctly, specifically things like {<
246 >}.  Mats' comment on working around this:
247    To be able to run convert-ly
248    on it, I first replaced all occurrences of '{<' to some dummy like '{#'
249    and similarly I replaced '>}' with '&}'.  After the conversion, I could
250    then change back from '{ #' to '{ <' and from '& }' to '> }'.
251  Doesn't convert all text markup correctly.  In the old markup syntax,
252  it was possible to group a number of markup commands together within
253 parentheses, e.g.
254    -#'((bold italic) "string")
255    This will incorrectly be converted into
256    -\markup{{\bold italic} "string"}
257    instead of the correct
258    -\markup{\bold \italic "string"}
259 2.0->2.2:
260  Doesn't handle \partcombine
261  Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple
262 stanzas.
263 2.0->2.4:
264  \magnify isn't changed to \fontsize.
265     - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
266  remove-tag isn't changed.
267     - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
268  first-page-number isn't changed.
269     - first-page-number no => print-first-page-number = ##f
270  Line breaks in header strings aren't converted.
271     - \\\\  as line break in \header strings => \markup \center-align <
272       "First Line" "Second Line" >
273  Crescendo and decrescendo terminators aren't converted.
274     - \rced => \!
275     - \rc => \!
276 2.2->2.4:
277  \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly
278 converted.
279 2.4.2->2.5.9
280  \markup{ \center-align <{ ... }> } should be converted to:
281  \markup{ \center-align {\line { ... }} }
282  but now, \line is missing.
283 2.4->2.6
284  Special LaTeX characters such as $~$ in text are not converted to UTF8.
285 2.8
286  \score{} must now begin with a music expression.  Anything else
287  (particularly \header{}) must come after the music.
288 @end verbatim
289
290