# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: 2018-04-10 21:34+0200\n" "PO-Revision-Date: 2018-04-19 18:50+0200\n" "Last-Translator: Julien Lepiller \n" "Language-Team: \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.6\n" #. type: chapter #: doc/contributing.texi:1 doc/contributing.texi:2 #, no-wrap msgid "Contributing" msgstr "Contribuer" #. type: Plain text #: doc/contributing.texi:9 msgid "" "This project is a cooperative effort, and we need your help to make it grow! " "Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} on " "the Freenode IRC network. We welcome ideas, bug reports, patches, and " "anything that may be helpful to the project. We particularly welcome help on " "packaging (@pxref{Packaging Guidelines})." msgstr "" "Ce projet est un effort coopératif et nous avons besoin de votre aide pour le " "faire grandir ! Contactez-nous sur @email{guix-devel@@gnu.org} et @code{#guix} " "sur le réseau IRC Freenode. Nous accueillons les idées, les rapports de " "bogues, les correctifs et tout ce qui pourrait aider le projet. Nous " "apprécions particulièrement toute aide sur la création de paquets " "(@pxref{Consignes d'empaquetage})." #. type: cindex #: doc/contributing.texi:10 #, no-wrap msgid "code of conduct, of contributors" msgstr "code de conduite, des contributeurs" #. type: cindex #: doc/contributing.texi:11 #, no-wrap msgid "contributor covenant" msgstr "convention de contribution" #. type: Plain text #: doc/contributing.texi:17 msgid "" "We want to provide a warm, friendly, and harassment-free environment, so that " "anyone can contribute to the best of their abilities. To this end our project " "uses a ``Contributor Covenant'', which was adapted from @url{http://" "contributor-covenant.org/}. You can find a local version in the @file{CODE-OF-" "CONDUCT} file in the source tree." msgstr "" "Nous souhaitons fournir un environnement chaleureux, amical et sans " "harcèlement pour que tout le monde puisse contribuer au mieux de ses " "capacités. Pour cela notre projet a une « Convention de contribution » adaptée " "de @url{http://contributor-covenant.org/}. Vous pouvez trouver une version " "locale dans le fichier @file{CODE-OF-CONDUCT} dans l'arborescence des sources." #. type: Plain text #: doc/contributing.texi:21 msgid "" "Contributors are not required to use their legal name in patches and on-line " "communication; they can use any name or pseudonym of their choice." msgstr "" "Les contributeurs n'ont pas besoin d'utiliser leur nom légal dans leurs " "correctifs et leurs communications en ligne ; ils peuvent utiliser n'importe " "quel nom ou pseudonyme de leur choix." #. type: section #: doc/contributing.texi:28 doc/contributing.texi:30 doc/contributing.texi:31 #, no-wrap msgid "Building from Git" msgstr "Construire depuis Git" #. type: menuentry #: doc/contributing.texi:28 msgid "The latest and greatest." msgstr "" #. type: section #: doc/contributing.texi:28 doc/contributing.texi:102 doc/contributing.texi:103 #, no-wrap msgid "Running Guix Before It Is Installed" msgstr "Lancer Guix avant qu'il ne soit installé" #. type: menuentry #: doc/contributing.texi:28 msgid "Hacker tricks." msgstr "Astuces pour les hackers." #. type: section #: doc/contributing.texi:28 doc/contributing.texi:169 doc/contributing.texi:170 #, no-wrap msgid "The Perfect Setup" msgstr "La configuration parfaite" #. type: menuentry #: doc/contributing.texi:28 msgid "The right tools." msgstr "Les bons outils." #. type: section #: doc/contributing.texi:28 doc/contributing.texi:228 doc/contributing.texi:229 #, no-wrap msgid "Coding Style" msgstr "Style de code" #. type: menuentry #: doc/contributing.texi:28 msgid "Hygiene of the contributor." msgstr "Hygiène du contributeur." #. type: section #: doc/contributing.texi:28 doc/contributing.texi:319 doc/contributing.texi:320 #, no-wrap msgid "Submitting Patches" msgstr "Envoyer des correctifs" #. type: menuentry #: doc/contributing.texi:28 msgid "Share your work." msgstr "Partager votre travail." #. type: Plain text #: doc/contributing.texi:35 msgid "" "If you want to hack Guix itself, it is recommended to use the latest version " "from the Git repository:" msgstr "" "Si vous souhaitez travailler sur Guix lui-même, il est recommandé d'utiliser " "la dernière version du dépôt Git :" #. type: example #: doc/contributing.texi:38 #, no-wrap msgid "git clone https://git.savannah.gnu.org/git/guix.git\n" msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n" #. type: Plain text #: doc/contributing.texi:43 msgid "" "When building Guix from a checkout, the following packages are required in " "addition to those mentioned in the installation instructions " "(@pxref{Requirements})." msgstr "" "Lors de la construction de Guix depuis un extrait, les paquets suivants sont " "requis en plus de ceux mentionnés dans les instructions d'installation " "(@pxref{Prérequis})." #. type: item #: doc/contributing.texi:45 #, no-wrap msgid "@url{http://gnu.org/software/autoconf/, GNU Autoconf};" msgstr "@url{http://gnu.org/software/autoconf/, GNU Autoconf};" #. type: item #: doc/contributing.texi:46 #, no-wrap msgid "@url{http://gnu.org/software/automake/, GNU Automake};" msgstr "@url{http://gnu.org/software/automake/, GNU Automake};" #. type: item #: doc/contributing.texi:47 #, no-wrap msgid "@url{http://gnu.org/software/gettext/, GNU Gettext};" msgstr "@url{http://gnu.org/software/gettext/, GNU Gettext};" #. type: item #: doc/contributing.texi:48 #, no-wrap msgid "@url{http://gnu.org/software/texinfo/, GNU Texinfo};" msgstr "@url{http://gnu.org/software/texinfo/, GNU Texinfo};" #. type: item #: doc/contributing.texi:49 #, no-wrap msgid "@url{http://www.graphviz.org/, Graphviz};" msgstr "@url{http://www.graphviz.org/, Graphviz};" #. type: item #: doc/contributing.texi:50 #, no-wrap msgid "@url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}." msgstr "@url{http://www.gnu.org/software/help2man/, GNU Help2man (facultatif)}." #. type: Plain text #: doc/contributing.texi:57 msgid "" "The easiest way to set up a development environment for Guix is, of course, by " "using Guix! The following command starts a new shell where all the " "dependencies and appropriate environment variables are set up to hack on Guix:" msgstr "" "La manière la plus simple de configurer un environnement de développement pour " "Guix est, bien sûr, d'utiliser Guix ! La commande suivante démarre un nouveau " "shell où toutes les dépendances et les variables d'environnements appropriées " "sont configurés pour travailler sur Guix :" #. type: example #: doc/contributing.texi:60 #, no-wrap msgid "guix environment guix\n" msgstr "guix environment guix\n" #. type: Plain text #: doc/contributing.texi:64 msgid "" "@xref{Invoking guix environment}, for more information on that command. Extra " "dependencies can be added with @option{--ad-hoc}:" msgstr "" "@xref{Invoquer guix environment}, pour plus d'information sur cette commande. " "On peut ajouter des dépendances supplémentaires avec @option{--ad-hoc} :" #. type: example #: doc/contributing.texi:67 #, no-wrap msgid "guix environment guix --ad-hoc help2man git strace\n" msgstr "guix environment guix --ad-hoc help2man git strace\n" #. type: Plain text #: doc/contributing.texi:71 msgid "" "Run @command{./bootstrap} to generate the build system infrastructure using " "Autoconf and Automake. If you get an error like this one:" msgstr "" "Lancez @command{./bootstrap} pour générer l'infrastructure du système de " "construction avec Autoconf et Automake. Si vous avez une erreur comme :" #. type: example #: doc/contributing.texi:74 #, no-wrap msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" #. type: Plain text #: doc/contributing.texi:83 msgid "" "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is provided " "by pkg-config. Make sure that @file{pkg.m4} is available. The same holds for " "the @file{guile.m4} set of macros provided by Guile. For instance, if you " "installed Automake in @file{/usr/local}, it wouldn’t look for @file{.m4} files " "in @file{/usr/share}. In that case, you have to invoke the following command:" msgstr "" "cela signifie probablement qu'Autoconf n'a pas pu trouver @file{pkg.m4} qui " "est fournit par pkg-config. Assurez-vous que @file{pkg.m4} est disponible. " "C'est aussi vrai pour l'ensemble de macros de @file{guile.m4} fournies par " "Guile. Par exemple, si vous avez installé Automake dans @file{/usr/local}, il " "ne cherchera pas les fichiers @file{.m4} dans @file{/usr/share}. Dans ce case " "vous devez invoquer la commande suivante :" #. type: example #: doc/contributing.texi:86 #, no-wrap msgid "export ACLOCAL_PATH=/usr/share/aclocal\n" msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n" #. type: Plain text #: doc/contributing.texi:90 msgid "" "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more " "information." msgstr "" "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, pour plus " "d'information." #. type: Plain text #: doc/contributing.texi:95 msgid "" "Then, run @command{./configure} as usual. Make sure to pass @code{--" "localstatedir=@var{directory}} where @var{directory} is the " "@code{localstatedir} value used by your current installation (@pxref{The " "Store}, for information about this)." msgstr "" "Ensuite, lancez @command{./configure} comme d'habitude. Assurez-vous de passer " "@code{--localstatedir=@var{directory}} où @var{directory} est la valeur " "@code{localstatedir} utilisée par votre installation actuelle (@pxref{Le " "dépôt} pour plus d'informations à ce propos)." #. type: Plain text #: doc/contributing.texi:100 msgid "" "Finally, you have to invoke @code{make check} to run tests (@pxref{Running the " "Test Suite}). If anything fails, take a look at installation instructions " "(@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, " "mailing list}." msgstr "" "Finalement, vous devez invoquer @code{make check} pour lancer les tests " "(@pxref{Lancer la suite de tests}). Si quelque chose échoue, jetez un œil aux " "instructions d'installation (@pxref{Installation}) ou envoyez un message à la " "list @email{guix-devel@@gnu.org}." #. type: Plain text #: doc/contributing.texi:109 msgid "" "In order to keep a sane working environment, you will find it useful to test " "the changes made in your local source tree checkout without actually " "installing them. So that you can distinguish between your ``end-user'' hat " "and your ``motley'' costume." msgstr "" "Pour garder un environnement de travail sain, il est utile de tester les " "changement localement sans les installer pour de vrai. Pour pouvoir distinguer " "votre rôle « d'utilisateur final » de celui parfois haut en couleur de « " "développeur »." #. type: Plain text #: doc/contributing.texi:117 msgid "" "To that end, all the command-line tools can be used even if you have not run " "@code{make install}. To do that, prefix each command with @command{./pre-inst-" "env} (the @file{pre-inst-env} script lives in the top build tree of Guix), as " "in@footnote{The @option{-E} flag to @command{sudo} guarantees that " "@code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and " "the tools it uses can find the Guile modules they need.}:" msgstr "" "Pour cela, tous les outils en ligne de commande sont utilisables même sans " "avoir lancé @code{make install}. Vous devez pour cela préfixer chaque commande " "par @command{./pre-inst-env} (le script @file{pre-inst-env} se trouve dans le " "répertoire de plus haut niveau de l'arborescence des sources de Guix) comme " "cela@footnote{L'option @option{-E} de @command{sudo} garantie que " "@code{GUILE_LOAD_PATH} est bien paramétré pour @command{guix-daemon} et les " "outils qu'il utilise puissent trouver les modules Guile dont ils ont besoin.} :" #. type: example #: doc/contributing.texi:121 #, no-wrap msgid "" "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" "$ ./pre-inst-env guix build hello\n" msgstr "" "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" "$ ./pre-inst-env guix build hello\n" #. type: Plain text #: doc/contributing.texi:125 msgid "Similarly, for a Guile session using the Guix modules:" msgstr "De même, pour une session Guile qui utilise les modules Guix :" #. type: example #: doc/contributing.texi:128 #, no-wrap msgid "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" msgstr "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" #. type: example #: doc/contributing.texi:130 #, no-wrap msgid ";;; (\"x86_64-linux\")\n" msgstr ";;; (\"x86_64-linux\")\n" #. type: cindex #: doc/contributing.texi:133 #, no-wrap msgid "REPL" msgstr "REPL" #. type: cindex #: doc/contributing.texi:134 #, no-wrap msgid "read-eval-print loop" msgstr "read-eval-print loop" #. type: Plain text #: doc/contributing.texi:137 msgid "" "@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile " "Reference Manual}):" msgstr "" "@dots{} et pour un REPL (@pxref{Using Guile Interactively,,, guile, Guile " "Reference Manual})" #. type: example #: doc/contributing.texi:152 #, no-wrap msgid "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define snakes\n" " (fold-packages\n" " (lambda (package lst)\n" " (if (string-prefix? \"python\"\n" " (package-name package))\n" " (cons package lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length snakes)\n" "$1 = 361\n" msgstr "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define snakes\n" " (fold-packages\n" " (lambda (package lst)\n" " (if (string-prefix? \"python\"\n" " (package-name package))\n" " (cons package lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length snakes)\n" "$1 = 361\n" #. type: Plain text #: doc/contributing.texi:156 msgid "" "The @command{pre-inst-env} script sets up all the environment variables " "necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}." msgstr "" "Le script @command{pre-inst-env} paramètre toutes les variables " "d'environnement nécessaires, dont @env{PATH} et @env{GUILE_LOAD_PATH}." #. type: Plain text #: doc/contributing.texi:167 msgid "" "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local " "source tree; it simply updates the @file{~/.config/guix/latest} symlink " "(@pxref{Invoking guix pull}). Run @command{git pull} instead if you want to " "upgrade your local source tree.@footnote{If you would like to set up " "@command{guix} to use your Git checkout, you can point the @file{~/.config/" "guix/latest} symlink to your Git checkout directory. If you are the sole user " "of your system, you may also consider pointing the @file{/root/.config/guix/" "latest} symlink to point to @file{~/.config/guix/latest}; this way it will " "always use the same @command{guix} as your user does.}" msgstr "" "Remarquez que @command{./pre-inst-env guix pull} ne met @emph{pas} à jour " "l'arborescence des sources locale ; il met seulement à jour le lien symbolique " "@file{~/.config/guix/latest} (@pxref{Invoquer guix pull}). Lancez @command{git " "pull} à la place si vous voulez mettre à jour votre arborescence des sources " "locale@footnote{Si vous voulez paramétrer @command{guix} pour qu'il utilise " "votre dépôt Git, vous pouvez faire pointer le lien symbolique @file{~/.config/" "guix/latest} vers le répertoire contenant ce dépôt. Si vous le seul " "utilisateur du système, vous pouvez aussi considérer faire pointer le lien " "symbolique @file{/root/.config/guix/latest} vers @file{~/.config/guix/" "latest} ; comme ça root aura toujours la même commande @command{guix} que " "votre utilisateur}." #. type: Plain text #: doc/contributing.texi:177 msgid "" "The Perfect Setup to hack on Guix is basically the perfect setup used for " "Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference " "Manual}). First, you need more than an editor, you need @url{http://www.gnu." "org/software/emacs, Emacs}, empowered by the wonderful @url{http://nongnu.org/" "geiser/, Geiser}." msgstr "" "La configuration parfaite pour travailler sur Guix est simplement la " "configuration parfaite pour travailler en Guile (@pxref{Using Guile in " "Emacs,,, guile, Guile Reference Manual}). Tout d'abord, vous avez besoin de " "mieux qu'un éditeur de texte, vous avez besoin de @url{http://www.gnu.org/" "software/emacs, Emacs}, amélioré par le superbe @url{http://nongnu.org/" "geiser/, Geiser}." #. type: Plain text #: doc/contributing.texi:185 msgid "" "Geiser allows for interactive and incremental development from within Emacs: " "code compilation and evaluation from within buffers, access to on-line " "documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to " "an object definition, a REPL to try out your code, and more " "(@pxref{Introduction,,, geiser, Geiser User Manual}). For convenient Guix " "development, make sure to augment Guile’s load path so that it finds source " "files from your checkout:" msgstr "" "Geiser permet le développement interactif et incrémental depuis Emacs : la " "compilation du code et son évaluation depuis les buffers, l'accès à la " "documentation en ligne (docstrings), la complétion sensible au contexte, " "@kbd{M-.} pour sauter à la définition d'un objet, un REPL pour tester votre " "code, et bien plus (@pxref{Introduction,,, geiser, Geiser User Manual}). Pour " "travailler confortablement sur Guix, assurez-vous de modifier le chemin de " "chargement de Guile pour qu'il trouve les fichiers source de votre dépôt :" #. type: lisp #: doc/contributing.texi:190 #, no-wrap msgid "" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" "(with-eval-after-load 'geiser-guile\n" " (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n" msgstr "" ";; @r{Si l'extrait est dans ~/src/guix.}\n" "(with-eval-after-load 'geiser-guile\n" " (add-to-list 'geiser-guile-load-path \"~/src/guix\"))\n" #. type: Plain text #: doc/contributing.texi:198 msgid "" "To actually edit the code, Emacs already has a neat Scheme mode. But in " "addition to that, you must not miss @url{http://www.emacswiki.org/emacs/" "ParEdit, Paredit}. It provides facilities to directly operate on the syntax " "tree, such as raising an s-expression or wrapping it, swallowing or rejecting " "the following s-expression, etc." msgstr "" #. type: cindex #: doc/contributing.texi:199 #, no-wrap msgid "code snippets" msgstr "extraits de code" #. type: cindex #: doc/contributing.texi:200 #, no-wrap msgid "templates" msgstr "modèles" #. type: cindex #: doc/contributing.texi:201 #, no-wrap msgid "reducing boilerplate" msgstr "réduire la quantité de code commun" #. type: Plain text #: doc/contributing.texi:208 msgid "" "We also provide templates for common git commit messages and package " "definitions in the @file{etc/snippets} directory. These templates can be used " "with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to expand short " "trigger strings to interactive text snippets. You may want to add the " "snippets directory to the @var{yas-snippet-dirs} variable in Emacs." msgstr "" "Nous fournissons aussi des modèles pour les messages de commit git communs et " "les définitions de paquets dans le répertoire @file{etc/snippets}. Ces modèles " "s'utilisent avec @url{http://joaotavora.github.io/yasnippet/, YASnippet} pour " "développer des chaînes courtes de déclenchement en extraits de texte " "interactifs. Vous pouvez ajouter le répertoire des modèles dans la variables " "@var{yas-snippet-dirs} d'Emacs." #. type: lisp #: doc/contributing.texi:213 #, no-wrap msgid "" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n" msgstr "" ";; @r{Si l'extrait est dans ~/src/guix.}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets\"))\n" #. type: Plain text #: doc/contributing.texi:220 msgid "" "The commit message snippets depend on @url{https://magit.vc/, Magit} to " "display staged files. When editing a commit message type @code{add} followed " "by @kbd{TAB} to insert a commit message template for adding a package; type " "@code{update} followed by @kbd{TAB} to insert a template for updating a " "package." msgstr "" "Les extraits de messages de commit dépendent de @url{https://magit.vc/, Magit} " "pour afficher les fichiers sélectionnés. Lors de la modification d'un message " "de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un modèle de " "message de commit pour ajouter un paquet ; tapez @code{update} suivi de " "@kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet." #. type: Plain text #: doc/contributing.texi:226 msgid "" "The main snippet for @code{scheme-mode} is triggered by typing " "@code{package...} followed by @kbd{TAB}. This snippet also inserts the " "trigger string @code{origin...}, which can be expanded further. The " "@code{origin} snippet in turn may insert other trigger strings ending on " "@code{...}, which also can be expanded further." msgstr "" "L'extrait principal pour @code{scheme-mode} est lancé en tapant " "@code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de " "déclenchement @code{origin…}, qui peut aussi être étendue. L'extrait " "@code{origin} lui-même peut aussi insérer des chaînes de déclenchement qui " "finissent sur @code{…}, qui peuvent aussi être étendues." #. type: Plain text #: doc/contributing.texi:234 msgid "" "In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, " "GNU Coding Standards}). However, they do not say much about Scheme, so here " "are some additional rules." msgstr "" "En général notre code suit le Standard de Code GNU (@pxref{Top,,, standards, " "GNU Coding Standards}). Cependant, il ne parle pas beaucoup de Scheme, donc " "voici quelques règles supplémentaires." #. type: subsection #: doc/contributing.texi:240 doc/contributing.texi:242 doc/contributing.texi:243 #, no-wrap msgid "Programming Paradigm" msgstr "Paradigme de programmation" #. type: menuentry #: doc/contributing.texi:240 msgid "How to compose your elements." msgstr "Comment composer vos éléments." #. type: subsection #: doc/contributing.texi:240 doc/contributing.texi:249 doc/contributing.texi:250 #, no-wrap msgid "Modules" msgstr "Modules" #. type: menuentry #: doc/contributing.texi:240 msgid "Where to store your code?" msgstr "Où stocker votre code ?" #. type: subsection #: doc/contributing.texi:240 doc/contributing.texi:260 doc/contributing.texi:261 #, no-wrap msgid "Data Types and Pattern Matching" msgstr "Types de données et reconnaissance de motif" #. type: menuentry #: doc/contributing.texi:240 msgid "Implementing data structures." msgstr "Implémenter des structures de données." #. type: subsection #: doc/contributing.texi:240 doc/contributing.texi:274 doc/contributing.texi:275 #, no-wrap msgid "Formatting Code" msgstr "Formatage du code" #. type: menuentry #: doc/contributing.texi:240 msgid "Writing conventions." msgstr "Conventions d'écriture." #. type: Plain text #: doc/contributing.texi:248 msgid "" "Scheme code in Guix is written in a purely functional style. One exception is " "code that involves input/output, and procedures that implement low-level " "concepts, such as the @code{memoize} procedure." msgstr "" "Le code Scheme dans Guix est écrit dans un style purement fonctionnel. Le code " "qui s'occupe des entrées-sorties est une exception ainsi que les procédures " "qui implémentent des concepts bas-niveau comme la procédure @code{memoize}." #. type: Plain text #: doc/contributing.texi:256 msgid "" "Guile modules that are meant to be used on the builder side must live in the " "@code{(guix build @dots{})} name space. They must not refer to other Guix or " "GNU modules. However, it is OK for a ``host-side'' module to use a build-side " "module." msgstr "" "Les modules Guile qui sont sensés être utilisés du côté de la construction " "doivent se trouver dans l'espace de nom @code{(guix build @dots{})}. Ils ne " "doivent pas se référer à d'autres modules Guix ou GNU. Cependant il est " "correct pour un module « côté hôte » de dépendre d'un module coté construction." #. type: Plain text #: doc/contributing.texi:259 msgid "" "Modules that deal with the broader GNU system should be in the @code{(gnu " "@dots{})} name space rather than @code{(guix @dots{})}." msgstr "" "Les modules qui s'occupent du système GNU général devraient se trouver dans " "l'espace de nom @code{(gnu @dots{})} plutôt que @code{(guix @dots{})}." #. type: Plain text #: doc/contributing.texi:268 msgid "" "The tendency in classical Lisp is to use lists to represent everything, and " "then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, and " "co. There are several problems with that style, notably the fact that it is " "hard to read, error-prone, and a hindrance to proper type error reports." msgstr "" "La tendance en Lisp classique est d'utiliser des listes pour tout représenter " "et de naviguer dedans « à la main ( avec @code{car}, @code{cdr}, @code{cadr} " "et compagnie. Il y a plusieurs problèmes avec ce style, notamment le fait " "qu'il soit dur à lire, source d'erreur et un obstacle aux rapports d'erreur " "bien typés." #. type: Plain text #: doc/contributing.texi:273 msgid "" "Guix code should define appropriate data types (for instance, using " "@code{define-record-type*}) rather than abuse lists. In addition, it should " "use pattern matching, via Guile’s @code{(ice-9 match)} module, especially when " "matching lists." msgstr "" "Le code de Guix devrait définir des types de données appropriées (par exemple, " "avec @code{define-record-type*}) plutôt que d'abuser des listes. En plus, il " "devrait utiliser la recherche de motifs, via le module Guile @code{(ice-9 " "match)}, surtout pour rechercher dans des listes." #. type: cindex #: doc/contributing.texi:277 #, no-wrap msgid "formatting code" msgstr "formater le code" #. type: cindex #: doc/contributing.texi:278 #, no-wrap msgid "coding style" msgstr "style de code" #. type: Plain text #: doc/contributing.texi:285 msgid "" "When writing Scheme code, we follow common wisdom among Scheme programmers. " "In general, we follow the @url{http://mumble.net/~campbell/scheme/style.txt, " "Riastradh's Lisp Style Rules}. This document happens to describe the " "conventions mostly used in Guile’s code too. It is very thoughtful and well " "written, so please do read it." msgstr "" "Lorsque nous écrivons du code Scheme, nous suivons la sagesse commune aux " "programmeurs Scheme. En général, nous suivons les @url{http://mumble.net/" "~campbell/scheme/style.txt, règles de style de Riastradh}. Ce document décrit " "aussi les conventions utilisées dans le code de Guile. Il est bien pensé et " "bien écrit, alors n'hésitez pas à le lire." #. type: Plain text #: doc/contributing.texi:292 msgid "" "Some special forms introduced in Guix, such as the @code{substitute*} macro, " "have special indentation rules. These are defined in the @file{.dir-locals." "el} file, which Emacs automatically uses. Also note that Emacs-Guix provides " "@code{guix-devel-mode} mode that indents and highlights Guix code properly " "(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." msgstr "" "Certaines formes spéciales introduites dans Guix comme la macro " "@code{substitute*} ont des règles d'indentation spécifiques. Elles sont " "définies dans le fichier @file{.dir-locals.el} qu'Emacs utilise " "automatiquement. Remarquez aussi qu'Emacs-Guix fournit le mode @code{guix-" "devel-mode} qui indente et colore le code Guix correctement " "(@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." #. type: cindex #: doc/contributing.texi:293 #, no-wrap msgid "indentation, of code" msgstr "indentation, du code" #. type: cindex #: doc/contributing.texi:294 #, no-wrap msgid "formatting, of code" msgstr "formatage, du code" #. type: Plain text #: doc/contributing.texi:297 msgid "" "If you do not use Emacs, please make sure to let your editor knows these " "rules. To automatically indent a package definition, you can also run:" msgstr "" "Si vous n'utilisez pas Emacs, assurez-vous que votre éditeur connaisse ces " "règles. Pour indenter automatiquement une définition de paquet, vous pouvez " "aussi lancer :" #. type: example #: doc/contributing.texi:300 #, no-wrap msgid "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" msgstr "./etc/indent-code.el gnu/packages/@var{file}.scm @var{package}\n" #. type: Plain text #: doc/contributing.texi:306 msgid "" "This automatically indents the definition of @var{package} in @file{gnu/" "packages/@var{file}.scm} by running Emacs in batch mode. To indent a whole " "file, omit the second argument:" msgstr "" "Cela indente automatiquement la définition de @var{package} dans @file{gnu/" "packages/@var{file}.scm} en lançant Emacs en mode commande. Pour indenter un " "fichier complet, n'indiquez pas de second argument :" #. type: example #: doc/contributing.texi:309 #, no-wrap msgid "./etc/indent-code.el gnu/services/@var{file}.scm\n" msgstr "./etc/indent-code.el gnu/services/@var{file}.scm\n" #. type: Plain text #: doc/contributing.texi:314 msgid "" "We require all top-level procedures to carry a docstring. This requirement " "can be relaxed for simple private procedures in the @code{(guix build " "@dots{})} name space, though." msgstr "" "Nous demandons que toutes les procédure de premier niveau contiennent une " "chaîne de documentation. Ce pré-requis peut être relâché pour les procédures " "privées simples dans l'espace de nom @code{(guix build @dots{})} cependant." #. type: Plain text #: doc/contributing.texi:317 msgid "" "Procedures should not have more than four positional parameters. Use keyword " "parameters for procedures that take more than four parameters." msgstr "" "Les procédures ne devraient pas avoir plus de quatre paramètres positionnés. " "Utilisez des paramètres par mot-clefs pour les procédures qui prennent plus de " "quatre paramètres." #. type: Plain text #: doc/contributing.texi:326 msgid "" "Development is done using the Git distributed version control system. Thus, " "access to the repository is not strictly necessary. We welcome contributions " "in the form of patches as produced by @code{git format-patch} sent to the " "@email{guix-patches@@gnu.org} mailing list." msgstr "" "Le développement se fait avec le système de contrôle de version Git. Ainsi, " "l'accès au dépôt n'est pas strictement nécessaire. Nous accueillons les " "contributions sous forme de correctifs produits par @code{git format-patch} " "envoyés sur la liste de diffusion @email{guix-patches@@gnu.org}." #. type: Plain text #: doc/contributing.texi:333 msgid "" "This mailing list is backed by a Debbugs instance accessible at @uref{https://" "bugs.gnu.org/guix-patches}, which allows us to keep track of submissions. " "Each message sent to that mailing list gets a new tracking number assigned; " "people can then follow up on the submission by sending email to @code{@var{NNN}" "@@debbugs.gnu.org}, where @var{NNN} is the tracking number (@pxref{Sending a " "Patch Series})." msgstr "" "Cette liste de diffusion est gérée par une instance Debbugs accessible à " "l'adresse @uref{https://bugs.gnu.org/guix-patches}, qui nous permet de suivre " "les soumissions. Chaque message envoyé à cette liste se voit attribuer un " "numéro de suivi ; les gens peuvent ensuite répondre à cette soumission en " "envoyant un courriel à @code{@var{NNN}@@debbugs.gnu.org}, où @var{NNN} est le " "numéro de suivi (@pxref{Envoyer une série de correctifs})." #. type: Plain text #: doc/contributing.texi:337 msgid "" "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, " "standards, GNU Coding Standards}); you can check the commit history for " "examples." msgstr "" "Veuillez écrire les messages de commit dans le format ChangeLog (@pxref{Change " "Logs,,, standards, GNU Coding Standards}) ; vous pouvez regarder l'historique " "des commits pour trouver des exemples." #. type: Plain text #: doc/contributing.texi:340 msgid "" "Before submitting a patch that adds or modifies a package definition, please " "run through this check list:" msgstr "" "Avant de soumettre un correctif qui ajoute ou modifie la définition d'un " "paquet, veuillez vérifier cette check-list :" #. type: enumerate #: doc/contributing.texi:347 msgid "" "If the authors of the packaged software provide a cryptographic signature for " "the release tarball, make an effort to verify the authenticity of the " "archive. For a detached GPG signature file this would be done with the " "@code{gpg --verify} command." msgstr "" "Si les auteurs du paquet logiciel fournissent une signature cryptographique " "pour l'archive, faîtes un effort pour vérifier l'authenticité de l'archive. " "Pour un fichier de signature GPG détaché, cela se fait avec la commande " "@code{gpg --verify}." #. type: enumerate #: doc/contributing.texi:351 msgid "" "Take some time to provide an adequate synopsis and description for the " "package. @xref{Synopses and Descriptions}, for some guidelines." msgstr "" "Prenez un peu de temps pour fournir un synopsis et une description adéquats " "pour le paquet. Voir @xref{Synopsis et descriptions} pour quelques lignes " "directrices." #. type: enumerate #: doc/contributing.texi:356 msgid "" "Run @code{guix lint @var{package}}, where @var{package} is the name of the new " "or modified package, and fix any errors it reports (@pxref{Invoking guix " "lint})." msgstr "" "Lancez @code{guix lint @var{paquet}}, où @var{paquet} est le nom du nouveau " "paquet ou du paquet modifié, et corrigez les erreurs qu'il rapporte " "(@pxref{Invoquer guix lint})." #. type: enumerate #: doc/contributing.texi:360 msgid "" "Make sure the package builds on your platform, using @code{guix build " "@var{package}}." msgstr "" "Assurez-vous que le paquet se construise sur votre plate-forme avec @code{guix " "build @var{paquet}}." #. type: cindex #: doc/contributing.texi:362 #, no-wrap msgid "bundling" msgstr "construction groupée" #. type: enumerate #: doc/contributing.texi:365 msgid "" "Make sure the package does not use bundled copies of software already " "available as separate packages." msgstr "" "Assurez-vous que le paquet n'utilise pas de copie groupée d'un logiciel déjà " "disponible dans un paquet séparé." #. type: enumerate #: doc/contributing.texi:374 msgid "" "Sometimes, packages include copies of the source code of their dependencies as " "a convenience for users. However, as a distribution, we want to make sure " "that such packages end up using the copy we already have in the distribution, " "if there is one. This improves resource usage (the dependency is built and " "stored only once), and allows the distribution to make transverse changes such " "as applying security updates for a given software package in a single place " "and have them affect the whole system---something that bundled copies prevent." msgstr "" "Parfois, les paquets incluent des copie du code source de leurs dépendances " "pour le confort de leurs utilisateurs. Cependant, en tant que distribution, " "nous voulons nous assurer que ces paquets utilisent bien les copient que nous " "avons déjà dans la distribution si elles existent. Cela améliore l'utilisation " "des ressources (la dépendance n'est construite et stockée qu'une seule fois) " "et permet à la distribution de faire des changements transversaux comme " "appliquer des correctifs de sécurité pour un paquet donné depuis un unique " "emplacement et qu'ils affectent tout le système, ce qu'empêchent les copies " "groupées." #. type: enumerate #: doc/contributing.texi:381 msgid "" "Take a look at the profile reported by @command{guix size} (@pxref{Invoking " "guix size}). This will allow you to notice references to other packages " "unwillingly retained. It may also help determine whether to split the package " "(@pxref{Packages with Multiple Outputs}), and which optional dependencies " "should be used." msgstr "" "Regardez le profile rapporté par @command{guix size} (@pxref{Invoking guix " "size}). Cela vous permettra de remarquer des références à d'autres paquets qui " "ont été retenus. Il peut aussi aider à déterminer s'il faut découper le paquet " "(@pxref{Des paquets avec plusieurs résultats}) et quelle dépendance facultative " "utiliser." #. type: enumerate #: doc/contributing.texi:386 msgid "" "For important changes, check that dependent package (if applicable) are not " "affected by the change; @code{guix refresh --list-dependent @var{package}} " "will help you do that (@pxref{Invoking guix refresh})." msgstr "" "Pour les changements important, vérifiez que les paquets qui en dépendent " "(s'ils existent) ne sont pas affectés par le changement ; @code{guix refresh --" "list-dependant @var{paquet}} vous aidera (@pxref{Invoquer guix refresh})." #. type: cindex #: doc/contributing.texi:388 #, no-wrap msgid "branching strategy" msgstr "stratégie de branche" #. type: cindex #: doc/contributing.texi:389 #, no-wrap msgid "rebuild scheduling strategy" msgstr "stratégie de planification des reconstructions" #. type: enumerate #: doc/contributing.texi:392 msgid "" "Depending on the number of dependent packages and thus the amount of " "rebuilding induced, commits go to different branches, along these lines:" msgstr "" "Suivant le nombre de paquets dépendants et donc le nombre de reconstruction " "induites, les commits vont vers des branches différentes, suivant ces " "principes :" #. type: item #: doc/contributing.texi:394 #, no-wrap msgid "300 dependent packages or less" msgstr "300 paquets dépendants ou moins" #. type: table #: doc/contributing.texi:396 msgid "@code{master} branch (non-disruptive changes)." msgstr "branche @code{master} (changements non-disruptifs)." #. type: item #: doc/contributing.texi:397 #, no-wrap msgid "between 300 and 1,200 dependent packages" msgstr "entre 300 et 1 200 paquets dépendants" #. type: table #: doc/contributing.texi:402 msgid "" "@code{staging} branch (non-disruptive changes). This branch is intended to be " "merged in @code{master} every 3 weeks or so. Topical changes (e.g., an update " "of the GNOME stack) can instead go to a specific branch (say, @code{gnome-" "updates})." msgstr "" "branche @code{staging} (changemets non-disruptifs). Cette branche devrait être " "fusionnées dans @code{master} tous les 3 semaines. Les changements par thèmes " "(par exemple une mise à jour de la pile GNOME) peuvent aller dans une branche " "spécifique (disons, @code{gnome-updates})." #. type: item #: doc/contributing.texi:403 #, no-wrap msgid "more than 1,200 dependent packages" msgstr "plus de 1 200 paquets dépendants" #. type: table #: doc/contributing.texi:407 msgid "" "@code{core-updates} branch (may include major and potentially disruptive " "changes). This branch is intended to be merged in @code{master} every 2.5 " "months or so." msgstr "" "branche @code{core-updates} (peut inclure des changements majeurs et " "potentiellement disruptifs). Cette branche devrait être fusionnée dans " "@code{master} tous les 2,5 mois environ." #. type: enumerate #: doc/contributing.texi:414 msgid "" "All these branches are tracked by our build farm and merged into @code{master} " "once everything has been successfully built. This allows us to fix issues " "before they hit users, and to reduce the window during which pre-built " "binaries are not available." msgstr "" "Toutes ces branches sont gérées par notre ferme de construction et fusionnées " "dans @code{master} une fois que tout a été construit correctement. Cela nous " "permet de corriger des problèmes avant qu'ils n'atteignent les utilisateurs et " "réduit la fenêtre pendant laquelle les binaires pré-construits ne sont pas " "disponibles." #. type: cindex #: doc/contributing.texi:416 #, no-wrap msgid "determinism, of build processes" msgstr "déterminisme, du processus de construction" #. type: cindex #: doc/contributing.texi:417 #, no-wrap msgid "reproducible builds, checking" msgstr "construction reproductibles, vérification" #. type: enumerate #: doc/contributing.texi:421 msgid "" "Check whether the package's build process is deterministic. This typically " "means checking whether an independent build of the package yields the exact " "same result that you obtained, bit for bit." msgstr "" "Vérifiez si le processus de construction du paquet est déterministe. Cela " "signifie typiquement vérifier qu'une construction indépendante du paquet " "renvoie exactement le même résultat que vous avez obtenu, bit à bit." #. type: enumerate #: doc/contributing.texi:424 msgid "" "A simple way to do that is by building the same package several times in a row " "on your machine (@pxref{Invoking guix build}):" msgstr "" "Une manière simple de le faire est de reconstruire le paquet plusieurs fois à " "la suite sur votre machine (@pxref{Invoquer guix build}) :" #. type: example #: doc/contributing.texi:427 #, no-wrap msgid "guix build --rounds=2 my-package\n" msgstr "guix build --rounds=2 mon-paquet\n" #. type: enumerate #: doc/contributing.texi:431 msgid "" "This is enough to catch a class of common non-determinism issues, such as " "timestamps or randomly-generated output in the build result." msgstr "" "Cela est suffisant pour trouver une classe de non-déterminisme commune, comme " "l'horodatage ou des sorties générées aléatoirement dans le résultat de la " "construction." #. type: enumerate #: doc/contributing.texi:441 msgid "" "Another option is to use @command{guix challenge} (@pxref{Invoking guix " "challenge}). You may run it once the package has been committed and built by " "@code{hydra.gnu.org} to check whether it obtains the same result as you did. " "Better yet: Find another machine that can build it and run @command{guix " "publish}. Since the remote build machine is likely different from yours, this " "can catch non-determinism issues related to the hardware---e.g., use of " "different instruction set extensions---or to the operating system kernel---e." "g., reliance on @code{uname} or @file{/proc} files." msgstr "" "Une autre option consiste à utiliser @command{guix challenge} (@pxref{Invoquer " "guix challenge}). Vous pouvez lancer la commande une fois que les paquets ont " "été commités et construits par @code{hydra.gnu.org} pour vérifier s'il obtient " "le même résultat que vous. Mieux encore : trouvez une autre machine qui peut " "le construire et lancez @command{guix publish}. Puis la machine distante est " "sûrement différente de la vôtre, cela peut trouver des problèmes de non-" "déterminisme liés au matériel — par exemple utiliser une extension du jeu " "d'instruction — ou du noyau du système d'exploitation — par exemple se reposer " "sur @code{uname} ou les fichiers de @file{/proc}." #. type: enumerate #: doc/contributing.texi:447 msgid "" "When writing documentation, please use gender-neutral wording when referring " "to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular " "``they''@comma{} ``their''@comma{} ``them''}, and so forth." msgstr "" "Lorsque vous écrivez de la documentation, utilisez une formulation au genre " "neutre lorsque vous vous référez à des personnes, comme le @uref{https://fr." "wikipedia.org/wiki/They_singulier, ``they''@comma{} ``their''@comma{} ``them'' " "singulier} (en anglais)." #. type: enumerate #: doc/contributing.texi:451 msgid "" "Verify that your patch contains only one set of related changes. Bundling " "unrelated changes together makes reviewing harder and slower." msgstr "" "Vérifiez que votre correctif contienne seulement un ensemble de changements " "liés. Grouper des changements non liés ensemble rend la revue plus difficile " "et plus lente." #. type: enumerate #: doc/contributing.texi:454 msgid "" "Examples of unrelated changes include the addition of several packages, or a " "package update along with fixes to that package." msgstr "" "Ajouter plusieurs paquet ou une mise à jour d'un paquet avec des corrections " "dans ce paquet sont des exemples de changements sans rapport." #. type: enumerate #: doc/contributing.texi:459 msgid "" "Please follow our code formatting rules, possibly running the @command{etc/" "indent-code.el} script to do that automatically for you (@pxref{Formatting " "Code})." msgstr "" "Suivez nos règles de formatage de code, éventuellement en lançant le script " "@command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage du " "code})." #. type: Plain text #: doc/contributing.texi:469 msgid "" "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a " "subject. You may use your email client or the @command{git send-email} " "command (@pxref{Sending a Patch Series}). We prefer to get patches in plain " "text messages, either inline or as MIME attachments. You are advised to pay " "attention if your email client changes anything like line breaks or " "indentation which could potentially break the patches." msgstr "" "Lorsque vous envoyez un correctif à la liste de diffusion, utilisez " "@samp{[PATCH] @dots{}} comme sujet. Vous pouvez utiliser votre client de " "courriel ou la commande @command{git send-email} (@pxref{Envoyer une série de " "correctifs}). Nous préférons recevoir des correctifs en texte brut, soit en " "ligne, soit en pièce-jointe MIME. Nous vous conseillons de faire attention si " "votre client de courriel change par exemple les retours à la ligne ou " "l'indentation, ce qui peut casser les correctifs." #. type: Plain text #: doc/contributing.texi:472 msgid "" "When a bug is resolved, please close the thread by sending an email to " "@email{@var{NNN}-done@@debbugs.gnu.org}." msgstr "" "Lorsqu'un bogue est résolu, veuillez fermer le fil en envoyant un courriel à " "@email{@var{NNN}-done@@debbugs.gnu.org}." #. type: anchor{#1} #: doc/contributing.texi:473 doc/contributing.texi:475 #, no-wrap msgid "Sending a Patch Series" msgstr "Envoyer une série de correctifs" #. type: cindex #: doc/contributing.texi:475 #, no-wrap msgid "patch series" msgstr "série de correctifs" #. type: code{#1} #: doc/contributing.texi:476 #, no-wrap msgid "git send-email" msgstr "git send-email" #. type: code{#1} #: doc/contributing.texi:477 #, no-wrap msgid "git-send-email" msgstr "git-send-email" #. type: Plain text #: doc/contributing.texi:485 msgid "" "When sending a patch series (e.g., using @code{git send-email}), please first " "send one message to @email{guix-patches@@gnu.org}, and then send subsequent " "patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure they are kept " "together. See @uref{https://debbugs.gnu.org/Advanced.html, the Debbugs " "documentation} for more information." msgstr "" "Lorsque vous envoyez une série de correctifs (p.e. avec @code{git send-" "email}), envoyez d'abord une premier message à @email{guix-patches@@gnu.org} " "puis envoyez le reste des correctifs à @email{@var{NNN}@@debbugs.gnu.org} pour " "vous assurer qu'ils seront groupés ensemble. Voyez @uref{https://debbugs.gnu." "org/Advanced.html, la documentation de Debbugs} pour plus d'informations."