Commit | Line | Data |
---|---|---|
bf5c74e7 JL |
1 | # SOME DESCRIPTIVE TITLE |
2 | # Copyright (C) YEAR Free Software Foundation, Inc. | |
3 | # This file is distributed under the same license as the PACKAGE package. | |
4 | # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | |
5 | # | |
6 | msgid "" | |
7 | msgstr "" | |
8 | "Project-Id-Version: \n" | |
9 | "POT-Creation-Date: 2018-04-10 21:34+0200\n" | |
10 | "PO-Revision-Date: 2018-04-19 18:50+0200\n" | |
11 | "Last-Translator: Julien Lepiller <julien@lepiller.eu>\n" | |
12 | "Language-Team: \n" | |
13 | "Language: fr\n" | |
14 | "MIME-Version: 1.0\n" | |
15 | "Content-Type: text/plain; charset=UTF-8\n" | |
16 | "Content-Transfer-Encoding: 8bit\n" | |
17 | "X-Generator: Poedit 2.0.6\n" | |
18 | ||
19 | #. type: chapter | |
20 | #: doc/contributing.texi:1 doc/contributing.texi:2 | |
21 | #, no-wrap | |
22 | msgid "Contributing" | |
23 | msgstr "Contribuer" | |
24 | ||
25 | #. type: Plain text | |
26 | #: doc/contributing.texi:9 | |
27 | msgid "" | |
28 | "This project is a cooperative effort, and we need your help to make it grow! " | |
29 | "Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} on " | |
30 | "the Freenode IRC network. We welcome ideas, bug reports, patches, and " | |
31 | "anything that may be helpful to the project. We particularly welcome help on " | |
32 | "packaging (@pxref{Packaging Guidelines})." | |
33 | msgstr "" | |
34 | "Ce projet est un effort coopératif et nous avons besoin de votre aide pour le " | |
35 | "faire grandir ! Contactez-nous sur @email{guix-devel@@gnu.org} et @code{#guix} " | |
36 | "sur le réseau IRC Freenode. Nous accueillons les idées, les rapports de " | |
37 | "bogues, les correctifs et tout ce qui pourrait aider le projet. Nous " | |
38 | "apprécions particulièrement toute aide sur la création de paquets " | |
39 | "(@pxref{Consignes d'empaquetage})." | |
40 | ||
41 | #. type: cindex | |
42 | #: doc/contributing.texi:10 | |
43 | #, no-wrap | |
44 | msgid "code of conduct, of contributors" | |
45 | msgstr "code de conduite, des contributeurs" | |
46 | ||
47 | #. type: cindex | |
48 | #: doc/contributing.texi:11 | |
49 | #, no-wrap | |
50 | msgid "contributor covenant" | |
51 | msgstr "convention de contribution" | |
52 | ||
53 | #. type: Plain text | |
54 | #: doc/contributing.texi:17 | |
55 | msgid "" | |
56 | "We want to provide a warm, friendly, and harassment-free environment, so that " | |
57 | "anyone can contribute to the best of their abilities. To this end our project " | |
58 | "uses a ``Contributor Covenant'', which was adapted from @url{http://" | |
59 | "contributor-covenant.org/}. You can find a local version in the @file{CODE-OF-" | |
60 | "CONDUCT} file in the source tree." | |
61 | msgstr "" | |
62 | "Nous souhaitons fournir un environnement chaleureux, amical et sans " | |
63 | "harcèlement pour que tout le monde puisse contribuer au mieux de ses " | |
64 | "capacités. Pour cela notre projet a une « Convention de contribution » adaptée " | |
65 | "de @url{http://contributor-covenant.org/}. Vous pouvez trouver une version " | |
66 | "locale dans le fichier @file{CODE-OF-CONDUCT} dans l'arborescence des sources." | |
67 | ||
68 | #. type: Plain text | |
69 | #: doc/contributing.texi:21 | |
70 | msgid "" | |
71 | "Contributors are not required to use their legal name in patches and on-line " | |
72 | "communication; they can use any name or pseudonym of their choice." | |
73 | msgstr "" | |
74 | "Les contributeurs n'ont pas besoin d'utiliser leur nom légal dans leurs " | |
75 | "correctifs et leurs communications en ligne ; ils peuvent utiliser n'importe " | |
76 | "quel nom ou pseudonyme de leur choix." | |
77 | ||
78 | #. type: section | |
79 | #: doc/contributing.texi:28 doc/contributing.texi:30 doc/contributing.texi:31 | |
80 | #, no-wrap | |
81 | msgid "Building from Git" | |
82 | msgstr "Construire depuis Git" | |
83 | ||
84 | #. type: menuentry | |
85 | #: doc/contributing.texi:28 | |
86 | msgid "The latest and greatest." | |
87 | msgstr "" | |
88 | ||
89 | #. type: section | |
90 | #: doc/contributing.texi:28 doc/contributing.texi:102 doc/contributing.texi:103 | |
91 | #, no-wrap | |
92 | msgid "Running Guix Before It Is Installed" | |
93 | msgstr "Lancer Guix avant qu'il ne soit installé" | |
94 | ||
95 | #. type: menuentry | |
96 | #: doc/contributing.texi:28 | |
97 | msgid "Hacker tricks." | |
98 | msgstr "Astuces pour les hackers." | |
99 | ||
100 | #. type: section | |
101 | #: doc/contributing.texi:28 doc/contributing.texi:169 doc/contributing.texi:170 | |
102 | #, no-wrap | |
103 | msgid "The Perfect Setup" | |
104 | msgstr "La configuration parfaite" | |
105 | ||
106 | #. type: menuentry | |
107 | #: doc/contributing.texi:28 | |
108 | msgid "The right tools." | |
109 | msgstr "Les bons outils." | |
110 | ||
111 | #. type: section | |
112 | #: doc/contributing.texi:28 doc/contributing.texi:228 doc/contributing.texi:229 | |
113 | #, no-wrap | |
114 | msgid "Coding Style" | |
115 | msgstr "Style de code" | |
116 | ||
117 | #. type: menuentry | |
118 | #: doc/contributing.texi:28 | |
119 | msgid "Hygiene of the contributor." | |
120 | msgstr "Hygiène du contributeur." | |
121 | ||
122 | #. type: section | |
123 | #: doc/contributing.texi:28 doc/contributing.texi:319 doc/contributing.texi:320 | |
124 | #, no-wrap | |
125 | msgid "Submitting Patches" | |
126 | msgstr "Envoyer des correctifs" | |
127 | ||
128 | #. type: menuentry | |
129 | #: doc/contributing.texi:28 | |
130 | msgid "Share your work." | |
131 | msgstr "Partager votre travail." | |
132 | ||
133 | #. type: Plain text | |
134 | #: doc/contributing.texi:35 | |
135 | msgid "" | |
136 | "If you want to hack Guix itself, it is recommended to use the latest version " | |
137 | "from the Git repository:" | |
138 | msgstr "" | |
139 | "Si vous souhaitez travailler sur Guix lui-même, il est recommandé d'utiliser " | |
140 | "la dernière version du dépôt Git :" | |
141 | ||
142 | #. type: example | |
143 | #: doc/contributing.texi:38 | |
144 | #, no-wrap | |
145 | msgid "git clone https://git.savannah.gnu.org/git/guix.git\n" | |
146 | msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n" | |
147 | ||
148 | #. type: Plain text | |
149 | #: doc/contributing.texi:43 | |
150 | msgid "" | |
151 | "When building Guix from a checkout, the following packages are required in " | |
152 | "addition to those mentioned in the installation instructions " | |
153 | "(@pxref{Requirements})." | |
154 | msgstr "" | |
155 | "Lors de la construction de Guix depuis un extrait, les paquets suivants sont " | |
156 | "requis en plus de ceux mentionnés dans les instructions d'installation " | |
157 | "(@pxref{Prérequis})." | |
158 | ||
159 | #. type: item | |
160 | #: doc/contributing.texi:45 | |
161 | #, no-wrap | |
162 | msgid "@url{http://gnu.org/software/autoconf/, GNU Autoconf};" | |
163 | msgstr "@url{http://gnu.org/software/autoconf/, GNU Autoconf};" | |
164 | ||
165 | #. type: item | |
166 | #: doc/contributing.texi:46 | |
167 | #, no-wrap | |
168 | msgid "@url{http://gnu.org/software/automake/, GNU Automake};" | |
169 | msgstr "@url{http://gnu.org/software/automake/, GNU Automake};" | |
170 | ||
171 | #. type: item | |
172 | #: doc/contributing.texi:47 | |
173 | #, no-wrap | |
174 | msgid "@url{http://gnu.org/software/gettext/, GNU Gettext};" | |
175 | msgstr "@url{http://gnu.org/software/gettext/, GNU Gettext};" | |
176 | ||
177 | #. type: item | |
178 | #: doc/contributing.texi:48 | |
179 | #, no-wrap | |
180 | msgid "@url{http://gnu.org/software/texinfo/, GNU Texinfo};" | |
181 | msgstr "@url{http://gnu.org/software/texinfo/, GNU Texinfo};" | |
182 | ||
183 | #. type: item | |
184 | #: doc/contributing.texi:49 | |
185 | #, no-wrap | |
186 | msgid "@url{http://www.graphviz.org/, Graphviz};" | |
187 | msgstr "@url{http://www.graphviz.org/, Graphviz};" | |
188 | ||
189 | #. type: item | |
190 | #: doc/contributing.texi:50 | |
191 | #, no-wrap | |
192 | msgid "@url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}." | |
193 | msgstr "@url{http://www.gnu.org/software/help2man/, GNU Help2man (facultatif)}." | |
194 | ||
195 | #. type: Plain text | |
196 | #: doc/contributing.texi:57 | |
197 | msgid "" | |
198 | "The easiest way to set up a development environment for Guix is, of course, by " | |
199 | "using Guix! The following command starts a new shell where all the " | |
200 | "dependencies and appropriate environment variables are set up to hack on Guix:" | |
201 | msgstr "" | |
202 | "La manière la plus simple de configurer un environnement de développement pour " | |
203 | "Guix est, bien sûr, d'utiliser Guix ! La commande suivante démarre un nouveau " | |
204 | "shell où toutes les dépendances et les variables d'environnements appropriées " | |
205 | "sont configurés pour travailler sur Guix :" | |
206 | ||
207 | #. type: example | |
208 | #: doc/contributing.texi:60 | |
209 | #, no-wrap | |
210 | msgid "guix environment guix\n" | |
211 | msgstr "guix environment guix\n" | |
212 | ||
213 | #. type: Plain text | |
214 | #: doc/contributing.texi:64 | |
215 | msgid "" | |
216 | "@xref{Invoking guix environment}, for more information on that command. Extra " | |
217 | "dependencies can be added with @option{--ad-hoc}:" | |
218 | msgstr "" | |
219 | "@xref{Invoquer guix environment}, pour plus d'information sur cette commande. " | |
220 | "On peut ajouter des dépendances supplémentaires avec @option{--ad-hoc} :" | |
221 | ||
222 | #. type: example | |
223 | #: doc/contributing.texi:67 | |
224 | #, no-wrap | |
225 | msgid "guix environment guix --ad-hoc help2man git strace\n" | |
226 | msgstr "guix environment guix --ad-hoc help2man git strace\n" | |
227 | ||
228 | #. type: Plain text | |
229 | #: doc/contributing.texi:71 | |
230 | msgid "" | |
231 | "Run @command{./bootstrap} to generate the build system infrastructure using " | |
232 | "Autoconf and Automake. If you get an error like this one:" | |
233 | msgstr "" | |
234 | "Lancez @command{./bootstrap} pour générer l'infrastructure du système de " | |
235 | "construction avec Autoconf et Automake. Si vous avez une erreur comme :" | |
236 | ||
237 | #. type: example | |
238 | #: doc/contributing.texi:74 | |
239 | #, no-wrap | |
240 | msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" | |
241 | msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" | |
242 | ||
243 | #. type: Plain text | |
244 | #: doc/contributing.texi:83 | |
245 | msgid "" | |
246 | "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is provided " | |
247 | "by pkg-config. Make sure that @file{pkg.m4} is available. The same holds for " | |
248 | "the @file{guile.m4} set of macros provided by Guile. For instance, if you " | |
249 | "installed Automake in @file{/usr/local}, it wouldn’t look for @file{.m4} files " | |
250 | "in @file{/usr/share}. In that case, you have to invoke the following command:" | |
251 | msgstr "" | |
252 | "cela signifie probablement qu'Autoconf n'a pas pu trouver @file{pkg.m4} qui " | |
253 | "est fournit par pkg-config. Assurez-vous que @file{pkg.m4} est disponible. " | |
254 | "C'est aussi vrai pour l'ensemble de macros de @file{guile.m4} fournies par " | |
255 | "Guile. Par exemple, si vous avez installé Automake dans @file{/usr/local}, il " | |
256 | "ne cherchera pas les fichiers @file{.m4} dans @file{/usr/share}. Dans ce case " | |
257 | "vous devez invoquer la commande suivante :" | |
258 | ||
259 | #. type: example | |
260 | #: doc/contributing.texi:86 | |
261 | #, no-wrap | |
262 | msgid "export ACLOCAL_PATH=/usr/share/aclocal\n" | |
263 | msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n" | |
264 | ||
265 | #. type: Plain text | |
266 | #: doc/contributing.texi:90 | |
267 | msgid "" | |
268 | "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more " | |
269 | "information." | |
270 | msgstr "" | |
271 | "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, pour plus " | |
272 | "d'information." | |
273 | ||
274 | #. type: Plain text | |
275 | #: doc/contributing.texi:95 | |
276 | msgid "" | |
277 | "Then, run @command{./configure} as usual. Make sure to pass @code{--" | |
278 | "localstatedir=@var{directory}} where @var{directory} is the " | |
279 | "@code{localstatedir} value used by your current installation (@pxref{The " | |
280 | "Store}, for information about this)." | |
281 | msgstr "" | |
282 | "Ensuite, lancez @command{./configure} comme d'habitude. Assurez-vous de passer " | |
283 | "@code{--localstatedir=@var{directory}} où @var{directory} est la valeur " | |
284 | "@code{localstatedir} utilisée par votre installation actuelle (@pxref{Le " | |
285 | "dépôt} pour plus d'informations à ce propos)." | |
286 | ||
287 | #. type: Plain text | |
288 | #: doc/contributing.texi:100 | |
289 | msgid "" | |
290 | "Finally, you have to invoke @code{make check} to run tests (@pxref{Running the " | |
291 | "Test Suite}). If anything fails, take a look at installation instructions " | |
292 | "(@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, " | |
293 | "mailing list}." | |
294 | msgstr "" | |
295 | "Finalement, vous devez invoquer @code{make check} pour lancer les tests " | |
296 | "(@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil aux " | |
297 | "instructions d'installation (@pxref{Installation}) ou envoyez un message à la " | |
298 | "list @email{guix-devel@@gnu.org}." | |
299 | ||
300 | #. type: Plain text | |
301 | #: doc/contributing.texi:109 | |
302 | msgid "" | |
303 | "In order to keep a sane working environment, you will find it useful to test " | |
304 | "the changes made in your local source tree checkout without actually " | |
305 | "installing them. So that you can distinguish between your ``end-user'' hat " | |
306 | "and your ``motley'' costume." | |
307 | msgstr "" | |
308 | "Pour garder un environnement de travail sain, il est utile de tester les " | |
309 | "changement localement sans les installer pour de vrai. Pour pouvoir distinguer " | |
310 | "votre rôle « d'utilisateur final » de celui parfois haut en couleur de « " | |
311 | "développeur »." | |
312 | ||
313 | #. type: Plain text | |
314 | #: doc/contributing.texi:117 | |
315 | msgid "" | |
316 | "To that end, all the command-line tools can be used even if you have not run " | |
317 | "@code{make install}. To do that, prefix each command with @command{./pre-inst-" | |
318 | "env} (the @file{pre-inst-env} script lives in the top build tree of Guix), as " | |
319 | "in@footnote{The @option{-E} flag to @command{sudo} guarantees that " | |
320 | "@code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and " | |
321 | "the tools it uses can find the Guile modules they need.}:" | |
322 | msgstr "" | |
323 | "Pour cela, tous les outils en ligne de commande sont utilisables même sans " | |
324 | "avoir lancé @code{make install}. Vous devez pour cela préfixer chaque commande " | |
325 | "par @command{./pre-inst-env} (le script @file{pre-inst-env} se trouve dans le " | |
326 | "répertoire de plus haut niveau de l'arborescence des sources de Guix) comme " | |
327 | "cela@footnote{L'option @option{-E} de @command{sudo} garantie que " | |
328 | "@code{GUILE_LOAD_PATH} est bien paramétré pour @command{guix-daemon} et les " | |
329 | "outils qu'il utilise puissent trouver les modules Guile dont ils ont besoin.} :" | |
330 | ||
331 | #. type: example | |
332 | #: doc/contributing.texi:121 | |
333 | #, no-wrap | |
334 | msgid "" | |
335 | "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" | |
336 | "$ ./pre-inst-env guix build hello\n" | |
337 | msgstr "" | |
338 | "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" | |
339 | "$ ./pre-inst-env guix build hello\n" | |
340 | ||
341 | #. type: Plain text | |
342 | #: doc/contributing.texi:125 | |
343 | msgid "Similarly, for a Guile session using the Guix modules:" | |
344 | msgstr "De même, pour une session Guile qui utilise les modules Guix :" | |
345 | ||
346 | #. type: example | |
347 | #: doc/contributing.texi:128 | |
348 | #, no-wrap | |
349 | msgid "" | |
350 | "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" | |
351 | "\n" | |
352 | msgstr "" | |
353 | "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" | |
354 | "\n" | |
355 | ||
356 | #. type: example | |
357 | #: doc/contributing.texi:130 | |
358 | #, no-wrap | |
359 | msgid ";;; (\"x86_64-linux\")\n" | |
360 | msgstr ";;; (\"x86_64-linux\")\n" | |
361 | ||
362 | #. type: cindex | |
363 | #: doc/contributing.texi:133 | |
364 | #, no-wrap | |
365 | msgid "REPL" | |
366 | msgstr "REPL" | |
367 | ||
368 | #. type: cindex | |
369 | #: doc/contributing.texi:134 | |
370 | #, no-wrap | |
371 | msgid "read-eval-print loop" | |
372 | msgstr "read-eval-print loop" | |
373 | ||
374 | #. type: Plain text | |
375 | #: doc/contributing.texi:137 | |
376 | msgid "" | |
377 | "@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile " | |
378 | "Reference Manual}):" | |
379 | msgstr "" | |
380 | "@dots{} et pour un REPL (@pxref{Using Guile Interactively,,, guile, Guile " | |
381 | "Reference Manual})" | |
382 | ||
383 | #. type: example | |
384 | #: doc/contributing.texi:152 | |
385 | #, no-wrap | |
386 | msgid "" | |
387 | "$ ./pre-inst-env guile\n" | |
388 | "scheme@@(guile-user)> ,use(guix)\n" | |
389 | "scheme@@(guile-user)> ,use(gnu)\n" | |
390 | "scheme@@(guile-user)> (define snakes\n" | |
391 | " (fold-packages\n" | |
392 | " (lambda (package lst)\n" | |
393 | " (if (string-prefix? \"python\"\n" | |
394 | " (package-name package))\n" | |
395 | " (cons package lst)\n" | |
396 | " lst))\n" | |
397 | " '()))\n" | |
398 | "scheme@@(guile-user)> (length snakes)\n" | |
399 | "$1 = 361\n" | |
400 | msgstr "" | |
401 | "$ ./pre-inst-env guile\n" | |
402 | "scheme@@(guile-user)> ,use(guix)\n" | |
403 | "scheme@@(guile-user)> ,use(gnu)\n" | |
404 | "scheme@@(guile-user)> (define snakes\n" | |
405 | " (fold-packages\n" | |
406 | " (lambda (package lst)\n" | |
407 | " (if (string-prefix? \"python\"\n" | |
408 | " (package-name package))\n" | |
409 | " (cons package lst)\n" | |
410 | " lst))\n" | |
411 | " '()))\n" | |
412 | "scheme@@(guile-user)> (length snakes)\n" | |
413 | "$1 = 361\n" | |
414 | ||
415 | #. type: Plain text | |
416 | #: doc/contributing.texi:156 | |
417 | msgid "" | |
418 | "The @command{pre-inst-env} script sets up all the environment variables " | |
419 | "necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}." | |
420 | msgstr "" | |
421 | "Le script @command{pre-inst-env} paramètre toutes les variables " | |
422 | "d'environnement nécessaires, dont @env{PATH} et @env{GUILE_LOAD_PATH}." | |
423 | ||
424 | #. type: Plain text | |
425 | #: doc/contributing.texi:167 | |
426 | msgid "" | |
427 | "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local " | |
428 | "source tree; it simply updates the @file{~/.config/guix/latest} symlink " | |
429 | "(@pxref{Invoking guix pull}). Run @command{git pull} instead if you want to " | |
430 | "upgrade your local source tree.@footnote{If you would like to set up " | |
431 | "@command{guix} to use your Git checkout, you can point the @file{~/.config/" | |
432 | "guix/latest} symlink to your Git checkout directory. If you are the sole user " | |
433 | "of your system, you may also consider pointing the @file{/root/.config/guix/" | |
434 | "latest} symlink to point to @file{~/.config/guix/latest}; this way it will " | |
435 | "always use the same @command{guix} as your user does.}" | |
436 | msgstr "" | |
437 | "Remarquez que @command{./pre-inst-env guix pull} ne met @emph{pas} à jour " | |
438 | "l'arborescence des sources locale ; il met seulement à jour le lien symbolique " | |
439 | "@file{~/.config/guix/latest} (@pxref{Invoquer guix pull}). Lancez @command{git " | |
440 | "pull} à la place si vous voulez mettre à jour votre arborescence des sources " | |
441 | "locale@footnote{Si vous voulez paramétrer @command{guix} pour qu'il utilise " | |
442 | "votre dépôt Git, vous pouvez faire pointer le lien symbolique @file{~/.config/" | |
443 | "guix/latest} vers le répertoire contenant ce dépôt. Si vous le seul " | |
444 | "utilisateur du système, vous pouvez aussi considérer faire pointer le lien " | |
445 | "symbolique @file{/root/.config/guix/latest} vers @file{~/.config/guix/" | |
446 | "latest} ; comme ça root aura toujours la même commande @command{guix} que " | |
447 | "votre utilisateur}." | |
448 | ||
449 | #. type: Plain text | |
450 | #: doc/contributing.texi:177 | |
451 | msgid "" | |
452 | "The Perfect Setup to hack on Guix is basically the perfect setup used for " | |
453 | "Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference " | |
454 | "Manual}). First, you need more than an editor, you need @url{http://www.gnu." | |
455 | "org/software/emacs, Emacs}, empowered by the wonderful @url{http://nongnu.org/" | |
456 | "geiser/, Geiser}." | |
457 | msgstr "" | |
458 | "La configuration parfaite pour travailler sur Guix est simplement la " | |
459 | "configuration parfaite pour travailler en Guile (@pxref{Using Guile in " | |
460 | "Emacs,,, guile, Guile Reference Manual}). Tout d'abord, vous avez besoin de " | |
461 | "mieux qu'un éditeur de texte, vous avez besoin de @url{http://www.gnu.org/" | |
462 | "software/emacs, Emacs}, amélioré par le superbe @url{http://nongnu.org/" | |
463 | "geiser/, Geiser}." | |
464 | ||
465 | #. type: Plain text | |
466 | #: doc/contributing.texi:185 | |
467 | msgid "" | |
468 | "Geiser allows for interactive and incremental development from within Emacs: " | |
469 | "code compilation and evaluation from within buffers, access to on-line " | |
470 | "documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to " | |
471 | "an object definition, a REPL to try out your code, and more " | |
472 | "(@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix " | |
473 | "development, make sure to augment Guile’s load path so that it finds source " | |
474 | "files from your checkout:" | |
475 | msgstr "" | |
476 | "Geiser permet le développement interactif et incrémental depuis Emacs : la " | |
477 | "compilation du code et son évaluation depuis les buffers, l'accès à la " | |
478 | "documentation en ligne (docstrings), la complétion sensible au contexte, " | |
479 | "@kbd{M-.} pour sauter à la définition d'un objet, un REPL pour tester votre " | |
480 | "code, et bien plus (@pxref{Introduction,,, geiser, Geiser User Manual}). Pour " | |
481 | "travailler confortablement sur Guix, assurez-vous de modifier le chemin de " | |
482 | "chargement de Guile pour qu'il trouve les fichiers source de votre dépôt :" | |
483 | ||
484 | #. type: lisp | |
485 | #: doc/contributing.texi:190 | |
486 | #, no-wrap | |
487 | msgid "" | |
488 | ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" | |
489 | "(with-eval-after-load 'geiser-guile\n" | |
490 | " (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n" | |
491 | msgstr "" | |
492 | ";; @r{Si l'extrait est dans ~/src/guix.}\n" | |
493 | "(with-eval-after-load 'geiser-guile\n" | |
494 | " (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n" | |
495 | ||
496 | #. type: Plain text | |
497 | #: doc/contributing.texi:198 | |
498 | msgid "" | |
499 | "To actually edit the code, Emacs already has a neat Scheme mode. But in " | |
500 | "addition to that, you must not miss @url{http://www.emacswiki.org/emacs/" | |
501 | "ParEdit, Paredit}. It provides facilities to directly operate on the syntax " | |
502 | "tree, such as raising an s-expression or wrapping it, swallowing or rejecting " | |
503 | "the following s-expression, etc." | |
504 | msgstr "" | |
505 | ||
506 | #. type: cindex | |
507 | #: doc/contributing.texi:199 | |
508 | #, no-wrap | |
509 | msgid "code snippets" | |
510 | msgstr "extraits de code" | |
511 | ||
512 | #. type: cindex | |
513 | #: doc/contributing.texi:200 | |
514 | #, no-wrap | |
515 | msgid "templates" | |
516 | msgstr "modèles" | |
517 | ||
518 | #. type: cindex | |
519 | #: doc/contributing.texi:201 | |
520 | #, no-wrap | |
521 | msgid "reducing boilerplate" | |
522 | msgstr "réduire la quantité de code commun" | |
523 | ||
524 | #. type: Plain text | |
525 | #: doc/contributing.texi:208 | |
526 | msgid "" | |
527 | "We also provide templates for common git commit messages and package " | |
528 | "definitions in the @file{etc/snippets} directory. These templates can be used " | |
529 | "with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to expand short " | |
530 | "trigger strings to interactive text snippets. You may want to add the " | |
531 | "snippets directory to the @var{yas-snippet-dirs} variable in Emacs." | |
532 | msgstr "" | |
533 | "Nous fournissons aussi des modèles pour les messages de commit git communs et " | |
534 | "les définitions de paquets dans le répertoire @file{etc/snippets}. Ces modèles " | |
535 | "s'utilisent avec @url{http://joaotavora.github.io/yasnippet/, YASnippet} pour " | |
536 | "développer des chaînes courtes de déclenchement en extraits de texte " | |
537 | "interactifs. Vous pouvez ajouter le répertoire des modèles dans la variables " | |
538 | "@var{yas-snippet-dirs} d'Emacs." | |
539 | ||
540 | #. type: lisp | |
541 | #: doc/contributing.texi:213 | |
542 | #, no-wrap | |
543 | msgid "" | |
544 | ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" | |
545 | "(with-eval-after-load 'yasnippet\n" | |
546 | " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n" | |
547 | msgstr "" | |
548 | ";; @r{Si l'extrait est dans ~/src/guix.}\n" | |
549 | "(with-eval-after-load 'yasnippet\n" | |
550 | " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n" | |
551 | ||
552 | #. type: Plain text | |
553 | #: doc/contributing.texi:220 | |
554 | msgid "" | |
555 | "The commit message snippets depend on @url{https://magit.vc/, Magit} to " | |
556 | "display staged files. When editing a commit message type @code{add} followed " | |
557 | "by @kbd{TAB} to insert a commit message template for adding a package; type " | |
558 | "@code{update} followed by @kbd{TAB} to insert a template for updating a " | |
559 | "package." | |
560 | msgstr "" | |
561 | "Les extraits de messages de commit dépendent de @url{https://magit.vc/, Magit} " | |
562 | "pour afficher les fichiers sélectionnés. Lors de la modification d'un message " | |
563 | "de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un modèle de " | |
564 | "message de commit pour ajouter un paquet ; tapez @code{update} suivi de " | |
565 | "@kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet." | |
566 | ||
567 | #. type: Plain text | |
568 | #: doc/contributing.texi:226 | |
569 | msgid "" | |
570 | "The main snippet for @code{scheme-mode} is triggered by typing " | |
571 | "@code{package...} followed by @kbd{TAB}. This snippet also inserts the " | |
572 | "trigger string @code{origin...}, which can be expanded further. The " | |
573 | "@code{origin} snippet in turn may insert other trigger strings ending on " | |
574 | "@code{...}, which also can be expanded further." | |
575 | msgstr "" | |
576 | "L'extrait principal pour @code{scheme-mode} est lancé en tapant " | |
577 | "@code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de " | |
578 | "déclenchement @code{origin…}, qui peut aussi être étendue. L'extrait " | |
579 | "@code{origin} lui-même peut aussi insérer des chaînes de déclenchement qui " | |
580 | "finissent sur @code{…}, qui peuvent aussi être étendues." | |
581 | ||
582 | #. type: Plain text | |
583 | #: doc/contributing.texi:234 | |
584 | msgid "" | |
585 | "In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, " | |
586 | "GNU Coding Standards}). However, they do not say much about Scheme, so here " | |
587 | "are some additional rules." | |
588 | msgstr "" | |
589 | "En général notre code suit le Standard de Code GNU (@pxref{Top,,, standards, " | |
590 | "GNU Coding Standards}). Cependant, il ne parle pas beaucoup de Scheme, donc " | |
591 | "voici quelques règles supplémentaires." | |
592 | ||
593 | #. type: subsection | |
594 | #: doc/contributing.texi:240 doc/contributing.texi:242 doc/contributing.texi:243 | |
595 | #, no-wrap | |
596 | msgid "Programming Paradigm" | |
597 | msgstr "Paradigme de programmation" | |
598 | ||
599 | #. type: menuentry | |
600 | #: doc/contributing.texi:240 | |
601 | msgid "How to compose your elements." | |
602 | msgstr "Comment composer vos éléments." | |
603 | ||
604 | #. type: subsection | |
605 | #: doc/contributing.texi:240 doc/contributing.texi:249 doc/contributing.texi:250 | |
606 | #, no-wrap | |
607 | msgid "Modules" | |
608 | msgstr "Modules" | |
609 | ||
610 | #. type: menuentry | |
611 | #: doc/contributing.texi:240 | |
612 | msgid "Where to store your code?" | |
613 | msgstr "Où stocker votre code ?" | |
614 | ||
615 | #. type: subsection | |
616 | #: doc/contributing.texi:240 doc/contributing.texi:260 doc/contributing.texi:261 | |
617 | #, no-wrap | |
618 | msgid "Data Types and Pattern Matching" | |
619 | msgstr "Types de données et reconnaissance de motif" | |
620 | ||
621 | #. type: menuentry | |
622 | #: doc/contributing.texi:240 | |
623 | msgid "Implementing data structures." | |
624 | msgstr "Implémenter des structures de données." | |
625 | ||
626 | #. type: subsection | |
627 | #: doc/contributing.texi:240 doc/contributing.texi:274 doc/contributing.texi:275 | |
628 | #, no-wrap | |
629 | msgid "Formatting Code" | |
630 | msgstr "Formatage du code" | |
631 | ||
632 | #. type: menuentry | |
633 | #: doc/contributing.texi:240 | |
634 | msgid "Writing conventions." | |
635 | msgstr "Conventions d'écriture." | |
636 | ||
637 | #. type: Plain text | |
638 | #: doc/contributing.texi:248 | |
639 | msgid "" | |
640 | "Scheme code in Guix is written in a purely functional style. One exception is " | |
641 | "code that involves input/output, and procedures that implement low-level " | |
642 | "concepts, such as the @code{memoize} procedure." | |
643 | msgstr "" | |
644 | "Le code Scheme dans Guix est écrit dans un style purement fonctionnel. Le code " | |
645 | "qui s'occupe des entrées-sorties est une exception ainsi que les procédures " | |
646 | "qui implémentent des concepts bas-niveau comme la procédure @code{memoize}." | |
647 | ||
648 | #. type: Plain text | |
649 | #: doc/contributing.texi:256 | |
650 | msgid "" | |
651 | "Guile modules that are meant to be used on the builder side must live in the " | |
652 | "@code{(guix build @dots{})} name space. They must not refer to other Guix or " | |
653 | "GNU modules. However, it is OK for a ``host-side'' module to use a build-side " | |
654 | "module." | |
655 | msgstr "" | |
656 | "Les modules Guile qui sont sensés être utilisés du côté de la construction " | |
657 | "doivent se trouver dans l'espace de nom @code{(guix build @dots{})}. Ils ne " | |
658 | "doivent pas se référer à d'autres modules Guix ou GNU. Cependant il est " | |
659 | "correct pour un module « côté hôte » de dépendre d'un module coté construction." | |
660 | ||
661 | #. type: Plain text | |
662 | #: doc/contributing.texi:259 | |
663 | msgid "" | |
664 | "Modules that deal with the broader GNU system should be in the @code{(gnu " | |
665 | "@dots{})} name space rather than @code{(guix @dots{})}." | |
666 | msgstr "" | |
667 | "Les modules qui s'occupent du système GNU général devraient se trouver dans " | |
668 | "l'espace de nom @code{(gnu @dots{})} plutôt que @code{(guix @dots{})}." | |
669 | ||
670 | #. type: Plain text | |
671 | #: doc/contributing.texi:268 | |
672 | msgid "" | |
673 | "The tendency in classical Lisp is to use lists to represent everything, and " | |
674 | "then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, and " | |
675 | "co. There are several problems with that style, notably the fact that it is " | |
676 | "hard to read, error-prone, and a hindrance to proper type error reports." | |
677 | msgstr "" | |
678 | "La tendance en Lisp classique est d'utiliser des listes pour tout représenter " | |
679 | "et de naviguer dedans « à la main ( avec @code{car}, @code{cdr}, @code{cadr} " | |
680 | "et compagnie. Il y a plusieurs problèmes avec ce style, notamment le fait " | |
681 | "qu'il soit dur à lire, source d'erreur et un obstacle aux rapports d'erreur " | |
682 | "bien typés." | |
683 | ||
684 | #. type: Plain text | |
685 | #: doc/contributing.texi:273 | |
686 | msgid "" | |
687 | "Guix code should define appropriate data types (for instance, using " | |
688 | "@code{define-record-type*}) rather than abuse lists. In addition, it should " | |
689 | "use pattern matching, via Guile’s @code{(ice-9 match)} module, especially when " | |
690 | "matching lists." | |
691 | msgstr "" | |
692 | "Le code de Guix devrait définir des types de données appropriées (par exemple, " | |
693 | "avec @code{define-record-type*}) plutôt que d'abuser des listes. En plus, il " | |
694 | "devrait utiliser la recherche de motifs, via le module Guile @code{(ice-9 " | |
695 | "match)}, surtout pour rechercher dans des listes." | |
696 | ||
697 | #. type: cindex | |
698 | #: doc/contributing.texi:277 | |
699 | #, no-wrap | |
700 | msgid "formatting code" | |
701 | msgstr "formater le code" | |
702 | ||
703 | #. type: cindex | |
704 | #: doc/contributing.texi:278 | |
705 | #, no-wrap | |
706 | msgid "coding style" | |
707 | msgstr "style de code" | |
708 | ||
709 | #. type: Plain text | |
710 | #: doc/contributing.texi:285 | |
711 | msgid "" | |
712 | "When writing Scheme code, we follow common wisdom among Scheme programmers. " | |
713 | "In general, we follow the @url{http://mumble.net/~campbell/scheme/style.txt, " | |
714 | "Riastradh's Lisp Style Rules}. This document happens to describe the " | |
715 | "conventions mostly used in Guile’s code too. It is very thoughtful and well " | |
716 | "written, so please do read it." | |
717 | msgstr "" | |
718 | "Lorsque nous écrivons du code Scheme, nous suivons la sagesse commune aux " | |
719 | "programmeurs Scheme. En général, nous suivons les @url{http://mumble.net/" | |
720 | "~campbell/scheme/style.txt, règles de style de Riastradh}. Ce document décrit " | |
721 | "aussi les conventions utilisées dans le code de Guile. Il est bien pensé et " | |
722 | "bien écrit, alors n'hésitez pas à le lire." | |
723 | ||
724 | #. type: Plain text | |
725 | #: doc/contributing.texi:292 | |
726 | msgid "" | |
727 | "Some special forms introduced in Guix, such as the @code{substitute*} macro, " | |
728 | "have special indentation rules. These are defined in the @file{.dir-locals." | |
729 | "el} file, which Emacs automatically uses. Also note that Emacs-Guix provides " | |
730 | "@code{guix-devel-mode} mode that indents and highlights Guix code properly " | |
731 | "(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." | |
732 | msgstr "" | |
733 | "Certaines formes spéciales introduites dans Guix comme la macro " | |
734 | "@code{substitute*} ont des règles d'indentation spécifiques. Elles sont " | |
735 | "définies dans le fichier @file{.dir-locals.el} qu'Emacs utilise " | |
736 | "automatiquement. Remarquez aussi qu'Emacs-Guix fournit le mode @code{guix-" | |
737 | "devel-mode} qui indente et colore le code Guix correctement " | |
738 | "(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." | |
739 | ||
740 | #. type: cindex | |
741 | #: doc/contributing.texi:293 | |
742 | #, no-wrap | |
743 | msgid "indentation, of code" | |
744 | msgstr "indentation, du code" | |
745 | ||
746 | #. type: cindex | |
747 | #: doc/contributing.texi:294 | |
748 | #, no-wrap | |
749 | msgid "formatting, of code" | |
750 | msgstr "formatage, du code" | |
751 | ||
752 | #. type: Plain text | |
753 | #: doc/contributing.texi:297 | |
754 | msgid "" | |
755 | "If you do not use Emacs, please make sure to let your editor knows these " | |
756 | "rules. To automatically indent a package definition, you can also run:" | |
757 | msgstr "" | |
758 | "Si vous n'utilisez pas Emacs, assurez-vous que votre éditeur connaisse ces " | |
759 | "règles. Pour indenter automatiquement une définition de paquet, vous pouvez " | |
760 | "aussi lancer :" | |
761 | ||
762 | #. type: example | |
763 | #: doc/contributing.texi:300 | |
764 | #, no-wrap | |
765 | msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" | |
766 | msgstr "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" | |
767 | ||
768 | #. type: Plain text | |
769 | #: doc/contributing.texi:306 | |
770 | msgid "" | |
771 | "This automatically indents the definition of @var{package} in @file{gnu/" | |
772 | "packages/@var{file}.scm} by running Emacs in batch mode. To indent a whole " | |
773 | "file, omit the second argument:" | |
774 | msgstr "" | |
775 | "Cela indente automatiquement la définition de @var{package} dans @file{gnu/" | |
776 | "packages/@var{file}.scm} en lançant Emacs en mode commande. Pour indenter un " | |
777 | "fichier complet, n'indiquez pas de second argument :" | |
778 | ||
779 | #. type: example | |
780 | #: doc/contributing.texi:309 | |
781 | #, no-wrap | |
782 | msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n" | |
783 | msgstr "./etc/indent-code.el gnu/services/@var{file}.scm\n" | |
784 | ||
785 | #. type: Plain text | |
786 | #: doc/contributing.texi:314 | |
787 | msgid "" | |
788 | "We require all top-level procedures to carry a docstring. This requirement " | |
789 | "can be relaxed for simple private procedures in the @code{(guix build " | |
790 | "@dots{})} name space, though." | |
791 | msgstr "" | |
792 | "Nous demandons que toutes les procédure de premier niveau contiennent une " | |
793 | "chaîne de documentation. Ce pré-requis peut être relâché pour les procédures " | |
794 | "privées simples dans l'espace de nom @code{(guix build @dots{})} cependant." | |
795 | ||
796 | #. type: Plain text | |
797 | #: doc/contributing.texi:317 | |
798 | msgid "" | |
799 | "Procedures should not have more than four positional parameters. Use keyword " | |
800 | "parameters for procedures that take more than four parameters." | |
801 | msgstr "" | |
802 | "Les procédures ne devraient pas avoir plus de quatre paramètres positionnés. " | |
803 | "Utilisez des paramètres par mot-clefs pour les procédures qui prennent plus de " | |
804 | "quatre paramètres." | |
805 | ||
806 | #. type: Plain text | |
807 | #: doc/contributing.texi:326 | |
808 | msgid "" | |
809 | "Development is done using the Git distributed version control system. Thus, " | |
810 | "access to the repository is not strictly necessary. We welcome contributions " | |
811 | "in the form of patches as produced by @code{git format-patch} sent to the " | |
812 | "@email{guix-patches@@gnu.org} mailing list." | |
813 | msgstr "" | |
814 | "Le développement se fait avec le système de contrôle de version Git. Ainsi, " | |
815 | "l'accès au dépôt n'est pas strictement nécessaire. Nous accueillons les " | |
816 | "contributions sous forme de correctifs produits par @code{git format-patch} " | |
817 | "envoyés sur la liste de diffusion @email{guix-patches@@gnu.org}." | |
818 | ||
819 | #. type: Plain text | |
820 | #: doc/contributing.texi:333 | |
821 | msgid "" | |
822 | "This mailing list is backed by a Debbugs instance accessible at @uref{https://" | |
823 | "bugs.gnu.org/guix-patches}, which allows us to keep track of submissions. " | |
824 | "Each message sent to that mailing list gets a new tracking number assigned; " | |
825 | "people can then follow up on the submission by sending email to @code{@var{NNN}" | |
826 | "@@debbugs.gnu.org}, where @var{NNN} is the tracking number (@pxref{Sending a " | |
827 | "Patch Series})." | |
828 | msgstr "" | |
829 | "Cette liste de diffusion est gérée par une instance Debbugs accessible à " | |
830 | "l'adresse @uref{https://bugs.gnu.org/guix-patches}, qui nous permet de suivre " | |
831 | "les soumissions. Chaque message envoyé à cette liste se voit attribuer un " | |
832 | "numéro de suivi ; les gens peuvent ensuite répondre à cette soumission en " | |
833 | "envoyant un courriel à @code{@var{NNN}@@debbugs.gnu.org}, où @var{NNN} est le " | |
834 | "numéro de suivi (@pxref{Envoyer une série de correctifs})." | |
835 | ||
836 | #. type: Plain text | |
837 | #: doc/contributing.texi:337 | |
838 | msgid "" | |
839 | "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, " | |
840 | "standards, GNU Coding Standards}); you can check the commit history for " | |
841 | "examples." | |
842 | msgstr "" | |
843 | "Veuillez écrire les messages de commit dans le format ChangeLog (@pxref{Change " | |
844 | "Logs,,, standards, GNU Coding Standards}) ; vous pouvez regarder l'historique " | |
845 | "des commits pour trouver des exemples." | |
846 | ||
847 | #. type: Plain text | |
848 | #: doc/contributing.texi:340 | |
849 | msgid "" | |
850 | "Before submitting a patch that adds or modifies a package definition, please " | |
851 | "run through this check list:" | |
852 | msgstr "" | |
853 | "Avant de soumettre un correctif qui ajoute ou modifie la définition d'un " | |
854 | "paquet, veuillez vérifier cette check-list :" | |
855 | ||
856 | #. type: enumerate | |
857 | #: doc/contributing.texi:347 | |
858 | msgid "" | |
859 | "If the authors of the packaged software provide a cryptographic signature for " | |
860 | "the release tarball, make an effort to verify the authenticity of the " | |
861 | "archive. For a detached GPG signature file this would be done with the " | |
862 | "@code{gpg --verify} command." | |
863 | msgstr "" | |
864 | "Si les auteurs du paquet logiciel fournissent une signature cryptographique " | |
865 | "pour l'archive, faîtes un effort pour vérifier l'authenticité de l'archive. " | |
866 | "Pour un fichier de signature GPG détaché, cela se fait avec la commande " | |
867 | "@code{gpg --verify}." | |
868 | ||
869 | #. type: enumerate | |
870 | #: doc/contributing.texi:351 | |
871 | msgid "" | |
872 | "Take some time to provide an adequate synopsis and description for the " | |
873 | "package. @xref{Synopses and Descriptions}, for some guidelines." | |
874 | msgstr "" | |
875 | "Prenez un peu de temps pour fournir un synopsis et une description adéquats " | |
876 | "pour le paquet. Voir @xref{Synopsis et descriptions} pour quelques lignes " | |
877 | "directrices." | |
878 | ||
879 | #. type: enumerate | |
880 | #: doc/contributing.texi:356 | |
881 | msgid "" | |
882 | "Run @code{guix lint @var{package}}, where @var{package} is the name of the new " | |
883 | "or modified package, and fix any errors it reports (@pxref{Invoking guix " | |
884 | "lint})." | |
885 | msgstr "" | |
886 | "Lancez @code{guix lint @var{paquet}}, où @var{paquet} est le nom du nouveau " | |
887 | "paquet ou du paquet modifié, et corrigez les erreurs qu'il rapporte " | |
888 | "(@pxref{Invoquer guix lint})." | |
889 | ||
890 | #. type: enumerate | |
891 | #: doc/contributing.texi:360 | |
892 | msgid "" | |
893 | "Make sure the package builds on your platform, using @code{guix build " | |
894 | "@var{package}}." | |
895 | msgstr "" | |
896 | "Assurez-vous que le paquet se construise sur votre plate-forme avec @code{guix " | |
897 | "build @var{paquet}}." | |
898 | ||
899 | #. type: cindex | |
900 | #: doc/contributing.texi:362 | |
901 | #, no-wrap | |
902 | msgid "bundling" | |
903 | msgstr "construction groupée" | |
904 | ||
905 | #. type: enumerate | |
906 | #: doc/contributing.texi:365 | |
907 | msgid "" | |
908 | "Make sure the package does not use bundled copies of software already " | |
909 | "available as separate packages." | |
910 | msgstr "" | |
911 | "Assurez-vous que le paquet n'utilise pas de copie groupée d'un logiciel déjà " | |
912 | "disponible dans un paquet séparé." | |
913 | ||
914 | #. type: enumerate | |
915 | #: doc/contributing.texi:374 | |
916 | msgid "" | |
917 | "Sometimes, packages include copies of the source code of their dependencies as " | |
918 | "a convenience for users. However, as a distribution, we want to make sure " | |
919 | "that such packages end up using the copy we already have in the distribution, " | |
920 | "if there is one. This improves resource usage (the dependency is built and " | |
921 | "stored only once), and allows the distribution to make transverse changes such " | |
922 | "as applying security updates for a given software package in a single place " | |
923 | "and have them affect the whole system---something that bundled copies prevent." | |
924 | msgstr "" | |
925 | "Parfois, les paquets incluent des copie du code source de leurs dépendances " | |
926 | "pour le confort de leurs utilisateurs. Cependant, en tant que distribution, " | |
927 | "nous voulons nous assurer que ces paquets utilisent bien les copient que nous " | |
928 | "avons déjà dans la distribution si elles existent. Cela améliore l'utilisation " | |
929 | "des ressources (la dépendance n'est construite et stockée qu'une seule fois) " | |
930 | "et permet à la distribution de faire des changements transversaux comme " | |
931 | "appliquer des correctifs de sécurité pour un paquet donné depuis un unique " | |
932 | "emplacement et qu'ils affectent tout le système, ce qu'empêchent les copies " | |
933 | "groupées." | |
934 | ||
935 | #. type: enumerate | |
936 | #: doc/contributing.texi:381 | |
937 | msgid "" | |
938 | "Take a look at the profile reported by @command{guix size} (@pxref{Invoking " | |
939 | "guix size}). This will allow you to notice references to other packages " | |
940 | "unwillingly retained. It may also help determine whether to split the package " | |
941 | "(@pxref{Packages with Multiple Outputs}), and which optional dependencies " | |
942 | "should be used." | |
943 | msgstr "" | |
944 | "Regardez le profile rapporté par @command{guix size} (@pxref{Invoking guix " | |
945 | "size}). Cela vous permettra de remarquer des références à d'autres paquets qui " | |
946 | "ont été retenus. Il peut aussi aider à déterminer s'il faut découper le paquet " | |
947 | "(@pxref{Des paquets avec plusieurs résultats}) et quelle dépendance facultative " | |
948 | "utiliser." | |
949 | ||
950 | #. type: enumerate | |
951 | #: doc/contributing.texi:386 | |
952 | msgid "" | |
953 | "For important changes, check that dependent package (if applicable) are not " | |
954 | "affected by the change; @code{guix refresh --list-dependent @var{package}} " | |
955 | "will help you do that (@pxref{Invoking guix refresh})." | |
956 | msgstr "" | |
957 | "Pour les changements important, vérifiez que les paquets qui en dépendent " | |
958 | "(s'ils existent) ne sont pas affectés par le changement ; @code{guix refresh --" | |
959 | "list-dependant @var{paquet}} vous aidera (@pxref{Invoquer guix refresh})." | |
960 | ||
961 | #. type: cindex | |
962 | #: doc/contributing.texi:388 | |
963 | #, no-wrap | |
964 | msgid "branching strategy" | |
965 | msgstr "stratégie de branche" | |
966 | ||
967 | #. type: cindex | |
968 | #: doc/contributing.texi:389 | |
969 | #, no-wrap | |
970 | msgid "rebuild scheduling strategy" | |
971 | msgstr "stratégie de planification des reconstructions" | |
972 | ||
973 | #. type: enumerate | |
974 | #: doc/contributing.texi:392 | |
975 | msgid "" | |
976 | "Depending on the number of dependent packages and thus the amount of " | |
977 | "rebuilding induced, commits go to different branches, along these lines:" | |
978 | msgstr "" | |
979 | "Suivant le nombre de paquets dépendants et donc le nombre de reconstruction " | |
980 | "induites, les commits vont vers des branches différentes, suivant ces " | |
981 | "principes :" | |
982 | ||
983 | #. type: item | |
984 | #: doc/contributing.texi:394 | |
985 | #, no-wrap | |
986 | msgid "300 dependent packages or less" | |
987 | msgstr "300 paquets dépendants ou moins" | |
988 | ||
989 | #. type: table | |
990 | #: doc/contributing.texi:396 | |
991 | msgid "@code{master} branch (non-disruptive changes)." | |
992 | msgstr "branche @code{master} (changements non-disruptifs)." | |
993 | ||
994 | #. type: item | |
995 | #: doc/contributing.texi:397 | |
996 | #, no-wrap | |
997 | msgid "between 300 and 1,200 dependent packages" | |
998 | msgstr "entre 300 et 1 200 paquets dépendants" | |
999 | ||
1000 | #. type: table | |
1001 | #: doc/contributing.texi:402 | |
1002 | msgid "" | |
1003 | "@code{staging} branch (non-disruptive changes). This branch is intended to be " | |
1004 | "merged in @code{master} every 3 weeks or so. Topical changes (e.g., an update " | |
1005 | "of the GNOME stack) can instead go to a specific branch (say, @code{gnome-" | |
1006 | "updates})." | |
1007 | msgstr "" | |
1008 | "branche @code{staging} (changemets non-disruptifs). Cette branche devrait être " | |
1009 | "fusionnées dans @code{master} tous les 3 semaines. Les changements par thèmes " | |
1010 | "(par exemple une mise à jour de la pile GNOME) peuvent aller dans une branche " | |
1011 | "spécifique (disons, @code{gnome-updates})." | |
1012 | ||
1013 | #. type: item | |
1014 | #: doc/contributing.texi:403 | |
1015 | #, no-wrap | |
1016 | msgid "more than 1,200 dependent packages" | |
1017 | msgstr "plus de 1 200 paquets dépendants" | |
1018 | ||
1019 | #. type: table | |
1020 | #: doc/contributing.texi:407 | |
1021 | msgid "" | |
1022 | "@code{core-updates} branch (may include major and potentially disruptive " | |
1023 | "changes). This branch is intended to be merged in @code{master} every 2.5 " | |
1024 | "months or so." | |
1025 | msgstr "" | |
1026 | "branche @code{core-updates} (peut inclure des changements majeurs et " | |
1027 | "potentiellement disruptifs). Cette branche devrait être fusionnée dans " | |
1028 | "@code{master} tous les 2,5 mois environ." | |
1029 | ||
1030 | #. type: enumerate | |
1031 | #: doc/contributing.texi:414 | |
1032 | msgid "" | |
1033 | "All these branches are tracked by our build farm and merged into @code{master} " | |
1034 | "once everything has been successfully built. This allows us to fix issues " | |
1035 | "before they hit users, and to reduce the window during which pre-built " | |
1036 | "binaries are not available." | |
1037 | msgstr "" | |
1038 | "Toutes ces branches sont gérées par notre ferme de construction et fusionnées " | |
1039 | "dans @code{master} une fois que tout a été construit correctement. Cela nous " | |
1040 | "permet de corriger des problèmes avant qu'ils n'atteignent les utilisateurs et " | |
1041 | "réduit la fenêtre pendant laquelle les binaires pré-construits ne sont pas " | |
1042 | "disponibles." | |
1043 | ||
1044 | #. type: cindex | |
1045 | #: doc/contributing.texi:416 | |
1046 | #, no-wrap | |
1047 | msgid "determinism, of build processes" | |
1048 | msgstr "déterminisme, du processus de construction" | |
1049 | ||
1050 | #. type: cindex | |
1051 | #: doc/contributing.texi:417 | |
1052 | #, no-wrap | |
1053 | msgid "reproducible builds, checking" | |
1054 | msgstr "construction reproductibles, vérification" | |
1055 | ||
1056 | #. type: enumerate | |
1057 | #: doc/contributing.texi:421 | |
1058 | msgid "" | |
1059 | "Check whether the package's build process is deterministic. This typically " | |
1060 | "means checking whether an independent build of the package yields the exact " | |
1061 | "same result that you obtained, bit for bit." | |
1062 | msgstr "" | |
1063 | "Vérifiez si le processus de construction du paquet est déterministe. Cela " | |
1064 | "signifie typiquement vérifier qu'une construction indépendante du paquet " | |
1065 | "renvoie exactement le même résultat que vous avez obtenu, bit à bit." | |
1066 | ||
1067 | #. type: enumerate | |
1068 | #: doc/contributing.texi:424 | |
1069 | msgid "" | |
1070 | "A simple way to do that is by building the same package several times in a row " | |
1071 | "on your machine (@pxref{Invoking guix build}):" | |
1072 | msgstr "" | |
1073 | "Une manière simple de le faire est de reconstruire le paquet plusieurs fois à " | |
1074 | "la suite sur votre machine (@pxref{Invoquer guix build}) :" | |
1075 | ||
1076 | #. type: example | |
1077 | #: doc/contributing.texi:427 | |
1078 | #, no-wrap | |
1079 | msgid "guix build --rounds=2 my-package\n" | |
1080 | msgstr "guix build --rounds=2 mon-paquet\n" | |
1081 | ||
1082 | #. type: enumerate | |
1083 | #: doc/contributing.texi:431 | |
1084 | msgid "" | |
1085 | "This is enough to catch a class of common non-determinism issues, such as " | |
1086 | "timestamps or randomly-generated output in the build result." | |
1087 | msgstr "" | |
1088 | "Cela est suffisant pour trouver une classe de non-déterminisme commune, comme " | |
1089 | "l'horodatage ou des sorties générées aléatoirement dans le résultat de la " | |
1090 | "construction." | |
1091 | ||
1092 | #. type: enumerate | |
1093 | #: doc/contributing.texi:441 | |
1094 | msgid "" | |
1095 | "Another option is to use @command{guix challenge} (@pxref{Invoking guix " | |
1096 | "challenge}). You may run it once the package has been committed and built by " | |
1097 | "@code{hydra.gnu.org} to check whether it obtains the same result as you did. " | |
1098 | "Better yet: Find another machine that can build it and run @command{guix " | |
1099 | "publish}. Since the remote build machine is likely different from yours, this " | |
1100 | "can catch non-determinism issues related to the hardware---e.g., use of " | |
1101 | "different instruction set extensions---or to the operating system kernel---e." | |
1102 | "g., reliance on @code{uname} or @file{/proc} files." | |
1103 | msgstr "" | |
1104 | "Une autre option consiste à utiliser @command{guix challenge} (@pxref{Invoquer " | |
1105 | "guix challenge}). Vous pouvez lancer la commande une fois que les paquets ont " | |
1106 | "été commités et construits par @code{hydra.gnu.org} pour vérifier s'il obtient " | |
1107 | "le même résultat que vous. Mieux encore : trouvez une autre machine qui peut " | |
1108 | "le construire et lancez @command{guix publish}. Puis la machine distante est " | |
1109 | "sûrement différente de la vôtre, cela peut trouver des problèmes de non-" | |
1110 | "déterminisme liés au matériel — par exemple utiliser une extension du jeu " | |
1111 | "d'instruction — ou du noyau du système d'exploitation — par exemple se reposer " | |
1112 | "sur @code{uname} ou les fichiers de @file{/proc}." | |
1113 | ||
1114 | #. type: enumerate | |
1115 | #: doc/contributing.texi:447 | |
1116 | msgid "" | |
1117 | "When writing documentation, please use gender-neutral wording when referring " | |
1118 | "to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular " | |
1119 | "``they''@comma{} ``their''@comma{} ``them''}, and so forth." | |
1120 | msgstr "" | |
1121 | "Lorsque vous écrivez de la documentation, utilisez une formulation au genre " | |
1122 | "neutre lorsque vous vous référez à des personnes, comme le @uref{https://fr." | |
1123 | "wikipedia.org/wiki/They_singulier, ``they''@comma{} ``their''@comma{} ``them'' " | |
1124 | "singulier} (en anglais)." | |
1125 | ||
1126 | #. type: enumerate | |
1127 | #: doc/contributing.texi:451 | |
1128 | msgid "" | |
1129 | "Verify that your patch contains only one set of related changes. Bundling " | |
1130 | "unrelated changes together makes reviewing harder and slower." | |
1131 | msgstr "" | |
1132 | "Vérifiez que votre correctif contienne seulement un ensemble de changements " | |
1133 | "liés. Grouper des changements non liés ensemble rend la revue plus difficile " | |
1134 | "et plus lente." | |
1135 | ||
1136 | #. type: enumerate | |
1137 | #: doc/contributing.texi:454 | |
1138 | msgid "" | |
1139 | "Examples of unrelated changes include the addition of several packages, or a " | |
1140 | "package update along with fixes to that package." | |
1141 | msgstr "" | |
1142 | "Ajouter plusieurs paquet ou une mise à jour d'un paquet avec des corrections " | |
1143 | "dans ce paquet sont des exemples de changements sans rapport." | |
1144 | ||
1145 | #. type: enumerate | |
1146 | #: doc/contributing.texi:459 | |
1147 | msgid "" | |
1148 | "Please follow our code formatting rules, possibly running the @command{etc/" | |
1149 | "indent-code.el} script to do that automatically for you (@pxref{Formatting " | |
1150 | "Code})." | |
1151 | msgstr "" | |
1152 | "Suivez nos règles de formatage de code, éventuellement en lançant le script " | |
1153 | "@command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage du " | |
1154 | "code})." | |
1155 | ||
1156 | #. type: Plain text | |
1157 | #: doc/contributing.texi:469 | |
1158 | msgid "" | |
1159 | "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a " | |
1160 | "subject. You may use your email client or the @command{git send-email} " | |
1161 | "command (@pxref{Sending a Patch Series}). We prefer to get patches in plain " | |
1162 | "text messages, either inline or as MIME attachments. You are advised to pay " | |
1163 | "attention if your email client changes anything like line breaks or " | |
1164 | "indentation which could potentially break the patches." | |
1165 | msgstr "" | |
1166 | "Lorsque vous envoyez un correctif à la liste de diffusion, utilisez " | |
1167 | "@samp{[PATCH] @dots{}} comme sujet. Vous pouvez utiliser votre client de " | |
1168 | "courriel ou la commande @command{git send-email} (@pxref{Envoyer une série de " | |
1169 | "correctifs}). Nous préférons recevoir des correctifs en texte brut, soit en " | |
1170 | "ligne, soit en pièce-jointe MIME. Nous vous conseillons de faire attention si " | |
1171 | "votre client de courriel change par exemple les retours à la ligne ou " | |
1172 | "l'indentation, ce qui peut casser les correctifs." | |
1173 | ||
1174 | #. type: Plain text | |
1175 | #: doc/contributing.texi:472 | |
1176 | msgid "" | |
1177 | "When a bug is resolved, please close the thread by sending an email to " | |
1178 | "@email{@var{NNN}-done@@debbugs.gnu.org}." | |
1179 | msgstr "" | |
1180 | "Lorsqu'un bogue est résolu, veuillez fermer le fil en envoyant un courriel à " | |
1181 | "@email{@var{NNN}-done@@debbugs.gnu.org}." | |
1182 | ||
1183 | #. type: anchor{#1} | |
1184 | #: doc/contributing.texi:473 doc/contributing.texi:475 | |
1185 | #, no-wrap | |
1186 | msgid "Sending a Patch Series" | |
1187 | msgstr "Envoyer une série de correctifs" | |
1188 | ||
1189 | #. type: cindex | |
1190 | #: doc/contributing.texi:475 | |
1191 | #, no-wrap | |
1192 | msgid "patch series" | |
1193 | msgstr "série de correctifs" | |
1194 | ||
1195 | #. type: code{#1} | |
1196 | #: doc/contributing.texi:476 | |
1197 | #, no-wrap | |
1198 | msgid "git send-email" | |
1199 | msgstr "git send-email" | |
1200 | ||
1201 | #. type: code{#1} | |
1202 | #: doc/contributing.texi:477 | |
1203 | #, no-wrap | |
1204 | msgid "git-send-email" | |
1205 | msgstr "git-send-email" | |
1206 | ||
1207 | #. type: Plain text | |
1208 | #: doc/contributing.texi:485 | |
1209 | msgid "" | |
1210 | "When sending a patch series (e.g., using @code{git send-email}), please first " | |
1211 | "send one message to @email{guix-patches@@gnu.org}, and then send subsequent " | |
1212 | "patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they are kept " | |
1213 | "together. See @uref{https://debbugs.gnu.org/Advanced.html, the Debbugs " | |
1214 | "documentation} for more information." | |
1215 | msgstr "" | |
1216 | "Lorsque vous envoyez une série de correctifs (p.e. avec @code{git send-" | |
1217 | "email}), envoyez d'abord une premier message à @email{guix-patches@@gnu.org} " | |
1218 | "puis envoyez le reste des correctifs à @email{@var{NNN}@@debbugs.gnu.org} pour " | |
1219 | "vous assurer qu'ils seront groupés ensemble. Voyez @uref{https://debbugs.gnu." | |
1220 | "org/Advanced.html, la documentation de Debbugs} pour plus d'informations." |