610013ed5cf5dcc42d44b55b41c8693fa4d44153
[jackhill/guix/guix.git] / po / doc / contributing.fr.po
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."