guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: nls: Update 'fr' translation of the manual.


From: guix-commits
Subject: 01/02: nls: Update 'fr' translation of the manual.
Date: Fri, 1 Mar 2019 15:53:37 -0500 (EST)

roptat pushed a commit to branch master
in repository guix.

commit 15f1bff4b6f3a89cb0c9cd10f8cbefdc6d9ac350
Author: Julien Lepiller <address@hidden>
Date:   Sun Feb 17 20:45:44 2019 +0100

    nls: Update 'fr' translation of the manual.
---
 doc/contributing.fr.texi |   539 +-
 doc/guix.fr.texi         | 18524 +++++++++++++++++++++++----------------------
 po/doc/guix-manual.fr.po |  1886 ++---
 3 files changed, 10991 insertions(+), 9958 deletions(-)

diff --git a/doc/contributing.fr.texi b/doc/contributing.fr.texi
index 502de9f..8900c7c 100644
--- a/doc/contributing.fr.texi
+++ b/doc/contributing.fr.texi
@@ -25,6 +25,7 @@ quel nom ou pseudonyme de leur choix.
 * Construire depuis Git::    toujours le plus récent.
 * Lancer Guix avant qu'il ne soit installé::  Astuces pour les hackers.
 * La configuration parfaite::  Les bons outils.
+* Consignes d'empaquetage::  Faire grandir la distribution.
 * Style de code::            Hygiène du contributeur.
 * Envoyer des correctifs::   Partager votre travail.
 @end menu
@@ -99,7 +100,7 @@ valeur @code{localstatedir} utilisée par votre installation 
actuelle
 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}.
+à la liste @email{guix-devel@@gnu.org}.
 
 
 @node Lancer Guix avant qu'il ne soit installé
@@ -169,12 +170,15 @@ arborescence des source locale.
 @node La configuration parfaite
 @section La configuration parfaite
 
-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
address@hidden://www.gnu.org/software/emacs, Emacs}, amélioré par le superbe
address@hidden://nongnu.org/geiser/, Geiser}.
+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
address@hidden://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful
address@hidden://nongnu.org/geiser/, Geiser}.  To set that up, run:
+
address@hidden
+guix package -i emacs guile emacs-geiser
address@hidden example
 
 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
@@ -229,6 +233,461 @@ déclenchement @code{origin…}, qui peut aussi être 
étendue.  L'extrait
 finissent sur @code{…}, qui peuvent aussi être étendues.
 
 
address@hidden Consignes d'empaquetage
address@hidden Consignes d'empaquetage
+
address@hidden paquets, création
+The GNU distribution is nascent and may well lack some of your favorite
+packages.  This section describes how you can help make the distribution
+grow.
+
+Les paquets de logiciels libres sont habituellement distribués sous forme
address@hidden'archives de sources} — typiquement des fichiers @file{.tar.gz}
+contenant tous les fichiers sources.  Ajouter un paquet à la distribution
+signifie essentiellement deux choses : ajouter une @dfn{recette} qui décrit
+comment construire le paquet, avec une liste d'autres paquets requis pour le
+construire, et ajouter des @dfn{métadonnées de paquet} avec la recette,
+comme une description et une licence.
+
+Dans Guix, toutes ces informations sont incorporées dans les
address@hidden de paquets}.  Les définitions de paquets fournissent une
+vue de haut-niveau du paquet.  Elles sont écrites avec la syntaxe du langage
+de programmation Scheme ; en fait, pour chaque paquet nous définissons une
+variable liée à la définition et exportons cette variable à partir d'un
+module (@pxref{Modules de paquets}).  Cependant, il n'est @emph{pas} nécessaire
+d'avoir une connaissance approfondie du Scheme pour créer des paquets.  Pour
+plus d'informations sur les définitions des paquets, @pxref{Définition des 
paquets}.
+
+Une fois une définition de paquet en place, stocké dans un fichier de
+l'arborescence des sources de Guix, il peut être testé avec la commande
address@hidden build} (@pxref{Invoquer guix build}).  Par exemple, en
+supposant que le nouveau paquet s'appelle @code{gnew}, vous pouvez lancer
+cette commande depuis l'arborescence de construction de Guix (@pxref{Lancer 
Guix avant qu'il ne soit installé}) :
+
address@hidden
+./pre-inst-env guix build gnew --keep-failed
address@hidden example
+
+Utiliser @code{--keep-failed} rend facile le débogage des échecs car il
+fournit l'accès à l'arborescence de construction qui a échouée.  Une autre
+sous-commande utile pour le débogage est @code{--log-file}, pour accéder au
+journal de construction.
+
+Si le paquet n'est pas connu de la commande @command{guix}, il se peut que
+le fichier source ait une erreur de syntaxe, ou qu'il manque une clause
address@hidden pour exporter la variable du paquet.  Pour comprendre
+cela, vous pouvez charger le module depuis Guile pour avoir plus
+d'informations sur la véritable erreur :
+
address@hidden
+./pre-inst-env guile -c '(use-modules (gnu packages gnew))'
address@hidden example
+
+Once your package builds correctly, please send us a patch
+(@pxref{Envoyer des correctifs}).  Well, if you need help, we will be happy to
+help you too.  Once the patch is committed in the Guix repository, the new
+package automatically gets built on the supported platforms by
address@hidden://hydra.gnu.org/jobset/gnu/master, our continuous integration
+system}.
+
address@hidden substitution
+Users can obtain the new package definition simply by running @command{guix
+pull} (@pxref{Invoquer guix pull}).  When @address@hidden
+is done building the package, installing the package automatically downloads
+binaries from there (@pxref{Substituts}).  The only place where human
+intervention is needed is to review and apply the patch.
+
+
address@hidden
+* Liberté logiciel::        Ce que la distribution peut contenir.
+* Conventions de nommage::   Qu'est-ce qu'un bon nom ?
+* Numéros de version::      Lorsque le nom n'est pas suffisant.
+* Synopsis et descriptions::  Aider les utilisateurs à trouver le bon 
+                                paquet.
+* Modules python::           Un peu de comédie anglaise.
+* Modules perl::             Petites perles.
+* Paquets java::             Pause café.
+* Polices de caractères::   À fond les fontes.
address@hidden menu
+
address@hidden Liberté logiciel
address@hidden Liberté logiciel
+
address@hidden 
===========================================================================
address@hidden
address@hidden This file was generated with po4a. Translate the source file.
address@hidden
address@hidden 
===========================================================================
address@hidden Adapted from http://www.gnu.org/philosophy/philosophy.html.
address@hidden logiciel libre
+Le système d'exploitation GNU a été développé pour que les utilisateurs
+puissent utiliser leur ordinateur en toute liberté.  GNU est un
address@hidden libre}, ce qui signifie que les utilisateur ont les
address@hidden://www.gnu.org/philosophy/free-sw.fr.html,quatre libertés
+essentielles} : exécuter le programmer, étudier et modifier le programme
+sous sa forme source, redistribuer des copies exactes et distribuer les
+versions modifiées.  Les paquets qui se trouvent dans la distribution GNU ne
+fournissent que des logiciels qui respectent ces quatre libertés.
+
+En plus, la distribution GNU suit les
address@hidden://www.gnu.org/distros/free-system-distribution-guidelines.html,recommandations
+pour les distributions systèmes libres}.  Entre autres choses, ces
+recommandations rejettent les microgiciels non libres, les recommandations
+de logiciels non libres et discute des façon de gérer les marques et les
+brevets.
+
+Certaines sources amont autrement parfaitement libres contiennent une petite
+partie facultative qui viole les recommandations ci-dessus, par exemple car
+cette partie est du code non-libre.  Lorsque cela arrive, les éléments en
+question sont supprimés avec des correctifs ou des bouts de codes appropriés
+dans la forme @code{origin} du paquet (@pxref{Définition des paquets}).  De 
cette
+manière, @code{guix build --source} renvoie la source « libérée » plutôt que
+la source amont sans modification.
+
+
address@hidden Conventions de nommage
address@hidden Conventions de nommage
+
address@hidden nom du paquet
+Un paquet a en fait deux noms qui lui sont associés : d'abord il y a le nom
+de la @emph{variable Scheme}, celui qui suit @code{define-public}.  Par ce
+nom, le paquet peut se faire connaître par le code Scheme, par exemple comme
+entrée d'un autre paquet.  Deuxièmement, il y a la chaîne dans le champ
address@hidden d'une définition de paquet.  Ce nom est utilisé par les
+commandes de gestion des paquets comme @command{guix package} et
address@hidden build}.
+
+Les deux sont habituellement les mêmes et correspondent à la conversion en
+minuscule du nom du projet choisi en amont, où les underscores sont
+remplacés par des tirets.  Par exemple, GNUnet est disponible en tant que
address@hidden et SDL_net en tant que @code{sdl-net}.
+
+Nous n'ajoutons pas de préfixe @code{lib} au bibliothèques de paquets, à
+moins qu'il ne fasse partie du nom officiel du projet.  Mais @pxref{Modules 
python} et @ref{Modules perl}  pour des règles spéciales concernant les
+modules pour les langages Python et Perl.
+
+Les noms de paquets de polices sont gérés différemment, @pxref{Polices de 
caractères}.
+
+
address@hidden Numéros de version
address@hidden Numéros de version
+
address@hidden version du paquet
+Nous n'incluons en général que la dernière version d'un projet de logiciel
+libre donné.  Mais parfois, par exemple pour des versions incompatibles de
+bibliothèques, deux (ou plus) versions du même paquet sont requises.  Elles
+ont besoin d'un nom de variable Scheme différent.  Nous utilisons le nom
+défini dans @ref{Conventions de nommage} pour la version la plus récente ; les
+versions précédentes utilisent le même nom, suffixé par @code{-} et le plus
+petit préfixe du numéro de version qui permet de distinguer deux versions.
+
+Le nom dans la définition du paquet est le même pour toutes les versions
+d'un paquet et ne contient pas de numéro de version.
+
+Par exemple, les version 2.24.20 et 3.9.12 de GTK+ peuvent être inclus de
+cette manière :
+
address@hidden
+(define-public gtk+
+  (package
+    (name "gtk+")
+    (version "3.9.12")
+    ...))
+(define-public gtk+-2
+  (package
+    (name "gtk+")
+    (version "2.24.20")
+    ...))
address@hidden example
+Si nous voulons aussi GTK+ 3.8.2, cela serait inclus de cette manière :
address@hidden
+(define-public gtk+-3.8
+  (package
+    (name "gtk+")
+    (version "3.8.2")
+    ...))
address@hidden example
+
address@hidden See 
<https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00425.html>,
address@hidden for a discussion of what follows.
address@hidden numéro de version, pour les instantanés des systèmes de contrôle 
de version
+Parfois, nous incluons des paquets provenant d'instantanés de systèmes de
+contrôle de version (VCS) au lieu de versions publiées formellement.  Cela
+devrait rester exceptionnel, car c'est le rôle des développeurs amont de
+spécifier quel est la version stable.  Cependant, c'est parfois nécessaire.
+Donc, que faut-il mettre dans le champ @code{version} ?
+
+Clairement, nous devons rendre l'identifiant de commit de l'instantané du
+VCS visible dans la version, mais nous devons aussi nous assurer que la
+version augmente de manière monotone pour que @command{guix package
+--upgrade} puisse déterminer quelle version est la plus récente.  Comme les
+identifiants de commits, notamment avec Git, n'augmentent pas, nous ajoutons
+un numéro de révision qui nous augmentons à chaque fois que nous mettons à
+jour vers un nouvel instantané.  La chaîne qui en résulte ressemble à cela :
+
address@hidden
+2.0.11-3.cabba9e
+  ^    ^    ^
+  |    |    `-- ID du commit en amont
+  |    |
+  |    `--- révision du paquet Guix
+  |
+dernière version en amont
address@hidden example
+
+C'est une bonne idée de tronquer les identifiants dans le champ
address@hidden à disons 7 caractères.  Cela évite un problème esthétique (en
+supposant que l'esthétique ait un rôle à jouer ici) et des problèmes avec
+les limites de l'OS comme la longueur maximale d'un shebang (127 octets pour
+le noyau Linux).  Il vaut mieux utilise l'identifiant de commit complet dans
address@hidden cependant, pour éviter les ambiguïtés.  Une définition de
+paquet peut ressembler à ceci :
+
address@hidden
+(define my-package
+  (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
+        (revision "1"))          ;révision du paquet Guix
+    (package
+      (version (git-version "0.9" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://example.org/my-package.git")
+                      (commit commit)))
+                (sha256 (base32 "address@hidden"))
+                (file-name (git-file-name name version))))
+      ;; @dots{}
+      )))
address@hidden example
+
address@hidden Synopsis et descriptions
address@hidden Synopsis et descriptions
+
address@hidden description du paquet
address@hidden résumé du paquet
+Comme nous l'avons vu avant, chaque paquet dans address@hidden contient un
+résumé et une description (@pxref{Définition des paquets}).  Les résumés et les
+descriptions sont importants : ce sont eux que recherche @command{guix
+package --search}, et c'est une source d'informations cruciale pour aider
+les utilisateurs à déterminer si un paquet donner correspond à leurs
+besoins.  En conséquence, les mainteneurs doivent prêter attention à leur
+contenu.
+
+Les résumés doivent commencer par une lettre capitale et ne doit pas finir
+par un point.  Ils ne doivent pas commencer par « a » ou « the » (« un » ou
+« le/la »), ce qui n'apporte généralement rien ; par exemple, préférez «
+File-frobbing tool » (« Outil de frobage de fichier ») à « A tool that frobs
+file » (« Un outil qui frobe les fichiers »).  Le résumé devrait dire ce que
+le paquet est — p.@: ex.@: « Utilitaire du cœur de GNU (fichier, text,
+shell) » — ou ce à quoi il sert — p.@: ex.@: le résumé de grep est « Affiche
+des lignes correspondant à un motif ».
+
+Gardez à l'esprit que le résumé doit avoir un sens pour une large audience.
+Par exemple « Manipulation d'alignements au format SAM » peut avoir du sens
+pour un bioinformaticien chevronné, mais n'aidera pas ou pourra perdre une
+audience de non-spécialistes.  C'est une bonne idée de créer un résumé qui
+donne une idée du domaine d'application du paquet.  Dans cet exemple, cela
+donnerait « Manipulation d'alignements de séquences de nucléotides », ce qui
+devrait donner une meilleure idée à l'utilisateur pour savoir si c'est ce
+qu'il recherche.
+
+Les descriptions devraient faire entre cinq et dix lignes.  Utilisez des
+phrases complètes, et évitez d'utiliser des acronymes sans les introduire
+d'abord.  Évitez les phrases marketings comme « world-leading », «
+industrial-strength » et « next-generation » et évitez les superlatifs comme
+« the most advanced » — ils ne sont pas utiles pour les utilisateurs qui
+cherchent un paquet et semblent même un peu suspects.  À la place, essayez
+d'être factuels, en mentionnant les cas d'utilisation et les
+fonctionnalités.
+
address@hidden balisage texinfo, dans les descriptions de paquets
+Les descriptions peuvent inclure du balisage Texinfo, ce qui est utile pour
+introduire des ornements comme @code{@@code} ou @code{@@dfn}, des listes à
+points ou des hyperliens (@pxref{Overview,,, texinfo, GNU Texinfo}).
+Cependant soyez prudents lorsque vous utilisez certains symboles, par
+exemple @samp{@@} et les accolades qui sont les caractères spéciaux de base
+en Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}).  Les
+interfaces utilisateurs comme @command{guix package --show} prennent en
+charge le rendu.
+
+Les résumés et les descriptions sont traduits par des volontaires
address@hidden://translationproject.org/domain/guix-packages.html, sur le projet
+de traduction} pour que le plus d'utilisateurs possible puissent les lire
+dans leur langue natale.  Les interfaces utilisateurs les recherchent et les
+affichent dans la langue spécifiée par le paramètre de régionalisation
+actuel.
+
+Pour permettre à @command{xgettext} de les extraire comme des chaînes
+traduisibles, les résumés et les descriptions @emph{doivent être des chaînes
+litérales}.  Cela signifie que vous ne pouvez pas utiliser
address@hidden ou @code{format} pour construire ces chaînes :
+
address@hidden
+(package
+  ;; @dots{}
+  (synopsis "Ceci est traduisible")
+  (description (string-append "Ceci n'est " "*pas*" " traduisible.")))
address@hidden lisp
+
+La traduction demande beaucoup de travail, donc en tant que packageur,
+faîtes encore plus attention à vos résumés et descriptions car chaque
+changement peut demander d'autant plus de travail de la part des
+traducteurs.  Pour les aider, il est possible de donner des recommandations
+ou des instructions qu'ils pourront voir en insérant des commentaires
+spéciaux comme ceci (@pxref{xgettext Invocation,,, gettext, GNU Gettext}) :
+
address@hidden
+;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
+(description "ARandR is designed to provide a simple visual front end
+for the X11 resize-and-rotate (RandR) extension. @dots{}")
address@hidden example
+
+
address@hidden Modules python
address@hidden Modules python
+
address@hidden python
+Nous incluons actuellement Python 2 et Python 3, sous les noms de variables
+Scheme @code{python-2} et @code{python} comme expliqué dans @ref{Numéros de 
version}.  Pour éviter la confusion et les problèmes de noms avec d'autres
+langages de programmation, il semble désirable que le nom d'un paquet pour
+un module Python contienne le mot @code{python}.
+
+Certains modules ne sont compatibles qu'avec une version de Python, d'autres
+avec les deux.  Si le paquet Foo ne compile qu'avec Ptyhon 3, on le nomme
address@hidden ; s'il ne compile qu'avec Python 2, on le nome
address@hidden  S'il est compatible avec les deux versions, nous créons
+deux paquets avec les noms correspondant.
+
+If a project already contains the word @code{python}, we drop this; for
+instance, the module python-dateutil is packaged under the names
address@hidden and @code{python2-dateutil}.  If the project name
+starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as
+described above.
+
address@hidden Spécifier les dépendances
address@hidden entrées, pour les paquets Python
+
+Les informations de dépendances pour les paquets Python se trouvent
+généralement dans l'arborescence des source du paquet, avec plus ou moins de
+précision : dans le fichier @file{setup.py}, dans @file{requirements.txt} ou
+dans @file{tox.ini}.
+
+Votre mission, lorsque vous écrivez une recette pour un paquet Python, est
+de faire correspondre ces dépendances au bon type « d'entrée »
+(@pxref{Référence de paquet, inputs}).  Bien que l'importeur @code{pypi} fasse
+du bon boulot (@pxref{Invoquer guix import}), vous devriez vérifier la liste
+suivant pour déterminer où va telle dépendance.
+
address@hidden
+
address@hidden
+Nous empaquetons Python 2 avec @code{setuptools} et @code{pip} installé
+comme Python 3.4 par défaut.  Ainsi, vous n'avez pas à spécifié ces
+entrées.  @command{guix lint} vous avertira si vous faîtes cela.
+
address@hidden
+Les dépendances Python requises à l'exécutions vont dans
address@hidden  Elles sont typiquement définies dans le mot-clef
address@hidden dans @file{setup.py} ou dans le fichier
address@hidden
+
address@hidden
+Les paquets Python requis uniquement à la construction — p.@: ex.@: ceux
+listés dans le mot-clef @code{setup_requires} de @file{setup.py} — ou
+seulement pour les tests — p.@: ex.@: ceux dans @code{tests_require} — vont
+dans @code{native-inputs}.  La raison est qu'ils n'ont pas besoin d'être
+propagés car ils ne sont pas requis à l'exécution et dans le cas d'une
+compilation croisée, c'est l'entrée « native » qu'il nous faut.
+
+Les cadriciels de tests @code{pytest}, @code{mock} et @code{nose} sont des
+exemples.  Bien sûr si l'un de ces paquets est aussi requis à l'exécution,
+il doit aller dans @code{propagated-inputs}.
+
address@hidden
+Tout ce qui ne tombe pas dans les catégories précédentes va dans
address@hidden, par exemple des programmes pour des bibliothèques C requises
+pour construire des paquets Python avec des extensions C.
+
address@hidden
+Si un paquet Python a des dépendances facultatives (@code{extras_require}),
+c'est à vous de décider de les ajouter ou non, en fonction du ratio entre
+utilité et complexité (@pxref{Envoyer des correctifs, @command{guix size}}).
+
address@hidden itemize
+
+
address@hidden Modules perl
address@hidden Modules perl
+
address@hidden perl
+Les programmes Perl utiles en soit sont nommés comme les autres paquets,
+avec le nom amont en minuscule.  Pour les paquets Perl contenant une seule
+classe, nous utilisons le nom de la classe en minuscule, en remplaçant les
+occurrences de @code{::} par des tirets et en préfixant le tout par
address@hidden  Donc la classe @code{XML::Parser} devient
address@hidden  Les modules contenant plusieurs classes gardent
+leur nom amont en minuscule et sont aussi préfixés par @code{perl-}.  Ces
+modules tendent à avoir le mot @code{perl} quelque part dans leur nom, que
+nous supprimons en faveur du préfixe.  Par exemple, @code{libwww-perl}
+devient @code{perl-libwww}.
+
+
address@hidden Paquets java
address@hidden Paquets java
+
address@hidden java
+Le programmes Java utiles en soit sont nommés comme les autres paquets, avec
+le nom amont en minuscule.
+
+Pour éviter les confusions et les problèmes de nom avec d'autres langages de
+programmation, il est désirable que le nom d'un paquet Java soit préfixé par
address@hidden  Si un projet contient déjà le mot @code{java}, nous le
+supprimons, par exemple le paquet @code{ngsjava} est empaqueté sous le nom
address@hidden
+
+Pour les paquets java contenant une seul classe ou une petite hiérarchie de
+classes, nous utilisons le nom de la classe en minuscule, en remplaçant les
+occurrences de @code{.} par des tirets et en préfixant le tout par
address@hidden  Donc la classe @code{apache.commons.cli} devient
address@hidden
+
+
address@hidden Polices de caractères
address@hidden Polices de caractères
+
address@hidden polices
+Pour les polices qui n esont en général par installées par un utilisateurs
+pour du traitement de texte, ou qui sont distribuées en tant que partie d'un
+paquet logiciel plus gros, nous nous appuyons sur les règles générales pour
+les logiciels ; par exemple, cela s'applique aux polices livrées avec le
+système X.Org ou les polices qui font partie de TeX Live.
+
+Pour rendre plus facile la recherche par l'utilisateur, les noms des autres
+paquets contenant seulement des polices sont construits ainsi,
+indépendamment du nom du paquet en amont.
+
+Le nom d'un paquet contenant une unique famille de polices commence par
address@hidden ; il est suivi du nom du fondeur et d'un tiret @code{-} si le
+fondeur est connu, et du nom de la police, dont les espaces sont remplacés
+par des tirets (et comme d'habitude, toutes les lettres majuscules sont
+transformées en minuscules).  Par exemple, la famille de polices Gentium de
+SIL est empaqueté sous le nom @code{font-sil-gentium}.
+
+Pour un paquet contenant plusieurs familles de polices, le nom de la
+collection est utilisée à la place du nom de la famille.  Par exemple les
+polices Liberation consistent en trois familles, Liberation Sans, Liberation
+Serif et Liberation Mono.  Elles pourraient être empaquetées séparément sous
+les noms @code{font-liberation-sans} etc, mais comme elles sont distribuées
+ensemble sous un nom commun, nous préférons les empaqueter ensemble en tant
+que @code{font-liberation}.
+
+Dans le cas où plusieurs formats de la même famille ou collection sont
+empaquetés séparément, une forme courte du format, préfixé d'un tiret est
+ajouté au nom du paquet.  Nous utilisont @code{-ttf} pour les polices
+TrueType, @code{-otf} pour les polices OpenType et @code{-type1} pour les
+polices Type 1 de PostScript.
+
+
 @node Style de code
 @section Style de code
 
@@ -323,9 +782,8 @@ vous l'entrez.  En plus,
 @code{paredit.vim}} peut vous aider à gérer toutes ces parenthèses.
 
 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.
+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.
 
 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
@@ -376,6 +834,33 @@ Assurez-vous que le paquet se construise sur votre 
plate-forme avec
 @code{guix build @var{paquet}}.
 
 @item
+We recommend you also try building the package on other supported
+platforms.  As you may not have access to actual hardware platforms, we
+recommend using the @code{qemu-binfmt-service-type} to emulate them.  In
+order to enable it, add the following service to the list of services in
+your @code{operating-system} configuration:
+
address@hidden
+(service qemu-binfmt-service-type
+ (qemu-binfmt-configuration
+   (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el"))
+   (guix-support? #t)))
address@hidden example
+
+Then reconfigure your system.
+
+You can then build packages for different platforms by specifying the
address@hidden option.  For example, to build the "hello" package for the
+armhf, aarch64, powerpc, or mips64 architectures, you would run the
+following commands, respectively:
address@hidden
+guix build --system=armhf-linux --rounds=2 hello
+guix build --system=aarch64-linux --rounds=2 hello
+guix build --system=powerpc-linux --rounds=2 hello
+guix build --system=mips64el-linux --rounds=2 hello
address@hidden example
+
address@hidden
 @cindex construction groupée
 Assurez-vous que le paquet n'utilise pas de copie groupée d'un logiciel déjà
 disponible dans un paquet séparé.
@@ -391,21 +876,18 @@ depuis un unique emplacement et qu'ils affectent tout le 
système, ce
 qu'empêchent les copies groupées.
 
 @item
-Regardez le profile rapporté par @command{guix size} (@pxref{Invoquer 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.
+Take a look at the profile reported by @command{guix size} (@pxref{Invoquer 
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{Des paquets avec plusieurs résultats}), and which optional
+dependencies should be used.  In particular, avoid adding @code{texlive} as
+a dependency: because of its extreme size, use @code{texlive-tiny} or
address@hidden instead.
 
 @item
 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}).
 
address@hidden 
===========================================================================
address@hidden
address@hidden This file was generated with po4a. Translate the source file.
address@hidden
address@hidden 
===========================================================================
 @c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>.
 @cindex stratégie de branche
 @cindex stratégie de planification des reconstructions
@@ -418,7 +900,7 @@ principes :
 branche @code{master} (changements non-disruptifs).
 
 @item entre 300 et 1 200 paquets dépendants
-branche @code{staging} (changemets non-disruptifs).  Cette branche devrait
+branche @code{staging} (changements 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}).
@@ -460,15 +942,14 @@ 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.
 
-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}.
+Another option is to use @command{guix challenge} (@pxref{Invoquer guix 
challenge}).  You may run it once the package has been committed and built
+by @address@hidden 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.
 
 @item
 Lorsque vous écrivez de la documentation, utilisez une formulation au genre
diff --git a/doc/guix.fr.texi b/doc/guix.fr.texi
index c8a01f1..4ef3c1a 100644
--- a/doc/guix.fr.texi
+++ b/doc/guix.fr.texi
@@ -20,21 +20,25 @@
 @set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
 @set KEY-SERVER pool.sks-keyservers.net
 
address@hidden The official substitute server used by default.
address@hidden SUBSTITUTE-SERVER ci.guix.fr.info
+
 @copying
-Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic
address@hidden Copyright @copyright{} 2013, 2014, 2016 Andreas address@hidden 
Copyright
address@hidden 2013 Nikita address@hidden Copyright @copyright{} 2014, 2015,
-2016 Alex address@hidden Copyright @copyright{} 2015, 2016 Mathieu 
address@hidden
+Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019
+Ludovic address@hidden Copyright @copyright{} 2013, 2014, 2016 Andreas 
address@hidden
+Copyright @copyright{} 2013 Nikita address@hidden Copyright @copyright{} 2014,
+2015, 2016 Alex address@hidden Copyright @copyright{} 2015, 2016 Mathieu 
address@hidden
 Copyright @copyright{} 2014 Pierre-Antoine address@hidden Copyright 
@copyright{}
 2015 Taylan Ulrich Bayırlı/address@hidden Copyright @copyright{} 2015, 2016, 
2017
-Leo address@hidden Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo
+Leo address@hidden Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo
 address@hidden Copyright @copyright{} 2016 Ben address@hidden Copyright 
@copyright{}
 2016, 2017, 2018 Chris address@hidden Copyright @copyright{} 2016, 2017, 2018
 Efraim address@hidden Copyright @copyright{} 2016 John address@hidden Copyright
 @copyright{} 2016, 2017 Nils address@hidden Copyright @copyright{} 2016, 2017,
-2018 Jan address@hidden Copyright @copyright{} 2016 Julien address@hidden
-Copyright @copyright{} 2016 Alex ter address@hidden Copyright @copyright{} 
2017,
-2018 Clément address@hidden Copyright @copyright{} 2017, 2018 Mathieu 
address@hidden
+2018, 2019 Jan address@hidden Copyright @copyright{} 2016 Julien address@hidden
+Copyright @copyright{} 2016 Alex ter address@hidden Copyright @copyright{} 
2016,
+2017, 2018, 2019 Christopher address@hidden Copyright @copyright{} 2017, 2018
+Clément address@hidden Copyright @copyright{} 2017, 2018 Mathieu address@hidden
 Copyright @copyright{} 2017 Federico address@hidden Copyright @copyright{} 
2017,
 2018 Carlo address@hidden Copyright @copyright{} 2017 Thomas address@hidden
 Copyright @copyright{} 2017 address@hidden Copyright @copyright{} 2017
@@ -62,7 +66,7 @@ Documentation License ».
 @direntry
 * Guix: (guix.fr).           Gérer les logiciels installés et la 
                                configuration du système.
-* guix package : (guix.fr)Invoquer guix package.  Intaller, supprimer et 
+* guix package : (guix.fr)Invoquer guix package.  Installer, supprimer et 
                                                       mettre à jour des 
                                                       paquets.
 * guix gc : (guix.fr)Invoquer guix gc.  Récupérer de l'espace disque 
@@ -119,10 +123,19 @@ traduc@@traduc.org}.
 @menu
 * Introduction::             Qu'est-ce que Guix ?
 * Installation::             Installer Guix.
+* Installation du système::  Installer le système d'exploitation complet.
 * Gestion de paquets::       Installation des paquets, mises à jour, etc.
+* Development::              Guix-aided software development.
 * Interface de programmation::  Utiliser Guix en Scheme.
 * Utilitaires::              Commandes de gestion de paquets.
-* Distribution GNU::         Des logiciels pour un système GNU convivial.
+* Configuration système::   Configurer le système d'exploitation.
+* Documentation::            Visualiser les manuels d'utilisateur des 
+                               logiciels.
+* Installer les fichiers de débogage::  Nourrir le débogueur.
+* Mises à jour de sécurité::  Déployer des correctifs de sécurité 
+                                   rapidement.
+* Bootstrapping::            GNU/Linux depuis zéro.
+* Porter::                   Cibler une autre plateforme ou un autre noyau.
 * Contribuer::               Nous avons besoin de votre aide !
 
 * Remerciements::            Merci !
@@ -135,6 +148,13 @@ traduc@@traduc.org}.
 
 
 
+Introduction
+
+
+
+* Managing Software the Guix Way::  What's special.
+* Distribution GNU::         The packages and tools.
+
 Installation
 
 
@@ -159,6 +179,19 @@ Paramétrer le démon
                                          machines distantes.
 * Support de SELinux::       Utiliser une politique SELinux pour le démon.
 
+Installation du système
+
+
+
+* Limitations::              Ce à quoi vous attendre.
+* Considérations matérielles::  Matériel supporté.
+* Installation depuis une clef USB ou un DVD::  Préparer le média 
+                                                  d'installation.
+* Préparer l'installation::  Réseau, partitionnement, etc.
+* Effectuer l'installation::  Pour de vrai.
+* Installing Guix in a VM::  Guix System playground.
+* Construire l'image d'installation::  D'où vient tout cela.
+
 Gestion de paquets
 
 
@@ -175,7 +208,6 @@ Gestion de paquets
 * Inférieurs::              Interagir avec une autre révision de Guix.
 * Invoquer guix describe::   Affiche des informations sur la révision Guix 
                                actuelle.
-* Invoquer guix pack::       Créer des lots de logiciels.
 * Invoquer guix archive::    Exporter et importer des fichiers du dépôt.
 
 Substituts
@@ -185,23 +217,32 @@ Substituts
 * Serveur de substituts officiel::  Une source particulière de substituts.
 * Autoriser un serveur de substituts::  Comment activer ou désactiver les 
                                           substituts.
-* Authentification des substituts::  Coment Guix vérifie les substituts.
+* Authentification des substituts::  Comment Guix vérifie les substituts.
 * Paramètres de serveur mandataire::  Comment récupérer des substituts à 
                                          travers un serveur mandataire.
 * Échec de substitution::   Qu'arrive-t-il quand la substitution échoue.
 * De la confiance en des binaires::  Comment pouvez-vous avoir confiance en 
                                        un paquet binaire ?
 
+Development
+
+
+
+* Invoquer guix environment::  Mettre en place des environnements de 
+                                 développement.
+* Invoquer guix pack::       Créer des lots de logiciels.
+
 Interface de programmation
 
 
 
+* Modules de paquets::       Les paquets du point de vu du programmeur.
 * Définition des paquets::  Définir de nouveaux paquets.
 * Systèmes de construction::  Spécifier comment construire les paquets.
 * Le dépôt::               Manipuler le dépôt de paquets.
 * Dérivations::             Interface de bas-niveau avec les dérivations 
                                de paquets.
-* La monad du dépôt::      Interface purement fonctionnelle avec le 
+* La monade du dépôt::     Interface purement fonctionnelle avec le 
                                dépôt.
 * G-Expressions::            Manipuler les expressions de construction.
 * Invoquer guix repl::       S'amuser avec Guix de manière interactive.
@@ -228,8 +269,6 @@ Utilitaires
                                paquets.
 * Invoquer guix size::       Profiler l'utilisation du disque.
 * Invoquer guix graph::      Visualiser le graphe des paquets.
-* Invoquer guix environment::  Mettre en place des environnements de 
-                                 développement.
 * Invoquer guix publish::    Partager des substituts.
 * Invoquer guix challenge::  Défier les serveurs de substituts.
 * Invoquer guix copy::       Copier vers et depuis un dépôt distant.
@@ -248,35 +287,6 @@ Invoquer @command{guix build}
                                                 guix build ».
 * Débogage des échecs de construction::  La vie d'un empaqueteur.
 
-Distribution GNU
-
-
-
-* Installation du système::  Installer le système d'exploitation complet.
-* Configuration système::   Configurer le système d'exploitation.
-* Documentation::            Visualiser les manuels d'utilisateur des 
-                               logiciels.
-* Installer les fichiers de débogage::  Nourrir le débogueur.
-* Mises à jour de sécurité::  Déployer des correctifs de sécurité 
-                                   rapidement.
-* Modules de paquets::       Les paquets du point de vu du programmeur.
-* Consignes d'empaquetage::  Faire grandir la distribution.
-* Bootstrapping::            GNU/Linux depuis zéro.
-* Porter::                   Cibler une autre plateforme ou un autre noyau.
-
-Installation du système
-
-
-
-* Limitations::              Ce à quoi vous attendre.
-* Considérations matérielles::  Matériel supporté.
-* Installation depuis une clef USB ou un DVD::  Préparer le média 
-                                                  d'installation.
-* Préparer l'installation::  Réseau, partitionnement, etc.
-* Effectuer l'installation::  Pour de vrai.
-* Installer GuixSD dans une VM::  Jouer avec address@hidden
-* Construire l'image d'installation::  D'où vient tout cela.
-
 Configuration système
 
 
@@ -300,8 +310,7 @@ Configuration système
 * Configuration du chargeur d'amorçage::  Configurer le chargeur 
                                              d'amorçage.
 * Invoquer guix system::     Instantier une configuration du système.
-* Lancer GuixSD dans une VM::  Comment lancer GuixSD dans une machine 
-                                 virtuelle.
+* Running Guix in a VM::     How to run Guix System in a virtual machine.
 * Définir des services::    Ajouter de nouvelles définitions de services.
 
 Services
@@ -311,7 +320,7 @@ Services
 * Services de base::         Services systèmes essentiels.
 * Exécution de tâches planifiées::  Le service mcron.
 * Rotation des journaux::    Le service rottlog.
-* Services réseau::         Paramétres réseau, démon SSH, etc.
+* Services réseau::         Paramètres réseau, démon SSH, etc.
 * Système de fenêtrage X::  Affichage graphique.
 * Services d'impression::    Support pour les imprimantes locales et 
                                distantes.
@@ -347,40 +356,6 @@ Définir des services
 * Référence de service::   Référence de l'address@hidden
 * Services Shepherd::        Un type de service particulier.
 
-Consignes d'empaquetage
-
-
-
-* Liberté logiciel::        Ce que la distribution peut contenir.
-* Conventions de nommage::   Qu'est-ce qu'un bon nom ?
-* Numéros de version::      Lorsque le nom n'est pas suffisant.
-* Synopsis et descriptions::  Aider les utilisateurs à trouver le bon 
-                                paquet.
-* Modules python::           Un peu de comédie anglaise.
-* Modules perl::             Petites perles.
-* Paquets java::             Pause café.
-* Polices de caractères::   À fond les fontes.
-
-Contribuer
-
-
-
-* Construire depuis Git::    toujours le plus récent.
-* Lancer Guix avant qu'il ne soit installé::  Astuces pour les hackers.
-* La configuration parfaite::  Les bons outils.
-* Style de code::            Hygiène du contributeur.
-* Envoyer des correctifs::   Partager votre travail.
-
-Style de code
-
-
-
-* Paradigme de programmation::  Comment composer vos éléments.
-* Modules::                  Où stocker votre code ?
-* Types de données et reconnaissance de motif::  Implémenter des 
-                                                    structures de données.
-* Formatage du code::        Conventions d'écriture.
-
 @end detailmenu
 @end menu
 
@@ -389,19 +364,37 @@ Style de code
 @chapter Introduction
 
 @cindex but
-GNU address@hidden se prononce comme « geeks » (en prononçant le
-« s »), ou « ɡiːks » dans l'alphabet phonétique international (API).} est un
-outil de gestion de paquets pour le système address@hidden  Guix facilite pour 
les
-utilisateurs non privilégiés l'installation, la mise à jour et la
-suppression de paquets, la restauration à un ensemble de paquets précédent,
-la construction de paquets depuis les sources et plus généralement aide à la
-création et à la maintenance d'environnements logiciels.
+GNU address@hidden'' is pronounced like ``geeks'', or ``ɡiːks'' using
+the international phonetic alphabet (IPA).} is a package management tool for
+and distribution of the GNU system.  Guix makes it easy for unprivileged
+users to install, upgrade, or remove software packages, to roll back to a
+previous package set, to build packages from source, and generally assists
+with the creation and maintenance of software environments.
+
address@hidden Guix System
address@hidden GuixSD, now Guix System
address@hidden Guix System Distribution, now Guix System
+You can install address@hidden on top of an existing GNU/Linux system where
+it complements the available tools without interference
+(@pxref{Installation}), or you can use it as a standalone operating system
+distribution, @address@hidden@footnote{We used to refer to Guix
+System as ``Guix System Distribution'' or ``GuixSD''.  We now consider it
+makes more sense to group everything under the ``Guix'' banner since, after
+all, Guix System is readily available through the @command{guix system}
+command, even if you're using a different distro underneath!}.  
@xref{Distribution GNU}.
+
address@hidden
+* Managing Software the Guix Way::  What's special.
+* Distribution GNU::         The packages and tools.
address@hidden menu
+
address@hidden Managing Software the Guix Way
address@hidden Managing Software the Guix Way
 
 @cindex interfaces utilisateurs
-Guix fournit une interface de gestion des paquets par la ligne de commande
-(@pxref{Invoquer guix package}), un ensemble d'utilitaires en ligne de
-commande (@pxref{Utilitaires}) ainsi que des interfaces de programmation
-Scheme (@pxref{Interface de programmation}).
+Guix provides a command-line package management interface (@pxref{Gestion de 
paquets}), tools to help with software development (@pxref{Development}),
+command-line utilities for more advanced usage, (@pxref{Utilitaires}), as well
+as Scheme programming interfaces (@pxref{Interface de programmation}).
 @cindex démon de construction
 Son @dfn{démon de construction} est responsable de la construction des
 paquets pour les utilisateurs (@pxref{Paramétrer le démon}) et du
@@ -419,17 +412,6 @@ indépendants (@pxref{Modules de paquets}).  Il est aussi
 définitions de paquets spécialisées à partir de définitions existantes, même
 depuis la ligne de commande (@pxref{Options de transformation de paquets}).
 
address@hidden Distribution Système Guix
address@hidden GuixSD
-Vous pouvez installer address@hidden sur un système GNU/Linux existant pour
-compléter les outils disponibles sans interférence (@pxref{Installation}) ou
-vous pouvez l'utiliser à travers la @dfn{Distribution Système Guix} ou
-GuixSD (@pxref{Distribution GNU}) distincte.  Avec address@hidden, vous
address@hidden tous les aspects de la configuration du système
-d'exploitation et Guix s'occupe de créer la configuration d'une manière
-transactionnelle, reproductible et sans état (@pxref{Configuration
-système}).
-
 @cindex gestion de paquet fonctionnelle
 @cindex isolation
 Sous le capot, Guix implémente la discipline de @dfn{gestion de paquet
@@ -463,34 +445,112 @@ transactionnels, l'installation différenciée par 
utilisateur et le ramassage
 de miettes pour les paquets (@pxref{Fonctionnalités}).
 
 
address@hidden Distribution GNU
address@hidden Distribution GNU
+
address@hidden Guix System
+Guix comes with a distribution of the GNU system consisting entirely of free
address@hidden term ``free'' here refers to the
address@hidden://www.gnu.org/philosophy/free-sw.html,freedom provided to users 
of
+that software}.}.  The distribution can be installed on its own
+(@pxref{Installation du système}), but it is also possible to install Guix as a
+package manager on top of an installed GNU/Linux system
+(@pxref{Installation}).  When we need to distinguish between the two, we
+refer to the standalone distribution as address@hidden
+
+la distribution fournit les paquets cœur de GNU comme la GNU libc, GCC et
+Binutils, ainsi que de nombreuses applications GNU et non-GNU.  La liste
+complète des paquets disponibles se trouve
address@hidden://www.gnu.org/software/guix/packages,en ligne} ou en lançant
address@hidden package}  (@pxref{Invoquer guix package}) :
+
address@hidden
+guix package --list-available
address@hidden example
+
+Notre but est de fournir une distribution logicielle entièrement libre de
+GNU/Linux et d'autres variantes de GNU, en se concentrant sur la promotion
+et l'intégration étroite des composants GNU en insistant sur les programmes
+et les outils qui aident l'utilisateur à exercer ses libertés.
+
+Les paquets sont actuellement disponibles pour les plateformes suivantes :
+
address@hidden @code
+
address@hidden x86_64-linux
+l'architecture Intel et AMD @code{x86_64} avec le noyau Linux-libre ;
+
address@hidden i686-linux
+l'architecture Intel 32-bits (IA32) avec le noyau Linux-libre ;
+
address@hidden armhf-linux
+l'architecture ARMv7-A avec gestion des flottants matérielle, Thumb-2 et
+NEON, avec l'interface binaire applicative (ABI) EABI hard-float et le noyau
+Linux-libre ;
+
address@hidden aarch64-linux
+les processeurs ARMv8-A 64-bits en little-endian avec le noyau Linux-libre.
+Le support est actuellement expérimental et limité.  @xref{Contribuer},
+pour savoir comment aider !
+
address@hidden mips64el-linux
+les processeurs MIPS 64-bits little-endian, spécifiquement la série
+Loongson, ABI n32, avec le noyau Linux-libre.
+
address@hidden table
+
+With address@hidden, you @emph{declare} all aspects of the operating
+system configuration and Guix takes care of instantiating the configuration
+in a transactional, reproducible, and stateless fashion (@pxref{Configuration 
système}).  Guix System uses the Linux-libre kernel, the Shepherd
+initialization system (@pxref{Introduction,,, shepherd, The GNU Shepherd
+Manual}), the well-known GNU utilities and tool chain, as well as the
+graphical environment or system services of your choice.
+
+Guix System is available on all the above platforms except
address@hidden
+
address@hidden
+Pour des informations sur comment porter vers d'autres architectures et
+d'autres noyau, @pxref{Porter}.
+
+La construction de cette distribution est un effort collaboratif et nous
+vous invitons à nous rejoindre ! @xref{Contribuer}, pour des informations
+sur la manière de nous aider.
+
+
 @c *********************************************************************
 @node Installation
 @chapter Installation
 
 @cindex installer Guix
address@hidden site officiel
-GNU Guix est disponible au téléchargement depuis son site web sur
address@hidden://www.gnu.org/software/guix/}.  Cette section décrit les
-pré-requis logiciels de Guix ainsi que la manière de l'installer et de se
-préparer à l'utiliser.
 
-Remarquez que cette section concerne l'installation du gestionnaire de
-paquet, ce qui se fait sur un système GNU/Linux en cours d'exécution.  Si
-vous souhaitez plutôt installer le système d'exploitation GNU complet,
address@hidden du système}.
address@hidden Remarque
+We recommend the use of this
address@hidden://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
+shell installer script} to install Guix on top of a running GNU/Linux
+system, thereafter called a @dfn{foreign address@hidden section is
+concerned with the installation of the package manager, which can be done on
+top of a running GNU/Linux system.  If, instead, you want to install the
+complete GNU operating system, @pxref{Installation du système}.} The script
+automates the download, installation, and initial configuration of Guix.  It
+should be run as the root user.
address@hidden quotation
 
 @cindex distro extérieure
 @cindex répertoires liés aux distro extérieures
-
-Lorsqu'il est installé sur un système GNU/Linux existant — ci-après nommé
address@hidden extérieure} — address@hidden complète les outils disponibles sans
-interférence.  Ses données se trouvent exclusivement dans deux répertoires,
-typiquement @file{/gnu/store} et @file{/var/guix} ; les autres fichiers de
-votre système comme @file{/etc} sont laissés intacts.
+When installed on a foreign distro, address@hidden complements the available
+tools without interference.  Its data lives exclusively in two directories,
+usually @file{/gnu/store} and @file{/var/guix}; other files on your system,
+such as @file{/etc}, are left untouched.
 
 Une fois installé, Guix peut être mis à jour en lançant @command{guix pull}
 (@pxref{Invoquer guix pull}).
 
+If you prefer to perform the installation steps manually or want to tweak
+them, you may find the following subsections useful.  They describe the
+software requirements of Guix, as well as how to install it manually and get
+ready to use it.
+
 @menu
 * Installation binaire::     Commencer à utiliser Guix en un rien de temps 
                                !
@@ -508,18 +568,12 @@ Une fois installé, Guix peut être mis à jour en lançant 
@command{guix pull}
 
 @cindex installer Guix depuis les binaires
 @cindex script d'installation
-Cette section décrit comment intaller Guix sur un système quelconque depuis
+Cette section décrit comment installer Guix sur un système quelconque depuis
 un archive autonome qui fournit les binaires pour Guix et toutes ses
 dépendances.  C'est souvent plus rapide que d'installer depuis les sources,
-ce qui est décrit dans les sections suivantes.  Le seul pré-requis est
+ce qui est décrit dans les sections suivantes.  Le seul prérequis est
 d'avoir address@hidden et Xz.
 
-Nous fournissons un script
address@hidden://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
-script d'intallation shell} qui automatise le téléchargement, l'installation
-et la configuration initiale de Guix.  Il devrait être lancé en tant
-qu'utilisateur root.
-
 L'installation se comme ceci :
 
 @enumerate
@@ -564,7 +618,7 @@ tant que @code{root}, lancez :
 @end example
 
 Cela crée @file{/gnu/store} (@pxref{Le dépôt}) and @file{/var/guix}.  Ce
-deuxième dossier contient un profil pret à être utilisé pour @code{root}
+deuxième dossier contient un profil prêt à être utilisé pour @code{root}
 (voir les étapes suivantes).
 
 Ne décompressez @emph{pas} l'archive sur un système Guix lancé car cela
@@ -664,12 +718,12 @@ changer le chemin de recherche de Info).
 
 @item
 @cindex substituts, autorisations
-Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses mirroirs
-(@pxref{Substituts}), autorisez-les :
+To use substitutes from @address@hidden or one of its
+mirrors (@pxref{Substituts}), authorize them:
 
 @example
 # guix archive --authorize < \
-     ~root/.config/guix/current/share/guix/hydra.gnu.org.pub
+     ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER}.pub
 @end example
 
 @item
@@ -694,7 +748,7 @@ retrouveriez gravement handicapé par l'absence de la 
commande
 @code{guix package -r guix}.
 
 L'archive d'installation binaire peut être (re)produite et vérifiée
-simplement en lançaint la commande suivante dans l'arborescence des sources
+simplement en lançant la commande suivante dans l'arborescence des sources
 de Guix :
 
 @example
@@ -714,17 +768,20 @@ guix pack -s @var{system} --localstatedir \
 @node Prérequis
 @section Prérequis
 
-Cette section dresse la liste des pré-requis pour la construction de Guix
+Cette section dresse la liste des prérequis pour la construction de Guix
 depuis les sources.  La procédure de construction pour Guix est la même que
 pour les autres logiciels GNU, et n'est pas expliquée ici.  Regardez les
 fichiers @file{README} et @file{INSTALL} dans l'arborescence des sources de
 Guix pour plus de détails.
 
address@hidden site officiel
+GNU Guix is available for download from its website at
address@hidden://www.gnu.org/software/guix/}.
+
 GNU Guix dépend des paquets suivants :
 
 @itemize
address@hidden @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 
ou
-supérieure, dont 2.2.x,
address@hidden @url{http://gnu.org/software/guile/, GNU Guile}, version 2.2.x;
 @item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
 0.1.0 ou supérieure,
 @item
@@ -738,6 +795,7 @@ version 0.1.0 ou supérieure,
 @c FIXME: Specify a version number once a release has been made.
 @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, d'août 2017 ou
 ultérieur,
address@hidden @uref{https://savannah.nongnu.org/projects/guile-json/, 
Guile-JSON};
 @item @url{http://zlib.net, zlib},
 @item @url{http://www.gnu.org/software/make/, GNU Make}.
 @end itemize
@@ -746,17 +804,11 @@ Les dépendances suivantes sont facultatives :
 
 @itemize
 @item
-Installer @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON}
-vous permettra d'utiliser la commande @command{guix import pypi}
-(@pxref{Invoquer guix import}).  Il est surtout utile pour les développeurs
-et pas pour les utilisateurs occasionnels.
-
address@hidden
 @c Note: We need at least 0.10.2 for 'channel-send-eof'.
 Le support pour la décharge de construction (@pxref{Réglages du délestage du 
démon})
 et @command{guix copy}  (@pxref{Invoquer guix copy}) dépend de
 @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version
-0.10.2 ou ulltérieure.
+0.10.2 ou ultérieure.
 
 @item
 Lorsque @url{http://www.bzip.org, libbz2} est disponible,
@@ -828,7 +880,7 @@ make check TESTS="tests/store.scm tests/cpio.scm"
 
 Par défaut, les résultats des tests sont affichés au niveau du fichier.
 Pour voir les détails de chaque cas de test individuel, il est possible de
-définire la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme dans cet
+définir la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme dans cet
 exemple :
 
 @example
@@ -840,9 +892,9 @@ le fichier @file{test-suite.log}.  Précisez la version de 
Guix utilisée
 ainsi que les numéros de version de ses dépendances (@pxref{Prérequis})
 dans votre message.
 
-Guix possède aussi une suite de tests de systèmes complets qui test des
-instances complètes du système d'exploitation address@hidden  Elle ne peut être
-lancée qui sur un système où Guix est déjà installé, avec :
+Guix also comes with a whole-system test suite that tests complete Guix
+System instances.  It can only run on systems where Guix is already
+installed, using:
 
 @example
 make check-system
@@ -1156,13 +1208,11 @@ les machines de construction correspondantes.
 @end table
 @end deftp
 
-La commande @code{guile} doit être dans le chemin de recherche des machines
-de construction.  En plus, les modules Guix doivent se trouver dans
address@hidden sur la machine de construction.  Vous pouvez
-vérifier si c'est le cas en lançant :
+The @command{guix} command must be in the search path on the build
+machines.  You can check whether this is the case by running:
 
 @example
-ssh build-machine guile -c "'(use-modules (guix config))'"
+ssh build-machine guix repl --version
 @end example
 
 Il reste une dernière chose à faire maintenant que @file{machines.scm} est
@@ -1238,11 +1288,11 @@ cette commande sur le nœud principal :
 @cindex SELinux, politique du démon
 @cindex contrôle d'accès obligatoire, SELinux
 @cindex sécurité, guix-daemon
-Guix inclus un fichier de politique SELniux dans @file{etc/guix-daemon.cil}
-qui peut être installé sur un système où SELinux est activé pour que les
-fichiers Guix soient étiquetés et pour spécifier le comportement attendu du
-démon.  Comme GuixSD ne fournit pas de politique SELniux de base, la
-politique du démon ne peut pas être utilisée sur address@hidden
+Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can
+be installed on a system where SELinux is enabled, in order to label Guix
+files and to specify the expected behavior of the daemon.  Since Guix System
+does not provide an SELinux base policy, the daemon policy cannot be used on
+Guix System.
 
 @subsubsection Installer la politique SELinux
 @cindex SELinux, installation de la politique
@@ -1270,7 +1320,7 @@ permet toutes les opérations nécessaires.
 @subsubsection Limitations
 @cindex SELinux, limites
 
-La politique n'et pas parfaite.  Voici une liste de limitations et de
+La politique n'est pas parfaite.  Voici une liste de limitations et de
 bizarreries qui vous devriez prendre en compte avant de déployer la
 politique SELinux fournie pour le démon Guix.
 
@@ -1389,10 +1439,9 @@ distante @code{set-build-options} (@pxref{Le dépôt}).
 
 @item address@hidden
 @anchor{daemon-substitute-urls}
-Considèrer @var{urls} comme la liste séparée par des espaces des URL des
-sources de substituts par défaut.  Lorsque cette option est omise,
address@hidden://mirror.hydra.gnu.org https://hydra.gnu.org} est utilisé
-(@code{mirror.hydra.gnu.org} est un mirroire de @code{hydra.gnu.org}).
+Consider @var{urls} the default whitespace-separated list of substitute
+source URLs.  When this option is omitted,
address@hidden://@value{SUBSTITUTE-SERVER}} is used.
 
 Cela signifie que les substituts sont téléchargés depuis les @var{urls},
 tant qu'ils sont signés par une signature de confiance (@pxref{Substituts}).
@@ -1458,7 +1507,7 @@ si les résultats de construction consécutifs ne sont pas 
identiques
 bit-à-bit.  Remarquez que ce paramètre peut être modifié par les clients
 comme @command{guix build} (@pxref{Invoquer guix build}).
 
-Lorsqu'utilisé avec @option{--keep-failed}, la sourtie différente est gardée
+Lorsqu'utilisé avec @option{--keep-failed}, la sortie différente est gardée
 dans le dépôt sous @file{/gnu/store/@dots{}-check}.  Cela rend plus facile
 l'étude des différences entre les deux résultats.
 
@@ -1603,15 +1652,14 @@ connexions sur le socket Unix-domain situé à
 @section Réglages applicatifs
 
 @cindex distro extérieure
-Lorsque vous utilisez Guix par dessus une distribution GNU/Linux différente
-de GuixSD — ce qu'on appelle une @dfn{distro externe} — quelques étapes
-supplémentaires sont requises pour que tout soit en place.  En voici
-certaines.
+When using Guix on top of GNU/Linux distribution other than Guix System---a
+so-called @dfn{foreign distro}---a few additional steps are needed to get
+everything in place.  Here are some of them.
 
 @subsection Régionalisation
 
 @anchor{locales-and-locpath}
address@hidden régionalisation, en dehors de GuixSD
address@hidden locales, when not on Guix System
 @vindex LOCPATH
 @vindex GUIX_LOCPATH
 Les paquets installés @i{via} Guix n'utiliseront pas les données de
@@ -1686,12 +1734,13 @@ GNU C Reference Manual})
 Lorsqu'ils essayent d'effectuer une résolution de nom — par exemple en
 appelant la fonction @code{getaddrinfo} en C — les applications essayent
 d'abord de se connecter au nscd ; en cas de réussite, nscd effectue la
-résolution de nom pour eux.  Si le nscd ne tourne pas, alors ils effectue la
-résolution eux-même, en changeant les service de résolution dans leur propre
-espace d'adressage et en le lançant.  Ce services de résolution de noms —
-les fichiers @file{libnns_*.so} — sont @code{dlopen}és mais ils peuvent
-provenir de la bibliothèque C du système, plutôt que de la bibliothèque C à
-laquelle l'application est liée (la bibliothèque C de Guix).
+résolution de nom pour eux.  Si le nscd ne tourne pas, alors ils effectuent
+la résolution eux-mêmes, en changeant les service de résolution dans leur
+propre espace d'adressage et en le lançant.  Ce services de résolution de
+noms — les fichiers @file{libnns_*.so} — sont @code{dlopen}és mais ils
+peuvent provenir de la bibliothèque C du système, plutôt que de la
+bibliothèque C à laquelle l'application est liée (la bibliothèque C de
+Guix).
 
 Et c'est là que se trouve le problème : si votre application est liée à la
 bibliothèque C de Guix (disons, glibc-2.24) et essaye de charger les
@@ -1728,7 +1777,7 @@ guix package -i font-adobe-source-han-sans:cn
 @cindex @code{xterm}
 Les vieux programmes comme @command{xterm} n'utilisent pas fontconfig et
 s'appuient sur le rendu du côté du serveur.  Ces programmes ont besoin de
-spécifier le nom complet de la police en utlisant XLFD (X Logical Font
+spécifier le nom complet de la police en utilisant XLFD (X Logical Font
 Description), comme ceci :
 
 @example
@@ -1786,7 +1835,7 @@ The GNU Emacs Manual}).
 Par défaut, Emacs (installé avec Guix) « sait » où ces paquets ce trouvent,
 donc vous n'avez pas besoin de le configurer.  Si, pour quelque raison que
 ce soit, vous souhaitez éviter de charger automatiquement les paquets Emacs
-installés avec Guix, vous pouvez le faire en lançaint Emacs avec l'option
+installés avec Guix, vous pouvez le faire en lançant Emacs avec l'option
 @code{--no-site-file} (@pxref{Init File,,, emacs, The GNU Emacs Manual}).
 
 @subsection La chaîne d'outils GCC
@@ -1802,8224 +1851,8386 @@ lui-même, la bibliothèque C de GNU (les en-têtes et 
les binaires, plus les
 symboles de débogage dans la sortie @code{debug}), Binutils et une enveloppe
 pour l'éditeur de liens.
 
address@hidden tentative d'utiliser une bibliothèque impure, message d'erreur
-
-Le rôle de l'enveloppe est d'inspecter les paramètres @code{-L} et @code{-l}
-passés à l'éditeur de liens, d'ajouter des arguments @code{-rpath}
-correspondants et d'invoquer le véritable éditeur de liens avec ce nouvel
-ensemble d'arguments.  Par défaut, l'enveloppe refuse de lier des
-bibliothèques en dehors du dépôt pour assure la « pureté ».  Cela peut être
-embêtant lorsque vous utilisez la chaîne d'outils pour lier des
-bibliothèques locales.  Pour permettre des références à des bibliothèques en
-dehors du dépôt, vous devrez définir la variable d'environnement
address@hidden
+The wrapper's purpose is to inspect the @code{-L} and @code{-l} switches
+passed to the linker, add corresponding @code{-rpath} arguments, and invoke
+the actual linker with this new set of arguments.  You can instruct the
+wrapper to refuse to link against libraries not in the store by setting the
address@hidden environment variable to @code{no}.
 
 @c TODO What else?
 
 @c *********************************************************************
address@hidden Gestion de paquets
address@hidden Gestion de paquets
address@hidden Installation du système
address@hidden Installation du système
 
address@hidden paquets
-Le but de GNU Guix est de permettre à ses utilisateurs d'installer, mettre à
-jour et supprimer facilement des paquets logiciels sans devoir connaître
-leur procédure de construction ou leurs dépendances.  Guix va aussi plus
-loin que ces fonctionnalités évidentes.
address@hidden installing Guix System
address@hidden Guix System, installation
+This section explains how to install Guix System on a machine.  Guix, as a
+package manager, can also be installed on top of a running GNU/Linux system,
address@hidden
 
-Ce chapitre décrit les principales fonctionnalités de Guix, ainsi que des
-outils de gestion des paquets qu'il fournit.  En plus de l'interface en
-ligne de commande décrite en dessous de (@pxref{Invoquer guix package,
address@hidden package}}), vous pouvez aussi utiliser l'interface Emacs-Guix
-(@pxref{Top,,, emacs-guix, Le manuel de référence de emacs-guix}), après
-avoir installé le paquet @code{emacs-guix} (lancez la commande @kbd{M-x
-guix-help} pour le démarrer) :
address@hidden
address@hidden Remarque
address@hidden This paragraph is for people reading this from tty2 of the
address@hidden installation image.
+Vous lisez cette documentation avec un lecteur Info.  Pour des détails sur
+son utilisation, appuyez sur la touche @key{ENTRÉE} (« Entrée » ou « à la
+ligne ») sur le lien suivant : @pxref{Top, Info reader,, info-stnd,
+Stand-alone GNU Info}.  Appuyez ensuite sur @kbd{l} pour revenir ici.
 
address@hidden
-guix package -i emacs-guix
address@hidden example
+Autrement, lancez @command{info info} dans un autre tty pour garder ce
+manuel ouvert.
address@hidden quotation
address@hidden ifinfo
 
 @menu
-* Fonctionnalités::         Comment Guix va rendre votre vie plus heureuse.
-* Invoquer guix package::    Installation, suppression, etc.@: de paquets.
-* Substituts::               Télécharger des binaire déjà construits.
-* Des paquets avec plusieurs résultats::  Un seul paquet source, plusieurs 
-                                             résultats.
-* Invoquer guix gc::         Lancer le ramasse-miettes.
-* Invoquer guix pull::       Récupérer la dernière version de Guix et de 
-                               la distribution.
-* Canaux::                   Personnaliser la collection des paquets.
-* Inférieurs::              Interagir avec une autre révision de Guix.
-* Invoquer guix describe::   Affiche des informations sur la révision Guix 
-                               actuelle.
-* Invoquer guix pack::       Créer des lots de logiciels.
-* Invoquer guix archive::    Exporter et importer des fichiers du dépôt.
+* Limitations::              Ce à quoi vous attendre.
+* Considérations matérielles::  Matériel supporté.
+* Installation depuis une clef USB ou un DVD::  Préparer le média 
+                                                  d'installation.
+* Préparer l'installation::  Réseau, partitionnement, etc.
+* Effectuer l'installation::  Pour de vrai.
+* Installing Guix in a VM::  Guix System playground.
+* Construire l'image d'installation::  D'où vient tout cela.
 @end menu
 
address@hidden Fonctionnalités
address@hidden Fonctionnalités
address@hidden Limitations
address@hidden Limitations
+
+As of version @value{VERSION}, Guix System is not production-ready.  It may
+contain bugs and lack important features.  Thus, if you are looking for a
+stable production system that respects your freedom as a computer user, a
+good solution at this point is to consider
address@hidden://www.gnu.org/distros/free-distros.html, one of the more
+established GNU/Linux distributions}.  We hope you can soon switch to the
+Guix System without fear, of course.  In the meantime, you can also keep
+using your distribution and try out the package manager on top of it
+(@pxref{Installation}).
 
-Lorsque vous utilisez Guix, chaque paquet arrive dans @dfn{dépôt des
-paquets}, dans son propre répertoire — quelque chose comme
address@hidden/gnu/store/xxx-paquet-1.2}, où @code{xxx} est une chaîne en 
base32.
+Avant de procéder à l'installation, soyez conscient de ces limitations les
+plus importantes qui s'appliquent à la version @value{VERSION} :
 
-Plutôt que de se rapporter à ces répertoires, les utilisateurs ont leur
-propre @dfn{profil} qui pointe vers les paquets qu'ils veulent vraiment
-utiliser.  Ces profils sont stockés dans le répertoire personnel de chaque
-utilisateur dans @code{$HOME/.guix-profile}.
address@hidden
address@hidden
+Le procédé d'installation n'a pas d'interface utilisateur graphique et
+requiert une certaine familiarité avec GNU/Linux (voir les sous-sections
+suivantes pour avoir un aperçu de ce que cela signifie).
 
-Par exemple, @code{alice} installe GCC 4.7.2.  Il en résulte que
address@hidden/home/alice/.guix-profile/bin/gcc} pointe vers
address@hidden/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Maintenant, sur la même
-machine, @code{bob} a déjà intallé GCC 4.8.0.  Le profil de @code{bob}
-continue simplement de pointer vers
address@hidden/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — c.-à-d.@: les deux 
versions de
-GCC coexistent surs le même système sans aucune interférence.
address@hidden
+LVM (gestionnaire de volumes logiques) n'est pas supporté.
 
-La commande @command{guix package} est l'outil central pour gérer les
-paquets (@pxref{Invoquer guix package}).  Il opère sur les profils
-utilisateurs et peut être utilisé avec les @emph{privilèges utilisateurs
-normaux}.
address@hidden
+De plus en plus de services systèmes sont fournis (@pxref{Services}) mais
+certains manquent toujours cruellement.
 
address@hidden transactions
-La commande fournit les opérations évidentes d'installation, de suppression
-et de mise à jour.  Chaque invocation est en fait une @emph{transaction} :
-soit l'opération demandée réussi, soit rien ne se passe.  Ainsi, si le
-processus @command{guix package} est terminé pendant la transaction ou si
-une panne de courant arrive pendant la transaction, le profil de
-l'utilisateur reste dans son état précédent et reste utilisable.
address@hidden
+More than 8,500 packages are available, but you might occasionally find that
+a useful package is missing.
 
-En plus, il est possible @emph{d'annuler} toute transaction sur les
-paquets.  Donc si par exemple un mise à jour installe une nouvelle version
-d'un paquet qui révèle un bogue sérieux, les utilisateurs peuvent revenir en
-arrière à l'instance précédente de leur profil qui est connu pour bien
-fonctionner.  De manière similaire, la configuration globale du système dans
-GuixSD est sujette aux mises à jour transactionnelles et aux annulations
-(@pxref{Utiliser le système de configuration}).
address@hidden
+GNOME, Xfce, LXDE et Enlightenment sont disponibles (@pxref{Services de 
bureaux}), ainsi qu'un certain nombre de gestionnaires de fenêtres X11.
+cependant, certaines applications graphiques peuvent manquer, ainsi que KDE.
address@hidden itemize
 
-Tous les paquets du dépôt des paquets peut être @emph{glané}.  Guix peut
-déterminer quels paquets sont toujours référencés par les profils des
-utilisateurs et supprimer ceux qui ne sont plus référencés de manière
-prouvable (@pxref{Invoquer guix gc}).  Les utilisateurs peuvent toujours
-explicitement supprimer les anciennes générations de leur profil pour que
-les paquets auxquels elles faisaient référence puissent être glanés.
+Vous êtes avertis ! Mais plus qu'un avertissement, c'est une invitation à
+rapporter les problèmes (et vos succès !) et à nous rejoindre pour améliorer
+la distribution.  @xref{Contribuer}, pour plus d'info.
 
address@hidden reproductibilité
address@hidden constructions reproductibles
-Guix prend une approche @dfn{purement fonctionnelle} de la gestion de
-paquets, telle que décrite dans l'introduction (@pxref{Introduction}).
-Chaque nom de répertoire de paquet dans @file{/gnu/store} contient un hash
-de toutes les entrées qui ont été utilisées pendant la construction de ce
-paquet — le compilateur, les bibliothèques, les scripts de construction,
-etc.  Cette correspondance directe permet aux utilisateurs de s'assurer que
-l'installation d'un paquet donné correspond à l'état actuel de leur
-distribution.  Elle aide aussi à maximiser la @dfn{reproductibilité} : grâce
-aux environnements de construction utilisés, une construction donnée à de
-forte chances de donner des fichiers identiques bit-à-bit lorsqu'elle est
-effectuée sur des machines différents (@pxref{Invoquer guix-daemon,
-container}).
 
address@hidden substituts
-Ce fondement permet à Guix de supporter le @dfn{déploiement transparent de
-binaire ou source}.  Lorsqu'une binaire pré-construit pour une entrée de
address@hidden/gnu/store} est disponible depuis une source externe (un
address@hidden), Guix le télécharge simplement et le décompresse ; sinon,
-il construit le paquet depuis les sources localement (@pxref{Substituts}).
-Comme les résultats des constructions sont généralement reproductibles au
-bit près, si vous n'avez pas besoin de faire confiance aux serveurs qui
-fournissent les substituts : vous pouvez forcer une construction locale et
address@hidden les fournisseurs (@pxref{Invoquer guix challenge}).
address@hidden Considérations matérielles
address@hidden Considérations matérielles
 
-Le contrôle de l'environnement de construction est aussi une fonctionnalité
-utile pour les développeurs.  La commande @command{guix environment} permet
-aux développeurs d'un paquet de mettre en place rapidement le bon
-environnement de développement pour leur paquet, sans avoir à installer
-manuellement les dépendances du paquet dans leur profil (@pxref{Invoquer guix 
environment}).
address@hidden hardware support on Guix System
address@hidden focuses on respecting the user's computing freedom.  It builds
+around the kernel Linux-libre, which means that only hardware for which free
+software drivers and firmware exist is supported.  Nowadays, a wide range of
+off-the-shelf hardware is supported on GNU/Linux-libre---from keyboards to
+graphics cards to scanners and Ethernet controllers.  Unfortunately, there
+are still areas where hardware vendors deny users control over their own
+computing, and such hardware is not supported on Guix System.
 
address@hidden réplication, des environnements logiciels
address@hidden suivi de la provenance, des artefacts logiciels
-La totalité de Guix et des définitions de paquets sont placés sous contrôle
-de version, et @command{guix pull} vous permet de « voyager dans le temps »
-de l'historique de Guix lui-même (@pxref{Invoquer guix pull}).  Cela est
-rend possible la réplication d'une instance Guix sur une machine différente
-ou plus tard, ce qui vous permet de @emph{répliquer des environnements
-logiciels complets}, tout en garantissant un @dfn{suivi de provenance}
-précis des logiciels.
address@hidden WiFi, support matériel
+One of the main areas where free drivers or firmware are lacking is WiFi
+devices.  WiFi devices known to work include those using Atheros chips
+(AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre
+driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core
+Revision 5), which corresponds to the @code{b43-open} Linux-libre driver.
+Free firmware exists for both and is available out-of-the-box on Guix
+System, as part of @var{%base-firmware} (@pxref{Référence de système 
d'exploitation,
address@hidden).
 
address@hidden Invoquer guix package
address@hidden Invoquer @command{guix package}
address@hidden RYF, Respects Your Freedom
+La @uref{https://www.fsf.org/, Free Software Foundation} a un programme de
+certification nommé @uref{https://www.fsf.org/ryf, @dfn{Respects Your
+Freedom}} (RYF), pour les produits matériels qui respectent votre liberté et
+votre vie privée en s'assurant que vous avez le contrôle sur l'appareil.
+Nous vous encourageons à vérifier la liste des appareils certifiés par RYF.
 
address@hidden installer des paquets
address@hidden supprimer des paquets
address@hidden installation de paquets
address@hidden suppression de paquets
-La commande @command{guix package} est l'outil qui permet d'installer,
-mettre à jour et supprimer les paquets ainsi que de revenir à une
-configuration précédente.  Elle n'opère que dans le profil de l'utilisateur
-et fonctionne avec les privilèges utilisateurs normaux
-(@pxref{Fonctionnalités}).  Sa syntaxe est :
+Une autre ressource utile est le site web @uref{https://www.h-node.org/,
+H-Node}.  Il contient un catalogue d'appareils avec des informations sur
+leur support dans GNU/Linux.
 
address@hidden
-guix package @var{options}
address@hidden example
address@hidden transactions
address@hidden spécifie d'abord les opérations à effectuer pendant la
-transaction.  À la fin, une nouvelle génération du profil est créée mais les
address@hidden précédentes du profil restent disponibles si l'utilisateur
-souhaite y revenir.
 
-Par exemple, pour supprimer @code{lua} et installer @code{guile} et
address@hidden en une seule transaction :
address@hidden Installation depuis une clef USB ou un DVD
address@hidden Installation depuis une clef USB ou un DVD
+
+Une image d'installation ISO-9660 téléchargeable depuis
address@hidden://alpha.gnu.org/gnu/guix/address@hidden@var{système}.iso.xz}
+peut être écrite sur une clef USB ou gravée sur un DVD, où @var{système} est
+l'une de ces valeurs :
+
address@hidden @code
address@hidden x86_64-linux
+pour un système GNU/Linux sur un CPU compatible Intel/AMD 64-bits ;
+
address@hidden i686-linux
+pour un système GNU/Linux sur un CPU compatible Intel 32-bits ;
address@hidden table
+
address@hidden start duplication of authentication part from ``Binary 
Installation''
+Assurez-vous de télécharger les fichiers @file{.sig} associés et de vérifier
+l'authenticité de l'image avec, de cette manière :
 
 @example
-guix package -r lua -i guile guile-cairo
+$ wget https://alpha.gnu.org/gnu/guix/address@hidden@var{system}.iso.xz.sig
+$ gpg --verify address@hidden@var{system}.iso.xz.sig
 @end example
 
address@hidden package} supporte aussi une @dfn{approche déclarative} où
-l'utilisateur spécifie l'ensemble exact des paquets qui doivent être
-disponibles le passe @i{via} l'option @option{--manifest}
-(@pxref{profile-manifest, @option{--manifest}}).
-
address@hidden profil
-Pour chaque utilisateur, un lien symbolique vers le profil par défaut de cet
-utilisateur est automatiquement créé dans @file{$HOME/.guix-profile}.  Ce
-lien symbolique pointe toujours vers la génération actuelle du profil par
-défaut de l'utilisateur.  Ainsi, les utilisateurs peuvent ajouter
address@hidden/.guix-profile/bin} à leur variable d'environnement @code{PATH}
-etc.
address@hidden chemins de recherche
-Si vous n'utilisez pas la distribution système Guix, vous devriez ajouter
-les lignes suivantes à votre @file{~/.bash_profile} (@pxref{Bash Startup
-Files,,, bash, The GNU Bash Reference Manual}) pour que les shells créés
-ensuite aient les bonnes définitions des variables d'environnement :
+Si cette commande échoue parce que vous n'avez pas la clef publique requise,
+lancez cette commande pour l'importer :
 
 @example
-GUIX_PROFILE="$HOME/.guix-profile" ; \
-source "$HOME/.guix-profile/etc/profile"
+$ gpg --keyserver @value{KEY-SERVER} \
+      --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
 @end example
 
-Dans un environnement multi-utilisateur, les profils utilisateurs sont
-stockés comme une @dfn{racine du ramasse-miettes}, vers laquelle pointe
address@hidden/.guix-profile} (@pxref{Invoquer guix gc}).  Ce répertoire est
-normalement
address@hidden@var{localstatedir}/guix/profiles/per-user/@var{utilisateur}},  où
address@hidden est la valeur passée à @code{configure} avec
address@hidden et @var{utilisateur} le nom d'utilisateur.  Le
-répertoire @file{per-user} est créé lorsque @command{guix-daemon} est
-démarré et sous-répertoire @var{utilisateur} est créé par @command{guix
-package}.
address@hidden
address@hidden end duplication
+et relancez la commande @code{gpg --verify}.
 
-Les @var{options} peuvent être les suivante :
+Cette image contient les outils nécessaires à l'installation.  Elle est
+faite pour être copiée @emph{telle quelle} sur une clef USB assez grosse ou
+un DVD.
 
address@hidden @code
address@hidden Copie sur une clef USB
 
address@hidden address@hidden @dots{}
address@hidden -i @var{paquet} @dots{}
-Installer les @var{paquet}s spécifiés.
+Pour copier l'image sur une clef USB, suivez ces étapes :
 
-Chaque @var{paquet} peut spécifier soit un simple nom de paquet, comme
address@hidden ou un nom de paquet suivi d'un arobase et d'un numéro de
-version, comme @code{guile@@1.8.8} ou simplement @code{guile@@1.8} (dans ce
-dernier cas, la version la plus récente commençant par @code{1.8} est
-utilisée).
address@hidden
address@hidden
+Décompressez l'image avec la commande @command{xz} :
 
-Si aucun numéro de version n'est spécifié, la version la plus récente
-disponible est choisie.  En plus, @var{paquet} peut contenir un deux-points,
-suivi du nom d'une des sorties du paquet, comme dans @code{gcc:doc} ou
address@hidden@@2.22:lib} (@pxref{Des paquets avec plusieurs résultats}).  Des
-paquets avec un nom correspondant et (éventuellement une version) sont
-recherchés dans les modules de la distribution GNU (@pxref{Modules de 
paquets}).
address@hidden
+xz -d address@hidden@var{système}.iso.xz
address@hidden example
 
address@hidden entrées propagées
-Parfois les paquets ont des @dfn{entrées propagées} : ce sont des
-dépendances qui sont installées automatiquement avec le paquet demandé
-(@pxref{package-propagated-inputs, @code{propagated-inputs} in
address@hidden objects} pour plus d'informations sur les entrées propagées
-dans les définitions des paquets).
address@hidden
+Insérez la clef USB de address@hidden ou plus dans votre machine et déterminez
+son nom d'appareil.  En supposant que la clef usb est connue sous le nom de
address@hidden/dev/sdX}, copiez l'image avec :
 
address@hidden
-Un exemple est la bibliothèque MPC de GNU : ses fichiers d'en-tête C se
-réfèrent à ceux de la bibliothèque MPFR de GNU, qui se réfèrent en retour à
-ceux de la bibliothèque GMP.  Ainsi, lorsqu'on installe MPC, les
-bibliothèques MPFR et GMP sont aussi installées dans le profil ; supprimer
-MPC supprimera aussi MPFR et GMP — à moins qu'ils n'aient été aussi
-installés explicitement par l'utilisateur.
address@hidden
+dd address@hidden@var{system}.iso of=/dev/sdX
+sync
address@hidden example
 
-D'autre part, les paquets dépendent parfois de la définition de variables
-d'environnement pour leur chemin de recherche (voir les explications sur
address@hidden plus bas).  Toute définition de variable
-d'environnement manquante ou possiblement incorrecte est rapportée ici.
+Accéder à @file{/dev/sdX} requiert généralement les privilèges
+super-utilisateur.
address@hidden enumerate
 
address@hidden address@hidden
address@hidden -e @var{exp}
-Installer le paquet évalué par @var{exp}
address@hidden Graver sur un DVD
 
address@hidden doit être une expression Scheme qui s'évalue en un objet
address@hidden<package>}.  Cette option est notamment utile pour distinguer les
-variantes d'un paquet avec le même nom, avec des expressions comme @code{(@@
-(gnu packages base) guile-final)}.
+Pour copier l'image sur un DVD, suivez ces étapes :
 
-Remarquez que cette option installe la première sortie du paquet, ce qui
-peut être insuffisant lorsque vous avez besoin d'une sortie spécifique d'un
-paquet à plusieurs sorties.
address@hidden
address@hidden
+Décompressez l'image avec la commande @command{xz} :
 
address@hidden address@hidden
address@hidden -f @var{fichier}
-Installer le paquet évalué par le code dans le @var{fichier}.
address@hidden
+xz -d address@hidden@var{système}.iso.xz
address@hidden example
 
-Par exemple, @var{fichier} peut contenir une définition comme celle-ci
-(@pxref{Définition des paquets}) :
address@hidden
+Insérez un DVD vierge dans votre machine et déterminez son nom d'appareil.
+En supposant que le DVD soit connu sont le nom de @file{/dev/srX}, copiez
+l'image avec :
 
 @example
address@hidden package-hello.scm
+growisofs -dvd-compat -Z /dev/address@hidden@var{system}.iso
 @end example
 
-Les développeurs peuvent trouver utile d'inclure un tel fichier
address@hidden à la racine de l'arborescence des sources de leur projet qui
-pourrait être utilisé pour tester des versions de développement et créer des
-environnements de développement reproductibles (@pxref{Invoquer guix 
environment}).
+Accéder à @file{/dev/srX} requiert généralement les privilèges
+super-utilisateur.
address@hidden enumerate
 
address@hidden address@hidden @dots{}
address@hidden -r @var{paquet} @dots{}
-Supprimer les @var{paquet}s spécifiés.
address@hidden Démarrage
 
-Comme pour @code{--install}, chaque @var{paquet} peut spécifier un numéro de
-version ou un nom de sortie en plus du nom du paquet.  Par exemple, @code{-r
-glibc:debug} supprimerait la sortie @code{debug} de @code{glibc}.
+Une fois que c'est fait, vous devriez pouvoir redémarrer le système et
+démarrer depuis la clef USB ou le DVD.  Pour cela, vous devrez généralement
+entrer dans le menu de démarrage BIOS ou UEFI, où vous pourrez choisir de
+démarrer sur la clef USB.
 
address@hidden address@hidden @dots{}]
address@hidden -u address@hidden @dots{}]
address@hidden mettre à jour des paquets
-Mettre à jour tous les paquets installés.  Si une @var{regexp} ou plus est
-spécifiée, la mise à jour n'installera que les paquets dont le nom
-correspond à @var{regexp}.  Voyez aussi l'option @code{--do-not-upgrade} en
-dessous.
address@hidden Guix in a VM}, if, instead, you would like to install Guix
+System in a virtual machine (VM).
 
-Remarquez que cela met à jour vers la dernière version des paquets trouvée
-dans la distribution actuellement installée.  Pour mettre à jour votre
-distribution, vous devriez lancer régulièrement @command{guix pull}
-(@pxref{Invoquer guix pull}).
 
address@hidden address@hidden @dots{}]
-Lorsqu'elle est utilisée avec l'option @code{--upgrade}, ne @emph{pas}
-mettre à jour les paquets dont le nom correspond à @var{regexp}.  Par
-exemple, pour mettre à jour tous les paquets du profil actuel à l'exception
-de ceux qui contiennent la chaîne « emacs » :
address@hidden Préparer l'installation
address@hidden Préparer l'installation
+
+Once you have successfully booted your computer using the installation
+medium, you should end up with the welcome page of the graphical installer.
+The graphical installer is a text-based user interface built upon the newt
+library.  It shall guide you through all the different steps needed to
+install address@hidden System.  However, as the graphical installer is still
+under heavy development, you might want to fallback to the original, shell
+based install process, by switching to TTYs 3 to 6 with the shortcuts
+CTRL-ALT-F[3-6]. The following sections describe the installation procedure
+assuming you're using one of those TTYs. They are configured and can be used
+to run commands as root.
+
+TTY2 shows this documentation, browsable using the Info reader commands
+(@pxref{Top,,, info-stnd, Stand-alone GNU Info}).  The installation system
+runs the GPM mouse daemon, which allows you to select text with the left
+mouse button and to paste it with the middle button.
 
address@hidden
-$ guix package --upgrade . --do-not-upgrade emacs
address@hidden example
address@hidden Remarque
+L'installation nécessite un accès au réseau pour que les dépendances
+manquantes de votre configuration système puissent être téléchargées.  Voyez
+la section « réseau » plus bas.
address@hidden quotation
 
address@hidden @address@hidden
address@hidden -m @var{fichier}
address@hidden déclaration de profil
address@hidden manifest de profil
-Créer une nouvelle génération du profil depuis l'objet manifeste renvoyé par
-le code Scheme dans @var{fichier}.
+The installation system includes many common tools needed for this task.
+But it is also a full-blown Guix System, which means that you can install
+additional packages, should you need it, using @command{guix package}
+(@pxref{Invoquer guix package}).
 
-Cela vous permet de @emph{déclarer} le contenu du profil plutôt que de le
-construire avec une série de @code{--install} et de commandes similaires.
-L'avantage étant que le @var{fichier} peut être placé sous contrôle de
-version, copié vers d'autres machines pour reproduire le même profil, etc.
address@hidden Disposition du clavier
 
address@hidden FIXME: Add reference to (guix profile) documentation when 
available.
address@hidden doit retourner un objet @dfn{manifest} qui est en gros une
-liste de paquets :
address@hidden disposition du clavier
+L'image d'installation utilise la disposition clavier qwerty (US).  Si vous
+voulez la changer, vous pouvez utiliser la commande @command{loadkeys}.  Par
+exemple, la commande suivante sélectionne la disposition Dvorak :
 
address@hidden packages->manifest
 @example
-(use-package-modules guile emacs)
-
-(packages->manifest
- (list emacs
-       guile-2.0
-       ;; Utiliser une sortie spécifique d'un paquet.
-       (list guile-2.0 "debug")))
+loadkeys dvorak
 @end example
 
address@hidden specifications->manifest
-Dans cet exemple on doit savoir quels modules définissent les variables
address@hidden et @code{guile-2.0} pour fournir la bonne ligne
address@hidden ce qui peut être embêtant.  On peut à la place
-fournir des spécifications de paquets normales et laisser
address@hidden>manifest} rechercher les objets de paquets
-correspondants, comme ceci :
+Consultez les fichiers dans @file{/run/current-system/profile/share/keymaps}
+pour trouver une liste des dispositions disponibles.  Lancez @command{man
+loadkey} pour plus d'informations.
+
address@hidden Réseau
+
+Lancez la commande suivante pour voir comment vos interfaces réseau sont
+appelées :
 
 @example
-(specifications->manifest
- '("emacs" "guile@@2.2" "guile@@2.2:debug"))
+ifconfig -a
 @end example
 
address@hidden --roll-back
address@hidden revenir en arrière
address@hidden défaire des transactions
address@hidden transactions, défaire
-Revenir à la @dfn{génération} précédente du profil c.-à-d.@: défaire la
-dernière transaction.
address@hidden
address@hidden ou, avec la commande spécifique à GNU/Linux @command{ip} :
 
-Lorsqu'elle est combinée avec des options comme @code{--install}, cette
-option revient en arrière avant toute autre action.
address@hidden
+ip a
address@hidden example
 
-Lorsque vous revenez de la première génération qui contient des fichiers, le
-profil pointera vers la @dfn{zéroième génération} qui ne contient aucun
-fichier en dehors de ses propres métadonnées.
address@hidden 
http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20
+Les interfaces filaires ont un nom qui commence par @samp{e} ; par exemple,
+l'interface qui correspond au premier contrôleur Ethernet sur la carte mère
+est appelé @samp{eno1}.  Les interfaces sans-fil ont un nom qui commence par
address@hidden, comme @samp{w1p2s0}.
 
-Après être revenu en arrière, l'installation, la suppression et la mise à
-jour de paquets réécrit les futures générations précédentes.  Ainsi,
-l'historique des générations dans un profil est toujours linéaire.
address@hidden @asis
address@hidden Connexion filaire
+Pour configure une connexion filaire, lancez la commande suivante, en
+remplaçant @var{interface} par le nom de l'interface filaire que vous voulez
+utiliser.
 
address@hidden address@hidden
address@hidden -S @var{motif}
address@hidden générations
-Basculer vers une génération particulière définie par le @var{motif}.
address@hidden
+ifconfig @var{interface} up
address@hidden example
 
-Le @var{motif} peut être soit un numéro de génération soit un nombre précédé
-de « + » ou « - ».  Ce dernier signifie : se déplacer en avant ou en arrière
-d'un nombre donné de générations.  Par exemple, si vous voulez retourner à
-la dernière génération après @code{--roll-back}, utilisez
address@hidden
address@hidden Connexion sans-fil
address@hidden sans-fil
address@hidden WiFi
+Pour configurer le réseau sans-fil, vous pouvez créer un fichier de
+configuration pour l'outil de configuration @command{wpa_supplicant} (son
+emplacement importe peu) avec l'un des éditeurs de texte disponibles comme
address@hidden :
 
-La différence entre @code{--roll-back} et @code{--switch-generation=-1} est
-que @code{--switch-generation} ne vous amènera pas à la zéroième génération,
-donc si la génération demandée n'existe pas la génération actuelle ne
-changera pas.
address@hidden
+nano wpa_supplicant.conf
address@hidden example
 
address@hidden address@hidden
address@hidden chemins de recherche
-Rapporter les définitions des variables d'environnement dans la syntaxe Bash
-qui peuvent être requises pour utiliser l'ensemble des paquets installés.
-Ces variables d'environnement sont utilisées pour spécifier les @dfn{chemins
-de recherche} de fichiers utilisés par les paquets installés.
+Par exemple, la déclaration qui suit peut aller dans ce fichier et
+fonctionnera pour plusieurs réseaux sans-fil, si vous donnez le vrai SSID et
+la phrase de passe pour le réseau auquel vous vous connectez :
 
-Par exemple, GCC a besoin des variables d'environnement @code{CPATH} et
address@hidden pour trouver les en-têtes et les bibliothèques dans le
-profil de l'utilisateur (@pxref{Environment Variables,,, gcc, Using the GNU
-Compiler Collection (GCC)}).  Si GCC et, disons, la bibliothèque C sont
-installés dans le profil, alors @code{--search-paths} suggérera
-d'initialiser ces variables à @address@hidden/include} et
address@hidden@var{profil}/lib}, respectivement.
address@hidden
address@hidden
+  ssid="@var{mon-ssid}"
+  key_mgmt=WPA-PSK
+  psk="la phrase de passe secrète du réseau"
address@hidden
address@hidden example
 
-Le cas d'utilisation typique est de définir ces variables d'environnement
-dans le shell :
+Démarrez le service sans-fil et lancez-le en tache de fond avec la commande
+suivante (en remplaçant @var{interface} par le nom de l'interface réseau que
+vous voulez utiliser) :
 
 @example
-$ eval `guix package --search-paths`
+wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B
 @end example
 
address@hidden peut être l'une des valeurs @code{exact}, @code{prefix} ou
address@hidden, ce qui signifie que les définitions des variables
-d'environnement retournées seront soit les paramètres exactes, ou placés
-avant ou après la valeur actuelle de ces paramètres.  Lorsqu'il est omis,
address@hidden a pour valeur par défaut @code{exact}.
+Lancez @command{man wpa_supplicant} pour plus d'informations.
address@hidden table
 
-Cette option peut aussi être utilisé pour calculer les chemins de recherche
address@hidden de plusieurs profils.  Regardez cet exemple :
address@hidden DHCP
+À partir de ce moment, vous avez besoin d'une adresse IP.  Sur les réseaux
+où les IP sont automatiquement attribuée par DHCP, vous pouvez lancer :
 
 @example
-$ guix package -p foo -i guile
-$ guix package -p bar -i guile-json
-$ guix package -p foo -p bar --search-paths
+dhclient -v @var{interface}
 @end example
 
-La dernière commande ci-dessus montre la variable @code{GUILE_LOAD_PATH}
-bien que, pris individuellement, ni @file{foo} ni @file{bar} n'auraient
-donné cette recommendation.
+Essayez de pinger un serveur pour voir si le réseau fonctionne :
 
address@hidden
+ping -c 3 gnu.org
address@hidden example
 
address@hidden address@hidden
address@hidden -p @var{profil}
-Utiliser le @var{profil} à la place du profil par défaut de l'utilisateur.
+Mettre en place un accès réseau est presque toujours une nécessité parce que
+l'image ne contient pas tous les logiciels et les outils dont vous pourriez
+avoir besoin.
 
address@hidden collisions, dans un profil
address@hidden faire des collisions de paquets dans des profils
address@hidden profil, collisions
address@hidden --allow-collisions
-Permettre des collisions de paquets dans le nouveau profil.  À utiliser à
-vos risques et périls !
address@hidden installer par SSH
+Si vous le souhaitez, vous pouvez continuer l'installation à distance en
+démarrant un serveur SSH :
 
-Par défaut, @command{guix package} rapporte les @dfn{collisions} dans le
-profil comme des erreurs.  Les collisions ont lieu quand deux version ou
-variantes d'un paquet donné se retrouvent dans le profil.
address@hidden
+herd start ssh-daemon
address@hidden example
 
address@hidden --verbose
-Produire une sortie verbeuse.  En particulier, fournir les journaux de
-construction de l'environnement sur le port d'erreur standard.
+Assurez-vous soit de définir un mot de passe avec @command{passwd}, soit de
+configurer l'authentification par clef OpenSSH avant de vous connecter.
 
address@hidden --bootstrap
-Utiliser le programme d'amorçage Guile pour compiler le profil.  Cette
-option n'est utile que pour les développeurs de la distriibution.
address@hidden Partitionnement
 
address@hidden table
+À moins que vous ne l'ayez déjà fait, l'étape suivante consiste à
+partitionner le disque puis à formater les partitions cibles.
 
-En plus de ces actions, @command{guix package} supporte les options
-suivantes pour demander l'état actuel d'un profil ou la disponibilité des
-paquets :
+L'image d'installation inclus plusieurs outils de partitionnement, dont
+Parted (@pxref{Overview,,, parted, GNU Parted User Manual}),
address@hidden, et @command{cfdisk}.  Lancez-en un et paramétrez votre
+disque avec le partitionnement qui vous convient :
 
address@hidden @option
address@hidden
+cfdisk
address@hidden example
 
address@hidden address@hidden
address@hidden -s @var{regexp}
address@hidden chercher des paquets
-Lister les paquets disponibles dont le nom, le synopsis ou la description
-correspondent à la @var{regexp}, triés par pertinence.  Afficher toutes les
-métadonnées des paquets correspondants au format @code{recutils}
-(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual}).
+Si votre disque utilise le format des tables de partitions GUID (GPT) et que
+vous souhaitez installer un GRUB pour système BIOS (c'est le cas par
+défaut), assurez-vous de créer qu'une partition de démarrage BIOS soit bien
+disponible (@pxref{BIOS installation,,, grub, GNU GRUB manual}).
 
-Cela permet à des champs spécifiques d'être extraits avec la commande
address@hidden, par exemple :
address@hidden EFI, installation
address@hidden UEFI, installation
address@hidden ESP, partition système EFI
+If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System
+Partition} (ESP) is required.  This partition can be mounted at
address@hidden/boot/efi} for instance and must have the @code{esp} flag set.  
E.g.,
+for @command{parted}:
 
 @example
-$ guix package -s malloc | recsel -p name,version,relevance
-name: jemalloc
-version: 4.5.0
-relevance: 6
-
-name: glibc
-version: 2.25
-relevance: 1
-
-name: libgc
-version: 7.6.0
-relevance: 1
+parted /dev/sda set 1 esp on
 @end example
 
-De manière similaire, pour montrer le nom de tous les paquets disponibles
-sous license address@hidden version 3 :
address@hidden Remarque
address@hidden grub-bootloader
address@hidden grub-efi-bootloader
+Vous n'êtes pas sûr de savoir si vous devez utiliser un GRUB EFI ou BIOS ?
+Si le répertoire @file{/sys/firmware/efi} existe sur l'image d'installation,
+vous devriez probablement effectuer une installation EFI, avec
address@hidden  Sinon, vous devriez utiliser le GRUB en BIOS,
address@hidden  @xref{Configuration du chargeur d'amorçage} pour plus
+d'information sur le chargeur d'amorçage.
address@hidden quotation
 
address@hidden
-$ guix package -s "" | recsel -p name -e 'license ~ "LGPL 3"'
-name: elfutils
+Once you are done partitioning the target hard disk drive, you have to
+create a file system on the relevant partition(s)@footnote{Currently Guix
+System only supports ext4 and btrfs file systems.  In particular, code that
+reads file system UUIDs and labels only works for these file system
+types.}.  For the ESP, if you have one and assuming it is @file{/dev/sda1},
+run:
 
-name: gmp
address@hidden
address@hidden
+mkfs.fat -F32 /dev/sda1
 @end example
 
-Il est aussi possible de raffiner les résultats de la recherche avec
-plusieurs options @code{-s}.  Par exemple, la commande suivante renvoie la
-liste des jeux de plateau :
+Préférez assigner une étiquette au système de fichier pour que vous puissiez
+vous y référer de manière fiable dans la déclaration @code{file-system}
+(@pxref{Systèmes de fichiers}).  On le fait habituellement avec l'option 
@code{-L}
+de @command{mkfs.ext4} et des commandes liées.  Donc, en supposant que la
+partition racine soit sur @file{/dev/sda2}, on peut créer un système de
+fichier avec pour étiquette @code{my-root} avec :
 
 @example
-$ guix package -s '\<board\>' -s game | recsel -p name
-name: gnubg
address@hidden
+mkfs.ext4 -L my-root /dev/sda2
 @end example
 
-Si on avait oublié @code{-s game}, on aurait aussi eu les paquets logiciels
-qui s'occupent de circuits imprimés (en anglais : circuit board) ; supprimer
-les chevrons autour de @code{board} aurait aussi ajouté les paquets qui
-parlent de clavier (en anglais : address@hidden).
-
-Et maintenant un exemple plus élaboré.  La commande suivante recherche les
-bibliothèques cryptographiques, retire les bibliothèques Haskell, Perl,
-Python et Ruby et affiche le nom et le synopsis des paquets correspondants :
address@hidden chiffrement du disque
+Si vous voulez plutôt chiffrer la partition racine, vous pouvez utiliser les
+utilitaires Cryptsetup et LUKS pour cela (voir @inlinefmtifelse{html,
address@hidden://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
address@hidden cryptsetup}} pour plus d'informations).  En supposant que vous
+voulez stocker la partition racine sur @file{/dev/sda2}, la séquence de
+commandes suivante vous mènerait à ce résultat :
 
 @example
-$ guix package -s crypto -s library | \
-    recsel -e '! (name ~ "^(ghc|perl|python|ruby)")' -p name,synopsis
+cryptsetup luksFormat /dev/sda2
+cryptsetup open --type luks /dev/sda2 my-partition
+mkfs.ext4 -L my-root /dev/mapper/my-partition
 @end example
 
address@hidden
address@hidden Expressions,,, recutils, GNU recutils manual} pour plus
-d'information sur les @dfn{expressions de sélection} pour @code{recsel -e}.
-
address@hidden address@hidden
-Afficher les détails du @var{paquet} dans la liste des paquets disponibles,
-au format @code{recutils} (@pxref{Top, GNU recutils databases,, recutils,
-GNU recutils manual}).
+Une fois cela effectué, montez le système de fichier cible dans @file{/mnt}
+avec une commande comme (de nouveau, en supposant que @code{my-root} est
+l'étiquette du système de fichiers racine) :
 
 @example
-$ guix package --show=python | recsel -p name,version
-name: python
-version: 2.7.6
-
-name: python
-version: 3.3.5
+mount LABEL=my-root /mnt
 @end example
 
-Vous pouvez aussi spécifier le nom complet d'un paquet pour n'avoir que les
-détails concernant une version spécifique :
+Also mount any other file systems you would like to use on the target system
+relative to this path.  If you have opted for @file{/boot/efi} as an EFI
+mount point for example, mount it at @file{/mnt/boot/efi} now so it is found
+by @code{guix system init} afterwards.
+
+Enfin, si vous souhaitez utiliser une ou plusieurs partitions de swap
+(@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference
+Manual}), assurez-vous de les initialiser avec @command{mkswap}.  En
+supposant que vous avez une partition de swap sur @file{/dev/sda3}, vous
+pouvez lancer :
+
 @example
-$ guix package --show=python@@3.4 | recsel -p name,version
-name: python
-version: 3.4.3
+mkswap /dev/sda3
+swapon /dev/sda3
 @end example
 
+Autrement, vous pouvez utiliser un fichier de swap.  Par exemple, en
+supposant que dans le nouveau système vous voulez utiliser le fichier
address@hidden/swapfile} comme fichier de swap, vous address@hidden exemple
+fonctionnera sur plusieurs types de systèmes de fichiers (p.@: ex.@: ext4).
+Cependant, pour les systèmes de fichiers qui utilisent la copie sur écriture
+(COW) comme btrfs, les étapes requises peuvent varier.  Pour plus de
+détails, regardez les pages de manuel de @command{mkswap} et
address@hidden :
 
address@hidden
+# Cela représente 10 Gio d'espace d'échange. Ajustez « count » pour changer la 
taille.
+dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240
+# Par sécurité, laissez le fichier en lecture et en écriture uniquement pour 
root.
+chmod 600 /mnt/swapfile
+mkswap /mnt/swapfile
+swapon /mnt/swapfile
address@hidden example
 
address@hidden address@hidden
address@hidden -I address@hidden
-Liste les paquets actuellement installés dans le profil spécifié, avec les
-paquets les plus récemment installés en dernier.  Lorsque @var{regexp} est
-spécifié, liste uniquement les paquets installés dont le nom correspond à
address@hidden
+Remarquez que si vous avez chiffré la partition racine et créé un fichier
+d'échange dans son système de fichier comme décrit ci-dessus, alors le
+chiffrement protégera aussi le fichier d'échange, comme n'importe quel
+fichier de ce système de fichiers.
 
-Pour chaque paquet installé, affiche les éléments suivants, séparés par des
-tabulations : le nom du paquet, sa version, la partie du paquet qui est
-installé (par exemple, @code{out} pour la sortie par défaut, @code{include}
-pour ses en-têtes, etc) et le chemin du paquet dans le dépôt.
address@hidden Effectuer l'installation
address@hidden Effectuer l'installation
 
address@hidden address@hidden
address@hidden -A address@hidden
-Lister les paquets actuellement disponibles dans la distribution pour ce
-système (@pxref{Distribution GNU}).  Lorsque @var{regexp} est spécifié,
-liste uniquement les paquets dont le nom correspond à @var{regexp}.
+Lorsque la partition cible est prête et que les autres partitions sont
+montées, on est prêt à commencer l'installation.  Commencez par :
 
-Pour chaque paquet, affiche les éléments suivants séparés par des
-tabulations : son nom, sa version, les parties du paquet (@pxref{Des paquets 
avec plusieurs résultats}), et l'emplacement de sa définition.
address@hidden
+herd start cow-store /mnt
address@hidden example
 
address@hidden address@hidden
address@hidden -l address@hidden
address@hidden générations
-Renvoyer la liste des générations avec leur date de création ; pour chaque
-génération, montre les paquets installés avec les paquets installés les plus
-récemment en dernier.  Remarquez que la zéroième génération n'est jamais
-montrée.
+Cela rend @file{/gnu/store} capable de faire de la copie sur écriture, de
+sorte que les paquets ajoutés pendant l'installation sont écrits sur le
+disque cible sur @file{/mnt} plutôt que gardés en mémoire.  Cela est
+nécessaire parce que la première phase de la commande @command{guix system
+init} (voir plus bas) implique de télécharger ou de construire des éléments
+de @file{/gnu/store} qui est initialement un système de fichiers en mémoire.
 
-Pour chaque paquet installé, afficher les éléments suivants, séparés par des
-tabulations : le nom du paquet, sa version, la partie du paquet qui a été
-installée (@pxref{Des paquets avec plusieurs résultats}), et l'emplacement du
-paquet dans le dépôt.
+Ensuite, vous devrez modifier un fichier et fournir la déclaration du
+système à installer.  Pour cela, le système d'installation propose trois
+éditeurs de texte.  Nous recommandons GNU nano (@pxref{Top,,, nano, GNU nano
+Manual}), qui supporte la coloration syntaxique la correspondance de
+parenthèses ; les autres éditeurs sont GNU Zile (un clone d'Emacs) et nvi
+(un clone de l'éditeur @command{vi} original de BSD).  Nous recommandons
+vivement de stocker ce fichier sur le système de fichier racine cible,
+disons en tant que @file{/mnt/etc/config.scm}.  Sinon, vous perdrez votre
+fichier de configuration une fois que vous aurez redémarré sur votre nouveau
+système.
 
-Lorsque @var{motif} est utilisé, la commande ne renvoie que les générations
-correspondantes.  Les motifs valides sont :
address@hidden le système de configuration}, pour un aperçu de comment créer 
votre
+fichier de configuration.  Les exemples de configuration dont on parle dans
+cette section sont disponibles dans @file{/etc/configuration} sur l'image
+d'installation.  Ainsi, pour commencer avec une configuration du système qui
+fournit un serveur d'affichage graphique (un système de « bureau »), vous
+pouvez lancer ce qui suit :
 
address@hidden
address@hidden @emph{Des entiers et des entiers séparés par des virgules}.  Les 
deux motifs correspondent
-à des numéros de version.  Par exemple, @code{--list-generations=1} renvoie
-la première.
address@hidden
+# mkdir /mnt/etc
+# cp /etc/configuration/desktop.scm /mnt/etc/config.scm
+# nano /mnt/etc/config.scm
address@hidden example
 
-Et @code{--list-generations=1,8,2} renvoie les trois générations dans
-l'ordre spécifié.  Aucune espace ni virgule surnuméraire n'est permise.
+Vous devriez faire attention à ce que contient votre fichier de
+configuration, en particulier :
 
address@hidden @emph{Des interval}.  @code{--list-generations=2..9} affiche les
-générations demandées et tout ce qui se trouvent entre elles.  Remarquez que
-le début d'un interval doit être plus petit que sa fin.
address@hidden
address@hidden
+Make sure the @code{bootloader-configuration} form refers to the target you
+want to install GRUB on.  It should mention @code{grub-bootloader} if you
+are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for
+newer UEFI systems.  For legacy systems, the @code{target} field names a
+device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted
+EFI partition, like @code{/boot/efi}; do make sure the path is currently
+mounted and a @code{file-sytem} entry is specified in your configuration.
 
-Il est aussi possible d'omettre le numéro final.  Par exemple,
address@hidden renvoie toutes les générations à partir de la
-deuxième.
address@hidden
+Assurez-vous que les étiquettes de vos systèmes de fichiers correspondent
+aux valeurs de leur champs @code{device} dans votre configuration
address@hidden, en supposant que la configuration @code{file-system}
+utilise la procédure @code{file-system-label} dans son champ @code{device}.
 
address@hidden @emph{Des durées}.  Vous pouvez aussi récupérer les derniers 
@address@hidden, semaines,
-ou moins en passant un entier avec la première lettre de la durée (en
-anglais : d, w ou m).  Par exemple @code{--list-generations=20d} liste les
-générations qui sont agées d'au plus 20 jours.
address@hidden
+Si vous avez des partitions RAID ou chiffrées, assurez-vous d'ajouter un
+champ @code{mapped-device} pour les décrire (@pxref{Périphériques mappés}).
 @end itemize
 
address@hidden address@hidden
address@hidden -d address@hidden
-Lorsque @var{motif} est omis, supprimer toutes les générations en dehors de
-l'actuelle.
+Une fois que vous avez fini les préparatifs sur le fichier de configuration,
+le nouveau système peut être initialisé (rappelez-vous que le système de
+fichiers racine cible est dans @file{/mnt}) :
 
-Cette commande accepte les même motifs que @option{--list-generations}.
-Lorsque @var{motif} est spécifié, supprimer les générations correspondante.
-Lorsque @var{motif} spécifie une durée, les générations @emph{plus vieilles}
-que la durée spécifiée correspondent.  Par exemple
address@hidden supprime les générations vieilles de plus
-d'un mois.
address@hidden
+guix system init /mnt/etc/config.scm /mnt
address@hidden example
 
-Si la génération actuelle correspond, elle n'est @emph{pas} supprimée.  La
-zéroième génération n'est elle non plus jamais supprimée.
address@hidden
+Cela copie tous les fichiers nécessaires et installe GRUB sur
address@hidden/dev/sdX} à moins que vous ne passiez l'option
address@hidden  Pour plus d'informations, @pxref{Invoquer guix system}.  Cette 
commande peut engendrer des téléchargements ou des
+constructions pour les paquets manquants, ce qui peut prendre du temps.
 
-Remarquez que supprimer des générations empêche de revenir en arrière vers
-elles.  Ainsi, cette commande doit être utilisée avec précaution.
+Une fois que cette commande a terminée — et on l'espère réussi ! — vous
+pouvez lancer @command{reboot} et démarrer sur votre nouveau système.  Le
+mot de passe @code{root} est d'abord vide ; les mots de passe des autres
+utilisateurs doivent être initialisés avec la commande @command{passwd} en
+tant que @code{root}, à mois que votre configuration ne spécifie autre chose
+(@pxref{user-account-password, mot de passe des comptes utilisateurs}).
 
address@hidden table
address@hidden upgrading Guix System
+From then on, you can update the system whenever you want by running, say:
 
-Enfin, comme @command{guix package} peut démarrer des processus de
-construction, elle supporte les options de construction communes
-(@pxref{Options de construction communes}).   Elle supporte aussi les options 
de
-transformation de paquets comme @option{--with-source} (@pxref{Options de 
transformation de paquets}).  Cependant, remarquez que les transformations de
-paquets sont perdues à la mise à jour ; pour les préserver à travers les
-mises à jours, vous devriez définir vos propres variantes des paquets dans
-une module Guile et l'ajouter à @code{GUIX_PACKAGE_PATH} (@pxref{Définition 
des paquets}).
address@hidden
+guix pull
+sudo guix system reconfigure /etc/config.scm
address@hidden example
 
address@hidden Substituts
address@hidden Substituts
address@hidden
+This builds a new system generation with the latest packages and services
+(@pxref{Invoquer guix system}).  We recommend doing that regularly so that
+your system includes the latest security updates (@pxref{Mises à jour de 
sécurité}).
 
address@hidden substituts
address@hidden binaires pré-construits
-Guix gère le déploiement depuis des binaires ou des sources de manière
-transparente ce qui signifie qu'il peut aussi bien construire localement que
-télécharger des éléments pré-construits depuis un serveur ou les deux.  Nous
-appelons ces éléments pré-construits des @dfn{substituts} — ils se
-substituent aux résultats des constructions locales.  Dans la plupart des
-cas, télécharger un substitut est bien plus rapide que de construire les
-choses localement.
address@hidden See 
<https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00268.html>.
address@hidden Remarque
address@hidden sudo vs. @command{guix pull}
+Note that @command{sudo guix} runs your user's @command{guix} command and
address@hidden root's, because @command{sudo} leaves @code{PATH} unchanged.  To
+explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
address@hidden quotation
 
-Les substituts peuvent être tout ce qui résulte d'une construction de
-dérivation (@pxref{Dérivations}).  Bien sûr dans le cas général, il s'agit
-de paquets binaires pré-construits, mais les archives des sources par
-exemple résultent aussi de la construction d'une dérivation qui peut aussi
-être disponible en tant que substitut.
+Join us on @code{#guix} on the Freenode IRC network or on
address@hidden@@gnu.org} to share your experience---good or not so good.
 
address@hidden
-* Serveur de substituts officiel::  Une source particulière de substituts.
-* Autoriser un serveur de substituts::  Comment activer ou désactiver les 
-                                          substituts.
-* Authentification des substituts::  Coment Guix vérifie les substituts.
-* Paramètres de serveur mandataire::  Comment récupérer des substituts à 
-                                         travers un serveur mandataire.
-* Échec de substitution::   Qu'arrive-t-il quand la substitution échoue.
-* De la confiance en des binaires::  Comment pouvez-vous avoir confiance en 
-                                       un paquet binaire ?
address@hidden menu
address@hidden Installing Guix in a VM
address@hidden Installing Guix in a Virtual Machine
 
address@hidden Serveur de substituts officiel
address@hidden Serveur de substituts officiel
address@hidden virtual machine, Guix System installation
address@hidden serveur privé virtuel (VPS)
address@hidden VPS (serveur privé virtuel)
+If you'd like to install Guix System in a virtual machine (VM) or on a
+virtual private server (VPS) rather than on your beloved machine, this
+section is for you.
 
address@hidden hydra
address@hidden ferme de construction
-Le serveur @code{mirror.hydra.gnu.org} est une interface à la ferme de
-construction officielle qui construit des paquets pour Guix continuellement
-pour certaines architectures et les rend disponibles en tant que
-substituts.  C'est la source par défaut des substituts ; elle peut être
-modifiée en passant l'option @option{--substitute-urls} soit à
address@hidden (@pxref{daemon-substitute-urls,, @code{guix-daemon
---substitute-urls}}) soit aux outils clients comme  @command{guix package}
-(@pxref{client-substitute-urls,, client @option{--substitute-urls} option}).
+To boot a @uref{http://qemu.org/,QEMU} VM for installing Guix System in a
+disk image, follow these steps:
 
-Les URL des substituts peuvent être soit en HTTP soit en HTTPS.  Le HTTPS
-est recommandé parce que les communications sont chiffrées ; à l'inverse
-HTTP rend les communications visibles pour un espion qui peut utiliser les
-informations accumulées sur vous pour déterminer par exemple si votre
-système a des vulnérabilités de sécurités non corrigées.
address@hidden
address@hidden
+First, retrieve and decompress the Guix system installation image as
+described previously (@pxref{Installation depuis une clef USB ou un DVD}).
 
-Les substituts de la ferme de construction officielle sont activés par
-défaut dans la distribution système Guix (@pxref{Distribution GNU}).
-Cependant, ils sont désactivés par défaut lorsque vous utilisez Guix sur une
-distribution externe, à moins que vous ne les ayez explicitement activés via
-l'une des étapes d'installation recommandées (@pxref{Installation}).  Les
-paragraphes suivants décrivent comment activer ou désactiver les substituts
-de la ferme de construction ; la même procédure peut être utilisée pour
-activer les substituts de n'importe quel autre serveur de substituts.
address@hidden
+Créez une image disque qui contiendra le système installé.  Pour créer une
+image qcow2, utilise la commande @command{qemu-img} :
 
address@hidden Autoriser un serveur de substituts
address@hidden Autoriser un serveur de substituts
address@hidden
+qemu-img create -f qcow2 guixsd.img 50G
address@hidden example
 
address@hidden sécurité
address@hidden substituts, autorisations
address@hidden liste de contrôle d'accès (ACL), pour les substituts
address@hidden ACL (liste de contrôle d'accès), pour les substituts
-Pour permettre à Guix de télécharger les substituts depuis
address@hidden ou un mirroir, vous devez ajouter sa clef publique à la
-liste de contrôle d'accès (ACL) des imports d'archives, avec la commande
address@hidden archive} (@pxref{Invoquer guix archive}).  Cela implique que
-vous faîtes confiance à @code{hydra.gnu.org} pour ne pas être compromis et
-vous servir des substituts authentiques.
+Le fichier qui en résulte sera bien plus petit que les 50 Go (habituellement
+moins de 1 Mo) mais il grossira au fur et à mesure que le stockage virtuel
+grossira.
 
-La clef publique pour @code{hydra.gnu.org} est installée avec Guix, dans
address@hidden@var{préfixe}/share/guix/hydra.gnu.org.pub}, où @var{préfixe} est 
le
-préfixe d'installation de Guix.  Si vous avez installé Guix depuis les
-sources, assurez-vous d'avoir vérifié la signature GPG de
address@hidden@value{VERSION}.tar.gz} qui contient ce fichier de clef
-publique.  Ensuite vous pouvez lancer quelque chose comme ceci :
address@hidden
+Démarrez l'image d'installation USB dans une VM :
 
 @example
-# guix archive --authorize < @var{préfixe}/share/guix/hydra.gnu.org.pub
+qemu-system-x86_64 -m 1024 -smp 1 \
+  -net user -net nic,model=virtio -boot menu=on \
+  -drive address@hidden@var{system}.iso \
+  -drive file=guixsd.img
 @end example
 
address@hidden Remarque
-De même, le fichier @file{berlin.guixsd.org.pub} contient la clef publique
-de la nouvelle ferme de construction du projet, disponible depuis
address@hidden://berlin.guixsd.org}.
-
-Au moment où ces lignes sont écrites, @code{berlin.guixsd.org} est mis à
-niveau pour mieux passer à l'échelle, mais vous pourriez vouloir le tester.
-Il est associé à 20 nœuds de construction x86_64/i686 et pourrait fournir
-des substituts plus rapidement que @code{mirror.hydra.gnu.org}
address@hidden quotation
+L'ordre des périphérique est important
 
-Une fois que cela est en place, la sortie d'une commande comme @code{guix
-build} devrait changer de quelque chose comme :
+Dans la console de la VM, appuyez rapidement sur @kbd{F12} pour entrer dans
+le menu de démarrage.  Ensuite appuyez sur @kbd{2} et la touche @kbd{Entrée}
+pour valider votre choix.
 
address@hidden
-$ guix build emacs --dry-run
-Les dérivations suivantes seraient construites :
-   /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv
-   /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv
-   /gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv
-   /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv
address@hidden
address@hidden example
address@hidden
+Vous êtes maintenant root dans la VM, continuez en suivant la procédure
+d'installation.  @xref{Préparer l'installation}, et suivez les
+instructions.
address@hidden enumerate
 
address@hidden
-à quelque chose comme :
+Once installation is complete, you can boot the system that's on your
address@hidden image.  @xref{Running Guix in a VM}, for how to do that.
+
address@hidden Construire l'image d'installation
address@hidden Construire l'image d'installation
+
address@hidden image d'installation
+L'image d'installation décrite plus haut a été construite avec la commande
address@hidden system}, plus précisément :
 
 @example
-$ guix build emacs --dry-run
-112.3 Mo seraient téléchargés :
-   /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3
-   /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d
-   /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16
-   /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7
address@hidden
+guix system disk-image --file-system-type=iso9660 \
+  gnu/system/install.scm
 @end example
 
address@hidden
-Cela indique que les substituts de @code{hydra.gnu.org} sont utilisables et
-seront téléchargés, si possible, pour les futures constructions.
-
address@hidden substituts, comment les désactiver
-Le mécanisme de substitution peut être désactivé globalement en lançant
address@hidden avec @code{--no-substitutes} (@pxref{Invoquer guix-daemon}).  Il 
peut aussi être désactivé temporairement en passant
-l'option @code{--no-substitutes} à @command{guix package}, @command{guix
-build} et aux autres outils en ligne de commande.
+Regardez le fichier @file{gnu/system/install.scm} dans l'arborescence des
+sources et regardez aussi @ref{Invoquer guix system} pour plus
+d'informations sur l'image d'installation.
 
address@hidden Authentification des substituts
address@hidden Authentification des substituts
address@hidden Construire l'image d'installation pour les cartes ARM
 
address@hidden signatures numériques
-Guix détecte et lève une erreur lorsqu'il essaye d'utiliser un substituts
-qui a été modifié.  De même, il ignore les substituts qui ne sont pas signés
-ou qui ne sont pas signés par l'une des clefs listés dans l'ACL.
+De nombreuses cartes ARM requièrent une variante spécifique du chargeur
+d'amorçage @uref{http://www.denx.de/wiki/U-Boot/, U-Boot}.
 
-Il y a une exception cependant : si un serveur non autorisé fournit des
-substituts qui sont @emph{identiques bit-à-bit} à ceux fournis par un
-serveur autorisé, alors le serveur non autorisé devient disponible pour les
-téléchargements.  Par exemple en supposant qu'on a choisi deux serveurs de
-substituts avec cette option :
+Si vous construisez une image disque et que le chargeur d'amorçage n'est pas
+disponible autrement (sur un autre périphérique d'amorçage etc), il est
+recommandé de construire une image qui inclus le chargeur d'amorçage, plus
+précisément :
 
 @example
---substitute-urls="https://a.example.org https://b.example.org";
+guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) 
os-with-u-boot) (@@ (gnu system install) installation-os) 
"A20-OLinuXino-Lime2")'
 @end example
 
address@hidden
address@hidden constructions reproductibles
-Si l'ACL contient uniquement la clef de @code{b.example.org}, et si
address@hidden sert @emph{exactement les mêmes} substituts, alors Guix
-téléchargera les substituts de @code{a.example.org} parce qu'il vient en
-premier dans la liste et peut être considéré comme un mirroir de
address@hidden  En pratique, des machines de constructions produisent
-souvent les mêmes binaires grâce à des construction reproductibles au bit
-près (voir plus bas).
-
-Lorsque vous utilisez HTTPS, le certificat X.509 du serveur n'est @emph{pas}
-validé (en d'autre termes, le serveur n'est pas authentifié), contrairement
-à ce que des clients HTTPS comme des navigateurs web font habituellement.
-Cela est dû au fait que Guix authentifie les informations sur les substituts
-eux-même, comme expliqué plus haut, ce dont on se soucie réellement (alors
-que les certificats X.509 authentifie la relation entre nom de domaine et
-clef publique).
-
address@hidden Paramètres de serveur mandataire
address@hidden Paramètres de serveur mandataire
address@hidden est le nom de la carte.  Si vous spécifiez une
+carte invalide, une liste de cartes possibles sera affichée.
 
address@hidden http_proxy
-Les substituts sont téléchargés par HTTP ou HTTPS.  La variable
-d'environnement @code{http_proxy} peut être initialisée dans l'environnement
-de @command{guix-daemon} et est respectée pour le téléchargement des
-substituts.  Remarquez que la valeur de @code{http_proxy} dans
-l'environnement où tournent @command{guix build}, @command{guix package} et
-les autres clients n'a @emph{absolument aucun effet}.
address@hidden 
*********************************************************************
address@hidden Gestion de paquets
address@hidden Gestion de paquets
 
address@hidden Échec de substitution
address@hidden Échec de substitution
address@hidden paquets
+Le but de GNU Guix est de permettre à ses utilisateurs d'installer, mettre à
+jour et supprimer facilement des paquets logiciels sans devoir connaître
+leur procédure de construction ou leurs dépendances.  Guix va aussi plus
+loin que ces fonctionnalités évidentes.
 
-Même lorsqu'un substitut pour une dérivation est disponible, la substitution
-échoue parfois.  Cela peut arriver pour plusieurs raisons : le serveur de
-substitut peut être hors ligne, le substitut a récemment été supprimé du
-serveur, la connexion peut avoir été interrompue, etc.
+Ce chapitre décrit les principales fonctionnalités de Guix, ainsi que des
+outils de gestion des paquets qu'il fournit.  En plus de l'interface en
+ligne de commande décrite en dessous de (@pxref{Invoquer guix package,
address@hidden package}}), vous pouvez aussi utiliser l'interface Emacs-Guix
+(@pxref{Top,,, emacs-guix, Le manuel de référence de emacs-guix}), après
+avoir installé le paquet @code{emacs-guix} (lancez la commande @kbd{M-x
+guix-help} pour le démarrer) :
 
-Lorsque les substituts sont activés et qu'un substitut pour une dérivation
-est disponible, mais que la tentative de substitution échoue, Guix essaiera
-de construire la dérivation localement si @code{--fallback} a été passé en
-argument (@pxref{option de repli,, common build option @code{--fallback}}).
-Plus spécifiquement, si cet option n'a pas été passée en argument, alors
-aucune construction locale n'est effectuée et la dérivation est considérée
-comme étant en échec. Cependant, si @code{--fallback} est passé en argument,
-alors Guix essaiera de construire la dérivation localement et l'échec ou le
-succès de la dérivation dépend de l'échec ou du succès de la construction
-locale.  Remarquez que lorsque les substituts sont désactivés ou qu'aucun
-substitut n'est disponible pour la dérivation en question, une construction
-locale sera @emph{toujours} effectuée, indépendamment du fait que l'argument
address@hidden ait été ou non passé.
address@hidden
+guix package -i emacs-guix
address@hidden example
 
-Pour se donner une idée du nombre de substituts disponibles maintenant, vous
-pouvez essayer de lancer la commande @command{guix weather} (@pxref{Invoquer 
guix weather}).  Cette command fournit des statistiques sur les substituts
-fournis par un serveur.
address@hidden
+* Fonctionnalités::         Comment Guix va rendre votre vie plus heureuse.
+* Invoquer guix package::    Installation, suppression, etc.@: de paquets.
+* Substituts::               Télécharger des binaire déjà construits.
+* Des paquets avec plusieurs résultats::  Un seul paquet source, plusieurs 
+                                             résultats.
+* Invoquer guix gc::         Lancer le ramasse-miettes.
+* Invoquer guix pull::       Récupérer la dernière version de Guix et de 
+                               la distribution.
+* Canaux::                   Personnaliser la collection des paquets.
+* Inférieurs::              Interagir avec une autre révision de Guix.
+* Invoquer guix describe::   Affiche des informations sur la révision Guix 
+                               actuelle.
+* Invoquer guix archive::    Exporter et importer des fichiers du dépôt.
address@hidden menu
 
address@hidden De la confiance en des binaires
address@hidden De la confiance en des binaires
address@hidden Fonctionnalités
address@hidden Fonctionnalités
 
address@hidden confiance, en des binaires pré-construits
-De nos jours, le contrôle individuel sur son utilisation propre de
-l'informatique est à la merci d'institutions, de sociétés et de groupes avec
-assez de pouvoir et de détermination pour contourner les infrastructures
-informatiques et exploiter leurs faiblesses.  Bien qu'utiliser les
-substituts de @code{hydra.gnu.org} soit pratique, nous encourageons les
-utilisateurs à construire aussi par eux-même, voir à faire tourner leur
-propre ferme de construction, pour que @code{hydra.gnu.org} devienne une
-cible moins intéressante.  Une façon d'aider est de publier les logiciels
-que vous construisez avec @command{guix publish} pour que les autres aient
-plus de choix de serveurs où télécharger les substituts (@pxref{Invoquer guix 
publish}).
+Lorsque vous utilisez Guix, chaque paquet arrive dans @dfn{dépôt des
+paquets}, dans son propre répertoire — quelque chose comme
address@hidden/gnu/store/xxx-paquet-1.2}, où @code{xxx} est une chaîne en 
base32.
 
-Guix possède les fondations pour maximiser la reproductibilité logicielle
-(@pxref{Fonctionnalités}).  Dans la plupart des cas, des constructions
-indépendantes d'un paquet donnée ou d'une dérivation devrait donner des
-résultats identiques au bit près.  Ainsi, à travers un ensemble de
-constructions de paquets indépendantes il est possible de renforcer
-l'intégrité du système.  La commande @command{guix challenge} a pour but
-d'aider les utilisateurs à tester les serveurs de substituts et à aider les
-développeurs à trouver les constructions de paquets non-déterministes
-(@pxref{Invoquer guix challenge}).  De même, l'option @option{--check} de
address@hidden build} permet aux utilisateurs de vérifier si les substituts
-précédemment installés sont authentiques en les reconstruisant localement
-(@pxref{vérification de la construction, @command{guix build --check}}).
+Plutôt que de se rapporter à ces répertoires, les utilisateurs ont leur
+propre @dfn{profil} qui pointe vers les paquets qu'ils veulent vraiment
+utiliser.  Ces profils sont stockés dans le répertoire personnel de chaque
+utilisateur dans @code{$HOME/.guix-profile}.
 
-Dans le futur, nous aimerions que Guix puisse publier et recevoir des
-binaires d'autres utilisateurs, d'une manière pair-à-pair.  Si vous voulez
-discuter de ce projet, rejoignez-nous sur @email{guix-devel@@gnu.org}.
+Par exemple, @code{alice} installe GCC 4.7.2.  Il en résulte que
address@hidden/home/alice/.guix-profile/bin/gcc} pointe vers
address@hidden/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Maintenant, sur la même
+machine, @code{bob} a déjà installé GCC 4.8.0.  Le profil de @code{bob}
+continue simplement de pointer vers
address@hidden/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — c.-à-d.@: les deux 
versions de
+GCC coexistent surs le même système sans aucune interférence.
 
address@hidden Des paquets avec plusieurs résultats
address@hidden Des paquets avec plusieurs résultats
+La commande @command{guix package} est l'outil central pour gérer les
+paquets (@pxref{Invoquer guix package}).  Il opère sur les profils
+utilisateurs et peut être utilisé avec les @emph{privilèges utilisateurs
+normaux}.
 
address@hidden paquets avec plusieurs résultats
address@hidden sorties de paquets
address@hidden sorties
address@hidden transactions
+La commande fournit les opérations évidentes d'installation, de suppression
+et de mise à jour.  Chaque invocation est en fait une @emph{transaction} :
+soit l'opération demandée réussi, soit rien ne se passe.  Ainsi, si le
+processus @command{guix package} est terminé pendant la transaction ou si
+une panne de courant arrive pendant la transaction, le profil de
+l'utilisateur reste dans son état précédent et reste utilisable.
 
-Souvent, les paquets définis dans Guix ont une seule @dfn{sortie} —
-c.-à-d.@: que le paquet source conduit à exactement un répertoire dans le
-dépôt.  Lorsque vous lancez @command{guix package -i glibc}, vous installez
-la sortie par défaut du paquet GNU libc ; la sortie par défaut est appelée
address@hidden mais son nom peut être omis comme le montre cette commande.  Dans
-ce cas particuliers, la sortie par défaut de @code{glibc} contient tous les
-fichiers d'en-tête C, les bibliothèques partagées, les bibliothèques
-statiques, la documentation Info et les autres fichiers de support.
+In addition, any package transaction may be @emph{rolled back}.  So, if, for
+example, an upgrade installs a new version of a package that turns out to
+have a serious bug, users may roll back to the previous instance of their
+profile, which was known to work well.  Similarly, the global system
+configuration on Guix is subject to transactional upgrades and roll-back
+(@pxref{Utiliser le système de configuration}).
 
-Parfois il est plus approprié de séparer les divers types de fichiers
-produits par un même paquet source en plusieurs sorties.  Par exemple, la
-bibliothèque C GLib (utilisée par GTK+ et des paquets associés) installe
-plus de 20 Mo de documentation de référence dans des pages HTML.  Pour
-préserver l'espace disque des utilisateurs qui n'en ont pas besoin, la
-documentation va dans une sortie séparée nommée @code{doc}.  Pour installer
-la sortie principale de GLib, qui contient tout sauf la documentation, on
-devrait lancer :
+Tous les paquets du dépôt des paquets peut être @emph{glané}.  Guix peut
+déterminer quels paquets sont toujours référencés par les profils des
+utilisateurs et supprimer ceux qui ne sont plus référencés de manière
+prouvable (@pxref{Invoquer guix gc}).  Les utilisateurs peuvent toujours
+explicitement supprimer les anciennes générations de leur profil pour que
+les paquets auxquels elles faisaient référence puissent être glanés.
 
address@hidden
-guix package -i glib
address@hidden example
address@hidden reproductibilité
address@hidden constructions reproductibles
+Guix prend une approche @dfn{purement fonctionnelle} de la gestion de
+paquets, telle que décrite dans l'introduction (@pxref{Introduction}).
+Chaque nom de répertoire de paquet dans @file{/gnu/store} contient un hash
+de toutes les entrées qui ont été utilisées pendant la construction de ce
+paquet — le compilateur, les bibliothèques, les scripts de construction,
+etc.  Cette correspondance directe permet aux utilisateurs de s'assurer que
+l'installation d'un paquet donné correspond à l'état actuel de leur
+distribution.  Elle aide aussi à maximiser la @dfn{reproductibilité} : grâce
+aux environnements de construction utilisés, une construction donnée à de
+forte chances de donner des fichiers identiques bit-à-bit lorsqu'elle est
+effectuée sur des machines différents (@pxref{Invoquer guix-daemon,
+container}).
 
address@hidden documentation
-La commande pour installer la documentation est :
address@hidden substituts
+Ce fondement permet à Guix de supporter le @dfn{déploiement transparent de
+binaire ou source}.  Lorsqu'une binaire pré-construit pour une entrée de
address@hidden/gnu/store} est disponible depuis une source externe (un
address@hidden), Guix le télécharge simplement et le décompresse ; sinon,
+il construit le paquet depuis les sources localement (@pxref{Substituts}).
+Comme les résultats des constructions sont généralement reproductibles au
+bit près, si vous n'avez pas besoin de faire confiance aux serveurs qui
+fournissent les substituts : vous pouvez forcer une construction locale et
address@hidden les fournisseurs (@pxref{Invoquer guix challenge}).
 
address@hidden
-guix package -i glib:doc
address@hidden example
+Le contrôle de l'environnement de construction est aussi une fonctionnalité
+utile pour les développeurs.  La commande @command{guix environment} permet
+aux développeurs d'un paquet de mettre en place rapidement le bon
+environnement de développement pour leur paquet, sans avoir à installer
+manuellement les dépendances du paquet dans leur profil (@pxref{Invoquer guix 
environment}).
 
-Certains paquets installent des programmes avec des « empreintes dépendances
-» différentes.  Par exemple le paquet WordNet installe à la fois les outils
-en ligne de commande et les interfaces graphiques (GUI).  La première ne
-dépend que de la bibliothèque C, alors que cette dernière dépend de Tcl/Tk
-et des bibliothèques X sous-jacentes.  Dans ce cas, nous laissons les outils
-en ligne de commande dans la sortie par défaut et l'interface graphique dans
-une sortie séparée.  Cela permet aux utilisateurs qui n'ont pas besoin
-d'interface graphique de gagner de la place.  La commande @command{guix
-size} peut aider à trouver ces situations (@pxref{Invoquer guix size}). 
@command{guix graph} peut aussi être utile (@pxref{Invoquer guix graph}).
address@hidden réplication, des environnements logiciels
address@hidden suivi de la provenance, des artefacts logiciels
+La totalité de Guix et des définitions de paquets sont placés sous contrôle
+de version, et @command{guix pull} vous permet de « voyager dans le temps »
+de l'historique de Guix lui-même (@pxref{Invoquer guix pull}).  Cela est
+rend possible la réplication d'une instance Guix sur une machine différente
+ou plus tard, ce qui vous permet de @emph{répliquer des environnements
+logiciels complets}, tout en garantissant un @dfn{suivi de provenance}
+précis des logiciels.
 
-Il y a plusieurs paquets à sorties multiples dans la distribution GNU.
-D'autres noms de sorties conventionnels sont @code{lib} pour les
-bibliothèques et éventuellement les fichiers d'en-tête, @code{bin} pour les
-programmes indépendants et @code{debug} pour les informations de débogage
-(@pxref{Installer les fichiers de débogage}).   Les sorties d'un paquet sont 
listés
-dans la troisième colonne de la sortie de @command{guix package
---list-available} (@pxref{Invoquer guix package}).
address@hidden Invoquer guix package
address@hidden Invoquer @command{guix package}
 
address@hidden installer des paquets
address@hidden supprimer des paquets
address@hidden installation de paquets
address@hidden suppression de paquets
+La commande @command{guix package} est l'outil qui permet d'installer,
+mettre à jour et supprimer les paquets ainsi que de revenir à une
+configuration précédente.  Elle n'opère que dans le profil de l'utilisateur
+et fonctionne avec les privilèges utilisateurs normaux
+(@pxref{Fonctionnalités}).  Sa syntaxe est :
 
address@hidden Invoquer guix gc
address@hidden Invoquer @command{guix gc}
address@hidden
+guix package @var{options}
address@hidden example
address@hidden transactions
address@hidden spécifie d'abord les opérations à effectuer pendant la
+transaction.  À la fin, une nouvelle génération du profil est créée mais les
address@hidden précédentes du profil restent disponibles si l'utilisateur
+souhaite y revenir.
 
address@hidden ramasse-miettes
address@hidden espace disque
-Les paquets qui sont installés mais pas utilisés peuvent être @dfn{glanés}.
-La commande @command{guix gc} permet aux utilisateurs de lancer
-explicitement le ramasse-miettes pour récupérer de l'espace dans le
-répertoire @file{/gnu/store}.  C'est la @emph{seule} manière de supprimer
-des fichiers de @file{/gnu/store} — supprimer des fichiers ou des
-répertoires à la main peut le casser de manière impossible à réparer !
+Par exemple, pour supprimer @code{lua} et installer @code{guile} et
address@hidden en une seule transaction :
 
address@hidden racines du GC
address@hidden racines du ramasse-miettes
-Le ramasse-miettes a un ensemble de @dfn{racines} connues : tout fichier
-dans @file{/gnu/store} atteignable depuis une racine est considéré comme
address@hidden et ne peut pas être supprimé ; tous les autres fichiers sont
-considérés comme @dfn{inutilisés} et peuvent être supprimés.  L'ensemble des
-racines du ramasse-miettes (ou « racines du GC » pour faire court) inclue
-les profils par défaut des utilisateurs ; par défaut les liens symboliques
-sous @file{/var/guix/gcroots} représentent ces racines du GC.  De nouvelles
-racines du GC peuvent être ajoutées avec la @command{guix build -- root} par
-exemple (@pxref{Invoquer guix build}).
address@hidden
+guix package -r lua -i guile guile-cairo
address@hidden example
 
-Avant de lancer @code{guix gc --collect-garbage} pour faire de la place,
-c'est souvent utile de supprimer les anciennes génération des profils
-utilisateurs ; de cette façon les anciennes constructions de paquets
-référencées par ces générations peuvent être glanées.  Cela se fait en
-lançaint @code{guix package --delete-generations} (@pxref{Invoquer guix 
package}).
address@hidden package} supporte aussi une @dfn{approche déclarative} où
+l'utilisateur spécifie l'ensemble exact des paquets qui doivent être
+disponibles le passe @i{via} l'option @option{--manifest}
+(@pxref{profile-manifest, @option{--manifest}}).
 
-Nous recommandons de lancer le ramasse-miettes régulièrement ou lorsque vous
-avez besoin d'espace disque.  Par exemple pour garantir qu'au moins
address@hidden d'espace reste libre sur votre disque, lancez simplement :
address@hidden profil
+Pour chaque utilisateur, un lien symbolique vers le profil par défaut de cet
+utilisateur est automatiquement créé dans @file{$HOME/.guix-profile}.  Ce
+lien symbolique pointe toujours vers la génération actuelle du profil par
+défaut de l'utilisateur.  Ainsi, les utilisateurs peuvent ajouter
address@hidden/.guix-profile/bin} à leur variable d'environnement @code{PATH}
+etc.
address@hidden chemins de recherche
+Si vous n'utilisez pas la distribution système Guix, vous devriez ajouter
+les lignes suivantes à votre @file{~/.bash_profile} (@pxref{Bash Startup
+Files,,, bash, The GNU Bash Reference Manual}) pour que les shells créés
+ensuite aient les bonnes définitions des variables d'environnement :
 
 @example
-guix gc -F 5G
+GUIX_PROFILE="$HOME/.guix-profile" ; \
+source "$HOME/.guix-profile/etc/profile"
 @end example
 
-Il est parfaitement possible de le lancer comme une tâche périodique
-non-interactive (@pxref{Exécution de tâches planifiées} pour apprendre comment
-paramétrer une telle tâche sur GuixSD).  Lancer @command{guix gc} sans
-argument ramassera autant de miettes que possible mais ça n'est pas le plus
-pratique : vous pourriez vous retrouver à reconstruire ou re-télécharger des
-logiciels « inutilisés » du point de vu du GC mais qui sont nécessaires pour
-construire d'autres logiciels — p.@: ex.@: la chaîne de compilation.
+Dans un environnement multi-utilisateur, les profils utilisateurs sont
+stockés comme une @dfn{racine du ramasse-miettes}, vers laquelle pointe
address@hidden/.guix-profile} (@pxref{Invoquer guix gc}).  Ce répertoire est
+normalement
address@hidden@var{localstatedir}/guix/profiles/per-user/@var{utilisateur}},  où
address@hidden est la valeur passée à @code{configure} avec
address@hidden et @var{utilisateur} le nom d'utilisateur.  Le
+répertoire @file{per-user} est créé lorsque @command{guix-daemon} est
+démarré et sous-répertoire @var{utilisateur} est créé par @command{guix
+package}.
 
-La command @command{guix gc} a trois modes d'opération : il peut être
-utilisé pour glaner des fichiers inutilisés (par défaut), pour supprimer des
-fichiers spécifiques (l'option @code{--delete}), pour afficher des
-informations sur le ramasse-miettes ou pour des requêtes plus avancées.  Les
-options du ramasse-miettes sont :
+Les @var{options} peuvent être les suivante :
 
 @table @code
address@hidden address@hidden
address@hidden -C address@hidden
-Ramasse les miettes — c.-à-d.@: les fichiers inaccessibles de
address@hidden/gnu/store} et ses sous-répertoires.  C'est l'opération par défaut
-lorsqu'aucune option n'est spécifiée.
-
-Lorsque @var{min} est donné, s'arrêter une fois que @var{min} octets ont été
-collectés.  @var{min} pour être un nombre d'octets ou inclure un suffixe
-d'unité, comme @code{MiB} pour mébioctet et @code{GB} pour gigaoctet
-(@pxref{Block size, size specifications,, coreutils, GNU Coreutils}).
 
-Lorsque @var{min} est omis, tout glaner.
address@hidden address@hidden @dots{}
address@hidden -i @var{paquet} @dots{}
+Installer les @var{paquet}s spécifiés.
 
address@hidden address@hidden
address@hidden -F @var{libre}
-Glaner jusqu'à ce que @var{libre} espace soit disponible dans
address@hidden/gnu/store} si possible ; @var{libre} est une quantité de stockage
-comme @code{500MiB} comme décrit ci-dessus.
+Chaque @var{paquet} peut spécifier soit un simple nom de paquet, comme
address@hidden ou un nom de paquet suivi d'un arobase et d'un numéro de
+version, comme @code{guile@@1.8.8} ou simplement @code{guile@@1.8} (dans ce
+dernier cas, la version la plus récente commençant par @code{1.8} est
+utilisée).
 
-Lorsque @var{libre} ou plus est disponible dans @file{/gnu/store} ne rien
-faire et s'arrêter immédiatement.
+Si aucun numéro de version n'est spécifié, la version la plus récente
+disponible est choisie.  En plus, @var{paquet} peut contenir un deux-points,
+suivi du nom d'une des sorties du paquet, comme dans @code{gcc:doc} ou
address@hidden@@2.22:lib} (@pxref{Des paquets avec plusieurs résultats}).  Des
+paquets avec un nom correspondant et (éventuellement une version) sont
+recherchés dans les modules de la distribution GNU (@pxref{Modules de 
paquets}).
 
address@hidden --delete
address@hidden -d
-Essayer de supprimer tous les fichiers et les répertoires du dépôt spécifiés
-en argument.  Cela échoue si certains des fichiers ne sont pas dans le dépôt
-ou s'ils sont toujours utilisés.
address@hidden entrées propagées
+Parfois les paquets ont des @dfn{entrées propagées} : ce sont des
+dépendances qui sont installées automatiquement avec le paquet demandé
+(@pxref{package-propagated-inputs, @code{propagated-inputs} in
address@hidden objects} pour plus d'informations sur les entrées propagées
+dans les définitions des paquets).
 
address@hidden --list-failures
-Lister les éléments du dépôt qui correspondent à des échecs de construction
address@hidden
+Un exemple est la bibliothèque MPC de GNU : ses fichiers d'en-tête C se
+réfèrent à ceux de la bibliothèque MPFR de GNU, qui se réfèrent en retour à
+ceux de la bibliothèque GMP.  Ainsi, lorsqu'on installe MPC, les
+bibliothèques MPFR et GMP sont aussi installées dans le profil ; supprimer
+MPC supprimera aussi MPFR et GMP — à moins qu'ils n'aient été aussi
+installés explicitement par l'utilisateur.
 
-Cela n'affiche rien à moins que le démon n'ait été démarré avec
address@hidden (@pxref{Invoquer guix-daemon,
address@hidden).
+D'autre part, les paquets dépendent parfois de la définition de variables
+d'environnement pour leur chemin de recherche (voir les explications sur
address@hidden plus bas).  Toute définition de variable
+d'environnement manquante ou possiblement incorrecte est rapportée ici.
 
address@hidden --clear-failures
-Supprimer les éléments du dépôt spécifiés du cache des constructions
-échouées.
address@hidden address@hidden
address@hidden -e @var{exp}
+Installer le paquet évalué par @var{exp}
 
-De nouveau, cette option ne fait de sens que lorsque le démon est démarré
-avec @option{--cache-failures}.  Autrement elle ne fait rien.
address@hidden doit être une expression Scheme qui s'évalue en un objet
address@hidden<package>}.  Cette option est notamment utile pour distinguer les
+variantes d'un paquet avec le même nom, avec des expressions comme @code{(@@
+(gnu packages base) guile-final)}.
 
address@hidden --list-dead
-Montrer la liste des fichiers et des répertoires inutilisés encore présents
-dans le dépôt — c.-à-d.@: les fichiers et les répertoires qui ne sont plus
-atteignables par aucune racine.
+Remarquez que cette option installe la première sortie du paquet, ce qui
+peut être insuffisant lorsque vous avez besoin d'une sortie spécifique d'un
+paquet à plusieurs sorties.
 
address@hidden --list-live
-Montrer la liste des fichiers et des répertoires du dépôt utilisés.
address@hidden address@hidden
address@hidden -f @var{fichier}
+Installer le paquet évalué par le code dans le @var{fichier}.
 
address@hidden table
+Par exemple, @var{fichier} peut contenir une définition comme celle-ci
+(@pxref{Définition des paquets}) :
 
-En plus, les références entre les fichiers existants du dépôt peuvent être
-demandés :
address@hidden
address@hidden package-hello.scm
address@hidden example
 
address@hidden @code
+Les développeurs peuvent trouver utile d'inclure un tel fichier
address@hidden à la racine de l'arborescence des sources de leur projet qui
+pourrait être utilisé pour tester des versions de développement et créer des
+environnements de développement reproductibles (@pxref{Invoquer guix 
environment}).
 
address@hidden --references
address@hidden --referrers
address@hidden dépendances des paquets
-Lister les références (respectivement les référents) des fichiers du dépôt
-en argument.
address@hidden address@hidden @dots{}
address@hidden -r @var{paquet} @dots{}
+Supprimer les @var{paquet}s spécifiés.
 
address@hidden --requisites
address@hidden -R
address@hidden closure
-Lister les prérequis des fichiers du dépôt passés en argument.  Les
-prérequis sont le fichier du dépôt lui-même, leur références et les
-références de ces références, récursivement.  En d'autre termes, la liste
-retournée est la @dfn{closure transitive} des fichiers du dépôt.
+Comme pour @code{--install}, chaque @var{paquet} peut spécifier un numéro de
+version ou un nom de sortie en plus du nom du paquet.  Par exemple, @code{-r
+glibc:debug} supprimerait la sortie @code{debug} de @code{glibc}.
 
address@hidden guix size} pour un outil pour surveiller la taille de la
-closure d'un élément.  @xref{Invoquer guix graph} pour un outil pour
-visualiser le graphe des références.
address@hidden address@hidden @dots{}]
address@hidden -u address@hidden @dots{}]
address@hidden mettre à jour des paquets
+Mettre à jour tous les paquets installés.  Si une @var{regexp} ou plus est
+spécifiée, la mise à jour n'installera que les paquets dont le nom
+correspond à @var{regexp}.  Voyez aussi l'option @code{--do-not-upgrade} en
+dessous.
 
address@hidden --derivers
address@hidden dérivation
-Renvoie les dérivations menant aux éléments du dépôt donnés
-(@pxref{Dérivations}).
+Remarquez que cela met à jour vers la dernière version des paquets trouvée
+dans la distribution actuellement installée.  Pour mettre à jour votre
+distribution, vous devriez lancer régulièrement @command{guix pull}
+(@pxref{Invoquer guix pull}).
 
-Par exemple cette commande :
address@hidden address@hidden @dots{}]
+Lorsqu'elle est utilisée avec l'option @code{--upgrade}, ne @emph{pas}
+mettre à jour les paquets dont le nom correspond à @var{regexp}.  Par
+exemple, pour mettre à jour tous les paquets du profil actuel à l'exception
+de ceux qui contiennent la chaîne « emacs » :
 
 @example
-guix gc --derivers `guix package -I ^emacs$ | cut -f4`
+$ guix package --upgrade . --do-not-upgrade emacs
 @end example
 
address@hidden
-renvoie les fichiers @file{.drv} menant au paquet @code{emacs} installé dans
-votre profil.
-
-Remarquez qu'il peut n'y avoir aucun fichier @file{.drv} par exemple quand
-ces fichiers ont été glanés.  Il peut aussi y avoir plus d'un fichier
address@hidden correspondant à cause de dérivations à sortie fixées.
address@hidden table
-
-Enfin, les options suivantes vous permettent de vérifier l'intégrité du
-dépôt et de contrôler l'utilisation du disque.
address@hidden @address@hidden
address@hidden -m @var{fichier}
address@hidden déclaration de profil
address@hidden manifest de profil
+Créer une nouvelle génération du profil depuis l'objet manifeste renvoyé par
+le code Scheme dans @var{fichier}.
 
address@hidden @option
+Cela vous permet de @emph{déclarer} le contenu du profil plutôt que de le
+construire avec une série de @code{--install} et de commandes similaires.
+L'avantage étant que le @var{fichier} peut être placé sous contrôle de
+version, copié vers d'autres machines pour reproduire le même profil, etc.
 
address@hidden address@hidden
address@hidden intégrité, du dépôt
address@hidden vérification d'intégrité
-Vérifier l'intégrité du dépôt.
address@hidden FIXME: Add reference to (guix profile) documentation when 
available.
address@hidden doit retourner un objet @dfn{manifest} qui est en gros une
+liste de paquets :
 
-Par défaut, s'assurer que tous les éléments du dépôt marqués comme valides
-dans la base de données du démon existent bien dans @file{/gnu/store}.
address@hidden packages->manifest
address@hidden
+(use-package-modules guile emacs)
 
-Lorsqu'elle est fournie, l'@var{option} doit être une liste séparée par des
-virgule de l'un ou plus parmi @code{contents} et @code{repair}.
+(packages->manifest
+ (list emacs
+       guile-2.0
+       ;; Utiliser une sortie spécifique d'un paquet.
+       (list guile-2.0 "debug")))
address@hidden example
 
-Lorsque vous passez @option{--verify=contents}, le démon calcul le hash du
-contenu de chaque élément du dépôt et le compare au hash de sa base de
-données.  Les différences de hash sont rapportées comme des corruptions de
-données.  Comme elle traverse @emph{tous les fichiers du dépôt}, cette
-commande peut prendre très longtemps pour terminer, surtout sur un système
-avec un disque lent.
address@hidden specifications->manifest
+Dans cet exemple on doit savoir quels modules définissent les variables
address@hidden et @code{guile-2.0} pour fournir la bonne ligne
address@hidden ce qui peut être embêtant.  On peut à la place
+fournir des spécifications de paquets normales et laisser
address@hidden>manifest} rechercher les objets de paquets
+correspondants, comme ceci :
 
address@hidden réparer le dépôt
address@hidden corruption, récupérer de
-Utiliser @option{--verify=repair} ou @option{--verify=contents,repair} fait
-que le démon essaie de réparer les objets du dépôt corrompus en récupérant
-leurs substituts (@pxref{Substituts}).  Comme la réparation n'est pas
-atomique et donc potentiellement dangereuse, elle n'est disponible que pour
-l'administrateur système.  Une alternative plus légère lorsque vous
-connaissez exactement quelle entrée est corrompue consiste à lancer
address@hidden build --repair} (@pxref{Invoquer guix build}).
address@hidden
+(specifications->manifest
+ '("emacs" "guile@@2.2" "guile@@2.2:debug"))
address@hidden example
 
address@hidden --optimize
address@hidden déduplication
-Optimiser le dépôt en liant en dur les fichiers identiques — c'est la
address@hidden
address@hidden --roll-back
address@hidden revenir en arrière
address@hidden défaire des transactions
address@hidden transactions, défaire
+Revenir à la @dfn{génération} précédente du profil c.-à-d.@: défaire la
+dernière transaction.
 
-Le démon effectue une déduplication à chaque construction réussie ou import
-d'archive à moins qu'il n'ait été démarré avec
address@hidden (@pxref{Invoquer guix-daemon,
address@hidden).  Ainsi, cette option est surtout utile
-lorsque le démon tourne avec @code{--disable-deduplication}.
+Lorsqu'elle est combinée avec des options comme @code{--install}, cette
+option revient en arrière avant toute autre action.
 
address@hidden table
+Lorsque vous revenez de la première génération qui contient des fichiers, le
+profil pointera vers la @dfn{zéroième génération} qui ne contient aucun
+fichier en dehors de ses propres métadonnées.
 
address@hidden Invoquer guix pull
address@hidden Invoquer @command{guix pull}
+Après être revenu en arrière, l'installation, la suppression et la mise à
+jour de paquets réécrit les futures générations précédentes.  Ainsi,
+l'historique des générations dans un profil est toujours linéaire.
 
address@hidden mettre à niveau Guix
address@hidden mettre à jour Guix
address@hidden @command{guix pull}
address@hidden pull
-Les paquets sont installés ou mis à jour vers la dernière version disponible
-dans la distribution actuellement disponible sur votre machine locale.  Pour
-mettre à jour cette distribution, en même temps que les outils Guix, vous
-devez lancer @command{guix pull} ; la commande télécharge le dernier code
-source de Guix et des descriptions de paquets et le déploie.  Le code source
-est téléchargé depuis un dépôt @uref{https://git-scm.com, Git}, par défaut
-le dépôt officiel de address@hidden, bien que cela puisse être personnalisé.
address@hidden address@hidden
address@hidden -S @var{motif}
address@hidden générations
+Basculer vers une génération particulière définie par le @var{motif}.
 
-À la fin, @command{guix package} utilisera les paquets et les versions des
-paquets de la copie de Guix tout juste récupérée.  Non seulement ça, mais
-toutes les commandes Guix et les modules Scheme seront aussi récupérés
-depuis la dernière version.  Les nouvelles sous-commandes de @command{guix}
-ajoutés par la mise à jour sont aussi maintenant disponibles.
+Le @var{motif} peut être soit un numéro de génération soit un nombre précédé
+de « + » ou « - ».  Ce dernier signifie : se déplacer en avant ou en arrière
+d'un nombre donné de générations.  Par exemple, si vous voulez retourner à
+la dernière génération après @code{--roll-back}, utilisez
address@hidden
 
-Chaque utilisateur peut mettre à jour sa copie de Guix avec @command{guix
-pull} et l'effet est limité à l'utilisateur qui a lancé @command{guix
-pull}.  Par exemple, lorsque l'utilisateur @code{root} lance @command{guix
-pull}, cela n'a pas d'effet sur la version de Guix que vois @code{alice} et
-vice-versa
+La différence entre @code{--roll-back} et @code{--switch-generation=-1} est
+que @code{--switch-generation} ne vous amènera pas à la zéroième génération,
+donc si la génération demandée n'existe pas la génération actuelle ne
+changera pas.
 
-Le résultat après avoir lancé @command{guix pull} est un @dfn{profil}
-disponible sous @file{~/.config/guix/current} contenant la dernière version
-de Guix.  Ainsi, assurez-vous de l'ajouter au début de votre chemin de
-recherche pour que vous utilisiez la dernière version.  Le même conseil
-s'applique au manuel Info (@pxref{Documentation}) :
address@hidden address@hidden
address@hidden chemins de recherche
+Rapporter les définitions des variables d'environnement dans la syntaxe Bash
+qui peuvent être requises pour utiliser l'ensemble des paquets installés.
+Ces variables d'environnement sont utilisées pour spécifier les @dfn{chemins
+de recherche} de fichiers utilisés par les paquets installés.
 
address@hidden
-export PATH="$HOME/.config/guix/current/bin:$PATH"
-export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"
address@hidden example
+Par exemple, GCC a besoin des variables d'environnement @code{CPATH} et
address@hidden pour trouver les en-têtes et les bibliothèques dans le
+profil de l'utilisateur (@pxref{Environment Variables,,, gcc, Using the GNU
+Compiler Collection (GCC)}).  Si GCC et, disons, la bibliothèque C sont
+installés dans le profil, alors @code{--search-paths} suggérera
+d'initialiser ces variables à @address@hidden/include} et
address@hidden@var{profil}/lib}, respectivement.
 
-L'option @code{--list-generations} ou @code{-l} liste les anciennes
-générations produites par @command{guix pull}, avec des détails sur leur
-origine :
+Le cas d'utilisation typique est de définir ces variables d'environnement
+dans le shell :
 
 @example
-$ guix pull -l
-Génération 1   10 juin 2018 00:18:18
-  guix 65956ad
-    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
-    branche : origin/master
-    commit : 65956ad3526ba09e1f7a40722c96c6ef7c0936fe
-
-Génération 2   11 juin 2018 11:02:49
-  guix e0cc7f6
-    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
-    branche : origin/master
-    commit : e0cc7f669bec22c37481dd03a7941c7d11a64f1d
-  2 nouveaux paquets : keepalived, libnfnetlink
-  6 paquets mis à jour : emacs-nix-mode@@2.0.4,
-    guile2.0-guix@@0.14.0-12.77a1aac, guix@@0.14.0-12.77a1aac,
-    heimdal@@7.5.0, milkytracker@@1.02.00, nix@@2.0.4
-
-Génération 3   13 juin 2018 23:31:07   (actuelle)
-  guix 844cc1c
-    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
-    branche : origin/master
-    commit : 844cc1c8f394f03b404c5bb3aee086922373490c
-  28 nouveaux paquets : emacs-helm-ls-git, emacs-helm-mu, @dots{}
-  69 paquets mis à jour : borg@@1.1.6, cheese@@3.28.0, @dots{}
+$ eval `guix package --search-paths`
 @end example
 
address@hidden guix describe, @command{guix describe}} pour d'autres manières
-de décrire le statut actuel de Guix.
address@hidden peut être l'une des valeurs @code{exact}, @code{prefix} ou
address@hidden, ce qui signifie que les définitions des variables
+d'environnement retournées seront soit les paramètres exactes, ou placés
+avant ou après la valeur actuelle de ces paramètres.  Lorsqu'il est omis,
address@hidden a pour valeur par défaut @code{exact}.
 
-Ce profil @code{~/.config/guix/current} fonctionne comme les autres profils
-créés par @command{guix package} (@pxref{Invoquer guix package}).
-C'est-à-dire que vous pouvez lister les générations, revenir en arrière à
-une génération précédente — c.-à-d.@: la version de Guix précédente — etc :
+Cette option peut aussi être utilisé pour calculer les chemins de recherche
address@hidden de plusieurs profils.  Regardez cet exemple :
 
 @example
-$ guix package -p ~/.config/guix/current --roll-back
-passé de la génération 3 à 2
-$ guix package -p ~/.config/guix/current --delete-generations=1
-suppression de /var/guix/profiles/per-user/charlie/current-guix-1-link
+$ guix package -p foo -i guile
+$ guix package -p bar -i guile-json
+$ guix package -p foo -p bar --search-paths
 @end example
 
-La commande @command{guix pull} est typiquement invoquée sans arguments mais
-il supporte les options suivantes :
-
address@hidden @code
address@hidden address@hidden
address@hidden address@hidden
address@hidden address@hidden
-Télécharger le code depuis l'@var{url} spécifié, au @var{commit} donné (un
-commit Git valide représenté par une chaîne hexadécimale) ou à la branche
address@hidden
-
address@hidden @file{channels.scm}, fichier de configuration
address@hidden fichier de configuration pour les canaux
-Ces options sont fournies pour votre confort, mais vous pouvez aussi
-spécifier votre configuration dans le fichier
address@hidden/.config/guix/channels.scm} ou en utilisant l'option
address@hidden (voir plus bas).
-
address@hidden address@hidden
address@hidden -C @var{file}
-Lit la liste des canaux dans @var{file} plutôt que dans
address@hidden/.config/guix/channels.scm}.  @var{file} doit contenir un code 
Scheme
-qui s'évalue en une liste d'objets de canaux.  @xref{Canaux} pour plus
-d'informations.
-
address@hidden address@hidden
address@hidden -l address@hidden
-Liste toutes les générations de @file{~/.config/guix/current} ou, si
address@hidden est fournit, le sous-ensemble des générations qui correspondent
-à @var{motif}.  La syntaxe de @var{motif} est la même qu'avec @code{guix
-package --list-generations} (@pxref{Invoquer guix package}).
+La dernière commande ci-dessus montre la variable @code{GUILE_LOAD_PATH}
+bien que, pris individuellement, ni @file{foo} ni @file{bar} n'auraient
+donné cette recommandation.
 
address@hidden guix describe}, pour une manière d'afficher des informations
-sur la génération actuelle uniquement.
 
 @item address@hidden
 @itemx -p @var{profil}
-Utiliser le @var{profil} à la place de @file{~/.config/guix/current}.
+Utiliser le @var{profil} à la place du profil par défaut de l'utilisateur.
 
address@hidden --dry-run
address@hidden -n
-Montrer quels commits des canaux seraient utilisés et ce qui serait
-construit ou substitué mais ne pas le faire vraiment.
address@hidden collisions, dans un profil
address@hidden faire des collisions de paquets dans des profils
address@hidden profil, collisions
address@hidden --allow-collisions
+Permettre des collisions de paquets dans le nouveau profil.  À utiliser à
+vos risques et périls !
 
address@hidden --verbose
-Produire une sortie verbeuse, en écrivant les journaux de construction sur
-la sortie d'erreur standard.
+Par défaut, @command{guix package} rapporte les @dfn{collisions} dans le
+profil comme des erreurs.  Les collisions ont lieu quand deux version ou
+variantes d'un paquet donné se retrouvent dans le profil.
 
 @item --bootstrap
-Utiliser le programme d'amorçage Guile pour construire la dernière version
-de Guix.  Cette option n'est utile que pour les développeurs de Guix.
address@hidden table
+Utiliser le programme d'amorçage Guile pour compiler le profil.  Cette
+option n'est utile que pour les développeurs de la distribution.
 
-Le mécanisme de @dfn{canaux} vous permet de dire à @command{guix pull} quels
-répertoires et branches récupérer, ainsi que les dépôts
address@hidden contenant des modules de paquets qui devraient être
-déployés.  @xref{Canaux} pour plus d'information.
address@hidden table
 
-En plus, @command{guix pull} supporte toutes les options de construction
-communes (@pxref{Options de construction communes}).
-
address@hidden Canaux
address@hidden Canaux
-
address@hidden canaux
address@hidden @file{channels.scm}, fichier de configuration
address@hidden fichier de configuration pour les canaux
address@hidden @command{guix pull}, fichier de configuration
address@hidden configuration de @command{guix pull}
-Guix et sa collection de paquets sont mis à jour en lançant @command{guix
-pull} (@pxref{Invoquer guix pull}).  Par défaut @command{guix pull}
-télécharge et déploie Guix lui-même depuis le dépôt officiel de
address@hidden  Cela peut être personnalisé en définissant des @dfn{canaux}
-dans le fichier @file{~/.config/guix/channels.scm}.  Un canal spécifie l'URL
-et la branche d'un répertoire Git à déployer et on peut demander à
address@hidden pull} de récupérer un ou plusieurs canaux.  En d'autres
-termes, les canaux peuvent être utilisés pour personnaliser et pour
address@hidden Guix, comme on le verra plus bas.
-
address@hidden Utiliser un canal Guix personnalisé
+En plus de ces actions, @command{guix package} supporte les options
+suivantes pour demander l'état actuel d'un profil ou la disponibilité des
+paquets :
 
-Le canal nommé @code{guix} spécifie où Guix lui-même — ses outils en ligne
-de commande ainsi que sa collection de paquets — sera téléchargé.  Par
-exemple, supposons que vous voulez effectuer les mises à jour depuis votre
-propre copie du dépôt Guix sur @code{example.org}, et plus particulièrement
-depuis la branche @code{super-hacks}.  Vous pouvez écrire cette
-spécification dans @code{~/.config/guix/channels.scm} :
address@hidden @option
 
address@hidden
-;; Dit à « guix pull » d'utiliser mon propre dépôt.
-(list (channel
-        (name 'guix)
-        (url "https://example.org/my-guix.git";)
-        (branch "super-hacks")))
address@hidden lisp
address@hidden address@hidden
address@hidden -s @var{regexp}
address@hidden chercher des paquets
+List the available packages whose name, synopsis, or description matches
address@hidden (in a case-insensitive fashion), sorted by relevance.  Print
+all the metadata of matching packages in @code{recutils} format (@pxref{Top,
+GNU recutils databases,, recutils, GNU recutils manual}).
 
address@hidden
-Maintenant, @command{guix pull} récupérera le code depuis la branche
address@hidden du dépôt sur @code{example.org}.
+Cela permet à des champs spécifiques d'être extraits avec la commande
address@hidden, par exemple :
 
address@hidden Spécifier des canaux supplémentaires
address@hidden
+$ guix package -s malloc | recsel -p name,version,relevance
+name: jemalloc
+version: 4.5.0
+relevance: 6
 
address@hidden étendre la collection de paquets (canaux)
address@hidden paquets personnels (canaux)
address@hidden canaux, pour des paquets personnels
-Vous pouvez aussi spécifier des @emph{canaux supplémentaires} à récupérer.
-Disons que vous avez un ensemble de paquets personnels ou de variantes
-personnalisées qu'il ne vaudrait pas le coup de contribuer au projet Guix,
-mais que vous voudriez pouvoir utiliser de manière transparente sur la ligne
-de commande.  Vous écririez d'abord des modules contenant ces définitions de
-paquets (@pxref{Modules de paquets}), en les maintenant dans un dépôt Git, puis
-vous ou n'importe qui d'autre pourrait l'utiliser comme un canal
-supplémentaire où trouver ces paquets.  Sympa, non ?
+name: glibc
+version: 2.25
+relevance: 1
 
address@hidden What follows stems from discussions at
address@hidden <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629#134> as 
well as
address@hidden earlier discussions on address@hidden
address@hidden Attention
-Avant que vous, cher utilisateur, ne vous exclamiez « Oh mais c'est
address@hidden génial} ! » et que vous ne publiez vos canaux personnels
-publiquement, nous voudrions vous donner quelques avertissements :
+name: libgc
+version: 7.6.0
+relevance: 1
address@hidden example
 
address@hidden
address@hidden
-Avant de publier un canal, envisagez de contribuer vos définitions de
-paquets dans Guix (@pxref{Contribuer}).  Guix en tant que projet est
-ouvert à tous les logiciels libres de toutes sortes, et les paquets dans
-Guix sont déjà disponibles à tous les utilisateurs de Guix et bénéficient
-des processus d'assurance qualité du projet.
+De manière similaire, pour montrer le nom de tous les paquets disponibles
+sous license address@hidden version 3 :
 
address@hidden
-Lorsque vous maintenez des définitions de paquets en dehors de Guix, nous,
-les développeurs de Guix, considérons que @emph{la charge de la
-compatibilité vous incombe}.  Rappelez-vous que les modules de paquets et
-les définitions de paquets ne sont que du code Scheme qui utilise diverses
-interfaces de programmation (API).  Nous souhaitons rester libres de changer
-ces API pour continuer à améliorer Guix, éventuellement d'une manière qui
-casse votre canal.  Nous ne changeons jamais l'API gratuitement, mais nous
-ne nous engageons @emph{pas} à geler les API non plus.
address@hidden
+$ guix package -s "" | recsel -p name -e 'license ~ "LGPL 3"'
+name: elfutils
 
address@hidden
-Corollaire : si vous utilisez un canal externe et que le canal est cassé,
-merci de @emph{rapporter le problème à l'auteur du canal}, pas au projet
-Guix.
address@hidden itemize
+name: gmp
address@hidden
address@hidden example
 
-Vous avez été prévenus !  Maintenant, nous pensons que des canaux externes
-sont une manière pratique d'exercer votre liberté pour augmenter la
-collection de paquets de Guix et de partager vos améliorations, qui sont les
-principes de bases du @uref{https://www.gnu.org/philosophy/free-sw.html,
-logiciel libe}.  Contactez-nous par courriel sur @email{guix-devel@@gnu.org}
-si vous souhaitez discuter à ce propos.
address@hidden quotation
+Il est aussi possible de raffiner les résultats de la recherche avec
+plusieurs options @code{-s}.  Par exemple, la commande suivante renvoie la
+liste des jeux de plateau :
 
-Une fois que vous avez un dépôt Git contenant vos propres modules de
-paquets, vous pouvez écrire @code{~/.config/guix/channels.scm} pour dire à
address@hidden pull} de récupérer votre canal personnel @emph{en plus} des
-canaux Guix par défaut :
address@hidden
+$ guix package -s '\<board\>' -s game | recsel -p name
+name: gnubg
address@hidden
address@hidden example
 
address@hidden %default-channels
address@hidden
-;; Ajouter mes paquets personnels à ceux fournis par Guix.
-(cons (channel
-        (name 'my-personal-packages)
-        (url "https://example.org/personal-packages.git";))
-      %default-channels)
address@hidden lisp
+Si on avait oublié @code{-s game}, on aurait aussi eu les paquets logiciels
+qui s'occupent de circuits imprimés (en anglais : circuit board) ; supprimer
+les chevrons autour de @code{board} aurait aussi ajouté les paquets qui
+parlent de clavier (en anglais : address@hidden).
 
address@hidden
-Note that the snippet above is (as always!)@: Scheme code; we use
address@hidden to add a channel the list of channels that the variable
address@hidden is bound to (@pxref{Pairs, @code{cons} and lists,,
-guile, GNU Guile Reference Manual}).  With this file in place, @command{guix
-pull} builds not only Guix but also the package modules from your own
-repository.  The result in @file{~/.config/guix/current} is the union of
-Guix with your own package modules:
+Et maintenant un exemple plus élaboré.  La commande suivante recherche les
+bibliothèques cryptographiques, retire les bibliothèques Haskell, Perl,
+Python et Ruby et affiche le nom et le synopsis des paquets correspondants :
 
 @example
-$ guix pull --list-generations
address@hidden
-Génération 19  Aug 27 2018 16:20:48
-  guix d894ab8
-    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
-    branche : master
-    commit : d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300
-  my-personal-packages dd3df5e
-    URL du dépôt : https://example.org/personal-packages.git
-    branche : master
-    commit : dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb
-  11 nouveaux paquets : my-gimp, my-emacs-with-cool-features, @dots{}
-  4 paquets mis à jour : emacs-racket-mode@@0.0.2-2.1b78827, @dots{}
+$ guix package -s crypto -s library | \
+    recsel -e '! (name ~ "^(ghc|perl|python|ruby)")' -p name,synopsis
 @end example
 
 @noindent
-La sortie de @command{guix pull} ci-dessus montre que la address@hidden
-contient aussi bien Guix que les paquets du canal
address@hidden  Parmi les nouveaux paquets et les paquets mis
-à jour qui sont listés, certains comme @code{my-gimp} et
address@hidden peuvent provenir de
address@hidden, tandis que d'autres viennent du canal par
-défaut de Guix.
address@hidden Expressions,,, recutils, GNU recutils manual} pour plus
+d'information sur les @dfn{expressions de sélection} pour @code{recsel -e}.
 
address@hidden Répliquer Guix
address@hidden address@hidden
+Afficher les détails du @var{paquet} dans la liste des paquets disponibles,
+au format @code{recutils} (@pxref{Top, GNU recutils databases,, recutils,
+GNU recutils manual}).
 
address@hidden épinglage, canaux
address@hidden répliquer Guix
address@hidden reproductibilité, de Guix
-La sortie de @command{guix pull --list-generations} ci-dessus montre
-précisément quels commits ont été utilisés pour construire cette instance de
-Guix.  Nous pouvons donc la répliquer, disons sur une autre machine, en
-fournissant une spécification de canal dans
address@hidden/.config/guix/channels.scm} qui est « épinglé » à ces commits :
address@hidden
+$ guix package --show=python | recsel -p name,version
+name: python
+version: 2.7.6
 
address@hidden
-;; Déployer des commits précis de mes canaux préférés.
-(list (channel
-       (name 'guix)
-       (url "https://git.savannah.gnu.org/git/guix.git";)
-       (commit "d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300"))
-      (channel
-       (name 'my-personal-packages)
-       (url "https://example.org/personal-packages.git";)
-       (branch "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb")))
address@hidden lisp
+name: python
+version: 3.3.5
address@hidden example
 
-La commande @command{guix describe --format=channels} peut même générer
-cette liste de canaux directement (@pxref{Invoquer guix describe}).
+Vous pouvez aussi spécifier le nom complet d'un paquet pour n'avoir que les
+détails concernant une version spécifique :
address@hidden
+$ guix package --show=python@@3.4 | recsel -p name,version
+name: python
+version: 3.4.3
address@hidden example
 
-À ce moment les deux machines font tourner @emph{exactement le même Guix},
-avec l'accès @emph{exactement aux même paquets}.  La sortie de @command{guix
-build gimp} sur une machine sera exactement la même, au bit près, que la
-sortie de la même commande sur l'autre machine.  Cela signifie aussi que les
-deux machines ont accès à tous les codes sources de Guix, et transitivement,
-à tous les codes sources de tous les paquets qu'il définit.
 
-Cela vous donne des super-pouvoirs, ce qui vous permet de suivre la
-provenance des artefacts binaires avec un grain très fin et de reproduire
-les environnements logiciels à volonté — une sorte de capacité de «
-méta-reproductibilité », si vous voulez.  @xref{Inférieurs}, pour une autre
-manière d'utiliser ces super-pouvoirs.
 
address@hidden Inférieurs
address@hidden Inférieurs
address@hidden address@hidden
address@hidden -I address@hidden
+Liste les paquets actuellement installés dans le profil spécifié, avec les
+paquets les plus récemment installés en dernier.  Lorsque @var{regexp} est
+spécifié, liste uniquement les paquets installés dont le nom correspond à
address@hidden
 
address@hidden TODO: Remove this once we're more confident about API stability.
address@hidden Remarque
-La fonctionnalité décrite ici est un « démonstrateur technique » à la
-version @value{VERSION}.  Ainsi, l'interface est sujette à changements.
address@hidden quotation
+Pour chaque paquet installé, affiche les éléments suivants, séparés par des
+tabulations : le nom du paquet, sa version, la partie du paquet qui est
+installé (par exemple, @code{out} pour la sortie par défaut, @code{include}
+pour ses en-têtes, etc) et le chemin du paquet dans le dépôt.
 
address@hidden inférieurs
address@hidden composition de révisions de Guix
-Parfois vous pourriez avoir à mélanger des paquets de votre révision de Guix
-avec des paquets disponibles dans une révision différente de Guix.  Les
address@hidden de Guix vous permettent d'accomplir cette tâche en
-composant différentes versions de Guix de manière arbitraire.
address@hidden address@hidden
address@hidden -A address@hidden
+Lister les paquets actuellement disponibles dans la distribution pour ce
+système (@pxref{Distribution GNU}).  Lorsque @var{regexp} est spécifié,
+liste uniquement les paquets dont le nom correspond à @var{regexp}.
 
address@hidden paquets inférieurs
-Techniquement, un « inférieur » est surtout un processus Guix séparé
-connecté à votre processus Guix principal à travers un REPL (@pxref{Invoquer 
guix repl}).  Le module @code{(guix inferior)} vous permet de créer des
-inférieurs et de communiquer avec eux.  Il fournit aussi une interface de
-haut-niveau pour naviguer dans les paquets d'un inférieur — @dfn{des paquets
-inférieurs} — et les manipuler.
+Pour chaque paquet, affiche les éléments suivants séparés par des
+tabulations : son nom, sa version, les parties du paquet (@pxref{Des paquets 
avec plusieurs résultats}), et l'emplacement de sa définition.
 
-Lorsqu'on les combine avec des canaux (@pxref{Canaux}), les inférieurs
-fournissent une manière simple d'interagir avec un révision de Guix
-séparée.  Par exemple, disons que vous souhaitiez installer dans votre
-profil le paquet guile actuel, avec le @code{guile-json} d'une ancienne
-révision de Guix — peut-être parce que la nouvelle version de
address@hidden a une API incompatible et que vous voulez lancer du code
-avec l'ancienne API.  Pour cela, vous pourriez écrire un manifeste à
-utiliser avec @code{guix package --manifest} (@pxref{Invoquer guix package})
-; dans ce manifeste, vous créeriez un inférieur pour l'ancienne révision de
-Guix qui vous intéresse et vous chercheriez le paquet @code{guile-json} dans
-l'inférieur :
address@hidden address@hidden
address@hidden -l address@hidden
address@hidden générations
+Renvoyer la liste des générations avec leur date de création ; pour chaque
+génération, montre les paquets installés avec les paquets installés les plus
+récemment en dernier.  Remarquez que la zéroième génération n'est jamais
+montrée.
 
address@hidden
-(use-modules (guix inferior) (guix channels)
-             (srfi srfi-1))   ;pour « first »
+Pour chaque paquet installé, afficher les éléments suivants, séparés par des
+tabulations : le nom du paquet, sa version, la partie du paquet qui a été
+installée (@pxref{Des paquets avec plusieurs résultats}), et l'emplacement du
+paquet dans le dépôt.
 
-(define channels
-  ;; L'ancienne révision depuis laquelle on veut
-  ;; extraire guile-json.
-  (list (channel
-         (name 'guix)
-         (url "https://git.savannah.gnu.org/git/guix.git";)
-         (commit
-          "65956ad3526ba09e1f7a40722c96c6ef7c0936fe"))))
+Lorsque @var{motif} est utilisé, la commande ne renvoie que les générations
+correspondantes.  Les motifs valides sont :
 
-(define inferior
-  ;; Un inférieur représentant la révision ci-dessus.
-  (inferior-for-channels channels))
address@hidden
address@hidden @emph{Des entiers et des entiers séparés par des virgules}.  Les 
deux motifs correspondent
+à des numéros de version.  Par exemple, @code{--list-generations=1} renvoie
+la première.
 
-;; Maintenant on crée un manifeste avec le paquet « guile » actuel
-;; et l'ancien paquet « guile-json ».
-(packages->manifest
- (list (first (lookup-inferior-packages inferior "guile-json"))
-       (specification->package "guile")))
address@hidden lisp
+Et @code{--list-generations=1,8,2} renvoie les trois générations dans
+l'ordre spécifié.  Aucune espace ni virgule surnuméraire n'est permise.
 
-Durant la première exécution, @command{guix package --manifest} pourrait
-avoir besoin de construire le canal que vous avez spécifié avant de créer
-l'inférieur ; les exécutions suivantes seront bien plus rapides parce que la
-révision de Guix sera déjà en cache.
address@hidden @emph{Des intervalles}.  @code{--list-generations=2..9} affiche 
les
+générations demandées et tout ce qui se trouvent entre elles.  Remarquez que
+le début d'un intervalle doit être plus petit que sa fin.
 
-Le module @code{(guix inferior)} fournit les procédures suivantes pour
-ouvrir un inférieur :
+Il est aussi possible d'omettre le numéro final.  Par exemple,
address@hidden renvoie toutes les générations à partir de la
+deuxième.
 
address@hidden {Procédure Scheme} inferior-for-channels @var{channels} @
-   [#:cache-directory] [#:ttl]
-Renvoie un inférieur pour @var{channels}, une liste de canaux.  Elle utilise
-le cache dans @var{cache-directory}, où les entrées peuvent être glanées
-après @var{ttl} secondes.  Cette procédure ouvre une nouvelle connexion au
-démon de construction.
address@hidden @emph{Des durées}.  Vous pouvez aussi récupérer les derniers 
@address@hidden, semaines,
+ou moins en passant un entier avec la première lettre de la durée (en
+anglais : d, w ou m).  Par exemple @code{--list-generations=20d} liste les
+générations qui sont âgées d'au plus 20 jours.
address@hidden itemize
 
-Elle a pour effet de bord de construire ou de substituer des binaires pour
address@hidden, ce qui peut prendre du temps.
address@hidden deffn
address@hidden address@hidden
address@hidden -d address@hidden
+Lorsque @var{motif} est omis, supprimer toutes les générations en dehors de
+l'actuelle.
 
address@hidden {Procédure Scheme} open-inferior @var{directory} @
-  [#:command "bin/guix"]
-Ouvre le Guix inférieur dans @var{directory} et lance
address@hidden@var{directory}/@var{command} repl} ou équivalent.  Renvoie 
@code{#f}
-si l'inférieur n'a pas pu être lancé.
address@hidden deffn
+Cette commande accepte les même motifs que @option{--list-generations}.
+Lorsque @var{motif} est spécifié, supprimer les générations correspondante.
+Lorsque @var{motif} spécifie une durée, les générations @emph{plus vieilles}
+que la durée spécifiée correspondent.  Par exemple
address@hidden supprime les générations vieilles de plus
+d'un mois.
 
address@hidden paquets inférieurs
-Les procédures listées plus bas vous permettent d'obtenir et de manipuler
-des paquets inférieurs.
+Si la génération actuelle correspond, elle n'est @emph{pas} supprimée.  La
+zéroième génération n'est elle non plus jamais supprimée.
 
address@hidden {Procédure Scheme} inferior-packages @var{inferior}
-Renvoie la liste des paquets connus de l'inférieur @var{inferior}.
address@hidden deffn
+Remarquez que supprimer des générations empêche de revenir en arrière vers
+elles.  Ainsi, cette commande doit être utilisée avec précaution.
 
address@hidden {Procédure Scheme} lookup-inferior-packages @var{inferior} 
@var{name} @
-   address@hidden
-Renvoie la liste triée des paquets inférieurs qui correspondent à @var{name}
-dans @var{inferior}, avec le plus haut numéro de version en premier.  Si
address@hidden est vrai, renvoie seulement les paquets avec un numéro de
-version préfixé par @var{version}.
address@hidden deffn
address@hidden table
 
address@hidden {Procédure Scheme} inferior-package? @var{obj}
-Renvoie vrai si @var{obj} est un paquet inférieur.
address@hidden deffn
+Enfin, comme @command{guix package} peut démarrer des processus de
+construction, elle supporte les options de construction communes
+(@pxref{Options de construction communes}).   Elle supporte aussi les options 
de
+transformation de paquets comme @option{--with-source} (@pxref{Options de 
transformation de paquets}).  Cependant, remarquez que les transformations de
+paquets sont perdues à la mise à jour ; pour les préserver à travers les
+mises à jours, vous devriez définir vos propres variantes des paquets dans
+une module Guile et l'ajouter à @code{GUIX_PACKAGE_PATH} (@pxref{Définition 
des paquets}).
 
address@hidden {Procédure Scheme} inferior-package-name @var{package}
address@hidden {Procédure Scheme} inferior-package-version @var{package}
address@hidden {Procédure Scheme} inferior-package-synopsis @var{package}
address@hidden {Procédure Scheme} inferior-package-description @var{package}
address@hidden {Procédure Scheme} inferior-package-home-page @var{package}
address@hidden {Procédure Scheme} inferior-package-location @var{package}
address@hidden {Procédure Scheme} inferior-package-inputs @var{package}
address@hidden {Procédure Scheme} inferior-package-native-inputs @var{package}
address@hidden {Procédure Scheme} inferior-package-propagated-inputs 
@var{package}
address@hidden {Procédure Scheme} inferior-package-transitive-propagated-inputs 
@var{package}
address@hidden {Procédure Scheme} inferior-package-native-search-paths 
@var{package}
address@hidden {Procédure Scheme} 
inferior-package-transitive-native-search-paths @var{package}
address@hidden {Procédure Scheme} inferior-package-search-paths @var{package}
-Ces procédures sont la contrepartie des accesseurs des enregistrements de
-paquets (@pxref{Référence de paquet}).  La plupart fonctionne en effectuant
-des requêtes à l'inférieur dont provient @var{package}, donc l'inférieur
-doit toujours être disponible lorsque vous appelez ces procédures.
address@hidden deffn
address@hidden Substituts
address@hidden Substituts
 
-Les paquets inférieurs peuvent être utilisés de manière transparente comme
-tout autre paquet ou objet simili-fichier dans des G-expressions
-(@pxref{G-Expressions}).  Ils sont aussi gérés de manière transparente par
-la procédure @code{packages->manifest}, qui est typiquement utilisée dans
-des manifestes (@pxref{Invoquer guix package, l'option @option{--manifest}
-de @command{guix package}}).  Ainsi, vous pouvez insérer un paquet inférieur
-à peu près n'importe où vous utiliseriez un paquet normal : dans des
-manifestes, dans le champ @code{packages} de votre déclaration
address@hidden, etc.
address@hidden substituts
address@hidden binaires pré-construits
+Guix gère le déploiement depuis des binaires ou des sources de manière
+transparente ce qui signifie qu'il peut aussi bien construire localement que
+télécharger des éléments pré-construits depuis un serveur ou les deux.  Nous
+appelons ces éléments pré-construits des @dfn{substituts} — ils se
+substituent aux résultats des constructions locales.  Dans la plupart des
+cas, télécharger un substitut est bien plus rapide que de construire les
+choses localement.
 
address@hidden Invoquer guix describe
address@hidden Invoquer @command{guix describe}
+Les substituts peuvent être tout ce qui résulte d'une construction de
+dérivation (@pxref{Dérivations}).  Bien sûr dans le cas général, il s'agit
+de paquets binaires pré-construits, mais les archives des sources par
+exemple résultent aussi de la construction d'une dérivation qui peut aussi
+être disponible en tant que substitut.
 
address@hidden reproductibilité
address@hidden répliquer Guix
-Souvent vous voudrez répondre à des questions comme « quelle révision de
-Guix j'utilise ? » ou « quels canaux est-ce que j'utilise ? ».  C'est une
-information utile dans de nombreuses situations : si vous voulez
address@hidden un environnement sur une machine différente ou un compte
-utilisateur, si vous voulez rapporter un bogue ou pour déterminer quel
-changement dans les canaux que vous utilisez l'a causé ou si vous voulez
-enregistrer l'état de votre système pour le reproduire.  La commande
address@hidden describe} répond à ces questions.
address@hidden
+* Serveur de substituts officiel::  Une source particulière de substituts.
+* Autoriser un serveur de substituts::  Comment activer ou désactiver les 
+                                          substituts.
+* Authentification des substituts::  Comment Guix vérifie les substituts.
+* Paramètres de serveur mandataire::  Comment récupérer des substituts à 
+                                         travers un serveur mandataire.
+* Échec de substitution::   Qu'arrive-t-il quand la substitution échoue.
+* De la confiance en des binaires::  Comment pouvez-vous avoir confiance en 
+                                       un paquet binaire ?
address@hidden menu
 
-Lorsqu'elle est lancée depuis un @command{guix} mis à jour avec
address@hidden pull}, @command{guix describe} affiche les canaux qui ont été
-construits, avec l'URL de leur dépôt et l'ID de leur commit
-(@pxref{Canaux}) :
address@hidden Serveur de substituts officiel
address@hidden Serveur de substituts officiel
+
address@hidden hydra
address@hidden ferme de construction
+The @address@hidden server is a front-end to an official
+build farm that builds packages from Guix continuously for some
+architectures, and makes them available as substitutes.  This is the default
+source of substitutes; it can be overridden by passing the
address@hidden option either to @command{guix-daemon}
+(@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}})  or
+to client tools such as @command{guix package}
+(@pxref{client-substitute-urls,, client @option{--substitute-urls} option}).
+
+Les URL des substituts peuvent être soit en HTTP soit en HTTPS.  Le HTTPS
+est recommandé parce que les communications sont chiffrées ; à l'inverse
+HTTP rend les communications visibles pour un espion qui peut utiliser les
+informations accumulées sur vous pour déterminer par exemple si votre
+système a des vulnérabilités de sécurités non corrigées.
+
+Les substituts de la ferme de construction officielle sont activés par
+défaut dans la distribution système Guix (@pxref{Distribution GNU}).
+Cependant, ils sont désactivés par défaut lorsque vous utilisez Guix sur une
+distribution externe, à moins que vous ne les ayez explicitement activés via
+l'une des étapes d'installation recommandées (@pxref{Installation}).  Les
+paragraphes suivants décrivent comment activer ou désactiver les substituts
+de la ferme de construction ; la même procédure peut être utilisée pour
+activer les substituts de n'importe quel autre serveur de substituts.
+
address@hidden Autoriser un serveur de substituts
address@hidden Autoriser un serveur de substituts
+
address@hidden sécurité
address@hidden substituts, autorisations
address@hidden liste de contrôle d'accès (ACL), pour les substituts
address@hidden ACL (liste de contrôle d'accès), pour les substituts
+To allow Guix to download substitutes from @address@hidden
+or a mirror thereof, you must add its public key to the access control list
+(ACL) of archive imports, using the @command{guix archive} command
+(@pxref{Invoquer guix archive}).  Doing so implies that you trust
address@hidden@value{SUBSTITUTE-SERVER}} to not be compromised and to serve 
genuine
+substitutes.
+
+The public key for @address@hidden is installed along with
+Guix, in @address@hidden/share/guix/@value{SUBSTITUTE-SERVER}.pub}, where
address@hidden is the installation prefix of Guix.  If you installed Guix from
+source, make sure you checked the GPG signature of
address@hidden@value{VERSION}.tar.gz}, which contains this public key file.
+Then, you can run something like this:
 
 @example
-$ guix describe
-Generation 10  03 sep. 2018 17:32:44   (actuelle)
-  guix e0fa68c
-    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
-    branche : master
-    commit : e0fa68c7718fffd33d81af415279d6ddb518f727
+# guix archive --authorize < 
@var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub
 @end example
 
-Si vous connaissez bien le système de contrôle de version Git, cela
-ressemble en essence à @command{git describe} ; la sortie est aussi
-similaire à celle de @command{guix pull --list-generations}, mais limitée à
-la génération actuelle (@pxref{Invoquer guix pull, l'option
address@hidden).  Comme l'ID de commit de Git ci-dessus se
-réfère sans aucune ambiguïté à un instantané de Guix, cette information est
-tout ce dont vous avez besoin pour décrire la révision de Guix que vous
-utilisez et pour la répliquer.
address@hidden Remarque
+Similarly, the @file{hydra.gnu.org.pub} file contains the public key of an
+independent build farm also run by the project, reachable at
address@hidden://mirror.hydra.gnu.org}.
address@hidden quotation
 
-Pour rendre plus facile la réplication de Guix, @command{guix describe} peut
-aussi renvoyer une liste de canaux plutôt que la description lisible par un
-humain au-dessus :
+Une fois que cela est en place, la sortie d'une commande comme @code{guix
+build} devrait changer de quelque chose comme :
 
 @example
-$ guix describe -f channels
-(list (channel
-        (name 'guix)
-        (url "https://git.savannah.gnu.org/git/guix.git";)
-        (commit
-          "e0fa68c7718fffd33d81af415279d6ddb518f727")))
+$ guix build emacs --dry-run
+Les dérivations suivantes seraient construites :
+   /gnu/store/yr7bnx8xwcayd6j95r2clmkdl1qh688w-emacs-24.3.drv
+   /gnu/store/x8qsh1hlhgjx6cwsjyvybnfv2i37z23w-dbus-1.6.4.tar.gz.drv
+   /gnu/store/1ixwp12fl950d15h2cj11c73733jay0z-alsa-lib-1.0.27.1.tar.bz2.drv
+   /gnu/store/nlma1pw0p603fpfiqy7kn4zm105r5dmw-util-linux-2.21.drv
address@hidden
 @end example
 
 @noindent
-Vous pouvez sauvegarder ceci dans un fichier et le donner à @command{guix
-pull -C} sur une autre machine ou plus tard, ce qui instantiera
address@hidden la même révision de Guix} (@pxref{Invoquer guix pull,
-l'option @option{-C}}).  À partir de là, comme vous pouvez déployer la même
-révision de Guix, vous pouvez aussi bien @emph{répliquer un environnement
-logiciel complet}.  Nous pensons humblement que c'est @emph{génial}, et nous
-espérons que vous aimerez ça aussi !
-
-Voici les détails des options supportées par @command{guix describe} :
-
address@hidden @code
address@hidden address@hidden
address@hidden -f @var{format}
-Produire la sortie dans le @var{format} donné, parmi :
-
address@hidden @code
address@hidden human
-produire une sortie lisible par un humain,
address@hidden canaux
-produire une liste de spécifications de canaux qui peut être passée à
address@hidden pull -C} ou installée dans @file{~/.config/guix/channels.scm}
-(@pxref{Invoquer guix pull}),
address@hidden json
address@hidden JSON
-produire une liste de spécifications de canaux dans le format JSON,
address@hidden recutils
-produire une liste de spécifications de canaux dans le format Recutils.
address@hidden table
-
address@hidden address@hidden
address@hidden -p @var{profil}
-Afficher les informations sur le @var{profil}.
address@hidden table
-
address@hidden Invoquer guix pack
address@hidden Invoquer @command{guix pack}
-
-Parfois vous voulez passer un logiciel à des gens qui n'ont pas (encore !)
-la chance d'utiliser Guix.  Vous leur diriez bien de lancer @command{guix
-package -i @var{quelque chose}} mais ce n'est pas possible dans ce cas.
-C'est là que @command{guix pack} entre en jeu.
-
address@hidden Remarque
-Si vous cherchez comment échanger des binaires entre des machines où Guix
-est déjà installé, @pxref{Invoquer guix copy}, @ref{Invoquer guix publish},
-et @ref{Invoquer guix archive}.
address@hidden quotation
-
address@hidden pack
address@hidden lot
address@hidden lot d'applications
address@hidden lot de logiciels
-La commande @command{guix pack} crée un @dfn{pack} ou @dfn{lot de logiciels}
-: elle crée une archive tar ou un autre type d'archive contenunt les
-binaires pour le logiciel qui vous intéresse ainsi que ses dépendances.
-L'archive qui en résulte peut être utilisée sur toutes les machines qui
-n'ont pas Guix et les gens peuvent lancer exactement les mêmes binaires que
-ceux que vous avez avec Guix.  Le pack lui-même est créé d'une manière
-reproductible au bit près, pour que n'importe qui puisse vérifier qu'il
-contient bien les résultats que vous prétendez proposer.
-
-Par exemple, pour créer un lot contenant Guile, Emacs, Geiser et toutes
-leurs dépendances, vous pouvez lancer :
+à quelque chose comme :
 
 @example
-$ guix pack guile emacs geiser
+$ guix build emacs --dry-run
+112.3 Mo seraient téléchargés :
+   /gnu/store/pk3n22lbq6ydamyymqkkz7i69wiwjiwi-emacs-24.3
+   /gnu/store/2ygn4ncnhrpr61rssa6z0d9x22si0va3-libjpeg-8d
+   /gnu/store/71yz6lgx4dazma9dwn2mcjxaah9w77jq-cairo-1.12.16
+   /gnu/store/7zdhgp0n1518lvfn8mb96sxqfmvqrl7v-libxrender-0.9.7
 @dots{}
-/gnu/store/@dots{}-pack.tar.gz
 @end example
 
-Le résultat ici est une archive tar contenant un répertoire
address@hidden/gnu/store} avec tous les paquets nécessaires.  L'archive qui en
-résulte contient un @dfn{profil} avec les trois paquets qui vous intéressent
-; le profil est le même qui celui qui aurait été créé avec @command{guix
-package -i}.  C'est ce mécanisme qui est utilisé pour créer les archives tar
-binaires indépendantes de Guix (@pxref{Installation binaire}).
address@hidden
+This indicates that substitutes from @address@hidden are
+usable and will be downloaded, when possible, for future builds.
 
-Les utilisateurs de ce pack devraient lancer
address@hidden/gnu/store/@dots{}-profile/bin/guile} pour lancer Guile, ce qui 
n'est
-pas très pratique.  Pour éviter cela, vous pouvez créer, disons, un lien
-symbolique @file{/opt/gnu/bin} vers le profil :
address@hidden substituts, comment les désactiver
+Le mécanisme de substitution peut être désactivé globalement en lançant
address@hidden avec @code{--no-substitutes} (@pxref{Invoquer guix-daemon}).  Il 
peut aussi être désactivé temporairement en passant
+l'option @code{--no-substitutes} à @command{guix package}, @command{guix
+build} et aux autres outils en ligne de commande.
+
address@hidden Authentification des substituts
address@hidden Authentification des substituts
+
address@hidden signatures numériques
+Guix détecte et lève une erreur lorsqu'il essaye d'utiliser un substituts
+qui a été modifié.  De même, il ignore les substituts qui ne sont pas signés
+ou qui ne sont pas signés par l'une des clefs listés dans l'ACL.
+
+Il y a une exception cependant : si un serveur non autorisé fournit des
+substituts qui sont @emph{identiques bit-à-bit} à ceux fournis par un
+serveur autorisé, alors le serveur non autorisé devient disponible pour les
+téléchargements.  Par exemple en supposant qu'on a choisi deux serveurs de
+substituts avec cette option :
 
 @example
-guix pack -S /opt/gnu/bin=bin guile emacs geiser
+--substitute-urls="https://a.example.org https://b.example.org";
 @end example
 
 @noindent
-De cette façon, les utilisateurs peuvent joyeusement taper
address@hidden/opt/gnu/bin/guile} et profiter.
address@hidden constructions reproductibles
+Si l'ACL contient uniquement la clef de @code{b.example.org}, et si
address@hidden sert @emph{exactement les mêmes} substituts, alors Guix
+téléchargera les substituts de @code{a.example.org} parce qu'il vient en
+premier dans la liste et peut être considéré comme un miroir de
address@hidden  En pratique, des machines de constructions produisent
+souvent les mêmes binaires grâce à des construction reproductibles au bit
+près (voir plus bas).
 
address@hidden binaires repositionnables, avec @command{guix pack}
-Et si le destinataire de votre pack n'a pas les privilèges root sur sa
-machine, et ne peut donc pas le décompresser dans le système de fichiers
-racine ?  Dans ce cas, vous pourriez utiliser l'option @code{--relocatable}
-(voir plus bas).  Cette option produite des @dfn{binaire repositionnables},
-ce qui signifie qu'ils peuvent être placés n'importe où dans l'arborescence
-du système de fichiers : dans l'exemple au-dessus, les utilisateurs peuvent
-décompresser votre archive dans leur répertoire personnel et lancer
-directement @file{./opt/gnu/bin/guile}.
+Lorsque vous utilisez HTTPS, le certificat X.509 du serveur n'est @emph{pas}
+validé (en d'autre termes, le serveur n'est pas authentifié), contrairement
+à ce que des clients HTTPS comme des navigateurs web font habituellement.
+Cela est dû au fait que Guix authentifie les informations sur les substituts
+eux-mêmes, comme expliqué plus haut, ce dont on se soucie réellement (alors
+que les certificats X.509 authentifie la relation entre nom de domaine et
+clef publique).
 
address@hidden Docker, construire une image avec guix pack
-Autrement, vous pouvez produire un pack au format d'image Docker avec la
-commande suivante :
address@hidden Paramètres de serveur mandataire
address@hidden Paramètres de serveur mandataire
 
address@hidden
-guix pack -f docker guile emacs geiser
address@hidden example
address@hidden http_proxy
+Les substituts sont téléchargés par HTTP ou HTTPS.  La variable
+d'environnement @code{http_proxy} peut être initialisée dans l'environnement
+de @command{guix-daemon} et est respectée pour le téléchargement des
+substituts.  Remarquez que la valeur de @code{http_proxy} dans
+l'environnement où tournent @command{guix build}, @command{guix package} et
+les autres clients n'a @emph{absolument aucun effet}.
 
address@hidden
-Le résultat est une archive tar qui peut être passée à la commande
address@hidden load}.  Voir la
address@hidden://docs.docker.com/engine/reference/commandline/load/,
-documentation de Docker} pour plus d'informations.
address@hidden Échec de substitution
address@hidden Échec de substitution
 
address@hidden Singularity, construire une image avec guix pack
address@hidden SquashFS, construire une image avec guix pack
-Autrement, vous pouvez produire une image SquashFS avec la commande suivante
-:
+Même lorsqu'un substitut pour une dérivation est disponible, la substitution
+échoue parfois.  Cela peut arriver pour plusieurs raisons : le serveur de
+substitut peut être hors ligne, le substitut a récemment été supprimé du
+serveur, la connexion peut avoir été interrompue, etc.
 
address@hidden
-guix pack -f squashfs guile emacs geiser
address@hidden example
+Lorsque les substituts sont activés et qu'un substitut pour une dérivation
+est disponible, mais que la tentative de substitution échoue, Guix essaiera
+de construire la dérivation localement si @code{--fallback} a été passé en
+argument (@pxref{option de repli,, common build option @code{--fallback}}).
+Plus spécifiquement, si cet option n'a pas été passée en argument, alors
+aucune construction locale n'est effectuée et la dérivation est considérée
+comme étant en échec. Cependant, si @code{--fallback} est passé en argument,
+alors Guix essaiera de construire la dérivation localement et l'échec ou le
+succès de la dérivation dépend de l'échec ou du succès de la construction
+locale.  Remarquez que lorsque les substituts sont désactivés ou qu'aucun
+substitut n'est disponible pour la dérivation en question, une construction
+locale sera @emph{toujours} effectuée, indépendamment du fait que l'argument
address@hidden ait été ou non passé.
 
address@hidden
-Le résultat est une image de système de fichiers SquashFS qui peut soit être
-montée directement soit être utilisée comme image de conteneur de système de
-fichiers avec l'@uref{http://singularity.lbl.gov, environnement d'exécution
-conteneurisé Singularity}, avec des commandes comme @command{singularity
-shell} ou @command{singularity exec}.
+Pour se donner une idée du nombre de substituts disponibles maintenant, vous
+pouvez essayer de lancer la commande @command{guix weather} (@pxref{Invoquer 
guix weather}).  Cette command fournit des statistiques sur les substituts
+fournis par un serveur.
 
-Diverses options en ligne de commande vous permettent de personnaliser votre
-pack :
address@hidden De la confiance en des binaires
address@hidden De la confiance en des binaires
 
address@hidden @code
address@hidden address@hidden
address@hidden -f @var{format}
-Produire un pack dans le @var{format} donné.
address@hidden confiance, en des binaires pré-construits
+Today, each individual's control over their own computing is at the mercy of
+institutions, corporations, and groups with enough power and determination
+to subvert the computing infrastructure and exploit its weaknesses.  While
+using @address@hidden substitutes can be convenient, we
+encourage users to also build on their own, or even run their own build
+farm, such that @address@hidden is less of an interesting
+target.  One way to help is by publishing the software you build using
address@hidden publish} so that others have one more choice of server to
+download substitutes from (@pxref{Invoquer guix publish}).
 
-Les formats disponibles sont :
+Guix possède les fondations pour maximiser la reproductibilité logicielle
+(@pxref{Fonctionnalités}).  Dans la plupart des cas, des constructions
+indépendantes d'un paquet donnée ou d'une dérivation devrait donner des
+résultats identiques au bit près.  Ainsi, à travers un ensemble de
+constructions de paquets indépendantes il est possible de renforcer
+l'intégrité du système.  La commande @command{guix challenge} a pour but
+d'aider les utilisateurs à tester les serveurs de substituts et à aider les
+développeurs à trouver les constructions de paquets non-déterministes
+(@pxref{Invoquer guix challenge}).  De même, l'option @option{--check} de
address@hidden build} permet aux utilisateurs de vérifier si les substituts
+précédemment installés sont authentiques en les reconstruisant localement
+(@pxref{vérification de la construction, @command{guix build --check}}).
 
address@hidden @code
address@hidden tarball
-C'est le format par défaut.  Il produit une archive tar contenant tous les
-binaires et les liens symboliques spécifiés.
+Dans le futur, nous aimerions que Guix puisse publier et recevoir des
+binaires d'autres utilisateurs, d'une manière pair-à-pair.  Si vous voulez
+discuter de ce projet, rejoignez-nous sur @email{guix-devel@@gnu.org}.
 
address@hidden docker
-Cela produit une archive tar qui suit la
address@hidden://github.com/docker/docker/blob/master/image/spec/v1.2.md,
-spécification des images Docker}.
address@hidden Des paquets avec plusieurs résultats
address@hidden Des paquets avec plusieurs résultats
 
address@hidden squashfs
-Cela produit une image SquashFS contenant tous les binaires et liens
-symboliques spécifiés, ainsi que des points de montages vides pour les
-systèmes de fichiers virtuels comme procfs.
address@hidden table
address@hidden paquets avec plusieurs résultats
address@hidden sorties de paquets
address@hidden sorties
 
address@hidden --relocatable
address@hidden -R
-Produit des @dfn{binaires repositionnables} — c.-à-d.@: des binaires que
-vous pouvez placer n'importe où dans l'arborescence du système de fichiers
-et les lancer à partir de là.  Par exemple, si vous créez un pack contenant
-Bash avec :
+Souvent, les paquets définis dans Guix ont une seule @dfn{sortie} —
+c.-à-d.@: que le paquet source conduit à exactement un répertoire dans le
+dépôt.  Lorsque vous lancez @command{guix package -i glibc}, vous installez
+la sortie par défaut du paquet GNU libc ; la sortie par défaut est appelée
address@hidden mais son nom peut être omis comme le montre cette commande.  Dans
+ce cas particuliers, la sortie par défaut de @code{glibc} contient tous les
+fichiers d'en-tête C, les bibliothèques partagées, les bibliothèques
+statiques, la documentation Info et les autres fichiers de support.
+
+Parfois il est plus approprié de séparer les divers types de fichiers
+produits par un même paquet source en plusieurs sorties.  Par exemple, la
+bibliothèque C GLib (utilisée par GTK+ et des paquets associés) installe
+plus de 20 Mo de documentation de référence dans des pages HTML.  Pour
+préserver l'espace disque des utilisateurs qui n'en ont pas besoin, la
+documentation va dans une sortie séparée nommée @code{doc}.  Pour installer
+la sortie principale de GLib, qui contient tout sauf la documentation, on
+devrait lancer :
 
 @example
-guix pack -R -S /mybin=bin bash
+guix package -i glib
 @end example
 
address@hidden
-...@: you can copy that pack to a machine that lacks Guix, and from your
-home directory as a normal user, run:
address@hidden documentation
+La commande pour installer la documentation est :
 
 @example
-tar xf pack.tar.gz
-./mybin/sh
+guix package -i glib:doc
 @end example
 
address@hidden
-Dans ce shell, si vous tapez @code{ls /gnu/store}, vous remarquerez que
address@hidden/gnu/store} apparaît et contient toutes les dépendances de
address@hidden, même si la machine n'a pas du tout de @file{/gnu/store} !
-C'est sans doute la manière la plus simple de déployer du logiciel construit
-avec Guix sur une machine sans Guix.
+Certains paquets installent des programmes avec des « empreintes dépendances
+» différentes.  Par exemple le paquet WordNet installe à la fois les outils
+en ligne de commande et les interfaces graphiques (GUI).  La première ne
+dépend que de la bibliothèque C, alors que cette dernière dépend de Tcl/Tk
+et des bibliothèques X sous-jacentes.  Dans ce cas, nous laissons les outils
+en ligne de commande dans la sortie par défaut et l'interface graphique dans
+une sortie séparée.  Cela permet aux utilisateurs qui n'ont pas besoin
+d'interface graphique de gagner de la place.  La commande @command{guix
+size} peut aider à trouver ces situations (@pxref{Invoquer guix size}). 
@command{guix graph} peut aussi être utile (@pxref{Invoquer guix graph}).
 
-Il y a un inconvénient cependant : cette technique repose sur les
address@hidden de noms} du noyau Linux qui permettent à des utilisateurs
-non-privilégiés de monter des systèmes de fichiers ou de changer de racine.
-Les anciennes versions de Linux ne le supportaient pas et certaines
-distributions GNU/Linux les désactivent ; sur ces système, les programme du
-pack @emph{ne fonctionneront pas} à moins qu'ils ne soient décompressés à la
-racine du système de fichiers.
+Il y a plusieurs paquets à sorties multiples dans la distribution GNU.
+D'autres noms de sorties conventionnels sont @code{lib} pour les
+bibliothèques et éventuellement les fichiers d'en-tête, @code{bin} pour les
+programmes indépendants et @code{debug} pour les informations de débogage
+(@pxref{Installer les fichiers de débogage}).   Les sorties d'un paquet sont 
listés
+dans la troisième colonne de la sortie de @command{guix package
+--list-available} (@pxref{Invoquer guix package}).
 
address@hidden address@hidden
address@hidden -e @var{expr}
-Considérer le paquet évalué par @var{expr}.
 
-Cela a le même but que l'option de même nom de @command{guix build}
-(@pxref{Options de construction supplémentaires, @code{--expression} dans 
@command{guix
-build}}).
address@hidden Invoquer guix gc
address@hidden Invoquer @command{guix gc}
 
address@hidden address@hidden
address@hidden -m @var{fichier}
-Utiliser les paquets contenus dans l'objet manifeste renvoyé par le code
-Scheme dans @var{fichier}
address@hidden ramasse-miettes
address@hidden espace disque
+Les paquets qui sont installés mais pas utilisés peuvent être @dfn{glanés}.
+La commande @command{guix gc} permet aux utilisateurs de lancer
+explicitement le ramasse-miettes pour récupérer de l'espace dans le
+répertoire @file{/gnu/store}.  C'est la @emph{seule} manière de supprimer
+des fichiers de @file{/gnu/store} — supprimer des fichiers ou des
+répertoires à la main peut le casser de manière impossible à réparer !
 
-Elle a un but similaire à l'option de même nom dans @command{guix package}
-(@pxref{profile-manifest, @option{--manifest}}) et utilise les mêmes
-fichiers manifeste.  Ils vous permettent de définir une collection de
-paquets une fois et de l'utiliser aussi bien pour créer des profils que pour
-créer des archives pour des machines qui n'ont pas Guix d'installé.
-Remarquez que vous pouvez spécifier @emph{soit} un fichier manifeste,
address@hidden une liste de paquet, mais pas les deux.
address@hidden racines du GC
address@hidden racines du ramasse-miettes
+Le ramasse-miettes a un ensemble de @dfn{racines} connues : tout fichier
+dans @file{/gnu/store} atteignable depuis une racine est considéré comme
address@hidden et ne peut pas être supprimé ; tous les autres fichiers sont
+considérés comme @dfn{inutilisés} et peuvent être supprimés.  L'ensemble des
+racines du ramasse-miettes (ou « racines du GC » pour faire court) inclue
+les profils par défaut des utilisateurs ; par défaut les liens symboliques
+sous @file{/var/guix/gcroots} représentent ces racines du GC.  De nouvelles
+racines du GC peuvent être ajoutées avec la @command{guix build -- root} par
+exemple (@pxref{Invoquer guix build}).
 
address@hidden address@hidden
address@hidden -s @var{système}
-Tenter de construire pour le @var{système} — p.@: ex.@: @code{i686-linux} —
-plutôt que pour le type de système de l'hôte de construction.
+Avant de lancer @code{guix gc --collect-garbage} pour faire de la place,
+c'est souvent utile de supprimer les anciennes génération des profils
+utilisateurs ; de cette façon les anciennes constructions de paquets
+référencées par ces générations peuvent être glanées.  Cela se fait en
+lançant @code{guix package --delete-generations} (@pxref{Invoquer guix 
package}).
 
address@hidden address@hidden
address@hidden compilation croisée
-Effectuer une compilation croisée pour @var{triplet} qui doit être un
-triplet GNU valide, comme @code{"mips64el-linux-gnu"} (@pxref{Specifying
-target triplets, GNU configuration triplets,, autoconf, Autoconf}).
+Nous recommandons de lancer le ramasse-miettes régulièrement ou lorsque vous
+avez besoin d'espace disque.  Par exemple pour garantir qu'au moins
address@hidden d'espace reste libre sur votre disque, lancez simplement :
 
address@hidden address@hidden
address@hidden -C @var{outil}
-Compresser l'archive résultante avec @var{outil} — l'un des outils parmi
address@hidden, @code{xz}, @code{lzip} ou @code{none} pour aucune compression.
address@hidden
+guix gc -F 5G
address@hidden example
 
address@hidden address@hidden
address@hidden -S @var{spec}
-Ajouter les liens symboliques spécifiés par @var{spec} dans le pack.  Cette
-option peut apparaître plusieurs fois.
+It is perfectly safe to run as a non-interactive periodic job
+(@pxref{Exécution de tâches planifiées}, for how to set up such a job).  
Running
address@hidden gc} with no arguments will collect as much garbage as it can,
+but that is often inconvenient: you may find yourself having to rebuild or
+re-download software that is ``dead'' from the GC viewpoint but that is
+necessary to build other pieces of software---e.g., the compiler tool chain.
 
address@hidden a la forme @address@hidden@var{cible}}, où @var{source} est
-le lien symbolique qui sera créé et @var{cible} est la cible du lien.
+La command @command{guix gc} a trois modes d'opération : il peut être
+utilisé pour glaner des fichiers inutilisés (par défaut), pour supprimer des
+fichiers spécifiques (l'option @code{--delete}), pour afficher des
+informations sur le ramasse-miettes ou pour des requêtes plus avancées.  Les
+options du ramasse-miettes sont :
 
-Par exemple, @code{-S /opt/gnu/bin=bin} crée un lien symbolique
address@hidden/opt/gnu/bin} qui pointe vers le sous-répertoire @file{bin} du 
profil.
address@hidden @code
address@hidden address@hidden
address@hidden -C address@hidden
+Ramasse les miettes — c.-à-d.@: les fichiers inaccessibles de
address@hidden/gnu/store} et ses sous-répertoires.  C'est l'opération par défaut
+lorsqu'aucune option n'est spécifiée.
 
address@hidden --localstatedir
address@hidden address@hidden
-Inclus le « répertoire d'état local », @file{/var/guix}, dans le lot qui en
-résulte, et notamment le profil
address@hidden/var/guix/profiles/per-user/root/@var{nom}} — par défaut 
@var{nom} est
address@hidden, ce qui correspond à @file{~root/.guix-profile}.
+Lorsque @var{min} est donné, s'arrêter une fois que @var{min} octets ont été
+collectés.  @var{min} pour être un nombre d'octets ou inclure un suffixe
+d'unité, comme @code{MiB} pour mébioctet et @code{GB} pour gigaoctet
+(@pxref{Block size, size specifications,, coreutils, GNU Coreutils}).
 
address@hidden/var/guix} contient la base de données du dépôt (@pxref{Le dépôt})
-ainsi que les racines du ramasse-miettes (@pxref{Invoquer guix gc}).  Le
-fournir dans le pack signifie que le dépôt et « complet » et gérable par
-Guix ; ne pas le fournir dans le pack signifie que le dépôt est « mort » :
-aucun élément ne peut être ajouté ni enlevé après l'extraction du pack.
+Lorsque @var{min} est omis, tout glaner.
 
-Un cas d'utilisation est l'archive binaire indépendante de Guix
-(@pxref{Installation binaire}).
address@hidden address@hidden
address@hidden -F @var{libre}
+Glaner jusqu'à ce que @var{libre} espace soit disponible dans
address@hidden/gnu/store} si possible ; @var{libre} est une quantité de stockage
+comme @code{500MiB} comme décrit ci-dessus.
 
address@hidden --bootstrap
-Utiliser les programmes d'amorçage pour construire le pack.  Cette option
-n'est utile que pour les développeurs de Guix.
address@hidden table
+Lorsque @var{libre} ou plus est disponible dans @file{/gnu/store} ne rien
+faire et s'arrêter immédiatement.
 
-En plus, @command{guix pack} supporte toutes les options de construction
-communes (@pxref{Options de construction communes}) et toutes les options de
-transformation de paquets (@pxref{Options de transformation de paquets}).
address@hidden --delete
address@hidden -d
+Essayer de supprimer tous les fichiers et les répertoires du dépôt spécifiés
+en argument.  Cela échoue si certains des fichiers ne sont pas dans le dépôt
+ou s'ils sont toujours utilisés.
 
address@hidden --list-failures
+Lister les éléments du dépôt qui correspondent à des échecs de construction
 
address@hidden Invoquer guix archive
address@hidden Invoquer @command{guix archive}
+Cela n'affiche rien à moins que le démon n'ait été démarré avec
address@hidden (@pxref{Invoquer guix-daemon,
address@hidden).
 
address@hidden @command{guix archive}
address@hidden archive
-La commande @command{guix archive} permet aux utilisateurs d'@dfn{exporter}
-des fichiers du dépôt dans une simple archive puis ensuite de les
address@hidden sur une machine qui fait tourner Guix.  En particulier, elle
-permet de transférer des fichiers du dépôt d'une machine vers le dépôt d'une
-autre machine.
address@hidden --clear-failures
+Supprimer les éléments du dépôt spécifiés du cache des constructions
+échouées.
 
address@hidden Remarque
-Si vous chercher une manière de produire des archives dans un format adapté
-pour des outils autres que Guix, @pxref{Invoquer guix pack}.
address@hidden quotation
+De nouveau, cette option ne fait de sens que lorsque le démon est démarré
+avec @option{--cache-failures}.  Autrement elle ne fait rien.
 
address@hidden exporter des éléments du dépôt
-Pour exporter des fichiers du dépôt comme une archive sur la sortie
-standard, lancez :
address@hidden --list-dead
+Montrer la liste des fichiers et des répertoires inutilisés encore présents
+dans le dépôt — c.-à-d.@: les fichiers et les répertoires qui ne sont plus
+atteignables par aucune racine.
 
address@hidden
-guix archive --export @var{options} @var{spécifications}...
address@hidden example
address@hidden --list-live
+Montrer la liste des fichiers et des répertoires du dépôt utilisés.
 
address@hidden peut être soit des noms de fichiers soit des
-spécifications de paquets, comme pour @command{guix package}
-(@pxref{Invoquer guix package}).  Par exemple, la commande suivante crée une
-archive contenant la sortie @code{gui} du paquet @code{git} et la sortie
-principale de @code{emacs} :
address@hidden table
 
address@hidden
-guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar
address@hidden example
+En plus, les références entre les fichiers existants du dépôt peuvent être
+demandés :
 
-Si les paquets spécifiés ne sont pas déjà construits, @command{guix archive}
-les construit automatiquement.  Le processus de construction peut être
-contrôlé avec les options de construction communes (@pxref{Options de 
construction communes}).
address@hidden @code
 
-Pour transférer le paquet @code{emacs} vers une machine connectée en SSH, on
-pourrait lancer :
address@hidden --references
address@hidden --referrers
address@hidden dépendances des paquets
+Lister les références (respectivement les référents) des fichiers du dépôt
+en argument.
 
address@hidden
-guix archive --export -r emacs | ssh la-machine guix archive --import
address@hidden example
address@hidden --requisites
address@hidden -R
address@hidden closure
+Lister les prérequis des fichiers du dépôt passés en argument.  Les
+prérequis sont le fichier du dépôt lui-même, leur références et les
+références de ces références, récursivement.  En d'autre termes, la liste
+retournée est la @dfn{closure transitive} des fichiers du dépôt.
 
address@hidden
-De même, on peut transférer un profil utilisateur complet d'une machine à
-une autre comme cela :
address@hidden guix size} pour un outil pour surveiller la taille de la
+closure d'un élément.  @xref{Invoquer guix graph} pour un outil pour
+visualiser le graphe des références.
+
address@hidden --derivers
address@hidden dérivation
+Renvoie les dérivations menant aux éléments du dépôt donnés
+(@pxref{Dérivations}).
+
+Par exemple cette commande :
 
 @example
-guix archive --export -r $(readlink -f ~/.guix-profile) | \
-  ssh la-machine guix-archive --import
+guix gc --derivers `guix package -I ^emacs$ | cut -f4`
 @end example
 
 @noindent
-Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le
-profil ainsi que toutes leurs dépendances sont transférées (à cause de
address@hidden), indépendamment du fait qu'ils soient disponibles dans le dépôt
-de la machine cible.  L'option @code{--missing} peut vous aider à comprendre
-les éléments qui manquent dans le dépôt de la machine cible.  La commande
address@hidden copy} simplifie et optimise ce processus, c'est donc ce que
-vous devriez utiliser dans ce cas (@pxref{Invoquer guix copy}).
+renvoie les fichiers @file{.drv} menant au paquet @code{emacs} installé dans
+votre profil.
 
address@hidden nar, format d'archive
address@hidden archive normalisée (nar)
-Les archives sont stockées au format « archive normalisé » ou « nar », qui
-est comparable dans l'esprit à « tar » mais avec des différences qui le
-rendent utilisable pour ce qu'on veut faire.  Tout d'abord, au lieu de
-stocker toutes les métadonnées Unix de chaque fichier, le format nar ne
-mentionne que le type de fichier (normal, répertoire ou lien symbolique) ;
-les permissions Unix, le groupe et l'utilisateur ne sont pas mentionnés.
-Ensuite, l'ordre dans lequel les entrées de répertoires sont stockés suit
-toujours l'ordre des noms de fichier dans l'environnement linguistique C.
-Cela rend la production des archives entièrement déterministe.
+Remarquez qu'il peut n'y avoir aucun fichier @file{.drv} par exemple quand
+ces fichiers ont été glanés.  Il peut aussi y avoir plus d'un fichier
address@hidden correspondant à cause de dérivations à sortie fixées.
address@hidden table
 
address@hidden FIXME: Add xref to daemon doc about signatures.
-Lors de l'export, le démon signe numériquement le contenu de l'archive et
-cette signature est ajoutée à la fin du fichier.  Lors de l'import, le démon
-vérifie la signature et rejette l'import en cas de signature invalide ou si
-la clef de signature n'est pas autorisée.
+Enfin, les options suivantes vous permettent de vérifier l'intégrité du
+dépôt et de contrôler l'utilisation du disque.
 
-Les principales options sont :
address@hidden @option
 
address@hidden @code
address@hidden --export
-Exporter les fichiers ou les paquets du dépôt (voir plus bas).  Écrire
-l'archive résultante sur la sortie standard.
address@hidden address@hidden
address@hidden intégrité, du dépôt
address@hidden vérification d'intégrité
+Vérifier l'intégrité du dépôt.
 
-Les dépendances ne sont @emph{pas} incluses dans la sortie à moins que
address@hidden ne soit passé.
+Par défaut, s'assurer que tous les éléments du dépôt marqués comme valides
+dans la base de données du démon existent bien dans @file{/gnu/store}.
 
address@hidden -r
address@hidden --recursive
-En combinaison avec @code{--export}, cette option demande à @command{guix
-archive} d'inclure les dépendances des éléments donnés dans l'archive.
-Ainsi, l'archive résultante est autonome : elle contient la closure des
-éléments du dépôt exportés.
+Lorsqu'elle est fournie, l'@var{option} doit être une liste séparée par des
+virgule de l'un ou plus parmi @code{contents} et @code{repair}.
 
address@hidden --import
-Lire une archive depuis l'entrée standard et importer les fichiers inclus
-dans le dépôt.  Annuler si l'archive a une signature invalide ou si elle est
-signée par une clef publique qui ne se trouve pas dans le clefs autorisées
-(voir @code{--authorize} plus bas.)
+Lorsque vous passez @option{--verify=contents}, le démon calcul le hash du
+contenu de chaque élément du dépôt et le compare au hash de sa base de
+données.  Les différences de hash sont rapportées comme des corruptions de
+données.  Comme elle traverse @emph{tous les fichiers du dépôt}, cette
+commande peut prendre très longtemps pour terminer, surtout sur un système
+avec un disque lent.
 
address@hidden --missing
-Liste une liste de noms de fichiers du dépôt sur l'entrée standard, un par
-ligne, et écrit sur l'entrée standard le sous-ensemble de ces fichiers qui
-manquent dans le dépôt.
address@hidden réparer le dépôt
address@hidden corruption, récupérer de
+Utiliser @option{--verify=repair} ou @option{--verify=contents,repair} fait
+que le démon essaie de réparer les objets du dépôt corrompus en récupérant
+leurs substituts (@pxref{Substituts}).  Comme la réparation n'est pas
+atomique et donc potentiellement dangereuse, elle n'est disponible que pour
+l'administrateur système.  Une alternative plus légère lorsque vous
+connaissez exactement quelle entrée est corrompue consiste à lancer
address@hidden build --repair} (@pxref{Invoquer guix build}).
 
address@hidden address@hidden
address@hidden signature, archives
-Générer une nouvelle paire de clefs pour le démon.  Cela est un prérequis
-avant que les archives ne puissent être exportées avec @code{--export}.
-Remarquez que cette opération prend généralement du temps parce qu'elle doit
-récupère suffisamment d'entropie pour générer la paire de clefs.
address@hidden --optimize
address@hidden déduplication
+Optimiser le dépôt en liant en dur les fichiers identiques — c'est la
address@hidden
 
-La paire de clefs générée est typiquement stockée dans @file{/etc/guix},
-dans @file{signing-key.pub} (clef publique) et @file{signing-key.sec} (clef
-privée, qui doit rester secrète).  Lorsque @var{paramètres} est omis, une
-clef ECDSA utilisant la courbe Ed25519 est générée ou pour les version de
-libgcrypt avant 1.6.0, une clef RSA de 4096 bits.  Autrement,
address@hidden peut spécifier les paramètres @code{genkey} adaptés pour
-libgcrypt (@pxref{General public-key related Functions,
address@hidden,, gcrypt, The Libgcrypt Reference Manual}).
+Le démon effectue une déduplication à chaque construction réussie ou import
+d'archive à moins qu'il n'ait été démarré avec
address@hidden (@pxref{Invoquer guix-daemon,
address@hidden).  Ainsi, cette option est surtout utile
+lorsque le démon tourne avec @code{--disable-deduplication}.
 
address@hidden --authorize
address@hidden autorisation, archives
-Autoriser les imports signés par la clef publique passée sur l'entrée
-standard.  La clef publique doit être au « format avancé s-expression  » —
-c.-à-d.@: le même format que le fichier @file{signing-key.pub}.
address@hidden table
 
-La liste des clefs autorisées est gardée dans un fichier modifiable par des
-humains dans @file{/etc/guix/acl}.  Le fichier contient des
address@hidden://people.csail.mit.edu/rivest/Sexp.txt, « s-expressions au format
-avancé »} et est structuré comme une liste de contrôle d'accès dans
-l'@url{http://theworld.com/~cme/spki.txt, infrastructure à clefs publiques
-simple (SPKI)}.
address@hidden Invoquer guix pull
address@hidden Invoquer @command{guix pull}
 
address@hidden address@hidden
address@hidden -x @var{répertoire}
-Lit une archive à un seul élément telle que servie par un serveur de
-substituts (@pxref{Substituts}) et l'extrait dans @var{répertoire}.  C'est
-une opération de bas niveau requise seulement dans de rares cas d'usage ;
-voir plus loin.
address@hidden mettre à niveau Guix
address@hidden mettre à jour Guix
address@hidden @command{guix pull}
address@hidden pull
+Les paquets sont installés ou mis à jour vers la dernière version disponible
+dans la distribution actuellement disponible sur votre machine locale.  Pour
+mettre à jour cette distribution, en même temps que les outils Guix, vous
+devez lancer @command{guix pull} ; la commande télécharge le dernier code
+source de Guix et des descriptions de paquets et le déploie.  Le code source
+est téléchargé depuis un dépôt @uref{https://git-scm.com, Git}, par défaut
+le dépôt officiel de address@hidden, bien que cela puisse être personnalisé.
+
+À la fin, @command{guix package} utilisera les paquets et les versions des
+paquets de la copie de Guix tout juste récupérée.  Non seulement ça, mais
+toutes les commandes Guix et les modules Scheme seront aussi récupérés
+depuis la dernière version.  Les nouvelles sous-commandes de @command{guix}
+ajoutés par la mise à jour sont aussi maintenant disponibles.
 
-Par exemple, la commande suivante extrait le substitut pour Emacs servi par
address@hidden dans @file{/tmp/emacs} :
+Chaque utilisateur peut mettre à jour sa copie de Guix avec @command{guix
+pull} et l'effet est limité à l'utilisateur qui a lancé @command{guix
+pull}.  Par exemple, lorsque l'utilisateur @code{root} lance @command{guix
+pull}, cela n'a pas d'effet sur la version de Guix que vois @code{alice} et
+vice-versa
+
+Le résultat après avoir lancé @command{guix pull} est un @dfn{profil}
+disponible sous @file{~/.config/guix/current} contenant la dernière version
+de Guix.  Ainsi, assurez-vous de l'ajouter au début de votre chemin de
+recherche pour que vous utilisiez la dernière version.  Le même conseil
+s'applique au manuel Info (@pxref{Documentation}) :
 
 @example
-$ wget -O - \
-  https://hydra.gnu.org/nar/@dots{}-emacs-24.5 \
-  | bunzip2 | guix archive -x /tmp/emacs
+export PATH="$HOME/.config/guix/current/bin:$PATH"
+export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"
 @end example
 
-Les archives à un seul élément sont différentes des archives à plusieurs
-éléments produites par @command{guix archive --export} ; elles contiennent
-un seul élément du dépôt et elles n'embarquent @emph{pas} de signature.
-Ainsi cette opération ne vérifie @emph{pas} de signature et sa sortie
-devrait être considérée comme non sûre.
+L'option @code{--list-generations} ou @code{-l} liste les anciennes
+générations produites par @command{guix pull}, avec des détails sur leur
+origine :
 
-Le but principal de cette opération est de faciliter l'inspection du contenu
-des archives venant de serveurs auxquels on ne fait potentiellement pas
-confiance.
address@hidden
+$ guix pull -l
+Génération 1   10 juin 2018 00:18:18
+  guix 65956ad
+    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
+    branche : origin/master
+    commit : 65956ad3526ba09e1f7a40722c96c6ef7c0936fe
 
address@hidden table
+Génération 2   11 juin 2018 11:02:49
+  guix e0cc7f6
+    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
+    branche : origin/master
+    commit : e0cc7f669bec22c37481dd03a7941c7d11a64f1d
+  2 nouveaux paquets : keepalived, libnfnetlink
+  6 paquets mis à jour : emacs-nix-mode@@2.0.4,
+    guile2.0-guix@@0.14.0-12.77a1aac, guix@@0.14.0-12.77a1aac,
+    heimdal@@7.5.0, milkytracker@@1.02.00, nix@@2.0.4
 
address@hidden 
*********************************************************************
address@hidden Interface de programmation
address@hidden Interface de programmation
+Génération 3   13 juin 2018 23:31:07   (actuelle)
+  guix 844cc1c
+    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
+    branche : origin/master
+    commit : 844cc1c8f394f03b404c5bb3aee086922373490c
+  28 nouveaux paquets : emacs-helm-ls-git, emacs-helm-mu, @dots{}
+  69 paquets mis à jour : borg@@1.1.6, cheese@@3.28.0, @dots{}
address@hidden example
 
-GNU Guix fournit diverses interface de programmation Scheme (API) qui pour
-définir, construire et faire des requêtes sur des paquets.  La première
-interface permet aux utilisateurs d'écrire des définitions de paquets de
-haut-niveau.  Ces définitions se réfèrent à des concepts de création de
-paquets familiers, comme le nom et la version du paquet, son système de
-construction et ses dépendances.  Ces définitions peuvent ensuite être
-transformées en actions concrètes lors de la construction.
address@hidden guix describe, @command{guix describe}} pour d'autres manières
+de décrire le statut actuel de Guix.
 
-Les actions de construction sont effectuées par le démon Guix, pour le
-compte des utilisateurs.  Dans un environnement standard, le démon possède
-les droits en écriture sur le dépôt — le répertoire @file{/gnu/store} — mais
-pas les utilisateurs.  La configuration recommandée permet aussi au démon
-d'effectuer la construction dans des chroots, avec un utilisateur de
-construction spécifique pour minimiser les interférences avec le reste du
-système.
+Ce profil @code{~/.config/guix/current} fonctionne comme les autres profils
+créés par @command{guix package} (@pxref{Invoquer guix package}).
+C'est-à-dire que vous pouvez lister les générations, revenir en arrière à
+une génération précédente — c.-à-d.@: la version de Guix précédente — etc :
 
address@hidden dérivation
-Il y a des API de plus bas niveau pour interagir avec le démon et le dépôt.
-Pour demander au démon d'effectuer une action de construction, les
-utilisateurs lui donnent en fait une @dfn{dérivation}.  Une dérivation est
-une représentation à bas-niveau des actions de construction à entreprendre
-et l'environnement dans lequel elles devraient avoir lieu — les dérivations
-sont aux définitions de paquets ce que l'assembleur est aux programmes C.
-Le terme de « dérivation » vient du fait que les résultats de la
-construction en @emph{dérivent}.
address@hidden
+$ guix package -p ~/.config/guix/current --roll-back
+passé de la génération 3 à 2
+$ guix package -p ~/.config/guix/current --delete-generations=1
+suppression de /var/guix/profiles/per-user/charlie/current-guix-1-link
address@hidden example
 
-Ce chapitre décrit toutes ces API tour à tour, à partir des définitions de
-paquets à haut-niveau.
+La commande @command{guix pull} est typiquement invoquée sans arguments mais
+il supporte les options suivantes :
 
address@hidden
-* Définition des paquets::  Définir de nouveaux paquets.
-* Systèmes de construction::  Spécifier comment construire les paquets.
-* Le dépôt::               Manipuler le dépôt de paquets.
-* Dérivations::             Interface de bas-niveau avec les dérivations 
-                               de paquets.
-* La monad du dépôt::      Interface purement fonctionnelle avec le 
-                               dépôt.
-* G-Expressions::            Manipuler les expressions de construction.
-* Invoquer guix repl::       S'amuser avec Guix de manière interactive.
address@hidden menu
address@hidden @code
address@hidden address@hidden
address@hidden address@hidden
address@hidden address@hidden
+Télécharger le code depuis l'@var{url} spécifié, au @var{commit} donné (un
+commit Git valide représenté par une chaîne hexadécimale) ou à la branche
address@hidden
 
address@hidden Définition des paquets
address@hidden Définition des paquets
address@hidden @file{channels.scm}, fichier de configuration
address@hidden fichier de configuration pour les canaux
+Ces options sont fournies pour votre confort, mais vous pouvez aussi
+spécifier votre configuration dans le fichier
address@hidden/.config/guix/channels.scm} ou en utilisant l'option
address@hidden (voir plus bas).
 
-L'interface de haut-niveau pour les définitions de paquets est implémentée
-dans les modules @code{(guix packages)} et @code{(guix build-system)}.  Par
-exemple, la définition du paquet, ou la @dfn{recette}, du paquet GNU Hello
-ressemble à cela :
address@hidden address@hidden
address@hidden -C @var{file}
+Lit la liste des canaux dans @var{file} plutôt que dans
address@hidden/.config/guix/channels.scm}.  @var{file} doit contenir un code 
Scheme
+qui s'évalue en une liste d'objets de canaux.  @xref{Canaux} pour plus
+d'informations.
 
address@hidden
-(define-module (gnu packages hello)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (guix licenses)
-  #:use-module (gnu packages gawk))
address@hidden address@hidden
address@hidden -l address@hidden
+Liste toutes les générations de @file{~/.config/guix/current} ou, si
address@hidden est fournit, le sous-ensemble des générations qui correspondent
+à @var{motif}.  La syntaxe de @var{motif} est la même qu'avec @code{guix
+package --list-generations} (@pxref{Invoquer guix package}).
 
-(define-public hello
-  (package
-    (name "hello")
-    (version "2.10")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/hello/hello-" version
-                                  ".tar.gz"))
-              (sha256
-               (base32
-                "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
-    (build-system gnu-build-system)
-    (arguments '(#:configure-flags '("--enable-silent-rules")))
-    (inputs `(("gawk" ,gawk)))
-    (synopsis "Hello, GNU world: An example GNU package")
-    (description "Guess what GNU Hello prints!")
-    (home-page "http://www.gnu.org/software/hello/";)
-    (license gpl3+)))
address@hidden example
address@hidden guix describe}, pour une manière d'afficher des informations
+sur la génération actuelle uniquement.
 
address@hidden
-Sans être un expert Scheme, le lecteur peut comprendre la signification des
-différents champs présents.  Cette expression lie la variable @code{hello} à
-un objet @code{<package>}, qui est essentiellement un enregistrement
-(@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}).  On
-peut inspecter cet objet de paquet avec les procédures qui se trouvent dans
-le module @code{(guix packages)} ; par exemple, @code{(package-name hello)}
-renvoie — oh surprise ! — @code{"hello"}.
address@hidden address@hidden
address@hidden -p @var{profil}
+Utiliser le @var{profil} à la place de @file{~/.config/guix/current}.
 
-Avec un peu de chance, vous pourrez importer tout ou partie de la définition
-du paquet qui vous intéresse depuis un autre répertoire avec la commande
address@hidden import} (@pxref{Invoquer guix import}).
address@hidden --dry-run
address@hidden -n
+Montrer quels commits des canaux seraient utilisés et ce qui serait
+construit ou substitué mais ne pas le faire vraiment.
 
-Dans l'exemple précédent, @var{hello} est défini dans un module à part,
address@hidden(gnu packages hello)}.  Techniquement, cela n'est pas strictement
-nécessaire, mais c'est pratique : tous les paquets définis dans des modules
-sous @code{(gnu packages @dots{})} sont automatiquement connus des outils en
-ligne de commande (@pxref{Modules de paquets}).
address@hidden address@hidden
address@hidden -s @var{système}
+Tenter de construire pour le @var{système} — p.@: ex.@: @code{i686-linux} —
+plutôt que pour le type de système de l'hôte de construction.
 
-Il y a quelques points à remarquer dans la définition de paquet précédente :
address@hidden --verbose
+Produire une sortie verbeuse, en écrivant les journaux de construction sur
+la sortie d'erreur standard.
 
address@hidden
address@hidden
-Le champ @code{source} du paquet est un objet @code{<origin>} 
(@pxref{Référence d'origine}, pour la référence complète).  Ici, on utilise la 
méthode
address@hidden de @code{(guix download)}, ce qui signifie que la source
-est un fichier à télécharger par FTP ou HTTP.
address@hidden --bootstrap
+Utiliser le programme d'amorçage Guile pour construire la dernière version
+de Guix.  Cette option n'est utile que pour les développeurs de Guix.
address@hidden table
 
-Le préfixe @code{mirror://gnu} demande à @code{url-fetch} d'utiliser l'un
-des miroirs GNU définis dans @code{(guix download)}.
+Le mécanisme de @dfn{canaux} vous permet de dire à @command{guix pull} quels
+répertoires et branches récupérer, ainsi que les dépôts
address@hidden contenant des modules de paquets qui devraient être
+déployés.  @xref{Canaux} pour plus d'information.
 
-Le champ @code{sha256} spécifie le hash SHA256 attendu pour le fichier
-téléchargé.  Il est requis et permet à Guix de vérifier l'intégrité du
-fichier.  La forme @code{(base32 @dots{})} introduit a représentation en
-base32 du hash.  Vous pouvez obtenir cette information avec @code{guix
-download} (@pxref{Invoquer guix download}) et @code{guix hash}
-(@pxref{Invoquer guix hash}).
+En plus, @command{guix pull} supporte toutes les options de construction
+communes (@pxref{Options de construction communes}).
 
address@hidden correctifs
-Lorsque cela est requis, la forme @code{origin} peut aussi avec un champ
address@hidden qui liste les correctifs à appliquer et un champ
address@hidden qui donne une expression Scheme pour modifier le code source.
address@hidden Canaux
address@hidden Canaux
 
address@hidden
address@hidden Système de construction GNU
-Le champ @code{build-system} spécifie la procédure pour construire le paquet
-(@pxref{Systèmes de construction}).  Ici, @var{gnu-build-system} représente le 
système
-de construction GNU familier, où les paquets peuvent être configurés,
-construits et installés avec la séquence @code{./configure && make && make
-check && make install} habituelle.
address@hidden canaux
address@hidden @file{channels.scm}, fichier de configuration
address@hidden fichier de configuration pour les canaux
address@hidden @command{guix pull}, fichier de configuration
address@hidden configuration de @command{guix pull}
+Guix et sa collection de paquets sont mis à jour en lançant @command{guix
+pull} (@pxref{Invoquer guix pull}).  Par défaut @command{guix pull}
+télécharge et déploie Guix lui-même depuis le dépôt officiel de
address@hidden  Cela peut être personnalisé en définissant des @dfn{canaux}
+dans le fichier @file{~/.config/guix/channels.scm}.  Un canal spécifie l'URL
+et la branche d'un répertoire Git à déployer et on peut demander à
address@hidden pull} de récupérer un ou plusieurs canaux.  En d'autres
+termes, les canaux peuvent être utilisés pour personnaliser et pour
address@hidden Guix, comme on le verra plus bas.
 
address@hidden
-Le champ @code{arguments} spécifie des options pour le système de
-construction (@pxref{Systèmes de construction}).  Ici il est interprété par
address@hidden comme une demande de lancer @file{configure} avec le
-drapeau @code{--enable-silent-rules}.
address@hidden Utiliser un canal Guix personnalisé
 
address@hidden quote
address@hidden quoting
address@hidden '
address@hidden quote
-Que sont ces apostrophes (@code{'}) ?  C'est de la syntaxe Scheme pour
-introduire une liste ; @code{'} est synonyme de la fonction @code{quote}.
address@hidden Syntax, quoting,, guile, GNU Guile Reference Manual}, pour
-des détails.  Ice la valeur du champ @code{arguments} est une liste
-d'arguments passés au système de construction plus tard, comme avec
address@hidden  (@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile
-Reference Manual}).
+Le canal nommé @code{guix} spécifie où Guix lui-même — ses outils en ligne
+de commande ainsi que sa collection de paquets — sera téléchargé.  Par
+exemple, supposons que vous voulez effectuer les mises à jour depuis votre
+propre copie du dépôt Guix sur @code{example.org}, et plus particulièrement
+depuis la branche @code{super-hacks}.  Vous pouvez écrire cette
+spécification dans @code{~/.config/guix/channels.scm} :
 
-La séquence dièse-deux-points (@code{#:}) définie un @dfn{mot-clef} Scheme
-(@pxref{Keywords,,, guile, GNU Guile Reference Manual}), et
address@hidden:configure-flags} est un mot-clef utilisé pour passer un argument 
au
-système de construction (@pxref{Coding With Keywords,,, guile, GNU Guile
-Reference Manual}).
address@hidden
+;; Dit à « guix pull » d'utiliser mon propre dépôt.
+(list (channel
+        (name 'guix)
+        (url "https://example.org/my-guix.git";)
+        (branch "super-hacks")))
address@hidden lisp
 
address@hidden
-Le champ @code{inputs} spécifie les entrées du processus de construction —
-c.-à-d.@: les dépendances à la construction ou à l'exécution du paquet.  Ici
-on définie une entrée nommée @code{"gawk"} dont la valeur est la variable
address@hidden ; @var{gawk} est elle-même liée à un objet @code{<package>}.
address@hidden
+Maintenant, @command{guix pull} récupérera le code depuis la branche
address@hidden du dépôt sur @code{example.org}.
 
address@hidden accent grave (quasiquote)
address@hidden `
address@hidden quasiquote
address@hidden virgule (unquote)
address@hidden ,
address@hidden unquote
address@hidden ,@@
address@hidden unquote-splicing
-De nouveau, @code{`} (un accent grave, synonyme de la fonction
address@hidden) nous permet d'introduire une liste litérale dans le champ
address@hidden, tandis que @code{,} (une virgule, synonyme de la fonction
address@hidden) nous permet d'insérer une valeur dans cette liste
-(@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual}).
address@hidden Spécifier des canaux supplémentaires
 
-Remarquez que GCC, Coreutils, Bash et les autres outils essentiels n'ont pas
-besoin d'être spécifiés en tant qu'entrées ici.  À la place, le
address@hidden est en charge de s'assurer qu'ils sont présents
-(@pxref{Systèmes de construction}).
address@hidden étendre la collection de paquets (canaux)
address@hidden paquets personnels (canaux)
address@hidden canaux, pour des paquets personnels
+Vous pouvez aussi spécifier des @emph{canaux supplémentaires} à récupérer.
+Disons que vous avez un ensemble de paquets personnels ou de variantes
+personnalisées qu'il ne vaudrait pas le coup de contribuer au projet Guix,
+mais que vous voudriez pouvoir utiliser de manière transparente sur la ligne
+de commande.  Vous écririez d'abord des modules contenant ces définitions de
+paquets (@pxref{Modules de paquets}), en les maintenant dans un dépôt Git, puis
+vous ou n'importe qui d'autre pourrait l'utiliser comme un canal
+supplémentaire où trouver ces paquets.  Sympa, non ?
 
-Cependant, toutes les autres dépendances doivent être spécifiées dans le
-champ @code{inputs}.  Toute dépendance qui ne serait pas spécifiée ici sera
-simplement indisponible pour le processus de construction, ce qui peut mener
-à un échec de la construction.
address@hidden itemize
address@hidden What follows stems from discussions at
address@hidden <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629#134> as 
well as
address@hidden earlier discussions on address@hidden
address@hidden Attention
+Avant que vous, cher utilisateur, ne vous exclamiez « Oh mais c'est
address@hidden génial} ! » et que vous ne publiez vos canaux personnels
+publiquement, nous voudrions vous donner quelques avertissements :
 
address@hidden de paquet}, pour une description complète des champs
-possibles.
address@hidden
address@hidden
+Avant de publier un canal, envisagez de contribuer vos définitions de
+paquets dans Guix (@pxref{Contribuer}).  Guix en tant que projet est
+ouvert à tous les logiciels libres de toutes sortes, et les paquets dans
+Guix sont déjà disponibles à tous les utilisateurs de Guix et bénéficient
+des processus d'assurance qualité du projet.
 
-Lorsqu'une définition de paquet est en place, le paquet peut enfin être
-construit avec l'outil en ligne de commande @code{guix build}
-(@pxref{Invoquer guix build}), pour résoudre les échecs de construction que
-vous pourriez rencontrer (@pxref{Débogage des échecs de construction}).  Vous 
pouvez
-aisément revenir à la définition du paquet avec la commande @command{guix
-edit} (@pxref{Invoquer guix edit}).  @xref{Consignes d'empaquetage}, pour plus
-d'inforamtions sur la manière de tester des définitions de paquets et
address@hidden guix lint}, pour des informations sur la manière de vérifier
-que la définition réspecte les conventions de style.
address@hidden GUIX_PACKAGE_PATH
-Enfin, @pxref{Canaux} pour des informations sur la manière d'étendre la
-distribution en ajoutant vos propres définitions de paquets dans un « canal
-».
address@hidden
+Lorsque vous maintenez des définitions de paquets en dehors de Guix, nous,
+les développeurs de Guix, considérons que @emph{la charge de la
+compatibilité vous incombe}.  Rappelez-vous que les modules de paquets et
+les définitions de paquets ne sont que du code Scheme qui utilise diverses
+interfaces de programmation (API).  Nous souhaitons rester libres de changer
+ces API pour continuer à améliorer Guix, éventuellement d'une manière qui
+casse votre canal.  Nous ne changeons jamais l'API gratuitement, mais nous
+ne nous engageons @emph{pas} à geler les API non plus.
 
-Finalement, la mise à jour de la définition du paquet à une nouvelle version
-amont peut en partie s'automatiser avec la commande @command{guix refresh}
-(@pxref{Invoquer guix refresh}).
address@hidden
+Corollaire : si vous utilisez un canal externe et que le canal est cassé,
+merci de @emph{rapporter le problème à l'auteur du canal}, pas au projet
+Guix.
address@hidden itemize
 
-Sous le capot, une dérivation qui correspond à un objet @code{<package>} est
-d'abord calculé par la procédure @code{package-derivation}.  Cette
-dérivation est stockée dans un fichier @code{.drv} dans @file{/gnu/store}.
-Les actions de construction qu'il prescrit peuvent ensuite être réalisées
-par la procédure @code{build-derivation} (@pxref{Le dépôt}).
+Vous avez été prévenus !  Maintenant, nous pensons que des canaux externes
+sont une manière pratique d'exercer votre liberté pour augmenter la
+collection de paquets de Guix et de partager vos améliorations, qui sont les
+principes de bases du @uref{https://www.gnu.org/philosophy/free-sw.html,
+logiciel libre}.  Contactez-nous par courriel sur
address@hidden@@gnu.org} si vous souhaitez discuter à ce propos.
address@hidden quotation
 
address@hidden {Procédure Scheme} package-derivation @var{store} @var{package} 
address@hidden
-Renvoie l'objet @code{<derivation>} du @var{paquet} pour le @var{système}
-(@pxref{Dérivations}).
+To use a channel, write @code{~/.config/guix/channels.scm} to instruct
address@hidden pull} to pull from it @emph{in addition} to the default Guix
+channel(s):
 
address@hidden doit être un objet @code{<package>} valide et @var{système} une
-chaîne indiquant le type de système cible — p.ex.@: @code{"x86_64-linux"}
-pour un système GNU x86_64 basé sur Linux.  @var{dépôt} doit être une
-connexion au démon, qui opère sur les dépôt (@pxref{Le dépôt}).
address@hidden deffn
address@hidden %default-channels
address@hidden
+;; Ajouter mes paquets personnels à ceux fournis par Guix.
+(cons (channel
+        (name 'my-personal-packages)
+        (url "https://example.org/personal-packages.git";))
+      %default-channels)
address@hidden lisp
 
 @noindent
address@hidden compilation croisée
-De manière identique, il est possible de calculer une dérivation qui
-effectue une compilation croisée d'un paquet pour un autre système :
-
address@hidden {Procédure Scheme} package-cross-derivation @var{store} @
-            @var{paquet} @var{cible} address@hidden renvoie l'objet 
@code{<derivation>}
-duof @var{paquet} construit depuis @var{système} pour @var{cible}.
-
address@hidden doit être un triplet GNU valide indiquant le matériel cible et
-le système d'exploitation, comme @code{"mips64el-linux-gnu"}
-(@pxref{Configuration Names, GNU configuration triplets,, configure, GNU
-Configure and Build System}).
address@hidden deffn
-
address@hidden transformations de paquets
address@hidden réécriture d'entrées
address@hidden réécriture de l'arbre des dépendances
-On peut manipuler les paquets de manière arbitraire.  Une transformation
-utile est par exemple la @dfn{réécriture d'entrées} où l'arbre des
-dépendances d'un paquet est réécrit en replaçant des entrées spécifiques par
-d'autres :
-
address@hidden {Procédure Scheme} package-input-rewriting @var{replacements} @
-           address@hidden Renvoie une procédure qui, lorsqu'on lui donne un
-paquet, remplace des dépendances directes et indirectes (mais pas ses
-entrées implicites) en fonction de @var{remplacements}.  @var{remplacements}
-est une liste de paires de paquets ; le premier élément de chaque pair est
-le paquet à remplacer, le second son remplaçant.
+Note that the snippet above is (as always!)@: Scheme code; we use
address@hidden to add a channel the list of channels that the variable
address@hidden is bound to (@pxref{Pairs, @code{cons} and lists,,
+guile, GNU Guile Reference Manual}).  With this file in place, @command{guix
+pull} builds not only Guix but also the package modules from your own
+repository.  The result in @file{~/.config/guix/current} is the union of
+Guix with your own package modules:
 
-De manière facultative, @var{nom-réécrit} est une procédure à un argument
-qui prend le nom d'un paquet et renvoie son nouveau nom après l'avoir
-réécrit.
address@hidden deffn
address@hidden
+$ guix pull --list-generations
address@hidden
+Génération 19  Aug 27 2018 16:20:48
+  guix d894ab8
+    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
+    branche : master
+    commit : d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300
+  my-personal-packages dd3df5e
+    URL du dépôt : https://example.org/personal-packages.git
+    branche : master
+    commit : dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb
+  11 nouveaux paquets : my-gimp, my-emacs-with-cool-features, @dots{}
+  4 paquets mis à jour : emacs-racket-mode@@0.0.2-2.1b78827, @dots{}
address@hidden example
 
 @noindent
-Regardez cet exemple :
+La sortie de @command{guix pull} ci-dessus montre que la address@hidden
+contient aussi bien Guix que les paquets du canal
address@hidden  Parmi les nouveaux paquets et les paquets mis
+à jour qui sont listés, certains comme @code{my-gimp} et
address@hidden peuvent provenir de
address@hidden, tandis que d'autres viennent du canal par
+défaut de Guix.
 
address@hidden
-(define libressl-instead-of-openssl
-  ;; Cette procédure remplace OPENSSL par LIBRESSL,
-  ;; récursivement.
-  (package-input-rewriting `((,openssl . ,libressl))))
+To create a channel, create a Git repository containing your own package
+modules and make it available.  The repository can contain anything, but a
+useful channel will contain Guile modules that export packages.  Once you
+start using a channel, Guix will behave as if the root directory of that
+channel's Git repository has been added to the Guile load path (@pxref{Load
+Paths,,, guile, GNU Guile Reference Manual}).  For example, if your channel
+contains a file at @file{my-packages/my-tools.scm} that defines a Guile
+module, then the module will be available under the name @code{(my-packages
+my-tools)}, and you will be able to use it like any other module
+(@pxref{Modules,,, guile, GNU Guile Reference Manual}).
 
-(define git-with-libressl
-  (libressl-instead-of-openssl git))
address@hidden example
address@hidden dependencies, channels
address@hidden meta-data, channels
address@hidden Declaring Channel Dependencies
 
address@hidden
-Ici nous définissons d'abord une procédure de réécriture qui remplace
address@hidden par @var{libressl}.  Ensuite nous l'utilisons pour définir une
address@hidden du paquet @var{git} qui utilise @var{libressl} plutôt que
address@hidden  cela est exactement ce que l'option en ligne de commande
address@hidden fait (@pxref{Options de transformation de paquets,
address@hidden).
+Channel authors may decide to augment a package collection provided by other
+channels.  They can declare their channel to be dependent on other channels
+in a meta-data file @file{.guix-channel}, which is to be placed in the root
+of the channel repository.
 
-Une procédure plus générique pour réécrire un graphe de dépendance d'un
-paquet est @code{package-mapping} : elle supporte n'importe quel changement
-dans les nœuds du graphe.
+The meta-data file should contain a simple S-expression like this:
 
address@hidden {Procédure Scheme} package-mapping @var{proc} address@hidden
-Renvoie une procédure qui, avec un paquet, applique @var{proc} sur tous les
-paquets dont il dépend et renvoie le paquet qui en résulte.  La procédure
-arrête la récursion là où @var{cut?} renvoie vrai pour un paquet donné.
address@hidden deffn
address@hidden
+(channel
+ (version 0)
+ (dependencies
+  (channel
+   (name some-collection)
+   (url "https://example.org/first-collection.git";))
+  (channel
+   (name some-other-collection)
+   (url "https://example.org/second-collection.git";)
+   (branch "testing"))))
address@hidden lisp
 
address@hidden
-* Référence de paquet::    Le type de donnée des paquets.
-* Référence d'origine::    Le type de données d'origine.
address@hidden menu
+In the above example this channel is declared to depend on two other
+channels, which will both be fetched automatically.  The modules provided by
+the channel will be compiled in an environment where the modules of all
+these declared channels are available.
 
+For the sake of reliability and maintainability, you should avoid
+dependencies on channels that you don't control, and you should aim to keep
+the number of dependencies to a minimum.
 
address@hidden Référence de paquet
address@hidden Référence de @code{package}
address@hidden Répliquer Guix
 
-Cette section résume toutes les options disponibles dans les déclarations
address@hidden  (@pxref{Définition des paquets}).
address@hidden épinglage, canaux
address@hidden répliquer Guix
address@hidden reproductibilité, de Guix
+La sortie de @command{guix pull --list-generations} ci-dessus montre
+précisément quels commits ont été utilisés pour construire cette instance de
+Guix.  Nous pouvons donc la répliquer, disons sur une autre machine, en
+fournissant une spécification de canal dans
address@hidden/.config/guix/channels.scm} qui est « épinglé » à ces commits :
 
address@hidden {Type de données} package
-C'est le type de donnée représentant une recette de paquets
address@hidden
+;; Déployer des commits précis de mes canaux préférés.
+(list (channel
+       (name 'guix)
+       (url "https://git.savannah.gnu.org/git/guix.git";)
+       (commit "d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300"))
+      (channel
+       (name 'my-personal-packages)
+       (url "https://example.org/personal-packages.git";)
+       (branch "dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb")))
address@hidden lisp
 
address@hidden @asis
address@hidden @code{name}
-Le nom du paquet, comme une chaîne de caractères.
+La commande @command{guix describe --format=channels} peut même générer
+cette liste de canaux directement (@pxref{Invoquer guix describe}).
 
address@hidden @code{version}
-La version du paquet, comme une chaîne de caractères.
+À ce moment les deux machines font tourner @emph{exactement le même Guix},
+avec l'accès @emph{exactement aux même paquets}.  La sortie de @command{guix
+build gimp} sur une machine sera exactement la même, au bit près, que la
+sortie de la même commande sur l'autre machine.  Cela signifie aussi que les
+deux machines ont accès à tous les codes sources de Guix, et transitivement,
+à tous les codes sources de tous les paquets qu'il définit.
 
address@hidden @code{source}
-Un objet qui indique comment le code source du paquet devrait être
-récupéré.  La plupart du temps, c'est un objet @code{origin} qui indique un
-fichier récupéré depuis internet (@pxref{Référence d'origine}).  Il peut aussi
-s'agir de tout autre objet ``simili-fichier'' comme un @code{local-file} qui
-indique un fichier du système de fichier local (@pxref{G-Expressions,
address@hidden).
+Cela vous donne des super-pouvoirs, ce qui vous permet de suivre la
+provenance des artefacts binaires avec un grain très fin et de reproduire
+les environnements logiciels à volonté — une sorte de capacité de «
+méta-reproductibilité », si vous voulez.  @xref{Inférieurs}, pour une autre
+manière d'utiliser ces super-pouvoirs.
 
address@hidden @code{build-system}
-Le système de construction qui devrait être utilisé pour construire le
-paquet (@pxref{Systèmes de construction}).
address@hidden Inférieurs
address@hidden Inférieurs
+
address@hidden TODO: Remove this once we're more confident about API stability.
address@hidden Remarque
+La fonctionnalité décrite ici est un « démonstrateur technique » à la
+version @value{VERSION}.  Ainsi, l'interface est sujette à changements.
address@hidden quotation
 
address@hidden @code{arguments} (par défaut : @code{'()})
-Les arguments à passer au système de construction.  C'est une liste qui
-contient typiquement une séquence de paires de clefs-valeurs.
address@hidden inférieurs
address@hidden composition de révisions de Guix
+Parfois vous pourriez avoir à mélanger des paquets de votre révision de Guix
+avec des paquets disponibles dans une révision différente de Guix.  Les
address@hidden de Guix vous permettent d'accomplir cette tâche en
+composant différentes versions de Guix de manière arbitraire.
 
address@hidden @code{inputs} (par défaut : @code{'()})
address@hidden @code{native-inputs} (par défaut : @code{'()})
address@hidden @code{propagated-inputs} (par défaut : @code{'()})
address@hidden entrées, des paquets
-Ces champs listent les dépendances du paquet.  Chacune est une liste de
-tuples, où chaque tuple a une étiquette pour une entrée (une chaîne de
-caractères) comme premier élément, un paquet, une origine ou une dérivation
-comme deuxième élément et éventuellement le nom d'une sortie à utiliser qui
-est @code{"out"} par défaut (@pxref{Des paquets avec plusieurs résultats}, pour
-plus d'informations sur les sorties des paquets).  Par exemple, la liste
-suivante spécifie trois entrées :
address@hidden paquets inférieurs
+Techniquement, un « inférieur » est surtout un processus Guix séparé
+connecté à votre processus Guix principal à travers un REPL (@pxref{Invoquer 
guix repl}).  Le module @code{(guix inferior)} vous permet de créer des
+inférieurs et de communiquer avec eux.  Il fournit aussi une interface de
+haut-niveau pour naviguer dans les paquets d'un inférieur — @dfn{des paquets
+inférieurs} — et les manipuler.
 
address@hidden
-`(("libffi" ,libffi)
-  ("libunistring" ,libunistring)
-  ("glib:bin" ,glib "bin"))  ;la sortie "bin" de Glib
address@hidden example
+Lorsqu'on les combine avec des canaux (@pxref{Canaux}), les inférieurs
+fournissent une manière simple d'interagir avec un révision de Guix
+séparée.  Par exemple, disons que vous souhaitiez installer dans votre
+profil le paquet guile actuel, avec le @code{guile-json} d'une ancienne
+révision de Guix — peut-être parce que la nouvelle version de
address@hidden a une API incompatible et que vous voulez lancer du code
+avec l'ancienne API.  Pour cela, vous pourriez écrire un manifeste à
+utiliser avec @code{guix package --manifest} (@pxref{Invoquer guix package})
+; dans ce manifeste, vous créeriez un inférieur pour l'ancienne révision de
+Guix qui vous intéresse et vous chercheriez le paquet @code{guile-json} dans
+l'inférieur :
 
address@hidden compilation croisée, dépendances des paquets
-La distinction entre @code{native-inputs} et @code{inputs} est nécessaire
-lorsqu'on considère la compilation croisée.  Lors d'une compilation croisée,
-les dépendances listées dans @code{inputs} sont construites pour
-l'architecture @emph{cible} ; inversement, les dépendances listées dans
address@hidden sont construites pour l'architecture de la machine de
address@hidden
address@hidden
+(use-modules (guix inferior) (guix channels)
+             (srfi srfi-1))   ;pour « first »
 
address@hidden est typiquement utilisé pour lister les outils requis à
-la construction mais pas à l'exécution, comme Autoconf, Automake,
-pkg-config, Gettext ou Bison.  @command{guix lint} peut rapporter des
-erreurs de ce type (@pxref{Invoquer guix lint}).
+(define channels
+  ;; L'ancienne révision depuis laquelle on veut
+  ;; extraire guile-json.
+  (list (channel
+         (name 'guix)
+         (url "https://git.savannah.gnu.org/git/guix.git";)
+         (commit
+          "65956ad3526ba09e1f7a40722c96c6ef7c0936fe"))))
 
address@hidden
-Enfin, @code{propagated-inputs} est similaire à @code{inputs}, mais les
-paquets spécifiés seront automatiquement installés avec le paquet auquel ils
-appartiennent (@pxref{package-cmd-propagated-inputs, @command{guix
-package}}, pour des informations sur la manière dont @command{guix package}
-traite les entrées propagées).
+(define inferior
+  ;; Un inférieur représentant la révision ci-dessus.
+  (inferior-for-channels channels))
 
-Par exemple cela est nécessaire lorsque des bibliothèques C/C++ ont besoin
-d'en-têtes d'une autre bibliothèque pour être compilé ou lorsqu'un fichier
-pkg-config se rapporte à un autre @i{via} son champ @code{Requires}.
+;; Maintenant on crée un manifeste avec le paquet « guile » actuel
+;; et l'ancien paquet « guile-json ».
+(packages->manifest
+ (list (first (lookup-inferior-packages inferior "guile-json"))
+       (specification->package "guile")))
address@hidden lisp
 
-Un autre exemple où @code{propagated-inputs} est utile est pour les langages
-auxquels il manque un moyen de retenir le chemin de recherche comme c'est le
-cas du @code{RUNPATH} des fichiers ELF ; cela comprend Guile, Python, Perl
-et plus.  Pour s'assurer que les bibliothèques écrites dans ces langages
-peuvent trouver le code des bibliothèques dont elles dépendent à
-l'exécution, les dépendances à l'exécution doivent être listées dans
address@hidden plutôt que @code{inputs}.
+Durant la première exécution, @command{guix package --manifest} pourrait
+avoir besoin de construire le canal que vous avez spécifié avant de créer
+l'inférieur ; les exécutions suivantes seront bien plus rapides parce que la
+révision de Guix sera déjà en cache.
 
address@hidden @code{self-native-input?} (par défaut : @code{#f})
-C'est un champ booléen qui indique si le paquet devrait s'utiliser lui-même
-comme entrée native lors de la compilation croisée.
+Le module @code{(guix inferior)} fournit les procédures suivantes pour
+ouvrir un inférieur :
 
address@hidden @code{outputs} (par défaut : @code{'("out")})
-La liste des noms de sorties du paquet.  @xref{Des paquets avec plusieurs 
résultats}, pour des exemples typiques d'utilisation de sorties
-supplémentaires.
address@hidden {Procédure Scheme} inferior-for-channels @var{channels} @
+   [#:cache-directory] [#:ttl]
+Renvoie un inférieur pour @var{channels}, une liste de canaux.  Elle utilise
+le cache dans @var{cache-directory}, où les entrées peuvent être glanées
+après @var{ttl} secondes.  Cette procédure ouvre une nouvelle connexion au
+démon de construction.
 
address@hidden @code{native-search-paths} (par défaut : @code{'()})
address@hidden @code{search-paths} (par défaut : @code{'()})
-Une liste d'objets @code{search-path-specification} décrivant les variables
-d'environnement de recherche de chemins que ce paquet utilise.
+Elle a pour effet de bord de construire ou de substituer des binaires pour
address@hidden, ce qui peut prendre du temps.
address@hidden deffn
 
address@hidden @code{replacement} (par défaut : @code{#f})
-Ce champ doit être soit @code{#f} soit un objet de paquet qui sera utilisé
-comme @dfn{remplaçant} de ce paquet.  @xref{Mises à jour de sécurité, grafts}, 
pour
-plus de détails.
address@hidden {Procédure Scheme} open-inferior @var{directory} @
+  [#:command "bin/guix"]
+Ouvre le Guix inférieur dans @var{directory} et lance
address@hidden@var{directory}/@var{command} repl} ou équivalent.  Renvoie 
@code{#f}
+si l'inférieur n'a pas pu être lancé.
address@hidden deffn
 
address@hidden @code{synopsis}
-Une description sur une ligne du paquet.
address@hidden paquets inférieurs
+Les procédures listées plus bas vous permettent d'obtenir et de manipuler
+des paquets inférieurs.
 
address@hidden @code{description}
-Une description plus détaillée du paquet.
address@hidden {Procédure Scheme} inferior-packages @var{inferior}
+Renvoie la liste des paquets connus de l'inférieur @var{inferior}.
address@hidden deffn
 
address@hidden @code{license}
address@hidden licence, des paquets
-La licence du paquet ; une valeur tirée de @code{(guix licenses)} ou une
-liste de ces valeurs.
address@hidden {Procédure Scheme} lookup-inferior-packages @var{inferior} 
@var{name} @
+   address@hidden
+Renvoie la liste triée des paquets inférieurs qui correspondent à @var{name}
+dans @var{inferior}, avec le plus haut numéro de version en premier.  Si
address@hidden est vrai, renvoie seulement les paquets avec un numéro de
+version préfixé par @var{version}.
address@hidden deffn
 
address@hidden @code{home-page}
-L'URL de la page d'accueil du paquet, en tant que chaîne de caractères.
address@hidden {Procédure Scheme} inferior-package? @var{obj}
+Renvoie vrai si @var{obj} est un paquet inférieur.
address@hidden deffn
 
address@hidden @code{supported-systems} (par défaut : @var{%supported-systems})
-La liste des systèmes supportés par le paquet, comme des chaînes de
-caractères de la forme @code{architecture-noyau}, par exemple
address@hidden"x86_64-linux"}.
address@hidden {Procédure Scheme} inferior-package-name @var{package}
address@hidden {Procédure Scheme} inferior-package-version @var{package}
address@hidden {Procédure Scheme} inferior-package-synopsis @var{package}
address@hidden {Procédure Scheme} inferior-package-description @var{package}
address@hidden {Procédure Scheme} inferior-package-home-page @var{package}
address@hidden {Procédure Scheme} inferior-package-location @var{package}
address@hidden {Procédure Scheme} inferior-package-inputs @var{package}
address@hidden {Procédure Scheme} inferior-package-native-inputs @var{package}
address@hidden {Procédure Scheme} inferior-package-propagated-inputs 
@var{package}
address@hidden {Procédure Scheme} inferior-package-transitive-propagated-inputs 
@var{package}
address@hidden {Procédure Scheme} inferior-package-native-search-paths 
@var{package}
address@hidden {Procédure Scheme} 
inferior-package-transitive-native-search-paths @var{package}
address@hidden {Procédure Scheme} inferior-package-search-paths @var{package}
+Ces procédures sont la contrepartie des accesseurs des enregistrements de
+paquets (@pxref{Référence de paquet}).  La plupart fonctionne en effectuant
+des requêtes à l'inférieur dont provient @var{package}, donc l'inférieur
+doit toujours être disponible lorsque vous appelez ces procédures.
address@hidden deffn
 
address@hidden @code{maintainers} (par défaut : @code{'()})
-La liste des mainteneurs du paquet, comme des objets @code{maintainer}.
+Les paquets inférieurs peuvent être utilisés de manière transparente comme
+tout autre paquet ou objet simili-fichier dans des G-expressions
+(@pxref{G-Expressions}).  Ils sont aussi gérés de manière transparente par
+la procédure @code{packages->manifest}, qui est typiquement utilisée dans
+des manifestes (@pxref{Invoquer guix package, l'option @option{--manifest}
+de @command{guix package}}).  Ainsi, vous pouvez insérer un paquet inférieur
+à peu près n'importe où vous utiliseriez un paquet normal : dans des
+manifestes, dans le champ @code{packages} de votre déclaration
address@hidden, etc.
 
address@hidden @code{location} (par défaut : emplacement de la source de la 
forme @code{package})
-L'emplacement de la source du paquet.  C'est utile de le remplacer lorsqu'on
-hérite d'un autre paquet, auquel cas ce champ n'est pas automatiquement
-corrigé.
address@hidden table
address@hidden deftp
address@hidden Invoquer guix describe
address@hidden Invoquer @command{guix describe}
+
address@hidden reproductibilité
address@hidden répliquer Guix
+Souvent vous voudrez répondre à des questions comme « quelle révision de
+Guix j'utilise ? » ou « quels canaux est-ce que j'utilise ? ».  C'est une
+information utile dans de nombreuses situations : si vous voulez
address@hidden un environnement sur une machine différente ou un compte
+utilisateur, si vous voulez rapporter un bogue ou pour déterminer quel
+changement dans les canaux que vous utilisez l'a causé ou si vous voulez
+enregistrer l'état de votre système pour le reproduire.  La commande
address@hidden describe} répond à ces questions.
 
+Lorsqu'elle est lancée depuis un @command{guix} mis à jour avec
address@hidden pull}, @command{guix describe} affiche les canaux qui ont été
+construits, avec l'URL de leur dépôt et l'ID de leur commit
+(@pxref{Canaux}) :
 
address@hidden Référence d'origine
address@hidden Référence de @code{origin}
address@hidden
+$ guix describe
+Generation 10  03 sep. 2018 17:32:44   (actuelle)
+  guix e0fa68c
+    URL du dépôt : https://git.savannah.gnu.org/git/guix.git
+    branche : master
+    commit : e0fa68c7718fffd33d81af415279d6ddb518f727
address@hidden example
 
-Cette section résume toutes les options disponibles dans le déclarations
address@hidden (@pxref{Définition des paquets}).
+Si vous connaissez bien le système de contrôle de version Git, cela
+ressemble en essence à @command{git describe} ; la sortie est aussi
+similaire à celle de @command{guix pull --list-generations}, mais limitée à
+la génération actuelle (@pxref{Invoquer guix pull, l'option
address@hidden).  Comme l'ID de commit de Git ci-dessus se
+réfère sans aucune ambiguïté à un instantané de Guix, cette information est
+tout ce dont vous avez besoin pour décrire la révision de Guix que vous
+utilisez et pour la répliquer.
 
address@hidden {Type de données} origin
-C'est le type de donnée qui représente l'origine d'un code source.
+Pour rendre plus facile la réplication de Guix, @command{guix describe} peut
+aussi renvoyer une liste de canaux plutôt que la description lisible par un
+humain au-dessus :
 
address@hidden @asis
address@hidden @code{uri}
-Un objet contenant l'URI de la source.  Le type d'objet dépend de la
address@hidden (voir plus bas).  Par exemple, avec la méthode @var{url-fetch}
-de @code{(guix download)}, les valeurs valide d'@code{uri} sont : une URL
-représentée par une chaîne de caractères, ou une liste de chaînes de
-caractères.
address@hidden
+$ guix describe -f channels
+(list (channel
+        (name 'guix)
+        (url "https://git.savannah.gnu.org/git/guix.git";)
+        (commit
+          "e0fa68c7718fffd33d81af415279d6ddb518f727")))
address@hidden example
 
address@hidden @code{method}
-Un procédure qui gère l'URI.
address@hidden
+Vous pouvez sauvegarder ceci dans un fichier et le donner à @command{guix
+pull -C} sur une autre machine ou plus tard, ce qui instantiera
address@hidden la même révision de Guix} (@pxref{Invoquer guix pull,
+l'option @option{-C}}).  À partir de là, comme vous pouvez déployer la même
+révision de Guix, vous pouvez aussi bien @emph{répliquer un environnement
+logiciel complet}.  Nous pensons humblement que c'est @emph{génial}, et nous
+espérons que vous aimerez ça aussi !
 
-Quelques exemples :
+Voici les détails des options supportées par @command{guix describe} :
 
address@hidden @asis
address@hidden @var{url-fetch} de @code{(guix download)}
-télécharge un fichier depuis l'URL HTTP, HTTPS ou FTP spécifiée dans le
-champ @code{uri} ;
address@hidden @code
address@hidden address@hidden
address@hidden -f @var{format}
+Produire la sortie dans le @var{format} donné, parmi :
 
address@hidden git-fetch
address@hidden @var{git-fetch} de @code{(guix git-download)}
-clone le dépôt sous contrôle de version Git et récupère la révision
-spécifiée dans le champ @code{uri} en tant qu'objet @code{git-reference} ;
-un objet @code{git-reference} ressemble à cela :
address@hidden @code
address@hidden human
+produire une sortie lisible par un humain,
address@hidden canaux
+produire une liste de spécifications de canaux qui peut être passée à
address@hidden pull -C} ou installée dans @file{~/.config/guix/channels.scm}
+(@pxref{Invoquer guix pull}),
address@hidden json
address@hidden JSON
+produire une liste de spécifications de canaux dans le format JSON,
address@hidden recutils
+produire une liste de spécifications de canaux dans le format Recutils.
address@hidden table
 
address@hidden
-(git-reference
-  (url "git://git.debian.org/git/pkg-shadow/shadow")
-  (commit "v4.1.5.1"))
address@hidden example
address@hidden address@hidden
address@hidden -p @var{profil}
+Afficher les informations sur le @var{profil}.
 @end table
 
address@hidden @code{sha256}
-Un bytevector contenant le hash SHA-256 de la source.  Typiquement la forme
address@hidden est utilisée ici pour générer le bytevector depuis une chaîne
-de caractères en base-32.
address@hidden Invoquer guix archive
address@hidden Invoquer @command{guix archive}
 
-Vous pouvez obtenir cette information avec @code{guix download}
-(@pxref{Invoquer guix download}) ou @code{guix hash} (@pxref{Invoquer guix 
hash}).
address@hidden @command{guix archive}
address@hidden archive
+La commande @command{guix archive} permet aux utilisateurs d'@dfn{exporter}
+des fichiers du dépôt dans une simple archive puis ensuite de les
address@hidden sur une machine qui fait tourner Guix.  En particulier, elle
+permet de transférer des fichiers du dépôt d'une machine vers le dépôt d'une
+autre machine.
 
address@hidden @code{file-name} (par défaut : @code{#f})
-Le nom de fichier à utiliser pour sauvegarder le fichier.  Lorsqu'elle est à
address@hidden, une valeur par défaut raisonnable est utilisée dans la plupart
-des cas.  Dans le cas où la source est récupérée depuis une URL, le nom de
-fichier est celui de l'URL.  Pour les sources récupérées depuis un outil de
-contrôle de version, il est recommandé de fournir un nom de fichier
-explicitement parce que le nom par défaut n'est pas très descriptif.
address@hidden Remarque
+Si vous chercher une manière de produire des archives dans un format adapté
+pour des outils autres que Guix, @pxref{Invoquer guix pack}.
address@hidden quotation
 
address@hidden @code{patches} (par défaut : @code{'()})
-Une liste de noms de fichiers, d'origines ou d'objets simili-fichiers
-(@pxref{G-Expressions, file-like objects}) qui pointent vers des correctifs
-à appliquer sur la source.
address@hidden exporter des éléments du dépôt
+Pour exporter des fichiers du dépôt comme une archive sur la sortie
+standard, lancez :
 
-Cette liste de correctifs doit être inconditionnelle.  En particulier, elle
-ne peut pas dépendre des valeurs de @code{%current-system} ou
address@hidden
address@hidden
+guix archive --export @var{options} @var{spécifications}...
address@hidden example
 
address@hidden @code{snippet} (par défaut : @code{#f})
-Une G-expression (@pxref{G-Expressions}) ou une S-expression qui sera lancée
-dans le répertoire des sources.  C'est une manière pratique de modifier la
-source, parfois plus qu'un correctif.
address@hidden peut être soit des noms de fichiers soit des
+spécifications de paquets, comme pour @command{guix package}
+(@pxref{Invoquer guix package}).  Par exemple, la commande suivante crée une
+archive contenant la sortie @code{gui} du paquet @code{git} et la sortie
+principale de @code{emacs} :
 
address@hidden @code{patch-flags} (par défaut : @code{'("-p1")})
-Une liste de drapeaux à passer à la commande @code{patch}.
address@hidden
+guix archive --export git:gui /gnu/store/...-emacs-24.3 > great.nar
address@hidden example
 
address@hidden @code{patch-inputs} (par défaut : @code{#f})
-Paquets d'entrées ou dérivations pour le processus de correction.
-Lorsqu'elle est à @code{#f}, l'ensemble d'entrées habituellement nécessaire
-pour appliquer des correctifs est fournit, comme address@hidden
+Si les paquets spécifiés ne sont pas déjà construits, @command{guix archive}
+les construit automatiquement.  Le processus de construction peut être
+contrôlé avec les options de construction communes (@pxref{Options de 
construction communes}).
 
address@hidden @code{modules} (par défaut : @code{'()})
-Une liste de modules Guile qui devraient être chargés pendant le processus
-de correction et pendant que le lancement du code du champ @code{snippet}.
+Pour transférer le paquet @code{emacs} vers une machine connectée en SSH, on
+pourrait lancer :
 
address@hidden @code{patch-guile} (par défaut : @code{#f})
-Le paquet Guile à utiliser dans le processus de correction.  Lorsqu'elle est
-à @code{#f}, une valeur par défaut raisonnable est utilisée.
address@hidden table
address@hidden deftp
address@hidden
+guix archive --export -r emacs | ssh la-machine guix archive --import
address@hidden example
 
address@hidden
+De même, on peut transférer un profil utilisateur complet d'une machine à
+une autre comme cela :
 
address@hidden Systèmes de construction
address@hidden Systèmes de construction
address@hidden
+guix archive --export -r $(readlink -f ~/.guix-profile) | \
+  ssh la-machine guix-archive --import
address@hidden example
 
address@hidden système de construction
-Chaque définition de paquet définie un @dfn{système de construction} et des
-arguments pour ce système de construction (@pxref{Définition des paquets}).  Ce
-champ @code{build-system} représente la procédure de construction du paquet,
-ainsi que des dépendances implicites pour cette procédure de construction.
address@hidden
+Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le
+profil ainsi que toutes leurs dépendances sont transférées (à cause de
address@hidden), indépendamment du fait qu'ils soient disponibles dans le dépôt
+de la machine cible.  L'option @code{--missing} peut vous aider à comprendre
+les éléments qui manquent dans le dépôt de la machine cible.  La commande
address@hidden copy} simplifie et optimise ce processus, c'est donc ce que
+vous devriez utiliser dans ce cas (@pxref{Invoquer guix copy}).
 
-Les systèmes de construction sont des objets
address@hidden<build-system>}. L'interface pour les créer et les manipuler est
-fournie par le module @code{(guix build-system)} et les systèmes de
-construction eux-mêmes sont exportés par des modules spécifiques.
address@hidden nar, format d'archive
address@hidden archive normalisée (nar)
+Les archives sont stockées au format « archive normalisé » ou « nar », qui
+est comparable dans l'esprit à « tar » mais avec des différences qui le
+rendent utilisable pour ce qu'on veut faire.  Tout d'abord, au lieu de
+stocker toutes les métadonnées Unix de chaque fichier, le format nar ne
+mentionne que le type de fichier (normal, répertoire ou lien symbolique) ;
+les permissions Unix, le groupe et l'utilisateur ne sont pas mentionnés.
+Ensuite, l'ordre dans lequel les entrées de répertoires sont stockés suit
+toujours l'ordre des noms de fichier dans l'environnement linguistique C.
+Cela rend la production des archives entièrement déterministe.
 
address@hidden sac (représentation à bas-niveau des paquets)
-Sous le capot, les systèmes de construction compilent d'abord des objets
-paquets en @dfn{sacs}.  Un @dfn{sac} est comme un paquet, mais avec moins de
-décoration — en d'autres mots, un sac est une représentation à bas-niveau
-d'un paquet, qui inclus toutes les entrées de ce paquet, dont certaines ont
-été implicitement ajoutées par le système de construction.  Cette
-représentation intermédiaire est ensuite compilée en une dérivation
-(@pxref{Dérivations}).
address@hidden FIXME: Add xref to daemon doc about signatures.
+Lors de l'export, le démon signe numériquement le contenu de l'archive et
+cette signature est ajoutée à la fin du fichier.  Lors de l'import, le démon
+vérifie la signature et rejette l'import en cas de signature invalide ou si
+la clef de signature n'est pas autorisée.
 
-Les systèmes de construction acceptent une liste d'@dfn{arguments}
-facultatifs.  Dans les définitions de paquets, ils sont passés @i{via} le
-champ @code{arguments} (@pxref{Définition des paquets}).  Ce sont typiquement 
des
-arguments par mot-clef (@pxref{Optional Arguments, keyword arguments in
-Guile,, guile, GNU Guile Reference Manual}).  La valeur de ces arguments est
-habituellement évaluée dans la @dfn{strate de construction} — c.-à-d.@: par
-un processus Guile lancé par le démon (@pxref{Dérivations}).
+Les principales options sont :
 
-Le système de construction principal est le @var{gnu-build-system} qui
-implémente les procédures de construction standard pour les paquets GNU et
-de nombreux autres.  Il est fournit par le module @code{(guix build-system
-gnu)}.
address@hidden @code
address@hidden --export
+Exporter les fichiers ou les paquets du dépôt (voir plus bas).  Écrire
+l'archive résultante sur la sortie standard.
 
address@hidden {Variable Scheme} gnu-build-system
address@hidden représente le système de construction GNU et ses
-variantes (@pxref{Configuration, configuration and makefile conventions,,
-standards, GNU Coding Standards}).
+Les dépendances ne sont @emph{pas} incluses dans la sortie à moins que
address@hidden ne soit passé.
 
address@hidden phases de construction
-En résumé, les paquets qui l'utilisent sont configurés, construits et
-installés avec la séquence @code{./configure && make && make check && make
-install} habituelle.  En pratique, des étapes supplémentaires sont souvent
-requises.  Toutes ces étapes sont séparées dans des @dfn{phases}
-différentes, address@hidden les modules @code{(guix build
-gnu-build-system)} pour plus de détails sur les phases de construction.}:
address@hidden -r
address@hidden --recursive
+En combinaison avec @code{--export}, cette option demande à @command{guix
+archive} d'inclure les dépendances des éléments donnés dans l'archive.
+Ainsi, l'archive résultante est autonome : elle contient la closure des
+éléments du dépôt exportés.
 
address@hidden @code
address@hidden unpack
-Décompresse l'archive des sources et se déplace dans l'arborescence des
-sources fraîchement extraites.  Si la source est en fait un répertoire, le
-copie dans l'arborescence de construction et entre dans ce répertoire.
address@hidden --import
+Lire une archive depuis l'entrée standard et importer les fichiers inclus
+dans le dépôt.  Annuler si l'archive a une signature invalide ou si elle est
+signée par une clef publique qui ne se trouve pas dans le clefs autorisées
+(voir @code{--authorize} plus bas.)
 
address@hidden patch-source-shebangs
-Corrige les shebangs (@code{#!}) rencontrés dans les fichiers pour qu'ils se
-réfèrent aux bons noms de fichiers.  Par exemple, elle change
address@hidden/bin/sh} en @code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}.
address@hidden --missing
+Liste une liste de noms de fichiers du dépôt sur l'entrée standard, un par
+ligne, et écrit sur l'entrée standard le sous-ensemble de ces fichiers qui
+manquent dans le dépôt.
 
address@hidden configure
-Lance le script @code{configure} avec un certain nombre d'options par
-défaut, comme @code{--prefix=/gnu/store/@dots{}}, ainsi que les options
-spécifiées par l'argument @code{#:configure-flags}.
address@hidden address@hidden
address@hidden signature, archives
+Générer une nouvelle paire de clefs pour le démon.  Cela est un prérequis
+avant que les archives ne puissent être exportées avec @code{--export}.
+Remarquez que cette opération prend généralement du temps parce qu'elle doit
+récupère suffisamment d'entropie pour générer la paire de clefs.
 
address@hidden build
-Lance @code{make} avec la liste des drapeaux spécifiés avec
address@hidden:make-flags}.  Si l'argument @code{#:parallel-build?} est vrai 
(par
-défaut), construit avec @code{make -j}.
+La paire de clefs générée est typiquement stockée dans @file{/etc/guix},
+dans @file{signing-key.pub} (clef publique) et @file{signing-key.sec} (clef
+privée, qui doit rester secrète).  Lorsque @var{paramètres} est omis, une
+clef ECDSA utilisant la courbe Ed25519 est générée ou pour les version de
+libgcrypt avant 1.6.0, une clef RSA de 4096 bits.  Autrement,
address@hidden peut spécifier les paramètres @code{genkey} adaptés pour
+libgcrypt (@pxref{General public-key related Functions,
address@hidden,, gcrypt, The Libgcrypt Reference Manual}).
 
address@hidden check
-Lance @code{make check}, ou une autre cible spécifiée par
address@hidden:test-target}, à moins que @code{#:tests? #f} ne soit passé.  Si
-l'argument @code{#:parallel-tests?} est vrai (par défaut), lance @code{make
-check -j}.
address@hidden --authorize
address@hidden autorisation, archives
+Autoriser les imports signés par la clef publique passée sur l'entrée
+standard.  La clef publique doit être au « format avancé s-expression  » —
+c.-à-d.@: le même format que le fichier @file{signing-key.pub}.
+
+La liste des clefs autorisées est gardée dans un fichier modifiable par des
+humains dans @file{/etc/guix/acl}.  Le fichier contient des
address@hidden://people.csail.mit.edu/rivest/Sexp.txt, « s-expressions au format
+avancé »} et est structuré comme une liste de contrôle d'accès dans
+l'@url{http://theworld.com/~cme/spki.txt, infrastructure à clefs publiques
+simple (SPKI)}.
+
address@hidden address@hidden
address@hidden -x @var{répertoire}
+Lit une archive à un seul élément telle que servie par un serveur de
+substituts (@pxref{Substituts}) et l'extrait dans @var{répertoire}.  C'est
+une opération de bas niveau requise seulement dans de rares cas d'usage ;
+voir plus loin.
 
address@hidden install
-Lance @code{make install} avec les drapeaux listés dans @code{#:make-flags}.
+For example, the following command extracts the substitute for Emacs served
+by @address@hidden to @file{/tmp/emacs}:
 
address@hidden patch-shebangs
-Corrige les shebangs des fichiers exécutables installés.
address@hidden
+$ wget -O - \
+  https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-emacs-24.5 \
+  | bunzip2 | guix archive -x /tmp/emacs
address@hidden example
 
address@hidden strip
-Nettoie les symboles de débogage dans les fichiers ELF (à moins que
address@hidden:strip-binaries?} ne soit faux), les copie dans la sortie
address@hidden lorsqu'elle est disponible (@pxref{Installer les fichiers de 
débogage}).
address@hidden table
+Les archives à un seul élément sont différentes des archives à plusieurs
+éléments produites par @command{guix archive --export} ; elles contiennent
+un seul élément du dépôt et elles n'embarquent @emph{pas} de signature.
+Ainsi cette opération ne vérifie @emph{pas} de signature et sa sortie
+devrait être considérée comme non sûre.
 
address@hidden %standard-phases
-Le module du côté du constructeur @code{(guix build gnu-build-system)}
-définie @var{%standard-phases} comme la liste par défaut des phases de
-construction.  @var{%standard-phases}  est une liste de paires de symboles
-et de procédures, où la procédure implémente la phase en question.
+Le but principal de cette opération est de faciliter l'inspection du contenu
+des archives venant de serveurs auxquels on ne fait potentiellement pas
+confiance.
 
-La liste des phases utilisées par un paquet particulier peut être modifiée
-avec le paramètre @code{#:phases}.  Par exemple, en passant :
address@hidden table
 
address@hidden
-#:phases (modify-phases %standard-phases (delete 'configure))
address@hidden example
 
-signifie que toutes les procédures décrites plus haut seront utilisées, sauf
-la phase @code{configure}.
address@hidden 
*********************************************************************
address@hidden Development
address@hidden Development
 
-En plus, ce système de construction s'assure que l'environnement « standard
-» pour les paquets GNU est disponible.  Cela inclus des outils comme GCC,
-libc, Coreutils, Bash, Make, Diffutils, grep et sed (voir le module
address@hidden(guix build-system gnu)} pour une liste complète).  Nous les 
appelons
-les @dfn{entrées implicites} d'un paquet parce que la définition du paquet
-ne les mentionne pas.
address@hidden defvr
address@hidden software development
+If you are a software developer, Guix provides tools that you should find
+helpful---independently of the language you're developing in.  This is what
+this chapter is about.
 
-D'autres objets @code{<build-system>} sont définis pour supporter d'autres
-conventions et outils utilisés par les paquets de logiciels libres.  Ils
-héritent de la plupart de @var{gnu-build-system} et diffèrent surtout dans
-l'ensemble des entrées implicites ajoutées au processus de construction et
-dans la liste des phases exécutées.  Certains de ces systèmes de
-construction sont listés ci-dessous.
+The @command{guix environment} command provides a convenient way to set up
address@hidden environments} containing all the dependencies and tools
+necessary to work on the software package of your choice.  The @command{guix
+pack} command allows you to create @dfn{application bundles} that can be
+easily distributed to users who do not run Guix.
 
address@hidden {Variable Scheme} ant-build-system
-Cette variable est exportée par @code{(guix build-system ant)}.  Elle
-implémente la procédure de construction pour les paquets Java qui peuvent
-être construits avec @url{http://ant.apache.org/, l'outil de construction
-Ant}.
address@hidden
+* Invoquer guix environment::  Mettre en place des environnements de 
+                                 développement.
+* Invoquer guix pack::       Créer des lots de logiciels.
address@hidden menu
 
-Elle ajoute à la fois @code{ant} et the @dfn{kit de développement Java}
-(JDK) fournit par le paquet @code{icedtea} à l'ensemble des entrées.  Des
-paquets différents peuvent être spécifiés avec les paramètres @code{#:ant}
-et @code{#:jdk} respectivement.
address@hidden Invoquer guix environment
address@hidden Invoquer @command{guix environment}
 
-Lorsque le paquet d'origine ne fournit pas de fichier de construction Ant
-acceptable, le paramètre @code{#:jar-name} peut être utilisé pour générer un
-fichier de construction Ant @file{build.xml} minimal, avec des tâches pour
-construire l'archive jar spécifiée.  Dans ce cas, le paramètre
address@hidden:source-dir} peut être utilisé pour spécifier le sous-répertoire 
des
-sources, par défaut « src ».
address@hidden environnements de construction reproductibles
address@hidden environnement de développement
address@hidden @command{guix environment}
address@hidden environnement de construction de paquets
+Le but de @command{guix environment} est d'assister les hackers dans la
+création d'environnements de développement reproductibles sans polluer leur
+profil de paquets.  L'outil @command{guix environment} prend un ou plusieurs
+paquets, construit leurs entrées et crée un environnement shell pour pouvoir
+les utiliser.
 
-Le paramètre @code{#:main-class} peut être utilisé avec le fichier de
-construction minimal pour spécifier la classe principale du jar.  Cela rend
-le fichier jar exécutable.  Le paramètre @code{#:test-include} peut être
-utilisé pour spécifier la liste des tests junit à lancer.  Il vaut par
-défaut @code{(list "**/*Test.java")}.  Le paramètre @code{#:test-exclude}
-peut être utilisé pour désactiver certains tests.  Sa valeur par défaut est
address@hidden(list "**/Abstract*.java")}, parce que les classes abstraites ne
-peuvent pas être utilisées comme des tests.
+La syntaxe générale est :
 
-Le paramètre @code{#:build-target} peut être utilisé pour spécifier la tâche
-Ant qui devrait être lancée pendant la phase @code{build}.  Par défaut la
-tâche « jar » sera lancée.
address@hidden
+guix environment @var{options} @address@hidden
address@hidden example
 
address@hidden defvr
+L'exemple suivant crée un nouveau shell préparé pour le développement de
address@hidden :
 
address@hidden {Variable Scheme} android-ndk-build-system
address@hidden Distribution android
address@hidden système de construction Android NDK
-Cette variable est exportée par @code{(guix build-system android-ndk)}.
-Elle implémente une procédure de construction pour les paquets du NDK
-Android (@i{native development kit}) avec des processus de construction
-spécifiques à Guix.
address@hidden
+guix environment guile
address@hidden example
 
-Le système de construction suppose que les paquets installent leur interface
-publique (les en-têtes) dans un sous-répertoire de « include » de la sortie
-« out » et leurs bibliothèques dans le sous-répertoire « lib » de la sortie
-« out ».
+Si les dépendances requises ne sont pas déjà construites, @command{guix
+environment} les construit automatiquement.  L'environnement du nouveau
+shell est une version améliorée de l'environnement dans lequel @command{guix
+environment} a été lancé.  Il contient les chemins de recherche nécessaires
+à la construction du paquet donné en plus des variables d'environnement
+existantes.  Pour créer un environnement « pur », dans lequel les variables
+d'environnement de départ ont été nettoyées, utilisez l'option
address@hidden@footnote{Les utilisateurs ajoutent parfois à tord des valeurs
+supplémentaires dans les variables comme @code{PATH} dans leur
address@hidden/.bashrc}.  En conséquence, lorsque @code{guix environment} le 
lance,
+Bash peut lire @file{~/.bashrc}, ce qui produit des « impuretés » dans ces
+variables d'environnement.  C'est une erreur de définir ces variables
+d'environnement dans @file{.bashrc} ; à la place, elles devraient être
+définie dans @file{.bash_profile}, qui est sourcé uniquement par les shells
+de connexion.  @xref{Bash Startup Files,,, bash, The GNU Bash Reference
+Manual}, pour des détails sur les fichiers de démarrage de Bash.}.
 
-Il est aussi supposé que l'union de toutes les dépendances d'un paquet n'a
-pas de fichiers en conflit.
address@hidden GUIX_ENVIRONMENT
address@hidden environment} définie la variable @code{GUIX_ENVIRONMENT} dans
+le shell qu'il crée ; sa valeur est le nom de fichier du profil de cet
+environnement.  Cela permet aux utilisateur, disons, de définir un prompt
+spécifique pour les environnement de développement dans leur @file{.bashrc}
+(@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}) :
 
-Pour l'instant, la compilation croisée n'est pas supportées — donc pour
-l'instant les bibliothèques et les fichiers d'en-têtes sont supposés être
-des outils de l'hôte.
address@hidden
+if [ -n "$GUIX_ENVIRONMENT" ]
+then
+    export PS1="\u@@\h \w [dev]\$ "
+fi
address@hidden example
 
address@hidden defvr
address@hidden
+...@: or to browse the profile:
 
address@hidden {Variable Scheme} asdf-build-system/source
address@hidden {Variable Scheme} asdf-build-system/sbcl
address@hidden {Variable Scheme} asdf-build-system/ecl
address@hidden
+$ ls "$GUIX_ENVIRONMENT/bin"
address@hidden example
 
-Ces variables, exportées par @code{(guix build-system asdf)}, implémentent
-les procédures de constructions pour les paquets en Common Lisp qui
-utilisent @url{https://common-lisp.net/project/asdf/, ``ASDF''}.  ASDF est
-un dispositif de définition de systèmes pour les programmes et les
-bibliothèques en Common Lisp.
+En plus, plus d'un paquet peut être spécifié, auquel cas l'union des entrées
+des paquets données est utilisée.  Par exemple, la commande ci-dessous crée
+un shell où toutes les dépendances de Guile et Emacs sont disponibles :
 
-Le système @code{asdf-build-system/source} installe les paquets au format
-source qui peuvent être chargés avec n'importe quelle implémentation de
-common lisp, via ASDF.  Les autres, comme @code{asdf-build-system/sbcl},
-installent des binaires au format qu'un implémentation particulière
-comprend.  Ces systèmes de constructions peuvent aussi être utilisés pour
-produire des programmes exécutables ou des images lisp qui contiennent un
-ensemble de paquets pré-chargés.
address@hidden
+guix environment guile emacs
address@hidden example
 
-Le système de construction utilise des conventions de nommage.  Pour les
-paquets binaires, le nom du paquet devrait être préfixé par l'implémentation
-lisp, comme @code{sbcl-} pour @code{asdf-build-system/sbcl}.
+Parfois, une session shell interactive est inutile.  On peut invoquer une
+commande arbitraire en plaçant le jeton @code{--} pour séparer la commande
+du reste des arguments :
 
-En plus, le paquet source correspondant devrait étiquetté avec la même
-convention que les paquets python (voir @ref{Modules python}), avec le
-préfixe @code{cl-}.
address@hidden
+guix environment guile -- make -j4
address@hidden example
 
-Pour les paquets binaires, chaque système devrait être défini comme un
-paquet Guix.  Si un paquet @code{origine} contient plusieurs systèmes, on
-peut créer des variantes du paquet pour construire tous les systèmes.  Les
-paquets sources, qui utilisent @code{asdf-build-system/source}, peuvent
-contenir plusieurs systèmes.
+Dans d'autres situations, il est plus pratique de spécifier la liste des
+paquets requis dans l'environnement.  Par exemple, la commande suivante
+lance @command{python} dans un environnement contenant address@hidden et
+NumPy :
 
-Pour créer des programmes exécutables et des images, les procédures côté
-construction @code{build-program} et @code{build-image} peuvent être
-utilisées.  Elles devraient être appelées dans une phase de construction
-après la phase @code{create-symlinks} pour que le système qui vient d'être
-construit puisse être utilisé dans l'image créée.  @code{build-program}
-requiert une liste d'expressions Common Lisp dans l'argument
address@hidden:entry-program}.
address@hidden
+guix environment --ad-hoc python2-numpy python-2.7 -- python
address@hidden example
 
-Si le système n'est pas défini dans son propre fichier @code{.asd} du même
-nom, alors le paramètre @code{#:asd-file} devrait être utilisé pour
-spécifier dans quel fichier le système est défini.  De plus, si le paquet
-défini un système pour ses tests dans un fichier séparé, il sera chargé
-avant que les tests ne soient lancés s'il est spécifié par le paramètre
address@hidden:test-asd-file}.  S'il n'est pas spécifié, les fichiers
address@hidden<system>-tests.asd}, @code{<system>-test.asd}, @code{tests.asd} et
address@hidden seront testés.
+En plus, on peut vouloir les dépendance d'un paquet et aussi des paquets
+supplémentaires qui ne sont pas des dépendances à l'exécution ou à la
+construction, mais qui sont utiles au développement tout de même.  À cause
+de cela, le drapeau @code{--ad-hoc} est positionnel.  Les paquets qui
+apparaissent avant @code{--ad-hoc} sont interprétés comme les paquets dont
+les dépendances seront ajoutées à l'environnement.  Les paquets qui
+apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
+ajouter à l'environnement directement.  Par exemple, la commande suivante
+crée un environnement de développement pour Guix avec les paquets Git et
+strace en plus :
 
-Si pour quelque raison que ce soit le paquet doit être nommé d'une manière
-différente de ce que la convention de nommage suggère, le paramètre
address@hidden:asd-system-name} peut être utilisé pour spécifier le nom du 
système.
address@hidden
+guix environment guix --ad-hoc git strace
address@hidden example
 
address@hidden defvr
+Sometimes it is desirable to isolate the environment as much as possible,
+for maximal purity and reproducibility.  In particular, when using Guix on a
+host distro that is not Guix System, it is desirable to prevent access to
address@hidden/usr/bin} and other system-wide resources from the development
+environment.  For example, the following command spawns a Guile REPL in a
+``container'' where only the store and the current working directory are
+mounted:
 
address@hidden {Variable Scheme} cargo-build-system
address@hidden Langage de programmation Rust
address@hidden Cargo (système de construction Rust)
-Cette variable est exportée par @code{(guix build-system cargo)}.  Elle
-supporte les construction de paquets avec Cargo, le système de construction
-du @uref{https://www.rust-lang.org, langage de programmation Rust}.
address@hidden
+guix environment --ad-hoc --container guile -- guile
address@hidden example
 
-Dans sa phase @code{configure}, ce système de construction remplace les
-dépendances spécifiées dans le fichier @file{Cargo.toml} par des paquets
-Guix.  La phase @code{install} installe les binaires et installe aussi le
-code source et le fichier @file{Cargo.toml}.
address@hidden defvr
address@hidden Remarque
+L'option @code{--container} requiert Linux-libre 3.19 ou supérieur.
address@hidden quotation
 
address@hidden Clojure (langage de programmation)
address@hidden système de construction Clojure simple
address@hidden {Variable Scheme} clojure-build-system
-Cette variable est exportée par @code{(guix build-system clojure)}.  Elle
-implémente une procédure de construction des paquets simple qui utilise le
-bon vieux @code{compile} de Clojure.  La compilation croisée n'est pas
-encore supportée.
+Les options disponibles sont résumées ci-dessous.
+
address@hidden @code
address@hidden address@hidden
address@hidden -r @var{fichier}
address@hidden environnement persistent
address@hidden racine du ramasse-miettes, pour les environnements
+Fait de @var{fichier} un lien symbolique vers le profil de cet
+environnement, et l'enregistre comme une racine du ramasse-miettes.
 
-Elle ajoute @code{clojure}, @code{icedtea} et @code{zip} à l'ensemble des
-entrées.  Des paquets différents peuvent être spécifiés avec les paramètres
address@hidden:clojure}, @code{#:jdk} et @code{#:zip}.
+C'est utile si vous souhaitez protéger votre environnement du
+ramasse-miettes, pour le rendre « persistent ».
 
-Une liste de répertoires sources, de répertoires de tests et de noms de jar
-peuvent être spécifiés avec les paramètres @code{#:source-dirs},
address@hidden:test-dirs} et @code{#:jar-names}.  Le répertoire de construction 
est
-la classe principale peuvent être spécifiés avec les paramètres
address@hidden:compile-dir} et @code{#:main-class}.  Les autres paramètres sont
-documentés plus bas.
+Lorsque cette option est omise, l'environnement n'est protégé du
+ramasse-miettes que le temps de la session @command{guix environment}.  Cela
+signifie que la prochaine fois que vous créerez le même environnement, vous
+pourriez avoir à reconstruire ou télécharger des paquets.  @xref{Invoquer guix 
gc}, pour plus d'informations sur les racines du GC.
 
-Ce système de construction est une extension de @var{ant-build-system}, mais
-avec les phases suivantes modifiées :
address@hidden address@hidden
address@hidden -e @var{expr}
+Crée un environnement pour le paquet ou la liste de paquets en lesquels
+s'évalue @var{expr}.
 
address@hidden @code
+Par exemple, lancer :
 
address@hidden build
-Cette phase appelle @code{compile} en Clojure pour compiler les fichiers
-sources et lance @command{jar} pour créer les fichiers jar à partir des
-fichiers sources et des fichiers compilés en suivant la liste d'inclusion et
-d'exclusion spécifiées dans @code{#:aot-include} et @code{#:aot-exclude}.
-La liste d'exclusion a la priorité sur la liste d'inclusion.  Ces listes
-consistent en des symboles représentant des bibliothèque Clojure ou le mot
-clef spécial @code{#:all}, représentant toutes les bibliothèques Clojure
-trouvées dans les répertoires des sources.  Le paramètre
address@hidden:omit-source?} décide si les sources devraient être incluses dans 
les
-fichiers jar.
address@hidden
+guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'
address@hidden example
 
address@hidden check
-Cette phase lance les tests en suivant les liste d'inclusion et d'exclusion
-spécifiées dans @code{#:test-include} et @code{#:test-exclude}.  Leur
-signification est analogue à celle de @code{#:aot-include} et
address@hidden:aot-exclude}, sauf que le mot-clef spécial @code{#:all} signifie
-maintenant toutes les bibliothèques Clojure trouvées dans les répertoires de
-tests.  Le paramètre @code{#:tests?} décide si les tests devraient être
-lancés.
+démarre un shell avec l'environnement pour cette variante spécifique du
+paquet PETSc.
 
address@hidden install
-Cette phase installe tous les fichiers jar précédemment construits.
address@hidden table
+Lancer :
 
-En dehors de cela, le système de construction contient aussi la phase
-suivante :
address@hidden
+guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'
address@hidden example
 
address@hidden @code
+starts a shell with all the base system packages available.
 
address@hidden install-doc
-Cette phase installe tous les fichiers dans le répertoire de plus haut
-niveau dont le nom correspond à @var{%doc-regex}.  On peut spécifier une
-regex différente avec le paramètre @code{#:doc-regex}.  Tous les fichiers
-(récursivement) dans les répertoires de documentations spécifiés dans
address@hidden:doc-dirs} sont aussi installés.
address@hidden table
address@hidden defvr
+Les commande au-dessus n'utilisent que les sorties par défaut des paquets
+donnés.  Pour choisir d'autres sorties, on peut spécifier des pairs :
 
address@hidden {Variable Scheme} cmake-build-system
-Cette variable est exportée par @code{(guix build-system cmake)}.  Elle
-implémente la procédure de construction des paquets qui utilisent
-l'@url{http://www.cmake.org, outil de construction CMake}.
address@hidden
+guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) "include")'
address@hidden example
 
-Elle ajoute automatiquement le paquet @code{cmake} à l'ensemble des
-entrées.  Le paquet utilisé peut être spécifié par le paramètre
address@hidden:cmake}.
address@hidden address@hidden
address@hidden -l @var{fichier}
+Crée un environnement pour le paquet ou la liste de paquets en lesquels
address@hidden s'évalue.
 
-Le paramètre @code{#:configure-flags} est pris comme une liste de drapeaux à
-passer à la commande @command{cmake}.  Le paramètre @code{#:build-type}
-spécifie en termes abstrait les drapeaux passés au compilateur ; sa valeur
-par défaut est @code{"RelWithDebInfo"} (ce qui veut dire « mode public avec
-les informations de débogage » en plus court), ce qui signifie en gros que
-le code sera compilé avec @code{-O2 -g} comme pour les paquets autoconf par
-défaut.
address@hidden defvr
+Par exemple, @var{fichier} peut contenir une définition comme celle-ci
+(@pxref{Définition des paquets}) :
 
address@hidden {Variable Scheme} go-build-system
-Cette variable est exportée par @code{(guix build-system go)}.  Elle
-implémente la procédure pour les paquets Go utilisant les
address@hidden://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies,
-mécanismes de construction Go} standard.
address@hidden
address@hidden environment-gdb.scm
address@hidden example
 
-L'utilisateur doit fournir une valeur à la clef @code{#:import-path} et,
-dans certains cas, @code{#:unpack-path}.  Le
address@hidden://golang.org/doc/code.html#ImportPaths, chemin d'import}
-correspond au chemin dans le système de fichiers attendu par le script de
-construction du paquet et les paquets qui s'y réfèrent et fournit une
-manière unique de se référer à un paquet Go.  Il est typiquement basé sur
-une combinaison de l'URI du code source du paquet et d'une structure
-hiérarchique du système de fichier.  Dans certains cas, vous devrez extraire
-le code source du paquet dans une structure de répertoires différente que
-celle indiquée par le chemin d'import et @code{#:unpack-path} devrait être
-utilisé dans ces cas-là.
address@hidden address@hidden
address@hidden -m @var{fichier}
+Crée un environnement pour les paquets contenus dans l'objet manifeste
+renvoyé par le code Scheme dans @var{fichier}.
 
-Les paquets qui fournissent des bibliothèques Go devraient être installées
-avec leur code source.  La clef @code{#:install-soruce?}, qui vaut @code{#t}
-par défaut, contrôle l'installation du code source.  Elle peut être mise à
address@hidden pour les paquets qui ne fournissent que des fichiers exécutables.
address@hidden defvr
+C'est similaire à l'option de même nom de @command{guix package}
+(@pxref{profile-manifest, @option{--manifest}}) et utilise les même fichiers
+manifestes.
 
address@hidden {Variable Scheme} glib-or-gtk-build-system
-Cette variable est exportée par @code{(guix build-system glib-or-gtk)}.
-Elle est conçue pour être utilisée par des paquets qui utilisent GLib ou
-GTK+.
address@hidden --ad-hoc
+Inclut tous les paquets spécifiés dans l'environnement qui en résulte, comme
+si un paquet @i{ad hoc} était spécifié, avec ces paquets comme entrées.
+Cette option est utile pour créer un environnement rapidement sans avoir à
+écrire une expression de paquet contenant les entrées désirées.
 
-Ce système de construction ajoute les deux phases suivantes à celles
-définies par @var{gnu-build-system} :
+Par exemple la commande :
 
address@hidden @code
address@hidden glib-or-gtk-wrap
-La phase @code{glib-or-gtk-wrap} s'assure que les programmes dans
address@hidden/} sont capable de trouver les « schemas » GLib et les
address@hidden://developer.gnome.org/gtk3/stable/gtk-running.html, modules
-GTK+}.  Ceci est fait en enveloppant les programmes dans des scripts de
-lancement qui initialisent correctement les variables d'environnement
address@hidden et @code{GTK_PATH}.
address@hidden
+guix environment --ad-hoc guile guile-sdl -- guile
address@hidden example
 
-Il est possible d'exclure des sorties spécifiques de ce processus
-d'enveloppage en listant leur nom dans le paramètre
address@hidden:glib-or-gtk-wrap-excluded-outputs}.  C'est utile lorsqu'une 
sortie
-est connue pour ne pas contenir de binaires GLib ou GTK+, et où l'enveloppe
-ajouterait une dépendance inutile vers GLib et GTK+.
+lance @command{guile} dans un environnement où Guile et Guile-SDDL sont
+disponibles.
 
address@hidden glib-or-gtk-compile-schemas
-La phase  @code{glib-or-gtk-compile-schemas} s'assure que tous les
address@hidden://developer.gnome.org/gio/stable/glib-compile-schemas.html,
-schémas GSettings} de GLib sont compilés.  La compilation est effectuée par
-le programme @command{glib-compile-schemas}.  Il est fournit par le paquet
address@hidden:bin} qui est automatiquement importé par le système de
-construction.  Le paquet @code{glib} qui fournit
address@hidden peut être spécifié avec le paramètre
address@hidden:glib}.
address@hidden table
+Remarquez que cet exemple demande implicitement la sortie par défaut de
address@hidden et @code{guile-sdl}, mais il est possible de demander une
+sortie spécifique — p.@: ex.@: @code{glib:bin} demande la sortie @code{bin}
+de @code{glib} (@pxref{Des paquets avec plusieurs résultats}).
 
-Ces deux phases sont exécutées après la phase @code{install}.
address@hidden defvr
+Cette option peut être composée avec le comportement par défaut de
address@hidden environment}.  Les paquets qui apparaissent avant
address@hidden sont interprétés comme les paquets dont les dépendances
+seront ajoutées à l'environnement, le comportement par défaut.  Les paquets
+qui apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
+ajouter à l'environnement directement.
 
address@hidden {Variable Scheme} guile-build-system
-Ce système de construction sert aux paquets Guile qui consistent
-exclusivement en code Scheme et qui sont si simple qu'ils n'ont même pas un
-makefile, sans parler d'un script @file{configure}.  Il compile le code
-Scheme en utilisant @command{guild compile} (@pxref{Compilation,,, guile,
-GNU Guile Reference Manual}) et installe les fichiers @file{.scm} et
address@hidden aux bons emplacements.  Il installe aussi la documentation.
address@hidden --pure
+Unset existing environment variables when building the new environment,
+except those specified with @option{--inherit} (see below.)  This has the
+effect of creating an environment in which search paths only contain package
+inputs.
 
-Ce système de construction supporte la compilation croisée en utilisant
-l'option @code{--target} de @command{guild compile}.
address@hidden address@hidden
+When used alongside @option{--pure}, inherit all the environment variables
+matching @var{regexp}---in other words, put them on a ``white list'' of
+environment variables that must be preserved.  This option can be repeated
+several times.
 
-Les paquets construits avec @code{guile-build-system} doivent fournir un
-paquet Guile dans leur champ @code{native-inputs}.
address@hidden defvr
address@hidden
+guix environment --pure --inherit=^SLURM --ad-hoc openmpi @dots{} \
+  -- mpirun @dots{}
address@hidden example
 
address@hidden {Variable Scheme} minify-build-system
-Cette variable est exportée par @code{(guix build-system minify)}.  Elle
-implémente une procédure de minification pour des paquets JavaScript
-simples.
+This example runs @command{mpirun} in a context where the only environment
+variables defined are @code{PATH}, environment variables whose name starts
+with @code{SLURM}, as well as the usual ``precious'' variables (@code{HOME},
address@hidden, etc.)
 
-Elle ajoute @code{uglify-js} à l'ensemble des entrées et l'utilise pour
-compresser tous les fichiers JavaScript du répertoire @file{src}.  Un
-minifieur différent peut être spécifié avec le paramètre @code{#:uglify-js}
-mais il est attendu que ce paquet écrive le code minifié sur la sortie
-standard.
address@hidden --search-paths
+Affiche les définitions des variables d'environnement qui composent
+l'environnement.
 
-Lorsque les fichiers JavaScript d'entrée ne sont pas situés dans le
-répertoire @file{src}, le paramètre @code{#:javascript-files} peut être
-utilisé pour spécifier une liste de noms de fichiers à donner au minifieur.
address@hidden defvr
address@hidden address@hidden
address@hidden -s @var{système}
+Essaye de construire pour @var{système} — p.@: ex.@: @code{i686-linux}.
 
address@hidden {Variable Scheme} ocaml-build-system
-Cette variable est exportée par @code{(guix build-system ocaml)}.  Elle
-implémente une procédure de construction pour les paquets
address@hidden://ocaml.org, OCaml} qui consiste à choisir le bon ensemble de
-commande à lancer pour chaque paquet.  Les paquets OCaml peuvent demander
-des commandes diverses pour être construit.  Ce système de construction en
-essaye certaines.
address@hidden --container
address@hidden -C
address@hidden conteneur
+Lance @var{commande} dans un conteneur isolé.  Le répertoire de travail
+actuel en dehors du conteneur est monté dans le conteneur.  En plus, à moins
+de le changer avec @code{--user}, un répertoire personnel fictif est créé
+pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwd} est
+configuré en conséquence.  Le processus est lancé en tant que l'utilisateur
+actuel en dehors du conteneur, mais a les privilèges root dans le contexte
+du conteneur.
 
-Lorsqu'un fichier @file{setup.ml} est présent dans le répertoire de plus
-haut niveau, elle lancera @code{ocaml setup.ml -configure}, @code{ocaml
-setup.ml -build} et @code{ocaml setup.ml -install}.  Le système de
-construction supposera que ces fichiers ont été générés par
address@hidden://oasis.forge.ocamlcore.org/, OASIS} et prendra soin
-d'initialiser le préfixe et d'activer les tests s'ils ne sont pas
-désactivés.  Vous pouvez passer des drapeaux de configuration et de
-consturction avec @code{#:configure-flags} et @code{#:build-flags}.  La clef
address@hidden:test-flags} peut être passée pour changer l'ensemble des drapeaux
-utilisés pour activer les tests.  La clef @code{#:use-make?} peut être
-utilisée pour outrepasser ce système dans les phases de construction et
-d'installation.
address@hidden --network
address@hidden -N
+Pour les conteneurs, partage l'espace de nom du réseau avec le système
+hôte.  Les conteneurs créés sans cette option n'ont accès qu'à l'interface
+de boucle locale.
 
-Lorsque le paquet a un fichier @file{configure}, il est supposé qu'il s'agit
-d'un script configure écrit à la main qui demande un format différent de
-celui de @code{gnu-build-system}.  Vous pouvez ajouter plus de drapeaux avec
-la clef @code{#:configure-flags}.
address@hidden --link-profile
address@hidden -P
+Pour les conteneurs, lie le profil de l'environnement à
address@hidden/.guix-profile} dans le conteneur.  C'est équivalent à lance la
+commande @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile} dans le
+conteneur.  La liaison échouera et annulera l'environnement si le répertoire
+existe déjà, ce qui sera sans doute le cas si @command{guix environment} est
+invoqué dans le répertoire personnel de l'utilisateur.
 
-Lorsque le paquet a un fichier @file{Makefile} (ou @code{#:use-make?} vaut
address@hidden), il sera utilisé et plus de drapeaux peuvent être passés à la
-construction et l'installation avec la clef @code{#:make-flags}.
+Certains paquets sont configurés pour chercher des fichiers de configuration
+et des données dans @code{~/address@hidden exemple, le paquet
address@hidden inspecte @file{~/.guix-profile/share/fonts} pour trouver
+des polices supplémentaires.} ; @code{--link-profile} permet à ces
+programmes de se comporter comme attendu dans l'environnement.
 
-Enfin, certains paquets n'ont pas ces fichiers mais utilisent un emplacement
-plus ou moins standard pour leur système de construction.  Dans ce cas, le
-système de construction lancera @code{ocaml pkg/pkg.ml} ou
address@hidden/build.ml} et prendra soin de fournir le chemin du module findlib
-requis.  Des drapeaux supplémentaires peuvent être passés via la clef
address@hidden:bulid-flags}.  L'installation se fait avec
address@hidden  Dans ce cas, le paquet @code{opam} doit être
-ajouté au champ @code{native-inputs} de la définition du paquet.
address@hidden address@hidden
address@hidden -u @var{utilisateur}
+Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à la
+place de l'utilisateur actuel.  L'entrée générée dans @file{/etc/passwd}
+dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire
+personnel sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera
+copiée.  @var{utilisateur} n'a pas besoin d'exister sur le système.
 
-Remarquez que la plupart des paquets OCaml supposent qu'ils seront installés
-dans le même répertoire qu'OCaml, ce qui n'est pas ce que nous voulons faire
-dans Guix.  En particulier, ils installeront leurs fichiers @file{.so} dans
-leur propre répertoire de module, ce qui est normalement correct puisqu'il
-s'agit du répertoire du compilateur OCaml.  Dans Guix en revanche, le
-bibliothèques ne peuvent pas y être trouvées et on utilise
address@hidden à la place.  Cette variable pointe vers
address@hidden/ocaml/site-lib/stubslibs} et c'est là où les bibliothèques
address@hidden devraient être installées.
address@hidden defvr
+En plus, tous les chemins partagés ou exposés (voir @code{--share} et
address@hidden respectivement) dont la cible est dans le répertoire
+personnel de l'utilisateur seront remontés relativement à
address@hidden/home/UTILISATEUR} ; cela comprend le montage automatique du
+répertoire de travail actuel.
 
address@hidden {Variable Scheme} python-build-system
-Cette variable est exportée par @code{(guix build-system python)}.  Elle
-implémente la procédure de construction plus ou moins standarde utilisée
-pour les paquets Python, qui consiste à lancer @code{python setup.py build}
-puis @code{python setup.py install --prefix=/gnu/store/@dots{}}.
address@hidden
+# exposera les chemins comme /home/foo/wd, /home/foo/test et /home/foo/target
+cd $HOME/wd
+guix environment --container --user=foo \
+     --expose=$HOME/test \
+     --expose=/tmp/target=$HOME/target
address@hidden example
 
-Pour les paquets qui installent des programmes autonomes dans @code{bin/},
-elle prend soin d'envelopper ces binaires pour que leur variable
-d'environnement @code{PYTHONPATH} pointe vers toutes les bibliothèques
-Python dont ils dépendent.
+Bien que cela limite la fuite de l'identité de l'utilisateur à travers le
+chemin du répertoire personnel et des champs de l'utilisateur, ce n'est
+qu'un composant utile pour une solution d'anonymisation ou de préservation
+de la vie privée — pas une solution en elle-même.
 
-Le paquet Python utilisé pour effectuer la construction peut être spécifié
-avec le paramètre @code{#:python}.  C'est une manière utile de forcer un
-paquet à être construit avec une version particulière de l'interpréteur
-python, ce qui peut être nécessaire si le paquet n'est compatible qu'avec
-une version de l'interpréteur.
address@hidden address@hidden@var{cible}]
+Pour les conteneurs, expose le système de fichiers @var{source} du système
+hôte comme un système de fichiers en lecture seule @var{cible} dans le
+conteneur.  Si @var{cible} n'est pas spécifiée, @var{source} est utilisé
+comme point de montage dans le conteneur.
 
-Par défaut Guix appelle @code{setup.py} sous le contrôle de
address@hidden, comme le fait @command{pip}.  Certains paquets ne sont
-pas compatibles avec setuptools (et pip), ainsi vous pouvez désactiver cela
-en mettant le paramètre @code{#:use-setuptools} à @code{#f}.
address@hidden defvr
+L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
+répertoire personnel de l'utilisateur est accessible en lecture-seule via le
+répertoire @file{/exchange} :
 
address@hidden {Variable Scheme} perl-build-system
-Cette variable est exportée par @code{(guix build-system perl)}.  Elle
-implémente la procédure de construction standarde des paquets Perl, qui
-consiste soit à lancer @code{perl Build.PL --prefix=/gnu/store/@dots{}},
-suivi de @code{Build} et @code{Build install} ; ou à lancer @code{perl
-Makefile.PL PREFIX=/gnu/store/@dots{}}, suivi de @code{make} et @code{make
-install}, en fonction de la présence de @code{Build.PL} ou
address@hidden dans la distribution du paquet.  Le premier a la
-préférence si @code{Build.PL} et @code{Makefile.PL} existent tous deux dans
-la distribution du paquet.  Cette préférence peut être inversée en
-spécifiant @code{#t} pour le paramètre @code{#:make-maker?}.
address@hidden
+guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile
address@hidden example
 
-L'invocation initiale de @code{perl Makefile.PL} ou @code{perl Build.PL}
-passe les drapeaux spécifiés par le paramètre @code{#:make-maker-flags} ou
address@hidden:module-build-flags}, respectivement.
address@hidden address@hidden@var{cible}]
+Pour les conteneurs, partage le système de fichiers @var{source} du système
+hôte comme un système de fichiers en lecture-écriture @var{cible} dans le
+conteneur.  Si @var{cible} n'est pas spécifiée, @var{source} est utilisée
+comme point de montage dans le conteneur.
 
-Le paquet Perl utilisé peut être spécifié avec @code{#:perl}.
address@hidden defvr
+L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
+répertoire personnel de l'utilisateur est accessible en lecture-écriture via
+le répertoire @file{/exchange} :
 
address@hidden {Variable Scheme} r-build-system
-Cette variable est exportée par @code{(guix build-system r)}.  Elle
-implémente la procédure de construction utilisée par les paquets
address@hidden://r-project.org, R} qui consiste à lancer à peine plus que
address@hidden CMD INSTALL --library=/gnu/store/@dots{}} dans un environnement 
où
address@hidden contient les chemins de toutes les entrées R.  Les tests
-sont lancés après l'installation avec la fonction R
address@hidden::testInstalledPackage}.
address@hidden defvr
address@hidden
+guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile
address@hidden example
address@hidden table
 
address@hidden {Variable Scheme} texlive-build-system
-Cette variable est exportée par @code{(guix build-system texlive)}.  Elle
-est utilisée pour construire des paquets TeX en mode batch avec le moteur
-spécifié.  Le système de construction initialise la variable
address@hidden pour trouver tous les fichiers source TeX dans ses entrées.
address@hidden environment} also supports all of the common build options
+that @command{guix build} supports (@pxref{Options de construction communes}) 
as well as
+package transformation options (@pxref{Options de transformation de paquets}).
 
-Par défaut, elle lance @code{luatex} sur tous les fichiers qui se terminent
-par @code{ins}.  Un moteur et un format différent peuvent être spécifiés
-avec l'argument @code{#:tex-format}.  Plusieurs cibles de constructions
-peuvent être indiquées avec l'argument @code{#:build-targets} qui attend une
-liste de noms de fichiers.  Le système de construction ajoute uniquement
address@hidden et @code{texlive-latex-base} (de @code{(gnu packages
-tex)} à la liste des entrées.  Les deux peuvent être remplacés avec les
-arguments @code{#:texlive-bin} et @code{#:texlive-latex-base},
-respectivement.
address@hidden Invoquer guix pack
address@hidden Invoquer @command{guix pack}
 
-Le paramètre @code{#:tex-directory} dit au système de construction où
-installer les fichiers construit dans l'arbre texmf.
address@hidden defvr
+Parfois vous voulez passer un logiciel à des gens qui n'ont pas (encore !)
+la chance d'utiliser Guix.  Vous leur diriez bien de lancer @command{guix
+package -i @var{quelque chose}} mais ce n'est pas possible dans ce cas.
+C'est là que @command{guix pack} entre en jeu.
 
address@hidden {Variable Scheme} ruby-build-system
-Cette variable est exportée par @code{(guix build-system ruby)}.  Elle
-implémenter la procédure de construction RubyGems utilisée par les paquets
-Ruby qui consiste à lancer @code{gem build} suivi de @code{gem install}.
address@hidden Remarque
+Si vous cherchez comment échanger des binaires entre des machines où Guix
+est déjà installé, @pxref{Invoquer guix copy}, @ref{Invoquer guix publish},
+et @ref{Invoquer guix archive}.
address@hidden quotation
 
-Le champ @code{source} d'un paquet qui utilise ce système de construction
-référence le plus souvent une archive gem, puisque c'est le format utilisé
-par les développeurs Ruby quand ils publient leur logiciel.  Le système de
-construction décompresse l'archive gem, éventuellement en corrigeant les
-sources, lance la suite de tests, recompresse la gemme et l'installe.  En
-plus, des répertoires et des archives peuvent être référencés pour permettre
-de construire des gemmes qui n'ont pas été publiées depuis Git ou une
-archive de sources traditionnelle.
address@hidden pack
address@hidden lot
address@hidden lot d'applications
address@hidden lot de logiciels
+La commande @command{guix pack} crée un @dfn{pack} ou @dfn{lot de logiciels}
+: elle crée une archive tar ou un autre type d'archive contenant les
+binaires pour le logiciel qui vous intéresse ainsi que ses dépendances.
+L'archive qui en résulte peut être utilisée sur toutes les machines qui
+n'ont pas Guix et les gens peuvent lancer exactement les mêmes binaires que
+ceux que vous avez avec Guix.  Le pack lui-même est créé d'une manière
+reproductible au bit près, pour que n'importe qui puisse vérifier qu'il
+contient bien les résultats que vous prétendez proposer.
 
-Le paquet Ruby utilisé peut être spécifié avec le paramètre @code{#:ruby}.
-Une liste de drapeaux supplémentaires à passer à la commande @command{gem}
-peut être spécifiée avec le paramètre @code{#:gem-flags}.
address@hidden defvr
+Par exemple, pour créer un lot contenant Guile, Emacs, Geiser et toutes
+leurs dépendances, vous pouvez lancer :
 
address@hidden {Variable Scheme} waf-build-system
-Cette variable est exportée par @code{(guix build-system waf)}.  Elle
-implémente une procédure de construction autour du script @code{waf}.  Les
-phases usuelles — @code{configure}, @code{build} et @code{install} — sont
-implémentée en passant leur nom en argument au script @code{waf}.
address@hidden
+$ guix pack guile emacs geiser
address@hidden
+/gnu/store/@dots{}-pack.tar.gz
address@hidden example
 
-Le script @code{waf} est exécuté par l'interpréteur Python.  Le paquet
-Python utilisé pour lancer le script peut être spécifié avec le paramètre
address@hidden:python}.
address@hidden defvr
+Le résultat ici est une archive tar contenant un répertoire
address@hidden/gnu/store} avec tous les paquets nécessaires.  L'archive qui en
+résulte contient un @dfn{profil} avec les trois paquets qui vous intéressent
+; le profil est le même qui celui qui aurait été créé avec @command{guix
+package -i}.  C'est ce mécanisme qui est utilisé pour créer les archives tar
+binaires indépendantes de Guix (@pxref{Installation binaire}).
 
address@hidden {Variable Scheme} scons-build-system
-Cette variable est exportée par @code{(guix build-system scons)}.  Elle
-implémente la procédure de construction utilisée par l'outil de construction
-SCons.  Ce système de construction lance @code{scons} pour construire le
-paquet, @code{scons test} pour lancer les tests puis @code{scons install}
-pour installer le paquet.
+Les utilisateurs de ce pack devraient lancer
address@hidden/gnu/store/@dots{}-profile/bin/guile} pour lancer Guile, ce qui 
n'est
+pas très pratique.  Pour éviter cela, vous pouvez créer, disons, un lien
+symbolique @file{/opt/gnu/bin} vers le profil :
 
-On peut passer des drapeaux supplémentaires à @code{scons} en les spécifiant
-avec le paramètre @code{#:scons-flags}.  La version de python utilisée pour
-lancer SCons peut être spécifiée en sélectionnant le paquet SCons approprié
-avec le paramètre @code{#:scons}.
address@hidden defvr
address@hidden
+guix pack -S /opt/gnu/bin=bin guile emacs geiser
address@hidden example
 
address@hidden {Variable Scheme} haskell-build-system
-Cette variable est exportée par @code{(guix build-system haskell)}.  Elle
-implémente la procédure de construction Cabal utilisée par les paquets
-Haskell, qui consiste à lancer @code{runhaskell Setup.hs configure
---prefix=/gnu/store/@dots{}} et @code{runhaskell Setup.hs build}.  Plutôt
-que d'installer le paquets en lançant @code{runhaskell Setup.hs install},
-pour éviter d'essayer d'enregistrer les bibliothèques dans le répertoire du
-dépôt en lecture-seule du compilateur, le système de construction utilise
address@hidden Setup.hs copy}, suivi de @code{runhaskell Setup.hs
-register}.  En plus, le système de construction génère la documentation du
-paquet en lançant @code{runhaskell Setup.hs haddock}, à moins que
address@hidden:haddock? #f} ne soit passé.  Des paramètres facultatifs pour 
Haddock
-peuvent être passés à l'aide du paramètre @code{#:haddock-flags}.  Si le
-fichier @code{Setup.hs} n'est pas trouvé, le système de construction
-cherchera @code{Setup.lhs} à la place.
address@hidden
+De cette façon, les utilisateurs peuvent joyeusement taper
address@hidden/opt/gnu/bin/guile} et profiter.
 
-Le compilateur Haskell utilisé peut être spécifié avec le paramètre
address@hidden:haskell} qui a pour valeur par défaut @code{ghc}.
address@hidden defvr
address@hidden binaires repositionnables, avec @command{guix pack}
+Et si le destinataire de votre pack n'a pas les privilèges root sur sa
+machine, et ne peut donc pas le décompresser dans le système de fichiers
+racine ?  Dans ce cas, vous pourriez utiliser l'option @code{--relocatable}
+(voir plus bas).  Cette option produite des @dfn{binaire repositionnables},
+ce qui signifie qu'ils peuvent être placés n'importe où dans l'arborescence
+du système de fichiers : dans l'exemple au-dessus, les utilisateurs peuvent
+décompresser votre archive dans leur répertoire personnel et lancer
+directement @file{./opt/gnu/bin/guile}.
 
address@hidden {Variable Scheme} dub-build-system
-Cette variable est exportée par @code{(guix build-system dub)}.  Elle
-implémente la procédure de construction Dub utilisée par les paquets D qui
-consiste à lancer @code{dub build} et @code{dub run}.  L'installation est
-effectuée en copiant les fichiers manuellement.
address@hidden Docker, construire une image avec guix pack
+Autrement, vous pouvez produire un pack au format d'image Docker avec la
+commande suivante :
 
-Le compilateur D utilisé peut être spécifié avec le paramètre @code{#:ldc}
-qui vaut par défaut @code{ldc}.
address@hidden defvr
address@hidden
+guix pack -f docker guile emacs geiser
address@hidden example
+
address@hidden
+Le résultat est une archive tar qui peut être passée à la commande
address@hidden load}.  Voir la
address@hidden://docs.docker.com/engine/reference/commandline/load/,
+documentation de Docker} pour plus d'informations.
 
address@hidden {Variable Scheme} emacs-build-system
-Cette variable est exportée par @code{(guix build-system emacs)}.  Elle
-implémente une procédure d'installation similaire au système de gestion de
-paquet d'Emacs lui-même (@pxref{Packages,,, emacs, The GNU Emacs Manual}).
address@hidden Singularity, construire une image avec guix pack
address@hidden SquashFS, construire une image avec guix pack
+Autrement, vous pouvez produire une image SquashFS avec la commande suivante
+:
 
-Elle crée d'abord le fichier @address@hidden, puis compile
-tous les fichiers Emacs Lisp en bytecode.  Contrairement au système de
-gestion de paquets d'Emacs, les fichiers de documentation info sont déplacés
-dans le répertoire standard et le fichier @file{dir} est supprimé.  Chaque
-paquet est installé dans son propre répertoire dans
address@hidden/emacs/site-lisp/guix.d}.
address@hidden defvr
address@hidden
+guix pack -f squashfs guile emacs geiser
address@hidden example
 
address@hidden {Variable Scheme} font-build-system
-This variable is exported by @code{(guix build-system font)}.  It implements
-an installation procedure for font packages where upstream provides
-pre-compiled TrueType, OpenType, etc.@: font files that merely need to be
-copied into place.  It copies font files to standard locations in the output
-directory.
address@hidden defvr
address@hidden
+Le résultat est une image de système de fichiers SquashFS qui peut soit être
+montée directement soit être utilisée comme image de conteneur de système de
+fichiers avec l'@uref{http://singularity.lbl.gov, environnement d'exécution
+conteneurisé Singularity}, avec des commandes comme @command{singularity
+shell} ou @command{singularity exec}.
 
address@hidden {Variable Scheme} meson-build-system
-Cette variable est exportée par @code{(guix build-system meson)}.  Elle
-implémente la procédure de construction des paquets qui utilisent
address@hidden://mesonbuild.com, Meson} comme système de construction.
+Diverses options en ligne de commande vous permettent de personnaliser votre
+pack :
 
-Elle ajoute à la fois Meson et @uref{https://ninja-build.org/, Ninja} à
-l'ensemble des entrées, et ils peuvent être modifiés avec les paramètres
address@hidden:meson} et @code{#:ninja} si requis.  Le Meson par défaut est
address@hidden, qui est spécial parce qu'il ne nettoie pas le
address@hidden des binaires et les bibliothèques qu'il installe.
address@hidden @code
address@hidden address@hidden
address@hidden -f @var{format}
+Produire un pack dans le @var{format} donné.
 
-Ce système de construction est une extension de @var{gnu-build-system}, mais
-avec les phases suivantes modifiées pour Meson :
+Les formats disponibles sont :
 
 @table @code
address@hidden tarball
+C'est le format par défaut.  Il produit une archive tar contenant tous les
+binaires et les liens symboliques spécifiés.
 
address@hidden configure
-La phase lance @code{meson} avec les drapeaux spécifiés dans
address@hidden:configure-flags}.  Le drapeau @code{--build-type} est toujours
-initialisé à @code{plain} à moins que quelque chose d'autre ne soit spécifié
-dans @code{#:build-type}.
address@hidden docker
+Cela produit une archive tar qui suit la
address@hidden://github.com/docker/docker/blob/master/image/spec/v1.2.md,
+spécification des images Docker}.
 
address@hidden build
-La phase lance @code{ninja} pour construire le paquet en parallèle par
-défaut, mais cela peut être changé avec @code{#:parallel-build?}.
address@hidden squashfs
+Cela produit une image SquashFS contenant tous les binaires et liens
+symboliques spécifiés, ainsi que des points de montages vides pour les
+systèmes de fichiers virtuels comme procfs.
address@hidden table
 
address@hidden check
-La phase lance @code{ninja} avec la cible spécifiée dans
address@hidden:test-target}, qui est @code{"test"} par défaut.
address@hidden --relocatable
address@hidden -R
+Produit des @dfn{binaires repositionnables} — c.-à-d.@: des binaires que
+vous pouvez placer n'importe où dans l'arborescence du système de fichiers
+et les lancer à partir de là.  Par exemple, si vous créez un pack contenant
+Bash avec :
 
address@hidden install
-La phase lance @code{ninja install} et ne peut pas être changée.
address@hidden table
address@hidden
+guix pack -R -S /mybin=bin bash
address@hidden example
 
-En dehors de cela, le système de construction ajoute aussi la phase suivante
-:
address@hidden
+...@: you can copy that pack to a machine that lacks Guix, and from your
+home directory as a normal user, run:
 
address@hidden @code
address@hidden
+tar xf pack.tar.gz
+./mybin/sh
address@hidden example
 
address@hidden fix-runpath
-Cette phase s'assure que tous les binaire peuvent trouver les bibliothèques
-dont ils ont besoin.  Elle cherche les bibliothèques requises dans les
-sous-répertoires du paquet en construction et les ajoute au @code{RUNPATH}
-là où c'est nécessaire.  Elle supprime aussi les références aux
-bibliothèques laissées là par la phase de construction par
address@hidden comme les dépendances des tests, qui ne sont pas
-vraiment requises pour le programme.
address@hidden
+Dans ce shell, si vous tapez @code{ls /gnu/store}, vous remarquerez que
address@hidden/gnu/store} apparaît et contient toutes les dépendances de
address@hidden, même si la machine n'a pas du tout de @file{/gnu/store} !
+C'est sans doute la manière la plus simple de déployer du logiciel construit
+avec Guix sur une machine sans Guix.
 
address@hidden glib-or-gtk-wrap
-Cette phase est la phase fournie par @code{glib-or-gtk-build-system} et
-n'est pas activée par défaut.  Elle peut l'être avec @code{#:glib-or-gtk?}.
+Il y a un inconvénient cependant : cette technique repose sur les
address@hidden de noms} du noyau Linux qui permettent à des utilisateurs
+non-privilégiés de monter des systèmes de fichiers ou de changer de racine.
+Les anciennes versions de Linux ne le supportaient pas et certaines
+distributions GNU/Linux les désactivent ; sur ces système, les programme du
+pack @emph{ne fonctionneront pas} à moins qu'ils ne soient décompressés à la
+racine du système de fichiers.
 
address@hidden glib-or-gtk-compile-schemas
-Cette phase est la phase fournie par @code{glib-or-gtk-build-system} et
-n'est pas activée par défaut.  Elle peut l'être avec @code{#:glib-or-gtk?}.
address@hidden table
address@hidden defvr
address@hidden address@hidden
address@hidden -e @var{expr}
+Considérer le paquet évalué par @var{expr}.
 
-Enfin, pour les paquets qui n'ont pas besoin de choses sophistiquées, un
-système de construction « trivial » est disponible.  Il est trivial dans le
-sens où il ne fournit en gros aucun support : il n'apporte pas de dépendance
-implicite, et n'a pas de notion de phase de construction.
+Cela a le même but que l'option de même nom de @command{guix build}
+(@pxref{Options de construction supplémentaires, @code{--expression} dans 
@command{guix
+build}}).
 
address@hidden {Variable Scheme} trivial-build-system
-Cette variable est exportée par @code{(guix build-system trivial)}.
address@hidden address@hidden
address@hidden -m @var{fichier}
+Utiliser les paquets contenus dans l'objet manifeste renvoyé par le code
+Scheme dans @var{fichier}
 
-Ce système de construction requiert un argument @code{#:builder}.  Cet
-argument doit être une expression Scheme qui construit la sortie du paquet —
-comme avec @code{build-expression->derivation} (@pxref{Dérivations,
address@hidden>derivation}}).
address@hidden defvr
+Elle a un but similaire à l'option de même nom dans @command{guix package}
+(@pxref{profile-manifest, @option{--manifest}}) et utilise les mêmes
+fichiers manifeste.  Ils vous permettent de définir une collection de
+paquets une fois et de l'utiliser aussi bien pour créer des profils que pour
+créer des archives pour des machines qui n'ont pas Guix d'installé.
+Remarquez que vous pouvez spécifier @emph{soit} un fichier manifeste,
address@hidden une liste de paquet, mais pas les deux.
 
address@hidden Le dépôt
address@hidden Le dépôt
address@hidden address@hidden
address@hidden -s @var{système}
+Tenter de construire pour le @var{système} — p.@: ex.@: @code{i686-linux} —
+plutôt que pour le type de système de l'hôte de construction.
 
address@hidden dépôt
address@hidden éléments du dépôt
address@hidden chemins dans le dépôt
address@hidden address@hidden
address@hidden compilation croisée
+Effectuer une compilation croisée pour @var{triplet} qui doit être un
+triplet GNU valide, comme @code{"mips64el-linux-gnu"} (@pxref{Specifying
+target triplets, GNU configuration triplets,, autoconf, Autoconf}).
 
-Conceptuellement, le @dfn{dépôt} est l'endroit où les dérivations qui ont
-bien été construites sont stockées — par défaut, @file{/gnu/store}.  Les
-sous-répertoires dans le dépôt s'appellent des @dfn{éléments du dépôt} ou
-parfois des @dfn{chemins du dépôt}.  Le dépôt a une base de données associée
-qui contient des informations comme les chemins du dépôt auxquels se
-réfèrent chaque chemin du dépôt et la liste des éléments du dépôt
address@hidden — les résultats d'une construction réussie.  Cette base de
-données se trouve dans @address@hidden/guix/db} où
address@hidden est le répertoire d'états spécifié @i{via} @option
-{--localstatedir} à la configuration, typiquement @file{/var}.
address@hidden address@hidden
address@hidden -C @var{outil}
+Compresser l'archive résultante avec @var{outil} — l'un des outils parmi
address@hidden, @code{xz}, @code{lzip} ou @code{none} pour aucune compression.
 
-C'est @emph{toujours} le démon qui accède au dépôt pour le compte de ses
-clients (@pxref{Invoquer guix-daemon}).  Pour manipuler le dépôt, les
-clients se connectent au démon par un socket Unix-domain, envoient une
-requête dessus et lisent le résultat — ce sont des appels de procédures
-distantes, ou RPC.
address@hidden address@hidden
address@hidden -S @var{spec}
+Ajouter les liens symboliques spécifiés par @var{spec} dans le pack.  Cette
+option peut apparaître plusieurs fois.
 
address@hidden Remarque
-Les utilisateurs ne doivent @emph{jamais} modifier les fichiers dans
address@hidden/gnu/store} directement.  Cela entraînerait des incohérences et
-casserait l'hypothèse d'immutabilité du modèle fonctionnel de Guix
-(@pxref{Introduction}).
address@hidden a la forme @address@hidden@var{cible}}, où @var{source} est
+le lien symbolique qui sera créé et @var{cible} est la cible du lien.
 
address@hidden guix gc, @command{guix gc --verify}}, pour des informations
-sur la manière de vérifier l'intégrité du dépôt et d'essayer de réparer des
-modifications accidentelles.
address@hidden quotation
+Par exemple, @code{-S /opt/gnu/bin=bin} crée un lien symbolique
address@hidden/opt/gnu/bin} qui pointe vers le sous-répertoire @file{bin} du 
profil.
 
-Le module @code{(guix store)} fournit des procédures pour se connecter au
-démon et pour effectuer des RPC.  Elles sont décrites plus bas.  Par défaut,
address@hidden, et donc toutes les commandes @command{guix} se
-connectent au démon local ou à l'URI spécifiée par la variable
-d'environnement @code{GUIX_DAEMON_SOCKET}.
address@hidden --localstatedir
address@hidden address@hidden
+Inclus le « répertoire d'état local », @file{/var/guix}, dans le lot qui en
+résulte, et notamment le profil
address@hidden/var/guix/profiles/per-user/root/@var{nom}} — par défaut 
@var{nom} est
address@hidden, ce qui correspond à @file{~root/.guix-profile}.
 
address@hidden {Variable d'environnement} GUIX_DAEMON_SOCKET
-Lorsqu'elle est initialisée, la valeur de cette variable devrait être un nom
-de fichier ou une URI qui désigne l'extrémité du démon.  Lorsque c'est un
-nom de fichier, il dénote un socket Unix-domain où se connecter.  En plus
-des noms de fichiers, les schémas d'URI supportés sont :
address@hidden/var/guix} contient la base de données du dépôt (@pxref{Le dépôt})
+ainsi que les racines du ramasse-miettes (@pxref{Invoquer guix gc}).  Le
+fournir dans le pack signifie que le dépôt et « complet » et gérable par
+Guix ; ne pas le fournir dans le pack signifie que le dépôt est « mort » :
+aucun élément ne peut être ajouté ni enlevé après l'extraction du pack.
 
address@hidden @code
address@hidden file
address@hidden unix
-Pour les sockets Unix-domain.  @code{file:///var/guix/daemon-socket/socket}
-est équivalent à @file{/var/guix/daemon-socket/socket}.
+Un cas d'utilisation est l'archive binaire indépendante de Guix
+(@pxref{Installation binaire}).
 
address@hidden guix
address@hidden démon, accès distant
address@hidden accès distant au démon
address@hidden démon, paramètres de grappes
address@hidden grappes, paramètres du démon
-Ces URI dénotent des connexions par TCP/IP, sans chiffrement ni
-authentification de l'hôte distant.  L'URI doit spécifier le nom d'hôte et
-éventuellement un numéro de port (par défaut 44146) :
address@hidden --bootstrap
+Utiliser les programmes d'amorçage pour construire le pack.  Cette option
+n'est utile que pour les développeurs de Guix.
address@hidden table
 
address@hidden
-guix://master.guix.example.org:1234
address@hidden example
+En plus, @command{guix pack} supporte toutes les options de construction
+communes (@pxref{Options de construction communes}) et toutes les options de
+transformation de paquets (@pxref{Options de transformation de paquets}).
+
+
address@hidden 
*********************************************************************
address@hidden Interface de programmation
address@hidden Interface de programmation
+
+GNU Guix fournit diverses interface de programmation Scheme (API) qui pour
+définir, construire et faire des requêtes sur des paquets.  La première
+interface permet aux utilisateurs d'écrire des définitions de paquets de
+haut-niveau.  Ces définitions se réfèrent à des concepts de création de
+paquets familiers, comme le nom et la version du paquet, son système de
+construction et ses dépendances.  Ces définitions peuvent ensuite être
+transformées en actions concrètes lors de la construction.
 
-Ce paramétrage est adapté aux réseaux locaux, comme dans le cas de grappes
-de serveurs, où seuls des noms de confiance peuvent se connecter au démon de
-construction sur @code{master.guix.example.org}.
+Les actions de construction sont effectuées par le démon Guix, pour le
+compte des utilisateurs.  Dans un environnement standard, le démon possède
+les droits en écriture sur le dépôt — le répertoire @file{/gnu/store} — mais
+pas les utilisateurs.  La configuration recommandée permet aussi au démon
+d'effectuer la construction dans des chroots, avec un utilisateur de
+construction spécifique pour minimiser les interférences avec le reste du
+système.
 
-L'option @code{--listen} de @command{guix-daemon} peut être utilisé pour lui
-dire d'écouter des connexions TCP (@pxref{Invoquer guix-daemon,
address@hidden).
address@hidden dérivation
+Il y a des API de plus bas niveau pour interagir avec le démon et le dépôt.
+Pour demander au démon d'effectuer une action de construction, les
+utilisateurs lui donnent en fait une @dfn{dérivation}.  Une dérivation est
+une représentation à bas-niveau des actions de construction à entreprendre
+et l'environnement dans lequel elles devraient avoir lieu — les dérivations
+sont aux définitions de paquets ce que l'assembleur est aux programmes C.
+Le terme de « dérivation » vient du fait que les résultats de la
+construction en @emph{dérivent}.
 
address@hidden ssh
address@hidden accès SSH au démon de construction
-Ces URI vous permettent de vous connecter au démon à distance à travers
address@hidden fonctionnalité requiert Guile-SSH
-(@pxref{Prérequis}).}.
+Ce chapitre décrit toutes ces API tour à tour, à partir des définitions de
+paquets à haut-niveau.
 
address@hidden
-ssh://charlie@@guix.example.org:22
address@hidden example
address@hidden
+* Modules de paquets::       Les paquets du point de vu du programmeur.
+* Définition des paquets::  Définir de nouveaux paquets.
+* Systèmes de construction::  Spécifier comment construire les paquets.
+* Le dépôt::               Manipuler le dépôt de paquets.
+* Dérivations::             Interface de bas-niveau avec les dérivations 
+                               de paquets.
+* La monade du dépôt::     Interface purement fonctionnelle avec le 
+                               dépôt.
+* G-Expressions::            Manipuler les expressions de construction.
+* Invoquer guix repl::       S'amuser avec Guix de manière interactive.
address@hidden menu
 
-Comme pour @command{guix copy}, les fichiers de configuration du client
-OpenSSH sont respectés (@pxref{Invoquer guix copy}).
address@hidden table
address@hidden Modules de paquets
address@hidden Modules de paquets
 
-Des schémas d'URI supplémentaires pourraient être supportés dans le futur.
+D'un point de vue programmatique, les définitions de paquets de la
+distribution GNU sont fournies par des modules Guile dans l'espace de noms
address@hidden(gnu packages @dots{})address@hidden que les paquets sous
+l'espace de nom @code{(gnu packages @dots{})} ne sont pas nécessairement des
+« paquets GNU ».  Le nom de ce module suit la convention de nommage usuelle
+de Guile : @code{gnu} signifie que ces modules sont distribués dans le
+système GNU, et @code{packages} identifie les modules qui définissent les
+paquets.} (@pxref{Modules, Guile modules,, guile, GNU Guile Reference
+Manual}).  Par exemple, le module @code{(gnu packages emacs)} exporte une
+variable nommée @code{emacs}, qui est liée à un objet @code{<package>}
+(@pxref{Définition des paquets}).
+
+L'espace de nom @code{(gnu packages @dots{})} est automatiquement scanné par
+les outils en ligne de commande.  Par exemple, lorsque vous lancez
address@hidden package -i emacs}, tous les modules @code{(gnu packages @dots{})}
+sont scannés jusqu'à en trouver un qui exporte un objet de paquet dont le
+nom est @code{emacs}.  Cette capacité à chercher des paquets est implémentée
+dans le module @code{(gnu packages)}.
 
address@hidden XXX: Remove this note when the protocol incurs fewer round trips
address@hidden and when (guix derivations) no longer relies on file system 
access.
address@hidden Remarque
-La capacité de se connecter à un démon de construction distant est considéré
-comme expérimental à la version @value{VERSION}.  Contactez-nous pour
-partager vos problèmes ou des suggestions que vous pourriez avoir
-(@pxref{Contribuer}).
address@hidden quotation
address@hidden defvr
address@hidden personnalisation, des paquets
address@hidden chemin de recherche des modules de paquets
+Les utilisateurs peuvent stocker des définitions dans des modules avec des
+noms différents — p.@: ex.@: @code{(my-packages emacs)address@hidden
+que le nom de fichier et de module doivent être identiques.  Par exemple, le
+module @code{(my-packages emacs)} doit être stocké dans un fichier
address@hidden/emacs.scm} relativement au chemin de chargement spécifié
+avec @option{--load-path} ou @code{GUIX_PACKAGE_PATH}.  @xref{Modules and
+the File System,,, guile, GNU Guile Reference Manual} pour plus de
+détails}.  Il y a deux manières de rendre ces définitions visibles aux
+interfaces utilisateurs :
 
address@hidden {Procédure Scheme} open-connection address@hidden 
[#:reserve-space? #t]
-Se connecte au démon à travers le socket Unix-domain à @var{uri} (une chaîne
-de caractères).  Lorsque @var{reserve-space?} est vrai, cela demande de
-réserver un peu de place supplémentaire sur le système de fichiers pour que
-le ramasse-miette puisse opérer au cas où le disque serait plein.  Renvoie
-un objet serveur.
address@hidden
address@hidden
+En ajoutant le répertoire contenant vos modules de paquets au chemin de
+recherche avec le drapeau @code{-L} de @command{guix package} et des autres
+commandes (@pxref{Options de construction communes}) ou en indiquant la 
variable
+d'environnement @code{GUIX_PACKAGE_PATH} décrite plus bas.
 
address@hidden a pour valeur par défaut @var{%default-socket-path}, qui est
-l'emplacement normal en fonction des options données à @command{configure}.
address@hidden deffn
address@hidden
+En définissant un @dfn{canal} et en configurant @command{guix pull} pour
+qu'il l'utilise.  Un canal est essentiellement un dépôt Git contenant des
+modules de paquets.  @xref{Canaux}, pour plus d'informations sur comment
+définir et utiliser des canaux.
address@hidden enumerate
 
address@hidden {Procédure Scheme} close-connection @var{server}
-Ferme la connexion au @var{serveur}.
address@hidden deffn
address@hidden fonctionne comme les autres variables de chemins de
+recherche :
 
address@hidden {Variable Scheme} current-build-output-port
-Cette variable est liée à un paramètre SRFI-39, qui se réfère au port où les
-journaux de construction et d'erreur envoyés par le démon devraient être
-écrits.
address@hidden {Variable d'environnement} GUIX_PACKAGE_PATH
+C'est une liste séparée par des deux-points de répertoires dans lesquels
+trouver des modules de paquets supplémentaires.  Les répertoires listés dans
+cette variable sont prioritaires par rapport aux paquets de la distribution.
 @end defvr
 
-Les procédures qui font des RPC prennent toutes un objet serveur comme
-premier argument.
+La distribution est entièrement @dfn{bootstrappée} et @dfn{auto-contenue} :
+chaque paquet est construit uniquement à partir d'autres paquets de la
+distribution.  La racine de ce graphe de dépendance est un petit ensemble de
address@hidden de bootstrap} fournis par le module @code{(gnu packages
+bootstrap)}.  Pour plus d'informations sur le bootstrap,
address@hidden
 
address@hidden {Procédure Scheme} valid-path? @var{server} @var{path}
address@hidden éléments du dépôt invalides
-Renvoie @code{#t} lorsque @var{path} désigne un élément du dépôt valide et
address@hidden sinon (un élément invalide peut exister sur le disque mais rester
-invalide, par exemple parce que c'est le résultat d'une construction annulée
-ou échouée).
address@hidden Définition des paquets
address@hidden Définition des paquets
 
-Une condition @code{&nix-protocol-error} est levée si @var{path} n'est pas
-préfixée par le répertoire du dépôt (@file{/gnu/store}).
address@hidden deffn
+L'interface de haut-niveau pour les définitions de paquets est implémentée
+dans les modules @code{(guix packages)} et @code{(guix build-system)}.  Par
+exemple, la définition du paquet, ou la @dfn{recette}, du paquet GNU Hello
+ressemble à cela :
 
address@hidden {Procédure Scheme} add-text-to-store @var{server} @var{name} 
@var{text} address@hidden
-Ajoute @var{text} dans le fichier @var{name} dans le dépôt et renvoie son
-chemin.  @var{references} est la liste des chemins du dépôt référencés par
-le chemin du dépôt qui en résulte.
address@hidden deffn
address@hidden
+(define-module (gnu packages hello)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages gawk))
 
address@hidden {Procédure Scheme} build-derivations @var{server} 
@var{derivations}
-Construit @var{derivaton} (ne liste d'objets @code{<derivation>} ou de
-chemins de dérivations) et retourne quand le travailleur a fini de les
-construire.  Renvoie @code{#t} en cas de réussite.
address@hidden deffn
+(define-public hello
+  (package
+    (name "hello")
+    (version "2.10")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/hello/hello-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))
+    (build-system gnu-build-system)
+    (arguments '(#:configure-flags '("--enable-silent-rules")))
+    (inputs `(("gawk" ,gawk)))
+    (synopsis "Hello, GNU world: An example GNU package")
+    (description "Guess what GNU Hello prints!")
+    (home-page "http://www.gnu.org/software/hello/";)
+    (license gpl3+)))
address@hidden example
 
-Remarque que le module @code{(guix monads)} fournit une monad ainsi que des
-version monadiques des procédures précédentes, avec le but de rendre plus
-facile de travailler avec le code qui accède au dépôt (@pxref{La monad du 
dépôt}).
address@hidden
+Sans être un expert Scheme, le lecteur peut comprendre la signification des
+différents champs présents.  Cette expression lie la variable @code{hello} à
+un objet @code{<package>}, qui est essentiellement un enregistrement
+(@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}).  On
+peut inspecter cet objet de paquet avec les procédures qui se trouvent dans
+le module @code{(guix packages)} ; par exemple, @code{(package-name hello)}
+renvoie — oh surprise ! — @code{"hello"}.
 
address@hidden FIXME
address@hidden section est actuellement incomplète.}
+Avec un peu de chance, vous pourrez importer tout ou partie de la définition
+du paquet qui vous intéresse depuis un autre répertoire avec la commande
address@hidden import} (@pxref{Invoquer guix import}).
 
address@hidden Dérivations
address@hidden Dérivations
+Dans l'exemple précédent, @var{hello} est défini dans un module à part,
address@hidden(gnu packages hello)}.  Techniquement, cela n'est pas strictement
+nécessaire, mais c'est pratique : tous les paquets définis dans des modules
+sous @code{(gnu packages @dots{})} sont automatiquement connus des outils en
+ligne de commande (@pxref{Modules de paquets}).
 
address@hidden dérivations
-Les actions de construction à bas-niveau et l'environnement dans lequel
-elles sont effectuées sont représentés par des @dfn{dérivations}.  Une
-dérivation contient cet ensemble d'informations :
+Il y a quelques points à remarquer dans la définition de paquet précédente :
 
 @itemize
 @item
-Les sorties de la dérivation — les dérivations produisent au moins un
-fichier ou répertoire dans le dépôt, mais peuvent en produire plus.
+Le champ @code{source} du paquet est un objet @code{<origin>} 
(@pxref{Référence d'origine}, pour la référence complète).  Ici, on utilise la 
méthode
address@hidden de @code{(guix download)}, ce qui signifie que la source
+est un fichier à télécharger par FTP ou HTTP.
 
address@hidden
-Les entrées de la dérivation, qui peuvent être d'autres dérivations ou des
-fichiers dans le dépôt (correctifs, scripts de construction, etc).
+Le préfixe @code{mirror://gnu} demande à @code{url-fetch} d'utiliser l'un
+des miroirs GNU définis dans @code{(guix download)}.
 
address@hidden
-Le type de système ciblé par la dérivation — p.ex.@: @code{x86_64-linux}.
+Le champ @code{sha256} spécifie le hash SHA256 attendu pour le fichier
+téléchargé.  Il est requis et permet à Guix de vérifier l'intégrité du
+fichier.  La forme @code{(base32 @dots{})} introduit a représentation en
+base32 du hash.  Vous pouvez obtenir cette information avec @code{guix
+download} (@pxref{Invoquer guix download}) et @code{guix hash}
+(@pxref{Invoquer guix hash}).
 
address@hidden
-Le nom de fichier d'un script de construction dans le dépôt avec les
-arguments à lui passer.
address@hidden correctifs
+Lorsque cela est requis, la forme @code{origin} peut aussi avec un champ
address@hidden qui liste les correctifs à appliquer et un champ
address@hidden qui donne une expression Scheme pour modifier le code source.
 
 @item
-Une liste de variables d'environnement à définir.
address@hidden Système de construction GNU
+Le champ @code{build-system} spécifie la procédure pour construire le paquet
+(@pxref{Systèmes de construction}).  Ici, @var{gnu-build-system} représente le 
système
+de construction GNU familier, où les paquets peuvent être configurés,
+construits et installés avec la séquence @code{./configure && make && make
+check && make install} habituelle.
 
address@hidden itemize
address@hidden
+Le champ @code{arguments} spécifie des options pour le système de
+construction (@pxref{Systèmes de construction}).  Ici il est interprété par
address@hidden comme une demande de lancer @file{configure} avec le
+drapeau @code{--enable-silent-rules}.
 
address@hidden chemin de dérivation
-Les dérivations permettent aux client du démon de communiquer des actions de
-construction dans le dépôt.  Elles existent sous deux formes : en tant que
-représentation en mémoire, à la fois côté client et démon, et en tant que
-fichiers dans le dépôt dont le nom fini par @code{.drv} — on dit que ce sont
-des @dfn{chemins de dérivations}.  Les chemins de dérivations peuvent être
-passés à la procédure @code{build-derivations} pour effectuer les actions de
-construction qu'ils prescrivent (@pxref{Le dépôt}).
address@hidden quote
address@hidden quoting
address@hidden '
address@hidden quote
+Que sont ces apostrophes (@code{'}) ?  C'est de la syntaxe Scheme pour
+introduire une liste ; @code{'} est synonyme de la fonction @code{quote}.
address@hidden Syntax, quoting,, guile, GNU Guile Reference Manual}, pour
+des détails.  Ice la valeur du champ @code{arguments} est une liste
+d'arguments passés au système de construction plus tard, comme avec
address@hidden  (@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile
+Reference Manual}).
 
address@hidden dérivations à sortie fixe
-Des opérations comme le téléchargement de fichiers et la récupération de
-sources gérés par un logiciel de contrôle de version pour lesquels le hash
-du contenu est connu à l'avance sont modélisés par des @dfn{dérivations à
-sortie fixe}.  Contrairement aux dérivation habituelles, les sorties d'une
-dérivation à sortie fixe sont indépendantes de ses entrées — p.ex.@: un code
-source téléchargé produit le même résultat quelque soit la méthode de
-téléchargement utilisée.
+La séquence dièse-deux-points (@code{#:}) définie un @dfn{mot-clef} Scheme
+(@pxref{Keywords,,, guile, GNU Guile Reference Manual}), et
address@hidden:configure-flags} est un mot-clef utilisé pour passer un argument 
au
+système de construction (@pxref{Coding With Keywords,,, guile, GNU Guile
+Reference Manual}).
 
-Le module @code{(guix derivations)} fournit une représentation des
-dérivations comme des objets Scheme, avec des procédures pour créer et
-manipuler des dérivations.  La primitive de plus bas-niveau pour créer une
-dérivation est la procédure @code{derivation} :
address@hidden
+Le champ @code{inputs} spécifie les entrées du processus de construction —
+c.-à-d.@: les dépendances à la construction ou à l'exécution du paquet.  Ici
+on définie une entrée nommée @code{"gawk"} dont la valeur est la variable
address@hidden ; @var{gawk} est elle-même liée à un objet @code{<package>}.
 
address@hidden {Procédure Scheme} derivation @var{store} @var{name} 
@var{builder} @
-  @var{args} [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @
-[#:recursive? #f] [#:inputs '()] [#:env-vars '()] @
-[#:system (%current-system)] [#:references-graphs #f] @
-[#:allowed-references #f] [#:disallowed-references #f] @
-[#:leaked-env-vars #f] [#:local-build? #f] @
-[#:substitutable? #t] [#:properties '()]
-Construit une dérivation avec les arguments donnés et renvoie l'objet
address@hidden<derivation>} obtenu.
address@hidden accent grave (quasiquote)
address@hidden `
address@hidden quasiquote
address@hidden virgule (unquote)
address@hidden ,
address@hidden unquote
address@hidden ,@@
address@hidden unquote-splicing
+De nouveau, @code{`} (un accent grave, synonyme de la fonction
address@hidden) nous permet d'introduire une liste littérale dans le
+champ @code{inputs}, tandis que @code{,} (une virgule, synonyme de la
+fonction @code{unquote}) nous permet d'insérer une valeur dans cette liste
+(@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual}).
 
-Lorsque @var{hash} et @var{hash-algo} sont donnés, une @dfn{dérivation à
-sortie fixe} est créée — c.-à-d.@: une dérivation dont le résultat est connu
-à l'avance, comme dans le cas du téléchargement d'un fichier.  Si, en plus,
address@hidden est vrai, alors la sortie fixe peut être un fichier
-exécutable ou un répertoire et @var{hash} doit être le hash d'une archive
-contenant la sortie.
+Remarquez que GCC, Coreutils, Bash et les autres outils essentiels n'ont pas
+besoin d'être spécifiés en tant qu'entrées ici.  À la place, le
address@hidden est en charge de s'assurer qu'ils sont présents
+(@pxref{Systèmes de construction}).
 
-Lorsque @var{references-graphs} est vrai, il doit s'agir d'une liste de
-paires de noms de fichiers et de chemins du dépôt.  Dans ce cas, le graphe
-des références de chaque chemin du dépôt est exporté dans l'environnement de
-construction dans le fichier correspondant, dans un simple format texte.
+Cependant, toutes les autres dépendances doivent être spécifiées dans le
+champ @code{inputs}.  Toute dépendance qui ne serait pas spécifiée ici sera
+simplement indisponible pour le processus de construction, ce qui peut mener
+à un échec de la construction.
address@hidden itemize
 
-Lorsque @var{allowed-references} est vrai, il doit s'agir d'une liste
-d'éléments du dépôt ou de sorties auxquelles la sortie de la dérivations
-peut faire référence.  De même, @var{disallowed-references}, si vrai, doit
-être une liste de choses que la sortie ne doit @emph{pas} référencer.
address@hidden de paquet}, pour une description complète des champs
+possibles.
 
-Lorsque @var{leaked-env-vars} est vrai, il doit s'agir d'une liste de
-chaînes de caractères qui désignent les variables d'environnements qui
-peuvent « fuiter » de l'environnement du démon dans l'environnement de
-construction.  Ce n'est possible que pour les dérivations à sortie fixe —
-c.-à-d.@: lorsque @var{hash} est vrai.  L'utilisation principale est de
-permettre à des variables comme @code{http_proxy} d'être passées aux
-dérivations qui téléchargent des fichiers.
+Lorsqu'une définition de paquet est en place, le paquet peut enfin être
+construit avec l'outil en ligne de commande @code{guix build}
+(@pxref{Invoquer guix build}), pour résoudre les échecs de construction que
+vous pourriez rencontrer (@pxref{Débogage des échecs de construction}).  Vous 
pouvez
+aisément revenir à la définition du paquet avec la commande @command{guix
+edit} (@pxref{Invoquer guix edit}).  @xref{Consignes d'empaquetage}, pour plus
+d'informations sur la manière de tester des définitions de paquets et
address@hidden guix lint}, pour des informations sur la manière de vérifier
+que la définition respecte les conventions de style.
address@hidden GUIX_PACKAGE_PATH
+Enfin, @pxref{Canaux} pour des informations sur la manière d'étendre la
+distribution en ajoutant vos propres définitions de paquets dans un « canal
+».
 
-Lorsque @var{local-build?} est vrai, déclare que la dérivation n'est pas un
-bon candidat pour le déchargement et devrait plutôt être construit
-localement (@pxref{Réglages du délestage du démon}).  C'est le cas des petites
-dérivations où le coût du transfert de données est plus important que les
-bénéfices.
+Finalement, la mise à jour de la définition du paquet à une nouvelle version
+amont peut en partie s'automatiser avec la commande @command{guix refresh}
+(@pxref{Invoquer guix refresh}).
 
-Lorsque que @var{substitutable?} est faux, déclare que les substituts de la
-sortie de la dérivation ne devraient pas être utilisés
-(@pxref{Substituts}). Cela est utile par exemple pour construire des paquets
-qui utilisent des détails du jeu d'instruction du CPU hôte.
+Sous le capot, une dérivation qui correspond à un objet @code{<package>} est
+d'abord calculé par la procédure @code{package-derivation}.  Cette
+dérivation est stockée dans un fichier @code{.drv} dans @file{/gnu/store}.
+Les actions de construction qu'il prescrit peuvent ensuite être réalisées
+par la procédure @code{build-derivation} (@pxref{Le dépôt}).
 
address@hidden doit être une liste d'association décrivant les «
-propriétés » de la dérivation.  Elle est gardée telle-quelle, sans être
-interprétée, dans la dérivation.
address@hidden {Procédure Scheme} package-derivation @var{store} @var{package} 
address@hidden
+Renvoie l'objet @code{<derivation>} du @var{paquet} pour le @var{système}
+(@pxref{Dérivations}).
+
address@hidden doit être un objet @code{<package>} valide et @var{système} une
+chaîne indiquant le type de système cible — p.ex.@: @code{"x86_64-linux"}
+pour un système GNU x86_64 basé sur Linux.  @var{dépôt} doit être une
+connexion au démon, qui opère sur les dépôt (@pxref{Le dépôt}).
 @end deffn
 
 @noindent
-Voici un exemple avec un script shell comme constructeur, en supposant que
address@hidden est une connexion ouverte au démon et @var{bash} pointe vers un
-exécutable Bash dans le dépôt :
address@hidden compilation croisée
+De manière identique, il est possible de calculer une dérivation qui
+effectue une compilation croisée d'un paquet pour un autre système :
 
address@hidden
-(use-modules (guix utils)
-             (guix store)
-             (guix derivations))
address@hidden {Procédure Scheme} package-cross-derivation @var{store} @
+            @var{paquet} @var{cible} address@hidden renvoie l'objet 
@code{<derivation>}
+du @var{paquet} construit depuis @var{système} pour @var{cible}.
 
-(let ((builder   ; ajoute le script Bash au dépôt
-        (add-text-to-store store "my-builder.sh"
-                           "echo hello world > $out\n" '())))
-  (derivation store "foo"
-              bash `("-e" ,builder)
-              #:inputs `((,bash) (,builder))
-              #:env-vars '(("HOME" . "/homeless"))))
address@hidden #<derivation /gnu/store/@dots{}-foo.drv => 
/gnu/store/@dots{}-foo>
address@hidden lisp
address@hidden doit être un triplet GNU valide indiquant le matériel cible et
+le système d'exploitation, comme @code{"mips64el-linux-gnu"}
+(@pxref{Configuration Names, GNU configuration triplets,, configure, GNU
+Configure and Build System}).
address@hidden deffn
 
-Comme on pourrait s'en douter, cette primitive est difficile à utiliser
-directement.  Une meilleure approche est d'écrire les scripts de
-construction en Scheme, bien sur !  Le mieux à faire pour cela est d'écrire
-le code de construction comme une « G-expression » et de la passer à
address@hidden>derivation}.  Pour plus d'informations, @pxref{G-Expressions}.
address@hidden transformations de paquets
address@hidden réécriture d'entrées
address@hidden réécriture de l'arbre des dépendances
+On peut manipuler les paquets de manière arbitraire.  Une transformation
+utile est par exemple la @dfn{réécriture d'entrées} où l'arbre des
+dépendances d'un paquet est réécrit en replaçant des entrées spécifiques par
+d'autres :
 
-Il fut un temps où @code{gexp->derivation} n'existait pas et où construire
-une dérivation donc le code de construction était écrit en Scheme se faisait
-avec @code{build-expression->derivation}, documenté plus bas.  Cette
-procédure est maintenant obsolète, remplacée par @code{gexp->derivation} qui
-est meilleure.
address@hidden {Procédure Scheme} package-input-rewriting @var{replacements} @
+           address@hidden Renvoie une procédure qui, lorsqu'on lui donne un
+paquet, remplace des dépendances directes et indirectes (mais pas ses
+entrées implicites) en fonction de @var{remplacements}.  @var{remplacements}
+est une liste de paires de paquets ; le premier élément de chaque pair est
+le paquet à remplacer, le second son remplaçant.
 
address@hidden {Procédure Scheme} build-expression->derivation @var{store} @
-       @var{name} @var{exp} @
-[#:system (%current-system)] [#:inputs '()] @
-[#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @
-[#:recursive? #f] [#:env-vars '()] [#:modules '()] @
-[#:references-graphs #f] [#:allowed-references #f] @
-[#:disallowed-references #f] @
-[#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f]
-Renvoie une dérivation qui exécute l'expression Scheme @var{exp} comme un
-constructeur pour la dérivation @var{name}.  @var{inputs} doit être une
-liste de tuples @code{(name drv-path sub-drv)} ; lorsque @var{sub-drv} est
-omis, @code{"out"} est utilisé.  @var{modules} est une liste de noms de
-modules Guile du chemin de recherche actuel qui seront copiés dans le dépôt,
-compilés et rendus disponibles dans le chemin de chargement pendant
-l'exécution de @var{exp} — p.@: ex.@: @code{((guix build utils) (guix build
-gnu-build-system))}.
+De manière facultative, @var{nom-réécrit} est une procédure à un argument
+qui prend le nom d'un paquet et renvoie son nouveau nom après l'avoir
+réécrit.
address@hidden deffn
 
address@hidden est évaluée dans une environnement où @code{%outputs} est lié à
-une liste de paires de sortie/chemin, et où @code{%build-inputs} est lié à
-une liste de paires de chaînes de caractères et de chemin de sortie
-construite à partir de @var{inputs}.  Éventuellement, @var{env-vars} est une
-liste de paires de chaînes de caractères spécifiant le nom et la valeur de
-variables d'environnement visibles pour le constructeur.  Le constructeur
-termine en passant le résultat de @var{exp} à @code{exit} ; ainsi, lorsque
address@hidden renvoie @code{#f}, la construction est considérée en échec.
address@hidden
+Regardez cet exemple :
 
address@hidden est construite avec @var{guile-for-build} (une dérivation).
-Lorsque @var{guile-for-build} est omis où est @code{#f}, la valeur du fluide
address@hidden est utilisée à la place.
address@hidden
+(define libressl-instead-of-openssl
+  ;; Cette procédure remplace OPENSSL par LIBRESSL,
+  ;; récursivement.
+  (package-input-rewriting `((,openssl . ,libressl))))
 
-Voir la procédure @code{derivation} pour la signification de
address@hidden, @var{allowed-references},
address@hidden, @var{local-build?} et @var{substitutable?}.
address@hidden deffn
+(define git-with-libressl
+  (libressl-instead-of-openssl git))
address@hidden example
 
 @noindent
-Voici un exemple de dérivation à sortie unique qui crée un répertoire avec
-un fichier :
+Ici nous définissons d'abord une procédure de réécriture qui remplace
address@hidden par @var{libressl}.  Ensuite nous l'utilisons pour définir une
address@hidden du paquet @var{git} qui utilise @var{libressl} plutôt que
address@hidden  cela est exactement ce que l'option en ligne de commande
address@hidden fait (@pxref{Options de transformation de paquets,
address@hidden).
 
address@hidden
-(let ((builder '(let ((out (assoc-ref %outputs "out")))
-                  (mkdir out)    ; create /gnu/store/@dots{}-goo
-                  (call-with-output-file (string-append out "/test")
-                    (lambda (p)
-                      (display '(hello guix) p))))))
-  (build-expression->derivation store "goo" builder))
+Une procédure plus générique pour réécrire un graphe de dépendance d'un
+paquet est @code{package-mapping} : elle supporte n'importe quel changement
+dans les nœuds du graphe.
 
address@hidden #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>
address@hidden lisp
address@hidden {Procédure Scheme} package-mapping @var{proc} address@hidden
+Renvoie une procédure qui, avec un paquet, applique @var{proc} sur tous les
+paquets dont il dépend et renvoie le paquet qui en résulte.  La procédure
+arrête la récursion là où @var{cut?} renvoie vrai pour un paquet donné.
address@hidden deffn
 
address@hidden
+* Référence de paquet::    Le type de donnée des paquets.
+* Référence d'origine::    Le type de données d'origine.
address@hidden menu
 
address@hidden La monad du dépôt
address@hidden La monad du dépôt
 
address@hidden monad
address@hidden Référence de paquet
address@hidden Référence de @code{package}
 
-Les procédures qui travaillent sur le dépôt décrites dans les sections
-précédentes prennent toutes une connexion ouverte au démon de construction
-comme premier argument.  Bien que le modèle sous-jacent soit fonctionnel,
-elles ont soit des effets de bord, soit dépendent de l'état actuel du dépôt.
+Cette section résume toutes les options disponibles dans les déclarations
address@hidden  (@pxref{Définition des paquets}).
 
-Le premier point est embêtant : on doit se balader avec la connexion au
-démon dans toutes ces fonctions, ce qui rend impossible le fait de composer
-des fonctions qui ne prennent pas ce paramètre avec des fonctions qui le
-prennent.  Le deuxième point est problématique : comme les opérations sur le
-dépôt ont des effets de bord ou dépendent d'états externes, elles doivent
-être enchaînés correctement.
address@hidden {Type de données} package
+C'est le type de donnée représentant une recette de paquets
 
address@hidden valeurs monadiques
address@hidden fonctions monadiques
-C'est là que le module @code{(guix monads)} arrive à la rescousse.  Ce
-module fournit un cadre pour travailler avec des @dfn{monads}, en
-particulier une monad très utile pour notre usage, la @dfn{monad du dépôt}.
-Les monads sont des constructions qui permettent deux choses : associer un «
-contexte » avec une valeur (dans notre cas, le contexte est le dépôt) et
-construire une séquence de calculs (ici les calculs comprennent des accès au
-dépôt).  Les valeurs dans une monad — les valeurs qui contiennent ce
-contexte supplémentaire — sont appelées des @dfn{valeurs monadiques} ; les
-procédures qui renvoient ce genre de valeur sont appelées des
address@hidden monadiques}.
address@hidden @asis
address@hidden @code{name}
+Le nom du paquet, comme une chaîne de caractères.
 
-Considérez cette procédure « normale » :
address@hidden @code{version}
+La version du paquet, comme une chaîne de caractères.
 
address@hidden
-(define (sh-symlink store)
-  ;; Renvoie une dérivation qui crée un lien symbolique vers l'exécutable « 
bash ».
-  (let* ((drv (package-derivation store bash))
-         (out (derivation->output-path drv))
-         (sh  (string-append out "/bin/bash")))
-    (build-expression->derivation store "sh"
-                                  `(symlink ,sh %output))))
address@hidden example
address@hidden @code{source}
+Un objet qui indique comment le code source du paquet devrait être
+récupéré.  La plupart du temps, c'est un objet @code{origin} qui indique un
+fichier récupéré depuis internet (@pxref{Référence d'origine}).  Il peut aussi
+s'agir de tout autre objet ``simili-fichier'' comme un @code{local-file} qui
+indique un fichier du système de fichier local (@pxref{G-Expressions,
address@hidden).
 
-En utilisant @code{(guix monads)} et @code{(guix gexp)}, on peut la réécrire
-en une fonction monadique :
address@hidden @code{build-system}
+Le système de construction qui devrait être utilisé pour construire le
+paquet (@pxref{Systèmes de construction}).
+
address@hidden @code{arguments} (par défaut : @code{'()})
+Les arguments à passer au système de construction.  C'est une liste qui
+contient typiquement une séquence de paires de clefs-valeurs.
+
address@hidden @code{inputs} (par défaut : @code{'()})
address@hidden @code{native-inputs} (par défaut : @code{'()})
address@hidden @code{propagated-inputs} (par défaut : @code{'()})
address@hidden entrées, des paquets
+Ces champs listent les dépendances du paquet.  Chacune est une liste de
+tuples, où chaque tuple a une étiquette pour une entrée (une chaîne de
+caractères) comme premier élément, un paquet, une origine ou une dérivation
+comme deuxième élément et éventuellement le nom d'une sortie à utiliser qui
+est @code{"out"} par défaut (@pxref{Des paquets avec plusieurs résultats}, pour
+plus d'informations sur les sorties des paquets).  Par exemple, la liste
+suivante spécifie trois entrées :
 
 @example
-(define (sh-symlink)
-  ;; Pareil, mais renvoie une valeur monadique.
-  (mlet %store-monad ((drv (package->derivation bash)))
-    (gexp->derivation "sh"
-                      #~(symlink (string-append #$drv "/bin/bash")
-                                 #$output))))
+`(("libffi" ,libffi)
+  ("libunistring" ,libunistring)
+  ("glib:bin" ,glib "bin"))  ;la sortie "bin" de Glib
 @end example
 
-Il y a plusieurs choses à remarquer avec cette deuxième version : le
-paramètre @code{store} est maintenant implicitement « enfilé » dans les
-appels aux procédures monadiques @code{package->derivation} et
address@hidden>derivation}, et la valeur monadique renvoyée par
address@hidden>derivation} est @dfn{liée} avec @code{mlet} plutôt qu'avec un
-simple @code{let}.
address@hidden compilation croisée, dépendances des paquets
+La distinction entre @code{native-inputs} et @code{inputs} est nécessaire
+lorsqu'on considère la compilation croisée.  Lors d'une compilation croisée,
+les dépendances listées dans @code{inputs} sont construites pour
+l'architecture @emph{cible} ; inversement, les dépendances listées dans
address@hidden sont construites pour l'architecture de la machine de
address@hidden
 
-Il se trouve que l'appel à @code{package->derivation} peut même être omis
-puisqu'il aura lieu implicitement, comme nous le verrons plus tard
-(@pxref{G-Expressions}) :
address@hidden est typiquement utilisé pour lister les outils requis à
+la construction mais pas à l'exécution, comme Autoconf, Automake,
+pkg-config, Gettext ou Bison.  @command{guix lint} peut rapporter des
+erreurs de ce type (@pxref{Invoquer guix lint}).
 
address@hidden
-(define (sh-symlink)
-  (gexp->derivation "sh"
-                    #~(symlink (string-append #$bash "/bin/bash")
-                               #$output)))
address@hidden example
address@hidden
+Enfin, @code{propagated-inputs} est similaire à @code{inputs}, mais les
+paquets spécifiés seront automatiquement installés avec le paquet auquel ils
+appartiennent (@pxref{package-cmd-propagated-inputs, @command{guix
+package}}, pour des informations sur la manière dont @command{guix package}
+traite les entrées propagées).
 
address@hidden See
address@hidden 
<https://syntaxexclamation.wordpress.com/2014/06/26/escaping-continuations/>
address@hidden for the funny quote.
-L'appel à la procédure monadique @code{sh-symlink} n'a aucun effet.  En
-anglais on pourrait dire « you exit a monad like you exit a building on
-fire: by running address@hidden : « on sort d'une monad comme d'un immeuble
-en flamme, en courant ».  Le jeu de mot est perdu à la traduction : courrir
-et lancer utilisent le même verbe @i{run} en anglais.}. Donc, pour sortir de
-la monad et obtenir l'effet escompté, on doit utiliser
address@hidden
+Par exemple cela est nécessaire lorsque des bibliothèques C/C++ ont besoin
+d'en-têtes d'une autre bibliothèque pour être compilé ou lorsqu'un fichier
+pkg-config se rapporte à un autre @i{via} son champ @code{Requires}.
 
address@hidden
-(run-with-store (open-connection) (sh-symlink))
address@hidden /gnu/store/...-sh-symlink
address@hidden example
+Un autre exemple où @code{propagated-inputs} est utile est pour les langages
+auxquels il manque un moyen de retenir le chemin de recherche comme c'est le
+cas du @code{RUNPATH} des fichiers ELF ; cela comprend Guile, Python, Perl
+et plus.  Pour s'assurer que les bibliothèques écrites dans ces langages
+peuvent trouver le code des bibliothèques dont elles dépendent à
+l'exécution, les dépendances à l'exécution doivent être listées dans
address@hidden plutôt que @code{inputs}.
 
-Remarquez que le module @code{(guix monad-repl)} étend la console Guile avec
-de nouvelles « méta-commandes » pour rendre plus facile la manipulation de
-procédures monadiques : @code{run-in-store} et @code{enter-store-monad}.  La
-première est utilisée pour « lancer » une seule valeur monadique à travers
-le dépôt :
address@hidden @code{self-native-input?} (par défaut : @code{#f})
+C'est un champ booléen qui indique si le paquet devrait s'utiliser lui-même
+comme entrée native lors de la compilation croisée.
 
address@hidden
-scheme@@(guile-user)> ,run-in-store (package->derivation hello)
-$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>
address@hidden example
address@hidden @code{outputs} (par défaut : @code{'("out")})
+La liste des noms de sorties du paquet.  @xref{Des paquets avec plusieurs 
résultats}, pour des exemples typiques d'utilisation de sorties
+supplémentaires.
 
-La deuxième entre dans une console récursive, où toutes les valeurs de
-retour sont automatiquement lancées à travers le dépôt :
address@hidden @code{native-search-paths} (par défaut : @code{'()})
address@hidden @code{search-paths} (par défaut : @code{'()})
+Une liste d'objets @code{search-path-specification} décrivant les variables
+d'environnement de recherche de chemins que ce paquet utilise.
 
address@hidden
-scheme@@(guile-user)> ,enter-store-monad
-store-monad@@(guile-user) [1]> (package->derivation hello)
-$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>
-store-monad@@(guile-user) [1]> (text-file "foo" "Hello!")
-$3 = "/gnu/store/@dots{}-foo"
-store-monad@@(guile-user) [1]> ,q
-scheme@@(guile-user)>
address@hidden example
address@hidden @code{replacement} (par défaut : @code{#f})
+Ce champ doit être soit @code{#f} soit un objet de paquet qui sera utilisé
+comme @dfn{remplaçant} de ce paquet.  @xref{Mises à jour de sécurité, grafts}, 
pour
+plus de détails.
 
address@hidden
-Remarquez qu'on ne peut pas renvoyer de valeur non monadique dans la console
address@hidden
address@hidden @code{synopsis}
+Une description sur une ligne du paquet.
 
-Les formes syntaxiques principales pour utiliser des monads en général sont
-disponibles dans le module @code{(guix monads)} et sont décrites ci-dessous.
address@hidden @code{description}
+Une description plus détaillée du paquet.
 
address@hidden {Syntaxe Scheme} with-monad @var{monad} @var{body} ...
-Évalue n'importe quelle forme @code{>>=} ou @code{return} dans @var{body}
-comme une @var{monad}.
address@hidden deffn
address@hidden @code{license}
address@hidden licence, des paquets
+La licence du paquet ; une valeur tirée de @code{(guix licenses)} ou une
+liste de ces valeurs.
 
address@hidden {Syntaxe Scheme} return @var{val}
-Renvoie une valeur monadique qui encapsule @var{val}.
address@hidden deffn
address@hidden @code{home-page}
+L'URL de la page d'accueil du paquet, en tant que chaîne de caractères.
 
address@hidden {Syntaxe Scheme} >>= @var{mval} @var{mproc} ...
address@hidden une valeur monadique @var{mval}, en passant son « contenu » aux
-procédures monadiques @address@hidden@footnote{Cette opération est
-souvent appelée « bind », mais ce nom dénote une procédure qui n'a rien à
-voir en Guile.  Ainsi, nous empruntons ce symbole quelque peu cryptique au
-langage Haskell}.  Il peut y avoir une ou plusieurs @code{mproc}, comme dans
-cet exemple :
address@hidden @code{supported-systems} (par défaut : @var{%supported-systems})
+La liste des systèmes supportés par le paquet, comme des chaînes de
+caractères de la forme @code{architecture-noyau}, par exemple
address@hidden"x86_64-linux"}.
 
address@hidden
-(run-with-state
-    (with-monad %state-monad
-      (>>= (return 1)
-           (lambda (x) (return (+ 1 x)))
-           (lambda (x) (return (* 2 x)))))
-  'some-state)
address@hidden @code{maintainers} (par défaut : @code{'()})
+La liste des mainteneurs du paquet, comme des objets @code{maintainer}.
 
address@hidden 4
address@hidden some-state
address@hidden example
address@hidden deffn
address@hidden @code{location} (par défaut : emplacement de la source de la 
forme @code{package})
+L'emplacement de la source du paquet.  C'est utile de le remplacer lorsqu'on
+hérite d'un autre paquet, auquel cas ce champ n'est pas automatiquement
+corrigé.
address@hidden table
address@hidden deftp
 
address@hidden {Syntaxe Scheme} mlet @var{monad} ((@var{var} @var{mval}) ...) @
-       @var{body} ...
address@hidden {Syntaxe Scheme} mlet* @var{monad} ((@var{var} @var{mval}) ...) @
-       @var{body} ...
-Lie les variables @var{var} aux valeurs monadiques @var{mval} dans
address@hidden, une séquence d'expressions.  Comme avec l'opérateur de liaison,
-on peut réfléchir comme si on « ouvrait » la valeur non-monadique « contenue
-» dans @var{mval} et comme si on faisait en sorte que @var{var} se réfère à
-cette valeur pure, non-monadique, dans la portée de @var{body}.  La forme
-(@var{var} -> @var{val}) lie @var{var} à la valeur « normale » @var{val},
-comme @code{let}.  L'opération de liaison a lieu en séquence de la gauche
-vers la droite.  La dernière expression de @var{body} doit être une
-expression monadique et son résultat deviendra le résultat de @code{mlet} ou
address@hidden lorsque lancé dans la @var{monad}.
 
address@hidden est à @code{mlet} ce que @code{let*} est à @code{let}
-(@pxref{Local Bindings,,, guile, GNU Guile Reference Manual}).
address@hidden deffn
address@hidden Référence d'origine
address@hidden Référence de @code{origin}
 
address@hidden {Système Scheme} mbegin @var{monad} @var{mexp} ...
-Lie @var{mexp} et les expressions monadiques suivantes en séquence, et
-renvoie le résultat de la dernière expression.  Chaque expression dans la
-séquence doit être une expression monadique.
+Cette section résume toutes les options disponibles dans le déclarations
address@hidden (@pxref{Définition des paquets}).
 
-Cette procédure est similaire à @code{mlet}, sauf que les valeurs de retour
-des expressions monadiques sont ignorées.  Dans ce sens, elle est analogue à
address@hidden, mais appliqué à des expressions monadiques.
address@hidden deffn
address@hidden {Type de données} origin
+C'est le type de donnée qui représente l'origine d'un code source.
 
address@hidden {Système Scheme} mwhen @var{condition} @var{mexp0} @var{mexp*} 
...
-Lorsque la @var{condition} est vraie, évalue la séquence des expressions
-monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la
address@hidden est fausse, renvoie @code{*unspecified*} dans la monad
-actuelle.  Cahque expression dans la séquence doit être une expression
-monadique.
address@hidden deffn
address@hidden @asis
address@hidden @code{uri}
+Un objet contenant l'URI de la source.  Le type d'objet dépend de la
address@hidden (voir plus bas).  Par exemple, avec la méthode @var{url-fetch}
+de @code{(guix download)}, les valeurs valide d'@code{uri} sont : une URL
+représentée par une chaîne de caractères, ou une liste de chaînes de
+caractères.
 
address@hidden {Système Scheme} munless @var{condition} @var{mexp0} @var{mexp*} 
...
-Lorsque la @var{condition} est fausse, évalue la séquence des expressions
-monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la
address@hidden est vraie, renvoie @code{*unspecified*} dans la monad
-actuelle.  Cahque expression dans la séquence doit être une expression
-monadique.
address@hidden deffn
address@hidden @code{method}
+Un procédure qui gère l'URI.
 
address@hidden monad d'état
-Le module @code{(guix monads)} fournit la @dfn{monad d'état} qui permet à
-une valeur supplémentaire — l'état — d'être enfilée à travers les appels de
-procédures.
+Quelques exemples :
 
address@hidden {Variable Scheme} %state-monad
-La monad d'état.  les procédure dans la monad d'état peuvent accéder et
-modifier l'état qui est enfilé.
address@hidden @asis
address@hidden @var{url-fetch} de @code{(guix download)}
+télécharge un fichier depuis l'URL HTTP, HTTPS ou FTP spécifiée dans le
+champ @code{uri} ;
 
-Considérez l'exemple ci-dessous.  La procédure @code{square} renvoie une
-valeur dans la monad d'état.  Elle renvoie le carré de son argument, mais
-incrémente aussi la valeur actuelle de l'état :
address@hidden git-fetch
address@hidden @var{git-fetch} de @code{(guix git-download)}
+clone le dépôt sous contrôle de version Git et récupère la révision
+spécifiée dans le champ @code{uri} en tant qu'objet @code{git-reference} ;
+un objet @code{git-reference} ressemble à cela :
 
 @example
-(define (square x)
-  (mlet %state-monad ((count (current-state)))
-    (mbegin %state-monad
-      (set-current-state (+ 1 count))
-      (return (* x x)))))
-
-(run-with-state (sequence %state-monad (map square (iota 3))) 0)
address@hidden (0 1 4)
address@hidden 3
+(git-reference
+  (url "git://git.debian.org/git/pkg-shadow/shadow")
+  (commit "v4.1.5.1"))
 @end example
address@hidden table
 
-Lorsqu'on la lance à travers @var{%state-monad}, on obtient cet valeur
-d'état supplémentaire, qui est le nombre d'appels à @code{square}.
address@hidden defvr
address@hidden @code{sha256}
+Un bytevector contenant le hash SHA-256 de la source.  Typiquement la forme
address@hidden est utilisée ici pour générer le bytevector depuis une chaîne
+de caractères en base-32.
+
+Vous pouvez obtenir cette information avec @code{guix download}
+(@pxref{Invoquer guix download}) ou @code{guix hash} (@pxref{Invoquer guix 
hash}).
+
address@hidden @code{file-name} (par défaut : @code{#f})
+Le nom de fichier à utiliser pour sauvegarder le fichier.  Lorsqu'elle est à
address@hidden, une valeur par défaut raisonnable est utilisée dans la plupart
+des cas.  Dans le cas où la source est récupérée depuis une URL, le nom de
+fichier est celui de l'URL.  Pour les sources récupérées depuis un outil de
+contrôle de version, il est recommandé de fournir un nom de fichier
+explicitement parce que le nom par défaut n'est pas très descriptif.
+
address@hidden @code{patches} (par défaut : @code{'()})
+Une liste de noms de fichiers, d'origines ou d'objets simili-fichiers
+(@pxref{G-Expressions, file-like objects}) qui pointent vers des correctifs
+à appliquer sur la source.
+
+Cette liste de correctifs doit être inconditionnelle.  En particulier, elle
+ne peut pas dépendre des valeurs de @code{%current-system} ou
address@hidden
 
address@hidden {Procédure monadique} current-state
-Renvoie l'état actuel dans une valeur monadique.
address@hidden deffn
address@hidden @code{snippet} (par défaut : @code{#f})
+Une G-expression (@pxref{G-Expressions}) ou une S-expression qui sera lancée
+dans le répertoire des sources.  C'est une manière pratique de modifier la
+source, parfois plus qu'un correctif.
 
address@hidden {Procédure monadique} set-current-state @var{value}
-Initialise l'état actuel à @var{value} et renvoie l'état précédent dans une
-valeur monadique.
address@hidden deffn
address@hidden @code{patch-flags} (par défaut : @code{'("-p1")})
+Une liste de drapeaux à passer à la commande @code{patch}.
 
address@hidden {Procédure monadique} state-push @var{value}
-Pousse @var{value} sur l'état actuel, qui est supposé être une liste, et
-renvoie l'état précédent dans une valeur monadique.
address@hidden deffn
address@hidden @code{patch-inputs} (par défaut : @code{#f})
+Paquets d'entrées ou dérivations pour le processus de correction.
+Lorsqu'elle est à @code{#f}, l'ensemble d'entrées habituellement nécessaire
+pour appliquer des correctifs est fournit, comme address@hidden
 
address@hidden {Procédure monadique} state-pop
-Récupère (pop) une valeur dans l'état actuel et la renvoie comme une valeur
-monadique.  L'état est supposé être une liste.
address@hidden deffn
address@hidden @code{modules} (par défaut : @code{'()})
+Une liste de modules Guile qui devraient être chargés pendant le processus
+de correction et pendant que le lancement du code du champ @code{snippet}.
 
address@hidden {Procédure Scheme} run-with-state @var{mval} address@hidden
-Lance la valeur monadique @var{mval} avec @var{state} comme valeur
-initiale.  Renvoie deux valeurs : la valeur du résultat et l'état du
-résultat.
address@hidden deffn
address@hidden @code{patch-guile} (par défaut : @code{#f})
+Le paquet Guile à utiliser dans le processus de correction.  Lorsqu'elle est
+à @code{#f}, une valeur par défaut raisonnable est utilisée.
address@hidden table
address@hidden deftp
 
-L'interface principale avec la monad du dépôt, fournit par le module
address@hidden(guix store)}, est la suivante.
 
address@hidden {Variable Scheme} %store-monad
-La monad du dépôt — un alias pour @var{%state-monad}.
address@hidden Systèmes de construction
address@hidden Systèmes de construction
 
-Les valeurs dans la monad du dépôt encapsulent des accès au dépôt.  Lorsque
-son effet est requis, une valeur de la monad du dépôt doit être « évaluée »
-en la passant à la procédure @code{run-with-store} (voir plus bas).
address@hidden defvr
address@hidden système de construction
+Chaque définition de paquet définie un @dfn{système de construction} et des
+arguments pour ce système de construction (@pxref{Définition des paquets}).  Ce
+champ @code{build-system} représente la procédure de construction du paquet,
+ainsi que des dépendances implicites pour cette procédure de construction.
 
address@hidden {Procédure Scheme} run-with-store @var{store} @var{mval} 
[#:guile-for-build] [#:system (%current-system)]
-Lance @var{mval}, une valeur monadique dans la monad du dépôt, dans
address@hidden, une connexion ouvert au dépôt.
address@hidden deffn
+Les systèmes de construction sont des objets
address@hidden<build-system>}. L'interface pour les créer et les manipuler est
+fournie par le module @code{(guix build-system)} et les systèmes de
+construction eux-mêmes sont exportés par des modules spécifiques.
 
address@hidden {Procédure monadique} text-file @var{name} @var{text} 
address@hidden
-Renvoie une valeur monadique correspondant au nom de fichier dans le dépôt
-du fichier contenant @var{text}, une chaîne de caractères.  @var{references}
-est une liste d'éléments du dépôt auxquels le fichier texte en résultat se
-réfère ; c'est la liste vide par défaut.
address@hidden deffn
address@hidden sac (représentation à bas-niveau des paquets)
+Sous le capot, les systèmes de construction compilent d'abord des objets
+paquets en @dfn{sacs}.  Un @dfn{sac} est comme un paquet, mais avec moins de
+décoration — en d'autres mots, un sac est une représentation à bas-niveau
+d'un paquet, qui inclus toutes les entrées de ce paquet, dont certaines ont
+été implicitement ajoutées par le système de construction.  Cette
+représentation intermédiaire est ensuite compilée en une dérivation
+(@pxref{Dérivations}).
 
address@hidden {Procédure monadique} binary-file @var{name} @var{data} 
address@hidden
-Renvoie une valeur monadique correspondant au nom de fichier absolu dans le
-dépôt du fichier contenant @var{data}, un vecteur d'octets.
address@hidden est une liste d'éléments du dépôt auxquels le fichier
-binaire en résultat se réfère ; c'est la liste vide par défaut.
address@hidden deffn
+Les systèmes de construction acceptent une liste d'@dfn{arguments}
+facultatifs.  Dans les définitions de paquets, ils sont passés @i{via} le
+champ @code{arguments} (@pxref{Définition des paquets}).  Ce sont typiquement 
des
+arguments par mot-clef (@pxref{Optional Arguments, keyword arguments in
+Guile,, guile, GNU Guile Reference Manual}).  La valeur de ces arguments est
+habituellement évaluée dans la @dfn{strate de construction} — c.-à-d.@: par
+un processus Guile lancé par le démon (@pxref{Dérivations}).
 
address@hidden {Procédure monadique} interned-file @var{file} address@hidden @
-         [#:recursive? #t] [#:select? (const #t)]
-Renvoie le nom de @var{file} une fois ajouté au dépôt.  Utilise @var{name}
-comme nom dans le dépôt ou le nom de fichier de @var{file} si @var{name} est
-omis.
+Le système de construction principal est le @var{gnu-build-system} qui
+implémente les procédures de construction standard pour les paquets GNU et
+de nombreux autres.  Il est fournit par le module @code{(guix build-system
+gnu)}.
 
-Lorsque @var{recursive?} est vraie, le contenu de @var{file} est ajouté
-récursivement ; si @var{file} désigne un fichier simple et que
address@hidden est vrai, son contenu est ajouté et ses bits de permissions
-sont préservés.
address@hidden {Variable Scheme} gnu-build-system
address@hidden représente le système de construction GNU et ses
+variantes (@pxref{Configuration, configuration and makefile conventions,,
+standards, GNU Coding Standards}).
 
-Lorsque @var{recursive?} est vraie, appelle @code{(@var{select?} @var{file}
address@hidden)} pour chaque répertoire où @var{file} est le nom de fichier
-absolu de l'entrée et @var{stat} est le résultat de @code{lstat} ; à
-l'exception des entrées pour lesquelles @var{select?} ne renvoie pas vrai.
address@hidden phases de construction
+En résumé, les paquets qui l'utilisent sont configurés, construits et
+installés avec la séquence @code{./configure && make && make check && make
+install} habituelle.  En pratique, des étapes supplémentaires sont souvent
+requises.  Toutes ces étapes sont séparées dans des @dfn{phases}
+différentes, address@hidden les modules @code{(guix build
+gnu-build-system)} pour plus de détails sur les phases de construction.}:
 
-L'exemple ci-dessous ajoute un fichier au dépôt, sous deux noms différents :
address@hidden @code
address@hidden unpack
+Décompresse l'archive des sources et se déplace dans l'arborescence des
+sources fraîchement extraites.  Si la source est en fait un répertoire, le
+copie dans l'arborescence de construction et entre dans ce répertoire.
 
address@hidden
-(run-with-store (open-connection)
-  (mlet %store-monad ((a (interned-file "README"))
-                      (b (interned-file "README" "LEGU-MIN")))
-    (return (list a b))))
address@hidden patch-source-shebangs
+Corrige les shebangs (@code{#!}) rencontrés dans les fichiers pour qu'ils se
+réfèrent aux bons noms de fichiers.  Par exemple, elle change
address@hidden/bin/sh} en @code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}.
 
address@hidden ("/gnu/store/address@hidden" "/gnu/store/address@hidden")
address@hidden example
address@hidden configure
+Lance le script @code{configure} avec un certain nombre d'options par
+défaut, comme @code{--prefix=/gnu/store/@dots{}}, ainsi que les options
+spécifiées par l'argument @code{#:configure-flags}.
 
address@hidden deffn
address@hidden build
+Lance @code{make} avec la liste des drapeaux spécifiés avec
address@hidden:make-flags}.  Si l'argument @code{#:parallel-build?} est vrai 
(par
+défaut), construit avec @code{make -j}.
 
-Le module @code{(guix packages)} exporte les procédures monadiques liées aux
-paquets suivantes :
address@hidden check
+Lance @code{make check}, ou une autre cible spécifiée par
address@hidden:test-target}, à moins que @code{#:tests? #f} ne soit passé.  Si
+l'argument @code{#:parallel-tests?} est vrai (par défaut), lance @code{make
+check -j}.
 
address@hidden {Procédure monadique} package-file @var{package} address@hidden @
-       [#:system (%current-system)] [#:target #f] @
-[#:output "out"]
-Renvoie une valeur monadique qui contient le nom de fichier absolu de
address@hidden dans le répertoire @var{output} de @var{package}.  Lorsque
address@hidden est omis, renvoie le nom du répertoire @var{output} de
address@hidden  Lorsque @var{target} est vrai, l'utilise comme un triplet de
-cible pour la compilation croisée.
address@hidden deffn
address@hidden install
+Lance @code{make install} avec les drapeaux listés dans @code{#:make-flags}.
 
address@hidden {Procédure monadique} package->derivation @var{package} 
address@hidden
address@hidden {Procédure monadique} package->cross-derivation @var{package} @
-          @var{target} address@hidden
-Version monadique de @code{package-derivation} et
address@hidden (@pxref{Définition des paquets}).
address@hidden deffn
address@hidden patch-shebangs
+Corrige les shebangs des fichiers exécutables installés.
 
address@hidden strip
+Nettoie les symboles de débogage dans les fichiers ELF (à moins que
address@hidden:strip-binaries?} ne soit faux), les copie dans la sortie
address@hidden lorsqu'elle est disponible (@pxref{Installer les fichiers de 
débogage}).
address@hidden table
 
address@hidden G-Expressions
address@hidden G-Expressions
address@hidden %standard-phases
+Le module du côté du constructeur @code{(guix build gnu-build-system)}
+définie @var{%standard-phases} comme la liste par défaut des phases de
+construction.  @var{%standard-phases}  est une liste de paires de symboles
+et de procédures, où la procédure implémente la phase en question.
 
address@hidden G-expression
address@hidden quoting du code de construction
-On a donc des « dérivations » qui représentent une séquence d'actions de
-construction à effectuer pour produire un élément du dépôt
-(@pxref{Dérivations}).  Ces actions de construction sont effectuées
-lorsqu'on demande au démon de construire effectivement les dérivations ;
-elles sont lancées par le démon dans un conteneur (@pxref{Invoquer 
guix-daemon}).
+La liste des phases utilisées par un paquet particulier peut être modifiée
+avec le paramètre @code{#:phases}.  Par exemple, en passant :
 
address@hidden strate de code
-Ça ne devrait pas vous surprendre, mais nous aimons écrire ces actions de
-construction en Scheme.  Lorsqu'on fait ça, on fini avec deux @dfn{strates}
-de code address@hidden terme @dfn{strate} dans ce contexte a été inventé
-par Manuel Serrano et ses collaborateurs dans le contexte de leur travaux
-sur Hop.  Oleg Kiselyov, qui a écrit des
address@hidden://okmij.org/ftp/meta-programming/#meta-scheme, essais perspicaces
-et du code sur le sujet}, utilise le terme de « mise en scène » pour ce
-genre de génération de code.} : le « code hôte » — le code qui défini les
-paquets, parle au démon, etc — et le « code côté construction » — le code
-qui effectue effectivement les actions de construction, comme créer des
-répertoires, invoquer @code{make}, etc.
address@hidden
+#:phases (modify-phases %standard-phases (delete 'configure))
address@hidden example
 
-Pour décrire une dérivation et ses actions de construction, on a typiquement
-besoin d'intégrer le code de construction dans le code hôte.  Ça revient à
-manipuler le code de construction comme de la donnée, et l'homoiconicité de
-Scheme — le code a une représentation directe en tant que donnée — est très
-utile pour cela.  Mais on a besoin de plus que le mécanisme de
address@hidden en Scheme pour construire des expressions de construction.
+signifie que toutes les procédures décrites plus haut seront utilisées, sauf
+la phase @code{configure}.
 
-Le module @code{(guix gexp)} implémente les @dfn{G-expressions}, une forme
-de S-expression adaptée aux expressions de construction.  Les G-expression,
-ou @dfn{gexps}, consistent en gros en trois formes syntaxiques :
address@hidden, @code{ungexp} et @code{ungexp-splicing} (ou plus simplement :
address@hidden, @code{#$} et @code{#$@@}), qui sont comparable à
address@hidden, @code{unquote} ett @code{unquote-splicing} respectivement
-(@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference
-Manual}).  Cependant il y a des différences majeures :
+En plus, ce système de construction s'assure que l'environnement « standard
+» pour les paquets GNU est disponible.  Cela inclus des outils comme GCC,
+libc, Coreutils, Bash, Make, Diffutils, grep et sed (voir le module
address@hidden(guix build-system gnu)} pour une liste complète).  Nous les 
appelons
+les @dfn{entrées implicites} d'un paquet parce que la définition du paquet
+ne les mentionne pas.
address@hidden defvr
 
address@hidden
address@hidden
-Les Gexps sont conçues pour être écrites dans un fichier et être lancées ou
-manipulées par d'autres processus.
+D'autres objets @code{<build-system>} sont définis pour supporter d'autres
+conventions et outils utilisés par les paquets de logiciels libres.  Ils
+héritent de la plupart de @var{gnu-build-system} et diffèrent surtout dans
+l'ensemble des entrées implicites ajoutées au processus de construction et
+dans la liste des phases exécutées.  Certains de ces systèmes de
+construction sont listés ci-dessous.
 
address@hidden
-Lorsqu'un objet de haut-niveau comme un paquet ou une dérivation est
-unquotée dans une gexp, le résultat est comme si le nom de fichier de son
-résultat avait été introduit.
address@hidden {Variable Scheme} ant-build-system
+Cette variable est exportée par @code{(guix build-system ant)}.  Elle
+implémente la procédure de construction pour les paquets Java qui peuvent
+être construits avec @url{http://ant.apache.org/, l'outil de construction
+Ant}.
 
address@hidden
-Les gexps transportent des informatinos sur les paquets ou les dérivations
-auxquels elles se réfèrent, et ces dépendances sont automatiquement ajoutées
-comme des entrées du processus de construction qui les utilise.
address@hidden itemize
+Elle ajoute à la fois @code{ant} et the @dfn{kit de développement Java}
+(JDK) fournit par le paquet @code{icedtea} à l'ensemble des entrées.  Des
+paquets différents peuvent être spécifiés avec les paramètres @code{#:ant}
+et @code{#:jdk} respectivement.
+
+Lorsque le paquet d'origine ne fournit pas de fichier de construction Ant
+acceptable, le paramètre @code{#:jar-name} peut être utilisé pour générer un
+fichier de construction Ant @file{build.xml} minimal, avec des tâches pour
+construire l'archive jar spécifiée.  Dans ce cas, le paramètre
address@hidden:source-dir} peut être utilisé pour spécifier le sous-répertoire 
des
+sources, par défaut « src ».
 
address@hidden abaissement, des objets haut-niveau dans les gepxs
-Ce mécanisme n'est pas limité aux paquets et aux dérivations : on peut
-définir des @dfn{compilateurs} capable « d'abaisser » d'autres objets de
-haut-niveau ou des fichiers dans le dépôt, pour que ces objets puissent
-aussi être insérés dans des gexps.  Par exemple, des objets haut-niveau
-utiles qui pourraient être insérées dans une gexp sont les « objets
-simili-fichiers », qui rendent facile l'ajout de fichiers dans le dépôt et
-les références vers eux dans les dérivations et autres (voir
address@hidden et @code{plain-file} ci-dessous).
+Le paramètre @code{#:main-class} peut être utilisé avec le fichier de
+construction minimal pour spécifier la classe principale du jar.  Cela rend
+le fichier jar exécutable.  Le paramètre @code{#:test-include} peut être
+utilisé pour spécifier la liste des tests junits à lancer.  Il vaut par
+défaut @code{(list "**/*Test.java")}.  Le paramètre @code{#:test-exclude}
+peut être utilisé pour désactiver certains tests.  Sa valeur par défaut est
address@hidden(list "**/Abstract*.java")}, parce que les classes abstraites ne
+peuvent pas être utilisées comme des tests.
 
-Pour illustrer cette idée, voici un exemple de gexp :
+Le paramètre @code{#:build-target} peut être utilisé pour spécifier la tâche
+Ant qui devrait être lancée pendant la phase @code{build}.  Par défaut la
+tâche « jar » sera lancée.
 
address@hidden
-(define build-exp
-  #~(begin
-      (mkdir #$output)
-      (chdir #$output)
-      (symlink (string-append #$coreutils "/bin/ls")
-               "list-files")))
address@hidden example
address@hidden defvr
 
-Cette gexp peut être passée à @code{gexp->derivation} ; on obtient une
-dérivation qui construit une répertoire contenant exactement un lien
-symbolique à @file{/gnu/store/@dots{}-coreutils-8.22/bin/ls} :
address@hidden {Variable Scheme} android-ndk-build-system
address@hidden Distribution android
address@hidden système de construction Android NDK
+Cette variable est exportée par @code{(guix build-system android-ndk)}.
+Elle implémente une procédure de construction pour les paquets du NDK
+Android (@i{native development kit}) avec des processus de construction
+spécifiques à Guix.
 
address@hidden
-(gexp->derivation "the-thing" build-exp)
address@hidden example
+Le système de construction suppose que les paquets installent leur interface
+publique (les en-têtes) dans un sous-répertoire de « include » de la sortie
+« out » et leurs bibliothèques dans le sous-répertoire « lib » de la sortie
+« out ».
 
-Comme on pourrait s'y attendre, la chaîne
address@hidden"/gnu/store/@dots{}-coreutils-8.22"} est substituée à la place de 
la
-référence au paquet @var{coreutils} dans le code de construction final, et
address@hidden est automatiquement devenu une entrée de la dérivation.  De
-même, @code{#$output} (équivalent à @code{(ungexp output)}) est remplacé par
-une chaîne de caractères contenant le nom du répertoire de la sortie de la
-dérivation.
+Il est aussi supposé que l'union de toutes les dépendances d'un paquet n'a
+pas de fichiers en conflit.
 
address@hidden compilation croisée
-Dans le contexte d'une compilation croisée, il est utile de distinguer entre
-des références à la construction @emph{native} d'un paquet — qui peut être
-lancé par l'hôte — et des références à la construction croisée d'un paquet.
-Pour cela, @code{#+} joue le même rôle que @code{#$}, mais référence une
-construction native d'un paquet :
+Pour l'instant, la compilation croisée n'est pas supportées — donc pour
+l'instant les bibliothèques et les fichiers d'en-têtes sont supposés être
+des outils de l'hôte.
 
address@hidden
-(gexp->derivation "vi"
-   #~(begin
-       (mkdir #$output)
-       (system* (string-append #+coreutils "/bin/ln")
-                "-s"
-                (string-append #$emacs "/bin/emacs")
-                (string-append #$output "/bin/vi")))
-   #:target "mips64el-linux-gnu")
address@hidden example
address@hidden defvr
 
address@hidden
-Dans l'exemple ci-dessus, la construction native de @var{coreutils} est
-utilisée, pour que @command{ln} puisse effectivement être lancé sur l'hôte ;
-mais ensuite la construction croisée d'@var{emacs} est utilisée.
address@hidden {Variable Scheme} asdf-build-system/source
address@hidden {Variable Scheme} asdf-build-system/sbcl
address@hidden {Variable Scheme} asdf-build-system/ecl
 
address@hidden modules importés, pour les gexps
address@hidden with-imported-modules
-Une autre fonctionnalité, ce sont les @dfn{modules importés} : parfois vous
-voudriez pouvoir utiliser certains modules Guile de « l'environnement hôte »
-dans la gexp, donc ces modules devraient être importés dans «
-l'environnement de construction ».  La forme @code{with-imported-modules}
-vous permet d'exprimer ça :
+Ces variables, exportées par @code{(guix build-system asdf)}, implémentent
+les procédures de constructions pour les paquets en Common Lisp qui
+utilisent @url{https://common-lisp.net/project/asdf/, ``ASDF''}.  ASDF est
+un dispositif de définition de systèmes pour les programmes et les
+bibliothèques en Common Lisp.
 
address@hidden
-(let ((build (with-imported-modules '((guix build utils))
-               #~(begin
-                   (use-modules (guix build utils))
-                   (mkdir-p (string-append #$output "/bin"))))))
-  (gexp->derivation "empty-dir"
-                    #~(begin
-                        #$build
-                        (display "success!\n")
-                        #t)))
address@hidden example
+Le système @code{asdf-build-system/source} installe les paquets au format
+source qui peuvent être chargés avec n'importe quelle implémentation de
+common lisp, via ASDF.  Les autres, comme @code{asdf-build-system/sbcl},
+installent des binaires au format qu'un implémentation particulière
+comprend.  Ces systèmes de constructions peuvent aussi être utilisés pour
+produire des programmes exécutables ou des images lisp qui contiennent un
+ensemble de paquets pré-chargés.
 
address@hidden
-Dans cet exemple, le module @code{(guix build utils)} est automatiquement
-récupéré dans l'environnement de construction isolé de notre gexp, pour que
address@hidden(use-modules (guix build utils))} fonctionne comme on s'y 
attendrait.
+Le système de construction utilise des conventions de nommage.  Pour les
+paquets binaires, le nom du paquet devrait être préfixé par l'implémentation
+lisp, comme @code{sbcl-} pour @code{asdf-build-system/sbcl}.
 
address@hidden closure de module
address@hidden source-module-closure
-Typiquement, vous voudriez que la @emph{closure} complète du mondule soit
-importé — c.-à-d.@: le module lui-même et tous les modules dont il dépend —
-plutôt que seulement le module ; sinon, une tentative de chargement du
-module échouera à cause des modules dépendants manquants.  La procédure
address@hidden calcule la closure d'un module en cherchant
-dans ses en-têtes sources, ce qui est pratique dans ce cas :
+En plus, le paquet source correspondant devrait étiquetté avec la même
+convention que les paquets python (voir @ref{Modules python}), avec le
+préfixe @code{cl-}.
 
address@hidden
-(use-modules (guix modules))   ;pour 'source-module-closure'
+Pour les paquets binaires, chaque système devrait être défini comme un
+paquet Guix.  Si un paquet @code{origine} contient plusieurs systèmes, on
+peut créer des variantes du paquet pour construire tous les systèmes.  Les
+paquets sources, qui utilisent @code{asdf-build-system/source}, peuvent
+contenir plusieurs systèmes.
 
-(with-imported-modules (source-module-closure
-                         '((guix build utils)
-                           (gnu build vm)))
-  (gexp->derivation "something-with-vms"
-                    #~(begin
-                        (use-modules (guix build utils)
-                                     (gnu build vm))
-                        @dots{})))
address@hidden example
+Pour créer des programmes exécutables et des images, les procédures côté
+construction @code{build-program} et @code{build-image} peuvent être
+utilisées.  Elles devraient être appelées dans une phase de construction
+après la phase @code{create-symlinks} pour que le système qui vient d'être
+construit puisse être utilisé dans l'image créée.  @code{build-program}
+requiert une liste d'expressions Common Lisp dans l'argument
address@hidden:entry-program}.
 
address@hidden extensions, des gexps
address@hidden with-extensions
-Dans la même idée, parfois vous pouvez souhaiter importer non seulement des
-modules en Scheme pur, mais aussi des « extensions » comme des liaisons
-Guile de bibliothèques C ou d'autres paquet « complets ».  Disons que vous
-voulez utiliser le paquet @code{guile-json} du côté de la construction,
-voici comme procéder :
+Si le système n'est pas défini dans son propre fichier @code{.asd} du même
+nom, alors le paramètre @code{#:asd-file} devrait être utilisé pour
+spécifier dans quel fichier le système est défini.  De plus, si le paquet
+défini un système pour ses tests dans un fichier séparé, il sera chargé
+avant que les tests ne soient lancés s'il est spécifié par le paramètre
address@hidden:test-asd-file}.  S'il n'est pas spécifié, les fichiers
address@hidden<system>-tests.asd}, @code{<system>-test.asd}, @code{tests.asd} et
address@hidden seront testés.
 
address@hidden
-(use-modules (gnu packages guile))  ;pour 'guile-json'
+Si pour quelque raison que ce soit le paquet doit être nommé d'une manière
+différente de ce que la convention de nommage suggère, le paramètre
address@hidden:asd-system-name} peut être utilisé pour spécifier le nom du 
système.
 
-(with-extensions (list guile-json)
-  (gexp->derivation "something-with-json"
-                    #~(begin
-                        (use-modules (json))
-                        @dots{})))
address@hidden example
address@hidden defvr
 
-La forme syntaxique pour construire des gexps est résumée ci-dessous.
address@hidden {Variable Scheme} cargo-build-system
address@hidden Langage de programmation Rust
address@hidden Cargo (système de construction Rust)
+Cette variable est exportée par @code{(guix build-system cargo)}.  Elle
+supporte les construction de paquets avec Cargo, le système de construction
+du @uref{https://www.rust-lang.org, langage de programmation Rust}.
 
address@hidden {Syntaxe Scheme} address@hidden
address@hidden {Syntaxe Scheme} (gexp @var{exp})
-Renvoie une G-expression contenant @var{exp}.  @var{exp} peut contenir une
-ou plusieurs de ces formes :
+Dans sa phase @code{configure}, ce système de construction remplace les
+dépendances spécifiées dans le fichier @file{Cargo.toml} par des paquets
+Guix.  La phase @code{install} installe les binaires et installe aussi le
+code source et le fichier @file{Cargo.toml}.
address@hidden defvr
 
address@hidden @code
address@hidden address@hidden
address@hidden (ungexp @var{obj})
-Introduit une référence à @var{obj}.  @var{obj} peut être d'un des types
-supportés, par exemple un paquet ou une dérivation, auquel cas la forme
address@hidden est remplacée par le nom de fichier de sa sortie — p.@: ex.@:
address@hidden"/gnu/store/@dots{}-coreutils-8.22}.
address@hidden Clojure (langage de programmation)
address@hidden système de construction Clojure simple
address@hidden {Variable Scheme} clojure-build-system
+Cette variable est exportée par @code{(guix build-system clojure)}.  Elle
+implémente une procédure de construction des paquets simple qui utilise le
+bon vieux @code{compile} de Clojure.  La compilation croisée n'est pas
+encore supportée.
 
-Si @var{boj} est une liste, elle est traversée et les références aux objets
-supportés sont substitués de manière similaire.
+Elle ajoute @code{clojure}, @code{icedtea} et @code{zip} à l'ensemble des
+entrées.  Des paquets différents peuvent être spécifiés avec les paramètres
address@hidden:clojure}, @code{#:jdk} et @code{#:zip}.
 
-Si @var{obj} est une autre gexp, son contenu est inséré et ses dépendances
-sont ajoutées à celle de la gexp qui l'entoure.
+Une liste de répertoires sources, de répertoires de tests et de noms de jar
+peuvent être spécifiés avec les paramètres @code{#:source-dirs},
address@hidden:test-dirs} et @code{#:jar-names}.  Le répertoire de construction 
est
+la classe principale peuvent être spécifiés avec les paramètres
address@hidden:compile-dir} et @code{#:main-class}.  Les autres paramètres sont
+documentés plus bas.
 
-Si @var{obj} est un autre type d'objet, il est inséré tel quel.
+Ce système de construction est une extension de @var{ant-build-system}, mais
+avec les phases suivantes modifiées :
 
address@hidden address@hidden:@var{output}
address@hidden (ungexp @var{obj} @var{output})
-Cette forme est similaire à la précédente, mais se réfère explicitement à la
-sortie @var{output} de l'objet @var{obj} — c'est utile lorsque @var{obj}
-produit plusieurs sorties (@pxref{Des paquets avec plusieurs résultats}).
address@hidden @code
 
address@hidden address@hidden
address@hidden address@hidden:output
address@hidden (ungexp-native @var{obj})
address@hidden (ungexp-native @var{obj} @var{output})
-Comme @code{ungexp}, mais produit une référence à la construction
address@hidden de @var{obj} lorsqu'elle est utilisée dans une compilation
-croisée.
address@hidden build
+Cette phase appelle @code{compile} en Clojure pour compiler les fichiers
+sources et lance @command{jar} pour créer les fichiers jar à partir des
+fichiers sources et des fichiers compilés en suivant la liste d'inclusion et
+d'exclusion spécifiées dans @code{#:aot-include} et @code{#:aot-exclude}.
+La liste d'exclusion a la priorité sur la liste d'inclusion.  Ces listes
+consistent en des symboles représentant des bibliothèque Clojure ou le mot
+clef spécial @code{#:all}, représentant toutes les bibliothèques Clojure
+trouvées dans les répertoires des sources.  Le paramètre
address@hidden:omit-source?} décide si les sources devraient être incluses dans 
les
+fichiers jar.
 
address@hidden #$output[:@var{output}]
address@hidden (ungexp output address@hidden)
-Insère une référence à la sortie @var{output} de la dérivation, ou à la
-sortie principale lorsque @var{output} est omis.
address@hidden check
+Cette phase lance les tests en suivant les liste d'inclusion et d'exclusion
+spécifiées dans @code{#:test-include} et @code{#:test-exclude}.  Leur
+signification est analogue à celle de @code{#:aot-include} et
address@hidden:aot-exclude}, sauf que le mot-clef spécial @code{#:all} signifie
+maintenant toutes les bibliothèques Clojure trouvées dans les répertoires de
+tests.  Le paramètre @code{#:tests?} décide si les tests devraient être
+lancés.
 
-Cela ne fait du sens que pour les gexps passées à @code{gexp->derivation}.
address@hidden install
+Cette phase installe tous les fichiers jar précédemment construits.
address@hidden table
 
address@hidden #$@@@var{lst}
address@hidden (ungexp-splicing @var{lst})
-Comme au dessus, mais recolle (@i{splice}) le contenu de @var{lst} dans la
-liste qui la contient.
+En dehors de cela, le système de construction contient aussi la phase
+suivante :
 
address@hidden #+@@@var{lst}
address@hidden (ungexp-native-splicing @var{lst})
-Comme au dessus, mais se réfère à la construction native des objets listés
-dans @var{lst}.
address@hidden @code
 
address@hidden install-doc
+Cette phase installe tous les fichiers dans le répertoire de plus haut
+niveau dont le nom correspond à @var{%doc-regex}.  On peut spécifier une
+regex différente avec le paramètre @code{#:doc-regex}.  Tous les fichiers
+(récursivement) dans les répertoires de documentations spécifiés dans
address@hidden:doc-dirs} sont aussi installés.
 @end table
address@hidden defvr
 
-Les G-expressions crées par @code{gexp} ou @code{#~} sont des objets à
-l'exécution du type @code{gexp?} (voir plus bas).
address@hidden deffn
address@hidden {Variable Scheme} cmake-build-system
+Cette variable est exportée par @code{(guix build-system cmake)}.  Elle
+implémente la procédure de construction des paquets qui utilisent
+l'@url{http://www.cmake.org, outil de construction CMake}.
 
address@hidden {Syntaxe Scheme} with-imported-modules @var{modules} 
@address@hidden
-Marque les gexps définies dans @address@hidden comme requérant
address@hidden dans leur environnement d'exécution.
+Elle ajoute automatiquement le paquet @code{cmake} à l'ensemble des
+entrées.  Le paquet utilisé peut être spécifié par le paramètre
address@hidden:cmake}.
 
-Chaque élément dans @var{module} peut être le nom d'un module, comme
address@hidden(guix build utils)} ou le nom d'un module suivi d'une flêche, 
suivie
-d'un objet simili-fichier :
+Le paramètre @code{#:configure-flags} est pris comme une liste de drapeaux à
+passer à la commande @command{cmake}.  Le paramètre @code{#:build-type}
+spécifie en termes abstrait les drapeaux passés au compilateur ; sa valeur
+par défaut est @code{"RelWithDebInfo"} (ce qui veut dire « mode public avec
+les informations de débogage » en plus court), ce qui signifie en gros que
+le code sera compilé avec @code{-O2 -g} comme pour les paquets autoconf par
+défaut.
address@hidden defvr
 
address@hidden
-`((guix build utils)
-  (guix gcrypt)
-  ((guix config) => ,(scheme-file "config.scm"
-                                  #~(define-module @dots{}))))
address@hidden example
address@hidden {Scheme Variable} dune-build-system
+This variable is exported by @code{(guix build-system dune)}.  It supports
+builds of packages using @uref{https://dune.build/, Dune}, a build tool for
+the OCaml programming language.  It is implemented as an extension of the
address@hidden which is described below.  As such, the
address@hidden:ocaml} and @code{#:findlib} parameters can be passed to this 
build
+system.
 
address@hidden
-Dans l'exemple au dessus, les deux premiers modules sont récupérés dans le
-chemin de recherche, et le dernier est créé à partir d'un objet
-simili-fichier.
+It automatically adds the @code{dune} package to the set of inputs.  Which
+package is used can be specified with the @code{#:dune} parameter.
 
-Cette forme a une portée @emph{lexicale} : elle a un effet sur les gexp
-directement définies dans @address@hidden, mais pas sur celles définies
-dans des procédures appelées par @address@hidden
address@hidden deffn
+There is no @code{configure} phase because dune packages typically don't
+need to be configured.  The @code{#:build-flags} parameter is taken as a
+list of flags passed to the @code{dune} command during the build.
 
address@hidden {Syntaxe Scheme} with-extensions @var{extensions} @address@hidden
-Marque les gexps définies dans @address@hidden comme requérant
address@hidden dans leur environnement de construction et d'exécution.
address@hidden est typiquement une liste d'objets paquets comme définis
-dans le module @code{(gnu packages guile)}.
+The @code{#:jbuild?} parameter can be passed to use the @code{jbuild}
+command instead of the more recent @code{dune} command while building a
+package.  Its default value is @code{#f}.
address@hidden defvr
 
-Concrètement, les paquets listés dans @var{extensions} sont ajoutés au
-chemin de chargement lors de la compilation des modules importés dans
address@hidden@dots{} ; ils sont aussi ajoutés au chemin de chargement de la
-gexp renvoyée par @address@hidden
address@hidden deffn
address@hidden {Variable Scheme} go-build-system
+Cette variable est exportée par @code{(guix build-system go)}.  Elle
+implémente la procédure pour les paquets Go utilisant les
address@hidden://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies,
+mécanismes de construction Go} standard.
 
address@hidden {Procédure Scheme} gexp? @var{obj}
-Renvoie @code{#t} si @var{obj} est une G-expression.
address@hidden deffn
+L'utilisateur doit fournir une valeur à la clef @code{#:import-path} et,
+dans certains cas, @code{#:unpack-path}.  Le
address@hidden://golang.org/doc/code.html#ImportPaths, chemin d'import}
+correspond au chemin dans le système de fichiers attendu par le script de
+construction du paquet et les paquets qui s'y réfèrent et fournit une
+manière unique de se référer à un paquet Go.  Il est typiquement basé sur
+une combinaison de l'URI du code source du paquet et d'une structure
+hiérarchique du système de fichier.  Dans certains cas, vous devrez extraire
+le code source du paquet dans une structure de répertoires différente que
+celle indiquée par le chemin d'import et @code{#:unpack-path} devrait être
+utilisé dans ces cas-là.
 
-Les G-expressions sont conçues pour être écrites sur le disque, soit en tant
-que code pour construire une dérivation, soit en tant que fichier normal
-dans le dépôt.  Les procédure monadiques suivantes vous permettent de faire
-cela (@pxref{La monad du dépôt}, pour plus d'information sur les monads).
+Les paquets qui fournissent des bibliothèques Go devraient être installées
+avec leur code source.  La clef @code{#:install-soruce?}, qui vaut @code{#t}
+par défaut, contrôle l'installation du code source.  Elle peut être mise à
address@hidden pour les paquets qui ne fournissent que des fichiers exécutables.
address@hidden defvr
 
address@hidden {Procédure monadique} gexp->derivation @var{name} @var{exp} @
-       [#:system (%current-system)] [#:target #f] [#:graft? #t] @
-[#:hash #f] [#:hash-algo #f] @
-[#:recursive? #f] [#:env-vars '()] [#:modules '()] @
-[#:module-path @var{%load-path}] @
-[#:effective-version "2.2"] @
-[#:references-graphs #f] [#:allowed-references #f] @
-[#:disallowed-references #f] @ [#:leaked-env-vars #f] @
-[#:script-name (string-append @var{name} "-builder")] @
-[#:deprecation-warnings #f] @
-[#:local-build? #f] [#:substitutable? #t] @
-[#:properties '()] [#:guile-for-build #f]
-Renvoie une dérivation @var{name} qui lance @var{exp} (une gexp) avec
address@hidden (une dérivation) sur @var{system} ; @var{exp} est
-stocké dans un fichier appelé @var{script-name}.  Lorsque @var{target} est
-vraie, elle est utilisée comme triplet de cible de compilation croisée pour
-les paquets référencés par @var{exp}.
address@hidden {Variable Scheme} glib-or-gtk-build-system
+Cette variable est exportée par @code{(guix build-system glib-or-gtk)}.
+Elle est conçue pour être utilisée par des paquets qui utilisent GLib ou
+GTK+.
 
address@hidden est devenu obsolète en faveur de
address@hidden  Sa signification est de rendre @var{modules}
-disponibles dans le contexte d'évaluation de @var{exp} ; @var{modules} est
-une liste de noms de modules Guile qui sont cherchés dans @var{module-path}
-pour les copier dans le dépôt, les compiler et les rendre disponibles dans
-le chemin de chargement pendant l'exécution de @var{exp} — p.@: ex.@:
address@hidden((guix build utils) (guix build gnu-build-system))}.
+Ce système de construction ajoute les deux phases suivantes à celles
+définies par @var{gnu-build-system} :
 
address@hidden détermine la chaîne à utiliser lors d'ajout
-d'extensions de @var{exp} (voir @code{with-extensions}) au chemin de
-recherche — p.@: ex.@: @code{"2.2"}.
address@hidden @code
address@hidden glib-or-gtk-wrap
+La phase @code{glib-or-gtk-wrap} s'assure que les programmes dans
address@hidden/} sont capable de trouver les « schemas » GLib et les
address@hidden://developer.gnome.org/gtk3/stable/gtk-running.html, modules
+GTK+}.  Ceci est fait en enveloppant les programmes dans des scripts de
+lancement qui initialisent correctement les variables d'environnement
address@hidden et @code{GTK_PATH}.
 
address@hidden détermine si les paquets référencés par @var{exp} devraient
-être greffés si possible.
+Il est possible d'exclure des sorties spécifiques de ce processus
+d'enveloppage en listant leur nom dans le paramètre
address@hidden:glib-or-gtk-wrap-excluded-outputs}.  C'est utile lorsqu'une 
sortie
+est connue pour ne pas contenir de binaires GLib ou GTK+, et où l'enveloppe
+ajouterait une dépendance inutile vers GLib et GTK+.
 
-Lorsque @var{references-graphs} est vrai, il doit s'agir d'une liste de
-tuples de la forme suivante :
address@hidden glib-or-gtk-compile-schemas
+La phase  @code{glib-or-gtk-compile-schemas} s'assure que tous les
address@hidden://developer.gnome.org/gio/stable/glib-compile-schemas.html,
+schémas GSettings} de GLib sont compilés.  La compilation est effectuée par
+le programme @command{glib-compile-schemas}.  Il est fournit par le paquet
address@hidden:bin} qui est automatiquement importé par le système de
+construction.  Le paquet @code{glib} qui fournit
address@hidden peut être spécifié avec le paramètre
address@hidden:glib}.
address@hidden table
 
address@hidden
-(@var{file-name} @var{package})
-(@var{file-name} @var{package} @var{output})
-(@var{file-name} @var{derivation})
-(@var{file-name} @var{derivation} @var{output})
-(@var{file-name} @var{store-item})
address@hidden example
+Ces deux phases sont exécutées après la phase @code{install}.
address@hidden defvr
 
-La partie droite des éléments de @var{references-graphs} est automatiquement
-transformée en une entrée du processus de construction @var{exp}.  Dans
-l'environnement de construction, chaque @var{file-name} contient le graphe
-des références de l'élément correspondant, dans un format texte simple.
address@hidden {Variable Scheme} guile-build-system
+Ce système de construction sert aux paquets Guile qui consistent
+exclusivement en code Scheme et qui sont si simple qu'ils n'ont même pas un
+makefile, sans parler d'un script @file{configure}.  Il compile le code
+Scheme en utilisant @command{guild compile} (@pxref{Compilation,,, guile,
+GNU Guile Reference Manual}) et installe les fichiers @file{.scm} et
address@hidden aux bons emplacements.  Il installe aussi la documentation.
 
address@hidden doit soit être @code{#f}, soit une liste de noms de
-sorties ou de paquets.  Dans ce dernier cas, la liste dénote les éléments du
-dépôt auxquels le résultat a le droit de faire référence.  Toute référence à
-un autre élément du dépôt conduira à une erreur à la construction.  Comme
-pour @var{disallowed-references}, qui peut lister des éléments qui ne
-doivent pas être référencés par les sorties.
+Ce système de construction supporte la compilation croisée en utilisant
+l'option @code{--target} de @command{guild compile}.
 
address@hidden détermine s'il faut afficher les avertissement
-d'obsolescence à la compilation de modules.  Il peut valoir @code{#f},
address@hidden ou @code{'detailed}.
+Les paquets construits avec @code{guile-build-system} doivent fournir un
+paquet Guile dans leur champ @code{native-inputs}.
address@hidden defvr
 
-Les autres arguments sont les mêmes que pour @code{derivation}
-(@pxref{Dérivations}).
address@hidden deffn
address@hidden {Variable Scheme} minify-build-system
+Cette variable est exportée par @code{(guix build-system minify)}.  Elle
+implémente une procédure de minification pour des paquets JavaScript
+simples.
 
address@hidden objets simili-fichiers
-Les procédures @code{local-file}, @code{plain-file}, @code{computed-file},
address@hidden et @code{scheme-file} ci-dessous renvoient des
address@hidden simili-fichiers}.  C'est-à-dire, lorsqu'ils sont unquotés dans
-une G-expression, ces objets donnent un fichier dans le dépôt.  Considérez
-cette G-expression :
+Elle ajoute @code{uglify-js} à l'ensemble des entrées et l'utilise pour
+compresser tous les fichiers JavaScript du répertoire @file{src}.  Un
+minifieur différent peut être spécifié avec le paramètre @code{#:uglify-js}
+mais il est attendu que ce paquet écrive le code minifié sur la sortie
+standard.
 
address@hidden
-#~(system* #$(file-append glibc "/sbin/nscd") "-f"
-           #$(local-file "/tmp/my-nscd.conf"))
address@hidden example
+Lorsque les fichiers JavaScript d'entrée ne sont pas situés dans le
+répertoire @file{src}, le paramètre @code{#:javascript-files} peut être
+utilisé pour spécifier une liste de noms de fichiers à donner au minifieur.
address@hidden defvr
 
-Ici, l'effet est « d'internaliser » @file{/tmp/my-nscd.conf} en le copiant
-dans le dépôt.  Une fois étendu, par exemple via @code{gexp->derivation}, la
-G-expression se réfère à cette copie dans @file{/gnu/store} ; ainsi,
-modifier ou supprimer le fichier dans @file{/tmp} n'a aucun effet sur ce que
-fait la G-expression.  @code{plain-file} peut être utilisé de la même
-manière ; elle est seulement différente par le fait que le contenu du
-fichier est passé directement par une chaîne de caractères.
address@hidden {Variable Scheme} ocaml-build-system
+Cette variable est exportée par @code{(guix build-system ocaml)}.  Elle
+implémente une procédure de construction pour les paquets
address@hidden://ocaml.org, OCaml} qui consiste à choisir le bon ensemble de
+commande à lancer pour chaque paquet.  Les paquets OCaml peuvent demander
+des commandes diverses pour être construit.  Ce système de construction en
+essaye certaines.
 
address@hidden {Procédure Scheme} local-file @var{file} address@hidden @
-   [#:recursive? #f] [#:select? (const #t)]
-Renvoie un objet représentant un fichier local @var{file} à ajouter au dépôt
-; cet objet peut être utilisé dans une gexp.  Si @var{file} est un nom de
-fichier relatif, il est récupéré à partir de la position du fichier source
-dans lequel il apparaît.  @var{file} sera ajouté au dépôt sous le nom
address@hidden — par défaut le nom de base de @var{file}.
+Lorsqu'un fichier @file{setup.ml} est présent dans le répertoire de plus
+haut niveau, elle lancera @code{ocaml setup.ml -configure}, @code{ocaml
+setup.ml -build} et @code{ocaml setup.ml -install}.  Le système de
+construction supposera que ces fichiers ont été générés par
address@hidden://oasis.forge.ocamlcore.org/, OASIS} et prendra soin
+d'initialiser le préfixe et d'activer les tests s'ils ne sont pas
+désactivés.  Vous pouvez passer des drapeaux de configuration et de
+construction avec @code{#:configure-flags} et @code{#:build-flags}.  La clef
address@hidden:test-flags} peut être passée pour changer l'ensemble des drapeaux
+utilisés pour activer les tests.  La clef @code{#:use-make?} peut être
+utilisée pour outrepasser ce système dans les phases de construction et
+d'installation.
+
+Lorsque le paquet a un fichier @file{configure}, il est supposé qu'il s'agit
+d'un script configure écrit à la main qui demande un format différent de
+celui de @code{gnu-build-system}.  Vous pouvez ajouter plus de drapeaux avec
+la clef @code{#:configure-flags}.
 
-Lorsque @var{recursive?} est vraie, le contenu de @var{file} est ajouté
-récursivement ; si @var{file} désigne un fichier simple et que
address@hidden est vrai, son contenu est ajouté et ses bits de permissions
-sont préservés.
+Lorsque le paquet a un fichier @file{Makefile} (ou @code{#:use-make?} vaut
address@hidden), il sera utilisé et plus de drapeaux peuvent être passés à la
+construction et l'installation avec la clef @code{#:make-flags}.
 
-Lorsque @var{recursive?} est vraie, appelle @code{(@var{select?} @var{file}
address@hidden)} pour chaque répertoire où @var{file} est le nom de fichier
-absolu de l'entrée et @var{stat} est le résultat de @code{lstat} ; à
-l'exception des entrées pour lesquelles @var{select?} ne renvoie pas vrai.
+Enfin, certains paquets n'ont pas ces fichiers mais utilisent un emplacement
+plus ou moins standard pour leur système de construction.  Dans ce cas, le
+système de construction lancera @code{ocaml pkg/pkg.ml} ou
address@hidden/build.ml} et prendra soin de fournir le chemin du module findlib
+requis.  Des drapeaux supplémentaires peuvent être passés via la clef
address@hidden:bulid-flags}.  L'installation se fait avec
address@hidden  Dans ce cas, le paquet @code{opam} doit être
+ajouté au champ @code{native-inputs} de la définition du paquet.
 
-C'est la version déclarative de la procédure monadique @code{interned-file}
-(@pxref{La monad du dépôt, @code{interned-file}}).
address@hidden deffn
+Remarquez que la plupart des paquets OCaml supposent qu'ils seront installés
+dans le même répertoire qu'OCaml, ce qui n'est pas ce que nous voulons faire
+dans Guix.  En particulier, ils installeront leurs fichiers @file{.so} dans
+leur propre répertoire de module, ce qui est normalement correct puisqu'il
+s'agit du répertoire du compilateur OCaml.  Dans Guix en revanche, le
+bibliothèques ne peuvent pas y être trouvées et on utilise
address@hidden à la place.  Cette variable pointe vers
address@hidden/ocaml/site-lib/stubslibs} et c'est là où les bibliothèques
address@hidden devraient être installées.
address@hidden defvr
 
address@hidden {Procédure Scheme} plain-file @var{name} @var{content}
-Renvoie un objet représentant un fichier texte nommé @var{name} avec pour
-contenu @var{content} (une chaîne de caractères ou un vecteur d'octets) à
-ajouter un dépôt.
address@hidden {Variable Scheme} python-build-system
+Cette variable est exportée par @code{(guix build-system python)}.  Elle
+implémente la procédure de construction plus ou moins standard utilisée pour
+les paquets Python, qui consiste à lancer @code{python setup.py build} puis
address@hidden setup.py install --prefix=/gnu/store/@dots{}}.
 
-C'est la version déclarative de @code{text-file}.
address@hidden deffn
+Pour les paquets qui installent des programmes autonomes dans @code{bin/},
+elle prend soin d'envelopper ces binaires pour que leur variable
+d'environnement @code{PYTHONPATH} pointe vers toutes les bibliothèques
+Python dont ils dépendent.
 
address@hidden {Procédure Scheme} computed-file @var{name} @var{gexp} @
-          [#:options '(#:local-build? #t)]
-Renvoie un objet représentant un élément du dépôt @var{name}, un fichier ou
-un répertoire calculé par @var{gexp}.  @var{options} est une liste
-d'arguments supplémentaires à passer à @code{gexp->derivation}.
+Le paquet Python utilisé pour effectuer la construction peut être spécifié
+avec le paramètre @code{#:python}.  C'est une manière utile de forcer un
+paquet à être construit avec une version particulière de l'interpréteur
+python, ce qui peut être nécessaire si le paquet n'est compatible qu'avec
+une version de l'interpréteur.
 
-C'est la version déclarative de @code{gexp->derivation}.
address@hidden deffn
+Par défaut Guix appelle @code{setup.py} sous le contrôle de
address@hidden, comme le fait @command{pip}.  Certains paquets ne sont
+pas compatibles avec setuptools (et pip), ainsi vous pouvez désactiver cela
+en mettant le paramètre @code{#:use-setuptools} à @code{#f}.
address@hidden defvr
 
address@hidden {Procédure monadique} gexp->script @var{name} @var{exp} @
-  [#:guile (default-guile)] [#:module-path %load-path]
-Renvoie un script exécutable @var{name} qui lance @var{exp} avec
address@hidden, avec les modules importés de @var{exp} dans son chemin de
-recherche.  Cherche les modules de @var{exp} dans @var{module-path}.
address@hidden {Variable Scheme} perl-build-system
+Cette variable est exportée par @code{(guix build-system perl)}.  Elle
+implémente la procédure de construction standard des paquets Perl, qui
+consiste soit à lancer @code{perl Build.PL --prefix=/gnu/store/@dots{}},
+suivi de @code{Build} et @code{Build install} ; ou à lancer @code{perl
+Makefile.PL PREFIX=/gnu/store/@dots{}}, suivi de @code{make} et @code{make
+install}, en fonction de la présence de @code{Build.PL} ou
address@hidden dans la distribution du paquet.  Le premier a la
+préférence si @code{Build.PL} et @code{Makefile.PL} existent tous deux dans
+la distribution du paquet.  Cette préférence peut être inversée en
+spécifiant @code{#t} pour le paramètre @code{#:make-maker?}.
 
-L'exemple ci-dessous construit un script qui invoque simplement la commande
address@hidden :
+L'invocation initiale de @code{perl Makefile.PL} ou @code{perl Build.PL}
+passe les drapeaux spécifiés par le paramètre @code{#:make-maker-flags} ou
address@hidden:module-build-flags}, respectivement.
 
address@hidden
-(use-modules (guix gexp) (gnu packages base))
+Le paquet Perl utilisé peut être spécifié avec @code{#:perl}.
address@hidden defvr
 
-(gexp->script "list-files"
-              #~(execl #$(file-append coreutils "/bin/ls")
-                       "ls"))
address@hidden example
address@hidden {Variable Scheme} r-build-system
+Cette variable est exportée par @code{(guix build-system r)}.  Elle
+implémente la procédure de construction utilisée par les paquets
address@hidden://r-project.org, R} qui consiste à lancer à peine plus que
address@hidden CMD INSTALL --library=/gnu/store/@dots{}} dans un environnement 
où
address@hidden contient les chemins de toutes les entrées R.  Les tests
+sont lancés après l'installation avec la fonction R
address@hidden::testInstalledPackage}.
address@hidden defvr
 
-Lorsqu'elle est « lancée » à travers le dépôt (@pxref{La monad du dépôt,
address@hidden), on obtient une dérivation qui produit une fichier
-exécutable @file{/gnu/store/@dots{}-list-files} qui ressemble à :
address@hidden {Variable Scheme} texlive-build-system
+Cette variable est exportée par @code{(guix build-system texlive)}.  Elle
+est utilisée pour construire des paquets TeX en mode batch avec le moteur
+spécifié.  Le système de construction initialise la variable
address@hidden pour trouver tous les fichiers source TeX dans ses entrées.
 
address@hidden
-#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds
-!#
-(execl "/gnu/store/@dots{}-coreutils-8.22"/bin/ls" "ls")
address@hidden example
address@hidden deffn
+Par défaut, elle lance @code{luatex} sur tous les fichiers qui se terminent
+par @code{ins}.  Un moteur et un format différent peuvent être spécifiés
+avec l'argument @code{#:tex-format}.  Plusieurs cibles de constructions
+peuvent être indiquées avec l'argument @code{#:build-targets} qui attend une
+liste de noms de fichiers.  Le système de construction ajoute uniquement
address@hidden et @code{texlive-latex-base} (de @code{(gnu packages
+tex)} à la liste des entrées.  Les deux peuvent être remplacés avec les
+arguments @code{#:texlive-bin} et @code{#:texlive-latex-base},
+respectivement.
 
address@hidden {Procédure Scheme} program-file @var{name} @var{exp} @
-          [#:guile #f] [#:module-path %load-path]
-Renvoie un objet représentant un élément du dépôt @var{name} qui lance
address@hidden  @var{guile} est le paquet Guile à utiliser pour exécuter le
-script.  Les modules importés par @var{gexp} sont recherchés dans
address@hidden
+Le paramètre @code{#:tex-directory} dit au système de construction où
+installer les fichiers construit dans l'arbre texmf.
address@hidden defvr
 
-C'est la version déclarative de @code{gexp->script}.
address@hidden deffn
address@hidden {Variable Scheme} ruby-build-system
+Cette variable est exportée par @code{(guix build-system ruby)}.  Elle
+implémenter la procédure de construction RubyGems utilisée par les paquets
+Ruby qui consiste à lancer @code{gem build} suivi de @code{gem install}.
 
address@hidden {Procédure monadique} gexp->file @var{name} @var{exp} @
-            [#:set-load-path? #t] [#:module-path %load-path] @
-[#:splice? #f] @
-[#:guile (default-guile)]
-Renvoie une dérivation qui construit un fichier @var{name} contenant
address@hidden  Lorsque @var{splice?} est vrai, @var{exp} est considéré comme
-une liste d'expressions qui seront splicée dans le fichier qui en résulte.
+Le champ @code{source} d'un paquet qui utilise ce système de construction
+référence le plus souvent une archive gem, puisque c'est le format utilisé
+par les développeurs Ruby quand ils publient leur logiciel.  Le système de
+construction décompresse l'archive gem, éventuellement en corrigeant les
+sources, lance la suite de tests, recompresse la gemme et l'installe.  En
+plus, des répertoires et des archives peuvent être référencés pour permettre
+de construire des gemmes qui n'ont pas été publiées depuis Git ou une
+archive de sources traditionnelle.
 
-Lorsque @var{set-load-path?} est vrai, émet du code dans le fichier de
-résultat pour initialiser @code{%load-path} et @code{%load-compiled-path}
-pour honorer les modules importés de @var{exp}.  Les modules de @var{exp}
-sont trouvés dans @var{module-path}.
+Le paquet Ruby utilisé peut être spécifié avec le paramètre @code{#:ruby}.
+Une liste de drapeaux supplémentaires à passer à la commande @command{gem}
+peut être spécifiée avec le paramètre @code{#:gem-flags}.
address@hidden defvr
 
-Le fichier qui en résulte retient les références à toutes les dépendances de
address@hidden ou un sous-ensemble.
address@hidden deffn
address@hidden {Variable Scheme} waf-build-system
+Cette variable est exportée par @code{(guix build-system waf)}.  Elle
+implémente une procédure de construction autour du script @code{waf}.  Les
+phases usuelles — @code{configure}, @code{build} et @code{install} — sont
+implémentée en passant leur nom en argument au script @code{waf}.
 
address@hidden {Procédure Scheme} scheme-file @var{name} @var{exp} [#:splice? 
#f]
-Renvoie un objet représentant le fichier Scheme @var{name} qui contient
address@hidden
+Le script @code{waf} est exécuté par l'interpréteur Python.  Le paquet
+Python utilisé pour lancer le script peut être spécifié avec le paramètre
address@hidden:python}.
address@hidden defvr
 
-C'est la version déclarative de @code{gexp->file}.
address@hidden deffn
address@hidden {Variable Scheme} scons-build-system
+Cette variable est exportée par @code{(guix build-system scons)}.  Elle
+implémente la procédure de construction utilisée par l'outil de construction
+SCons.  Ce système de construction lance @code{scons} pour construire le
+paquet, @code{scons test} pour lancer les tests puis @code{scons install}
+pour installer le paquet.
 
address@hidden {Procédure monadique} text-file* @var{name} @var{text} @dots{}
-Renvoie une valeur monadique qui construit un ficher texte contenant
address@hidden  @var{text} peut lister, en plus de chaînes de caractères, des
-objet de n'importe quel type qui peut être utilisé dans une gexp : des
-paquets, des dérivations, des fichiers objet locaux, etc.  Le fichier du
-dépôt qui en résulte en retient toutes les références.
+On peut passer des drapeaux supplémentaires à @code{scons} en les spécifiant
+avec le paramètre @code{#:scons-flags}.  La version de python utilisée pour
+lancer SCons peut être spécifiée en sélectionnant le paquet SCons approprié
+avec le paramètre @code{#:scons}.
address@hidden defvr
 
-Cette variante devrait être préférée à @code{text-file} lorsque vous
-souhaitez créer des fichiers qui référencent le dépôt.  Cela est le cas
-typiquement lorsque vous construisez un fichier de configuration qui
-contient des noms de fichiers du dépôt, comme ceci :
address@hidden {Variable Scheme} haskell-build-system
+Cette variable est exportée par @code{(guix build-system haskell)}.  Elle
+implémente la procédure de construction Cabal utilisée par les paquets
+Haskell, qui consiste à lancer @code{runhaskell Setup.hs configure
+--prefix=/gnu/store/@dots{}} et @code{runhaskell Setup.hs build}.  Plutôt
+que d'installer le paquets en lançant @code{runhaskell Setup.hs install},
+pour éviter d'essayer d'enregistrer les bibliothèques dans le répertoire du
+dépôt en lecture-seule du compilateur, le système de construction utilise
address@hidden Setup.hs copy}, suivi de @code{runhaskell Setup.hs
+register}.  En plus, le système de construction génère la documentation du
+paquet en lançant @code{runhaskell Setup.hs haddock}, à moins que
address@hidden:haddock? #f} ne soit passé.  Des paramètres facultatifs pour 
Haddock
+peuvent être passés à l'aide du paramètre @code{#:haddock-flags}.  Si le
+fichier @code{Setup.hs} n'est pas trouvé, le système de construction
+cherchera @code{Setup.lhs} à la place.
 
address@hidden
-(define (profile.sh)
-  ;; Renvoie le nom d'un script shell dans le dépôt qui initialise
-  ;; la variable d'environnement « PATH ».
-  (text-file* "profile.sh"
-              "export PATH=" coreutils "/bin:"
-              grep "/bin:" sed "/bin\n"))
address@hidden example
+Le compilateur Haskell utilisé peut être spécifié avec le paramètre
address@hidden:haskell} qui a pour valeur par défaut @code{ghc}.
address@hidden defvr
 
-Dans cet exemple, le fichier @file{/gnu/store/@dots{}-profile.sh} qui en
-résulte référence  @var{coreutils}, @var{grep} et @var{sed}, ce qui les
-empêche d'être glanés tant que le script est accessible.
address@hidden deffn
address@hidden {Variable Scheme} dub-build-system
+Cette variable est exportée par @code{(guix build-system dub)}.  Elle
+implémente la procédure de construction Dub utilisée par les paquets D qui
+consiste à lancer @code{dub build} et @code{dub run}.  L'installation est
+effectuée en copiant les fichiers manuellement.
 
address@hidden {Procédure Scheme} mixed-text-file @var{name} @var{text} @dots{}
-Renvoie un objet représentant le fichier du dépôt @var{name} contenant
address@hidden  @var{text} est une séquence de chaînes de caractères et de
-fichiers simili-objets, comme dans :
+Le compilateur D utilisé peut être spécifié avec le paramètre @code{#:ldc}
+qui vaut par défaut @code{ldc}.
address@hidden defvr
 
address@hidden
-(mixed-text-file "profile"
-                 "export PATH=" coreutils "/bin:" grep "/bin")
address@hidden example
address@hidden {Variable Scheme} emacs-build-system
+Cette variable est exportée par @code{(guix build-system emacs)}.  Elle
+implémente une procédure d'installation similaire au système de gestion de
+paquet d'Emacs lui-même (@pxref{Packages,,, emacs, The GNU Emacs Manual}).
+
+Elle crée d'abord le fichier @address@hidden, puis compile
+tous les fichiers Emacs Lisp en bytecode.  Contrairement au système de
+gestion de paquets d'Emacs, les fichiers de documentation info sont déplacés
+dans le répertoire standard et le fichier @file{dir} est supprimé.  Chaque
+paquet est installé dans son propre répertoire dans
address@hidden/emacs/site-lisp/guix.d}.
address@hidden defvr
 
-C'est la version déclarative de @code{text-file*}.
address@hidden deffn
address@hidden {Variable Scheme} font-build-system
+This variable is exported by @code{(guix build-system font)}.  It implements
+an installation procedure for font packages where upstream provides
+pre-compiled TrueType, OpenType, etc.@: font files that merely need to be
+copied into place.  It copies font files to standard locations in the output
+directory.
address@hidden defvr
 
address@hidden {Procédure Scheme} file-union @var{name} @var{files}
-Renvoie un @code{<computed-file>} qui construit un répertoire qui contient
-tous les fichiers de @var{files}.  Chaque élément de @var{files} doit être
-une paire où le premier élément est le nom de fichier à utiliser dans le
-nouveau répertoire et le second élément est une gexp dénotant le fichier
-cible.  Voici un exemple :
address@hidden {Variable Scheme} meson-build-system
+Cette variable est exportée par @code{(guix build-system meson)}.  Elle
+implémente la procédure de construction des paquets qui utilisent
address@hidden://mesonbuild.com, Meson} comme système de construction.
 
address@hidden
-(file-union "etc"
-            `(("hosts" ,(plain-file "hosts"
-                                    "127.0.0.1 localhost"))
-              ("bashrc" ,(plain-file "bashrc"
-                                     "alias ls='ls --color=auto'"))))
address@hidden example
+Elle ajoute à la fois Meson et @uref{https://ninja-build.org/, Ninja} à
+l'ensemble des entrées, et ils peuvent être modifiés avec les paramètres
address@hidden:meson} et @code{#:ninja} si requis.  Le Meson par défaut est
address@hidden, qui est spécial parce qu'il ne nettoie pas le
address@hidden des binaires et les bibliothèques qu'il installe.
 
-Cela crée un répertoire @code{etc} contenant ces deux fichiers.
address@hidden deffn
+Ce système de construction est une extension de @var{gnu-build-system}, mais
+avec les phases suivantes modifiées pour Meson :
 
address@hidden {Procédure Scheme} directory-union @var{name} @var{things}
-Renvoie un répertoire qui est l'union de @var{things}, où @var{things} est
-une liste d'objets simili-fichiers qui dénotent des répertoires. Par exemple
-:
address@hidden @code
 
address@hidden
-(directory-union "guile+emacs" (list guile emacs))
address@hidden example
address@hidden configure
+La phase lance @code{meson} avec les drapeaux spécifiés dans
address@hidden:configure-flags}.  Le drapeau @code{--build-type} est toujours
+initialisé à @code{plain} à moins que quelque chose d'autre ne soit spécifié
+dans @code{#:build-type}.
 
-crée un répertoire qui est l'union des paquets @code{guile} et @code{emacs}.
address@hidden deffn
address@hidden build
+La phase lance @code{ninja} pour construire le paquet en parallèle par
+défaut, mais cela peut être changé avec @code{#:parallel-build?}.
 
address@hidden {Procédure Scheme} file-append @var{obj} @var{suffix} @dots{}
-Renvoie un objet simili-fichier qui correspond à la concaténation de
address@hidden et @var{suffix} où @var{obj} est un objet abaissable et chaque
address@hidden est une chaîne de caractères.
address@hidden check
+La phase lance @code{ninja} avec la cible spécifiée dans
address@hidden:test-target}, qui est @code{"test"} par défaut.
 
-Par exemple, considérez cette gexp :
address@hidden install
+La phase lance @code{ninja install} et ne peut pas être changée.
address@hidden table
 
address@hidden
-(gexp->script "run-uname"
-              #~(system* #$(file-append coreutils
-                                        "/bin/uname")))
address@hidden example
+En dehors de cela, le système de construction ajoute aussi la phase suivante
+:
 
-On peut obtenir le même effet avec :
address@hidden @code
 
address@hidden
-(gexp->script "run-uname"
-              #~(system* (string-append #$coreutils
-                                        "/bin/uname")))
address@hidden example
address@hidden fix-runpath
+Cette phase s'assure que tous les binaire peuvent trouver les bibliothèques
+dont ils ont besoin.  Elle cherche les bibliothèques requises dans les
+sous-répertoires du paquet en construction et les ajoute au @code{RUNPATH}
+là où c'est nécessaire.  Elle supprime aussi les références aux
+bibliothèques laissées là par la phase de construction par
address@hidden comme les dépendances des tests, qui ne sont pas
+vraiment requises pour le programme.
 
-Il y a une différence cependant : dans le cas @code{file-append}, le script
-qui en résulte contient le nom de fichier absolu comme une chaîne de
-caractère alors que dans le deuxième cas, le script contient une expression
address@hidden(string-append @dots{})} pour construire le nom de fichier @emph{à
-l'exécution}.
address@hidden deffn
address@hidden glib-or-gtk-wrap
+Cette phase est la phase fournie par @code{glib-or-gtk-build-system} et
+n'est pas activée par défaut.  Elle peut l'être avec @code{#:glib-or-gtk?}.
 
address@hidden glib-or-gtk-compile-schemas
+Cette phase est la phase fournie par @code{glib-or-gtk-build-system} et
+n'est pas activée par défaut.  Elle peut l'être avec @code{#:glib-or-gtk?}.
address@hidden table
address@hidden defvr
 
-Bien sûr, en plus de gexps inclues dans le code « hôte », certains modules
-contiennent des outils de construction.  Pour savoir facilement qu'ils sont
-à utiliser dans la strate de construction, ces modules sont gardés dans
-l'espace de nom @code{(guix build @dots{})}.
+Enfin, pour les paquets qui n'ont pas besoin de choses sophistiquées, un
+système de construction « trivial » est disponible.  Il est trivial dans le
+sens où il ne fournit en gros aucun support : il n'apporte pas de dépendance
+implicite, et n'a pas de notion de phase de construction.
 
address@hidden abaissement, des objets haut-niveau dans les gepxs
-En interne, les objets de haut-niveau sont @dfn{abaissés}, avec leur
-compilateur, soit en des dérivations, soit en des objets du dépôt.  Par
-exemple, abaisser un paquet crée une dérivation, et abaisser un
address@hidden crée un élément du dépôt.  Cela est effectué par la
-procédure monadique @code{lower-object}.
address@hidden {Variable Scheme} trivial-build-system
+Cette variable est exportée par @code{(guix build-system trivial)}.
 
address@hidden {Procédure monadique} lower-object @var{obj} address@hidden @
-           [#:target #f]
-Renvoie la dérivation ou l'élément du dépôt comme une valeur de
address@hidden qui correspond à @var{obj} pour @var{system}, en
-compilant de manière croisée pour @var{target} si @var{target} est vrai.
address@hidden doit être un objet qui a un compilateur de gexp associé, comme un
address@hidden<package>}.
address@hidden deffn
+Ce système de construction requiert un argument @code{#:builder}.  Cet
+argument doit être une expression Scheme qui construit la sortie du paquet —
+comme avec @code{build-expression->derivation} (@pxref{Dérivations,
address@hidden>derivation}}).
address@hidden defvr
 
address@hidden Invoquer guix repl
address@hidden Invoquer @command{guix repl}
address@hidden Le dépôt
address@hidden Le dépôt
 
address@hidden REPL, read-eval-print loop
-La commande @command{guix repl} démarre un @dfn{boucle
-lecture-évaluation-affichage} Guile pour la programmation interactive
-(@pxref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}).
-Comparé au lancement de la commande @command{guile}, @command{guix repl}
-garanti que tous les modules Guix et toutes ses dépendances sont disponibles
-dans le chemin de recherche.  Vous pouvez l'utiliser de cette manière :
address@hidden dépôt
address@hidden éléments du dépôt
address@hidden chemins dans le dépôt
 
address@hidden
-$ guix repl
-scheme@@(guile-user)> ,use (gnu packages base)
-scheme@@(guile-user)> coreutils
-$1 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300>
address@hidden example
+Conceptuellement, le @dfn{dépôt} est l'endroit où les dérivations qui ont
+bien été construites sont stockées — par défaut, @file{/gnu/store}.  Les
+sous-répertoires dans le dépôt s'appellent des @dfn{éléments du dépôt} ou
+parfois des @dfn{chemins du dépôt}.  Le dépôt a une base de données associée
+qui contient des informations comme les chemins du dépôt auxquels se
+réfèrent chaque chemin du dépôt et la liste des éléments du dépôt
address@hidden — les résultats d'une construction réussie.  Cette base de
+données se trouve dans @address@hidden/guix/db} où
address@hidden est le répertoire d'états spécifié @i{via} @option
+{--localstatedir} à la configuration, typiquement @file{/var}.
 
address@hidden inférieurs
-En plus, @command{guix repl} implémente un protocole REPL simple lisible par
-une machine à utiliser avec @code{(guix inferior)}, un dispositif pour
-interagir avec des @dfn{inférieurs}, des processus séparés qui font tourner
-une version potentiellement différente de Guix.
+C'est @emph{toujours} le démon qui accède au dépôt pour le compte de ses
+clients (@pxref{Invoquer guix-daemon}).  Pour manipuler le dépôt, les
+clients se connectent au démon par un socket Unix-domain, envoient une
+requête dessus et lisent le résultat — ce sont des appels de procédures
+distantes, ou RPC.
 
-Les options disponibles sont les suivante :
address@hidden Remarque
+Les utilisateurs ne doivent @emph{jamais} modifier les fichiers dans
address@hidden/gnu/store} directement.  Cela entraînerait des incohérences et
+casserait l'hypothèse d'immutabilité du modèle fonctionnel de Guix
+(@pxref{Introduction}).
 
address@hidden @code
address@hidden address@hidden
address@hidden -t @var{type}
-Démarrer un REPL du @var{type} donné, qui peut être l'un de ces types :
address@hidden guix gc, @command{guix gc --verify}}, pour des informations
+sur la manière de vérifier l'intégrité du dépôt et d'essayer de réparer des
+modifications accidentelles.
address@hidden quotation
 
address@hidden @code
address@hidden guile
-C'est la valeur par défaut.  Elle démarre un REPL Guile standard
-fonctionnel.
address@hidden machine
-Démarre un REPL qui utilise le protocole lisible par machine.  C'est le
-protocole que parle le module @code{(guix inferior)}.
address@hidden table
+Le module @code{(guix store)} fournit des procédures pour se connecter au
+démon et pour effectuer des RPC.  Elles sont décrites plus bas.  Par défaut,
address@hidden, et donc toutes les commandes @command{guix} se
+connectent au démon local ou à l'URI spécifiée par la variable
+d'environnement @code{GUIX_DAEMON_SOCKET}.
 
address@hidden address@hidden
-Par défaut, @command{guix repl} lit depuis l'entrée standard et écrit sur la
-sortie standard.  Lorsque cette option est passée, il écoutera plutôt les
-connexions sur @var{endpoint}.  Voici un exemple d'options valides :
address@hidden {Variable d'environnement} GUIX_DAEMON_SOCKET
+Lorsqu'elle est initialisée, la valeur de cette variable devrait être un nom
+de fichier ou une URI qui désigne l'extrémité du démon.  Lorsque c'est un
+nom de fichier, il dénote un socket Unix-domain où se connecter.  En plus
+des noms de fichiers, les schémas d'URI supportés sont :
 
 @table @code
address@hidden --listen=tcp:37146
-Accepte les connexions sur localhost, sur le port 31.
-
address@hidden --listen=unix:/tmp/socket
-Accepte les connexions sur le socket Unix-domain @file{/tmp/socket}.
address@hidden table
address@hidden table
-
address@hidden 
*********************************************************************
address@hidden Utilitaires
address@hidden Utilitaires
address@hidden file
address@hidden unix
+Pour les sockets Unix-domain.  @code{file:///var/guix/daemon-socket/socket}
+est équivalent à @file{/var/guix/daemon-socket/socket}.
 
-cette section décrit les utilitaires en ligne de commande de Guix.  certains
-sont surtout faits pour les développeurs qui écrivent de nouvelles
-définitions de paquets tandis que d'autres sont plus utiles pour une
-utilisation générale.  Ils complètent l'interface de programmation Scheme de
-Guix d'une manière pratique.
address@hidden guix
address@hidden démon, accès distant
address@hidden accès distant au démon
address@hidden démon, paramètres de grappes
address@hidden grappes, paramètres du démon
+Ces URI dénotent des connexions par TCP/IP, sans chiffrement ni
+authentification de l'hôte distant.  L'URI doit spécifier le nom d'hôte et
+éventuellement un numéro de port (par défaut 44146) :
 
address@hidden
-* Invoquer guix build::      Construire des paquets depuis la ligne de 
-                               commande.
-* Invoquer guix edit::       Modifier les définitions de paquets.
-* Invoquer guix download::   Télécharger un fichier et afficher son hash.
-* Invoquer guix hash::       Calculer le hash cryptographique d'un fichier.
-* Invoquer guix import::     Importer des définitions de paquets.
-* Invoquer guix refresh::    Mettre à jour les définitions de paquets.
-* Invoquer guix lint::       Trouver des erreurs dans les définitions de 
-                               paquets.
-* Invoquer guix size::       Profiler l'utilisation du disque.
-* Invoquer guix graph::      Visualiser le graphe des paquets.
-* Invoquer guix environment::  Mettre en place des environnements de 
-                                 développement.
-* Invoquer guix publish::    Partager des substituts.
-* Invoquer guix challenge::  Défier les serveurs de substituts.
-* Invoquer guix copy::       Copier vers et depuis un dépôt distant.
-* Invoquer guix container::  Isolation de processus.
-* Invoquer guix weather::    Mesurer la disponibilité des substituts.
-* Invoquer guix processes::  Lister les processus clients.
address@hidden menu
address@hidden
+guix://master.guix.example.org:1234
address@hidden example
 
address@hidden Invoquer guix build
address@hidden Invoquer @command{guix build}
+Ce paramétrage est adapté aux réseaux locaux, comme dans le cas de grappes
+de serveurs, où seuls des noms de confiance peuvent se connecter au démon de
+construction sur @code{master.guix.example.org}.
 
address@hidden construction de paquets
address@hidden @command{guix build}
-La commande @command{guix build} construit des paquets ou des dérivations et
-leurs dépendances et affiche les chemins du dépôt qui en résulte.  Remarquez
-qu'elle ne modifie pas le profil de l'utilisateur — c'est le travail de la
-commande @command{guix package} (@pxref{Invoquer guix package}).  Ainsi,
-elle est surtout utile pour les développeurs de la distribution.
+L'option @code{--listen} de @command{guix-daemon} peut être utilisé pour lui
+dire d'écouter des connexions TCP (@pxref{Invoquer guix-daemon,
address@hidden).
 
-La syntaxe générale est :
address@hidden ssh
address@hidden accès SSH au démon de construction
+Ces URI vous permettent de vous connecter au démon à distance à travers
address@hidden fonctionnalité requiert Guile-SSH
+(@pxref{Prérequis}).}.
 
 @example
-guix build @var{options} @address@hidden
+ssh://charlie@@guix.example.org:22
 @end example
 
-Par exemple, la commande suivante construit la dernière version d'Emacs et
-de Guile, affiche leur journaux de construction et enfin affiche les
-répertoires des résultats :
+Comme pour @command{guix copy}, les fichiers de configuration du client
+OpenSSH sont respectés (@pxref{Invoquer guix copy}).
address@hidden table
 
address@hidden
-guix build emacs guile
address@hidden example
+Des schémas d'URI supplémentaires pourraient être supportés dans le futur.
 
-De même, la commande suivante construit tous les paquets disponibles :
address@hidden XXX: Remove this note when the protocol incurs fewer round trips
address@hidden and when (guix derivations) no longer relies on file system 
access.
address@hidden Remarque
+La capacité de se connecter à un démon de construction distant est considéré
+comme expérimental à la version @value{VERSION}.  Contactez-nous pour
+partager vos problèmes ou des suggestions que vous pourriez avoir
+(@pxref{Contribuer}).
address@hidden quotation
address@hidden defvr
 
address@hidden
-guix build --quiet --keep-going \
-  `guix package -A | cut -f1,2 --output-delimiter=@@`
address@hidden example
address@hidden {Procédure Scheme} open-connection address@hidden 
[#:reserve-space? #t]
+Se connecte au démon à travers le socket Unix-domain à @var{uri} (une chaîne
+de caractères).  Lorsque @var{reserve-space?} est vrai, cela demande de
+réserver un peu de place supplémentaire sur le système de fichiers pour que
+le ramasse-miette puisse opérer au cas où le disque serait plein.  Renvoie
+un objet serveur.
 
address@hidden peut être soit le nom d'un paquet trouvé dans la
-distribution logicielle comme @code{coreutils}, soit @code{coreutils@@8.20},
-soit une dérivation comme @file{/gnu/store/@dots{}-coreutils-8.19.drv}.
-Dans le premier cas, la commande cherchera un paquet avec le nom
-correspondant (et éventuellement la version) dans les modules de la
-distribution GNU (@pxref{Modules de paquets}).
address@hidden a pour valeur par défaut @var{%default-socket-path}, qui est
+l'emplacement normal en fonction des options données à @command{configure}.
address@hidden deffn
 
-Autrement, l'option @code{--expression} peut être utilisée pour spécifier
-une expression Scheme qui s'évalue en un paquet ; c'est utile pour
-différencier des paquets avec le même nom ou des variantes de paquets.
address@hidden {Procédure Scheme} close-connection @var{server}
+Ferme la connexion au @var{serveur}.
address@hidden deffn
 
-Il peut y avoir aucune, une ou plusieurs @var{options}.  Les options
-disponibles sont décrites dans les sous-sections ci-dessous.
address@hidden {Variable Scheme} current-build-output-port
+Cette variable est liée à un paramètre SRFI-39, qui se réfère au port où les
+journaux de construction et d'erreur envoyés par le démon devraient être
+écrits.
address@hidden defvr
 
address@hidden
-* Options de construction communes::  Options de construction pour la 
-                                        plupart des commandes.
-* Options de transformation de paquets::  Créer des variantes de paquets.
-* Options de construction supplémentaires::  Options spécifiques à « 
-                                                guix build ».
-* Débogage des échecs de construction::  La vie d'un empaqueteur.
address@hidden menu
+Les procédures qui font des RPC prennent toutes un objet serveur comme
+premier argument.
 
address@hidden Options de construction communes
address@hidden Options de construction communes
address@hidden {Procédure Scheme} valid-path? @var{server} @var{path}
address@hidden éléments du dépôt invalides
+Renvoie @code{#t} lorsque @var{path} désigne un élément du dépôt valide et
address@hidden sinon (un élément invalide peut exister sur le disque mais rester
+invalide, par exemple parce que c'est le résultat d'une construction annulée
+ou échouée).
 
-Un certain nombre d'options qui contrôlent le processus de construction sont
-communes avec @command{guix build} et les autres commandes qui peuvent
-générer des constructions, comme @command{guix package} ou @command{guix
-archive}.  Voici ces options :
+A @code{&store-protocol-error} condition is raised if @var{path} is not
+prefixed by the store directory (@file{/gnu/store}).
address@hidden deffn
 
address@hidden @code
address@hidden {Procédure Scheme} add-text-to-store @var{server} @var{name} 
@var{text} address@hidden
+Ajoute @var{text} dans le fichier @var{name} dans le dépôt et renvoie son
+chemin.  @var{references} est la liste des chemins du dépôt référencés par
+le chemin du dépôt qui en résulte.
address@hidden deffn
 
address@hidden address@hidden
address@hidden -L @var{répertoire}
-Ajoute @var{répertoire} au début du chemin de recherche de module de paquets
-(@pxref{Modules de paquets}).
address@hidden {Procédure Scheme} build-derivations @var{server} 
@var{derivations}
+Construit @var{derivaton} (ne liste d'objets @code{<derivation>} ou de
+chemins de dérivations) et retourne quand le travailleur a fini de les
+construire.  Renvoie @code{#t} en cas de réussite.
address@hidden deffn
 
-Cela permet à des utilisateurs de définir leur propres paquets et les rendre
-disponibles aux outils en ligne de commande.
+Remarque que le module @code{(guix monads)} fournit une monade ainsi que des
+version monadiques des procédures précédentes, avec le but de rendre plus
+facile de travailler avec le code qui accède au dépôt (@pxref{La monade du 
dépôt}).
 
address@hidden --keep-failed
address@hidden -K
-Garde l'arborescence de construction des constructions en échec.  Ainsi, si
-une construction échoue, son arborescence de construction est préservée dans
address@hidden/tmp}, dans un répertoire dont le nom est affiché à la fin du 
journal
-de construction.  Cela est utile pour déboguer des échecs de construction.
address@hidden des échecs de construction}, pour des astuces sur la manière de 
déboguer
-des problèmes de construction.
address@hidden FIXME
address@hidden section est actuellement incomplète.}
 
-Cette option n'a pas d'effet lors de la connexion à un démon distant avec
-l'URI @code{guix://} (@pxref{Le dépôt, la variable
address@hidden).
address@hidden Dérivations
address@hidden Dérivations
 
address@hidden --keep-going
address@hidden -k
-Continue lorsque certaines dérivations échouent ; ne s'arrête que lorsque
-toutes les constructions ont soit réussies, soit échouées.
address@hidden dérivations
+Les actions de construction à bas-niveau et l'environnement dans lequel
+elles sont effectuées sont représentés par des @dfn{dérivations}.  Une
+dérivation contient cet ensemble d'informations :
 
-Le comportement par défaut est de s'arrêter dès qu'une des dérivations
-spécifiées échoue.
address@hidden
address@hidden
+Les sorties de la dérivation — les dérivations produisent au moins un
+fichier ou répertoire dans le dépôt, mais peuvent en produire plus.
 
address@hidden --dry-run
address@hidden -n
-Ne pas construire les dérivations.
address@hidden
+Les entrées de la dérivation, qui peuvent être d'autres dérivations ou des
+fichiers dans le dépôt (correctifs, scripts de construction, etc).
 
address@hidden de repli}
address@hidden --fallback
-Lorsque la substitution d'un binaire pré-compilé échoue, construit les
-paquets localement à la place (@pxref{Échec de substitution}).
address@hidden
+Le type de système ciblé par la dérivation — p.ex.@: @code{x86_64-linux}.
 
address@hidden address@hidden
address@hidden
-Considère @var{urls} comme une liste d'URL de sources de substituts séparés
-par des espaces, et remplace la liste par défaut d'URL de
address@hidden (@pxref{daemon-substitute-urls,, @command{guix-daemon}
-URLs}).
address@hidden
+Le nom de fichier d'un script de construction dans le dépôt avec les
+arguments à lui passer.
 
-Cela signifie que les substituts peuvent être téléchargés depuis @var{urls},
-tant qu'ils sont signés par une clef autorisée par l'administrateur système
-(@pxref{Substituts}).
address@hidden
+Une liste de variables d'environnement à définir.
 
-Lorsque @var{urls} est la chaîne vide, cela a pour effet de désactiver la
-substitution.
address@hidden itemize
 
address@hidden --no-substitutes
-Ne pas utiliser de substitut pour les résultats de la construction.
-C'est-à-dire, toujours construire localement plutôt que de permettre le
-téléchargement de binaires pré-construits (@pxref{Substituts}).
address@hidden chemin de dérivation
+Les dérivations permettent aux client du démon de communiquer des actions de
+construction dans le dépôt.  Elles existent sous deux formes : en tant que
+représentation en mémoire, à la fois côté client et démon, et en tant que
+fichiers dans le dépôt dont le nom fini par @code{.drv} — on dit que ce sont
+des @dfn{chemins de dérivations}.  Les chemins de dérivations peuvent être
+passés à la procédure @code{build-derivations} pour effectuer les actions de
+construction qu'ils prescrivent (@pxref{Le dépôt}).
 
address@hidden --no-grafts
-Ne par « greffer » les paquets.  En pratique, cela signifie que les mises à
-jour des paquets disponibles comme des greffes ne sont pas appliquées.
address@hidden à jour de sécurité}, pour plus d'information sur les greffes.
address@hidden dérivations à sortie fixe
+Des opérations comme le téléchargement de fichiers et la récupération de
+sources gérés par un logiciel de contrôle de version pour lesquels le hash
+du contenu est connu à l'avance sont modélisés par des @dfn{dérivations à
+sortie fixe}.  Contrairement aux dérivation habituelles, les sorties d'une
+dérivation à sortie fixe sont indépendantes de ses entrées — p.ex.@: un code
+source téléchargé produit le même résultat quelque soit la méthode de
+téléchargement utilisée.
 
address@hidden address@hidden
-Construit chaque dérivation @var{n} fois d'affilé, et renvoie une erreur si
-les constructions consécutives ne sont pas identiques bit-à-bit.
+Le module @code{(guix derivations)} fournit une représentation des
+dérivations comme des objets Scheme, avec des procédures pour créer et
+manipuler des dérivations.  La primitive de plus bas-niveau pour créer une
+dérivation est la procédure @code{derivation} :
 
-Cela est une manière utile pour détecter des processus de construction non
-déterministes.  Les processus de construction non déterministes sont
-problématiques car ils rendent pratiquement impossible la
address@hidden par les utilisateurs de l'authenticité de binaires
-tiers.  @xref{Invoquer guix challenge}, pour plus d'informations.
address@hidden {Procédure Scheme} derivation @var{store} @var{name} 
@var{builder} @
+  @var{args} [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @
+[#:recursive? #f] [#:inputs '()] [#:env-vars '()] @
+[#:system (%current-system)] [#:references-graphs #f] @
+[#:allowed-references #f] [#:disallowed-references #f] @
+[#:leaked-env-vars #f] [#:local-build? #f] @
+[#:substitutable? #t] [#:properties '()]
+Construit une dérivation avec les arguments donnés et renvoie l'objet
address@hidden<derivation>} obtenu.
 
-Remarquez que, les résultats qui diffèrent ne sont pas gardés, donc vous
-devrez inspecter manuellement chaque erreur — p.@: ex.@: en gardant l'un des
-résultats avec @code{guix archive --export} (@pxref{Invoquer guix archive}),
-puis en reconstruisant, et enfin en comparant les deux résultats.
+Lorsque @var{hash} et @var{hash-algo} sont donnés, une @dfn{dérivation à
+sortie fixe} est créée — c.-à-d.@: une dérivation dont le résultat est connu
+à l'avance, comme dans le cas du téléchargement d'un fichier.  Si, en plus,
address@hidden est vrai, alors la sortie fixe peut être un fichier
+exécutable ou un répertoire et @var{hash} doit être le hash d'une archive
+contenant la sortie.
 
address@hidden --no-build-hook
-N'essaye pas de décharger les constructions via le « crochet de construction
-» du démon (@pxref{Réglages du délestage du démon}).  C'est-à-dire que tout 
sera
-construit localement plutôt que de décharger les constructions à une machine
-distante.
+Lorsque @var{references-graphs} est vrai, il doit s'agir d'une liste de
+paires de noms de fichiers et de chemins du dépôt.  Dans ce cas, le graphe
+des références de chaque chemin du dépôt est exporté dans l'environnement de
+construction dans le fichier correspondant, dans un simple format texte.
 
address@hidden address@hidden
-Lorsque le processus de construction ou de substitution restent silencieux
-pendant plus de @var{secondes}, le terminer et rapporter une erreur de
-construction.
+Lorsque @var{allowed-references} est vrai, il doit s'agir d'une liste
+d'éléments du dépôt ou de sorties auxquelles la sortie de la dérivations
+peut faire référence.  De même, @var{disallowed-references}, si vrai, doit
+être une liste de choses que la sortie ne doit @emph{pas} référencer.
 
-Par défaut, les paramètres du démon sont pris en compte (@pxref{Invoquer 
guix-daemon, @code{--max-silent-time}}).
+Lorsque @var{leaked-env-vars} est vrai, il doit s'agir d'une liste de
+chaînes de caractères qui désignent les variables d'environnements qui
+peuvent « fuiter » de l'environnement du démon dans l'environnement de
+construction.  Ce n'est possible que pour les dérivations à sortie fixe —
+c.-à-d.@: lorsque @var{hash} est vrai.  L'utilisation principale est de
+permettre à des variables comme @code{http_proxy} d'être passées aux
+dérivations qui téléchargent des fichiers.
+
+Lorsque @var{local-build?} est vrai, déclare que la dérivation n'est pas un
+bon candidat pour le déchargement et devrait plutôt être construit
+localement (@pxref{Réglages du délestage du démon}).  C'est le cas des petites
+dérivations où le coût du transfert de données est plus important que les
+bénéfices.
 
address@hidden address@hidden
-De même, lorsque le processus de construction ou de substitution dure plus
-de @var{secondes}, le terminer et rapporter une erreur de construction.
+Lorsque que @var{substitutable?} est faux, déclare que les substituts de la
+sortie de la dérivation ne devraient pas être utilisés
+(@pxref{Substituts}). Cela est utile par exemple pour construire des paquets
+qui utilisent des détails du jeu d'instruction du CPU hôte.
 
-Par défaut, les paramètres du démon sont pris en compte (@pxref{Invoquer 
guix-daemon, @code{--timeout}}).
address@hidden doit être une liste d'association décrivant les «
+propriétés » de la dérivation.  Elle est gardée telle-quelle, sans être
+interprétée, dans la dérivation.
address@hidden deffn
 
address@hidden address@hidden
-Utilise le niveau de verbosité donné.  @var{level} doit être un entier entre
-0 et 5 ; les entiers les plus hauts signifient une sortie plus verbeuse.  Le
-mettre à 4 ou plus peut être utile pour déboguer des problèmes de
-configuration du démon de construction.
address@hidden
+Voici un exemple avec un script shell comme constructeur, en supposant que
address@hidden est une connexion ouverte au démon et @var{bash} pointe vers un
+exécutable Bash dans le dépôt :
 
address@hidden address@hidden
address@hidden -c @var{n}
-Permet d'utiliser jusqu'à @var{n} cœurs du CPU pour la construction.  La
-valeur spéciale @code{0} signifie autant de cœurs que possible.
address@hidden
+(use-modules (guix utils)
+             (guix store)
+             (guix derivations))
 
address@hidden address@hidden
address@hidden -M @var{n}
-Permet au plus @var{n} travaux de construction en parallèle.  @xref{Invoquer 
guix-daemon, @code{--max-jobs}}, pour plus de détails sur cette option et
-l'option équivalente pour @command{guix-daemon}.
+(let ((builder   ; ajoute le script Bash au dépôt
+        (add-text-to-store store "my-builder.sh"
+                           "echo hello world > $out\n" '())))
+  (derivation store "foo"
+              bash `("-e" ,builder)
+              #:inputs `((,bash) (,builder))
+              #:env-vars '(("HOME" . "/homeless"))))
address@hidden #<derivation /gnu/store/@dots{}-foo.drv => 
/gnu/store/@dots{}-foo>
address@hidden lisp
 
address@hidden table
+Comme on pourrait s'en douter, cette primitive est difficile à utiliser
+directement.  Une meilleure approche est d'écrire les scripts de
+construction en Scheme, bien sur !  Le mieux à faire pour cela est d'écrire
+le code de construction comme une « G-expression » et de la passer à
address@hidden>derivation}.  Pour plus d'informations, @pxref{G-Expressions}.
 
-Sous le capot, @command{guix build} est surtout un interface à la procédure
address@hidden du module @code{(guix packages)}, et à la
-procédure @code{build-derivations} du module @code{(guix derivations)}.
+Il fut un temps où @code{gexp->derivation} n'existait pas et où construire
+une dérivation donc le code de construction était écrit en Scheme se faisait
+avec @code{build-expression->derivation}, documenté plus bas.  Cette
+procédure est maintenant obsolète, remplacée par @code{gexp->derivation} qui
+est meilleure.
 
-En plus des options passées explicitement par la ligne de commande,
address@hidden build} et les autres commande @command{guix} qui peuvent
-effectuer des construction honorent la variable d'environnement
address@hidden
address@hidden {Procédure Scheme} build-expression->derivation @var{store} @
+       @var{name} @var{exp} @
+[#:system (%current-system)] [#:inputs '()] @
+[#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @
+[#:recursive? #f] [#:env-vars '()] [#:modules '()] @
+[#:references-graphs #f] [#:allowed-references #f] @
+[#:disallowed-references #f] @
+[#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f]
+Renvoie une dérivation qui exécute l'expression Scheme @var{exp} comme un
+constructeur pour la dérivation @var{name}.  @var{inputs} doit être une
+liste de tuples @code{(name drv-path sub-drv)} ; lorsque @var{sub-drv} est
+omis, @code{"out"} est utilisé.  @var{modules} est une liste de noms de
+modules Guile du chemin de recherche actuel qui seront copiés dans le dépôt,
+compilés et rendus disponibles dans le chemin de chargement pendant
+l'exécution de @var{exp} — p.@: ex.@: @code{((guix build utils) (guix build
+gnu-build-system))}.
 
address@hidden {Variable d'environnement} GUIX_BUILD_OPTIONS
-Les utilisateurs peuvent définir cette variable à une liste d'options de la
-ligne de commande qui seront automatiquement utilisées par @command{guix
-build} et les autres commandes @command{guix} qui peuvent effectuer des
-constructions, comme dans l'exemple suivant :
address@hidden est évaluée dans une environnement où @code{%outputs} est lié à
+une liste de paires de sortie/chemin, et où @code{%build-inputs} est lié à
+une liste de paires de chaînes de caractères et de chemin de sortie
+construite à partir de @var{inputs}.  Éventuellement, @var{env-vars} est une
+liste de paires de chaînes de caractères spécifiant le nom et la valeur de
+variables d'environnement visibles pour le constructeur.  Le constructeur
+termine en passant le résultat de @var{exp} à @code{exit} ; ainsi, lorsque
address@hidden renvoie @code{#f}, la construction est considérée en échec.
 
address@hidden
-$ export GUIX_BUILD_OPTIONS="--no-substitutes -c 2 -L /foo/bar"
address@hidden example
address@hidden est construite avec @var{guile-for-build} (une dérivation).
+Lorsque @var{guile-for-build} est omis où est @code{#f}, la valeur du fluide
address@hidden est utilisée à la place.
 
-Ces options sont analysées indépendamment, et le résultat est ajouté aux
-options de la ligne de commande analysées.
address@hidden defvr
+Voir la procédure @code{derivation} pour la signification de
address@hidden, @var{allowed-references},
address@hidden, @var{local-build?} et @var{substitutable?}.
address@hidden deffn
 
address@hidden
+Voici un exemple de dérivation à sortie unique qui crée un répertoire avec
+un fichier :
 
address@hidden Options de transformation de paquets
address@hidden Options de transformation de paquets
address@hidden
+(let ((builder '(let ((out (assoc-ref %outputs "out")))
+                  (mkdir out)    ; create /gnu/store/@dots{}-goo
+                  (call-with-output-file (string-append out "/test")
+                    (lambda (p)
+                      (display '(hello guix) p))))))
+  (build-expression->derivation store "goo" builder))
 
address@hidden variantes de paquets
-Un autre ensemble d'options de la ligne de commande supportés par
address@hidden build} et aussi @command{guix package} sont les @dfn{options
-de transformation de paquets}.  Ce sont des options qui rendent possible la
-définition de @dfn{variantes de paquets} — par exemple, des paquets
-construit à partir de sources différentes.  C'est une manière simple de
-créer des paquets personnalisés à la volée sans avoir à taper les
-définitions de variantes de paquets (@pxref{Définition des paquets}).
address@hidden #<derivation /gnu/store/@dots{}-goo.drv => @dots{}>
address@hidden lisp
 
address@hidden @code
 
address@hidden address@hidden
address@hidden address@hidden@var{source}
address@hidden address@hidden@@@address@hidden
-Utiles @var{source} comme la source de @var{paquet}, et @var{version} comme
-son numéro de version.  @var{source} doit être un nom de fichier ou une URL,
-comme pour @command{guix download} (@pxref{Invoquer guix download}).
address@hidden La monade du dépôt
address@hidden La monade du dépôt
 
-Lorsque @var{paquet} est omis, la commande utilisera le nom de paquet
-spécifié par la base de @var{source} — p.@: ex.@: si @var{source} est
address@hidden/src/guix-2.0.10.tar.gz}, le paquet correspondant est 
@code{guile}.
address@hidden monad
 
-De même, lorsque @var{version} est omis, la chaîne de version est inférée à
-partir de @var{source} ; dans l'exemple précédent, il s'agit de
address@hidden
+Les procédures qui travaillent sur le dépôt décrites dans les sections
+précédentes prennent toutes une connexion ouverte au démon de construction
+comme premier argument.  Bien que le modèle sous-jacent soit fonctionnel,
+elles ont soit des effets de bord, soit dépendent de l'état actuel du dépôt.
 
-Cette option permet aux utilisateurs d'essayer des version des paquets
-différentes de celles fournies par la distribution.  L'exemple ci-dessous
-télécharge @file{ed-1.7.tar.g} depuis un mirroir GNU et l'utilise comme
-source pour le paquet @code{ed} :
+Le premier point est embêtant : on doit se balader avec la connexion au
+démon dans toutes ces fonctions, ce qui rend impossible le fait de composer
+des fonctions qui ne prennent pas ce paramètre avec des fonctions qui le
+prennent.  Le deuxième point est problématique : comme les opérations sur le
+dépôt ont des effets de bord ou dépendent d'états externes, elles doivent
+être enchaînés correctement.
 
address@hidden
-guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz
address@hidden example
address@hidden valeurs monadiques
address@hidden fonctions monadiques
+C'est là que le module @code{(guix monads)} arrive à la rescousse.  Ce
+module fournit un cadre pour travailler avec des @dfn{monads}, en
+particulier une monade très utile pour notre usage, la @dfn{monade du
+dépôt}.  Les monades sont des constructions qui permettent deux choses :
+associer un « contexte » avec une valeur (dans notre cas, le contexte est le
+dépôt) et construire une séquence de calculs (ici les calculs comprennent
+des accès au dépôt).  Les valeurs dans une monade — les valeurs qui
+contiennent ce contexte supplémentaire — sont appelées des @dfn{valeurs
+monadiques} ; les procédures qui renvoient ce genre de valeur sont appelées
+des @dfn{procédures monadiques}.
 
-En tant que développeur, @code{--with-source} permet de tester facilement
-des version bêta :
+Considérez cette procédure « normale » :
 
 @example
-guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz
+(define (sh-symlink store)
+  ;; Renvoie une dérivation qui crée un lien symbolique vers l'exécutable « 
bash ».
+  (let* ((drv (package-derivation store bash))
+         (out (derivation->output-path drv))
+         (sh  (string-append out "/bin/bash")))
+    (build-expression->derivation store "sh"
+                                  `(symlink ,sh %output))))
 @end example
 
address@hidden ou pour construire un dépôt de gestion de version dans un
-environnement vierge :
+En utilisant @code{(guix monads)} et @code{(guix gexp)}, on peut la réécrire
+en une fonction monadique :
 
 @example
-$ git clone git://git.sv.gnu.org/guix.git
-$ guix build guix --with-source=guix@@1.0=./guix
+(define (sh-symlink)
+  ;; Pareil, mais renvoie une valeur monadique.
+  (mlet %store-monad ((drv (package->derivation bash)))
+    (gexp->derivation "sh"
+                      #~(symlink (string-append #$drv "/bin/bash")
+                                 #$output))))
 @end example
 
address@hidden address@hidden@var{remplaçant}
-Remplace la dépendance sur @var{paquet} par une dépendance à
address@hidden  @var{paquet} doit être un nom de paquet et
address@hidden doit être une spécification de paquet comme @code{guile} ou
address@hidden@@1.8}.
+Il y a plusieurs choses à remarquer avec cette deuxième version : le
+paramètre @code{store} est maintenant implicitement « enfilé » dans les
+appels aux procédures monadiques @code{package->derivation} et
address@hidden>derivation}, et la valeur monadique renvoyée par
address@hidden>derivation} est @dfn{liée} avec @code{mlet} plutôt qu'avec un
+simple @code{let}.
 
-Par exemple, la commande suivante construit Guix, mais remplace sa
-dépendance à la version stable actuelle de Guile par une dépendance à une
-ancienne version de Guile, @code{guile@@2.0} :
+Il se trouve que l'appel à @code{package->derivation} peut même être omis
+puisqu'il aura lieu implicitement, comme nous le verrons plus tard
+(@pxref{G-Expressions}) :
 
 @example
-guix build --with-input=guile=guile@@2.0 guix
+(define (sh-symlink)
+  (gexp->derivation "sh"
+                    #~(symlink (string-append #$bash "/bin/bash")
+                               #$output)))
 @end example
 
-C'est un remplacement récursif profond.  Donc dans cet exemple, à la fois
address@hidden et ses dépendances @code{guile-json} (qui dépend aussi de
address@hidden) sont reconstruits avec @code{guile@@2.0}.
-
-Cette option est implémentée avec la procédure Scheme
address@hidden (@pxref{Définition des paquets,
address@hidden).
-
address@hidden address@hidden@var{remplaçant}
-Cette option est similaire à @code{--with-input} mais avec une différence
-importante : plutôt que de reconstruire la chaîne de dépendance complète,
address@hidden est construit puis @dfn{greffé} sur les binaires qui
-référençaient initialement @var{paquet}.  @xref{Mises à jour de sécurité}, 
pour plus
-d'information sur les greffes.
-
-Par exemple, la commande ci-dessous greffe la version 3.5.4 de GnuTLS sur
-Wget et toutes ses dépendances, en remplaçant les références à la version
-actuelle de GnuTLS à laquelle ils se réfèrent actuellement :
address@hidden See
address@hidden 
<https://syntaxexclamation.wordpress.com/2014/06/26/escaping-continuations/>
address@hidden for the funny quote.
+L'appel à la procédure monadique @code{sh-symlink} n'a aucun effet.  En
+anglais on pourrait dire « you exit a monad like you exit a building on
+fire: by running address@hidden : « on sort d'une monade comme d'un immeuble
+en flamme, en courant ».  Le jeu de mot est perdu à la traduction : courir
+et lancer utilisent le même verbe @i{run} en anglais.}. Donc, pour sortir de
+la monade et obtenir l'effet escompté, on doit utiliser
address@hidden
 
 @example
-guix build --with-graft=gnutls=gnutls@@3.5.4 wget
+(run-with-store (open-connection) (sh-symlink))
address@hidden /gnu/store/...-sh-symlink
 @end example
 
-Cela a l'avantage d'être bien plus rapide que de tout reconstruire.  Mais il
-y a un piège : cela ne fonctionne que si @var{paquet} et @var{remplaçant}
-sont strictement compatibles — par exemple, s'ils fournissent une
-bibliothèque, l'interface binaire applicative (ABI) de ces bibliothèques
-doivent être compatibles.  Si @var{remplaçant} est incompatible avec
address@hidden, alors le paquet qui en résulte peut devenir inutilisable.  À
-utilisez avec précaution !
-
address@hidden address@hidden@var{branch}
address@hidden Git, using the latest commit
address@hidden latest commit, building
-Build @var{package} from the latest commit of @var{branch}.  The
address@hidden field of @var{package} must be an origin with the
address@hidden method (@pxref{Référence d'origine}) or a @code{git-checkout}
-object; the repository URL is taken from that @code{source}.
+Remarquez que le module @code{(guix monad-repl)} étend la console Guile avec
+de nouvelles « méta-commandes » pour rendre plus facile la manipulation de
+procédures monadiques : @code{run-in-store} et @code{enter-store-monad}.  La
+première est utilisée pour « lancer » une seule valeur monadique à travers
+le dépôt :
 
-For instance, the following command builds @code{guile-sqlite3} from the
-latest commit of its @code{master} branch, and then builds @code{guix}
-(which depends on it) and @code{cuirass} (which depends on @code{guix})
-against this specific @code{guile-sqlite3} build:
address@hidden
+scheme@@(guile-user)> ,run-in-store (package->derivation hello)
+$1 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>
address@hidden example
+
+La deuxième entre dans une console récursive, où toutes les valeurs de
+retour sont automatiquement lancées à travers le dépôt :
 
 @example
-guix build --with-branch=guile-sqlite3=master cuirass
+scheme@@(guile-user)> ,enter-store-monad
+store-monad@@(guile-user) [1]> (package->derivation hello)
+$2 = #<derivation /gnu/store/@dots{}-hello-2.9.drv => @dots{}>
+store-monad@@(guile-user) [1]> (text-file "foo" "Hello!")
+$3 = "/gnu/store/@dots{}-foo"
+store-monad@@(guile-user) [1]> ,q
+scheme@@(guile-user)>
 @end example
 
address@hidden intégration continue
-Obviously, since it uses the latest commit of the given branch, the result
-of such a command varies over time.  Nevertheless it is a convenient way to
-rebuild entire software stacks against the latest commit of one or more
-packages.  This is particularly useful in the context of continuous
-integration (CI).
address@hidden
+Remarquez qu'on ne peut pas renvoyer de valeur non monadique dans la console
address@hidden
 
-Checkouts are kept in a cache under @file{~/.cache/guix/checkouts} to speed
-up consecutive accesses to the same repository.  You may want to clean it up
-once in a while to save disk space.
+Les formes syntaxiques principales pour utiliser des monades en général sont
+disponibles dans le module @code{(guix monads)} et sont décrites ci-dessous.
 
address@hidden address@hidden@var{commit}
-This is similar to @code{--with-branch}, except that it builds from
address@hidden rather than the tip of a branch.  @var{commit} must be a valid
-Git commit SHA1 identifier.
address@hidden table
address@hidden {Syntaxe Scheme} with-monad @var{monad} @var{body} ...
+Évalue n'importe quelle forme @code{>>=} ou @code{return} dans @var{body}
+comme une @var{monad}.
address@hidden deffn
 
address@hidden Options de construction supplémentaires
address@hidden Options de construction supplémentaires
address@hidden {Syntaxe Scheme} return @var{val}
+Renvoie une valeur monadique qui encapsule @var{val}.
address@hidden deffn
 
-Les options de la ligne de commande ci-dessous sont spécifiques à
address@hidden build}.
address@hidden {Syntaxe Scheme} >>= @var{mval} @var{mproc} ...
address@hidden une valeur monadique @var{mval}, en passant son « contenu » aux
+procédures monadiques @address@hidden@footnote{Cette opération est
+souvent appelée « bind », mais ce nom dénote une procédure qui n'a rien à
+voir en Guile.  Ainsi, nous empruntons ce symbole quelque peu cryptique au
+langage Haskell}.  Il peut y avoir une ou plusieurs @code{mproc}, comme dans
+cet exemple :
 
address@hidden @code
address@hidden
+(run-with-state
+    (with-monad %state-monad
+      (>>= (return 1)
+           (lambda (x) (return (+ 1 x)))
+           (lambda (x) (return (* 2 x)))))
+  'some-state)
 
address@hidden --quiet
address@hidden -q
-Construire en silence, sans afficher les journaux de construction.  À la
-fin, le journal de construction est gardé dans @file{/var} (ou similaire) et
-on peut toujours l'y trouver avec l'option @option{--log-file}.
address@hidden 4
address@hidden some-state
address@hidden example
address@hidden deffn
 
address@hidden address@hidden
address@hidden -f @var{fichier}
-Construit le paquet, la dérivation ou l'objet simili-fichier en lequel le
-code dans @var{file} s'évalue (@pxref{G-Expressions, file-like objects}).
address@hidden {Syntaxe Scheme} mlet @var{monad} ((@var{var} @var{mval}) ...) @
+       @var{body} ...
address@hidden {Syntaxe Scheme} mlet* @var{monad} ((@var{var} @var{mval}) ...) @
+       @var{body} ...
+Lie les variables @var{var} aux valeurs monadiques @var{mval} dans
address@hidden, une séquence d'expressions.  Comme avec l'opérateur de liaison,
+on peut réfléchir comme si on « ouvrait » la valeur non-monadique « contenue
+» dans @var{mval} et comme si on faisait en sorte que @var{var} se réfère à
+cette valeur pure, non-monadique, dans la portée de @var{body}.  La forme
+(@var{var} -> @var{val}) lie @var{var} à la valeur « normale » @var{val},
+comme @code{let}.  L'opération de liaison a lieu en séquence de la gauche
+vers la droite.  La dernière expression de @var{body} doit être une
+expression monadique et son résultat deviendra le résultat de @code{mlet} ou
address@hidden lorsque lancé dans la @var{monad}.
 
-Par exemple, @var{file} peut contenir une définition de paquet comme ceci
-(@pxref{Définition des paquets}) :
address@hidden est à @code{mlet} ce que @code{let*} est à @code{let}
+(@pxref{Local Bindings,,, guile, GNU Guile Reference Manual}).
address@hidden deffn
 
address@hidden
address@hidden package-hello.scm
address@hidden example
address@hidden {Système Scheme} mbegin @var{monad} @var{mexp} ...
+Lie @var{mexp} et les expressions monadiques suivantes en séquence, et
+renvoie le résultat de la dernière expression.  Chaque expression dans la
+séquence doit être une expression monadique.
 
address@hidden address@hidden
address@hidden -e @var{expr}
-Construit le paquet ou la dérivation en lequel @var{expr} s'évalue.
+Cette procédure est similaire à @code{mlet}, sauf que les valeurs de retour
+des expressions monadiques sont ignorées.  Dans ce sens, elle est analogue à
address@hidden, mais appliqué à des expressions monadiques.
address@hidden deffn
 
-Par exemple, @var{expr} peut être @code{(@@ (gnu packages guile)
-guile-1.8)}, qui désigne sans ambiguïté cette variante spécifique de la
-version 1.8 de Guile.
address@hidden {Système Scheme} mwhen @var{condition} @var{mexp0} @var{mexp*} 
...
+Lorsque la @var{condition} est vraie, évalue la séquence des expressions
+monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la
address@hidden est fausse, renvoie @code{*unspecified*} dans la monade
+actuelle.  Chaque expression dans la séquence doit être une expression
+monadique.
address@hidden deffn
 
-Autrement, @var{exp} peut être une G-expression, auquel cas elle est
-utilisée comme un programme de construction passé à @code{gexp->derivation}
-(@pxref{G-Expressions}).
address@hidden {Système Scheme} munless @var{condition} @var{mexp0} @var{mexp*} 
...
+Lorsque la @var{condition} est fausse, évalue la séquence des expressions
+monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la
address@hidden est vraie, renvoie @code{*unspecified*} dans la monade
+actuelle.  Chaque expression dans la séquence doit être une expression
+monadique.
address@hidden deffn
 
-Enfin, @var{expr} peut se référer à une procédure monadique à au moins un
-argument (@pxref{La monad du dépôt}).  La procédure doit renvoyer une
-dérivation comme une valeur monadique, qui est ensuite lancée à travers
address@hidden
address@hidden monade d'état
+Le module @code{(guix monads)} fournit la @dfn{monade d'état} qui permet à
+une valeur supplémentaire — l'état — d'être enfilée à travers les appels de
+procédures.
 
address@hidden --source
address@hidden -S
-Construit les dérivation source des paquets, plutôt que des paquets
-eux-même.
address@hidden {Variable Scheme} %state-monad
+La monade d'état.  les procédure dans la monade d'état peuvent accéder et
+modifier l'état qui est enfilé.
 
-Par exemple, @code{guix build -S gcc} renvoie quelque chose comme
address@hidden/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, qui est l'archive des 
sources
-de GCC.
+Considérez l'exemple ci-dessous.  La procédure @code{square} renvoie une
+valeur dans la monade d'état.  Elle renvoie le carré de son argument, mais
+incrémente aussi la valeur actuelle de l'état :
 
-L'archive des sources renvoyée est le résultat de l'application des
-correctifs et des extraits de code éventuels spécifiés dans le champ
address@hidden du paquet (@pxref{Définition des paquets}).
address@hidden
+(define (square x)
+  (mlet %state-monad ((count (current-state)))
+    (mbegin %state-monad
+      (set-current-state (+ 1 count))
+      (return (* x x)))))
 
address@hidden --sources
-Récupère et renvoie la source de @var{package-or-derivation} et toute ses
-dépendances, récursivement.  C'est pratique pour obtenir une copie locale de
-tous les codes sources requis pour construire @var{packages}, ce qui vous
-permet de les construire plus tard même sans accès réseau.  C'est une
-extension de l'option @code{--source} et peut accepter l'un des arguments
-facultatifs suivants :
+(run-with-state (sequence %state-monad (map square (iota 3))) 0)
address@hidden (0 1 4)
address@hidden 3
address@hidden example
 
address@hidden @code
address@hidden package
-Cette valeur fait que l'option @code{--sources} se comporte comme l'option
address@hidden
+Lorsqu'on la lance à travers @var{%state-monad}, on obtient cet valeur
+d'état supplémentaire, qui est le nombre d'appels à @code{square}.
address@hidden defvr
 
address@hidden all
-Construit les dérivations des sources de tous les paquets, dont les sources
-qui pourraient être listées dans @code{inputs}.  C'est la valeur par défaut.
address@hidden {Procédure monadique} current-state
+Renvoie l'état actuel dans une valeur monadique.
address@hidden deffn
 
address@hidden
-$ guix build --sources tzdata
-The following derivations will be built:
-   /gnu/store/@dots{}-tzdata2015b.tar.gz.drv
-   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv
address@hidden example
address@hidden {Procédure monadique} set-current-state @var{value}
+Initialise l'état actuel à @var{value} et renvoie l'état précédent dans une
+valeur monadique.
address@hidden deffn
 
address@hidden transitive
-Build the source derivations of all packages, as well of all transitive
-inputs to the packages.  This can be used e.g.@: to prefetch package source
-for later offline building.
address@hidden {Procédure monadique} state-push @var{value}
+Pousse @var{value} sur l'état actuel, qui est supposé être une liste, et
+renvoie l'état précédent dans une valeur monadique.
address@hidden deffn
 
address@hidden
-$ guix build --sources=transitive tzdata
-The following derivations will be built:
-   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv
-   /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv
-   /gnu/store/@dots{}-grep-2.21.tar.xz.drv
-   /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv
-   /gnu/store/@dots{}-make-4.1.tar.xz.drv
-   /gnu/store/@dots{}-bash-4.3.tar.xz.drv
address@hidden
address@hidden example
address@hidden {Procédure monadique} state-pop
+Récupère (pop) une valeur dans l'état actuel et la renvoie comme une valeur
+monadique.  L'état est supposé être une liste.
address@hidden deffn
 
address@hidden table
address@hidden {Procédure Scheme} run-with-state @var{mval} address@hidden
+Lance la valeur monadique @var{mval} avec @var{state} comme valeur
+initiale.  Renvoie deux valeurs : la valeur du résultat et l'état du
+résultat.
address@hidden deffn
 
address@hidden address@hidden
address@hidden -s @var{système}
-Tenter de construire pour le @var{système} — p.@: ex.@: @code{i686-linux} —
-plutôt que pour le type de système de l'hôte de construction.
+L'interface principale avec la monade du dépôt, fournit par le module
address@hidden(guix store)}, est la suivante.
 
address@hidden Remarque
-Le drapeau @code{--system} est utilisé pour une compilation @emph{native} et
-ne doit pas être confondu avec une compilation croisée.  Voir
address@hidden ci-dessous pour des informations sur la compilation croisée.
address@hidden quotation
address@hidden {Variable Scheme} %store-monad
+La monade du dépôt — un alias pour @var{%state-monad}.
 
-Par exemple, passer @code{--system=i686-linux} sur un système
address@hidden ou @code{--system=armhf-linux} sur un système
address@hidden vous permet de construire des paquets dans un
-environnement entièrement 32-bits.  C'est une exemple d'utilisation de cette
-option sur les systèmes Linux, qui peuvent émuler plusieurs personnalités.
+Les valeurs dans la monade du dépôt encapsulent des accès au dépôt.  Lorsque
+son effet est requis, une valeur de la monade du dépôt doit être « évaluée »
+en la passant à la procédure @code{run-with-store} (voir plus bas).
address@hidden defvr
 
address@hidden Remarque
-La possibilité de construire pour un système @code{armhf-linux} est activé
-sans condition sur les machines @code{aarch64-linux}, bien que certaines
-puces aarch64 n'en soient pas capables, comme les ThunderX.
address@hidden quotation
address@hidden {Procédure Scheme} run-with-store @var{store} @var{mval} 
[#:guile-for-build] [#:system (%current-system)]
+Lance @var{mval}, une valeur monadique dans la monade du dépôt, dans
address@hidden, une connexion ouvert au dépôt.
address@hidden deffn
 
-De même, lorsque l'émulation transparente avec QEMU et @code{binfnmt_misc}
-est activée (@pxref{Services de virtualisation,
address@hidden), vous pouvez construire pour n'importe
-quel système pour lequel un gestionnaire QEMU @code{binfmt_misc} est
-installé.
address@hidden {Procédure monadique} text-file @var{name} @var{text} 
address@hidden
+Renvoie une valeur monadique correspondant au nom de fichier dans le dépôt
+du fichier contenant @var{text}, une chaîne de caractères.  @var{references}
+est une liste d'éléments du dépôt auxquels le fichier texte en résultat se
+réfère ; c'est la liste vide par défaut.
address@hidden deffn
 
-Les constructions pour un autre système que celui de la machine que vous
-utilisez peuvent aussi être déchargées à une machine distante de la bonne
-architecture.  @xref{Réglages du délestage du démon}, pour plus d'information 
sur le
-déchargement.
address@hidden {Procédure monadique} binary-file @var{name} @var{data} 
address@hidden
+Renvoie une valeur monadique correspondant au nom de fichier absolu dans le
+dépôt du fichier contenant @var{data}, un vecteur d'octets.
address@hidden est une liste d'éléments du dépôt auxquels le fichier
+binaire en résultat se réfère ; c'est la liste vide par défaut.
address@hidden deffn
+
address@hidden {Procédure monadique} interned-file @var{file} address@hidden @
+         [#:recursive? #t] [#:select? (const #t)]
+Renvoie le nom de @var{file} une fois ajouté au dépôt.  Utilise @var{name}
+comme nom dans le dépôt ou le nom de fichier de @var{file} si @var{name} est
+omis.
 
address@hidden address@hidden
address@hidden compilation croisée
-Effectuer une compilation croisée pour @var{triplet} qui doit être un
-triplet GNU valide, comme @code{"mips64el-linux-gnu"} (@pxref{Specifying
-target triplets, GNU configuration triplets,, autoconf, Autoconf}).
+Lorsque @var{recursive?} est vraie, le contenu de @var{file} est ajouté
+récursivement ; si @var{file} désigne un fichier simple et que
address@hidden est vrai, son contenu est ajouté et ses bits de permissions
+sont préservés.
 
address@hidden de la construction}
address@hidden --check
address@hidden déterminisme, vérification
address@hidden reproductibilité, vérification
-Reconstruit les @var{package-or-derivation}, qui sont déjà disponibles dans
-le dépôt et lève une erreur si les résultats des constructions ne sont pas
-identiques bit-à-bit.
+Lorsque @var{recursive?} est vraie, appelle @code{(@var{select?} @var{file}
address@hidden)} pour chaque répertoire où @var{file} est le nom de fichier
+absolu de l'entrée et @var{stat} est le résultat de @code{lstat} ; à
+l'exception des entrées pour lesquelles @var{select?} ne renvoie pas vrai.
 
-Ce mécanisme vous permet de vérifier si les substituts précédemment
-installés sont authentiques (@pxref{Substituts}) ou si le résultat de la
-construction d'un paquet est déterministe. @xref{Invoquer guix challenge}
-pour plus d'informations et pour les outils.
+L'exemple ci-dessous ajoute un fichier au dépôt, sous deux noms différents :
 
-Lorsqu'utilisé avec @option{--keep-failed}, la sourtie différente est gardée
-dans le dépôt sous @file{/gnu/store/@dots{}-check}.  Cela rend plus facile
-l'étude des différences entre les deux résultats.
address@hidden
+(run-with-store (open-connection)
+  (mlet %store-monad ((a (interned-file "README"))
+                      (b (interned-file "README" "LEGU-MIN")))
+    (return (list a b))))
 
address@hidden --repair
address@hidden réparer les éléments du dépôt
address@hidden corruption, récupérer de
-Essaye de réparer les éléments du dépôt spécifiés, s'ils sont corrompus, en
-les téléchargeant ou en les construisant à nouveau.
address@hidden ("/gnu/store/address@hidden" "/gnu/store/address@hidden")
address@hidden example
 
-Cette opération n'est pas atomique et donc restreinte à l'utilisateur
address@hidden
address@hidden deffn
 
address@hidden --derivations
address@hidden -d
-Renvoie les chemins de dérivation, et non les chemins de sortie, des paquets
-donnés.
+Le module @code{(guix packages)} exporte les procédures monadiques liées aux
+paquets suivantes :
 
address@hidden address@hidden
address@hidden -r @var{fichier}
address@hidden racines du GC, ajout
address@hidden ajout de racines au ramasse-miettes
-Fait de @var{fichier} un lien symbolique vers le résultat, et l'enregistre
-en tant que racine du ramasse-miettes.
address@hidden {Procédure monadique} package-file @var{package} address@hidden @
+       [#:system (%current-system)] [#:target #f] @
+[#:output "out"]
+Renvoie une valeur monadique qui contient le nom de fichier absolu de
address@hidden dans le répertoire @var{output} de @var{package}.  Lorsque
address@hidden est omis, renvoie le nom du répertoire @var{output} de
address@hidden  Lorsque @var{target} est vrai, l'utilise comme un triplet de
+cible pour la compilation croisée.
address@hidden deffn
 
-En conséquence, les résultats de cette invocation de @command{guix build}
-sont protégés du ramasse-miettes jusqu'à ce que @var{fichier} soit
-supprimé.  Lorsque cette option est omise, les constructions sont
-susceptibles d'être glanées.
address@hidden {Procédure monadique} package->derivation @var{package} 
address@hidden
address@hidden {Procédure monadique} package->cross-derivation @var{package} @
+          @var{target} address@hidden
+Version monadique de @code{package-derivation} et
address@hidden (@pxref{Définition des paquets}).
address@hidden deffn
 
address@hidden --log-file
address@hidden journaux de construction, accès
-Renvoie les noms des journaux de construction ou les URL des
address@hidden donnés ou lève une erreur si les journaux de
-construction sont absents.
 
-Cela fonctionne indépendamment de la manière dont les paquets ou les
-dérivations sont spécifiées.  Par exemple, les invocations suivantes sont
-équivalentes :
address@hidden G-Expressions
address@hidden G-Expressions
 
address@hidden
-guix build --log-file `guix build -d guile`
-guix build --log-file `guix build guile`
-guix build --log-file guile
-guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'
address@hidden example
address@hidden G-expression
address@hidden quoting du code de construction
+On a donc des « dérivations » qui représentent une séquence d'actions de
+construction à effectuer pour produire un élément du dépôt
+(@pxref{Dérivations}).  Ces actions de construction sont effectuées
+lorsqu'on demande au démon de construire effectivement les dérivations ;
+elles sont lancées par le démon dans un conteneur (@pxref{Invoquer 
guix-daemon}).
 
-Si un journal n'est pas disponible localement, à moins que
address@hidden ne soit passé, la commande cherche un journal
-correspondant sur l'un des serveurs de substituts (tels que spécifiés avec
address@hidden)
address@hidden strate de code
+Ça ne devrait pas vous surprendre, mais nous aimons écrire ces actions de
+construction en Scheme.  Lorsqu'on fait ça, on fini avec deux @dfn{strates}
+de code address@hidden terme @dfn{strate} dans ce contexte a été inventé
+par Manuel Serrano et ses collaborateurs dans le contexte de leur travaux
+sur Hop.  Oleg Kiselyov, qui a écrit des
address@hidden://okmij.org/ftp/meta-programming/#meta-scheme, essais perspicaces
+et du code sur le sujet}, utilise le terme de « mise en scène » pour ce
+genre de génération de code.} : le « code hôte » — le code qui défini les
+paquets, parle au démon, etc — et le « code côté construction » — le code
+qui effectue effectivement les actions de construction, comme créer des
+répertoires, invoquer @code{make}, etc.
 
-Donc par exemple, imaginons que vous souhaitiez voir le journal de
-construction de GDB sur MIPS, mais que vous n'avez qu'une machine
address@hidden :
+Pour décrire une dérivation et ses actions de construction, on a typiquement
+besoin d'intégrer le code de construction dans le code hôte.  Ça revient à
+manipuler le code de construction comme de la donnée, et l'homoiconicité de
+Scheme — le code a une représentation directe en tant que donnée — est très
+utile pour cela.  Mais on a besoin de plus que le mécanisme de
address@hidden en Scheme pour construire des expressions de construction.
 
address@hidden
-$ guix build --log-file gdb -s mips64el-linux
-https://hydra.gnu.org/log/@dots{}-gdb-7.10
address@hidden example
+Le module @code{(guix gexp)} implémente les @dfn{G-expressions}, une forme
+de S-expression adaptée aux expressions de construction.  Les G-expression,
+ou @dfn{gexps}, consistent en gros en trois formes syntaxiques :
address@hidden, @code{ungexp} et @code{ungexp-splicing} (ou plus simplement :
address@hidden, @code{#$} et @code{#$@@}), qui sont comparable à
address@hidden, @code{unquote} et @code{unquote-splicing} respectivement
+(@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference
+Manual}).  Cependant il y a des différences majeures :
 
-Vous pouvez accéder librement à un vaste bibliothèque de journaux de
-construction !
address@hidden table
address@hidden
address@hidden
+Les Gexps sont conçues pour être écrites dans un fichier et être lancées ou
+manipulées par d'autres processus.
 
address@hidden Débogage des échecs de construction
address@hidden Débogage des échecs de construction
address@hidden
+Lorsqu'un objet de haut-niveau comme un paquet ou une dérivation est
+unquotée dans une gexp, le résultat est comme si le nom de fichier de son
+résultat avait été introduit.
 
address@hidden échecs de construction, débogage
-Lors de la définition d'un nouveau paquet (@pxref{Définition des paquets}), 
vous
-passerez probablement du temps à déboguer et modifier la construction
-jusqu'à ce que ça marche.  Pour cela, vous devez effectuer les commandes de
-construction vous-même dans un environnement le plus proche possible de
-celui qu'utilise le démon de construction.
address@hidden
+Les gexps transportent des informations sur les paquets ou les dérivations
+auxquels elles se réfèrent, et ces dépendances sont automatiquement ajoutées
+comme des entrées du processus de construction qui les utilise.
address@hidden itemize
 
-Pour cela, la première chose à faire est d'utiliser l'option
address@hidden ou @option{-K} de @command{guix build}, qui gardera
-l'arborescence de construction dans @file{/tmp} ou le répertoire spécifié
-par @code{TMPDIR} (@pxref{Invoquer guix build, @code{--keep-failed}}).
address@hidden abaissement, des objets haut-niveau dans les gepxs
+Ce mécanisme n'est pas limité aux paquets et aux dérivations : on peut
+définir des @dfn{compilateurs} capable « d'abaisser » d'autres objets de
+haut-niveau ou des fichiers dans le dépôt, pour que ces objets puissent
+aussi être insérés dans des gexps.  Par exemple, des objets haut-niveau
+utiles qui pourraient être insérées dans une gexp sont les « objets
+simili-fichiers », qui rendent facile l'ajout de fichiers dans le dépôt et
+les références vers eux dans les dérivations et autres (voir
address@hidden et @code{plain-file} ci-dessous).
 
-À partir de là, vous pouvez vous déplacer dans l'arborescence de
-construction et sourcer le fichier @file{environment-variables}, qui
-contient toutes les variables d'environnement qui étaient définies lorsque
-la construction a échoué.  Disons que vous déboguez un échec de construction
-dans le paquet @code{foo} ; une session typique ressemblerait à cela :
+Pour illustrer cette idée, voici un exemple de gexp :
 
 @example
-$ guix build foo -K
address@hidden @i{build fails}
-$ cd /tmp/guix-build-foo.drv-0
-$ source ./environment-variables
-$ cd foo-1.2
+(define build-exp
+  #~(begin
+      (mkdir #$output)
+      (chdir #$output)
+      (symlink (string-append #$coreutils "/bin/ls")
+               "list-files")))
 @end example
 
-Maintenant, vous pouvez invoquer les commandes comme si vous étiez le démon
-(presque) et corriger le processus de construction.
-
-Parfois il arrive que, par exemple, les tests d'un paquet réussissent
-lorsque vous les lancez manuellement mais échouent quand ils sont lancés par
-le démon.  Cela peut arriver parce que le démon tourne dans un conteneur où,
-contrairement à notre environnement au-dessus, l'accès réseau est
-indisponible, @file{/bin/sh} n'existe pas, etc (@pxref{Réglages de 
l'environnement de construction}).
-
-Dans ce cas, vous pourriez avoir besoin de lancer le processus de
-construction dans un conteneur similaire à celui que le démon crée :
+Cette gexp peut être passée à @code{gexp->derivation} ; on obtient une
+dérivation qui construit une répertoire contenant exactement un lien
+symbolique à @file{/gnu/store/@dots{}-coreutils-8.22/bin/ls} :
 
 @example
-$ guix build -K foo
address@hidden
-$ cd /tmp/guix-build-foo.drv-0
-$ guix environment --no-grafts -C foo --ad-hoc strace gdb
-[env]# source ./environment-variables
-[env]# cd foo-1.2
+(gexp->derivation "the-thing" build-exp)
 @end example
 
-Ici, @command{guix environment -C} crée un conteneur et démarre un nouveau
-shell dedans (@pxref{Invoquer guix environment}).  La partie
address@hidden strace gdb} ajoute les commandes @command{strace} et
address@hidden dans le conteneur, ce qui pourrait s'avérer utile pour le
-débogage.  L'option @option{--no-grafts} s'assure qu'on obtient le même
-environnement, avec des paquets non greffés (@pxref{Mises à jour de sécurité}, 
pour
-plus d'informations sur les greffes).
+Comme on pourrait s'y attendre, la chaîne
address@hidden"/gnu/store/@dots{}-coreutils-8.22"} est substituée à la place de 
la
+référence au paquet @var{coreutils} dans le code de construction final, et
address@hidden est automatiquement devenu une entrée de la dérivation.  De
+même, @code{#$output} (équivalent à @code{(ungexp output)}) est remplacé par
+une chaîne de caractères contenant le nom du répertoire de la sortie de la
+dérivation.
 
-Pour obtenir un conteneur plus proche de ce qui serait utilisé par le démon
-de construction, on peut enlever @file{/bin/sh} :
address@hidden compilation croisée
+Dans le contexte d'une compilation croisée, il est utile de distinguer entre
+des références à la construction @emph{native} d'un paquet — qui peut être
+lancé par l'hôte — et des références à la construction croisée d'un paquet.
+Pour cela, @code{#+} joue le même rôle que @code{#$}, mais référence une
+construction native d'un paquet :
 
 @example
-[env]# rm /bin/sh
+(gexp->derivation "vi"
+   #~(begin
+       (mkdir #$output)
+       (system* (string-append #+coreutils "/bin/ln")
+                "-s"
+                (string-append #$emacs "/bin/emacs")
+                (string-append #$output "/bin/vi")))
+   #:target "mips64el-linux-gnu")
 @end example
 
-Ne vous inquiétez pas, c'est sans danger : tout cela se passe dans un
-conteneur jetable créé par @command{guix environment}.
address@hidden
+Dans l'exemple ci-dessus, la construction native de @var{coreutils} est
+utilisée, pour que @command{ln} puisse effectivement être lancé sur l'hôte ;
+mais ensuite la construction croisée d'@var{emacs} est utilisée.
 
-La commande @command{strace} n'est probablement pas dans le chemin de
-recherche, mais on peut lancer :
address@hidden modules importés, pour les gexps
address@hidden with-imported-modules
+Une autre fonctionnalité, ce sont les @dfn{modules importés} : parfois vous
+voudriez pouvoir utiliser certains modules Guile de « l'environnement hôte »
+dans la gexp, donc ces modules devraient être importés dans «
+l'environnement de construction ».  La forme @code{with-imported-modules}
+vous permet d'exprimer ça :
 
 @example
-[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check
+(let ((build (with-imported-modules '((guix build utils))
+               #~(begin
+                   (use-modules (guix build utils))
+                   (mkdir-p (string-append #$output "/bin"))))))
+  (gexp->derivation "empty-dir"
+                    #~(begin
+                        #$build
+                        (display "success!\n")
+                        #t)))
 @end example
 
-De cette manière, non seulement vous aurez reproduit les variables
-d'environnement utilisées par le démon, mais vous lancerez aussi le
-processus de construction dans un conteneur similaire à celui utilisé par le
-démon.
address@hidden
+Dans cet exemple, le module @code{(guix build utils)} est automatiquement
+récupéré dans l'environnement de construction isolé de notre gexp, pour que
address@hidden(use-modules (guix build utils))} fonctionne comme on s'y 
attendrait.
 
address@hidden closure de module
address@hidden source-module-closure
+Typiquement, vous voudriez que la @emph{closure} complète du module soit
+importé — c.-à-d.@: le module lui-même et tous les modules dont il dépend —
+plutôt que seulement le module ; sinon, une tentative de chargement du
+module échouera à cause des modules dépendants manquants.  La procédure
address@hidden calcule la closure d'un module en cherchant
+dans ses en-têtes sources, ce qui est pratique dans ce cas :
 
address@hidden Invoquer guix edit
address@hidden Invoquer @command{guix edit}
address@hidden
+(use-modules (guix modules))   ;pour 'source-module-closure'
 
address@hidden @command{guix edit}
address@hidden définition de paquets, modification
-Tant de paquets, tant de fichiers source ! La commande @command{guix edit}
-facilite la vie des utilisateurs et des packagers en plaçant leur éditeur
-sur le fichier source qui contient la définition des paquets spécifiés.  Par
-exemple :
+(with-imported-modules (source-module-closure
+                         '((guix build utils)
+                           (gnu build vm)))
+  (gexp->derivation "something-with-vms"
+                    #~(begin
+                        (use-modules (guix build utils)
+                                     (gnu build vm))
+                        @dots{})))
address@hidden example
+
address@hidden extensions, des gexps
address@hidden with-extensions
+Dans la même idée, parfois vous pouvez souhaiter importer non seulement des
+modules en Scheme pur, mais aussi des « extensions » comme des liaisons
+Guile de bibliothèques C ou d'autres paquet « complets ».  Disons que vous
+voulez utiliser le paquet @code{guile-json} du côté de la construction,
+voici comme procéder :
 
 @example
-guix edit gcc@@4.9 vim
+(use-modules (gnu packages guile))  ;pour 'guile-json'
+
+(with-extensions (list guile-json)
+  (gexp->derivation "something-with-json"
+                    #~(begin
+                        (use-modules (json))
+                        @dots{})))
 @end example
 
address@hidden
-lance le programme spécifié dans la variable d'environnement @code{VISUAL}
-ou @code{EDITOR} pour visionner la recette de address@hidden et cele de Vim.
+La forme syntaxique pour construire des gexps est résumée ci-dessous.
 
-Si vous utilisez une copie du dépôt Git de Guix (@pxref{Construire depuis 
Git}),
-ou que vous avez créé vos propres paquets dans @code{GUIX_PACKAGE_PATH}
-(@pxref{Modules de paquets}), vous pourrez modifier les recettes des paquets.
-Sinon, vous pourrez examiner les recettes en lecture-seule des paquets
-actuellement dans le dépôt.
address@hidden {Syntaxe Scheme} address@hidden
address@hidden {Syntaxe Scheme} (gexp @var{exp})
+Renvoie une G-expression contenant @var{exp}.  @var{exp} peut contenir une
+ou plusieurs de ces formes :
 
address@hidden @code
address@hidden address@hidden
address@hidden (ungexp @var{obj})
+Introduit une référence à @var{obj}.  @var{obj} peut être d'un des types
+supportés, par exemple un paquet ou une dérivation, auquel cas la forme
address@hidden est remplacée par le nom de fichier de sa sortie — p.@: ex.@:
address@hidden"/gnu/store/@dots{}-coreutils-8.22}.
 
address@hidden Invoquer guix download
address@hidden Invoquer @command{guix download}
+Si @var{boj} est une liste, elle est traversée et les références aux objets
+supportés sont substitués de manière similaire.
 
address@hidden @command{guix download}
address@hidden télécharger les sources des paquets
-En écrivant des définitions de paquets, les développeurs ont généralement
-besoin de télécharger une archive des sources, calculer son hash SHA256 et
-écrire ce hash dans la définition du paquet (@pxref{Définition des paquets}).
-L'outil @command{guix download} aide à cette tâche : il télécharge un
-fichier à l'URL donné, l'ajoute au dépôt et affiche à la fois son nom dans
-le dépôt et son hash SHA56.
+Si @var{obj} est une autre gexp, son contenu est inséré et ses dépendances
+sont ajoutées à celle de la gexp qui l'entoure.
 
-Le fait que le fichier téléchargé soit ajouté au dépôt préserve la bande
-passante : losque les développeurs finissent par construire le paquet
-nouvellement défini avec @command{guix build}, l'archive des sources n'aura
-pas besoin d'être téléchargée de nouveau puisqu'elle se trouvera déjà dans
-le dépôt.  C'est aussi une manière pratique de garder des fichiers
-temporairement, qui pourront ensuite être supprimés (@pxref{Invoquer guix gc}).
+Si @var{obj} est un autre type d'objet, il est inséré tel quel.
 
-La commande @command{guix download} supporte les mêmes URI que celles
-utilisées dans les définitions de paquets.  En particulier, elle supporte
-les URI @code {mirror://}.  Les URI @code{http} (HTTP sur TLS) sont
-supportées @emph{si} les liaisons Guile de GnuTLS sont disponibles dans
-l'environnement de l'utilisateur ; si elle ne sont pas disponibles, une
-erreur est renvoyée.  @xref{Guile Preparations, how to install the GnuTLS
-bindings for Guile,, gnutls-guile, GnuTLS-Guile}, pour plus d'informations.
address@hidden address@hidden:@var{output}
address@hidden (ungexp @var{obj} @var{output})
+Cette forme est similaire à la précédente, mais se réfère explicitement à la
+sortie @var{output} de l'objet @var{obj} — c'est utile lorsque @var{obj}
+produit plusieurs sorties (@pxref{Des paquets avec plusieurs résultats}).
 
address@hidden download} vérifie les certificats du serveur HTTPS en
-chargeant les autorités de certification X.509 depuis le répertoire vers
-lequel pointe la variable d'environnement @code{SSL_CERT_DIR} 
(@pxref{Certificats X.509}), à moins que @option{--no-check-certificate} ne 
soit utilisé.
address@hidden address@hidden
address@hidden address@hidden:output
address@hidden (ungexp-native @var{obj})
address@hidden (ungexp-native @var{obj} @var{output})
+Comme @code{ungexp}, mais produit une référence à la construction
address@hidden de @var{obj} lorsqu'elle est utilisée dans une compilation
+croisée.
 
-Les options suivantes sont disponibles :
address@hidden #$output[:@var{output}]
address@hidden (ungexp output address@hidden)
+Insère une référence à la sortie @var{output} de la dérivation, ou à la
+sortie principale lorsque @var{output} est omis.
 
address@hidden @code
address@hidden address@hidden
address@hidden -f @var{fmt}
-Écrit le hash dans le format spécifié par @var{fmt}.  Pour plus
-d'informations sur les valeurs valides pour @var{fmt}, @pxref{Invoquer guix 
hash}.
+Cela ne fait du sens que pour les gexps passées à @code{gexp->derivation}.
 
address@hidden --no-check-certificate
-Ne pas valider les certificats HTTPS des serveurs.
address@hidden #$@@@var{lst}
address@hidden (ungexp-splicing @var{lst})
+Comme au dessus, mais recolle (@i{splice}) le contenu de @var{lst} dans la
+liste qui la contient.
 
-Lorsque vous utilisez cette option, vous n'avez @emph{absolument aucune
-garanti} que vous communiquez avec le serveur authentique responsable de
-l'URL donnée, ce qui vous rend vulnérable à des attaques de « l'homme du
-milieu ».
address@hidden #+@@@var{lst}
address@hidden (ungexp-native-splicing @var{lst})
+Comme au dessus, mais se réfère à la construction native des objets listés
+dans @var{lst}.
 
address@hidden address@hidden
address@hidden -o @var{fichier}
-Enregistre le fichier téléchargé dans @var{fichier} plutôt que de l'ajouter
-au dépôt.
 @end table
 
address@hidden Invoquer guix hash
address@hidden Invoquer @command{guix hash}
+Les G-expressions crées par @code{gexp} ou @code{#~} sont des objets à
+l'exécution du type @code{gexp?} (voir plus bas).
address@hidden deffn
 
address@hidden @command{guix hash}
-La commande @command{guix hash} calcul le hash SHA256 d'un fichier.  C'est
-surtout un outil pour simplifier la vie des contributeurs de la distribution
-: il calcul le hash cryptographique d'un fichier, qui peut être utilisé dans
-la définition d'un paquet (@pxref{Définition des paquets}).
address@hidden {Syntaxe Scheme} with-imported-modules @var{modules} 
@address@hidden
+Marque les gexps définies dans @address@hidden comme requérant
address@hidden dans leur environnement d'exécution.
 
-La syntaxe générale est :
+Chaque élément dans @var{module} peut être le nom d'un module, comme
address@hidden(guix build utils)} ou le nom d'un module suivi d'une flèche, 
suivie
+d'un objet simili-fichier :
 
 @example
-guix hash @var{option} @var{fichier}
+`((guix build utils)
+  (guix gcrypt)
+  ((guix config) => ,(scheme-file "config.scm"
+                                  #~(define-module @dots{}))))
 @end example
 
-Lorsque @var{fichier} est @code{-} (un tiret), @command{guix hash} calcul le
-hash des données lues depuis l'entrée standard.  @command{guix hash} a les
-options suivantes :
-
address@hidden @code
-
address@hidden address@hidden
address@hidden -f @var{fmt}
-Écrit le hash dans le format spécifié par @var{fmt}.
address@hidden
+Dans l'exemple au dessus, les deux premiers modules sont récupérés dans le
+chemin de recherche, et le dernier est créé à partir d'un objet
+simili-fichier.
 
-Les formats supportés sont : @code{nix-base32}, @code{base32}, @code{base16}
-(@code{hex} et @code{hexadecimal} peuvent aussi être utilisés).
+Cette forme a une portée @emph{lexicale} : elle a un effet sur les gexp
+directement définies dans @address@hidden, mais pas sur celles définies
+dans des procédures appelées par @address@hidden
address@hidden deffn
 
-Si l'option @option {--format} n'est pas spécifiée, @command{guix hash}
-affichera le hash en @code{nix-base32}.  Cette représentation est utilisée
-dans les définitions des paquets.
address@hidden {Syntaxe Scheme} with-extensions @var{extensions} @address@hidden
+Marque les gexps définies dans @address@hidden comme requérant
address@hidden dans leur environnement de construction et d'exécution.
address@hidden est typiquement une liste d'objets paquets comme définis
+dans le module @code{(gnu packages guile)}.
 
address@hidden --recursive
address@hidden -r
-Calcule le hash sur @var{fichier} récursivement.
+Concrètement, les paquets listés dans @var{extensions} sont ajoutés au
+chemin de chargement lors de la compilation des modules importés dans
address@hidden@dots{} ; ils sont aussi ajoutés au chemin de chargement de la
+gexp renvoyée par @address@hidden
address@hidden deffn
 
address@hidden FIXME: Replace xref above with xref to an ``Archive'' section 
when
address@hidden it exists.
-Dans ce cas, le hash est calculé sur une archive contenant @var{fichier},
-dont ses enfants si c'est un répertoire.  Certaines métadonnées de
address@hidden fait partie de l'archive ; par exemple lorsque @var{fichier}
-est un fichier normal, le hash est différent que le @var{fichier} soit
-exécutable ou non.  Les métadonnées comme un horodatage n'ont aucun impact
-sur le hash (@pxref{Invoquer guix archive}).
address@hidden {Procédure Scheme} gexp? @var{obj}
+Renvoie @code{#t} si @var{obj} est une G-expression.
address@hidden deffn
 
address@hidden --exclude-vcs
address@hidden -x
-Lorsqu'elle est combinée à @option{--recursive}, exclut les répertoires de
-système de contrôle de version (@file{.bzr}, @file{.git}, @file{.hg}, etc).
+Les G-expressions sont conçues pour être écrites sur le disque, soit en tant
+que code pour construire une dérivation, soit en tant que fichier normal
+dans le dépôt.  Les procédure monadiques suivantes vous permettent de faire
+cela (@pxref{La monade du dépôt}, pour plus d'information sur les monads).
 
address@hidden git-fetch
-Par exemple, voici comment calculer le hash d'un dépôt Git, ce qui est utile
-avec la méthode @code{git-fetch} (@pxref{Référence d'origine}) :
address@hidden {Procédure monadique} gexp->derivation @var{name} @var{exp} @
+       [#:system (%current-system)] [#:target #f] [#:graft? #t] @
+[#:hash #f] [#:hash-algo #f] @
+[#:recursive? #f] [#:env-vars '()] [#:modules '()] @
+[#:module-path @var{%load-path}] @
+[#:effective-version "2.2"] @
+[#:references-graphs #f] [#:allowed-references #f] @
+[#:disallowed-references #f] @ [#:leaked-env-vars #f] @
+[#:script-name (string-append @var{name} "-builder")] @
+[#:deprecation-warnings #f] @
+[#:local-build? #f] [#:substitutable? #t] @
+[#:properties '()] [#:guile-for-build #f]
+Renvoie une dérivation @var{name} qui lance @var{exp} (une gexp) avec
address@hidden (une dérivation) sur @var{system} ; @var{exp} est
+stocké dans un fichier appelé @var{script-name}.  Lorsque @var{target} est
+vraie, elle est utilisée comme triplet de cible de compilation croisée pour
+les paquets référencés par @var{exp}.
 
address@hidden
-$ git clone http://example.org/foo.git
-$ cd foo
-$ guix hash -rx .
address@hidden example
address@hidden table
address@hidden est devenu obsolète en faveur de
address@hidden  Sa signification est de rendre @var{modules}
+disponibles dans le contexte d'évaluation de @var{exp} ; @var{modules} est
+une liste de noms de modules Guile qui sont cherchés dans @var{module-path}
+pour les copier dans le dépôt, les compiler et les rendre disponibles dans
+le chemin de chargement pendant l'exécution de @var{exp} — p.@: ex.@:
address@hidden((guix build utils) (guix build gnu-build-system))}.
 
address@hidden Invoquer guix import
address@hidden Invoquer @command{guix import}
address@hidden détermine la chaîne à utiliser lors d'ajout
+d'extensions de @var{exp} (voir @code{with-extensions}) au chemin de
+recherche — p.@: ex.@: @code{"2.2"}.
 
address@hidden importer des paquets
address@hidden paquets importés
address@hidden conversion de paquets
address@hidden Invoquer @command{guix import}
-La commande @command{guix import} est utile pour les gens qui voudraient
-ajouter un paquet à la distribution avec aussi peu de travail que possible —
-une demande légitime.  La commande connaît quelques dépôts logiciels d'où
-elle peut « importer » des métadonnées de paquets.  Le résultat est une
-définition de paquet, ou un modèle de définition, dans le format reconnu par
-Guix (@pxref{Définition des paquets}).
address@hidden détermine si les paquets référencés par @var{exp} devraient
+être greffés si possible.
 
-La syntaxe générale est :
+Lorsque @var{references-graphs} est vrai, il doit s'agir d'une liste de
+tuples de la forme suivante :
 
 @example
-guix import @var{importer} @address@hidden
+(@var{file-name} @var{package})
+(@var{file-name} @var{package} @var{output})
+(@var{file-name} @var{derivation})
+(@var{file-name} @var{derivation} @var{output})
+(@var{file-name} @var{store-item})
 @end example
 
address@hidden spécifie la source depuis laquelle importer des métadonnées
-de paquets, et @var{options} spécifie un identifiant de paquet et d'autres
-options spécifiques à @var{importer}.  Actuellement les « importateurs »
-disponibles sont :
+La partie droite des éléments de @var{references-graphs} est automatiquement
+transformée en une entrée du processus de construction @var{exp}.  Dans
+l'environnement de construction, chaque @var{file-name} contient le graphe
+des références de l'élément correspondant, dans un format texte simple.
 
address@hidden @code
address@hidden gnu
-Importe des métadonnées d'un paquet GNU donné.  Cela fournit un modèle pour
-la dernière version de ce paquet GNU, avec le hash de son archive, le
-synopsis et la description canonique.
address@hidden doit soit être @code{#f}, soit une liste de noms de
+sorties ou de paquets.  Dans ce dernier cas, la liste dénote les éléments du
+dépôt auxquels le résultat a le droit de faire référence.  Toute référence à
+un autre élément du dépôt conduira à une erreur à la construction.  Comme
+pour @var{disallowed-references}, qui peut lister des éléments qui ne
+doivent pas être référencés par les sorties.
 
-Les informations supplémentaires comme les dépendances du paquet et sa
-licence doivent être renseignées manuellement.
address@hidden détermine s'il faut afficher les avertissement
+d'obsolescence à la compilation de modules.  Il peut valoir @code{#f},
address@hidden ou @code{'detailed}.
 
-Par exemple, la commande suivante renvoie une définition de paquets pour
address@hidden :
+Les autres arguments sont les mêmes que pour @code{derivation}
+(@pxref{Dérivations}).
address@hidden deffn
+
address@hidden objets simili-fichiers
+Les procédures @code{local-file}, @code{plain-file}, @code{computed-file},
address@hidden et @code{scheme-file} ci-dessous renvoient des
address@hidden simili-fichiers}.  C'est-à-dire, lorsqu'ils sont unquotés dans
+une G-expression, ces objets donnent un fichier dans le dépôt.  Considérez
+cette G-expression :
 
 @example
-guix import gnu hello
+#~(system* #$(file-append glibc "/sbin/nscd") "-f"
+           #$(local-file "/tmp/my-nscd.conf"))
 @end example
 
-Les options spécifiques sont :
+Ici, l'effet est « d'internaliser » @file{/tmp/my-nscd.conf} en le copiant
+dans le dépôt.  Une fois étendu, par exemple via @code{gexp->derivation}, la
+G-expression se réfère à cette copie dans @file{/gnu/store} ; ainsi,
+modifier ou supprimer le fichier dans @file{/tmp} n'a aucun effet sur ce que
+fait la G-expression.  @code{plain-file} peut être utilisé de la même
+manière ; elle est seulement différente par le fait que le contenu du
+fichier est passé directement par une chaîne de caractères.
 
address@hidden @code
address@hidden address@hidden
-Comme pour @code{guix refresh}, spécifie la politique de gestion des clefs
-OpenPGP manquantes lors de la vérification de la signature d'un paquet.
address@hidden guix refresh, @code{--key-download}}.
address@hidden table
address@hidden {Procédure Scheme} local-file @var{file} address@hidden @
+   [#:recursive? #f] [#:select? (const #t)]
+Renvoie un objet représentant un fichier local @var{file} à ajouter au dépôt
+; cet objet peut être utilisé dans une gexp.  Si @var{file} est un nom de
+fichier relatif, il est récupéré à partir de la position du fichier source
+dans lequel il apparaît.  @var{file} sera ajouté au dépôt sous le nom
address@hidden — par défaut le nom de base de @var{file}.
 
address@hidden pypi
address@hidden pypi
-Importe des métadonnées depuis @uref{https://pypi.python.org/, l'index des
-paquets address@hidden fonctionnalité requiert l'installation de
-Guile-JSON. @xref{Prérequis}.}.  Les informations sont récupérées à
-partir de la description en JSON disponible sur @code{pypi.python.org} et
-inclus généralement toutes les informations utiles, dont les dépendances des
-paquets.  Pour une efficacité maximale, il est recommandé d'installer
-l'utilitaire @command{unzip}, pour que l'importateur puisse dézipper les
-wheels Python et récupérer les informations contenues à l'intérieur.
+Lorsque @var{recursive?} est vraie, le contenu de @var{file} est ajouté
+récursivement ; si @var{file} désigne un fichier simple et que
address@hidden est vrai, son contenu est ajouté et ses bits de permissions
+sont préservés.
 
-La commande ci-dessous importe les métadonnées du paquet Python
address@hidden :
+Lorsque @var{recursive?} est vraie, appelle @code{(@var{select?} @var{file}
address@hidden)} pour chaque répertoire où @var{file} est le nom de fichier
+absolu de l'entrée et @var{stat} est le résultat de @code{lstat} ; à
+l'exception des entrées pour lesquelles @var{select?} ne renvoie pas vrai.
 
address@hidden
-guix import pypi itsdangerous
address@hidden example
+C'est la version déclarative de la procédure monadique @code{interned-file}
+(@pxref{La monade du dépôt, @code{interned-file}}).
address@hidden deffn
 
address@hidden @code
address@hidden --recursive
address@hidden -r
-Traverse le graphe des dépendances du paquet amont donné et génère les
-expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
address@hidden {Procédure Scheme} plain-file @var{name} @var{content}
+Renvoie un objet représentant un fichier texte nommé @var{name} avec pour
+contenu @var{content} (une chaîne de caractères ou un vecteur d'octets) à
+ajouter un dépôt.
 
address@hidden gem
address@hidden gem
-Importe des métadonnées de @uref{https://rubygems.org/,
address@hidden fonctionnalité requiert l'installation de
-Guile-JSON.  @xref{Prérequis}.}.  Les informations sont récupérées au
-format JSON disponible sur @code{rubygems.org} et inclut les informations
-les plus utiles, comme les dépendances à l'exécution.  Il y a des pièges
-cependant.  Les métadonnées ne distinguent pas synopsis et description, donc
-la même chaîne est utilisée pour les deux champs.  En plus, les détails des
-dépendances non Ruby requises pour construire des extensions natives sont
-indisponibles et laissé en exercice au packager.
+C'est la version déclarative de @code{text-file}.
address@hidden deffn
 
-La commande ci-dessous importe les métadonnées pour le paquet Ruby
address@hidden :
address@hidden {Procédure Scheme} computed-file @var{name} @var{gexp} @
+          [#:options '(#:local-build? #t)]
+Renvoie un objet représentant un élément du dépôt @var{name}, un fichier ou
+un répertoire calculé par @var{gexp}.  @var{options} est une liste
+d'arguments supplémentaires à passer à @code{gexp->derivation}.
 
address@hidden
-guix import gem rails
address@hidden example
+C'est la version déclarative de @code{gexp->derivation}.
address@hidden deffn
 
address@hidden @code
address@hidden --recursive
address@hidden -r
-Traverse le graphe des dépendances du paquet amont donné et génère les
-expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
address@hidden {Procédure monadique} gexp->script @var{name} @var{exp} @
+  [#:guile (default-guile)] [#:module-path %load-path]
+Renvoie un script exécutable @var{name} qui lance @var{exp} avec
address@hidden, avec les modules importés de @var{exp} dans son chemin de
+recherche.  Cherche les modules de @var{exp} dans @var{module-path}.
 
address@hidden cpan
address@hidden CPAN
-Importe des métadonnées de @uref{https://www.metacpan.org/,
address@hidden fonctionnalité requiert l'installation de
-Guile-JSON.  @xref{Prérequis}.}.  Les informations sont récupérées au
-format JSON disponible à travers  @uref{https://fastapi.metacpan.org/, l'API
-de MetaCPAN} et inclus les informations les plus utiles, comme les
-dépendances des modules.  L'information sur les licences doit être vérifiée
-avec attention.  Si Perl est disponible dans le dépôt, alors l'utilitaire
address@hidden sera utiliser pour exclure les modules du cœur de la
-distribution Perl de la liste des dépendances.
+L'exemple ci-dessous construit un script qui invoque simplement la commande
address@hidden :
 
-La commande ci-dessous importe les métadonnées du module Perl
address@hidden::Boolean} :
address@hidden
+(use-modules (guix gexp) (gnu packages base))
+
+(gexp->script "list-files"
+              #~(execl #$(file-append coreutils "/bin/ls")
+                       "ls"))
address@hidden example
+
+Lorsqu'elle est « lancée » à travers le dépôt (@pxref{La monade du dépôt,
address@hidden), on obtient une dérivation qui produit une fichier
+exécutable @file{/gnu/store/@dots{}-list-files} qui ressemble à :
 
 @example
-guix import cpan Acme::Boolean
+#!/gnu/store/@dots{}-guile-2.0.11/bin/guile -ds
+!#
+(execl "/gnu/store/@dots{}-coreutils-8.22"/bin/ls" "ls")
 @end example
address@hidden deffn
 
address@hidden cran
address@hidden CRAN
address@hidden Bioconductor
-Importe des métadonnées de @uref{https://cran.r-project.org/, CRAN}, le
-dépôt central de @uref{http://r-project.org, l'environnement statistique et
-graphique address@hidden
address@hidden {Procédure Scheme} program-file @var{name} @var{exp} @
+          [#:guile #f] [#:module-path %load-path]
+Renvoie un objet représentant un élément du dépôt @var{name} qui lance
address@hidden  @var{guile} est le paquet Guile à utiliser pour exécuter le
+script.  Les modules importés par @var{gexp} sont recherchés dans
address@hidden
 
-Les informations sont extraites du fichier @file{DESCRIPTION} du paquet.
+C'est la version déclarative de @code{gexp->script}.
address@hidden deffn
 
-La commande ci-dessous importe les métadonnées du paquet R @code{Cairo} :
address@hidden {Procédure monadique} gexp->file @var{name} @var{exp} @
+            [#:set-load-path? #t] [#:module-path %load-path] @
+[#:splice? #f] @
+[#:guile (default-guile)]
+Renvoie une dérivation qui construit un fichier @var{name} contenant
address@hidden  Lorsque @var{splice?} est vrai, @var{exp} est considéré comme
+une liste d'expressions qui seront splicée dans le fichier qui en résulte.
 
address@hidden
-guix import cran Cairo
address@hidden example
+Lorsque @var{set-load-path?} est vrai, émet du code dans le fichier de
+résultat pour initialiser @code{%load-path} et @code{%load-compiled-path}
+pour honorer les modules importés de @var{exp}.  Les modules de @var{exp}
+sont trouvés dans @var{module-path}.
 
-Lorsque l'option @code{--recursive} est utilisée, l'importateur traversera
-le graphe des dépendances du paquet amont récursivement et générera des
-expressions de paquets pour tous ceux qui ne sont pas déjà dans Guix.
+Le fichier qui en résulte retient les références à toutes les dépendances de
address@hidden ou un sous-ensemble.
address@hidden deffn
 
-Lorsque l'option @code{--archive=bioconductor} est utilisée, les métadonnées
-sont importées de @uref{https://www.bioconductor.org/, Bioconductor}, un
-répertoire de paquets R pour l'analyse et la compréhension de données
-génomiques volumineuses en bioinformatique.
address@hidden {Procédure Scheme} scheme-file @var{name} @var{exp} [#:splice? 
#f]
+Renvoie un objet représentant le fichier Scheme @var{name} qui contient
address@hidden
 
-Les informations sont extraites du fichier @file{DESCRIPTION} d'un paquet
-publié sur l'interface web du dépôt SVN de Bioconductor.
+C'est la version déclarative de @code{gexp->file}.
address@hidden deffn
 
-La commande ci-dessous importe les métadonnées du paquet R
address@hidden :
address@hidden {Procédure monadique} text-file* @var{name} @var{text} @dots{}
+Renvoie une valeur monadique qui construit un ficher texte contenant
address@hidden  @var{text} peut lister, en plus de chaînes de caractères, des
+objet de n'importe quel type qui peut être utilisé dans une gexp : des
+paquets, des dérivations, des fichiers objet locaux, etc.  Le fichier du
+dépôt qui en résulte en retient toutes les références.
+
+Cette variante devrait être préférée à @code{text-file} lorsque vous
+souhaitez créer des fichiers qui référencent le dépôt.  Cela est le cas
+typiquement lorsque vous construisez un fichier de configuration qui
+contient des noms de fichiers du dépôt, comme ceci :
 
 @example
-guix import cran --archive=bioconductor GenomicRanges
+(define (profile.sh)
+  ;; Renvoie le nom d'un script shell dans le dépôt qui initialise
+  ;; la variable d'environnement « PATH ».
+  (text-file* "profile.sh"
+              "export PATH=" coreutils "/bin:"
+              grep "/bin:" sed "/bin\n"))
 @end example
 
address@hidden texlive
address@hidden TeX Live
address@hidden CTAN
-Importe les métadonnées de @uref{http://www.ctan.org/, CTAN}, l'archive TeX
-réseau complète pour les paquets TeX qui font partie de la
address@hidden://www.tug.org/texlive/, distribution TeX Live}.
-
-Les informations sur les paquets sont obtenues à travers l'API XML fournie
-par CTAN, tandis que le code source est téléchargé depuis le dépôt SVN du
-projet Tex Live.  Cette méthode est utilisée parce que CTAN ne garde pas
-d'archives versionnées.
+Dans cet exemple, le fichier @file{/gnu/store/@dots{}-profile.sh} qui en
+résulte référence  @var{coreutils}, @var{grep} et @var{sed}, ce qui les
+empêche d'être glanés tant que le script est accessible.
address@hidden deffn
 
-La commande ci-dessous importe les métadonnées du paquet TeX @code{fontspec}
-:
address@hidden {Procédure Scheme} mixed-text-file @var{name} @var{text} @dots{}
+Renvoie un objet représentant le fichier du dépôt @var{name} contenant
address@hidden  @var{text} est une séquence de chaînes de caractères et de
+fichiers simili-objets, comme dans :
 
 @example
-guix import texlive fontspec
+(mixed-text-file "profile"
+                 "export PATH=" coreutils "/bin:" grep "/bin")
 @end example
 
-Lorsque l'option @code{--archive=DIRECTORY} est utilisée, le code source
-n'est pas téléchargé depuis le sous-répertoire @file{latex} du
-l'arborescence @file{texmf-dist/source} dans le dépôt SVN de TeX Live, mais
-depuis le répertoire voisin spécifié sous la même racine.
+C'est la version déclarative de @code{text-file*}.
address@hidden deffn
 
-La commande ci-dessous importe les métadonnées du paquet @code{ifxetex}
-depuis CTAN en récupérant les sources depuis le répertoire
address@hidden/source/generic} :
address@hidden {Procédure Scheme} file-union @var{name} @var{files}
+Renvoie un @code{<computed-file>} qui construit un répertoire qui contient
+tous les fichiers de @var{files}.  Chaque élément de @var{files} doit être
+une paire où le premier élément est le nom de fichier à utiliser dans le
+nouveau répertoire et le second élément est une gexp dénotant le fichier
+cible.  Voici un exemple :
 
 @example
-guix import texlive --archive=generic ifxetex
+(file-union "etc"
+            `(("hosts" ,(plain-file "hosts"
+                                    "127.0.0.1 localhost"))
+              ("bashrc" ,(plain-file "bashrc"
+                                     "alias ls='ls --color=auto'"))))
 @end example
 
address@hidden json
address@hidden JSON, import
-Importe des métadonnées d'un fichier JSON address@hidden
-fonctionnalité requiert l'installation de Guile-JSON.
address@hidden  Considérez l'exemple suivant d'une définition de
-paquet au format JSON :
+Cela crée un répertoire @code{etc} contenant ces deux fichiers.
address@hidden deffn
+
address@hidden {Procédure Scheme} directory-union @var{name} @var{things}
+Renvoie un répertoire qui est l'union de @var{things}, où @var{things} est
+une liste d'objets simili-fichiers qui dénotent des répertoires. Par exemple
+:
 
 @example
address@hidden
-  "name": "hello",
-  "version": "2.10",
-  "source": "mirror://gnu/hello/hello-2.10.tar.gz",
-  "build-system": "gnu",
-  "home-page": "https://www.gnu.org/software/hello/";,
-  "synopsis": "Hello, GNU world: An example GNU package",
-  "description": "GNU Hello prints a greeting.",
-  "license": "GPL-3.0+",
-  "native-inputs": ["gcc@@6"]
address@hidden
+(directory-union "guile+emacs" (list guile emacs))
 @end example
 
-Les noms des champs sont les mêmes que pour les enregistrements de
address@hidden<package>} (@xref{Définition des paquets}).  Les référence à 
d'autres
-paquets sont fournies comme des listes JSON de chaînes de spécifications de
-paquets comme @code{guile} ou @code{guile@@2.0}.
+crée un répertoire qui est l'union des paquets @code{guile} et @code{emacs}.
address@hidden deffn
 
-L'importateur supporte aussi une définition plus explicite des sources avec
-les champs habituels pour les enregistrements @code{<origin>} :
address@hidden {Procédure Scheme} file-append @var{obj} @var{suffix} @dots{}
+Renvoie un objet simili-fichier qui correspond à la concaténation de
address@hidden et @var{suffix} où @var{obj} est un objet abaissable et chaque
address@hidden est une chaîne de caractères.
+
+Par exemple, considérez cette gexp :
 
 @example
address@hidden
-  @dots{}
-  "source": @{
-    "method": "url-fetch",
-    "uri": "mirror://gnu/hello/hello-2.10.tar.gz",
-    "sha256": @{
-      "base32": "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"
-    @}
-  @}
-  @dots{}
address@hidden
+(gexp->script "run-uname"
+              #~(system* #$(file-append coreutils
+                                        "/bin/uname")))
 @end example
 
-La commande ci-dessous lit les métadonnées du fichier JSON @code{hello.json}
-et renvoie une expression de paquet :
+On peut obtenir le même effet avec :
 
 @example
-guix import json hello.json
+(gexp->script "run-uname"
+              #~(system* (string-append #$coreutils
+                                        "/bin/uname")))
 @end example
 
address@hidden nix
-Importe les métadonnées d'une copie locale des source de
address@hidden://nixos.org/nixpkgs/, la distribution address@hidden
-repose sur la commande @command{nix-instantiate} de
address@hidden://nixos.org/nix/, Nix}.}.  Les définitions de paquets dans
-Nixpkgs sont habituellement écrites en un mélange entre le langage Nix et
-Bash.  Cette commande n'importe que la structure de haut-niveau du paquet
-qui est écrite dans le langage Nix.  Elle inclut normalement tous les champs
-de base de la définition d'un paquet.
+Il y a une différence cependant : dans le cas @code{file-append}, le script
+qui en résulte contient le nom de fichier absolu comme une chaîne de
+caractère alors que dans le deuxième cas, le script contient une expression
address@hidden(string-append @dots{})} pour construire le nom de fichier @emph{à
+l'exécution}.
address@hidden deffn
 
-Lorsque vous importez un paquet GNU, le synopsis et la description sont
-replacés par la version canonique en amont.
 
-Normalement, vous devrez d'abord faire :
+Bien sûr, en plus de gexps inclues dans le code « hôte », certains modules
+contiennent des outils de construction.  Pour savoir facilement qu'ils sont
+à utiliser dans la strate de construction, ces modules sont gardés dans
+l'espace de nom @code{(guix build @dots{})}.
 
address@hidden
-export NIX_REMOTE=daemon
address@hidden example
address@hidden abaissement, des objets haut-niveau dans les gepxs
+En interne, les objets de haut-niveau sont @dfn{abaissés}, avec leur
+compilateur, soit en des dérivations, soit en des objets du dépôt.  Par
+exemple, abaisser un paquet crée une dérivation, et abaisser un
address@hidden crée un élément du dépôt.  Cela est effectué par la
+procédure monadique @code{lower-object}.
 
address@hidden
-pour que @command{nix-instantiate} n'essaye pas d'ouvrir la base de données
-de Nix.
address@hidden {Procédure monadique} lower-object @var{obj} address@hidden @
+           [#:target #f]
+Renvoie la dérivation ou l'élément du dépôt comme une valeur de
address@hidden qui correspond à @var{obj} pour @var{system}, en
+compilant de manière croisée pour @var{target} si @var{target} est vrai.
address@hidden doit être un objet qui a un compilateur de gexp associé, comme un
address@hidden<package>}.
address@hidden deffn
 
-Par exemple, la commande ci-dessous importe la définition du paquet de
-LibreOffice (plus précisément, elle importe la définition du paquet lié à
-l'attribut de plus haut-niveau @code{libreoffice}) :
address@hidden Invoquer guix repl
address@hidden Invoquer @command{guix repl}
+
address@hidden REPL, read-eval-print loop
+La commande @command{guix repl} démarre un @dfn{boucle
+lecture-évaluation-affichage} Guile pour la programmation interactive
+(@pxref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}).
+Comparé au lancement de la commande @command{guile}, @command{guix repl}
+garanti que tous les modules Guix et toutes ses dépendances sont disponibles
+dans le chemin de recherche.  Vous pouvez l'utiliser de cette manière :
 
 @example
-guix import nix ~/path/to/nixpkgs libreoffice
+$ guix repl
+scheme@@(guile-user)> ,use (gnu packages base)
+scheme@@(guile-user)> coreutils
+$1 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300>
 @end example
 
address@hidden hackage
address@hidden hackage
-Importe les métadonnées de l'archive de paquets centrale de la communauté
-Haskell, @uref{https://hackage.haskell.org/, Hackage}.  Les informations
-sont récupérées depuis les fichiers Cabal et incluent toutes les
-informations utiles, dont les dépendances des paquets.
address@hidden inférieurs
+En plus, @command{guix repl} implémente un protocole REPL simple lisible par
+une machine à utiliser avec @code{(guix inferior)}, un dispositif pour
+interagir avec des @dfn{inférieurs}, des processus séparés qui font tourner
+une version potentiellement différente de Guix.
 
-Les options spécifiques sont :
+Les options disponibles sont les suivante :
 
 @table @code
address@hidden --stdin
address@hidden -s
-Lit un fichier Cabal depuis l'entrée standard.
address@hidden --no-test-dependencies
address@hidden -t
-N'inclut pas les dépendances requises uniquement par les suites de tests.
address@hidden address@hidden
address@hidden -e @var{alist}
address@hidden est une alist Scheme qui définie l'environnement dans lequel les
-conditions de Cabal sont évaluées.  Les clefs acceptées sont : @code{os},
address@hidden, @code{impl} et une représentation sous forme de chaîne de
-caractères du nom d'un drapeau.  La valeur associée à un drapeau doit être
-le symbole @code{true} ou @code{false}.  La valeur associée aux autres clefs
-doivent se conformer avec la définition du format de fichiers Cabal.  La
-valeur par défaut associée avec les clefs @code{os}, @code{arch} et
address@hidden sont respectivement @samp{linux}, @samp{x86_64} et @samp{ghc}.
address@hidden --recursive
address@hidden -r
-Traverse le graphe des dépendances du paquet amont donné et génère les
-expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden address@hidden
address@hidden -t @var{type}
+Démarrer un REPL du @var{type} donné, qui peut être l'un de ces types :
+
address@hidden @code
address@hidden guile
+C'est la valeur par défaut.  Elle démarre un REPL Guile standard
+fonctionnel.
address@hidden machine
+Démarre un REPL qui utilise le protocole lisible par machine.  C'est le
+protocole que parle le module @code{(guix inferior)}.
 @end table
 
-La commande ci-dessous importe les métadonnées de la dernière version du
-paquet Haskell @code{HTTP} sans inclure les dépendances des tests et en
-spécifiant la valeur du drapeau @samp{network-uri} comme étant @code{false}
-:
address@hidden address@hidden
+Par défaut, @command{guix repl} lit depuis l'entrée standard et écrit sur la
+sortie standard.  Lorsque cette option est passée, il écoutera plutôt les
+connexions sur @var{endpoint}.  Voici un exemple d'options valides :
 
address@hidden
-guix import hackage -t -e "'((\"network-uri\" . false))" HTTP
address@hidden example
address@hidden @code
address@hidden --listen=tcp:37146
+Accepte les connexions sur localhost, sur le port 31.
 
-Une version spécifique du paquet peut éventuellement être spécifiée en
-faisant suivre le nom du paquet par un arobase et un numéro de version comme
-dans l'exemple suivant :
address@hidden --listen=unix:/tmp/socket
+Accepte les connexions sur le socket Unix-domain @file{/tmp/socket}.
address@hidden table
address@hidden table
 
address@hidden
-guix import hackage mtl@@2.1.3.1
address@hidden example
address@hidden 
*********************************************************************
address@hidden Utilitaires
address@hidden Utilitaires
 
address@hidden stackage
address@hidden stackage
-L'importateur @code{stackage} est une enveloppe autour de l'importateur
address@hidden  Il prend un nom de paquet, recherche la version incluse
-dans une version au support étendu (LTS) de @uref{https://www.stackage.org,
-Stackage} et utilise l'importateur @code{hackage} pour récupérer les
-métadonnées.  Remarquez que c'est à vous de choisir une version LTS
-compatible avec le compilateur GHC utilisé par Guix.
+cette section décrit les utilitaires en ligne de commande de Guix.  certains
+sont surtout faits pour les développeurs qui écrivent de nouvelles
+définitions de paquets tandis que d'autres sont plus utiles pour une
+utilisation générale.  Ils complètent l'interface de programmation Scheme de
+Guix d'une manière pratique.
 
-Les options spécifiques sont :
address@hidden
+* Invoquer guix build::      Construire des paquets depuis la ligne de 
+                               commande.
+* Invoquer guix edit::       Modifier les définitions de paquets.
+* Invoquer guix download::   Télécharger un fichier et afficher son hash.
+* Invoquer guix hash::       Calculer le hash cryptographique d'un fichier.
+* Invoquer guix import::     Importer des définitions de paquets.
+* Invoquer guix refresh::    Mettre à jour les définitions de paquets.
+* Invoquer guix lint::       Trouver des erreurs dans les définitions de 
+                               paquets.
+* Invoquer guix size::       Profiler l'utilisation du disque.
+* Invoquer guix graph::      Visualiser le graphe des paquets.
+* Invoquer guix publish::    Partager des substituts.
+* Invoquer guix challenge::  Défier les serveurs de substituts.
+* Invoquer guix copy::       Copier vers et depuis un dépôt distant.
+* Invoquer guix container::  Isolation de processus.
+* Invoquer guix weather::    Mesurer la disponibilité des substituts.
+* Invoquer guix processes::  Lister les processus clients.
address@hidden menu
 
address@hidden @code
address@hidden --no-test-dependencies
address@hidden -t
-N'inclut pas les dépendances requises uniquement par les suites de tests.
address@hidden address@hidden
address@hidden -l @var{version}
address@hidden est la version LTS désirée.  Si elle est omise, la dernière
-version est utilisée.
address@hidden --recursive
address@hidden -r
-Traverse le graphe des dépendances du paquet amont donné et génère les
-expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
address@hidden Invoquer guix build
address@hidden Invoquer @command{guix build}
 
-La commande ci-dessous importe les métadonnées du paquet Haskell @code{HTTP}
-inclus dans la version LTS 7.18 de Stackage :
address@hidden construction de paquets
address@hidden @command{guix build}
+La commande @command{guix build} construit des paquets ou des dérivations et
+leurs dépendances et affiche les chemins du dépôt qui en résulte.  Remarquez
+qu'elle ne modifie pas le profil de l'utilisateur — c'est le travail de la
+commande @command{guix package} (@pxref{Invoquer guix package}).  Ainsi,
+elle est surtout utile pour les développeurs de la distribution.
+
+La syntaxe générale est :
 
 @example
-guix import stackage --lts-version=7.18 HTTP
+guix build @var{options} @address@hidden
 @end example
 
address@hidden elpa
address@hidden elpa
-Importe les métadonnées du dépôt de paquets ELPA (Emacs Lisp Package
-Archive) (@pxref{Packages,,, emacs, The GNU Emacs Manual}).
-
-Les options spécifiques sont :
+Par exemple, la commande suivante construit la dernière version d'Emacs et
+de Guile, affiche leur journaux de construction et enfin affiche les
+répertoires des résultats :
 
address@hidden @code
address@hidden address@hidden
address@hidden -a @var{repo}
address@hidden identifie le dépôt d'archive depuis lequel récupérer les
-informations.  Actuellement les dépôts supportés et leurs identifiants sont
-:
address@hidden -
address@hidden
address@hidden://elpa.gnu.org/packages, GNU}, qu'on peut choisir avec
-l'identifiant @code{gnu}.  C'est la valeur par défaut.
address@hidden
+guix build emacs guile
address@hidden example
 
-Les paquets de @code{elpa.gnu.org} avec l'une des clefs contenues dans le
-porte-clef GnuPG @file{share/emacs/25.1/etc/package-keyring.gpg} (ou
-similaire) dans le paquet @code{emacs} (@pxref{Package Installation, ELPA
-package signatures,, emacs, The GNU Emacs Manual}).
+De même, la commande suivante construit tous les paquets disponibles :
 
address@hidden
address@hidden://stable.melpa.org/packages, MELPA-Stable}, qu'on peut
-sélectionner avec l'identifiant @code{melpa-stable}.
address@hidden
+guix build --quiet --keep-going \
+  `guix package -A | cut -f1,2 --output-delimiter=@@`
address@hidden example
 
address@hidden
address@hidden://melpa.org/packages, MELPA}, qu'on peut sélectionner avec
-l'identifiant @code{melpa}.
address@hidden itemize
address@hidden peut être soit le nom d'un paquet trouvé dans la
+distribution logicielle comme @code{coreutils}, soit @code{coreutils@@8.20},
+soit une dérivation comme @file{/gnu/store/@dots{}-coreutils-8.19.drv}.
+Dans le premier cas, la commande cherchera un paquet avec le nom
+correspondant (et éventuellement la version) dans les modules de la
+distribution GNU (@pxref{Modules de paquets}).
 
address@hidden --recursive
address@hidden -r
-Traverse le graphe des dépendances du paquet amont donné et génère les
-expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
+Autrement, l'option @code{--expression} peut être utilisée pour spécifier
+une expression Scheme qui s'évalue en un paquet ; c'est utile pour
+différencier des paquets avec le même nom ou des variantes de paquets.
 
address@hidden crate
address@hidden crate
-Importe les métadonnées du répertoire des paquets Rust
address@hidden://crates.io, crates.io}.
+Il peut y avoir aucune, une ou plusieurs @var{options}.  Les options
+disponibles sont décrites dans les sous-sections ci-dessous.
 
address@hidden opam
address@hidden OPAM
address@hidden OCaml
-Importe les métadonnées du répertoire de paquets
address@hidden://opam.ocaml.org/, OPAM} utilisé par la communauté OCaml
address@hidden table
address@hidden
+* Options de construction communes::  Options de construction pour la 
+                                        plupart des commandes.
+* Options de transformation de paquets::  Créer des variantes de paquets.
+* Options de construction supplémentaires::  Options spécifiques à « 
+                                                guix build ».
+* Débogage des échecs de construction::  La vie d'un empaqueteur.
address@hidden menu
 
-La structure du code de @command{guix import} est modulaire.  Il serait
-utile d'avoir plus d'importateurs pour d'autres formats de paquets et votre
-aide est la bienvenue sur ce sujet (@pxref{Contribuer}).
address@hidden Options de construction communes
address@hidden Options de construction communes
 
address@hidden Invoquer guix refresh
address@hidden Invoquer @command{guix refresh}
+Un certain nombre d'options qui contrôlent le processus de construction sont
+communes avec @command{guix build} et les autres commandes qui peuvent
+générer des constructions, comme @command{guix package} ou @command{guix
+archive}.  Voici ces options :
 
address@hidden @command{guix refresh}
-L'audience première de la commande @command{guix refresh} est l'ensemble des
-développeurs de la distribution logicielle GNU.  Par défaut, elle rapporte
-les paquets fournis par la distribution qui sont en retard par rapport aux
-dernières versions disponibles en amont, comme ceci :
address@hidden @code
 
address@hidden
-$ guix refresh
-gnu/packages/gettext.scm:29:13: gettext serait mis à jour de 0.18.1.1 à 
0.18.2.1
-gnu/packages/glib.scm:77:12: glib serait mis à jour de 2.34.3 à 2.37.0
address@hidden example
address@hidden address@hidden
address@hidden -L @var{répertoire}
+Ajoute @var{répertoire} au début du chemin de recherche de module de paquets
+(@pxref{Modules de paquets}).
 
-Autrement, on peut spécifier les paquets à considérer, auquel cas un
-avertissement est émis pour les paquets qui n'ont pas de gestionnaire de
-mise à jour associé :
+Cela permet à des utilisateurs de définir leur propres paquets et les rendre
+disponibles aux outils en ligne de commande.
 
address@hidden
-$ guix refresh coreutils guile guile-ssh
-gnu/packages/ssh.scm:205:2 : avertissement : aucun gestionnaire de mise à jour 
pour guile-ssh
-gnu/packages/guile.scm:136:12 : guile serait mis à jour de 2.0.12 à 2.0.13
address@hidden example
address@hidden --keep-failed
address@hidden -K
+Garde l'arborescence de construction des constructions en échec.  Ainsi, si
+une construction échoue, son arborescence de construction est préservée dans
address@hidden/tmp}, dans un répertoire dont le nom est affiché à la fin du 
journal
+de construction.  Cela est utile pour déboguer des échecs de construction.
address@hidden des échecs de construction}, pour des astuces sur la manière de 
déboguer
+des problèmes de construction.
 
address@hidden refresh} navigue le dépôt amont de chaque paquet et détermine
-le numéro de version le plus élevé parmi les versions publiées.  La commande
-sait comment mettre à jour certains types de paquets : les paquets GNU, les
-paquets ELPA, etc. — voir la documentation pour @option{--type} ci-dessous.
-Il y a beaucoup de paquet cependant pour lesquels il manque une méthode pour
-déterminer si une nouvelle version est disponible en amont.  Cependant, le
-mécanisme est extensible, alors n'hésitez pas à nous contacter pour ajouter
-une nouvelle méthode !
+Cette option n'a pas d'effet lors de la connexion à un démon distant avec
+l'URI @code{guix://} (@pxref{Le dépôt, la variable
address@hidden).
 
-Parfois les noms en amont diffèrent du nom de paquet utilisé par Guix et
address@hidden refresh} a besoin d'un peu d'aide.  La plupart des
-gestionnaires de mise à jour honorent la propriété @code{upstream-name} dans
-les définitions de paquets, ce qui peut être utilisé à cette fin :
address@hidden --keep-going
address@hidden -k
+Continue lorsque certaines dérivations échouent ; ne s'arrête que lorsque
+toutes les constructions ont soit réussies, soit échouées.
 
address@hidden
-(define-public network-manager
-  (package
-    (name "network-manager")
-    ;; @dots{}
-    (properties '((upstream-name . "NetworkManager")))))
address@hidden example
+Le comportement par défaut est de s'arrêter dès qu'une des dérivations
+spécifiées échoue.
 
-Lorsque l'option @code{--update} est utilisée, elle modifie les fichiers
-source de la distribution pour mettre à jour le numéro de version et le hash
-de l'archive source de ces recettes de paquets (@pxref{Définition des 
paquets}).
-Cela est effectué en téléchargeant la dernière version de l'archive des
-sources de chaque paquet et des signatures associées, en authentifiant
-l'archive téléchargée avec sa signature en utilisant @command{gpg} puis en
-calculant son hash.  Lorsque la clef publique utilisée pour signer l'archive
-manque du porte-clefs de l'utilisateur, le gestionnaire tente de la
-récupérer automatiquement d'un serveur de clef public ; si cela réussi, la
-clef est ajoutée au porte-clefs de l'utilisateur, sinon @command{guix
-refresh} rapporte une erreur.
address@hidden --dry-run
address@hidden -n
+Ne pas construire les dérivations.
 
-Les options suivantes sont supportées :
address@hidden de repli}
address@hidden --fallback
+Lorsque la substitution d'un binaire pré-compilé échoue, construit les
+paquets localement à la place (@pxref{Échec de substitution}).
 
address@hidden @code
address@hidden address@hidden
address@hidden
+Considère @var{urls} comme une liste d'URL de sources de substituts séparés
+par des espaces, et remplace la liste par défaut d'URL de
address@hidden (@pxref{daemon-substitute-urls,, @command{guix-daemon}
+URLs}).
 
address@hidden address@hidden
address@hidden -e @var{expr}
-Considérer le paquet évalué par @var{expr}.
+Cela signifie que les substituts peuvent être téléchargés depuis @var{urls},
+tant qu'ils sont signés par une clef autorisée par l'administrateur système
+(@pxref{Substituts}).
 
-C'est utile pour précisément se référer à un paquet, comme dans cet exemple
-:
+Lorsque @var{urls} est la chaîne vide, cela a pour effet de désactiver la
+substitution.
 
address@hidden
-guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'
address@hidden example
address@hidden --no-substitutes
+Ne pas utiliser de substitut pour les résultats de la construction.
+C'est-à-dire, toujours construire localement plutôt que de permettre le
+téléchargement de binaires pré-construits (@pxref{Substituts}).
 
-Cette commande liste les paquets qui dépendent de la libc « finale » (en
-gros tous les paquets).
address@hidden --no-grafts
+Ne par « greffer » les paquets.  En pratique, cela signifie que les mises à
+jour des paquets disponibles comme des greffes ne sont pas appliquées.
address@hidden à jour de sécurité}, pour plus d'information sur les greffes.
 
address@hidden --update
address@hidden -u
-Met à jour les fichiers source de la distribution (les recettes de paquets)
-en place.  Cette option est généralement utilisée depuis une copie du dépôt
-git de Guix (@pxref{Lancer Guix avant qu'il ne soit installé}) :
address@hidden address@hidden
+Construit chaque dérivation @var{n} fois d'affilé, et renvoie une erreur si
+les constructions consécutives ne sont pas identiques bit-à-bit.
 
address@hidden
-$ ./pre-inst-env guix refresh -s non-core -u
address@hidden example
+Cela est une manière utile pour détecter des processus de construction non
+déterministes.  Les processus de construction non déterministes sont
+problématiques car ils rendent pratiquement impossible la
address@hidden par les utilisateurs de l'authenticité de binaires
+tiers.  @xref{Invoquer guix challenge}, pour plus d'informations.
 
address@hidden des paquets}, pour plus d'information sur les définitions des
-paquets.
+Remarquez que, les résultats qui diffèrent ne sont pas gardés, donc vous
+devrez inspecter manuellement chaque erreur — p.@: ex.@: en gardant l'un des
+résultats avec @code{guix archive --export} (@pxref{Invoquer guix archive}),
+puis en reconstruisant, et enfin en comparant les deux résultats.
 
address@hidden address@hidden
address@hidden -s @var{subset}
-Choisi tous les paquets dans @var{subset}, entre @code{core} et
address@hidden
address@hidden --no-build-hook
+N'essaye pas de décharger les constructions via le « crochet de construction
+» du démon (@pxref{Réglages du délestage du démon}).  C'est-à-dire que tout 
sera
+construit localement plutôt que de décharger les constructions à une machine
+distante.
 
-Le sous-ensemble @code{core} se réfère à tous les paquets du cœur de la
-distribution — c.-à-d.@: les paquets qui sont utilisés pour construire «
-tout le rest ».  Cela comprend GCC, libc, Binutils, Bash, etc.
-Habituellement, changer l'un de ces paquets dans la distribution implique de
-reconstruire tous les autres.  Ainsi, ces mises à jour sont une nuisance
-pour les utilisateurs, en terme de temps de compilation et de bande passante
-utilisés pour effectuer la mise à jour.
address@hidden address@hidden
+Lorsque le processus de construction ou de substitution restent silencieux
+pendant plus de @var{secondes}, le terminer et rapporter une erreur de
+construction.
 
-Le sous-ensemble @code{non-core} se réfère au reste des paquets.  C'est
-habituellement utile dans les cas où une mise à jour des paquets du cœur
-serait dérangeante.
+Par défaut, les paramètres du démon sont pris en compte (@pxref{Invoquer 
guix-daemon, @code{--max-silent-time}}).
 
address@hidden address@hidden
address@hidden -m @var{fichier}
-Choisi tous les paquets du manifeste dans @var{file}.  C'est utile pour
-vérifier qu'aucun des paquets du manifeste utilisateur ne peut être mis à
-jour.
address@hidden address@hidden
+De même, lorsque le processus de construction ou de substitution dure plus
+de @var{secondes}, le terminer et rapporter une erreur de construction.
 
address@hidden address@hidden
address@hidden -t @var{updater}
-Chois uniquement les paquets pris en charge par @var{updater}
-(éventuellement une liste de gestionnaires de mise à jour séparés par des
-virgules). Actuellement, @var{updater} peut être l'une des valeurs suivantes
-:
+Par défaut, les paramètres du démon sont pris en compte (@pxref{Invoquer 
guix-daemon, @code{--timeout}}).
 
address@hidden @code
address@hidden gnu
-le gestionnaire de mise à jour pour les paquets GNU ;
address@hidden gnome
-le gestionnaire de mise à jour pour les paquets GNOME ;
address@hidden kde
-le gestionnaire de mise à jour pour les paquets KDE ;
address@hidden xorg
-le gestionnaire de mise à jour pour les paquets X.org ;
address@hidden kernel.org
-le gestionnaire de mise à jour pour les paquets hébergés sur kernel.org ;
address@hidden elpa
-le gestionnaire de mise à jour pour les paquets @uref{http://elpa.gnu.org/,
-ELPA} ;
address@hidden cran
-le gestionnaire de mise à jour pour les paquets
address@hidden://cran.r-project.org/, CRAN} ;
address@hidden bioconductor
-le gestionnaire de mise à jour pour les paquets
address@hidden://www.bioconductor.org/, Bioconductor} ;
address@hidden cpan
-le gestionnaire de mise à jour pour les paquets @uref{http://www.cpan.org/,
-CPAN} ;
address@hidden pypi
-le gestionnaire de mise à jour pour les paquets
address@hidden://pypi.python.org, PyPI} ;
address@hidden gem
-le gestionnaire de mise à jour pour les paquets @uref{https://rubygems.org,
-RubyGems} ;
address@hidden github
-le gestionnaire de mise à jour pour les paquets @uref{https://github.com,
-GitHub} ;
address@hidden hackage
-le gestionnaire de mise à jour pour les paquets
address@hidden://hackage.haskell.org, Hackage} ;
address@hidden stackage
-le gestionnaire de mise à jour pour les paquets
address@hidden://www.stackage.org, Stackage} ;
address@hidden crate
-le gestionnaire de mise à jour pour les paquets @uref{https://crates.io,
-Crates} ;
address@hidden table
address@hidden Note: This option is actually not part of 
%standard-build-options but
address@hidden most programs honor it.
address@hidden verbosity, of the command-line tools
address@hidden build logs, verbosity
address@hidden -v @var{level}
address@hidden address@hidden
+Use the given verbosity @var{level}, an integer.  Choosing 0 means that no
+output is produced, 1 is for quiet output, and 2 shows all the build log
+output on standard error.
 
-Par exemple, la commande suivante ne vérifie que les mises à jour des
-paquets Emacs hébergés sur @code{elpa.gnu.org} et les paquets CRAN :
address@hidden address@hidden
address@hidden -c @var{n}
+Permet d'utiliser jusqu'à @var{n} cœurs du CPU pour la construction.  La
+valeur spéciale @code{0} signifie autant de cœurs que possible.
 
address@hidden
-$ guix refresh --type=elpa,cran
-gnu/packages/statistics.scm:819:13 : r-testthat serait mis à jour de 0.10.0 à 
0.11.0
-gnu/packages/emacs.scm:856:13 : emacs-auctex serait mis à jour de 11.88.6 à 
11.88.9
address@hidden example
address@hidden address@hidden
address@hidden -M @var{n}
+Permet au plus @var{n} travaux de construction en parallèle.  @xref{Invoquer 
guix-daemon, @code{--max-jobs}}, pour plus de détails sur cette option et
+l'option équivalente pour @command{guix-daemon}.
+
address@hidden address@hidden
+Produce debugging output coming from the build daemon.  @var{level} must be
+an integer between 0 and 5; higher means more verbose output.  Setting a
+level of 4 or more may be helpful when debugging setup issues with the build
+daemon.
 
 @end table
 
-En plus, on peut passer à @command{guix refresh} un ou plusieurs noms de
-paquets, comme dans cet exemple :
+Sous le capot, @command{guix build} est surtout un interface à la procédure
address@hidden du module @code{(guix packages)}, et à la
+procédure @code{build-derivations} du module @code{(guix derivations)}.
+
+En plus des options passées explicitement par la ligne de commande,
address@hidden build} et les autres commande @command{guix} qui peuvent
+effectuer des construction honorent la variable d'environnement
address@hidden
+
address@hidden {Variable d'environnement} GUIX_BUILD_OPTIONS
+Les utilisateurs peuvent définir cette variable à une liste d'options de la
+ligne de commande qui seront automatiquement utilisées par @command{guix
+build} et les autres commandes @command{guix} qui peuvent effectuer des
+constructions, comme dans l'exemple suivant :
 
 @example
-$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8
+$ export GUIX_BUILD_OPTIONS="--no-substitutes -c 2 -L /foo/bar"
 @end example
 
address@hidden
-La commande au-dessus met à jour spécifiquement les paquets @code{emacs} et
address@hidden  L'option @code{--select} n'aurait aucun effet dans ce cas.
+Ces options sont analysées indépendamment, et le résultat est ajouté aux
+options de la ligne de commande analysées.
address@hidden defvr
 
-Pour déterminer s'il faut mettre à jour un paquet, il est parfois pratique
-de savoir quels paquets seraient affectés par la mise à jour pour pouvoir
-vérifier la compatibilité.  Pour cela l'option suivante peut être utilisée
-avec un ou plusieurs noms de paquets passés à @command{guix refresh} :
+
address@hidden Options de transformation de paquets
address@hidden Options de transformation de paquets
+
address@hidden variantes de paquets
+Un autre ensemble d'options de la ligne de commande supportés par
address@hidden build} et aussi @command{guix package} sont les @dfn{options
+de transformation de paquets}.  Ce sont des options qui rendent possible la
+définition de @dfn{variantes de paquets} — par exemple, des paquets
+construit à partir de sources différentes.  C'est une manière simple de
+créer des paquets personnalisés à la volée sans avoir à taper les
+définitions de variantes de paquets (@pxref{Définition des paquets}).
 
 @table @code
 
address@hidden --list-updaters
address@hidden -L
-Liste les gestionnaires de mise à jour et quitte (voir l'option
address@hidden plus haut).
address@hidden address@hidden
address@hidden address@hidden@var{source}
address@hidden address@hidden@@@address@hidden
+Utiles @var{source} comme la source de @var{paquet}, et @var{version} comme
+son numéro de version.  @var{source} doit être un nom de fichier ou une URL,
+comme pour @command{guix download} (@pxref{Invoquer guix download}).
 
-Pour chaque gestionnaire, affiche le pourcentage de paquets qu'il couvre ; à
-la fin, affiche le pourcentage de paquets couverts par tous les
-gestionnaires.
+Lorsque @var{paquet} est omis, la commande utilisera le nom de paquet
+spécifié par la base de @var{source} — p.@: ex.@: si @var{source} est
address@hidden/src/guix-2.0.10.tar.gz}, le paquet correspondant est 
@code{guile}.
 
address@hidden --list-dependent
address@hidden -l
-Liste les paquets de plus haut-niveau qui devraient être reconstruits après
-la mise à jour d'un ou plusieurs paquets.
+De même, lorsque @var{version} est omis, la chaîne de version est inférée à
+partir de @var{source} ; dans l'exemple précédent, il s'agit de
address@hidden
 
address@hidden guix graph, le type @code{reverse-package} de @command{guix
-graph}}, pour des informations sur la manière de visualiser la liste des
-paquets dépendant d'un autre.
+Cette option permet aux utilisateurs d'essayer des version des paquets
+différentes de celles fournies par la distribution.  L'exemple ci-dessous
+télécharge @file{ed-1.7.tar.g} depuis un miroir GNU et l'utilise comme
+source pour le paquet @code{ed} :
 
address@hidden table
address@hidden
+guix build ed --with-source=mirror://gnu/ed/ed-1.7.tar.gz
address@hidden example
 
-Soyez conscients que l'option @code{--list-dependent} ne fait
address@hidden'approximer} les reconstructions qui seraient requises par une 
mise
-à jour.  Plus de reconstructions pourraient être requises dans certaines
-circonstances.
+En tant que développeur, @code{--with-source} permet de tester facilement
+des version bêta :
 
 @example
-$ guix refresh --list-dependent flex
-Building the following 120 packages would ensure 213 dependent packages are 
rebuilt:
-hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 
@dots{}
+guix build guile --with-source=../guile-2.0.9.219-e1bb7.tar.xz
 @end example
 
-La commande ci-dessus liste un ensemble de paquets qui peuvent être
-construits pour vérifier la compatibilité d'une mise à jour de @code{flex}.
address@hidden ou pour construire un dépôt de gestion de version dans un
+environnement vierge :
 
-Les options suivante peuvent être utilisées pour personnaliser les
-opérations avec GnuPG :
address@hidden
+$ git clone git://git.sv.gnu.org/guix.git
+$ guix build guix --with-source=guix@@1.0=./guix
address@hidden example
 
address@hidden @code
address@hidden address@hidden@var{remplaçant}
+Remplace la dépendance sur @var{paquet} par une dépendance à
address@hidden  @var{paquet} doit être un nom de paquet et
address@hidden doit être une spécification de paquet comme @code{guile} ou
address@hidden@@1.8}.
 
address@hidden address@hidden
-Utilise @var{commande} comme la commande de GnuPG 2.x.  @var{commande} est
-recherchée dans @code{PATH}.
+Par exemple, la commande suivante construit Guix, mais remplace sa
+dépendance à la version stable actuelle de Guile par une dépendance à une
+ancienne version de Guile, @code{guile@@2.0} :
 
address@hidden address@hidden
-Utilise @var{fichier} comme porte-clefs pour les clefs amont.  @var{fichier}
-doit être dans le @dfn{format keybox}.  Les fichiers Keybox ont d'habitude
-un nom qui fini par @file{.kbx} et address@hidden Guard (GPG) peut
-manipuler ces fichiers (@pxref{kbxutil, @command{kbxutil},, gnupg, Using the
-Privacy Guard}, pour plus d'informations sur un outil pour manipuler des
-fichiers keybox).
address@hidden
+guix build --with-input=guile=guile@@2.0 guix
address@hidden example
 
-Lorsque cette option est omise, @command{guix refresh} utilise
address@hidden/.config/guix/upstream/trustedkeys.kbx} comme porte-clefs pour les
-clefs de signature amont.  Les signatures OpenPGP sont vérifiées avec ces
-clefs ; les clefs manquantes sont aussi téléchargées dans ce porte-clefs
-(voir @option{--key-download} plus bas).
+C'est un remplacement récursif profond.  Donc dans cet exemple, à la fois
address@hidden et ses dépendances @code{guile-json} (qui dépend aussi de
address@hidden) sont reconstruits avec @code{guile@@2.0}.
 
-Vous pouvez exporter les clefs de votre porte-clefs GPG par défaut dans un
-fichier keybox avec une commande telle que :
+Cette option est implémentée avec la procédure Scheme
address@hidden (@pxref{Définition des paquets,
address@hidden).
+
address@hidden address@hidden@var{remplaçant}
+Cette option est similaire à @code{--with-input} mais avec une différence
+importante : plutôt que de reconstruire la chaîne de dépendance complète,
address@hidden est construit puis @dfn{greffé} sur les binaires qui
+référençaient initialement @var{paquet}.  @xref{Mises à jour de sécurité}, 
pour plus
+d'information sur les greffes.
+
+Par exemple, la commande ci-dessous greffe la version 3.5.4 de GnuTLS sur
+Wget et toutes ses dépendances, en remplaçant les références à la version
+actuelle de GnuTLS à laquelle ils se réfèrent actuellement :
 
 @example
-gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx
+guix build --with-graft=gnutls=gnutls@@3.5.4 wget
 @end example
 
-De même, vous pouvez récupérer des clefs dans un fichier keybox spécifique
-comme ceci :
+Cela a l'avantage d'être bien plus rapide que de tout reconstruire.  Mais il
+y a un piège : cela ne fonctionne que si @var{paquet} et @var{remplaçant}
+sont strictement compatibles — par exemple, s'ils fournissent une
+bibliothèque, l'interface binaire applicative (ABI) de ces bibliothèques
+doivent être compatibles.  Si @var{remplaçant} est incompatible avec
address@hidden, alors le paquet qui en résulte peut devenir inutilisable.  À
+utilisez avec précaution !
+
address@hidden address@hidden@var{branch}
address@hidden Git, using the latest commit
address@hidden latest commit, building
+Build @var{package} from the latest commit of @var{branch}.  The
address@hidden field of @var{package} must be an origin with the
address@hidden method (@pxref{Référence d'origine}) or a @code{git-checkout}
+object; the repository URL is taken from that @code{source}.  Git
+sub-modules of the repository are fetched, recursively.
+
+For instance, the following command builds @code{guile-sqlite3} from the
+latest commit of its @code{master} branch, and then builds @code{guix}
+(which depends on it) and @code{cuirass} (which depends on @code{guix})
+against this specific @code{guile-sqlite3} build:
 
 @example
-gpg --no-default-keyring --keyring mykeyring.kbx \
-  --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
+guix build --with-branch=guile-sqlite3=master cuirass
 @end example
 
address@hidden Configuration Options, @option{--keyring},, gnupg, Using the GNU
-Privacy Guard} pour plus d'informations sur l'option @option{--keyring} de
-GPG.
address@hidden intégration continue
+Obviously, since it uses the latest commit of the given branch, the result
+of such a command varies over time.  Nevertheless it is a convenient way to
+rebuild entire software stacks against the latest commit of one or more
+packages.  This is particularly useful in the context of continuous
+integration (CI).
 
address@hidden address@hidden
-Gère les clefs OpenPGP manquantes d'après la @var{politique}, qui peut être
-l'une des suivantes :
+Checkouts are kept in a cache under @file{~/.cache/guix/checkouts} to speed
+up consecutive accesses to the same repository.  You may want to clean it up
+once in a while to save disk space.
 
address@hidden @code
address@hidden always
-Toujours télécharger les clefs manquantes depuis un serveur de clefs et les
-ajouter au porte-clefs de l'utilisateur.
address@hidden address@hidden@var{commit}
+This is similar to @code{--with-branch}, except that it builds from
address@hidden rather than the tip of a branch.  @var{commit} must be a valid
+Git commit SHA1 identifier.
address@hidden table
 
address@hidden never
-Ne jamais essayer de télécharger les clefs OpenPGP manquante.  Quitter à la
-place.
address@hidden Options de construction supplémentaires
address@hidden Options de construction supplémentaires
+
+Les options de la ligne de commande ci-dessous sont spécifiques à
address@hidden build}.
 
address@hidden interactive
-Lorsqu'on rencontre un paquet signé par une clef OpenPGP inconnue, demander
-à l'utilisateur s'il souhaite la télécharger ou non.  C'est le comportement
-par défaut.
address@hidden table
address@hidden @code
 
address@hidden address@hidden
-Utiliser @var{host} comme serveur de clefs OpenPGP lors de l'importe d'une
-clef publique.
address@hidden --quiet
address@hidden -q
+Build quietly, without displaying the build log; this is equivalent to
address@hidden  Upon completion, the build log is kept in @file{/var}
+(or similar) and can always be retrieved using the @option{--log-file}
+option.
 
address@hidden table
address@hidden address@hidden
address@hidden -f @var{fichier}
+Construit le paquet, la dérivation ou l'objet simili-fichier en lequel le
+code dans @var{file} s'évalue (@pxref{G-Expressions, file-like objects}).
 
-The @code{github} updater uses the @uref{https://developer.github.com/v3/,
-GitHub API} to query for new releases.  When used repeatedly e.g.@: when
-refreshing all packages, GitHub will eventually refuse to answer any further
-API requests.  By default 60 API requests per hour are allowed, and a full
-refresh on all GitHub packages in Guix requires more than this.
-Authentication with GitHub through the use of an API token alleviates these
-limits.  To use an API token, set the environment variable
address@hidden to a token procured from
address@hidden://github.com/settings/tokens} or otherwise.
+Par exemple, @var{file} peut contenir une définition de paquet comme ceci
+(@pxref{Définition des paquets}) :
 
address@hidden
address@hidden package-hello.scm
address@hidden example
 
address@hidden Invoquer guix lint
address@hidden Invoquer @command{guix lint}
address@hidden address@hidden
address@hidden -e @var{expr}
+Construit le paquet ou la dérivation en lequel @var{expr} s'évalue.
 
address@hidden @command{guix lint}
address@hidden paquets, chercher des erreurs
-La commande @command{guix lint} est conçue pour aider les développeurs à
-éviter des erreurs commune et à utiliser un style cohérent lors de
-l'écriture de recettes de paquets.  Elle lance des vérifications sur un
-ensemble de paquets donnés pour trouver des erreurs communes dans leur
-définition.  Les @dfn{vérifieurs} disponibles comprennent (voir
address@hidden pour une liste complète) :
+Par exemple, @var{expr} peut être @code{(@@ (gnu packages guile)
+guile-1.8)}, qui désigne sans ambiguïté cette variante spécifique de la
+version 1.8 de Guile.
 
address@hidden @code
address@hidden synopsis
address@hidden description
-Vérifie certaines règles typographiques et stylistiques dans les
-descriptions et les synopsis.
+Autrement, @var{exp} peut être une G-expression, auquel cas elle est
+utilisée comme un programme de construction passé à @code{gexp->derivation}
+(@pxref{G-Expressions}).
 
address@hidden inputs-should-be-native
-Identifie les entrées qui devraient sans doute plutôt être des entrées
-natives.
+Enfin, @var{expr} peut se référer à une procédure monadique à au moins un
+argument (@pxref{La monade du dépôt}).  La procédure doit renvoyer une
+dérivation comme une valeur monadique, qui est ensuite lancée à travers
address@hidden
 
address@hidden source
address@hidden home-page
address@hidden mirror-url
address@hidden source-file-name
-Probe @code{home-page} and @code{source} URLs and report those that are
-invalid.  Suggest a @code{mirror://} URL when applicable.  Check that the
-source file name is meaningful, e.g.@: is not just a version number or
-``git-checkout'', without a declared @code{file-name} (@pxref{Référence 
d'origine}).
address@hidden --source
address@hidden -S
+Construit les dérivation source des paquets, plutôt que des paquets
+eux-mêmes.
 
address@hidden cve
address@hidden vulnérabilités
address@hidden CVE, Common Vulnerabilities and Exposures
-Rapporte les vulnérabilités connues trouvées dans les bases de données CVE
-(Common Vulnerabilities and Exposures) de l'année en cours et des années
-précédentes @uref{https://nvd.nist.gov/download.cfm#CVE_FEED, publié par le
-NIST américain}.
+Par exemple, @code{guix build -S gcc} renvoie quelque chose comme
address@hidden/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, qui est l'archive des 
sources
+de GCC.
 
-Pour voir les informations sur une vulnérabilité en particulier, visitez les
-pages :
+L'archive des sources renvoyée est le résultat de l'application des
+correctifs et des extraits de code éventuels spécifiés dans le champ
address@hidden du paquet (@pxref{Définition des paquets}).
 
address@hidden
address@hidden
address@hidden://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-ANNÉE-ABCD}
address@hidden
address@hidden://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-ANNÉE-ABCD}
address@hidden itemize
address@hidden --sources
+Récupère et renvoie la source de @var{package-or-derivation} et toute ses
+dépendances, récursivement.  C'est pratique pour obtenir une copie locale de
+tous les codes sources requis pour construire @var{packages}, ce qui vous
+permet de les construire plus tard même sans accès réseau.  C'est une
+extension de l'option @code{--source} et peut accepter l'un des arguments
+facultatifs suivants :
 
address@hidden
-où @code{CVE-ANNÉE-ABCD} est l'identifiant CVE — p.@: ex.@:
address@hidden
address@hidden @code
address@hidden package
+Cette valeur fait que l'option @code{--sources} se comporte comme l'option
address@hidden
 
-Les développeurs de paquets peuvent spécifier dans les recettes des paquets
-le nom @uref{https://nvd.nist.gov/cpe.cfm,CPE (Common Platform Enumeration)}
-et la version du paquet s'ils diffèrent du nom et de la version que Guix
-utilise, comme dans cet exemple :
address@hidden all
+Construit les dérivations des sources de tous les paquets, dont les sources
+qui pourraient être listées dans @code{inputs}.  C'est la valeur par défaut.
 
 @example
-(package
-  (name "grub")
-  ;; @dots{}
-  ;; CPE calls this package "grub2".
-  (properties '((cpe-name . "grub2")
-                (cpe-version . "2.3")))
+$ guix build --sources tzdata
+The following derivations will be built:
+   /gnu/store/@dots{}-tzdata2015b.tar.gz.drv
+   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv
 @end example
 
address@hidden See <http://www.openwall.com/lists/oss-security/2017/03/15/3>.
-Certaines entrées dans la base de données CVE ne spécifient pas la version
-du paquet auquel elles s'appliquent et lui restera donc attachée pour
-toujours.  Les développeurs qui trouvent des alertes CVE et ont vérifiés
-qu'elles peuvent être ignorées peuvent les déclarer comme dans cet exemple :
address@hidden transitive
+Build the source derivations of all packages, as well of all transitive
+inputs to the packages.  This can be used e.g.@: to prefetch package source
+for later offline building.
 
 @example
-(package
-  (name "t1lib")
-  ;; @dots{}
-  ;; Ces CVE ne s'appliquent plus et peuvent être ignorée sans problème.
-  (properties `((lint-hidden-cve . ("CVE-2011-0433"
-                                    "CVE-2011-1553"
-                                    "CVE-2011-1554"
-                                    "CVE-2011-5244")))))
+$ guix build --sources=transitive tzdata
+The following derivations will be built:
+   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv
+   /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv
+   /gnu/store/@dots{}-grep-2.21.tar.xz.drv
+   /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv
+   /gnu/store/@dots{}-make-4.1.tar.xz.drv
+   /gnu/store/@dots{}-bash-4.3.tar.xz.drv
address@hidden
 @end example
 
address@hidden formatting
-Avertit le développeurs lorsqu'il y a des problèmes de formatage du code
-source évident : des espaces en fin de ligne, des tabulations, etc.
 @end table
 
-La syntaxe générale est :
address@hidden address@hidden
address@hidden -s @var{système}
+Tenter de construire pour le @var{système} — p.@: ex.@: @code{i686-linux} —
+plutôt que pour le type de système de l'hôte de construction.
 
address@hidden
-guix lint @var{options} @address@hidden
address@hidden example
address@hidden Remarque
+Le drapeau @code{--system} est utilisé pour une compilation @emph{native} et
+ne doit pas être confondu avec une compilation croisée.  Voir
address@hidden ci-dessous pour des informations sur la compilation croisée.
address@hidden quotation
 
-Si aucun paquet n'est donné par la ligne de commande, tous les paquets
-seront vérifiés.  Les @var{options} peuvent contenir aucune ou plus des
-options suivantes :
+Par exemple, passer @code{--system=i686-linux} sur un système
address@hidden ou @code{--system=armhf-linux} sur un système
address@hidden vous permet de construire des paquets dans un
+environnement entièrement 32-bits.  C'est une exemple d'utilisation de cette
+option sur les systèmes Linux, qui peuvent émuler plusieurs personnalités.
 
address@hidden @code
address@hidden --list-checkers
address@hidden -l
-Liste et décrit tous les vérificateurs disponibles qui seront lancés sur les
-paquets puis quitte.
address@hidden Remarque
+La possibilité de construire pour un système @code{armhf-linux} est activé
+sans condition sur les machines @code{aarch64-linux}, bien que certaines
+puces aarch64 n'en soient pas capables, comme les ThunderX.
address@hidden quotation
 
address@hidden --checkers
address@hidden -c
-N'active que les vérificateurs spécifiés dans une liste de noms séparés par
-des virgules parmi la liste renvoyée par @code{--list-checkers}.
+De même, lorsque l'émulation transparente avec QEMU et @code{binfnmt_misc}
+est activée (@pxref{Services de virtualisation,
address@hidden), vous pouvez construire pour n'importe
+quel système pour lequel un gestionnaire QEMU @code{binfmt_misc} est
+installé.
 
address@hidden table
+Les constructions pour un autre système que celui de la machine que vous
+utilisez peuvent aussi être déchargées à une machine distante de la bonne
+architecture.  @xref{Réglages du délestage du démon}, pour plus d'information 
sur le
+déchargement.
 
address@hidden Invoquer guix size
address@hidden Invoquer @command{guix size}
address@hidden address@hidden
address@hidden compilation croisée
+Effectuer une compilation croisée pour @var{triplet} qui doit être un
+triplet GNU valide, comme @code{"mips64el-linux-gnu"} (@pxref{Specifying
+target triplets, GNU configuration triplets,, autoconf, Autoconf}).
 
address@hidden taille
address@hidden paquet, taille
address@hidden closure
address@hidden @command{guix size}
-La commande @command{guix size} aide les développeurs à dresser un profil de
-l'utilisation du disque que font les paquets.  C'est facile de négliger
-l'impact d'une dépendance supplémentaire ajoutée à un paquet, ou l'impact de
-l'utilisation d'une sortie unique pour un paquet qui pourrait être
-facilement séparé (@pxref{Des paquets avec plusieurs résultats}).  Ce sont les
-problèmes que @command{guix size} peut typiquement mettre en valeur.
address@hidden de la construction}
address@hidden --check
address@hidden déterminisme, vérification
address@hidden reproductibilité, vérification
+Reconstruit les @var{package-or-derivation}, qui sont déjà disponibles dans
+le dépôt et lève une erreur si les résultats des constructions ne sont pas
+identiques bit-à-bit.
+
+Ce mécanisme vous permet de vérifier si les substituts précédemment
+installés sont authentiques (@pxref{Substituts}) ou si le résultat de la
+construction d'un paquet est déterministe. @xref{Invoquer guix challenge}
+pour plus d'informations et pour les outils.
+
+Lorsqu'utilisé avec @option{--keep-failed}, la sortie différente est gardée
+dans le dépôt sous @file{/gnu/store/@dots{}-check}.  Cela rend plus facile
+l'étude des différences entre les deux résultats.
+
address@hidden --repair
address@hidden réparer les éléments du dépôt
address@hidden corruption, récupérer de
+Essaye de réparer les éléments du dépôt spécifiés, s'ils sont corrompus, en
+les téléchargeant ou en les construisant à nouveau.
+
+Cette opération n'est pas atomique et donc restreinte à l'utilisateur
address@hidden
+
address@hidden --derivations
address@hidden -d
+Renvoie les chemins de dérivation, et non les chemins de sortie, des paquets
+donnés.
+
address@hidden address@hidden
address@hidden -r @var{fichier}
address@hidden racines du GC, ajout
address@hidden ajout de racines au ramasse-miettes
+Fait de @var{fichier} un lien symbolique vers le résultat, et l'enregistre
+en tant que racine du ramasse-miettes.
+
+En conséquence, les résultats de cette invocation de @command{guix build}
+sont protégés du ramasse-miettes jusqu'à ce que @var{fichier} soit
+supprimé.  Lorsque cette option est omise, les constructions sont
+susceptibles d'être glanées.
+
address@hidden --log-file
address@hidden journaux de construction, accès
+Renvoie les noms des journaux de construction ou les URL des
address@hidden donnés ou lève une erreur si les journaux de
+construction sont absents.
 
-On peut passer un ou plusieurs spécifications de paquets à la commande,
-comme @code{gcc@@4.8} ou @code{guile:debug}, ou un nom de fichier dans le
-dépôt.  Regardez cet exemple :
+Cela fonctionne indépendamment de la manière dont les paquets ou les
+dérivations sont spécifiées.  Par exemple, les invocations suivantes sont
+équivalentes :
 
 @example
-$ guix size coreutils
-store item                               total    self
-/gnu/store/@dots{}-gcc-5.5.0-lib           60.4    30.1  38.1%
-/gnu/store/@dots{}-glibc-2.27              30.3    28.8  36.6%
-/gnu/store/@dots{}-coreutils-8.28          78.9    15.0  19.0%
-/gnu/store/@dots{}-gmp-6.1.2               63.1     2.7   3.4%
-/gnu/store/@dots{}-bash-static-4.4.12       1.5     1.5   1.9%
-/gnu/store/@dots{}-acl-2.2.52              61.1     0.4   0.5%
-/gnu/store/@dots{}-attr-2.4.47             60.6     0.2   0.3%
-/gnu/store/@dots{}-libcap-2.25             60.5     0.2   0.2%
-total: 78.9 MiB
+guix build --log-file `guix build -d guile`
+guix build --log-file `guix build guile`
+guix build --log-file guile
+guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'
 @end example
 
address@hidden closure
-Les éléments du dépôt listés ici constituent la @dfn{cloture transitive} de
-Coreutils — c.-à-d.@: Coreutils et toutes ses dépendances, récursivement —
-comme ce qui serait renvoyé par :
+Si un journal n'est pas disponible localement, à moins que
address@hidden ne soit passé, la commande cherche un journal
+correspondant sur l'un des serveurs de substituts (tels que spécifiés avec
address@hidden)
+
+Donc par exemple, imaginons que vous souhaitiez voir le journal de
+construction de GDB sur MIPS, mais que vous n'avez qu'une machine
address@hidden :
 
 @example
-$ guix gc -R /gnu/store/@dots{}-coreutils-8.23
+$ guix build --log-file gdb -s mips64el-linux
+https://@value{SUBSTITUTE-SERVER}/log/@dots{}-gdb-7.10
 @end example
 
-Ici, la sortie possède trois colonnes à côté de chaque élément du dépôt.  La
-première colonne, nommée « total », montre la taille en mébioctet (Mio) de
-la cloture de l'élément du dépôt — c'est-à-dire sa propre taille plus la
-taille de ses dépendances. La colonne suivante, nommée « lui-même », montre
-la taille de l'élément lui-même.  La dernière colonne montre le ration de la
-taille de l'élément lui-même par rapport à celle de tous les éléments
-montrés.
+Vous pouvez accéder librement à un vaste bibliothèque de journaux de
+construction !
address@hidden table
 
-Dans cet exemple, on voit que la cloture de Coreutils pèse address@hidden, dont
-la plupart est dû à la libc et aux bibliothèques à l'exécution de GCC (ce
-n'est pas un problème en soit que la libc et les bibliothèques de GCC
-représentent une grande part de la cloture parce qu'elles sont toujours
-disponibles sur le système de toute façon).
address@hidden Débogage des échecs de construction
address@hidden Débogage des échecs de construction
 
-Lorsque les paquets passés à @command{guix size} sont disponibles dans le
address@hidden précisément, @command{guix size} cherche les variantes
address@hidden greffées} des paquets donnés, tels qu'ils sont renvoyés par
address@hidden build @var{paquet} --no-graft}.  @xref{Mises à jour de sécurité} 
pour des
-informations sur les greffes}, @command{guix size} demande au démon de
-déterminer ses dépendances, et mesure sa taille dans le dépôt, comme avec
address@hidden -ms --apparent-size} (@pxref{du invocation,,, coreutils, GNU
-Coreutils}).
address@hidden échecs de construction, débogage
+Lors de la définition d'un nouveau paquet (@pxref{Définition des paquets}), 
vous
+passerez probablement du temps à déboguer et modifier la construction
+jusqu'à ce que ça marche.  Pour cela, vous devez effectuer les commandes de
+construction vous-même dans un environnement le plus proche possible de
+celui qu'utilise le démon de construction.
 
-Lorsque les paquets donnés ne sont @emph{pas} dans le dépôt, @command{guix
-size} rapporte les informations en se basant sur les substituts disponibles
-(@pxref{Substituts}). Cela permet de profiler l'utilisation du disque des
-éléments du dépôt même s'ils ne sont pas sur le disque, mais disponibles à
-distance.
+Pour cela, la première chose à faire est d'utiliser l'option
address@hidden ou @option{-K} de @command{guix build}, qui gardera
+l'arborescence de construction dans @file{/tmp} ou le répertoire spécifié
+par @code{TMPDIR} (@pxref{Invoquer guix build, @code{--keep-failed}}).
 
-Vous pouvez aussi spécifier plusieurs noms de paquets :
+À partir de là, vous pouvez vous déplacer dans l'arborescence de
+construction et sourcer le fichier @file{environment-variables}, qui
+contient toutes les variables d'environnement qui étaient définies lorsque
+la construction a échoué.  Disons que vous déboguez un échec de construction
+dans le paquet @code{foo} ; une session typique ressemblerait à cela :
 
 @example
-$ guix size coreutils grep sed bash
-store item                               total    self
-/gnu/store/@dots{}-coreutils-8.24          77.8    13.8  13.4%
-/gnu/store/@dots{}-grep-2.22               73.1     0.8   0.8%
-/gnu/store/@dots{}-bash-4.3.42             72.3     4.7   4.6%
-/gnu/store/@dots{}-readline-6.3            67.6     1.2   1.2%
address@hidden
-total: 102.3 MiB
+$ guix build foo -K
address@hidden @i{build fails}
+$ cd /tmp/guix-build-foo.drv-0
+$ source ./environment-variables
+$ cd foo-1.2
 @end example
 
address@hidden
-Dans cet exemple on voit que la combinaison des quatre paquets prent
address@hidden en tout, ce qui est bien moins que la somme des clotures
-puisqu'ils ont beaucoup de dépendances en commun.
+Maintenant, vous pouvez invoquer les commandes comme si vous étiez le démon
+(presque) et corriger le processus de construction.
 
-Les options disponibles sont :
+Parfois il arrive que, par exemple, les tests d'un paquet réussissent
+lorsque vous les lancez manuellement mais échouent quand ils sont lancés par
+le démon.  Cela peut arriver parce que le démon tourne dans un conteneur où,
+contrairement à notre environnement au-dessus, l'accès réseau est
+indisponible, @file{/bin/sh} n'existe pas, etc (@pxref{Réglages de 
l'environnement de construction}).
 
address@hidden @option
+Dans ce cas, vous pourriez avoir besoin de lancer le processus de
+construction dans un conteneur similaire à celui que le démon crée :
 
address@hidden address@hidden
-Utilise les informations de substituts de @var{urls}.
address@hidden, the same option for @code{guix build}}.
address@hidden
+$ guix build -K foo
address@hidden
+$ cd /tmp/guix-build-foo.drv-0
+$ guix environment --no-grafts -C foo --ad-hoc strace gdb
+[env]# source ./environment-variables
+[env]# cd foo-1.2
address@hidden example
 
address@hidden address@hidden
-Trie les lignes en fonction de la @var{clef}, l'une des optinos suivantes :
+Ici, @command{guix environment -C} crée un conteneur et démarre un nouveau
+shell dedans (@pxref{Invoquer guix environment}).  La partie
address@hidden strace gdb} ajoute les commandes @command{strace} et
address@hidden dans le conteneur, ce qui pourrait s'avérer utile pour le
+débogage.  L'option @option{--no-grafts} s'assure qu'on obtient le même
+environnement, avec des paquets non greffés (@pxref{Mises à jour de sécurité}, 
pour
+plus d'informations sur les greffes).
 
address@hidden @code
address@hidden self
-la taille de chaque élément (par défaut) ;
address@hidden closure
-la taille totale de la cloture de l'élémente.
address@hidden table
+Pour obtenir un conteneur plus proche de ce qui serait utilisé par le démon
+de construction, on peut enlever @file{/bin/sh} :
 
address@hidden address@hidden 
-Écrit un schéma de l'utilisation du disque au format PNG dans @var{fichier}.
address@hidden
+[env]# rm /bin/sh
address@hidden example
 
-Pour l'exemple au-dessus, le schéma ressemble à ceci :
+Ne vous inquiétez pas, c'est sans danger : tout cela se passe dans un
+conteneur jetable créé par @command{guix environment}.
 
address@hidden/coreutils-size-map,5in,, schéma de l'utilisation du disque de
-Coreutils produit par @command{guix size}}
+La commande @command{strace} n'est probablement pas dans le chemin de
+recherche, mais on peut lancer :
 
-Cette option requiert l'installation de
address@hidden://wingolog.org/software/guile-charting/, Guile-Charting} et qu'il
-soit visible dans le chemin de recherche des modules Guile.  Lorsque ce
-n'est pas le cas, @command{guix size} plante en essayant de le charger.
address@hidden
+[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check
address@hidden example
 
address@hidden address@hidden
address@hidden -s @var{système}
-Considère les paquets pour @var{système} — p.@: ex.@: @code{x86_64-linux}.
+De cette manière, non seulement vous aurez reproduit les variables
+d'environnement utilisées par le démon, mais vous lancerez aussi le
+processus de construction dans un conteneur similaire à celui utilisé par le
+démon.
 
address@hidden table
 
address@hidden Invoquer guix graph
address@hidden Invoque @command{guix graph}
address@hidden Invoquer guix edit
address@hidden Invoquer @command{guix edit}
 
address@hidden DAG
address@hidden @command{guix graph}
address@hidden dépendances des paquets
-Les paquets et leurs dépendances forment un @dfn{graphe}, plus précisément
-un graphe orienté acyclique (DAG).  Il peut vite devenir difficile d'avoir
-une représentation mentale du DAG d'un paquet, donc la commande
address@hidden graph} fournit une représentation visuelle du DAG.  Par
-défaut, @command{guix graph} émet un représentation du DAG dans le format
-d'entrée de @uref{http://www.graphviz.org/, Graphviz}, pour que sa sortie
-puisse être passée directement à la commande @command{dot} de Graphviz.
-Elle peut aussi émettre une page HTML avec du code Javascript pour afficher
-un « digramme d'accords » dans un navigateur Web, grâce à la bibliothèque
address@hidden://d3js.org/, d3.js}, ou émettre des requêtes Cypher pour
-construire un graphe dans une base de donnée de graphes supportant le
-langage de requêtes @uref{http://www.opencypher.org/, openCypher}.  La
-syntaxe générale est :
address@hidden @command{guix edit}
address@hidden définition de paquets, modification
+Tant de paquets, tant de fichiers source ! La commande @command{guix edit}
+facilite la vie des utilisateurs et des empaqueteurs en plaçant leur éditeur
+sur le fichier source qui contient la définition des paquets spécifiés.  Par
+exemple :
 
 @example
-guix graph @var{options} @address@hidden
+guix edit gcc@@4.9 vim
 @end example
 
-Par exemple, la commande suivante génère un fichier PDF représentant le DAG
-du paquet pour address@hidden Utilities, qui montre ses dépendances à la
-compilation :
address@hidden
+lance le programme spécifié dans la variable d'environnement @code{VISUAL}
+ou @code{EDITOR} pour visionner la recette de address@hidden et celle de
+Vim.
 
address@hidden
-guix graph coreutils | dot -Tpdf > dag.pdf
address@hidden example
+Si vous utilisez une copie du dépôt Git de Guix (@pxref{Construire depuis 
Git}),
+ou que vous avez créé vos propres paquets dans @code{GUIX_PACKAGE_PATH}
+(@pxref{Modules de paquets}), vous pourrez modifier les recettes des paquets.
+Sinon, vous pourrez examiner les recettes en lecture-seule des paquets
+actuellement dans le dépôt.
 
-La sortie ressemble à ceci :
 
address@hidden/coreutils-graph,2in,,Graphe de dépendance de GNU Coreutils}
address@hidden Invoquer guix download
address@hidden Invoquer @command{guix download}
 
-Joli petit graphe, non ?
address@hidden @command{guix download}
address@hidden télécharger les sources des paquets
+En écrivant des définitions de paquets, les développeurs ont généralement
+besoin de télécharger une archive des sources, calculer son hash SHA256 et
+écrire ce hash dans la définition du paquet (@pxref{Définition des paquets}).
+L'outil @command{guix download} aide à cette tâche : il télécharge un
+fichier à l'URL donné, l'ajoute au dépôt et affiche à la fois son nom dans
+le dépôt et son hash SHA56.
 
-Mais il y a plus qu'un seul graphe !  Celui au-dessus est concis : c'est le
-graphe des objets paquets, en omettant les entrées implicites comme GCC,
-libc, grep, etc.  Il est souvent utile d'avoir ces graphes concis, mais
-parfois on veut voir plus de détails.  @command{guix graph} supporte
-plusieurs types de graphes, qui vous permettent de choisir le niveau de
-détails :
+Le fait que le fichier téléchargé soit ajouté au dépôt préserve la bande
+passante : lorsque les développeurs finissent par construire le paquet
+nouvellement défini avec @command{guix build}, l'archive des sources n'aura
+pas besoin d'être téléchargée de nouveau puisqu'elle se trouvera déjà dans
+le dépôt.  C'est aussi une manière pratique de garder des fichiers
+temporairement, qui pourront ensuite être supprimés (@pxref{Invoquer guix gc}).
+
+La commande @command{guix download} supporte les mêmes URI que celles
+utilisées dans les définitions de paquets.  En particulier, elle supporte
+les URI @code {mirror://}.  Les URI @code{http} (HTTP sur TLS) sont
+supportées @emph{si} les liaisons Guile de GnuTLS sont disponibles dans
+l'environnement de l'utilisateur ; si elle ne sont pas disponibles, une
+erreur est renvoyée.  @xref{Guile Preparations, how to install the GnuTLS
+bindings for Guile,, gnutls-guile, GnuTLS-Guile}, pour plus d'informations.
+
address@hidden download} vérifie les certificats du serveur HTTPS en
+chargeant les autorités de certification X.509 depuis le répertoire vers
+lequel pointe la variable d'environnement @code{SSL_CERT_DIR} 
(@pxref{Certificats X.509}), à moins que @option{--no-check-certificate} ne 
soit utilisé.
+
+Les options suivantes sont disponibles :
 
 @table @code
address@hidden package
-C'est le type par défaut utilisé dans l'exemple plus haut.  Il montre le DAG
-des objets paquets, sans les dépendances implicites.  C'est concis, mais
-omet pas mal de détails.
address@hidden address@hidden
address@hidden -f @var{fmt}
+Écrit le hash dans le format spécifié par @var{fmt}.  Pour plus
+d'informations sur les valeurs valides pour @var{fmt}, @pxref{Invoquer guix 
hash}.
 
address@hidden reverse-package
-Cela montre le DAG @emph{inversé} des paquets.  Par exemple :
address@hidden --no-check-certificate
+Ne pas valider les certificats HTTPS des serveurs.
 
address@hidden
-guix graph --type=reverse-package ocaml
address@hidden example
+Lorsque vous utilisez cette option, vous n'avez @emph{absolument aucune
+garanti} que vous communiquez avec le serveur authentique responsable de
+l'URL donnée, ce qui vous rend vulnérable à des attaques de « l'homme du
+milieu ».
 
-...@: yields the graph of packages that depend on OCaml.
address@hidden address@hidden
address@hidden -o @var{fichier}
+Enregistre le fichier téléchargé dans @var{fichier} plutôt que de l'ajouter
+au dépôt.
address@hidden table
 
-Remarquez que pour les paquets du cœur de la distribution, cela crée des
-graphes énormes.  Si vous voulez seulement voir le nombre de paquets qui
-dépendent d'un paquet donnés, utilisez @command{guix refresh
---list-dependent} (@pxref{Invoquer guix refresh,
address@hidden).
address@hidden Invoquer guix hash
address@hidden Invoquer @command{guix hash}
 
address@hidden bag-emerged
-C'est le DAG du paquet, @emph{avec} les entrées implicites.
address@hidden @command{guix hash}
+La commande @command{guix hash} calcul le hash SHA256 d'un fichier.  C'est
+surtout un outil pour simplifier la vie des contributeurs de la distribution
+: il calcul le hash cryptographique d'un fichier, qui peut être utilisé dans
+la définition d'un paquet (@pxref{Définition des paquets}).
 
-Par exemple, la commande suivante :
+La syntaxe générale est :
 
 @example
-guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf
+guix hash @var{option} @var{fichier}
 @end example
 
-...@: yields this bigger graph:
+Lorsque @var{fichier} est @code{-} (un tiret), @command{guix hash} calcul le
+hash des données lues depuis l'entrée standard.  @command{guix hash} a les
+options suivantes :
 
address@hidden/coreutils-bag-graph,,5in,Graphe des dépendances détaillé de
-GNU Coreutils}
address@hidden @code
 
-En bas du graphe, on voit toutes les entrées implicites de
address@hidden (@pxref{Systèmes de construction, @code{gnu-build-system}}).
address@hidden address@hidden
address@hidden -f @var{fmt}
+Écrit le hash dans le format spécifié par @var{fmt}.
 
-Maintenant, remarquez que les dépendances de ces entrées implicites —
-c'est-à-dire les @dfn{dépendances de bootstrap} (@pxref{Bootstrapping}) — ne
-sont pas affichées, pour rester concis.
+Les formats supportés sont : @code{nix-base32}, @code{base32}, @code{base16}
+(@code{hex} et @code{hexadecimal} peuvent aussi être utilisés).
 
address@hidden bag
-Comme @code{bag-emerged} mais cette fois inclus toutes les dépendances de
-bootstrap.
+Si l'option @option {--format} n'est pas spécifiée, @command{guix hash}
+affichera le hash en @code{nix-base32}.  Cette représentation est utilisée
+dans les définitions des paquets.
 
address@hidden bag-with-origins
-Comme @code{bag}, mais montre aussi les origines et leurs dépendances.
address@hidden --recursive
address@hidden -r
+Calcule le hash sur @var{fichier} récursivement.
 
address@hidden dérivation
-C'est la représentation lu plus détaillée : elle montre le DAG des
-dérivations (@pxref{Dérivations}) et des éléments du dépôt.  Comparé à la
-représentation ci-dessus, beaucoup plus de nœuds sont visibles, dont les
-scripts de construction, les correctifs, les modules Guile, etc.
address@hidden FIXME: Replace xref above with xref to an ``Archive'' section 
when
address@hidden it exists.
+Dans ce cas, le hash est calculé sur une archive contenant @var{fichier},
+dont ses enfants si c'est un répertoire.  Certaines métadonnées de
address@hidden fait partie de l'archive ; par exemple lorsque @var{fichier}
+est un fichier normal, le hash est différent que le @var{fichier} soit
+exécutable ou non.  Les métadonnées comme un horodatage n'ont aucun impact
+sur le hash (@pxref{Invoquer guix archive}).
 
-Pour ce type de graphe, il est aussi possible de passer un nom de fichier
address@hidden à la place d'un nom de paquet, comme dans :
address@hidden --exclude-vcs
address@hidden -x
+Lorsqu'elle est combinée à @option{--recursive}, exclut les répertoires de
+système de contrôle de version (@file{.bzr}, @file{.git}, @file{.hg}, etc).
+
address@hidden git-fetch
+Par exemple, voici comment calculer le hash d'un dépôt Git, ce qui est utile
+avec la méthode @code{git-fetch} (@pxref{Référence d'origine}) :
 
 @example
-guix graph -t derivation `guix system build -d my-config.scm`
+$ git clone http://example.org/foo.git
+$ cd foo
+$ guix hash -rx .
 @end example
address@hidden table
 
address@hidden module
-C'est le graphe des @dfn{modules de paquets} (@pxref{Modules de paquets}).  Par
-exemple, la commande suivante montre le graphe des modules de paquets qui
-définissent le paquet @code{guile} :
address@hidden Invoquer guix import
address@hidden Invoquer @command{guix import}
+
address@hidden importer des paquets
address@hidden paquets importés
address@hidden conversion de paquets
address@hidden Invoquer @command{guix import}
+La commande @command{guix import} est utile pour les gens qui voudraient
+ajouter un paquet à la distribution avec aussi peu de travail que possible —
+une demande légitime.  La commande connaît quelques dépôts logiciels d'où
+elle peut « importer » des métadonnées de paquets.  Le résultat est une
+définition de paquet, ou un modèle de définition, dans le format reconnu par
+Guix (@pxref{Définition des paquets}).
+
+La syntaxe générale est :
 
 @example
-guix graph -t module guile | dot -Tpdf > module-graph.pdf
+guix import @var{importer} @address@hidden
 @end example
address@hidden table
 
-Tous les types ci-dessus correspondent aux @emph{dépendances à la
-construction}.  Le type de graphe suivant représente les @emph{dépendances à
-l'exécution} :
address@hidden spécifie la source depuis laquelle importer des métadonnées
+de paquets, et @var{options} spécifie un identifiant de paquet et d'autres
+options spécifiques à @var{importer}.  Actuellement les « importateurs »
+disponibles sont :
 
 @table @code
address@hidden references
-C'est le graphe des @dfn{references} d'une sortie d'un paquet, telles que
-renvoyées par @command{guix gc --references} (@pxref{Invoquer guix gc}).
address@hidden gnu
+Importe des métadonnées d'un paquet GNU donné.  Cela fournit un modèle pour
+la dernière version de ce paquet GNU, avec le hash de son archive, le
+synopsis et la description canonique.
 
-Si la sortie du paquet donnée n'est pas disponible dans le dépôt,
address@hidden graph} essayera d'obtenir les informations sur les dépendances
-à travers les substituts.
+Les informations supplémentaires comme les dépendances du paquet et sa
+licence doivent être renseignées manuellement.
 
-Vous pouvez aussi passer un nom de fichier du dépôt plutôt qu'un nom de
-paquet.  Par exemple, la commande ci-dessous produit le graphe des
-références de votre profile (qui peut être gros !) :
+Par exemple, la commande suivante renvoie une définition de paquets pour
address@hidden :
 
 @example
-guix graph -t references `readlink -f ~/.guix-profile`
+guix import gnu hello
 @end example
 
address@hidden referrers
-C'est le graphe des @dfn{référents} d'un élément du dépôt, tels que renvoyés
-par @command{guix gc --referrers} (@pxref{Invoquer guix gc}).
-
-Cela repose exclusivement sur les informations de votre dépôt.  Par exemple,
-supposons que Inkscape est actuellement disponible dans 10 profils sur votre
-machine ; @command{guix graph -t referrers inkscape} montrera le graphe dont
-la racine est Inkscape avec 10 profils qui y sont liés.
-
-Cela peut aider à déterminer ce qui empêche un élément du dépôt d'être
-glané.
+Les options spécifiques sont :
 
address@hidden @code
address@hidden address@hidden
+Comme pour @code{guix refresh}, spécifie la politique de gestion des clefs
+OpenPGP manquantes lors de la vérification de la signature d'un paquet.
address@hidden guix refresh, @code{--key-download}}.
 @end table
 
-Les options disponibles sont les suivante :
-
address@hidden @option
address@hidden address@hidden
address@hidden -t @var{type}
-Produit un graphe en sortie de type @var{type} où @var{type} doit être l'un
-des types au-dessus.
-
address@hidden --list-types
-Liste les types de graphes supportés.
address@hidden pypi
address@hidden pypi
+Import metadata from the @uref{https://pypi.python.org/, Python Package
+Index}.  Information is taken from the JSON-formatted description available
+at @code{pypi.python.org} and usually includes all the relevant information,
+including package dependencies.  For maximum efficiency, it is recommended
+to install the @command{unzip} utility, so that the importer can unzip
+Python wheels and gather data from them.
 
address@hidden address@hidden
address@hidden -b @var{moteur}
-Produit un graphe avec le @var{moteur} choisi.
+La commande ci-dessous importe les métadonnées du paquet Python
address@hidden :
 
address@hidden --list-backends
-Liste les moteurs de graphes supportés.
address@hidden
+guix import pypi itsdangerous
address@hidden example
 
-Actuellement les moteurs disponibles sont Graphviz et d3.js.
address@hidden @code
address@hidden --recursive
address@hidden -r
+Traverse le graphe des dépendances du paquet amont donné et génère les
+expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
 
address@hidden address@hidden
address@hidden -e @var{expr}
-Considérer le paquet évalué par @var{expr}.
address@hidden gem
address@hidden gem
+Import metadata from @uref{https://rubygems.org/, RubyGems}.  Information is
+taken from the JSON-formatted description available at @code{rubygems.org}
+and includes most relevant information, including runtime dependencies.
+There are some caveats, however.  The metadata doesn't distinguish between
+synopses and descriptions, so the same string is used for both fields.
+Additionally, the details of non-Ruby dependencies required to build native
+extensions is unavailable and left as an exercise to the packager.
 
-C'est utile pour précisément se référer à un paquet, comme dans cet exemple
-:
+La commande ci-dessous importe les métadonnées pour le paquet Ruby
address@hidden :
 
 @example
-guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'
+guix import gem rails
 @end example
 
address@hidden address@hidden
address@hidden -s @var{système}
-Affiche le graphe pour @var{système} — p.@: ex.@: @code{i686-linux}.
-
-Le graphe de dépendance des paquets est la plupart du temps indépendant de
-l'architecture, mais il y a quelques parties qui dépendent de l'architecture
-que cette option vous permet de visualiser.
address@hidden @code
address@hidden --recursive
address@hidden -r
+Traverse le graphe des dépendances du paquet amont donné et génère les
+expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
 @end table
 
address@hidden cpan
address@hidden CPAN
+Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}.
+Information is taken from the JSON-formatted metadata provided through
address@hidden://fastapi.metacpan.org/, MetaCPAN's API} and includes most
+relevant information, such as module dependencies.  License information
+should be checked closely.  If Perl is available in the store, then the
address@hidden utility will be used to filter core modules out of the list
+of dependencies.
 
address@hidden Invoquer guix environment
address@hidden Invoquer @command{guix environment}
-
address@hidden environnements de construction reproductibles
address@hidden environnement de développement
address@hidden @command{guix environment}
address@hidden environnement de construction de paquets
-Le but de @command{guix environment} est d'assister les hackers dans la
-création d'environnements de développement reproductibles sans polluer leur
-profil de paquets.  L'outil @command{guix environment} prend un ou plusieurs
-paquets, construit leurs entrées et crée un environnement shell pour pouvoir
-les utiliser.
-
-La syntaxe générale est :
+La commande ci-dessous importe les métadonnées du module Perl
address@hidden::Boolean} :
 
 @example
-guix environment @var{options} @address@hidden
+guix import cpan Acme::Boolean
 @end example
 
-L'exemple suivant crée un nouveau shell préparé pour le développement de
address@hidden :
address@hidden cran
address@hidden CRAN
address@hidden Bioconductor
+Importe des métadonnées de @uref{https://cran.r-project.org/, CRAN}, le
+dépôt central de @uref{http://r-project.org, l'environnement statistique et
+graphique address@hidden
+
+Les informations sont extraites du fichier @file{DESCRIPTION} du paquet.
+
+La commande ci-dessous importe les métadonnées du paquet R @code{Cairo} :
 
 @example
-guix environment guile
+guix import cran Cairo
 @end example
 
-Si les dépendances requises ne sont pas déjà construites, @command{guix
-environment} les construit automatiquement.  L'environnement du nouveau
-shell est une version améliorée de l'environnement dans lequel @command{guix
-environment} a été lancé.  Il contient les chemins de recherche nécessaires
-à la construction du paquet donné en plus des variables d'environnement
-existantes.  Pour créer un environnement « pur », dans lequel les variables
-d'environnement de départ ont été nettoyées, utilisez l'option
address@hidden@footnote{Les utilisateurs ajoutent parfois à tord des valeurs
-supplémentaires dans les variables comme @code{PATH} dans leur
address@hidden/.bashrc}.  En conséquence, lorsque @code{guix environment} le 
lance,
-Bash peut lire @file{~/.bashrc}, ce qui produit des « impuretés » dans ces
-variables d'environnement.  C'est une erreur de définir ces variables
-d'environnement dans @file{.bashrc} ; à la place, elles devraient être
-définie dans @file{.bash_profile}, qui est sourcé uniquement par les shells
-de connexion.  @xref{Bash Startup Files,,, bash, The GNU Bash Reference
-Manual}, pour des détails sur les fichiers de démarrage de Bash.}.
+Lorsque l'option @code{--recursive} est utilisée, l'importateur traversera
+le graphe des dépendances du paquet amont récursivement et générera des
+expressions de paquets pour tous ceux qui ne sont pas déjà dans Guix.
+
+Lorsque l'option @code{--archive=bioconductor} est utilisée, les métadonnées
+sont importées de @uref{https://www.bioconductor.org/, Bioconductor}, un
+répertoire de paquets R pour l'analyse et la compréhension de données
+génomiques volumineuses en bioinformatique.
+
+Les informations sont extraites du fichier @file{DESCRIPTION} d'un paquet
+publié sur l'interface web du dépôt SVN de Bioconductor.
 
address@hidden GUIX_ENVIRONMENT
address@hidden environment} définie la variable @code{GUIX_ENVIRONMENT} dans
-le shell qu'il crée ; sa valeur est le nom de fichier du profil de cet
-environnement.  Cela permet aux utilisateur, disons, de définir un prompt
-spécifique pour les environnement de développement dans leur @file{.bashrc}
-(@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}) :
+La commande ci-dessous importe les métadonnées du paquet R
address@hidden :
 
 @example
-if [ -n "$GUIX_ENVIRONMENT" ]
-then
-    export PS1="\u@@\h \w [dev]\$ "
-fi
+guix import cran --archive=bioconductor GenomicRanges
 @end example
 
address@hidden
-...@: or to browse the profile:
address@hidden texlive
address@hidden TeX Live
address@hidden CTAN
+Importe les métadonnées de @uref{http://www.ctan.org/, CTAN}, l'archive TeX
+réseau complète pour les paquets TeX qui font partie de la
address@hidden://www.tug.org/texlive/, distribution TeX Live}.
 
address@hidden
-$ ls "$GUIX_ENVIRONMENT/bin"
address@hidden example
+Les informations sur les paquets sont obtenues à travers l'API XML fournie
+par CTAN, tandis que le code source est téléchargé depuis le dépôt SVN du
+projet Tex Live.  Cette méthode est utilisée parce que CTAN ne garde pas
+d'archives versionnées.
 
-En plus, plus d'un paquet peut être spécifié, auquel cas l'union des entrées
-des paquets données est utilisée.  Par exemple, la commande ci-dessous crée
-un shell où toutes les dépendances de Guile et Emacs sont disponibles :
+La commande ci-dessous importe les métadonnées du paquet TeX @code{fontspec}
+:
 
 @example
-guix environment guile emacs
+guix import texlive fontspec
 @end example
 
-Parfois, une session shell interactive est inutile.  On peut invoquer une
-commande arbitraire en plaçant le jeton @code{--} pour séparer la commande
-du reste des arguments :
+Lorsque l'option @code{--archive=DIRECTORY} est utilisée, le code source
+n'est pas téléchargé depuis le sous-répertoire @file{latex} du
+l'arborescence @file{texmf-dist/source} dans le dépôt SVN de TeX Live, mais
+depuis le répertoire voisin spécifié sous la même racine.
+
+La commande ci-dessous importe les métadonnées du paquet @code{ifxetex}
+depuis CTAN en récupérant les sources depuis le répertoire
address@hidden/source/generic} :
 
 @example
-guix environment guile -- make -j4
+guix import texlive --archive=generic ifxetex
 @end example
 
-Dans d'autres situations, il est plus pratique de spécifier la liste des
-paquets requis dans l'environnement.  Par exemple, la commande suivante
-lance @command{python} dans un environnement contenant address@hidden et
-NumPy :
address@hidden json
address@hidden JSON, import
+Import package metadata from a local JSON file.  Consider the following
+example package definition in JSON format:
 
 @example
-guix environment --ad-hoc python2-numpy python-2.7 -- python
address@hidden
+  "name": "hello",
+  "version": "2.10",
+  "source": "mirror://gnu/hello/hello-2.10.tar.gz",
+  "build-system": "gnu",
+  "home-page": "https://www.gnu.org/software/hello/";,
+  "synopsis": "Hello, GNU world: An example GNU package",
+  "description": "GNU Hello prints a greeting.",
+  "license": "GPL-3.0+",
+  "native-inputs": ["gcc@@6"]
address@hidden
 @end example
 
-En plus, on peut vouloir les dépendance d'un paquet et aussi des paquets
-supplémentaires qui ne sont pas des dépendances à l'exécution ou à la
-construction, mais qui sont utiles au développement tout de même.  À cause
-de cela, le drapeau @code{--ad-hoc} est positionnel.  Les paquets qui
-apparaissent avant @code{--ad-hoc} sont interprétés comme les paquets dont
-les dépendances seront ajoutées à l'environnement.  Les paquets qui
-apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
-ajouter à l'environnement directement.  Par exemple, la commande suivante
-crée un environnement de développement pour Guix avec les paquets Git et
-strace en plus :
+Les noms des champs sont les mêmes que pour les enregistrements de
address@hidden<package>} (@xref{Définition des paquets}).  Les référence à 
d'autres
+paquets sont fournies comme des listes JSON de chaînes de spécifications de
+paquets comme @code{guile} ou @code{guile@@2.0}.
+
+L'importateur supporte aussi une définition plus explicite des sources avec
+les champs habituels pour les enregistrements @code{<origin>} :
 
 @example
-guix environment guix --ad-hoc git strace
address@hidden
+  @dots{}
+  "source": @{
+    "method": "url-fetch",
+    "uri": "mirror://gnu/hello/hello-2.10.tar.gz",
+    "sha256": @{
+      "base32": "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"
+    @}
+  @}
+  @dots{}
address@hidden
 @end example
 
-Parfois il est souhaitable d'isoler l'environnement le plus possible, pour
-une pureté et une reproductibilité maximale.  En particulier, lorsque vous
-utilisez Guix sur une distribution hôte qui n'est pas GuixSD, il est
-souhaitable d'éviter l'accès à @file{/usr/bin} et d'autres ressources du
-système depuis les environnements de développement.  Par exemple, la
-commande suivante crée un REPL Guile dans un « conteneur » où seuls le dépôt
-et le répertoire de travail actuel sont montés :
+La commande ci-dessous lit les métadonnées du fichier JSON @code{hello.json}
+et renvoie une expression de paquet :
 
 @example
-guix environment --ad-hoc --container guile -- guile
+guix import json hello.json
 @end example
 
address@hidden Remarque
-L'option @code{--container} requiert Linux-libre 3.19 ou supérieur.
address@hidden quotation
-
-Les options disponibles sont résumées ci-dessous.
-
address@hidden @code
address@hidden address@hidden
address@hidden -r @var{fichier}
address@hidden environnement persistent
address@hidden racine du ramasse-miettes, pour les environnements
-Fait de @var{fichier} un lien symbolique vers le profil de cet
-environnement, et l'enregistre comme une racine du ramasse-miettes.
-
-C'est utile si vous souhaitez protéger votre environnement du
-ramasse-miettes, pour le rendre « persistent ».
-
-Lorsque cette option est omise, l'environnement n'est protégé du
-ramasse-miettes que le temps de la session @command{guix environment}.  Cela
-signifie que la prochaine fois que vous créerez le même environnement, vous
-pourriez avoir à reconstruire ou télécharger des paquets.  @xref{Invoquer guix 
gc}, pour plus d'informations sur les racines du GC.
address@hidden nix
+Importe les métadonnées d'une copie locale des source de
address@hidden://nixos.org/nixpkgs/, la distribution address@hidden
+repose sur la commande @command{nix-instantiate} de
address@hidden://nixos.org/nix/, Nix}.}.  Les définitions de paquets dans
+Nixpkgs sont habituellement écrites en un mélange entre le langage Nix et
+Bash.  Cette commande n'importe que la structure de haut-niveau du paquet
+qui est écrite dans le langage Nix.  Elle inclut normalement tous les champs
+de base de la définition d'un paquet.
 
address@hidden address@hidden
address@hidden -e @var{expr}
-Crée un environnement pour le paquet ou la liste de paquets en lesquels
-s'évalue @var{expr}.
+Lorsque vous importez un paquet GNU, le synopsis et la description sont
+replacés par la version canonique en amont.
 
-Par exemple, lancer :
+Normalement, vous devrez d'abord faire :
 
 @example
-guix environment -e '(@@ (gnu packages maths) petsc-openmpi)'
+export NIX_REMOTE=daemon
 @end example
 
-démarre un shell avec l'environnement pour cette variante spécifique du
-paquet PETSc.
address@hidden
+pour que @command{nix-instantiate} n'essaye pas d'ouvrir la base de données
+de Nix.
 
-Lancer :
+Par exemple, la commande ci-dessous importe la définition du paquet de
+LibreOffice (plus précisément, elle importe la définition du paquet lié à
+l'attribut de plus haut-niveau @code{libreoffice}) :
 
 @example
-guix environment --ad-hoc -e '(@@ (gnu) %base-packages)'
+guix import nix ~/path/to/nixpkgs libreoffice
 @end example
 
-démarre un shell où tous les paquets de base de GuixSD sont disponibles.
address@hidden hackage
address@hidden hackage
+Importe les métadonnées de l'archive de paquets centrale de la communauté
+Haskell, @uref{https://hackage.haskell.org/, Hackage}.  Les informations
+sont récupérées depuis les fichiers Cabal et incluent toutes les
+informations utiles, dont les dépendances des paquets.
 
-Les commande au-dessus n'utilisent que les sorties par défaut des paquets
-donnés.  Pour choisir d'autres sorties, on peut spécifier des pairs :
+Les options spécifiques sont :
+
address@hidden @code
address@hidden --stdin
address@hidden -s
+Lit un fichier Cabal depuis l'entrée standard.
address@hidden --no-test-dependencies
address@hidden -t
+N'inclut pas les dépendances requises uniquement par les suites de tests.
address@hidden address@hidden
address@hidden -e @var{alist}
address@hidden est une alist Scheme qui définie l'environnement dans lequel les
+conditions de Cabal sont évaluées.  Les clefs acceptées sont : @code{os},
address@hidden, @code{impl} et une représentation sous forme de chaîne de
+caractères du nom d'un drapeau.  La valeur associée à un drapeau doit être
+le symbole @code{true} ou @code{false}.  La valeur associée aux autres clefs
+doivent se conformer avec la définition du format de fichiers Cabal.  La
+valeur par défaut associée avec les clefs @code{os}, @code{arch} et
address@hidden sont respectivement @samp{linux}, @samp{x86_64} et @samp{ghc}.
address@hidden --recursive
address@hidden -r
+Traverse le graphe des dépendances du paquet amont donné et génère les
+expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
+
+La commande ci-dessous importe les métadonnées de la dernière version du
+paquet Haskell @code{HTTP} sans inclure les dépendances des tests et en
+spécifiant la valeur du drapeau @samp{network-uri} comme étant @code{false}
+:
 
 @example
-guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) "include")'
+guix import hackage -t -e "'((\"network-uri\" . false))" HTTP
 @end example
 
address@hidden address@hidden
address@hidden -l @var{fichier}
-Crée un environnement pour le paquet ou la liste de paquets en lesquels
address@hidden s'évalue.
-
-Par exemple, @var{fichier} peut contenir une définition comme celle-ci
-(@pxref{Définition des paquets}) :
+Une version spécifique du paquet peut éventuellement être spécifiée en
+faisant suivre le nom du paquet par un arobase et un numéro de version comme
+dans l'exemple suivant :
 
 @example
address@hidden environment-gdb.scm
+guix import hackage mtl@@2.1.3.1
 @end example
 
address@hidden address@hidden
address@hidden -m @var{fichier}
-Crée un environnement pour les paquets contenus dans l'objet manifeste
-renvoyé par le code Scheme dans @var{fichier}.
address@hidden stackage
address@hidden stackage
+L'importateur @code{stackage} est une enveloppe autour de l'importateur
address@hidden  Il prend un nom de paquet, recherche la version incluse
+dans une version au support étendu (LTS) de @uref{https://www.stackage.org,
+Stackage} et utilise l'importateur @code{hackage} pour récupérer les
+métadonnées.  Remarquez que c'est à vous de choisir une version LTS
+compatible avec le compilateur GHC utilisé par Guix.
 
-C'est similaire à l'option de même nom de @command{guix package}
-(@pxref{profile-manifest, @option{--manifest}}) et utilise les même fichiers
-manifestes.
+Les options spécifiques sont :
 
address@hidden --ad-hoc
-Inclut tous les paquets spécifiés dans l'environnement qui en résulte, comme
-si un paquet @i{ad hoc} était spécifié, avec ces paquets comme entrées.
-Cette option est utile pour créer un environnement rapidement sans avoir à
-écrire une expression de paquet contenant les entrées désirées.
address@hidden @code
address@hidden --no-test-dependencies
address@hidden -t
+N'inclut pas les dépendances requises uniquement par les suites de tests.
address@hidden address@hidden
address@hidden -l @var{version}
address@hidden est la version LTS désirée.  Si elle est omise, la dernière
+version est utilisée.
address@hidden --recursive
address@hidden -r
+Traverse le graphe des dépendances du paquet amont donné et génère les
+expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
 
-Par exemple la commande :
+La commande ci-dessous importe les métadonnées du paquet Haskell @code{HTTP}
+inclus dans la version LTS 7.18 de Stackage :
 
 @example
-guix environment --ad-hoc guile guile-sdl -- guile
+guix import stackage --lts-version=7.18 HTTP
 @end example
 
-lance @command{guile} dans un environnement où Guile et Guile-SDDL sont
-disponibles.
address@hidden elpa
address@hidden elpa
+Importe les métadonnées du dépôt de paquets ELPA (Emacs Lisp Package
+Archive) (@pxref{Packages,,, emacs, The GNU Emacs Manual}).
+
+Les options spécifiques sont :
+
address@hidden @code
address@hidden address@hidden
address@hidden -a @var{repo}
address@hidden identifie le dépôt d'archive depuis lequel récupérer les
+informations.  Actuellement les dépôts supportés et leurs identifiants sont
+:
address@hidden -
address@hidden
address@hidden://elpa.gnu.org/packages, GNU}, qu'on peut choisir avec
+l'identifiant @code{gnu}.  C'est la valeur par défaut.
 
-Remarquez que cet exemple demande implicitement la sortie par défaut de
address@hidden et @code{guile-sdl}, mais il est possible de demander une
-sortie spécifique — p.@: ex.@: @code{glib:bin} demande la sortie @code{bin}
-de @code{glib} (@pxref{Des paquets avec plusieurs résultats}).
+Les paquets de @code{elpa.gnu.org} avec l'une des clefs contenues dans le
+porte-clef GnuPG @file{share/emacs/25.1/etc/package-keyring.gpg} (ou
+similaire) dans le paquet @code{emacs} (@pxref{Package Installation, ELPA
+package signatures,, emacs, The GNU Emacs Manual}).
 
-Cette option peut être composée avec le comportement par défaut de
address@hidden environment}.  Les paquets qui apparaissent avant
address@hidden sont interprétés comme les paquets dont les dépendances
-seront ajoutées à l'environnement, le comportement par défaut.  Les paquets
-qui apparaissent après @code{--ad-hoc} sont interprétés comme les paquets à
-ajouter à l'environnement directement.
address@hidden
address@hidden://stable.melpa.org/packages, MELPA-Stable}, qu'on peut
+sélectionner avec l'identifiant @code{melpa-stable}.
 
address@hidden --pure
-Nettoie les variables d'environnement existantes lors de la construction du
-nouvel environnement.  Cela a pour effet de créer un environnement dans
-lequel les chemins de recherche ne contiennent que des entrées de paquets.
address@hidden
address@hidden://melpa.org/packages, MELPA}, qu'on peut sélectionner avec
+l'identifiant @code{melpa}.
address@hidden itemize
 
address@hidden --search-paths
-Affiche les définitions des variables d'environnement qui composent
-l'environnement.
address@hidden --recursive
address@hidden -r
+Traverse le graphe des dépendances du paquet amont donné et génère les
+expressions de paquets de tous ceux qui ne sont pas déjà dans Guix.
address@hidden table
 
address@hidden address@hidden
address@hidden -s @var{système}
-Essaye de construire pour @var{système} — p.@: ex.@: @code{i686-linux}.
address@hidden crate
address@hidden crate
+Importe les métadonnées du répertoire des paquets Rust
address@hidden://crates.io, crates.io}.
 
address@hidden --container
address@hidden -C
address@hidden conteneur
-Lance @var{commande} dans un conteneur isolé.  Le répertoire de travail
-actuel en dehors du conteneur est monté dans le conteneur.  En plus, à moins
-de le changer avec @code{--user}, un répertoire personnel fictif est créé
-pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwod} est
-configuré en conséquence.  Le processus est lancé en tant que l'utilisateur
-actuel en dehors du conteneur, mais a les privilèges root dans le contexte
-du conteneur.
address@hidden opam
address@hidden OPAM
address@hidden OCaml
+Importe les métadonnées du répertoire de paquets
address@hidden://opam.ocaml.org/, OPAM} utilisé par la communauté OCaml
address@hidden table
 
address@hidden --network
address@hidden -N
-Pour les conteneurs, partage l'espace de nom du réseau avec le système
-hôte.  Les conteneurs créés sans cette option n'ont accès qu'à l'interface
-de boucle locale.
+La structure du code de @command{guix import} est modulaire.  Il serait
+utile d'avoir plus d'importateurs pour d'autres formats de paquets et votre
+aide est la bienvenue sur ce sujet (@pxref{Contribuer}).
 
address@hidden --link-profile
address@hidden -P
-Pour les conteneurs, lie le profil de l'environnement à
address@hidden/.guix-profile} dans le conteneur.  C'est équivalent à lance la
-commande @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile} dans le
-conteneur.  La liaison échouera et annulera l'environnement si le répertoire
-existe déjà, ce qui sera sans doute le cas si @command{guix environment} est
-invoqué dans le répertoire personnel de l'utilisateur.
address@hidden Invoquer guix refresh
address@hidden Invoquer @command{guix refresh}
 
-Certains paquets sont configurés pour chercher des fichiers de configuration
-et des données dans @code{~/address@hidden exemple, le paquet
address@hidden inspecte @file{~/.guix-profile/share/fonts} pour trouver
-des polices supplémentaires.} ; @code{--link-profile} permet à ces
-programmes de se comporter comme attendu dans l'environnement.
address@hidden @command{guix refresh}
+L'audience première de la commande @command{guix refresh} est l'ensemble des
+développeurs de la distribution logicielle GNU.  Par défaut, elle rapporte
+les paquets fournis par la distribution qui sont en retard par rapport aux
+dernières versions disponibles en amont, comme ceci :
 
address@hidden address@hidden
address@hidden -u @var{utilisateur}
-Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à la
-place de l'utilisateur actuel.  L'entrée générée dans @file{/etc/passwod}
-dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire
-personnel sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera
-copiée.  @var{utilisateur} n'a pas besoin d'exister sur le système.
address@hidden
+$ guix refresh
+gnu/packages/gettext.scm:29:13: gettext serait mis à jour de 0.18.1.1 à 
0.18.2.1
+gnu/packages/glib.scm:77:12: glib serait mis à jour de 2.34.3 à 2.37.0
address@hidden example
 
-En plus, tous les chemins partagés ou exposés (voir @code{--share} et
address@hidden respectivement) dont la cible est dans le répertoire
-personnel de l'utilisateur seront remontés relativement à
address@hidden/home/UTILISATEUR} ; cela comprend le montage automatique du
-répertoire de travail actuel.
+Autrement, on peut spécifier les paquets à considérer, auquel cas un
+avertissement est émis pour les paquets qui n'ont pas de gestionnaire de
+mise à jour associé :
 
 @example
-# exposera les chemins comme /home/foo/wd, /home/foo/test et /home/foo/target
-cd $HOME/wd
-guix environment --container --user=foo \
-     --expose=$HOME/test \
-     --expose=/tmp/target=$HOME/target
+$ guix refresh coreutils guile guile-ssh
+gnu/packages/ssh.scm:205:2 : avertissement : aucun gestionnaire de mise à jour 
pour guile-ssh
+gnu/packages/guile.scm:136:12 : guile serait mis à jour de 2.0.12 à 2.0.13
 @end example
 
-Bien que cela limite la fuite de l'identité de l'utilisateur à travers le
-chemin du répertoire personnel et des champs de l'utilisateur, ce n'est
-qu'un composant utile pour une solution d'anonymisation ou de préservation
-de la vie privée — pas une solution en elle-même.
address@hidden refresh} navigue le dépôt amont de chaque paquet et détermine
+le numéro de version le plus élevé parmi les versions publiées.  La commande
+sait comment mettre à jour certains types de paquets : les paquets GNU, les
+paquets ELPA, etc. — voir la documentation pour @option{--type} ci-dessous.
+Il y a beaucoup de paquet cependant pour lesquels il manque une méthode pour
+déterminer si une nouvelle version est disponible en amont.  Cependant, le
+mécanisme est extensible, alors n'hésitez pas à nous contacter pour ajouter
+une nouvelle méthode !
 
address@hidden address@hidden@var{cible}]
-Pour les conteneurs, expose le système de fichiers @var{source} du système
-hôte comme un système de fichiers en lecture seule @var{cible} dans le
-conteneur.  Si @var{cible} n'est pas spécifiée, @var{source} est utilisé
-comme point de montage dans le conteneur.
address@hidden @code
 
-L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
-répertoire personnel de l'utilisateur est accessible en lecture-seule via le
-répertoire @file{/exchange} :
address@hidden --recursive
+Consider the packages specified, and all the packages upon which they
+depend.
 
 @example
-guix environment --container --expose=$HOME=/exchange --ad-hoc guile -- guile
+$ guix refresh --recursive coreutils
+gnu/packages/acl.scm:35:2: warning: no updater for acl
+gnu/packages/m4.scm:30:12: info: 1.4.18 is already the latest version of m4
+gnu/packages/xml.scm:68:2: warning: no updater for expat
+gnu/packages/multiprecision.scm:40:12: info: 6.1.2 is already the latest 
version of gmp
address@hidden
 @end example
 
address@hidden address@hidden@var{cible}]
-Pour les conteneurs, partage le système de fichiers @var{soruce} du système
-hôte comme un système de fichiers en lecture-écriture @var{cible} dans le
-conteneur.  Si @var{cible} n'est pas spécifiée, @var{source} est utilisée
-comme point de montage dans le conteneur.
address@hidden table
 
-L'exemple ci-dessous crée un REPL Guile dans un conteneur dans lequel le
-répertoire personnel de l'utilisateur est accessible en lecture-écriture via
-le répertoire @file{/exchange} :
+Parfois les noms en amont diffèrent du nom de paquet utilisé par Guix et
address@hidden refresh} a besoin d'un peu d'aide.  La plupart des
+gestionnaires de mise à jour honorent la propriété @code{upstream-name} dans
+les définitions de paquets, ce qui peut être utilisé à cette fin :
 
 @example
-guix environment --container --share=$HOME=/exchange --ad-hoc guile -- guile
+(define-public network-manager
+  (package
+    (name "network-manager")
+    ;; @dots{}
+    (properties '((upstream-name . "NetworkManager")))))
 @end example
address@hidden table
 
address@hidden environment} supporte aussi toutes les options de construction
-que @command{guix build} supporte (@pxref{Options de construction communes}).
+Lorsque l'option @code{--update} est utilisée, elle modifie les fichiers
+source de la distribution pour mettre à jour le numéro de version et le hash
+de l'archive source de ces recettes de paquets (@pxref{Définition des 
paquets}).
+Cela est effectué en téléchargeant la dernière version de l'archive des
+sources de chaque paquet et des signatures associées, en authentifiant
+l'archive téléchargée avec sa signature en utilisant @command{gpg} puis en
+calculant son hash.  Lorsque la clef publique utilisée pour signer l'archive
+manque du porte-clefs de l'utilisateur, le gestionnaire tente de la
+récupérer automatiquement d'un serveur de clef public ; si cela réussi, la
+clef est ajoutée au porte-clefs de l'utilisateur, sinon @command{guix
+refresh} rapporte une erreur.
 
+Les options suivantes sont supportées :
 
address@hidden Invoquer guix publish
address@hidden Invoquer @command{guix publish}
address@hidden @code
 
address@hidden @command{guix publish}
-Le but de @command{guix publish} est de vous permettre de partager
-facilement votre dépôt avec d'autres personnes qui peuvent ensuite
-l'utiliser comme serveur de substituts (@pxref{Substituts}).
address@hidden address@hidden
address@hidden -e @var{expr}
+Considérer le paquet évalué par @var{expr}.
 
-Lorsque @command{guix publish} est lancé, il crée un serveur HTTP qui permet
-à n'importe qui avec un accès réseau d'y récupérer des substituts.  Cela
-signifie que toutes les machines qui font tourner Guix peuvent aussi agir
-comme une ferme de construction, puisque l'interface HTTP est compatible
-avec Hydra, le logiciel derrière la ferme de construction
address@hidden
+C'est utile pour précisément se référer à un paquet, comme dans cet exemple
+:
 
-Pour des raisons de sécurité, chaque substitut est signé, ce qui permet aux
-destinataires de vérifier leur authenticité et leur intégrité
-(@pxref{Substituts}). Comme @command{guix publish} utilise la clef de
-signature du système, qui n'est lisible que par l'administrateur système, il
-doit être lancé en root ; l'option @code{--user} lui fait baisser ses
-privilèges le plus tôt possible.
address@hidden
+guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'
address@hidden example
 
-La pair de clefs pour les signatures doit être générée avant de lancer
address@hidden publish}, avec @command{guix archive --generate-key}
-(@pxref{Invoquer guix archive}).
+Cette commande liste les paquets qui dépendent de la libc « finale » (en
+gros tous les paquets).
 
-La syntaxe générale est :
address@hidden --update
address@hidden -u
+Met à jour les fichiers source de la distribution (les recettes de paquets)
+en place.  Cette option est généralement utilisée depuis une copie du dépôt
+git de Guix (@pxref{Lancer Guix avant qu'il ne soit installé}) :
 
 @example
-guix publish @address@hidden
+$ ./pre-inst-env guix refresh -s non-core -u
 @end example
 
-Lancer @command{guix publish} sans arguments supplémentaires lancera un
-serveur HTTP sur le port 8080 :
address@hidden des paquets}, pour plus d'information sur les définitions des
+paquets.
 
address@hidden
-guix publish
address@hidden example
address@hidden address@hidden
address@hidden -s @var{subset}
+Choisi tous les paquets dans @var{subset}, entre @code{core} et
address@hidden
 
-Une fois qu'un serveur de publication a été autorisé (@pxref{Invoquer guix 
archive}), le démon peut télécharger des substituts à partir de lui :
+Le sous-ensemble @code{core} se réfère à tous les paquets du cœur de la
+distribution — c.-à-d.@: les paquets qui sont utilisés pour construire «
+tout le reste ».  Cela comprend GCC, libc, Binutils, Bash, etc.
+Habituellement, changer l'un de ces paquets dans la distribution implique de
+reconstruire tous les autres.  Ainsi, ces mises à jour sont une nuisance
+pour les utilisateurs, en terme de temps de compilation et de bande passante
+utilisés pour effectuer la mise à jour.
 
address@hidden
-guix-daemon --substitute-urls=http://example.org:8080
address@hidden example
+Le sous-ensemble @code{non-core} se réfère au reste des paquets.  C'est
+habituellement utile dans les cas où une mise à jour des paquets du cœur
+serait dérangeante.
 
-Par défaut, @command{guix publish} compresse les archives à la volée quand
-il les sert.  Ce mode « à la volée » est pratique puisqu'il ne demande
-aucune configuration et est disponible immédiatement.  Cependant, lorsqu'il
-s'agit de servir beaucoup de clients, nous recommandons d'utiliser l'option
address@hidden, qui active le cache des archives avant de les envoyer aux
-clients — voir les détails plus bas.  La commande @command{guix weather}
-fournit un manière pratique de vérifier ce qu'un serveur fournit
-(@pxref{Invoquer guix weather}).
address@hidden address@hidden
address@hidden -m @var{fichier}
+Choisi tous les paquets du manifeste dans @var{file}.  C'est utile pour
+vérifier qu'aucun des paquets du manifeste utilisateur ne peut être mis à
+jour.
+
address@hidden address@hidden
address@hidden -t @var{updater}
+Chois uniquement les paquets pris en charge par @var{updater}
+(éventuellement une liste de gestionnaires de mise à jour séparés par des
+virgules). Actuellement, @var{updater} peut être l'une des valeurs suivantes
+:
+
address@hidden @code
address@hidden gnu
+le gestionnaire de mise à jour pour les paquets GNU ;
address@hidden gnome
+le gestionnaire de mise à jour pour les paquets GNOME ;
address@hidden kde
+le gestionnaire de mise à jour pour les paquets KDE ;
address@hidden xorg
+le gestionnaire de mise à jour pour les paquets X.org ;
address@hidden kernel.org
+le gestionnaire de mise à jour pour les paquets hébergés sur kernel.org ;
address@hidden elpa
+le gestionnaire de mise à jour pour les paquets @uref{http://elpa.gnu.org/,
+ELPA} ;
address@hidden cran
+le gestionnaire de mise à jour pour les paquets
address@hidden://cran.r-project.org/, CRAN} ;
address@hidden bioconductor
+le gestionnaire de mise à jour pour les paquets
address@hidden://www.bioconductor.org/, Bioconductor} ;
address@hidden cpan
+le gestionnaire de mise à jour pour les paquets @uref{http://www.cpan.org/,
+CPAN} ;
address@hidden pypi
+le gestionnaire de mise à jour pour les paquets
address@hidden://pypi.python.org, PyPI} ;
address@hidden gem
+le gestionnaire de mise à jour pour les paquets @uref{https://rubygems.org,
+RubyGems} ;
address@hidden github
+le gestionnaire de mise à jour pour les paquets @uref{https://github.com,
+GitHub} ;
address@hidden hackage
+le gestionnaire de mise à jour pour les paquets
address@hidden://hackage.haskell.org, Hackage} ;
address@hidden stackage
+le gestionnaire de mise à jour pour les paquets
address@hidden://www.stackage.org, Stackage} ;
address@hidden crate
+le gestionnaire de mise à jour pour les paquets @uref{https://crates.io,
+Crates} ;
address@hidden table
 
-En bonus, @command{guix publish} sert aussi un miroir adressé par le contenu
-des fichiers source référencées dans les enregistrements @code{origin}
-(@pxref{Référence d'origine}).  Par exemple, en supposant que @command{guix
-publish} tourne sur @code{example.org}, l'URL suivante renverra le fichie
-brut @file{hello-2.10.tar.gz} avec le hash SHA256 donné (représenté sous le
-format @code{nix-base32}, @pxref{Invoquer guix hash}) :
+Par exemple, la commande suivante ne vérifie que les mises à jour des
+paquets Emacs hébergés sur @code{elpa.gnu.org} et les paquets CRAN :
 
 @example
-http://example.org/file/hello-2.10.tar.gz/sha256/address@hidden
+$ guix refresh --type=elpa,cran
+gnu/packages/statistics.scm:819:13 : r-testthat serait mis à jour de 0.10.0 à 
0.11.0
+gnu/packages/emacs.scm:856:13 : emacs-auctex serait mis à jour de 11.88.6 à 
11.88.9
 @end example
 
-Évidemment, ces URL ne fonctionnent que pour des fichiers dans le dépôt ;
-dans les autres cas, elles renvoie une erreur 404 (« Introuvable »).
address@hidden table
 
address@hidden journaux de construction, publication
-Les journaux de construction sont disponibles à partir des URL @code{/log}
-comme ceci :
+En plus, on peut passer à @command{guix refresh} un ou plusieurs noms de
+paquets, comme dans cet exemple :
 
 @example
-http://example.org/log/address@hidden
+$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8
 @end example
 
 @noindent
-Lorsque @command{guix-daemon} est configuré pour sauvegarder les journaux de
-construction compressés, comme c'est le cas par défaut (@pxref{Invoquer 
guix-daemon}), les URL @code{/log} renvoient le journal compressé tel-quel,
-avec un en-tête @code{Content-Type} ou @code{Content-Encoding} approprié.
-Nous recommandons de lancer @command{guix-daemon} avec
address@hidden pace que les navigateurs web les décompressent
-automatiquement, ce qui n'est pas le cas avec la compression bzip2.
+La commande au-dessus met à jour spécifiquement les paquets @code{emacs} et
address@hidden  L'option @code{--select} n'aurait aucun effet dans ce cas.
 
-Les options suivantes sont disponibles :
+Pour déterminer s'il faut mettre à jour un paquet, il est parfois pratique
+de savoir quels paquets seraient affectés par la mise à jour pour pouvoir
+vérifier la compatibilité.  Pour cela l'option suivante peut être utilisée
+avec un ou plusieurs noms de paquets passés à @command{guix refresh} :
 
 @table @code
address@hidden address@hidden
address@hidden -p @var{port}
-Écoute les requêtes HTTP sur le @var{port}
-
address@hidden address@hidden
-Écoute sur l'interface réseau de @var{hôte}.  Par défaut, la commande
-accepte les connexions de n'importe quelle interface.
-
address@hidden address@hidden
address@hidden -u @var{utilisateur}
-Charge les privilèges de @var{utilisateur} le plus vite possible —
-c.-à-d. une fois que la socket du serveur est ouverte et que la clef de
-signature a été lue.
-
address@hidden address@hidden
address@hidden -C address@hidden
-Compresse les données au @var{niveau} donné.  Lorsque le @var{niveau} est
-zéro, désactive la compression.  L'intervalle 1 à 9 correspond aux
-différents niveaux de compression gzip : 1 est le plus rapide et 9 est la
-meilleure (mais gourmande en CPU).  Le niveau par défaut est 3.
-
-À moins que @option{--cache} ne soit utilisé, la compression se fait à la
-volée et les flux compressés ne sont pas cachés.  Ainsi, pour réduire la
-charge sur la machine qui fait tourner @command{guix publish}, c'est une
-bonne idée de choisir un niveau de compression faible, de lancer
address@hidden publish} derrière un serveur de cache ou d'utiliser
address@hidden  Utilise @option{--cache} a l'avantage qu'il permet à
address@hidden publish} d'ajouter l'en-tête HTTP @code{Content-Length} à sa
-réponse.
-
address@hidden address@hidden
address@hidden -c @var{répertoire}
-Cache les archives et les métadonnées (les URL @code{.narinfo}) dans
address@hidden et ne sert que les archives dans ce cache.
-
-Lorsque cette option est omise, les archives et les métadonnées sont crées à
-la volée.  Cela réduit la bande passante disponible, surtout quand la
-compression est activée puisqu'elle pourrait être limitée par le CPU.  Un
-autre inconvénient au mode par défaut est que la taille des archives n'est
-pas connue à l'avance, donc @command{guix publish} n'ajoute pas l'en-tête
address@hidden à ses résponses, ce qui empêche les clients de savoir
-la quantité de données à télécharger.
-
-À l'inverse, lorsque @option{--cache} est utilisée, la première requête pour
-un élément du dépôt (via une URL @code{.narinfo}) renvoie une erreur 404 et
-déclenche la création de l'archive — en calculant son @code{.narinfo} et en
-compressant l'archive au besoin.  Une fois l'archive cachée dans
address@hidden, les requêtes suivantes réussissent et sont servies
-directement depuis le cache, ce qui garanti que les clients ont la meilleure
-bande passante possible.
-
-Le processus de création est effectué par des threads de travail.  Par
-défaut, un thread par cœur du CPU est créé, mais cela peut être
-personnalisé.  Voir @option{--workers} plus bas.
-
-Lorsque l'option @option{--ttl} est utilisée, les entrées cachées sont
-automatiquement supprimées lorsqu'elles expirent.
-
address@hidden address@hidden
-Lorsque @option{--cache} est utilisée, demande l'allocation de @var{N}
-thread de travail pour créer les archives.
-
address@hidden address@hidden
-Produit des en-têtes HTTP @code{Cache-Control} qui expriment une durée de
-vie (TTL) de @var{ttl}.  @var{ttl} peut dénoter une durée : @code{5d}
-signifie 5 jours, @code{1m} signifie un mois, etc.
 
-Cela permet au Guix de l'utilisateur de garder les informations en cache
-pendant @var{ttl}.  Cependant, remarquez que @code{guix publish} ne garanti
-pas lui-même que les éléments du dépôt qu'il fournit seront toujours
-disponible pendant la durée @var{ttl}.
-
-En plus, lorsque @option{--cache} est utilisée, les entrées cachées qui
-n'ont pas été demandé depuis @var{ttl} et n'ont pas d'élément correspondant
-dans le dépôt peuvent être supprimées.
-
address@hidden address@hidden
-Utilise @var{chemin} comme préfixe des URL de fichier « nar »
-(@pxref{Invoquer guix archive, normalized archives}).
address@hidden --list-updaters
address@hidden -L
+Liste les gestionnaires de mise à jour et quitte (voir l'option
address@hidden plus haut).
 
-Par défaut, les nars sont présents à l'URL comme
address@hidden/nar/gzip/@dots{}-coreutils-8.25}.  Cette option vous permet de
-changer la partie @code{/nar} en @var{chemin}.
+Pour chaque gestionnaire, affiche le pourcentage de paquets qu'il couvre ; à
+la fin, affiche le pourcentage de paquets couverts par tous les
+gestionnaires.
 
address@hidden address@hidden
address@hidden address@hidden
-Utilise les @var{fichier}s spécifiques comme pair de clefs utilisées pour
-signer les éléments avant de les publier.
address@hidden --list-dependent
address@hidden -l
+Liste les paquets de plus haut-niveau qui devraient être reconstruits après
+la mise à jour d'un ou plusieurs paquets.
 
-Les fichiers doivent correspondre à la même pair de clefs (la clef privée
-est utilisée pour signer et la clef publique est seulement ajouté aux
-métadonnées de la signature).  Ils doivent contenir les clefs dans le format
-s-expression canonique produit par @command{guix archive --generate-key}
-(@pxref{Invoquer guix archive}).  Par défaut,
address@hidden/etc/guix/signing-key.pub} et @file{/etc/guix/signing-key.sec} 
sont
-utilisés.
address@hidden guix graph, le type @code{reverse-package} de @command{guix
+graph}}, pour des informations sur la manière de visualiser la liste des
+paquets dépendant d'un autre.
 
address@hidden address@hidden
address@hidden -r address@hidden
-Crée un serveur REPL Guile  (@pxref{REPL Servers,,, guile, GNU Guile
-Reference Manual}) sur @var{pport} (37146 par défaut).  C'est surtout utile
-pour déboguer un serveur @command{guix publish} qui tourne.
 @end table
 
-Activer @command{guix publish} sur un système GuixSD est vraiment une seule
-ligne : instantiez simplement un service @code{guix-publish-service-type}
-dans le champs @code{services} de votre déclaration @code{operating-system}
-(@pxref{guix-publish-service-type, @code{guix-publish-service-type}}).
-
-Si vous avez installé Guix sur une « distro extérieure », suivez ces
-instructions :
-
address@hidden
address@hidden
-Si votre distro hôte utilise le système d'init systemd :
+Soyez conscients que l'option @code{--list-dependent} ne fait
address@hidden'approximer} les reconstructions qui seraient requises par une 
mise
+à jour.  Plus de reconstructions pourraient être requises dans certaines
+circonstances.
 
 @example
-# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \
-        /etc/systemd/system/
-# systemctl start guix-publish && systemctl enable guix-publish
+$ guix refresh --list-dependent flex
+Building the following 120 packages would ensure 213 dependent packages are 
rebuilt:
+hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 
@dots{}
 @end example
 
address@hidden
-Si votre distribution hôte utilise le système d'initialisation Upstart :
+La commande ci-dessus liste un ensemble de paquets qui peuvent être
+construits pour vérifier la compatibilité d'une mise à jour de @code{flex}.
 
address@hidden
-# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/
-# start guix-publish
address@hidden example
address@hidden @code
 
address@hidden
-Sinon, procédez de manière similaire avec votre système d'init de votre
-distro.
address@hidden itemize
address@hidden --list-transitive
+List all the packages which one or more packages depend upon.
 
address@hidden Invoquer guix challenge
address@hidden Invoquer @command{guix challenge}
address@hidden
+$ guix refresh --list-transitive flex
+flex@@2.6.4 depends on the following 25 packages: perl@@5.28.0 help2man@@1.47.6
+bison@@3.0.5 indent@@2.2.10 tar@@1.30 gzip@@1.9 bzip2@@1.0.6 xz@@5.2.4 
file@@5.33 @dots{}
address@hidden example
 
address@hidden constructions reproductibles
address@hidden constructions vérifiables
address@hidden @command{guix challenge}
address@hidden défi
-Est-ce que les binaires fournis par ce serveur correspondent réellement au
-code source qu'il dit avoir construit ? Est-ce que le processus de
-construction d'un paquet est déterministe ? Ce sont les question auxquelles
-la commande @command{guix challenge} essaye de répondre.
address@hidden table
 
-La première question est évidemment importante : avant d'utiliser un serveur
-de substituts (@pxref{Substituts}), il vaut mieux @emph{vérifier} qu'il
-fournit les bons binaires et donc le @emph{défier}. La deuxième est ce qui
-permet la première : si les constructions des paquets sont déterministes
-alors des constructions indépendantes du paquet devraient donner le même
-résultat, bit à bit ; si un serveur fournit un binaire différent de celui
-obtenu localement, il peut être soit corrompu, soit malveillant.
+The command above lists a set of packages which, when changed, would cause
address@hidden to be rebuilt.
 
-On sait que le hash qui apparaît dans @file{/gnu/store} est le hash de
-toutes les entrées du processus qui construit le fichier ou le répertoire —
-les compilateurs, les bibliothèques, les scripts de construction,
-etc. (@pxref{Introduction}).  En supposant que les processus de construction
-sont déterministes, un nom de fichier dans le dépôt devrait correspondre
-exactement à une sortie de construction.  @command{guix challenge} vérifie
-si il y a bien effectivement une seule correspondance en comparant les
-sorties de plusieurs constructions indépendantes d'un élément du dépôt
-donné.
+Les options suivante peuvent être utilisées pour personnaliser les
+opérations avec GnuPG :
 
-La sortie de la commande ressemble à :
address@hidden @code
 
address@hidden
-$ guix challenge --substitute-urls="https://hydra.gnu.org 
https://guix.example.org";
-mise à jour de la liste des substituts depuis 'https://hydra.gnu.org'... 100.0%
-mise à jour de la liste des substituts depuis 'https://guix.example.org'... 
100.0%
-le contenu de /gnu/store/@dots{}-openssl-1.0.2d diffère :
-  empreinte locale : 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
-  https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d : 
0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
-  https://guix.example.org/nar/@dots{}-openssl-1.0.2d : 
1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim
-le contenu de /gnu/store/@dots{}-git-2.5.0 diffère :
-  empreinte locale : 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha
-  https://hydra.gnu.org/nar/@dots{}-git-2.5.0 : 
069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f
-  https://guix.example.org/nar/@dots{}-git-2.5.0 : 
0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
-le contenu de /gnu/store/@dots{}-pius-2.1.1 diffère :
-  empreinte locale : 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
-  https://hydra.gnu.org/nar/@dots{}-pius-2.1.1 : 
0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
-  https://guix.example.org/nar/@dots{}-pius-2.1.1 : 
1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
address@hidden address@hidden
+Utilise @var{commande} comme la commande de GnuPG 2.x.  @var{commande} est
+recherchée dans @code{PATH}.
 
address@hidden
address@hidden address@hidden
+Utilise @var{fichier} comme porte-clefs pour les clefs amont.  @var{fichier}
+doit être dans le @dfn{format keybox}.  Les fichiers Keybox ont d'habitude
+un nom qui fini par @file{.kbx} et address@hidden Guard (GPG) peut
+manipuler ces fichiers (@pxref{kbxutil, @command{kbxutil},, gnupg, Using the
+Privacy Guard}, pour plus d'informations sur un outil pour manipuler des
+fichiers keybox).
 
-6,406 éléments du dépôt ont été analysés :
-  - 4,749 (74.1%) étaient identiques
-  - 525 (8.2%) étaient différents
-  - 1,132 (17.7%) étaient impossibles à évaluer
address@hidden smallexample
+Lorsque cette option est omise, @command{guix refresh} utilise
address@hidden/.config/guix/upstream/trustedkeys.kbx} comme porte-clefs pour les
+clefs de signature amont.  Les signatures OpenPGP sont vérifiées avec ces
+clefs ; les clefs manquantes sont aussi téléchargées dans ce porte-clefs
+(voir @option{--key-download} plus bas).
 
address@hidden
-Dans cet exemple, @command{guix challenge} scanne d'abord le dépôt pour
-déterminer l'ensemble des dérivations construites localement — en opposition
-aux éléments qui ont été téléchargées depuis un serveur de substituts — puis
-demande leur avis à tous les serveurs de substituts.  Il rapporte ensuite
-les éléments du dépôt pour lesquels les serveurs ont obtenu un résultat
-différent de la construction locale.
+Vous pouvez exporter les clefs de votre porte-clefs GPG par défaut dans un
+fichier keybox avec une commande telle que :
 
address@hidden non-déterminisme, dans les constructions des paquets
-Dans l'exemple, @code{guix.example.org} obtient toujours une réponse
-différente.  Inversement, @code{hydra.gnu.org} est d'accord avec les
-constructions locale, sauf dans le cas de Git.  Cela peut indiquer que le
-processus de construction de Git est non-déterministe, ce qui signifie que
-sa sortie diffère en fonction de divers choses que Guix ne contrôle pas
-parfaitement, malgré l'isolation des constructions (@pxref{Fonctionnalités}).  
Les
-sources les plus communes de non-déterminisme comprennent l'ajout
-d'horodatage dans les résultats des constructions, l'inclusion de nombres
-aléatoires et des listes de fichiers ordonnés par numéro d'inœud.  Voir
address@hidden://reproducible-builds.org/docs/}, pour plus d'informations.
address@hidden
+gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx
address@hidden example
 
-Pour trouver ce qui ne va pas avec le binaire de Git, on peut faire quelque
-chose comme cela (@pxref{Invoquer guix archive}) :
+De même, vous pouvez récupérer des clefs dans un fichier keybox spécifique
+comme ceci :
 
 @example
-$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \
-   | guix archive -x /tmp/git
-$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git
+gpg --no-default-keyring --keyring mykeyring.kbx \
+  --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
 @end example
 
-Cette commande montre les différences entre les fichiers qui résultent de la
-construction locale et des fichiers qui résultent de la construction sur
address@hidden (@pxref{Overview, Comparing and Merging Files,,
-diffutils, Comparing and Merging Files}).  La commande @command{diff}
-fonctionne bien avec des fichiers texte.  Lorsque des fichiers binaires
-diffèrent cependant, @uref{https://diffoscope.org/, Diffoscope} est une
-meilleure option.  C'est un outil qui aide à visualiser les différences
-entre toute sorte de fichiers.
address@hidden Configuration Options, @option{--keyring},, gnupg, Using the GNU
+Privacy Guard} pour plus d'informations sur l'option @option{--keyring} de
+GPG.
 
-Une fois que vous avez fait ce travail, vous pourrez dire si les différences
-sont dues au non-déterminisme du processus de construction ou à la
-malhonnêteté du serveur.  Nous avons fait beaucoup d'effort pour éliminer
-les sources de non-déterminisme dans les paquets pour rendre plus facile la
-vérification des substituts, mais bien sûr, c'est un processus qui
-n'implique pas que Guix, mais une grande partie de la communauté des
-logiciels libres.  Pendant ce temps, @command{guix challenge} est un outil
-pour aider à corriger le problème.
address@hidden address@hidden
+Gère les clefs OpenPGP manquantes d'après la @var{politique}, qui peut être
+l'une des suivantes :
 
-Si vous écrivez un paquet pour Guix, nous vous encourageons à vérifier si
address@hidden et d'autres serveurs de substituts obtiennent le même
-résultat que vous avec :
address@hidden @code
address@hidden always
+Toujours télécharger les clefs manquantes depuis un serveur de clefs et les
+ajouter au porte-clefs de l'utilisateur.
 
address@hidden
-$ guix challenge @var{paquet}
address@hidden example
address@hidden never
+Ne jamais essayer de télécharger les clefs OpenPGP manquante.  Quitter à la
+place.
 
address@hidden
-où @var{paquet} est une spécification de paquet comme @code{guile@@2.0} ou
address@hidden:debug}.
address@hidden interactive
+Lorsqu'on rencontre un paquet signé par une clef OpenPGP inconnue, demander
+à l'utilisateur s'il souhaite la télécharger ou non.  C'est le comportement
+par défaut.
address@hidden table
 
-La syntaxe générale est :
address@hidden address@hidden
+Utiliser @var{host} comme serveur de clefs OpenPGP lors de l'importe d'une
+clef publique.
 
address@hidden
-guix challenge @var{options} address@hidden@dots{}]
address@hidden example
address@hidden table
 
-Lorsqu'une différence est trouvée entre l'empreinte d'un élément construit
-localement et celle d'un substitut fournit par un serveur, ou parmi les
-substituts fournis par différents serveurs, la commande l'affiche comme dans
-l'exemple ci-dessus et sa valeur de sortie est 2 (les autres valeurs
-différentes de 0 indiquent d'autres sortes d'erreurs).
+The @code{github} updater uses the @uref{https://developer.github.com/v3/,
+GitHub API} to query for new releases.  When used repeatedly e.g.@: when
+refreshing all packages, GitHub will eventually refuse to answer any further
+API requests.  By default 60 API requests per hour are allowed, and a full
+refresh on all GitHub packages in Guix requires more than this.
+Authentication with GitHub through the use of an API token alleviates these
+limits.  To use an API token, set the environment variable
address@hidden to a token procured from
address@hidden://github.com/settings/tokens} or otherwise.
 
-L'option qui compte est :
+
address@hidden Invoquer guix lint
address@hidden Invoquer @command{guix lint}
+
address@hidden @command{guix lint}
address@hidden paquets, chercher des erreurs
+La commande @command{guix lint} est conçue pour aider les développeurs à
+éviter des erreurs commune et à utiliser un style cohérent lors de
+l'écriture de recettes de paquets.  Elle lance des vérifications sur un
+ensemble de paquets donnés pour trouver des erreurs communes dans leur
+définition.  Les @dfn{vérifieurs} disponibles comprennent (voir
address@hidden pour une liste complète) :
 
 @table @code
address@hidden synopsis
address@hidden description
+Vérifie certaines règles typographiques et stylistiques dans les
+descriptions et les synopsis.
 
address@hidden address@hidden
-Considère @var{urls} comme la liste des URL des sources de substituts
-séparés par des espaces avec lesquels comparer les paquets locaux.
address@hidden inputs-should-be-native
+Identifie les entrées qui devraient sans doute plutôt être des entrées
+natives.
 
address@hidden --verbose
address@hidden -v
-Montre des détails sur les correspondances (contenu identique) en plus des
-informations sur différences.
address@hidden source
address@hidden home-page
address@hidden mirror-url
address@hidden github-url
address@hidden source-file-name
+Probe @code{home-page} and @code{source} URLs and report those that are
+invalid.  Suggest a @code{mirror://} URL when applicable.  If the
address@hidden URL redirects to a GitHub URL, recommend usage of the GitHub
+URL.  Check that the source file name is meaningful, e.g.@: is not just a
+version number or ``git-checkout'', without a declared @code{file-name}
+(@pxref{Référence d'origine}).
 
address@hidden table
address@hidden source-unstable-tarball
+Parse the @code{source} URL to determine if a tarball from GitHub is
+autogenerated or if it is a release tarball.  Unfortunately GitHub's
+autogenerated tarballs are sometimes regenerated.
 
address@hidden Invoquer guix copy
address@hidden Invoquer @command{guix copy}
address@hidden cve
address@hidden vulnérabilités
address@hidden CVE, Common Vulnerabilities and Exposures
+Rapporte les vulnérabilités connues trouvées dans les bases de données CVE
+(Common Vulnerabilities and Exposures) de l'année en cours et des années
+précédentes @uref{https://nvd.nist.gov/download.cfm#CVE_FEED, publié par le
+NIST américain}.
 
address@hidden copier des éléments du dépôt par SSH
address@hidden SSH, copie d'éléments du dépôt
address@hidden partager des éléments du dépôt entre plusieurs machines
address@hidden transférer des éléments du dépôt entre plusieurs machines
-La commande @command{guix copy} copie des éléments du dépôt d'une machine
-vers le dépôt d'une autre machine à travers une connexion address@hidden
-commande n'est disponible que si Guile-SSH est trouvé.  @xref{Prérequis},
-pour des détails}.  Par exemple, la commande suivante copie le paquet
address@hidden, le profil utilisateur et toutes leurs dépendances sur
address@hidden, en tant qu'utilisateur @var{utilisateur} :
+Pour voir les informations sur une vulnérabilité en particulier, visitez les
+pages :
 
address@hidden
-guix copy address@hidden@@@var{hôte} \
-          coreutils `readlink -f ~/.guix-profile`
address@hidden example
address@hidden
address@hidden
address@hidden://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-ANNÉE-ABCD}
address@hidden
address@hidden://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-ANNÉE-ABCD}
address@hidden itemize
 
-Si certains éléments à copier sont déjà présents sur @var{hôte}, ils ne sont
-pas envoyés.
address@hidden
+où @code{CVE-ANNÉE-ABCD} est l'identifiant CVE — p.@: ex.@:
address@hidden
 
-La commande ci-dessous récupère @code{libreoffice} et @code{gimp} depuis
address@hidden, en supposant qu'ils y sont présents :
+Les développeurs de paquets peuvent spécifier dans les recettes des paquets
+le nom @uref{https://nvd.nist.gov/cpe.cfm,CPE (Common Platform Enumeration)}
+et la version du paquet s'ils diffèrent du nom et de la version que Guix
+utilise, comme dans cet exemple :
 
 @example
-guix copy address@hidden libreoffice gimp
+(package
+  (name "grub")
+  ;; @dots{}
+  ;; CPE calls this package "grub2".
+  (properties '((cpe-name . "grub2")
+                (cpe-version . "2.3")))
 @end example
 
-La connexion SSH est établie avec le client Guile-SSH, qui set compatible
-avec OpenSSH : il honore @file{~/.ssh/known_hosts} et @file{~/.ssh/config}
-et utilise l'agent SSH pour l'authentification.
address@hidden See <http://www.openwall.com/lists/oss-security/2017/03/15/3>.
+Certaines entrées dans la base de données CVE ne spécifient pas la version
+du paquet auquel elles s'appliquent et lui restera donc attachée pour
+toujours.  Les développeurs qui trouvent des alertes CVE et ont vérifiés
+qu'elles peuvent être ignorées peuvent les déclarer comme dans cet exemple :
 
-La clef utilisée pour signer les éléments qui sont envoyés doit être
-acceptée par la machine distante.  De même, la clef utilisée pour la machine
-distante depuis laquelle vous récupérez des éléments doit être dans
address@hidden/etc/guix/acl} pour qu'ils soient acceptés par votre propre démon.
address@hidden guix archive}, pour plus d'informations sur
-l'authentification des éléments du dépôt.
address@hidden
+(package
+  (name "t1lib")
+  ;; @dots{}
+  ;; Ces CVE ne s'appliquent plus et peuvent être ignorée sans problème.
+  (properties `((lint-hidden-cve . ("CVE-2011-0433"
+                                    "CVE-2011-1553"
+                                    "CVE-2011-1554"
+                                    "CVE-2011-5244")))))
address@hidden example
+
address@hidden formatting
+Avertit le développeurs lorsqu'il y a des problèmes de formatage du code
+source évident : des espaces en fin de ligne, des tabulations, etc.
address@hidden table
 
 La syntaxe générale est :
 
 @example
-guix copy address@hidden|address@hidden @address@hidden
+guix lint @var{options} @address@hidden
 @end example
 
-Vous devez toujours spécifier l'une des options suivantes :
+Si aucun paquet n'est donné par la ligne de commande, tous les paquets
+seront vérifiés.  Les @var{options} peuvent contenir aucune ou plus des
+options suivantes :
 
 @table @code
address@hidden address@hidden
address@hidden address@hidden
-Spécifie l'hôte où envoyer ou d'où recevoir les éléments.  @var{spec} doit
-être une spécification SSH comme @code{example.org},
address@hidden@@example.org} ou @code{charlie@@example.org:2222}.
address@hidden table
address@hidden --list-checkers
address@hidden -l
+Liste et décrit tous les vérificateurs disponibles qui seront lancés sur les
+paquets puis quitte.
 
-L'option @var{items} peut être des noms de paquets, comme @code{gimp} ou des
-éléments du dépôt comme @file{/gnu/store/@dots{}-idutils-4.6}.
address@hidden --checkers
address@hidden -c
+N'active que les vérificateurs spécifiés dans une liste de noms séparés par
+des virgules parmi la liste renvoyée par @code{--list-checkers}.
 
-Lorsque vous spécifiez le nom d'un paquet à envoyer, il est d'abord
-construit au besoin, sauf si l'option @option{--dry-run} est spécifiée.  Les
-options de construction communes sont supportées (@pxref{Options de 
construction communes}).
address@hidden table
 
address@hidden Invoquer guix size
address@hidden Invoquer @command{guix size}
 
address@hidden Invoquer guix container
address@hidden Invoquer @command{guix container}
address@hidden conteneur
address@hidden @command{guix container}
address@hidden Remarque
-À la version @value{VERSION}, cet outil est toujours expérimental.
-L'interface est sujette à changement radicaux dans le futur.
address@hidden quotation
address@hidden taille
address@hidden paquet, taille
address@hidden closure
address@hidden @command{guix size}
+La commande @command{guix size} aide les développeurs à dresser un profil de
+l'utilisation du disque que font les paquets.  C'est facile de négliger
+l'impact d'une dépendance supplémentaire ajoutée à un paquet, ou l'impact de
+l'utilisation d'une sortie unique pour un paquet qui pourrait être
+facilement séparé (@pxref{Des paquets avec plusieurs résultats}).  Ce sont les
+problèmes que @command{guix size} peut typiquement mettre en valeur.
 
-Le but de @command{guix container} est de manipuler des processus qui
-tournent dans un environnement séparé, connus sous le nom de « conteneur »,
-typiquement créés par les commandes @command{guix environment}
-(@pxref{Invoquer guix environment}) et @command{guix system container}
-(@pxref{Invoquer guix system}).
+On peut passer un ou plusieurs spécifications de paquets à la commande,
+comme @code{gcc@@4.8} ou @code{guile:debug}, ou un nom de fichier dans le
+dépôt.  Regardez cet exemple :
+
address@hidden
+$ guix size coreutils
+store item                               total    self
+/gnu/store/@dots{}-gcc-5.5.0-lib           60.4    30.1  38.1%
+/gnu/store/@dots{}-glibc-2.27              30.3    28.8  36.6%
+/gnu/store/@dots{}-coreutils-8.28          78.9    15.0  19.0%
+/gnu/store/@dots{}-gmp-6.1.2               63.1     2.7   3.4%
+/gnu/store/@dots{}-bash-static-4.4.12       1.5     1.5   1.9%
+/gnu/store/@dots{}-acl-2.2.52              61.1     0.4   0.5%
+/gnu/store/@dots{}-attr-2.4.47             60.6     0.2   0.3%
+/gnu/store/@dots{}-libcap-2.25             60.5     0.2   0.2%
+total: 78.9 MiB
address@hidden example
 
-La syntaxe générale est :
address@hidden closure
+Les éléments du dépôt listés ici constituent la @dfn{clôture transitive} de
+Coreutils — c.-à-d.@: Coreutils et toutes ses dépendances, récursivement —
+comme ce qui serait renvoyé par :
 
 @example
-guix container @var{action} @address@hidden
+$ guix gc -R /gnu/store/@dots{}-coreutils-8.23
 @end example
 
address@hidden spécifie les opérations à effectuer avec un conteneur, et
address@hidden spécifie les arguments spécifiques au contexte pour l'action.
-
-Les actions suivantes sont disponibles :
-
address@hidden @code
address@hidden exec
-Exécute une commande dans le contexte d'un conteneur lancé.
+Ici, la sortie possède trois colonnes à côté de chaque élément du dépôt.  La
+première colonne, nommée « total », montre la taille en mébioctet (Mio) de
+la clôture de l'élément du dépôt — c'est-à-dire sa propre taille plus la
+taille de ses dépendances. La colonne suivante, nommée « lui-même », montre
+la taille de l'élément lui-même.  La dernière colonne montre le ration de la
+taille de l'élément lui-même par rapport à celle de tous les éléments
+montrés.
 
-La syntaxe est :
+Dans cet exemple, on voit que la clôture de Coreutils pèse address@hidden, dont
+la plupart est dû à la libc et aux bibliothèques à l'exécution de GCC (ce
+n'est pas un problème en soit que la libc et les bibliothèques de GCC
+représentent une grande part de la clôture parce qu'elles sont toujours
+disponibles sur le système de toute façon).
 
address@hidden
-guix container exec @var{pid} @var{programme} @address@hidden
address@hidden example
+Lorsque les paquets passés à @command{guix size} sont disponibles dans le
address@hidden précisément, @command{guix size} cherche les variantes
address@hidden greffées} des paquets donnés, tels qu'ils sont renvoyés par
address@hidden build @var{paquet} --no-graft}.  @xref{Mises à jour de sécurité} 
pour des
+informations sur les greffes}, @command{guix size} demande au démon de
+déterminer ses dépendances, et mesure sa taille dans le dépôt, comme avec
address@hidden -ms --apparent-size} (@pxref{du invocation,,, coreutils, GNU
+Coreutils}).
 
address@hidden spécifie le PID du conteneur lancé.  @var{programme} spécifie le
-nom du fichier exécutable dans le système de fichiers racine du conteneur.
address@hidden sont les options supplémentairesà passer à @var{programme}.
+Lorsque les paquets donnés ne sont @emph{pas} dans le dépôt, @command{guix
+size} rapporte les informations en se basant sur les substituts disponibles
+(@pxref{Substituts}). Cela permet de profiler l'utilisation du disque des
+éléments du dépôt même s'ils ne sont pas sur le disque, mais disponibles à
+distance.
 
-La commande suivante lance un shell de connexion interactif dans un
-conteneur GuixSD, démarré par @command{guix system container} et dont le PID
-est 9001 :
+Vous pouvez aussi spécifier plusieurs noms de paquets :
 
 @example
-guix container exec 9001 /run/current-system/profile/bin/bash --login
+$ guix size coreutils grep sed bash
+store item                               total    self
+/gnu/store/@dots{}-coreutils-8.24          77.8    13.8  13.4%
+/gnu/store/@dots{}-grep-2.22               73.1     0.8   0.8%
+/gnu/store/@dots{}-bash-4.3.42             72.3     4.7   4.6%
+/gnu/store/@dots{}-readline-6.3            67.6     1.2   1.2%
address@hidden
+total: 102.3 MiB
 @end example
 
-Remarquez que @var{pid} ne peut pas être le processus parent d'un
-conteneur.  Ce doit être le PID 1 du conteneur ou l'un de ses processus
-fils.
-
address@hidden table
address@hidden
+Dans cet exemple on voit que la combinaison des quatre paquets prend
address@hidden en tout, ce qui est bien moins que la somme des clôtures
+puisqu'ils ont beaucoup de dépendances en commun.
 
address@hidden Invoquer guix weather
address@hidden Invoquer @command{guix weather}
+Les options disponibles sont :
 
-Vous pouvez parfois grogner lorsque les substituts ne sont pas disponibles
-et que vous devez construire les paquets vous-même (@pxref{Substituts}). La
-commande @command{guix weather} rapporte la disponibilité des substituts sur
-les serveurs spécifiés pour que vous sachiez si vous allez raller
-aujourd'hui. Cela peut parfois être une information utile pour les
-utilisateurs, mais elle est surtout utile pour les personnes qui font
-tourner @command{guix publish} (@pxref{Invoquer guix publish}).
address@hidden @option
 
address@hidden statistiques sur les substituts
address@hidden disponibilité des substituts
address@hidden substuts, disponibilité
address@hidden weather, disponibilité des substituts
-Voici un exemple :
address@hidden address@hidden
+Utilise les informations de substituts de @var{urls}.
address@hidden, the same option for @code{guix build}}.
 
address@hidden
-$ guix weather --substitute-urls=https://guix.example.org
-calcul de 5,872 dérivations de paquets pour x86_64-linux…
-recherche de 6,128 éléments du dépôt sur https://guix.example.org…
-mise à jour de la liste des substituts depuis 'https://guix.example.org'... 
100.0%
-https://guix.example.org
-  43.4% substituts disponibles (2,658 sur 6,128)
-  7,032.5 Mo de fichiers nar (compressés)
-  19,824.2 Mo sur le disque (décompressés)
-  0.030 secondes par requêtes (182.9 secondes au total)
-  33.5 requêtes par seconde
address@hidden address@hidden
+Trie les lignes en fonction de la @var{clef}, l'une des options suivantes :
 
-  9.8% (342 sur 3,470) des éléments manquants sont dans la queue
-  867 constructions dans la queue
-      x86_64-linux : 518 (59.7%)
-      i686-linux : 221 (25.5%)
-      aarch64-linux : 128 (14.8%)
-  vitesse de construction : 23.41 constructions par heure
-      x86_64-linux : 11.16 constructions par heure
-      i686-linux : 6.03 constructions par heure
-      aarch64-linux : 6.41 constructions par heure
address@hidden example
address@hidden @code
address@hidden self
+la taille de chaque élément (par défaut) ;
address@hidden closure
+la taille totale de la clôture de l'élément.
address@hidden table
 
address@hidden intégration continue, statistiques
-Comme vous pouvez le voir, elle rapporte le pourcentage des paquets pour
-lesquels des substituts sont disponibles sur le serveur — indépendamment du
-fait que les substituts soient activés, et indépendamment du fait que la
-clef de signature du serveur soit autorisée.  Elle rapporte aussi la taille
-des archives compressées fournies par le serveur, la taille des éléments du
-dépôt correspondant dans le dépôt (en supposant que la déduplication soit
-désactivée) et la vitesse du serveur.  La deuxième partie donne des
-statistiques sur l'intégration continue (CI), si le serveur le supporte.
address@hidden address@hidden 
+Écrit un schéma de l'utilisation du disque au format PNG dans @var{fichier}.
 
-Pour cela, @command{guix weather} récupère par HTTP(S) les métadonnées
-(@dfn{narinfos}@ de tous les éléments du dépôts pertinents.  Comme
address@hidden challenge}, il ignore les signatures de ces substituts, ce qui
-n'est pas dangereux puisque la commande ne fait que récupérer des
-statistiques et n'installe pas ces substituts.
+Pour l'exemple au-dessus, le schéma ressemble à ceci :
 
-Entre autres choses, il est possible de demander des types de système
-particuliers et des ensembles de paquets particuliers.  Les options
-disponibles sont listées plus bas.
address@hidden/coreutils-size-map,5in,, schéma de l'utilisation du disque de
+Coreutils produit par @command{guix size}}
 
address@hidden @code
address@hidden address@hidden
address@hidden est la liste des URL des serveurs de substituts séparés par des
-espaces.  Lorsque cette option n'est pas renseignée, l'ensemble des serveurs
-de substituts par défaut est utilisé.
+Cette option requiert l'installation de
address@hidden://wingolog.org/software/guile-charting/, Guile-Charting} et qu'il
+soit visible dans le chemin de recherche des modules Guile.  Lorsque ce
+n'est pas le cas, @command{guix size} plante en essayant de le charger.
 
 @item address@hidden
 @itemx -s @var{système}
-Effectue des requêtes pour les substituts @var{système} — p.@: ex.@:
address@hidden  Cette option peut être répétée, auquel cas
address@hidden weather} demandera les substituts de plusieurs types de
-systèmes.
+Considère les paquets pour @var{système} — p.@: ex.@: @code{x86_64-linux}.
 
address@hidden address@hidden
-Plutôt que de demander des substituts pour tous les paquets, demande
-uniquement les paquets spécifiés dans @var{fichier}.  @var{fichier} doit
-contenir un @dfn{manifeste} comme avec l'option @code{-m} de @command{guix
-package} (@pxref{Invoquer guix package}).
 @end table
 
address@hidden Invoquer guix processes
address@hidden Invoquer @command{guix processes}
address@hidden Invoquer guix graph
address@hidden Invoque @command{guix graph}
 
-La commande @command{guix processes} peut être utile pour les développeurs
-et les administrateurs systèmes, surtout sur des machines multi-utilisateurs
-et sur les fermes de construction : elle liste les sessions actuelles (les
-connexions au démon), ainsi que des informations sur les processus en
address@hidden sessions distantes, lorsque @command{guix-daemon} est
-démarré avec @option{--listen} en spécifiant un point d'entrée TCP, ne sont
address@hidden listées.}.  Voici un exemple des informations qu'elle renvoie :
address@hidden DAG
address@hidden @command{guix graph}
address@hidden dépendances des paquets
+Les paquets et leurs dépendances forment un @dfn{graphe}, plus précisément
+un graphe orienté acyclique (DAG).  Il peut vite devenir difficile d'avoir
+une représentation mentale du DAG d'un paquet, donc la commande
address@hidden graph} fournit une représentation visuelle du DAG.  Par
+défaut, @command{guix graph} émet un représentation du DAG dans le format
+d'entrée de @uref{http://www.graphviz.org/, Graphviz}, pour que sa sortie
+puisse être passée directement à la commande @command{dot} de Graphviz.
+Elle peut aussi émettre une page HTML avec du code Javascript pour afficher
+un « digramme d'accords » dans un navigateur Web, grâce à la bibliothèque
address@hidden://d3js.org/, d3.js}, ou émettre des requêtes Cypher pour
+construire un graphe dans une base de donnée de graphes supportant le
+langage de requêtes @uref{http://www.opencypher.org/, openCypher}.  La
+syntaxe générale est :
 
 @example
-$ sudo guix processes
-SessionPID: 19002
-ClientPID: 19090
-ClientCommand: guix environment --ad-hoc python
+guix graph @var{options} @address@hidden
address@hidden example
 
-SessionPID: 19402
-ClientPID: 19367
-ClientCommand: guix publish -u guix-publish -p 3000 -C 9 @dots{}
+Par exemple, la commande suivante génère un fichier PDF représentant le DAG
+du paquet pour address@hidden Utilities, qui montre ses dépendances à la
+compilation :
 
-SessionPID: 19444
-ClientPID: 19419
-ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
-LockHeld: /gnu/store/@dots{}-perl-ipc-cmd-0.96.lock
-LockHeld: /gnu/store/@dots{}-python-six-bootstrap-1.11.0.lock
-LockHeld: /gnu/store/@dots{}-libjpeg-turbo-2.0.0.lock
-ChildProcess: 20495: guix offload x86_64-linux 7200 1 28800
-ChildProcess: 27733: guix offload x86_64-linux 7200 1 28800
-ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800
address@hidden
+guix graph coreutils | dot -Tpdf > dag.pdf
 @end example
 
-Dans cet exemple, on voit que @command{guix-daemon} a trois clients directs
-: @command{guix environment}, @command{guix publish} et l'outil
-d'intégration continue Cuirass ; leur identifiant de processus (PID) est
-donné par le champ @code{ClientPID}.  Le champ @code{SessionPID} fournit le
-PID du sous-processus @command{guix-daemon} de cette session particulière.
+La sortie ressemble à ceci :
 
-Les champs @code{LockHeld} montrent quels éléments du dépôt sont
-actuellement verrouillés par cette session, ce qui correspond aux éléments
-du dépôt qui sont en train d'être construits ou d'être substitués (le champ
address@hidden n'est pas montré si @command{guix processes} n'est pas lancé
-en root).  Enfin, en regardant le champ @code{ChildProcess}, on comprend que
-ces trois constructions sont déchargées (@pxref{Réglages du délestage du 
démon}).
address@hidden/coreutils-graph,2in,,Graphe de dépendance de GNU Coreutils}
 
-La sortie est dans le format Recutils pour qu'on puisse utiliser la commande
address@hidden pour sélectionner les sessions qui nous intéressent
-(@pxref{Selection Expressions,,, recutils, GNU recutils manual}).  Par
-exemple, la commande montre la ligne de commande et le PID du client qui
-effectue la construction d'un paquet Perl :
+Joli petit graphe, non ?
+
+Mais il y a plus qu'un seul graphe !  Celui au-dessus est concis : c'est le
+graphe des objets paquets, en omettant les entrées implicites comme GCC,
+libc, grep, etc.  Il est souvent utile d'avoir ces graphes concis, mais
+parfois on veut voir plus de détails.  @command{guix graph} supporte
+plusieurs types de graphes, qui vous permettent de choisir le niveau de
+détails :
+
address@hidden @code
address@hidden package
+C'est le type par défaut utilisé dans l'exemple plus haut.  Il montre le DAG
+des objets paquets, sans les dépendances implicites.  C'est concis, mais
+omet pas mal de détails.
+
address@hidden reverse-package
+Cela montre le DAG @emph{inversé} des paquets.  Par exemple :
 
 @example
-$ sudo guix processes | \
-    recsel -p ClientPID,ClientCommand -e 'LockHeld ~ "perl"'
-ClientPID: 19419
-ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
+guix graph --type=reverse-package ocaml
 @end example
 
address@hidden 
*********************************************************************
address@hidden Distribution GNU
address@hidden Distribution GNU
-
address@hidden Distribution Système Guix
address@hidden GuixSD
-Guix fournit aussi une distribution du système GNU contenant uniquement des
-logiciels address@hidden terme « libre » se réfère ici bien sûr à
address@hidden://www.gnu.org/philosophy/free-sw.fr.html,la liberté offerte à
-l'utilisateur de ces logiciels}.}.  On peut installer la distribution
-elle-même (@pxref{Installation du système}), mais on peut aussi installer Guix
-comme gestionnaire de paquets par dessus un système GNU/Linux déjà installé
-(@pxref{Installation}).  Pour distinguer ces deux cas, on appelle la
-distribution autonome « Distribution Système Guix » ou GuixSD.
+...@: yields the graph of packages that depend on OCaml.
 
-la distribution fournit les paquets cœur de GNU comme la GNU libc, GCC et
-Binutils, ainsi que de nombreuses applications GNU et non-GNU.  La liste
-complète des paquets disponibles se trouve
address@hidden://www.gnu.org/software/guix/packages,en ligne} ou en lançant
address@hidden package}  (@pxref{Invoquer guix package}) :
+Remarquez que pour les paquets du cœur de la distribution, cela crée des
+graphes énormes.  Si vous voulez seulement voir le nombre de paquets qui
+dépendent d'un paquet donnés, utilisez @command{guix refresh
+--list-dependent} (@pxref{Invoquer guix refresh,
address@hidden).
+
address@hidden bag-emerged
+C'est le DAG du paquet, @emph{avec} les entrées implicites.
+
+Par exemple, la commande suivante :
 
 @example
-guix package --list-available
+guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf
 @end example
 
-Notre but est de fournir une distribution logicielle entièrement libre de
-GNU/Linux et d'autres variantes de GNU, en se concentrant sur la promotion
-et l'intégration étroite des composants GNU en insistant sur les programmes
-et les outils qui aident l'utilisateur à exercer ses libertés.
+...@: yields this bigger graph:
+
address@hidden/coreutils-bag-graph,,5in,Graphe des dépendances détaillé de
+GNU Coreutils}
 
-Les paquets sont actuellement disponibles pour les plateformes suivantes :
+En bas du graphe, on voit toutes les entrées implicites de
address@hidden (@pxref{Systèmes de construction, @code{gnu-build-system}}).
 
address@hidden @code
+Maintenant, remarquez que les dépendances de ces entrées implicites —
+c'est-à-dire les @dfn{dépendances de bootstrap} (@pxref{Bootstrapping}) — ne
+sont pas affichées, pour rester concis.
 
address@hidden x86_64-linux
-l'architecture Intel et AMD @code{x86_64} avec le noyau Linux-libre ;
address@hidden bag
+Comme @code{bag-emerged} mais cette fois inclus toutes les dépendances de
+bootstrap.
 
address@hidden i686-linux
-l'architecture Intel 32-bits (IA32) avec le noyau Linux-libre ;
address@hidden bag-with-origins
+Comme @code{bag}, mais montre aussi les origines et leurs dépendances.
 
address@hidden armhf-linux
-l'architecture ARMv7-A avec gestion des flottants matérielle, Thumb-2 et
-NEON, avec l'interface binaire applicative (ABI) EABI hard-float et le noyau
-Linux-libre ;
address@hidden dérivation
+C'est la représentation lu plus détaillée : elle montre le DAG des
+dérivations (@pxref{Dérivations}) et des éléments du dépôt.  Comparé à la
+représentation ci-dessus, beaucoup plus de nœuds sont visibles, dont les
+scripts de construction, les correctifs, les modules Guile, etc.
 
address@hidden aarch64-linux
-les processeurs ARMv8-A 64-bits en little-endian avec le noyau Linux-libre.
-Le support est actuellement expérimental et limité.  @xref{Contribuer},
-pour savoir comment aider !
+Pour ce type de graphe, il est aussi possible de passer un nom de fichier
address@hidden à la place d'un nom de paquet, comme dans :
 
address@hidden mips64el-linux
-les processeurs MIPS 64-bits little-endian, spécifiquement la série
-Loongson, ABI n32, avec le noyau Linux-libre.
address@hidden
+guix graph -t derivation `guix system build -d my-config.scm`
address@hidden example
+
address@hidden module
+C'est le graphe des @dfn{modules de paquets} (@pxref{Modules de paquets}).  Par
+exemple, la commande suivante montre le graphe des modules de paquets qui
+définissent le paquet @code{guile} :
 
address@hidden
+guix graph -t module guile | dot -Tpdf > module-graph.pdf
address@hidden example
 @end table
 
-GuixSD lui-même est actuellement disponible sur @code{i686} et
address@hidden
+Tous les types ci-dessus correspondent aux @emph{dépendances à la
+construction}.  Le type de graphe suivant représente les @emph{dépendances à
+l'exécution} :
 
address@hidden
-Pour des informations sur comment porter vers d'autres architectures et
-d'autres noyau, @pxref{Porter}.
address@hidden @code
address@hidden references
+C'est le graphe des @dfn{references} d'une sortie d'un paquet, telles que
+renvoyées par @command{guix gc --references} (@pxref{Invoquer guix gc}).
 
address@hidden
-* Installation du système::  Installer le système d'exploitation complet.
-* Configuration système::   Configurer le système d'exploitation.
-* Documentation::            Visualiser les manuels d'utilisateur des 
-                               logiciels.
-* Installer les fichiers de débogage::  Nourrir le débogueur.
-* Mises à jour de sécurité::  Déployer des correctifs de sécurité 
-                                   rapidement.
-* Modules de paquets::       Les paquets du point de vu du programmeur.
-* Consignes d'empaquetage::  Faire grandir la distribution.
-* Bootstrapping::            GNU/Linux depuis zéro.
-* Porter::                   Cibler une autre plateforme ou un autre noyau.
address@hidden menu
+Si la sortie du paquet donnée n'est pas disponible dans le dépôt,
address@hidden graph} essayera d'obtenir les informations sur les dépendances
+à travers les substituts.
 
-La construction de cette distribution est un effort collaboratif et nous
-vous invitons à nous rejoindre ! @xref{Contribuer}, pour des informations
-sur la manière de nous aider.
+Vous pouvez aussi passer un nom de fichier du dépôt plutôt qu'un nom de
+paquet.  Par exemple, la commande ci-dessous produit le graphe des
+références de votre profile (qui peut être gros !) :
 
address@hidden Installation du système
address@hidden Installation du système
address@hidden
+guix graph -t references `readlink -f ~/.guix-profile`
address@hidden example
 
address@hidden installer GuixSD
address@hidden Distribution Système Guix
-Cette section explique comment installer la distribution système Guix
-(GuixSD) sur votre machine.  Le gestionnaire de paquets Guix peut aussi être
-installé sur un système GNU/Linux déjà installé, @pxref{Installation}.
address@hidden referrers
+C'est le graphe des @dfn{référents} d'un élément du dépôt, tels que renvoyés
+par @command{guix gc --referrers} (@pxref{Invoquer guix gc}).
 
address@hidden
address@hidden Remarque
address@hidden This paragraph is for people reading this from tty2 of the
address@hidden installation image.
-Vous lisez cette documentation avec un lecteur Info.  Pour des détails sur
-son utilisation, appuyez sur la touche @key{ENTRÉE} (« Entrée » ou « à la
-ligne ») sur le lien suivant : @pxref{Top, Info reader,, info-stnd,
-Stand-alone GNU Info}.  Appuyez ensuite sur @kbd{l} pour revenir ici.
+Cela repose exclusivement sur les informations de votre dépôt.  Par exemple,
+supposons que Inkscape est actuellement disponible dans 10 profils sur votre
+machine ; @command{guix graph -t referrers inkscape} montrera le graphe dont
+la racine est Inkscape avec 10 profils qui y sont liés.
 
-Autrement, lancez @command{info info} dans un autre tty pour garder ce
-manuel ouvert.
address@hidden quotation
address@hidden ifinfo
+Cela peut aider à déterminer ce qui empêche un élément du dépôt d'être
+glané.
 
address@hidden
-* Limitations::              Ce à quoi vous attendre.
-* Considérations matérielles::  Matériel supporté.
-* Installation depuis une clef USB ou un DVD::  Préparer le média 
-                                                  d'installation.
-* Préparer l'installation::  Réseau, partitionnement, etc.
-* Effectuer l'installation::  Pour de vrai.
-* Installer GuixSD dans une VM::  Jouer avec address@hidden
-* Construire l'image d'installation::  D'où vient tout cela.
address@hidden menu
address@hidden table
 
address@hidden Limitations
address@hidden Limitations
-
-À la version @value{VERSION}, la distribution système Guix (GuixSD) n'est
-pas prête pour la production.  Elle peut contenir des bogues et ne pas avoir
-certaines fonctionnalités importantes.  Ainsi, si vous cherche un système de
-production stable qui respecte votre liberté en tant qu'utilisateur, une
-bonne solution consiste à utiliser
address@hidden://www.gnu.org/distros/free-distros.html, une des distributions
-GNU/Linux mieux établie}.  Nous espérons que vous pourrez bientôt passer à
-GuixSD sans peur, bien sûr.  Pendant ce temps, vous pouvez aussi utiliser
-votre distribution actuelle et essayer le gestionnaire de paquet par dessus
-celle-ci (@pxref{Installation}).
+Les options disponibles sont les suivante :
 
-Avant de procéder à l'installation, soyez conscient de ces limitations les
-plus importantes qui s'appliquent à la version @value{VERSION} :
address@hidden @option
address@hidden address@hidden
address@hidden -t @var{type}
+Produit un graphe en sortie de type @var{type} où @var{type} doit être l'un
+des types au-dessus.
 
address@hidden
address@hidden
-Le procédé d'installation n'a pas d'interface utilisateur graphique et
-requiert une certaine familiarité avec GNU/Linux (voir les sous-sections
-suivantes pour avoir un aperçu de ce que cela signifie).
address@hidden --list-types
+Liste les types de graphes supportés.
 
address@hidden
-LVM (gestionnaire de volumes logiques) n'est pas supporté.
address@hidden address@hidden
address@hidden -b @var{moteur}
+Produit un graphe avec le @var{moteur} choisi.
 
address@hidden
-De plus en plus de services systèmes sont fournis (@pxref{Services}) mais
-certains manquent toujours cruellement.
address@hidden --list-backends
+Liste les moteurs de graphes supportés.
 
address@hidden
-Plus de address@hidden paquets sont disponibles, mais vous pourrez parfois
-trouver qu'un paquet utile est absent.
+Actuellement les moteurs disponibles sont Graphviz et d3.js.
 
address@hidden
-GNOME, Xfce, LXDE et Enlightenment sont disponibles (@pxref{Services de 
bureaux}), ainsi qu'un certain nombre de gestionnaires de fenêtres X11.
-cependant, certaines applications graphiques peuvent manquer, ainsi que KDE.
address@hidden itemize
address@hidden address@hidden
address@hidden -e @var{expr}
+Considérer le paquet évalué par @var{expr}.
 
-Vous êtes avertis ! Mais plus qu'un avertissement, c'est une invitation à
-rapporter les problèmes (et vos succès !) et à nous rejoindre pour améliorer
-la distribution.  @xref{Contribuer}, pour plus d'info.
+C'est utile pour précisément se référer à un paquet, comme dans cet exemple
+:
 
address@hidden
+guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'
address@hidden example
 
address@hidden Considérations matérielles
address@hidden Considérations matérielles
-
address@hidden support matériel sur GuixSD
address@hidden se concentre sur le respect des libertés de ses
-utilisateurs.  Il est construit autour du noyau Linux-libre, ce qui signifie
-que seuls les matériels pour lesquels des pilotes logiciels et des
-microgiciels libres sont disponibles sont supportés.  De nos jours, une
-grande gamme de matériel qu'on peut acheter est supporté par GNU/Linux-libre
-— des claviers aux cartes graphiques en passant par les scanners et les
-contrôleurs Ethernet.  Malheureusement, il reste des produit dont les
-fabriquants refusent de laisser le contrôle aux utilisateurs sur leur propre
-utilisation de l'ordinateur, et ces matériels ne sont pas supportés par
-GuixSD.
address@hidden address@hidden
address@hidden -s @var{système}
+Affiche le graphe pour @var{système} — p.@: ex.@: @code{i686-linux}.
 
address@hidden WiFi, support matériel
-L'un des types de matériels où les pilotes ou les microgiciels sont le moins
-disponibles sont les appareils WiFi.  Les appareils WiFi connus pour
-fonctionner sont ceux qui utilisent des puces Atheros (AR9271 et AR7010) qui
-correspondent au pilote @code{ath9k} de Linux-libre, et ceux qui utilisent
-des puces Broadcom/AirForce (BCM43xx avec la révision Wireless-Core 5), qui
-correspondent au pilote @code{b43-open} de Linux-libre.  Des microgiciels
-libres existent pour les deux et sont disponibles directement sur GuixSD,
-dans @var{%base-firmware} (@pxref{Référence de système d'exploitation,
address@hidden).
+Le graphe de dépendance des paquets est la plupart du temps indépendant de
+l'architecture, mais il y a quelques parties qui dépendent de l'architecture
+que cette option vous permet de visualiser.
address@hidden table
 
address@hidden RYF, Respects Your Freedom
-La @uref{https://www.fsf.org/, Free Software Foundation} a un programme de
-certification nommé @uref{https://www.fsf.org/ryf, @dfn{Respects Your
-Freedom}} (RYF), pour les produits matériels qui respectent votre liberté et
-votre vie privée en s'assurant que vous avez le contrôle sur l'appareil.
-Nous vous encourageons à vérifier la liste des appareils certifiés par RYF.
 
-Une autre ressource utile est le site web @uref{https://www.h-node.org/,
-H-Node}.  Il contient un catalogue d'appareils avec des informations sur
-leur support dans GNU/Linux.
 
address@hidden Invoquer guix publish
address@hidden Invoquer @command{guix publish}
 
address@hidden Installation depuis une clef USB ou un DVD
address@hidden Installation depuis une clef USB ou un DVD
address@hidden @command{guix publish}
+Le but de @command{guix publish} est de vous permettre de partager
+facilement votre dépôt avec d'autres personnes qui peuvent ensuite
+l'utiliser comme serveur de substituts (@pxref{Substituts}).
 
-Une image d'installation ISO-9660 téléchargeable depuis
address@hidden://alpha.gnu.org/gnu/guix/address@hidden@var{système}.iso.xz}
-peut être écrite sur une clef USB ou gravée sur un DVD, où @var{système} est
-l'une de ces valeurs :
+When @command{guix publish} runs, it spawns an HTTP server which allows
+anyone with network access to obtain substitutes from it.  This means that
+any machine running Guix can also act as if it were a build farm, since the
+HTTP interface is compatible with Hydra, the software behind the
address@hidden@value{SUBSTITUTE-SERVER}} build farm.
 
address@hidden @code
address@hidden x86_64-linux
-pour un système GNU/Linux sur un CPU compatible Intel/AMD 64-bits ;
+Pour des raisons de sécurité, chaque substitut est signé, ce qui permet aux
+destinataires de vérifier leur authenticité et leur intégrité
+(@pxref{Substituts}). Comme @command{guix publish} utilise la clef de
+signature du système, qui n'est lisible que par l'administrateur système, il
+doit être lancé en root ; l'option @code{--user} lui fait baisser ses
+privilèges le plus tôt possible.
 
address@hidden i686-linux
-pour un système GNU/Linux sur un CPU compatible Intel 32-bits ;
address@hidden table
+La pair de clefs pour les signatures doit être générée avant de lancer
address@hidden publish}, avec @command{guix archive --generate-key}
+(@pxref{Invoquer guix archive}).
 
address@hidden start duplication of authentication part from ``Binary 
Installation''
-Assurez-vous de télécharger les fichiers @file{.sig} associés et de vérifier
-l'authenticité de l'image avec, de cette manière :
+La syntaxe générale est :
 
 @example
-$ wget https://alpha.gnu.org/gnu/guix/address@hidden@var{system}.iso.xz.sig
-$ gpg --verify address@hidden@var{system}.iso.xz.sig
+guix publish @address@hidden
 @end example
 
-Si cette commande échoue parce que vous n'avez pas la clef publique requise,
-lancez cette commande pour l'importer :
+Lancer @command{guix publish} sans arguments supplémentaires lancera un
+serveur HTTP sur le port 8080 :
 
 @example
-$ gpg --keyserver @value{KEY-SERVER} \
-      --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
+guix publish
 @end example
 
address@hidden
address@hidden end duplication
-et relancez la commande @code{gpg --verify}.
-
-Cette image contient les outils nécessaires à l'installation.  Elle est
-faite pour être copiée @emph{telle quelle} sur une clef USB assez grosse ou
-un DVD.
+Une fois qu'un serveur de publication a été autorisé (@pxref{Invoquer guix 
archive}), le démon peut télécharger des substituts à partir de lui :
 
address@hidden Copie sur une clef USB
address@hidden
+guix-daemon --substitute-urls=http://example.org:8080
address@hidden example
 
-Pour copier l'image sur une clef USB, suivez ces étapes :
+Par défaut, @command{guix publish} compresse les archives à la volée quand
+il les sert.  Ce mode « à la volée » est pratique puisqu'il ne demande
+aucune configuration et est disponible immédiatement.  Cependant, lorsqu'il
+s'agit de servir beaucoup de clients, nous recommandons d'utiliser l'option
address@hidden, qui active le cache des archives avant de les envoyer aux
+clients — voir les détails plus bas.  La commande @command{guix weather}
+fournit un manière pratique de vérifier ce qu'un serveur fournit
+(@pxref{Invoquer guix weather}).
 
address@hidden
address@hidden
-Décompressez l'image avec la commande @command{xz} :
+En bonus, @command{guix publish} sert aussi un miroir adressé par le contenu
+des fichiers source référencées dans les enregistrements @code{origin}
+(@pxref{Référence d'origine}).  Par exemple, en supposant que @command{guix
+publish} tourne sur @code{example.org}, l'URL suivante renverra le fichier
+brut @file{hello-2.10.tar.gz} avec le hash SHA256 donné (représenté sous le
+format @code{nix-base32}, @pxref{Invoquer guix hash}) :
 
 @example
-xz -d address@hidden@var{système}.iso.xz
+http://example.org/file/hello-2.10.tar.gz/sha256/address@hidden
 @end example
 
address@hidden
-Insérez la clef USB de address@hidden ou plus dans votre machine et déterminez
-son nom d'appareil.  En supposant que la clef usb est connue sous le nom de
address@hidden/dev/sdX}, copiez l'image avec :
+Évidemment, ces URL ne fonctionnent que pour des fichiers dans le dépôt ;
+dans les autres cas, elles renvoie une erreur 404 (« Introuvable »).
+
address@hidden journaux de construction, publication
+Les journaux de construction sont disponibles à partir des URL @code{/log}
+comme ceci :
 
 @example
-dd address@hidden of=/dev/sdX
-sync
+http://example.org/log/address@hidden
 @end example
 
-Accéder à @file{/dev/sdX} requiert généralement les privilèges
-super-utilisateur.
address@hidden enumerate
address@hidden
+Lorsque @command{guix-daemon} est configuré pour sauvegarder les journaux de
+construction compressés, comme c'est le cas par défaut (@pxref{Invoquer 
guix-daemon}), les URL @code{/log} renvoient le journal compressé tel-quel,
+avec un en-tête @code{Content-Type} ou @code{Content-Encoding} approprié.
+Nous recommandons de lancer @command{guix-daemon} avec
address@hidden parce que les navigateurs web les
+décompressent automatiquement, ce qui n'est pas le cas avec la compression
+bzip2.
 
address@hidden Graver sur un DVD
+Les options suivantes sont disponibles :
 
-Pour copier l'image sur un DVD, suivez ces étapes :
address@hidden @code
address@hidden address@hidden
address@hidden -p @var{port}
+Écoute les requêtes HTTP sur le @var{port}
 
address@hidden
address@hidden
-Décompressez l'image avec la commande @command{xz} :
address@hidden address@hidden
+Écoute sur l'interface réseau de @var{hôte}.  Par défaut, la commande
+accepte les connexions de n'importe quelle interface.
 
address@hidden
-xz -d address@hidden@var{système}.iso.xz
address@hidden example
address@hidden address@hidden
address@hidden -u @var{utilisateur}
+Charge les privilèges de @var{utilisateur} le plus vite possible —
+c.-à-d. une fois que la socket du serveur est ouverte et que la clef de
+signature a été lue.
 
address@hidden
-Insérez un DVD vierge dans votre machine et déterminez son nom d'appareil.
-En supposant que le DVD soit connu sont le nom de @file{/dev/srX}, copiez
-l'image avec :
address@hidden address@hidden
address@hidden -C address@hidden
+Compresse les données au @var{niveau} donné.  Lorsque le @var{niveau} est
+zéro, désactive la compression.  L'intervalle 1 à 9 correspond aux
+différents niveaux de compression gzip : 1 est le plus rapide et 9 est la
+meilleure (mais gourmande en CPU).  Le niveau par défaut est 3.
 
address@hidden
-growisofs -dvd-compat -Z /dev/address@hidden
address@hidden example
+À moins que @option{--cache} ne soit utilisé, la compression se fait à la
+volée et les flux compressés ne sont pas cachés.  Ainsi, pour réduire la
+charge sur la machine qui fait tourner @command{guix publish}, c'est une
+bonne idée de choisir un niveau de compression faible, de lancer
address@hidden publish} derrière un serveur de cache ou d'utiliser
address@hidden  Utilise @option{--cache} a l'avantage qu'il permet à
address@hidden publish} d'ajouter l'en-tête HTTP @code{Content-Length} à sa
+réponse.
 
-Accéder à @file{/dev/srX} requiert généralement les privilèges
-super-utilisateur.
address@hidden enumerate
address@hidden address@hidden
address@hidden -c @var{répertoire}
+Cache les archives et les métadonnées (les URL @code{.narinfo}) dans
address@hidden et ne sert que les archives dans ce cache.
 
address@hidden Démarrage
+Lorsque cette option est omise, les archives et les métadonnées sont crées à
+la volée.  Cela réduit la bande passante disponible, surtout quand la
+compression est activée puisqu'elle pourrait être limitée par le CPU.  Un
+autre inconvénient au mode par défaut est que la taille des archives n'est
+pas connue à l'avance, donc @command{guix publish} n'ajoute pas l'en-tête
address@hidden à ses réponses, ce qui empêche les clients de savoir
+la quantité de données à télécharger.
 
-Une fois que c'est fait, vous devriez pouvoir redémarrer le système et
-démarrer depuis la clef USB ou le DVD.  Pour cela, vous devrez généralement
-entrer dans le menu de démarrage BIOS ou UEFI, où vous pourrez choisir de
-démarrer sur la clef USB.
+À l'inverse, lorsque @option{--cache} est utilisée, la première requête pour
+un élément du dépôt (via une URL @code{.narinfo}) renvoie une erreur 404 et
+déclenche la création de l'archive — en calculant son @code{.narinfo} et en
+compressant l'archive au besoin.  Une fois l'archive cachée dans
address@hidden, les requêtes suivantes réussissent et sont servies
+directement depuis le cache, ce qui garanti que les clients ont la meilleure
+bande passante possible.
 
address@hidden GuixSD dans une VM}, si, à la place, vous souhaitez installer
-GuixSD dans une machine virtuelle (VM).
+Le processus de création est effectué par des threads de travail.  Par
+défaut, un thread par cœur du CPU est créé, mais cela peut être
+personnalisé.  Voir @option{--workers} plus bas.
 
+Lorsque l'option @option{--ttl} est utilisée, les entrées cachées sont
+automatiquement supprimées lorsqu'elles expirent.
 
address@hidden Préparer l'installation
address@hidden Préparer l'installation
address@hidden address@hidden
+Lorsque @option{--cache} est utilisée, demande l'allocation de @var{N}
+thread de travail pour créer les archives.
 
-Une fois que vous avez démarré votre ordinateur sur le média d'installation,
-vous devriez vous retrouver sur un prompt en root.  Plusieurs TTY sont
-configurées et peuvent être utilisés pour lancer des commandes en root.  Le
-TTY2 affiche cette documentation, dans la quelle vous pouvez naviguer avec
-les commandes du lecteur Info (@pxref{Top,,, info-stnd, Stand-alone GNU
-Info}).  Le démon de souris GPM tourne sur le système d'installation, ce qui
-vous permet de sélectionner du texte avec le bouton gauche de la souris et
-de le coller en appuyant sur la molette.
address@hidden address@hidden
+Produit des en-têtes HTTP @code{Cache-Control} qui expriment une durée de
+vie (TTL) de @var{ttl}.  @var{ttl} peut dénoter une durée : @code{5d}
+signifie 5 jours, @code{1m} signifie un mois, etc.
 
address@hidden Remarque
-L'installation nécessite un accès au réseau pour que les dépendances
-manquantes de votre configuration système puissent être téléchargées.  Voyez
-la section « réseau » plus bas.
address@hidden quotation
+Cela permet au Guix de l'utilisateur de garder les informations en cache
+pendant @var{ttl}.  Cependant, remarquez que @code{guix publish} ne garanti
+pas lui-même que les éléments du dépôt qu'il fournit seront toujours
+disponible pendant la durée @var{ttl}.
+
+En plus, lorsque @option{--cache} est utilisée, les entrées cachées qui
+n'ont pas été demandé depuis @var{ttl} et n'ont pas d'élément correspondant
+dans le dépôt peuvent être supprimées.
 
-Le système d'installation inclus plusieurs outils usuels pour requis pour
-cette tâche.  Mais c'est aussi un système GuixSD complet, ce qui signifie
-que vous pouvez installer des paquets supplémentaires si vous en avez
-besoin, avec @command{guix package} (@pxref{Invoquer guix package}).
address@hidden address@hidden
+Utilise @var{chemin} comme préfixe des URL de fichier « nar »
+(@pxref{Invoquer guix archive, normalized archives}).
 
address@hidden Disposition du clavier
+Par défaut, les nars sont présents à l'URL comme
address@hidden/nar/gzip/@dots{}-coreutils-8.25}.  Cette option vous permet de
+changer la partie @code{/nar} en @var{chemin}.
 
address@hidden disposition du clavier
-L'image d'installation utilise la disposition clavier qwerty (US).  Si vous
-voulez la changer, vous pouvez utiliser la commande @command{loadkeys}.  Par
-exemple, la commande suivante sélectionne la disposition Dvorak :
address@hidden address@hidden
address@hidden address@hidden
+Utilise les @var{fichier}s spécifiques comme pair de clefs utilisées pour
+signer les éléments avant de les publier.
 
address@hidden
-loadkeys dvorak
address@hidden example
+Les fichiers doivent correspondre à la même pair de clefs (la clef privée
+est utilisée pour signer et la clef publique est seulement ajouté aux
+métadonnées de la signature).  Ils doivent contenir les clefs dans le format
+s-expression canonique produit par @command{guix archive --generate-key}
+(@pxref{Invoquer guix archive}).  Par défaut,
address@hidden/etc/guix/signing-key.pub} et @file{/etc/guix/signing-key.sec} 
sont
+utilisés.
 
-Consultez les fichiers dans @file{/run/current-system/profile/share/keymaps}
-pour trouver une liste des dispositions disponibles.  Lancez @command{man
-loadkey} pour plus d'informations.
address@hidden address@hidden
address@hidden -r address@hidden
+Crée un serveur REPL Guile  (@pxref{REPL Servers,,, guile, GNU Guile
+Reference Manual}) sur @var{pport} (37146 par défaut).  C'est surtout utile
+pour déboguer un serveur @command{guix publish} qui tourne.
address@hidden table
 
address@hidden Réseau
+Enabling @command{guix publish} on Guix System is a one-liner: just
+instantiate a @code{guix-publish-service-type} service in the
address@hidden field of the @code{operating-system} declaration
+(@pxref{guix-publish-service-type, @code{guix-publish-service-type}}).
 
-Lancez la commande suivante pour voir comment vos interfaces réseau sont
-appelées :
+Si vous avez installé Guix sur une « distro extérieure », suivez ces
+instructions :
+
address@hidden
address@hidden
+Si votre distro hôte utilise le système d'init systemd :
 
 @example
-ifconfig -a
+# ln -s ~root/.guix-profile/lib/systemd/system/guix-publish.service \
+        /etc/systemd/system/
+# systemctl start guix-publish && systemctl enable guix-publish
 @end example
 
address@hidden
address@hidden ou, avec la commande spécifique à GNU/Linux @command{ip} :
address@hidden
+Si votre distribution hôte utilise le système d'initialisation Upstart :
 
 @example
-ip a
+# ln -s ~root/.guix-profile/lib/upstart/system/guix-publish.conf /etc/init/
+# start guix-publish
 @end example
 
address@hidden 
http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20
-Les interfaces filaires ont un nom qui commence par @samp{e} ; par exemple,
-l'interface qui correspond au premier contrôleur Ethernet sur la carte mère
-est appelé @samp{eno1}.  Les interfaces sans-fil ont un nom qui commence par
address@hidden, comme @samp{w1p2s0}.
address@hidden
+Sinon, procédez de manière similaire avec votre système d'init de votre
+distro.
address@hidden itemize
 
address@hidden @asis
address@hidden Connexion filaire
-Pour configure une connexion filaire, lancez la commande suivante, en
-remplaçant @var{interface} par le nom de l'interface filaire que vous voulez
-utiliser.
address@hidden Invoquer guix challenge
address@hidden Invoquer @command{guix challenge}
 
address@hidden
-ifconfig @var{interface} up
address@hidden example
address@hidden constructions reproductibles
address@hidden constructions vérifiables
address@hidden @command{guix challenge}
address@hidden défi
+Est-ce que les binaires fournis par ce serveur correspondent réellement au
+code source qu'il dit avoir construit ? Est-ce que le processus de
+construction d'un paquet est déterministe ? Ce sont les question auxquelles
+la commande @command{guix challenge} essaye de répondre.
 
address@hidden Connexion sans-fil
address@hidden sans-fil
address@hidden WiFi
-Pour configurer le réseau sans-fil, vous pouvez créer un fichier de
-configuration pour l'outil de configuration @command{wpa_supplicant} (son
-emplacement importe peu) avec l'un des éditeurs de texte disponibles comme
address@hidden :
+La première question est évidemment importante : avant d'utiliser un serveur
+de substituts (@pxref{Substituts}), il vaut mieux @emph{vérifier} qu'il
+fournit les bons binaires et donc le @emph{défier}. La deuxième est ce qui
+permet la première : si les constructions des paquets sont déterministes
+alors des constructions indépendantes du paquet devraient donner le même
+résultat, bit à bit ; si un serveur fournit un binaire différent de celui
+obtenu localement, il peut être soit corrompu, soit malveillant.
 
address@hidden
-nano wpa_supplicant.conf
address@hidden example
+On sait que le hash qui apparaît dans @file{/gnu/store} est le hash de
+toutes les entrées du processus qui construit le fichier ou le répertoire —
+les compilateurs, les bibliothèques, les scripts de construction,
+etc. (@pxref{Introduction}).  En supposant que les processus de construction
+sont déterministes, un nom de fichier dans le dépôt devrait correspondre
+exactement à une sortie de construction.  @command{guix challenge} vérifie
+si il y a bien effectivement une seule correspondance en comparant les
+sorties de plusieurs constructions indépendantes d'un élément du dépôt
+donné.
 
-Par exemple, la déclaration qui suit peut aller dans ce fichier et
-fonctionnera pour plusieurs réseaux sans-fil, si vous donnez le vrai SSID et
-la phrase de passe pour le réseau auquel vous vous connectez :
+La sortie de la commande ressemble à :
 
address@hidden
address@hidden
-  ssid="@var{mon-ssid}"
-  key_mgmt=WPA-PSK
-  psk="la phrase de passe secrète du réseau"
address@hidden
address@hidden example
address@hidden
+$ guix challenge --substitute-urls="https://@value{SUBSTITUTE-SERVER} 
https://guix.example.org";
+updating list of substitutes from 'https://@value{SUBSTITUTE-SERVER}'... 100.0%
+updating list of substitutes from 'https://guix.example.org'... 100.0%
+/gnu/store/@dots{}-openssl-1.0.2d contents differ:
+  local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
+  https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-openssl-1.0.2d: 
0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
+  https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 
1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim
+/gnu/store/@dots{}-git-2.5.0 contents differ:
+  local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha
+  https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0: 
069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f
+  https://guix.example.org/nar/@dots{}-git-2.5.0: 
0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73
+/gnu/store/@dots{}-pius-2.1.1 contents differ:
+  local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
+  https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-pius-2.1.1: 
0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
+  https://guix.example.org/nar/@dots{}-pius-2.1.1: 
1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
 
-Démarrez le service sans-file et lancez-le en tache de fond avec la commande
-suivante (en remplaçant @var{interface} par le nom de l'interface réseau que
-vous voulez utiliser) :
address@hidden
 
address@hidden
-wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B
address@hidden example
+6,406 éléments du dépôt ont été analysés :
+  - 4,749 (74.1%) étaient identiques
+  - 525 (8.2%) étaient différents
+  - 1,132 (17.7%) étaient impossibles à évaluer
address@hidden smallexample
 
-Lancez @command{man wpa_supplicant} pour plus d'informations.
address@hidden table
address@hidden
+Dans cet exemple, @command{guix challenge} scanne d'abord le dépôt pour
+déterminer l'ensemble des dérivations construites localement — en opposition
+aux éléments qui ont été téléchargées depuis un serveur de substituts — puis
+demande leur avis à tous les serveurs de substituts.  Il rapporte ensuite
+les éléments du dépôt pour lesquels les serveurs ont obtenu un résultat
+différent de la construction locale.
 
address@hidden DHCP
-À partir de ce moment, vous avez besoin d'une adresse IP.  Sur les réseaux
-où les IP sont automatiquement attribuée par DHCP, vous pouvez lancer :
address@hidden non-déterminisme, dans les constructions des paquets
+As an example, @code{guix.example.org} always gets a different answer.
+Conversely, @address@hidden agrees with local builds,
+except in the case of Git.  This might indicate that the build process of
+Git is non-deterministic, meaning that its output varies as a function of
+various things that Guix does not fully control, in spite of building
+packages in isolated environments (@pxref{Fonctionnalités}).  Most common 
sources
+of non-determinism include the addition of timestamps in build results, the
+inclusion of random numbers, and directory listings sorted by inode number.
+See @uref{https://reproducible-builds.org/docs/}, for more information.
+
+Pour trouver ce qui ne va pas avec le binaire de Git, on peut faire quelque
+chose comme cela (@pxref{Invoquer guix archive}) :
 
 @example
-dhclient -v @var{interface}
+$ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \
+   | guix archive -x /tmp/git
+$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git
 @end example
 
-Essayez de pinger un serveur pour voir si le réseau fonctionne :
+This command shows the difference between the files resulting from the local
+build, and the files resulting from the build on
address@hidden@value{SUBSTITUTE-SERVER}} (@pxref{Overview, Comparing and Merging
+Files,, diffutils, Comparing and Merging Files}).  The @command{diff}
+command works great for text files.  When binary files differ, a better
+option is @uref{https://diffoscope.org/, Diffoscope}, a tool that helps
+visualize differences for all kinds of files.
+
+Une fois que vous avez fait ce travail, vous pourrez dire si les différences
+sont dues au non-déterminisme du processus de construction ou à la
+malhonnêteté du serveur.  Nous avons fait beaucoup d'effort pour éliminer
+les sources de non-déterminisme dans les paquets pour rendre plus facile la
+vérification des substituts, mais bien sûr, c'est un processus qui
+n'implique pas que Guix, mais une grande partie de la communauté des
+logiciels libres.  Pendant ce temps, @command{guix challenge} est un outil
+pour aider à corriger le problème.
+
+If you are writing packages for Guix, you are encouraged to check whether
address@hidden@value{SUBSTITUTE-SERVER}} and other substitute servers obtain the
+same build result as you did with:
 
 @example
-ping -c 3 gnu.org
+$ guix challenge @var{paquet}
 @end example
 
-Mettre en place un accès réseau est presque toujours une nécessité parce que
-l'image ne contient pas tous les logiciels et les outils dont vous pourriez
-avoir besoin.
address@hidden
+où @var{paquet} est une spécification de paquet comme @code{guile@@2.0} ou
address@hidden:debug}.
 
address@hidden installer par SSH
-Si vous le souhaitez, vous pouvez continuer l'installation à distance en
-démarrant un serveur SSH :
+La syntaxe générale est :
 
 @example
-herd start ssh-daemon
+guix challenge @var{options} address@hidden@dots{}]
 @end example
 
-Assurez-vous soit de définir un mot de passe avec @command{passwd}, soit de
-configurer l'authentification par clef OpenSSH avant de vous connecter.
-
address@hidden Partitionnement
-
-À moins que vous ne l'ayez déjà fait, l'étape suivante consiste à
-partitionner le disque puis à formater les partitions cibles.
+Lorsqu'une différence est trouvée entre l'empreinte d'un élément construit
+localement et celle d'un substitut fournit par un serveur, ou parmi les
+substituts fournis par différents serveurs, la commande l'affiche comme dans
+l'exemple ci-dessus et sa valeur de sortie est 2 (les autres valeurs
+différentes de 0 indiquent d'autres sortes d'erreurs).
 
-L'image d'installation inclus plusieurs outils de partitionnement, dont
-Parted (@pxref{Overview,,, parted, GNU Parted User Manual}),
address@hidden, et @command{cfdisk}.  Lancez-en un et paramétrez votre
-disque avec le partitionnement qui vous convient :
+L'option qui compte est :
 
address@hidden
-cfdisk
address@hidden example
address@hidden @code
 
-Si votre disque utilise le format des tables de partitions GUID (GPT) et que
-vous souhaitez installer un GRUB pour système BIOS (c'est le cas par
-défaut), assurez-vous de créer qu'une partition de démarrage BIOS soit bien
-disponible (@pxref{BIOS installation,,, grub, GNU GRUB manual}).
address@hidden address@hidden
+Considère @var{urls} comme la liste des URL des sources de substituts
+séparés par des espaces avec lesquels comparer les paquets locaux.
 
address@hidden EFI, installation
address@hidden UEFI, installation
address@hidden ESP, partition système EFI
-Si vous souhaitez à la place utilise GRUB pour système EFI, vous devrez
-avoir une @dfn{partition système EFI} (ESP) en FAT32.  Cette partition
-devrait être montée dans @file{/boot/efi} et doit avoir le drapeau
address@hidden  P.@: ex.@: pour @command{parted} :
address@hidden --verbose
address@hidden -v
+Montre des détails sur les correspondances (contenu identique) en plus des
+informations sur différences.
 
address@hidden
-parted /dev/sda set 1 esp on
address@hidden example
address@hidden table
 
address@hidden Remarque
address@hidden grub-bootloader
address@hidden grub-efi-bootloader
-Vous n'êtes pas sûr de savoir si vous devez utiliser un GRUB EFI ou BIOS ?
-Si le répertoire @file{/sys/firmware/efi} existe sur l'image d'installation,
-vous devriez probablement effectuer une installation EFI, avec
address@hidden  Sinon, vous devriez utiliser le GRUB en BIOS,
address@hidden  @xref{Configuration du chargeur d'amorçage} pour plus
-d'information sur le chargeur d'amorçage.
address@hidden quotation
address@hidden Invoquer guix copy
address@hidden Invoquer @command{guix copy}
 
-Une fois que vous avez fini le partitionnement du disque dur cible, vous
-devez créer un système de fichier sur les address@hidden
-GuixSD ne supporte que les systèmes de fichiers ext4 et btrfs.  En
-particulier, le code qui lit les UUID des systèmes de fichiers et les
-étiquettes ne fonctionne que pour ces types de systèmes de fichiers.}.  Pour
-l'ESP, si vous en avez une et en supposant que ce soit @file{/dev/sda1},
-lancez :
address@hidden copier des éléments du dépôt par SSH
address@hidden SSH, copie d'éléments du dépôt
address@hidden partager des éléments du dépôt entre plusieurs machines
address@hidden transférer des éléments du dépôt entre plusieurs machines
+La commande @command{guix copy} copie des éléments du dépôt d'une machine
+vers le dépôt d'une autre machine à travers une connexion address@hidden
+commande n'est disponible que si Guile-SSH est trouvé.  @xref{Prérequis},
+pour des détails}.  Par exemple, la commande suivante copie le paquet
address@hidden, le profil utilisateur et toutes leurs dépendances sur
address@hidden, en tant qu'utilisateur @var{utilisateur} :
 
 @example
-mkfs.fat -F32 /dev/sda1
+guix copy address@hidden@@@var{hôte} \
+          coreutils `readlink -f ~/.guix-profile`
 @end example
 
-Préférez assigner une étiquette au système de fichier pour que vous puissiez
-vous y référer de manière fiable dans la déclaration @code{file-system}
-(@pxref{Systèmes de fichiers}).  On le fait habituellement avec l'option 
@code{-L}
-de @command{mkfs.ext4} et des commandes liées.  Donc, en supposant que la
-partition racine soit sur @file{/dev/sda2}, on peut créer un système de
-fichier avec pour étiquette @code{my-root} avec :
+Si certains éléments à copier sont déjà présents sur @var{hôte}, ils ne sont
+pas envoyés.
+
+La commande ci-dessous récupère @code{libreoffice} et @code{gimp} depuis
address@hidden, en supposant qu'ils y sont présents :
 
 @example
-mkfs.ext4 -L my-root /dev/sda2
+guix copy address@hidden libreoffice gimp
 @end example
 
address@hidden chiffrement du disque
-Si vous voulez plutôt chiffrer la partition racine, vous pouvez utiliser les
-utilitaires Cryptsetup et LUKS pour cela (voir @inlinefmtifelse{html,
address@hidden://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
address@hidden cryptsetup}} pour plus d'informations).  En supposant que vous
-voulez stocker la partition racine sur @file{/dev/sda2}, la séquence de
-commandes suivante vous mènerait à ce résultat :
+La connexion SSH est établie avec le client Guile-SSH, qui set compatible
+avec OpenSSH : il honore @file{~/.ssh/known_hosts} et @file{~/.ssh/config}
+et utilise l'agent SSH pour l'authentification.
 
address@hidden
-cryptsetup luksFormat /dev/sda2
-cryptsetup open --type luks /dev/sda2 my-partition
-mkfs.ext4 -L my-root /dev/mapper/my-partition
address@hidden example
+La clef utilisée pour signer les éléments qui sont envoyés doit être
+acceptée par la machine distante.  De même, la clef utilisée pour la machine
+distante depuis laquelle vous récupérez des éléments doit être dans
address@hidden/etc/guix/acl} pour qu'ils soient acceptés par votre propre démon.
address@hidden guix archive}, pour plus d'informations sur
+l'authentification des éléments du dépôt.
 
-Une fois cela effectué, montez le système de fichier cible dans @file{/mnt}
-avec une commande comme (de nouveau, en supposant que @code{my-root} est
-l'étiquette du système de fichiers racine) :
+La syntaxe générale est :
 
 @example
-mount LABEL=my-root /mnt
+guix copy address@hidden|address@hidden @address@hidden
 @end example
 
-Montez aussi tous les systèmes de fichiers que vous voudriez utiliser sur le
-système cible relativement à ce chemin.  Si vous avez un @file{/boot} sur
-une partition séparé par exemple, montez-le sur @file{/mnt/boot} maintenant
-pour qu'il puisse être trouvé par @code{guix system init} ensuite.
+Vous devez toujours spécifier l'une des options suivantes :
 
-Enfin, si vous souhaitez utiliser une ou plusieurs partitions de swap
-(@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference
-Manual}), assurez-vous de les initialiser avec @command{mkswap}.  En
-supposant que vous avez une partition de swap sur @file{/dev/sda3}, vous
-pouvez lancer :
address@hidden @code
address@hidden address@hidden
address@hidden address@hidden
+Spécifie l'hôte où envoyer ou d'où recevoir les éléments.  @var{spec} doit
+être une spécification SSH comme @code{example.org},
address@hidden@@example.org} ou @code{charlie@@example.org:2222}.
address@hidden table
 
address@hidden
-mkswap /dev/sda3
-swapon /dev/sda3
address@hidden example
+L'option @var{items} peut être des noms de paquets, comme @code{gimp} ou des
+éléments du dépôt comme @file{/gnu/store/@dots{}-idutils-4.6}.
 
-Autrement, vous pouvez utiliser un fichier de swap.  Par exemple, en
-supposant que dans le nouveau système vous voulez utiliser le fichier
address@hidden/swapfile} comme fichier de swap, vous address@hidden exemple
-fonctionnera sur plusieurs types de systèmes de fichiers (p.@: ex.@: ext4).
-Cependant, pour les systèmes de fichiers qui utilisent la copie sur écriture
-(COW) comme btrfs, les étapes requises peuvent varier.  Pour plus de
-détails, regardez les pages de manuel de @command{mkswap} et
address@hidden :
+Lorsque vous spécifiez le nom d'un paquet à envoyer, il est d'abord
+construit au besoin, sauf si l'option @option{--dry-run} est spécifiée.  Les
+options de construction communes sont supportées (@pxref{Options de 
construction communes}).
 
address@hidden
-# Cela représente 10 Gio d'espace d'échange. Ajustez « count » pour changer la 
taille.
-dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240
-# Par sécurité, laissez le fichier en lecture et en écriture uniquement pour 
root.
-chmod 600 /mnt/swapfile
-mkswap /mnt/swapfile
-swapon /mnt/swapfile
address@hidden example
 
-Remarquez que si vous avez chiffré la partition racine et créé un fichier
-d'échange dans son système de fichier comme décrit ci-dessus, alors le
-chiffrement protégera aussi le fichier d'échange, comme n'importe quel
-fichier de ce système de fichiers.
address@hidden Invoquer guix container
address@hidden Invoquer @command{guix container}
address@hidden conteneur
address@hidden @command{guix container}
address@hidden Remarque
+À la version @value{VERSION}, cet outil est toujours expérimental.
+L'interface est sujette à changement radicaux dans le futur.
address@hidden quotation
 
address@hidden Effectuer l'installation
address@hidden Effectuer l'installation
+Le but de @command{guix container} est de manipuler des processus qui
+tournent dans un environnement séparé, connus sous le nom de « conteneur »,
+typiquement créés par les commandes @command{guix environment}
+(@pxref{Invoquer guix environment}) et @command{guix system container}
+(@pxref{Invoquer guix system}).
 
-Lorsque la partition cible est prête et que les autres partitions sont
-montées, on est prêt à commencer l'installation.  Commencez par :
+La syntaxe générale est :
 
 @example
-herd start cow-store /mnt
+guix container @var{action} @address@hidden
 @end example
 
-Cela rend @file{/gnu/store} capable de faire de la copie sur écriture, de
-sorte que les paquets ajoutés pendant l'installation sont écrits sur le
-disque cible sur @file{/mnt} plutôt que gardés en mémoire.  Cela est
-nécessaire parce que la première phase de la commande @command{guix system
-init} (voir plus bas) implique de télécharger ou de construire des éléments
-de @file{/gnu/store} qui est initialement un système de fichiers en mémoire.
address@hidden spécifie les opérations à effectuer avec un conteneur, et
address@hidden spécifie les arguments spécifiques au contexte pour l'action.
 
-Ensuite, vous devrez modifier un fichier et fournir la déclaration du
-système à installer.  Pour cela, le système d'installation propose trois
-éditeurs de texte.  Nous recommandons GNU nano (@pxref{Top,,, nano, GNU nano
-Manual}), qui supporte la coloration syntaxique la correspondance de
-parenthèses ; les autres éditeurs sont GNU Zile (un clone d'Emacs) et nvi
-(un clone de l'éditeur @command{vi} original de BSD).  Nous recommandons
-vivement de stocker ce fichier sur le système de fichier racine cible,
-disons en tant que @file{/mnt/etc/config.scm}.  Sinon, vous perdrez votre
-fichier de configuration une fois que vous aurez redémarré sur votre nouveau
-système.
+Les actions suivantes sont disponibles :
 
address@hidden le système de configuration}, pour un aperçu de comment créer 
votre
-fichier de configuration.  Les exemples de configuration dont on parle dans
-cette section sont disponibles dans @file{/etc/configuration} sur l'image
-d'installation.  Ainsi, pour commencer avec une configuration du système qui
-fournit un serveur d'affichage graphique (un système de « bureau »), vous
-pouvez lancer ce qui suit :
address@hidden @code
address@hidden exec
+Exécute une commande dans le contexte d'un conteneur lancé.
+
+La syntaxe est :
 
 @example
-# mkdir /mnt/etc
-# cp /etc/configuration/desktop.scm /mnt/etc/config.scm
-# nano /mnt/etc/config.scm
+guix container exec @var{pid} @var{programme} @address@hidden
 @end example
 
-Vous devriez faire attention à ce que contient votre fichier de
-configuration, en particulier :
-
address@hidden
address@hidden
-Assurez-vous que la forme @code{bootloader-configuration} se réfère à la
-cible où vous voulez installer GRUB.  Elle devrait aussi mentionner
address@hidden si vous installer GRUB en mode BIOS (ou « legacy »)
-ou @code{grub-efi-bootloader} pour les système UEFI plus récents.  Pour les
-anciens systèmes, le champs @code{target} contient un périphérique comme
address@hidden/dev/sda} ; pour les systèmes UEFI il contient un chemin vers une
-partition EFI montée, comme @code{/boot/efi}, et assurez-vous que ce chemin
-est bien monté.
-
address@hidden
-Assurez-vous que les étiquettes de vos systèmes de fichiers correspondent
-aux valeurs de leur champs @code{device} dans votre configuration
address@hidden, en supposant que la configuration @code{file-system}
-utilise la procédure @code{file-system-label} dans son champ @code{device}.
-
address@hidden
-Si vous avez des partitions RAID ou chiffrées, assurez-vous d'ajouter un
-champ @code{mapped-device} pour les décrire (@pxref{Périphériques mappés}).
address@hidden itemize
address@hidden spécifie le PID du conteneur lancé.  @var{programme} spécifie le
+nom du fichier exécutable dans le système de fichiers racine du conteneur.
address@hidden sont les options supplémentaires à passer à @var{programme}.
 
-Une fois que vous avez fini les préparatifs sur le fichier de configuration,
-le nouveau système peut être initialisé (rappelez-vous que le système de
-fichiers racine cible est dans @file{/mnt}) :
+The following command launches an interactive login shell inside a Guix
+system container, started by @command{guix system container}, and whose
+process ID is 9001:
 
 @example
-guix system init /mnt/etc/config.scm /mnt
+guix container exec 9001 /run/current-system/profile/bin/bash --login
 @end example
 
address@hidden
-Cela copie tous les fichiers nécessaires et installe GRUB sur
address@hidden/dev/sdX} à moins que vous ne passiez l'option
address@hidden  Pour plus d'informations, @pxref{Invoquer guix system}.  Cette 
commande peut engendrer des téléchargements ou des
-constructions pour les paquets manquants, ce qui peut prendre du temps.
+Remarquez que @var{pid} ne peut pas être le processus parent d'un
+conteneur.  Ce doit être le PID 1 du conteneur ou l'un de ses processus
+fils.
 
-Une fois que cette commande a terminée — et on l'espère réussi ! — vous
-pouvez lancer @command{reboot} et démarrer sur votre nouveau système.  Le
-mot de passe @code{root} est d'abord vide ; les mots de passe des autres
-utilisateurs doivent être initialisés avec la commande @command{passwd} en
-tant que @code{root}, à mois que votre configuration ne spécifie autre chose
-(@pxref{user-account-password, mot de passe des comptes utilisateurs}).
address@hidden table
+
address@hidden Invoquer guix weather
address@hidden Invoquer @command{guix weather}
 
address@hidden mettre à jour GuixSD
-À partir de maintenant, vous pouvez mettre à jour GuixSD lorsque vous le
-souhaitez en lançant @command{guix pull} en tant que @code{root}
-(@pxref{Invoquer guix pull}), puis en lançant @command{guix system
-reconfigure} pour construire une nouvelle génération du système avec les
-derniers paquets et les derniers services (@pxref{Invoquer guix system}).
-Nous vous recommandons de le faire régulièrement pour que votre système
-inclus les dernières mises à jour de sécurité (@pxref{Mises à jour de 
sécurité}).
+Vous pouvez parfois grogner lorsque les substituts ne sont pas disponibles
+et que vous devez construire les paquets vous-même (@pxref{Substituts}). La
+commande @command{guix weather} rapporte la disponibilité des substituts sur
+les serveurs spécifiés pour que vous sachiez si vous allez raller
+aujourd'hui. Cela peut parfois être une information utile pour les
+utilisateurs, mais elle est surtout utile pour les personnes qui font
+tourner @command{guix publish} (@pxref{Invoquer guix publish}).
 
-Rejoignez-nous sur @code{#guix} sur le réseau IRC Freenode ou sur
address@hidden@@gnu.org} pour partager votre expérience — bonne ou
-mauvaise.
address@hidden statistiques sur les substituts
address@hidden disponibilité des substituts
address@hidden substituts, disponibilité
address@hidden weather, disponibilité des substituts
+Voici un exemple :
 
address@hidden Installer GuixSD dans une VM
address@hidden Installer GuixSD sur une machine virtuelle
address@hidden
+$ guix weather --substitute-urls=https://guix.example.org
+calcul de 5,872 dérivations de paquets pour x86_64-linux…
+recherche de 6,128 éléments du dépôt sur https://guix.example.org…
+mise à jour de la liste des substituts depuis 'https://guix.example.org'... 
100.0%
+https://guix.example.org
+  43.4% substituts disponibles (2,658 sur 6,128)
+  7,032.5 Mo de fichiers nar (compressés)
+  19,824.2 Mo sur le disque (décompressés)
+  0.030 secondes par requêtes (182.9 secondes au total)
+  33.5 requêtes par seconde
 
address@hidden machine virtuelle, installation de GuixSD
address@hidden serveur privé virtuel (VPS)
address@hidden VPS (serveur privé virtuel)
-Si vous souhaitez installer GuixSD sur une machine virtuelle (VM) ou un
-serveur privé virtuel (VPS) plutôt que sur votre machine chérie, cette
-section est faite pour vous.
+  9.8% (342 sur 3,470) des éléments manquants sont dans la queue
+  867 constructions dans la queue
+      x86_64-linux : 518 (59.7%)
+      i686-linux : 221 (25.5%)
+      aarch64-linux : 128 (14.8%)
+  vitesse de construction : 23.41 constructions par heure
+      x86_64-linux : 11.16 constructions par heure
+      i686-linux : 6.03 constructions par heure
+      aarch64-linux : 6.41 constructions par heure
address@hidden example
 
-Pour démarrer une VM @uref{http://qemu.org/,QEMU} pour installer GuixSD sur
-une image disque, suivez ces étapes :
address@hidden intégration continue, statistiques
+As you can see, it reports the fraction of all the packages for which
+substitutes are available on the server---regardless of whether substitutes
+are enabled, and regardless of whether this server's signing key is
+authorized.  It also reports the size of the compressed archives (``nars'')
+provided by the server, the size the corresponding store items occupy in the
+store (assuming deduplication is turned off), and the server's throughput.
+The second part gives continuous integration (CI) statistics, if the server
+supports it.  In addition, using the @option{--coverage} option,
address@hidden weather} can list ``important'' package substitutes missing on
+the server (see below).
 
address@hidden
address@hidden
-Tout d'abord récupérez et décompressez l'image d'installation de GuixSD
-comme décrit précédemment (@pxref{Installation depuis une clef USB ou un DVD}).
+Pour cela, @command{guix weather} récupère par HTTP(S) les métadonnées
+(@dfn{narinfos}@ de tous les éléments du dépôts pertinents.  Comme
address@hidden challenge}, il ignore les signatures de ces substituts, ce qui
+n'est pas dangereux puisque la commande ne fait que récupérer des
+statistiques et n'installe pas ces substituts.
 
address@hidden
-Créez une image disque qui contiendra le système installé.  Pour créer une
-image qcow2, utilise la commande @command{qemu-img} :
+Entre autres choses, il est possible de demander des types de système
+particuliers et des ensembles de paquets particuliers.  Les options
+disponibles sont listées plus bas.
 
address@hidden
-qemu-img create -f qcow2 guixsd.img 50G
address@hidden example
address@hidden @code
address@hidden address@hidden
address@hidden est la liste des URL des serveurs de substituts séparés par des
+espaces.  Lorsque cette option n'est pas renseignée, l'ensemble des serveurs
+de substituts par défaut est utilisé.
 
-Le fichier qui en résulte sera bien plus petit que les 50 Go (habituellement
-moins de 1 Mo) mais il grossira au fur et à mesure que le stockage virtuel
-grossira.
address@hidden address@hidden
address@hidden -s @var{système}
+Effectue des requêtes pour les substituts @var{système} — p.@: ex.@:
address@hidden  Cette option peut être répétée, auquel cas
address@hidden weather} demandera les substituts de plusieurs types de
+systèmes.
 
address@hidden
-Démarrez l'image d'installation USB dans une VM :
address@hidden address@hidden
+Plutôt que de demander des substituts pour tous les paquets, demande
+uniquement les paquets spécifiés dans @var{fichier}.  @var{fichier} doit
+contenir un @dfn{manifeste} comme avec l'option @code{-m} de @command{guix
+package} (@pxref{Invoquer guix package}).
 
address@hidden
-qemu-system-x86_64 -m 1024 -smp 1 \
-  -net user -net nic,model=virtio -boot menu=on \
-  -drive address@hidden@var{system}.iso \
-  -drive file=guixsd.img
address@hidden address@hidden
address@hidden -c address@hidden
+Report on substitute coverage for packages: list packages with at least
address@hidden dependents (zero by default) for which substitutes are
+unavailable.  Dependent packages themselves are not listed: if @var{b}
+depends on @var{a} and @var{a} has no substitutes, only @var{a} is listed,
+even though @var{b} usually lacks substitutes as well.  The result looks
+like this:
+
address@hidden
+$ guix weather --substitute-urls=https://ci.guix.fr.info -c 10
+computing 8,983 package derivations for x86_64-linux...
+looking for 9,343 store items on https://ci.guix.fr.info...
+updating substitutes from 'https://ci.guix.fr.info'... 100.0%
+https://ci.guix.fr.info
+  64.7% substitutes available (6,047 out of 9,343)
address@hidden
+2502 packages are missing from 'https://ci.guix.fr.info' for 'x86_64-linux', 
among which:
+    58  kcoreaddons@@5.49.0      /gnu/store/@dots{}-kcoreaddons-5.49.0
+    46  qgpgme@@1.11.1           /gnu/store/@dots{}-qgpgme-1.11.1
+    37  perl-http-cookiejar@@0.008  
/gnu/store/@dots{}-perl-http-cookiejar-0.008
+    @dots{}
 @end example
 
-L'ordre des périphérique est important
+What this example shows is that @code{kcoreaddons} and presumably the 58
+packages that depend on it have no substitutes at @code{ci.guix.fr.info};
+likewise for @code{qgpgme} and the 46 packages that depend on it.
 
-Dans la console de la VM, appuyez rapidement sur @kbd{F12} pour entrer dans
-le menu de démarrage.  Ensuite appuyez sur @kbd{2} et la touche @kbd{Entrée}
-pour valider votre choix.
+If you are a Guix developer, or if you are taking care of this build farm,
+you'll probably want to have a closer look at these packages: they may
+simply fail to build.
address@hidden table
 
address@hidden
-Vous êtes maintenant root dans la VM, continuez en suivant la procédure
-d'installation.  @xref{Préparer l'installation}, et suivez les
-instructions.
address@hidden enumerate
address@hidden Invoquer guix processes
address@hidden Invoquer @command{guix processes}
 
-Une fois l'installation terminée, vous pouvez démarrer le système dans votre
-image @file{guixsd.img}.  @xref{Lancer GuixSD dans une VM}, pour une manière de
-faire.
+La commande @command{guix processes} peut être utile pour les développeurs
+et les administrateurs systèmes, surtout sur des machines multi-utilisateurs
+et sur les fermes de construction : elle liste les sessions actuelles (les
+connexions au démon), ainsi que des informations sur les processus en
address@hidden sessions distantes, lorsque @command{guix-daemon} est
+démarré avec @option{--listen} en spécifiant un point d'entrée TCP, ne sont
address@hidden listées.}.  Voici un exemple des informations qu'elle renvoie :
 
address@hidden Construire l'image d'installation
address@hidden Construire l'image d'installation
address@hidden
+$ sudo guix processes
+SessionPID: 19002
+ClientPID: 19090
+ClientCommand: guix environment --ad-hoc python
 
address@hidden image d'installation
-L'image d'installation décrite plus haut a été construite avec la commande
address@hidden system}, plus précisément :
+SessionPID: 19402
+ClientPID: 19367
+ClientCommand: guix publish -u guix-publish -p 3000 -C 9 @dots{}
 
address@hidden
-guix system disk-image gnu/system/install.scm
+SessionPID: 19444
+ClientPID: 19419
+ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
+LockHeld: /gnu/store/@dots{}-perl-ipc-cmd-0.96.lock
+LockHeld: /gnu/store/@dots{}-python-six-bootstrap-1.11.0.lock
+LockHeld: /gnu/store/@dots{}-libjpeg-turbo-2.0.0.lock
+ChildProcess: 20495: guix offload x86_64-linux 7200 1 28800
+ChildProcess: 27733: guix offload x86_64-linux 7200 1 28800
+ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800
 @end example
 
-Regardez le fichier @file{gnu/system/install.scm} dans l'arborescence des
-sources et regardez aussi @ref{Invoquer guix system} pour plus
-d'informations sur l'image d'installation.
-
address@hidden Construire l'image d'installation pour les cartes ARM
+Dans cet exemple, on voit que @command{guix-daemon} a trois clients directs
+: @command{guix environment}, @command{guix publish} et l'outil
+d'intégration continue Cuirass ; leur identifiant de processus (PID) est
+donné par le champ @code{ClientPID}.  Le champ @code{SessionPID} fournit le
+PID du sous-processus @command{guix-daemon} de cette session particulière.
 
-De nombreuses cartes ARM requièrent une variante spécifique du chargeur
-d'amorçage @uref{http://www.denx.de/wiki/U-Boot/, U-Boot}.
+Les champs @code{LockHeld} montrent quels éléments du dépôt sont
+actuellement verrouillés par cette session, ce qui correspond aux éléments
+du dépôt qui sont en train d'être construits ou d'être substitués (le champ
address@hidden n'est pas montré si @command{guix processes} n'est pas lancé
+en root).  Enfin, en regardant le champ @code{ChildProcess}, on comprend que
+ces trois constructions sont déchargées (@pxref{Réglages du délestage du 
démon}).
 
-Si vous construisez une image disque et que le chargeur d'amorçage n'est pas
-disponible autrement (sur un autre périphérique d'amorçage etc), il est
-recommandé de construire une image qui inclus le chargeur d'amorçage, plus
-précisément :
+La sortie est dans le format Recutils pour qu'on puisse utiliser la commande
address@hidden pour sélectionner les sessions qui nous intéressent
+(@pxref{Selection Expressions,,, recutils, GNU recutils manual}).  Par
+exemple, la commande montre la ligne de commande et le PID du client qui
+effectue la construction d'un paquet Perl :
 
 @example
-guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) 
os-with-u-boot) (@@ (gnu system install) installation-os) 
"A20-OLinuXino-Lime2")'
+$ sudo guix processes | \
+    recsel -p ClientPID,ClientCommand -e 'LockHeld ~ "perl"'
+ClientPID: 19419
+ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
 @end example
 
address@hidden est le nom de la carte.  Si vous spécifiez une
-carte invalide, une liste de cartes possibles sera affichée.
 
 @node Configuration système
address@hidden Configuration système
address@hidden Configuration système
 
 @cindex configuration du système
 La distribution système Guix utilise un mécanisme de configuration du
@@ -10065,13 +10276,12 @@ est configuré et instancié.  Ensuite nous montrons 
comment ce mécanisme peut
 * Configuration du chargeur d'amorçage::  Configurer le chargeur 
                                              d'amorçage.
 * Invoquer guix system::     Instantier une configuration du système.
-* Lancer GuixSD dans une VM::  Comment lancer GuixSD dans une machine 
-                                 virtuelle.
+* Running Guix in a VM::     How to run Guix System in a virtual machine.
 * Définir des services::    Ajouter de nouvelles définitions de services.
 @end menu
 
 @node Utiliser le système de configuration
address@hidden Utiliser le système de configuration
address@hidden Utiliser le système de configuration
 
 Le système d'exploitation est configuré en fournissant une déclaration
 @code{operating-system} dans un fichier qui peut être passé à la command
@@ -10095,7 +10305,7 @@ importants (@pxref{Référence de système 
d'exploitation}, pour des détails su
 les champs disponibles) et comment @dfn{instancier} le système
 d'exploitation avec @command{guix system}.
 
address@hidden Bootloader
address@hidden Bootloader
 
 @cindex ancien système de démarrage, sur les machines Intel
 @cindex démarrage BIOS, sur les machines Intel
@@ -10117,7 +10327,7 @@ Extensible Firmware Interface}) pour démarrer.  Dans ce 
cas, le champ
 @xref{Configuration du chargeur d'amorçage}, pour plus d'informations sur les 
options de
 configuration disponibles.
 
address@hidden Paquets visibles sur tout le système
address@hidden Paquets visibles sur tout le système
 
 @vindex %base-packages
 Le champ @code{packages} liste les paquets qui seront visibles sur tout le
@@ -10162,18 +10372,17 @@ le meilleur paquet pour un nom donné ou un nom et une 
version :
                     %base-packages)))
 @end lisp
 
address@hidden Services systèmes
address@hidden Services systèmes
 
 @cindex services
 @vindex %base-services
-Le champ @code{services} liste les @dfn{services système} à rendre
-disponible lorsque le système démarre (@pxref{Services}).  La déclaration
address@hidden au-dessus spécifie que, en plus des services de
-base, on veut que le démon ssh @command{lshd} écoute sur le port 2222
-(@pxref{Services réseau, @code{lsh-service}}).  Sous le capot,
address@hidden s'arrange pour que @code{lshd} soit lancé avec les bonnes
-options de la ligne de commande, éventuellement en générant des fichiers de
-configuration (@pxref{Définir des services}).
+The @code{services} field lists @dfn{system services} to be made available
+when the system starts (@pxref{Services}).  The @code{operating-system}
+declaration above specifies that, in addition to the basic services, we want
+the OpenSSH secure shell daemon listening on port 2222 (@pxref{Services 
réseau, @code{openssh-service-type}}).  Under the hood,
address@hidden arranges so that @command{sshd} is started with
+the right command-line options, possibly with supporting configuration files
+generated as needed (@pxref{Définir des services}).
 
 @cindex personnalisation des services
 @findex modify-services
@@ -10253,7 +10462,7 @@ l'expression suivante renvoie une liste qui contient 
tous les services dans
         %desktop-services)
 @end example
 
address@hidden Instancier le système
address@hidden Instancier le système
 
 En supposant que la déclaration @code{operating-system} est stockée dans le
 fichier @file{my-system-config.scm}, la commande @command{guix system
@@ -10286,10 +10495,10 @@ actuelle n'est pas la dernière (p.@: ex.@: après 
avoir invoqué @command{guix
 system roll-back}), puisque l'opération pourrait remplacer une génération
 suivante (@pxref{Invoquer guix system}).
 
address@hidden L'interface de programmation
address@hidden L'interface de programmation
 
 Au niveau Scheme, la grosse déclaration @code{operating-system} est
-instanciée avec la procédure monadique suivante (@pxref{La monad du dépôt}) :
+instanciée avec la procédure monadique suivante (@pxref{La monade du dépôt}) :
 
 @deffn {Procédure monadique} operating-system-derivation os
 Renvoie une dérivation qui construit @var{os}, un objet
@@ -10299,13 +10508,13 @@ La sortie de la dérivation est un répertoire qui se 
réfère à tous les
 paquets et d'autres fichiers supports requis pour instancier @var{os}.
 @end deffn
 
-Cette procédure est fournie par le module @code{(gnu system)}.  Avec
address@hidden(gnu srevices)} (@pxref{Services}), ce module contient les 
entrailles
-de GuixSD.  Ouvrez-le un jour !
+This procedure is provided by the @code{(gnu system)} module.  Along with
address@hidden(gnu services)} (@pxref{Services}), this module contains the guts 
of
+Guix System.  Make sure to visit it!
 
 
 @node Référence de système d'exploitation
address@hidden Référence de @code{operating-system}
address@hidden Référence de @code{operating-system}
 
 Cette section résume toutes les options disponibles dans les déclarations
 @code{operating-system} (@pxref{Utiliser le système de configuration}).
@@ -10462,7 +10671,7 @@ membres du groupe @code{wheel} peuvent utiliser 
@code{sudo}.
 @end deftp
 
 @node Systèmes de fichiers
address@hidden Systèmes de fichiers
address@hidden Systèmes de fichiers
 
 La liste des systèmes de fichiers à monter est spécifiée dans le champ
 @code{file-systems} de la déclaration de système d'exploitation
@@ -10634,7 +10843,7 @@ chargé.
 @end defvr
 
 @node Périphériques mappés
address@hidden Périphériques mappés
address@hidden Périphériques mappés
 
 @cindex mappage de périphériques
 @cindex périphériques mappés
@@ -10758,7 +10967,7 @@ automatiquement.
 
 
 @node Comptes utilisateurs
address@hidden Comptes utilisateurs
address@hidden Comptes utilisateurs
 
 @cindex utilisateurs
 @cindex comptes
@@ -10897,7 +11106,7 @@ particulier et il est automatiquement ajouté qu'il soit 
spécifié ou non.
 @end defvr
 
 @node Régionalisation
address@hidden Régionalisation
address@hidden Régionalisation
 
 @cindex paramètres linguistiques
 Un @dfn{paramètre linguistique} définie les conventions culturelles d'une
@@ -10989,7 +11198,7 @@ Library Reference Manual}).  Donc par exemple il y a 
@code{uk_UA.utf8} mais
 @emph{pas}, disons, @code{uk_UA.UTF-8}.
 @end defvr
 
address@hidden Considérations sur la compatibilité des données linguistiques
address@hidden Considérations sur la compatibilité des données linguistiques
 
 @cindex incompatibilité, des données linguistiques
 Les déclaration @code{operating-system} fournissent un champ
@@ -11012,11 +11221,10 @@ mais pas toutes les données linguistiques de la libc 
2.21 (spécifiquement
 les données @code{LC_COLLATE} sont incompatibles) ; donc les appels à
 @code{setlocale} peuvent échouer, mais les programmes ne plantent pas.
 
-Le « problème » avec GuixSD c'est que les utilisateurs ont beaucoup de
-liberté : ils peuvent choisir s'ils veulent et quand ils veulent mettre à
-jour les logiciels de leur profil, et peuvent utiliser une version
-différente de la libc de celle que l'administrateur système utilise pour
-construire les données linguistiques du système global.
+The ``problem'' with Guix is that users have a lot of freedom: They can
+choose whether and when to upgrade software in their profiles, and might be
+using a libc version different from the one the system administrator used to
+build the system-wide locale data.
 
 Heureusement, les utilisateurs non privilégiés peuvent aussi installer leur
 propres données linguistiques et définir @var{GUIX_LOCPATH} comme il le faut
@@ -11043,7 +11251,7 @@ linguistiques pour la libc 2.21 et pour la version 
actuelle de la libc dans
 
 
 @node Services
address@hidden Services
address@hidden Services
 
 @cindex services systèmes
 Une part importante de la préparation d'une déclaration
@@ -11052,13 +11260,11 @@ configuration (@pxref{Utiliser le système de 
configuration}).  Les services
 systèmes sont typiquement des démons lancés au démarrage ou d'autres actions
 requises à ce moment-là — p.@: ex.@: configurer les accès réseaux.
 
-GuixSD a une définition large de « service » (@pxref{Composition de services}),
-mais beaucoup de services sont gérés par le address@hidden
-(@pxref{Services Shepherd}).  Sur un système lancé, la commande
address@hidden vous permet de lister les services disponibles, montrer leur
-statut, les démarrer et les arrêter, ou faire d'autres opérations
-spécifiques (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}).  Par
-exemple :
+Guix has a broad definition of ``service'' (@pxref{Composition de services}),
+but many services are managed by the address@hidden (@pxref{Services 
Shepherd}).  On a running system, the @command{herd} command allows you to
+list the available services, show their status, start and stop them, or do
+other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd
+Manual}).  For example:
 
 @example
 # herd status
@@ -11096,7 +11302,7 @@ par les services de base qui peuvent être utilisés avec 
une déclaration
 * Services de base::         Services systèmes essentiels.
 * Exécution de tâches planifiées::  Le service mcron.
 * Rotation des journaux::    Le service rottlog.
-* Services réseau::         Paramétres réseau, démon SSH, etc.
+* Services réseau::         Paramètres réseau, démon SSH, etc.
 * Système de fenêtrage X::  Affichage graphique.
 * Services d'impression::    Support pour les imprimantes locales et 
                                distantes.
@@ -11125,10 +11331,10 @@ par les services de base qui peuvent être utilisés 
avec une déclaration
 @end menu
 
 @node Services de base
address@hidden Services de base
address@hidden Services de base
 
 Le module @code{(gnu services base)} fournit des définitions de services
-poru les services de base qu'on peut attendre du système.  Les services
+pour les services de base qu'on peut attendre du système.  Les services
 exportés par ce module sort listés ci-dessous.
 
 @defvr {Variable Scheme} %base-services
@@ -11143,7 +11349,9 @@ système, vous voudrez ajouter des services à ceux de 
@var{%base-services},
 comme ceci :
 
 @example
-(cons* (avahi-service) (lsh-service) %base-services)
+(append (list (service avahi-service-type)
+              (service openssh-service-type))
+        %base-services)
 @end example
 @end defvr
 
@@ -11493,7 +11701,7 @@ actions suivantes :
 @item invalidate
 @cindex invalidation du cache, nscd
 @cindex nscd, invalidation du cache
-Cela invalide le cache dnné.  Par exemple, en laçant :
+Cela invalide le cache donné.  Par exemple, en laçant :
 
 @example
 herd invalidate nscd hosts
@@ -11526,7 +11734,7 @@ Liste des paquets dénotant des @dfn{services de noms} 
qui doivent être
 visible pour nscd, p.@: ex.@: @code{(list @var{nss-mdns})}.
 
 @item @code{glibc} (par défaut : @var{glibc})
-Objet de paquet qui dénote la Biblothèque C de GNU qui fournit la commande
+Objet de paquet qui dénote la Bibliothèque C de GNU qui fournit la commande
 @command{nscd}.
 
 @item @code{log-file} (par défaut : @code{"/var/log/nscd.log"})
@@ -11645,14 +11853,15 @@ Nombre de comptes utilisateurs de construction à 
créer.
 
 @item @code{authorize-key?} (par défaut : @code{#t})
 @cindex substituts, autorisations
-Autoriser ou non les clefs de substituts listées dans @code{authorize-keys}
-— par défaut celle de @code{hydra.gny.org} (@pxref{Substituts}).
+Whether to authorize the substitute keys listed in
address@hidden default that of @address@hidden
+(@pxref{Substituts}).
 
 @vindex %default-authorized-guix-keys
 @item @code{authorized-keys} (par défaut : @var{%default-authorized-guix-keys})
-La liste des fichiers de clefs autorisées pour les imports d'archives, en
-tant que liste de gexps sous forme de chaînes (@pxref{Invoquer guix archive}). 
Par défaut, elle contient celle de @code{hydra.gnu.org}
-(@pxref{Substituts}).
+The list of authorized key files for archive imports, as a list of
+string-valued gexps (@pxref{Invoquer guix archive}).  By default, it
+contains that of @address@hidden (@pxref{Substituts}).
 
 @item @code{use-substitutes?} (par défaut : @code{#t})
 S'il faut utiliser les substituts.
@@ -11693,10 +11902,11 @@ Lance @var{udev}, qui rempli le répertoire 
@file{/dev} dynamiquement.  Les
 règles udev peuvent être fournies comme une liste de fichier via la variable
 @var{rules}.  Les procédures @var{udev-rule} et @var{file->udev-rule} de
 @code{(gnu services base)} simplifient la création de ces fichiers de règle.
address@hidden deffn
 
 @deffn {Procédure Scheme} udev-rule address@hidden @var{contents}]
 Renvoie un fichier de règle udev nommé @var{file-name} contenant les règles
-définie par le litéral @var{contents}.
+définie par le littéral @var{contents}.
 
 Dans l'exemple suivant, on définie une règle pour un périphérique USB qui
 sera stockée dans le fichier @file{90-usb-thing.rules}.  La règle lance un
@@ -11711,6 +11921,9 @@ donné.
                    "address@hidden@}==\"Example\", "
                    "RUN+=\"/path/to/script\"")))
 @end example
+
+The @command{herd rules udev} command, as root, returns the name of the
+directory containing all the active udev rules.
 @end deffn
 
 Ici on montre comment le service @var{udev-service} par défaut peut être
@@ -11760,7 +11973,7 @@ android)}.
 
 L'exemple suivant montre comment utiliser le paquet @var{android-udev-rules}
 pour que l'outil Android @command{adb} puisse détecter les appareils sans
-privilège root.  Il détaille aussi comment créer le grope @code{adbusers},
+privilège root.  Il détaille aussi comment créer le groupe @code{adbusers},
 requis pour le bon fonctionnement des règles définies dans le paquet
 @var{android-udev-rules}.  Pour créer ce groupe, on doit le définir dans les
 @var{supplementary-groups} de la déclaration @var{user-account} ainsi que
@@ -11786,13 +11999,13 @@ dans le champ @var{groups} de l'enregistrement 
@var{operating-system}.
   ;; @dots{}
 
   (services
-    (modify-services %desktop-services
-      (udev-service-type config =>
-       (udev-configuration (inherit config)
-       (rules (cons* android-udev-rules
-              (udev-configuration-rules config))))))))
+   (modify-services %desktop-services
+     (udev-service-type
+      config =>
+      (udev-configuration (inherit config)
+                          (rules (cons android-udev-rules
+                                       (udev-configuration-rules config))))))))
 @end example
address@hidden deffn
 
 @defvr {Variable Scheme} urandom-seed-service-type
 Garde de l'entropie dans @var{%random-seed-file} pour démarrer
@@ -11952,7 +12165,7 @@ sont souvent utilisés sur les systèmes audio temps-réel.
 @end deffn
 
 @node Exécution de tâches planifiées
address@hidden Exécution de tâches planifiées
address@hidden Exécution de tâches planifiées
 
 @cindex cron
 @cindex mcron
@@ -11960,11 +12173,11 @@ sont souvent utilisés sur les systèmes audio 
temps-réel.
 Le module @code{(gnu services mcron)} fournit une interface pour
 address@hidden, un démon qui lance des tâches planifiées (@pxref{Top,,,
 mcron, address@hidden).  address@hidden est similaire au démon Unix
-traditionel @command{cron} ; la principale différence est qu'il est
+traditionnel @command{cron} ; la principale différence est qu'il est
 implémenté en Guile Scheme, qui fournit beaucoup de flexibilité lors de la
 spécification de la planification des tâches et de leurs actions.
 
-L'exemple en dessous définit un système d'exploitation qu lance les
+L'exemple en dessous définit un système d'exploitation qui lance les
 commandes @command{updatebd} (@pxref{Invoking updatedb,,, find, Finding
 Files}) et @command{guix gc} (@pxref{Invoquer guix gc}) tous les jours,
 ainsi que la commande @command{mkid} en tant qu'utilisateur non privilégié
@@ -12000,9 +12213,11 @@ gexps pour introduire des définitions de tâches qui 
sont passées à mcron
 
 (operating-system
   ;; @dots{}
-  (services (cons (mcron-service (list garbage-collector-job
-                                       updatedb-job
-                                       idutils-job))
+  (services (cons (service mcron-service-type
+                           (mcron-configuration
+                            (jobs (list garbage-collector-job
+                                        updatedb-job
+                                        idutils-job))))
                   %base-services)))
 @end lisp
 
@@ -12025,18 +12240,6 @@ pouvez spécifier le nombre de tâches à afficher :
 # herd schedule mcron 10
 @end example
 
address@hidden {Procédure Scheme} mcron-service @var{jobs} [#:mcron @var{mcron}]
-Renvoie un service mcron qui lance @var{mcron} qui planifie les tâches
address@hidden, une liste de gexps qui dénotent des spécifications de tâches de
-mcron.
-
-C'est un raccourci pour :
address@hidden
-(service mcron-service-type
-         (mcron-configuration (mcron mcron) (jobs jobs)))
address@hidden example
address@hidden deffn
-
 @defvr {Variable Scheme} mcron-service-type
 C'est le type du service @code{mcron}, dont la valeur est un objet
 @code{mcron-configuration}
@@ -12062,7 +12265,7 @@ specifications,, mcron, address@hidden).
 
 
 @node Rotation des journaux
address@hidden Rotation des journaux
address@hidden Rotation des journaux
 
 @cindex rottlog
 @cindex journaux, rotation
@@ -12167,7 +12370,7 @@ s'agit de : @code{'("/var/log/messages" 
"/var/log/secure")}
 @end defvr
 
 @node Services réseau
address@hidden Services réseau
address@hidden Services réseau
 
 Le module @code{(gnu services networking)} fournit des services pour
 configurer les interfaces réseaux.
@@ -12260,7 +12463,7 @@ Par exemple :
 @cindex gestion du réseau
 @deffn {Procédure Scheme} wicd-service [#:wicd @var{wicd}]
 Renvoie un service qui lance @url{https://launchpad.net/wicd,Wicd}, un démon
-de gestion réseau qui cherche à simplifier la configuration des résaux
+de gestion réseau qui cherche à simplifier la configuration des réseaux
 filaires et sans fil.
 
 Ce service ajoute le paquet @var{wicd} au profil global, pour fournir des
@@ -12540,13 +12743,13 @@ secondes.
 @cindex inetd
 @deffn {Variable Scheme} inetd-service-type
 Ce service lance le démon @command{inetd} (@pxref{inetd invocation,,,
-inetutils, GNU Inetutils}).  @command{inetd} écoute des connexionssur des
+inetutils, GNU Inetutils}).  @command{inetd} écoute des connexions sur des
 sockets internet et démarre le programme spécifié uniquement lorsqu'une
 connexion arrive sur l'un de ces sockets.
 
 La valeur de ce service est un objet @code{inetd-configuration}.  L'exemple
 suivant configure le démon @command{inetd} pour qu'il fournisse le service
address@hidden, ainsi qu'in service smtp qui transfère le trafic smtp par
address@hidden, ainsi qu'un service smtp qui transfère le trafic smtp par
 ssh à un serveur @code{smtp-server} derrière une passerelle @code{hostname}
 :
 
@@ -12642,12 +12845,6 @@ lancé en tant qu'utilisateur non privilégié 
@code{tor}, membre du groupe
 
 @end defvr
 
address@hidden {Procédure Scheme} tor-service address@hidden [#:tor @var{tor}]
-Cette procédure est obsolète et sera supprimée dans les futures versions.
-Renvoie un service de type @code{tor-service-type}.  @var{config-file} et
address@hidden ont la même signification que dans @code{<tor-configuration>}.
address@hidden deffn
-
 @deftp {Type de données} tor-configuration
 @table @asis
 @item @code{tor} (par défaut : @code{tor})
@@ -12985,6 +13182,19 @@ C'est le symbole qui spécifie le niveau de 
journalisation : @code{quiet},
 Voir la page de manuel de @file{sshd_config} pour trouver la liste complète
 des noms de niveaux.
 
address@hidden @code{extra-content} (par défaut : @code{""})
+This field can be used to append arbitrary text to the configuration file.
+It is especially useful for elaborate configurations that cannot be
+expressed otherwise.  This configuration, for example, would generally
+disable root logins, but permit them from one specific IP address:
+
address@hidden
+(openssh-configuration
+  (extra-content "\
+Match Address 192.168.0.1
+  PermitRootLogin yes"))
address@hidden example
+
 @end table
 @end deftp
 
@@ -12994,7 +13204,7 @@ Dropbear} avec la configuration @var{config} donnée, un 
objet
 @code{<dropbear-configuration>}.
 
 Par exemple, pour spécifier un service Dropbear qui écoute sur le port 1234,
-ajoutez cet appel au champ @code{services} d evotre système d'exploitation :
+ajoutez cet appel au champ @code{services} de votre système d'exploitation :
 
 @example
 (dropbear-service (dropbear-configuration
@@ -13060,34 +13270,53 @@ des navigateurs Web, ne se connectent à Facebook.
 
 Le module @code{(gnu services avahi)} fourni la définition suivante.
 
address@hidden {Procédure Scheme} avahi-service [#:avahi @var{avahi}] @
-          [#:host-name #f] [#:publish? #t] [#:ipv4? #t] @
-[#:ipv6? #t] [#:wide-area? #f] @
-[#:domains-to-browse '()] [#:debug? #f]
-Renvoie un service qui lance @command{avahi-daemon}, un serveur qui répond
-aux requêtes mDNS/DNS-SD qui permet de découvrir des services et de chercher
-des noms d'hôtes « sans configuration » (voir @uref{http://avahi.org/}) et
-qui étend le démon de cache de services de noms (nscd) pour qu'il puisse
-résoudre des noms en @code{.local} avec
address@hidden://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}.  En plus,
-ajoute le paquet @var{avahi} au profil du système pour que les commandes
-comme @command{avahi-browse} soient directement utilisables.
-
-Si @var{host-name} n'est pas @code{#f}, utilise cette valeur comme nom
-d'hôte à publier pour la machine ; sinon, utilise le vrai nom d'hôte de la
-machine.
-
-Lorsque la valeur de @var{publish?} est vraie, la publication des noms
-d'hôtes et des domaines sont autorisés ; en particulier, avahi-daemon
-publiera le nom d'hôte et l'adresse IP de la machine via mDNS sur le réseau
-local.
-
-Lorsque la valeur de @var{wide-area?} est vraie, DNS-SD sur DNS unicast est
-activé.
-
-Les valeurs booléennes @var{ipv4?} et @var{ipv6?} déterminent s'il faut
-utiliser un socket IPv4 ou IPv6 respectivement.
address@hidden deffn
address@hidden {Scheme Variable} avahi-service-type
+This is the service that runs @command{avahi-daemon}, a system-wide
+mDNS/DNS-SD responder that allows for service discovery and
+``zero-configuration'' host name lookups (see @uref{http://avahi.org/}).
+Its value must be a @code{zero-configuration} record---see below.
+
+This service extends the name service cache daemon (nscd) so that it can
+resolve @code{.local} host names using
address@hidden://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}.  @xref{Name 
Service Switch}, for information on host name resolution.
+
+Additionally, add the @var{avahi} package to the system profile so that
+commands such as @command{avahi-browse} are directly usable.
address@hidden defvr
+
address@hidden {Data Type} avahi-configuration
+Data type representation the configuration for Avahi.
+
address@hidden @asis
+
address@hidden @code{host-name} (default: @code{#f})
+If different from @code{#f}, use that as the host name to publish for this
+machine; otherwise, use the machine's actual host name.
+
address@hidden @code{publish?} (default: @code{#t})
+When true, allow host names and services to be published (broadcast) over
+the network.
+
address@hidden @code{publish-workstation?} (default: @code{#t})
+When true, @command{avahi-daemon} publishes the machine's host name and IP
+address via mDNS on the local network.  To view the host names published on
+your local network, you can run:
+
address@hidden
+avahi-browse _workstation._tcp
address@hidden example
+
address@hidden @code{wide-area?} (default: @code{#f})
+When true, DNS-SD over unicast DNS is enabled.
+
address@hidden @code{ipv4?} (default: @code{#t})
address@hidden @code{ipv6?} (default: @code{#t})
+These fields determine whether to use IPv4/IPv6 sockets.
+
address@hidden @code{domains-to-browse} (default: @code{'()})
+This is a list of domains to browse.
address@hidden table
address@hidden deftp
 
 @deffn {Variable Scheme} openvswitch-service-type
 C'est le type du service @uref{http://www.openvswitch.org, Open vSwitch},
@@ -13107,7 +13336,7 @@ Objet de paquet de Open vSwitch.
 @end deftp
 
 @node Système de fenêtrage X
address@hidden Système de fenêtrage X
address@hidden Système de fenêtrage X
 
 @cindex X11
 @cindex Système de fenêtrage X
@@ -13309,18 +13538,33 @@ avec une configuration de type 
@code{<sddm-configuration>}.
 @end deffn
 
 @deffn {Procédure Scheme} xorg-start-command [#:guile] @
-  [#:modules %default-xorg-modules] @
-[#:fonts %default-xorg-fonts] @
-[#:configuration-file (xorg-configuration-file @dots{})] @
-[#:xorg-server @var{xorg-server}]
-Renvoie un script @code{startx} dans lequel @var{modules}, une liste de
-paquets de modules X et @var{fonts}, une liste de répertoires de polices X,
-sont disponibles.  Voir @code{xorg-wrapper} pour plus de détails sur les
-arguments.  Le résultat devrait être utilisé à la place de @code{startx}.
+  [#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @
+[#:configuration-file (xorg-configuration-file @dots{})] @ [#:xorg-server
address@hidden [#:xserver-arguments '("-nolisten" "tcp")] Return a
address@hidden script in which @var{modules}, a list of X module packages,
+and @var{fonts}, a list of X font directories, are available.  See
address@hidden for more details on the arguments.  The result should be
+used in place of @code{startx}.
 
 Habituellement le serveur X est démarré par un gestionnaire de connexion.
 @end deffn
 
address@hidden @code{-listen tcp}, for X11.
+This procedure is useful to override command line options for the X server,
+such as having it listen to over TCP:
+
address@hidden
+(operating-system
+  ...
+  (services
+    (modify-services %desktop-services
+      (slim-service-type config =>
+        (slim-configuration
+          (inherit config)
+          (startx (xorg-start-command
+                   #:xserver-arguments '("-listen" "tcp"))))))))
address@hidden example
+
 @deffn {Procédure Scheme} xorg-configuration-file @
   [#:modules %default-xorg-modules] @
 [#:fonts %default-xorg-fonts] @
@@ -13401,13 +13645,12 @@ rend utilisable le bon vieux XlockMore.
 
 
 @node Services d'impression
address@hidden Services d'impression
address@hidden Services d'impression
 
 @cindex support des imprimantes avec CUPS
-Le module @code{(gnu services cups)} fournit une définition de service Guix
-pour le service d'impression CUPS.  Pour ajouter le support d'une imprimante
-à un système GuixSD, ajoutez un @code{cups-service} à la définition du
-système d'exploitation :
+The @code{(gnu services cups)} module provides a Guix service definition for
+the CUPS printing service.  To add printer support to a Guix system, add a
address@hidden to the operating system definition:
 
 @deffn {Variable Scheme} cups-service-type
 Le type de service pour un serveur d'impression CUPS.  Sa valeur devrait
@@ -13428,7 +13671,7 @@ auto-signé si besoin, pour les connexions sécurisée 
avec le serveur
 d'impression.
 
 Supposons que vous souhaitiez activer l'interface Web de CUPS et ajouter le
-support pour les imprimantes Epson via le paquet @code{escpr} et our les
+support pour les imprimantes Epson via le paquet @code{escpr} et pour les
 imprimantes HP via le paquet @code{hplip-minimal}.  Vous pouvez le faire
 directement, comme ceci (vous devez utiliser le module @code{(gnu packages
 cups)}) :
@@ -13776,7 +14019,7 @@ La valeur par défaut est @samp{stop-printer}.
 Spécifie le coût maximum des filtres qui sont lancés en même temps, pour
 minimiser les problèmes de ressources de disque, de mémoire et de CPU.  Une
 limite de 0 désactive la limite de filtrage.  Une impression standard vers
-une imprimante non-PostScript requirt une limite de filtre d'environ 200.
+une imprimante non-PostScript requiert une limite de filtre d'environ 200.
 Une imprimante PostScript requiert environ la moitié (100).  Mettre en place
 la limite en dessous de ces valeurs limitera l'ordonnanceur à un seul
 travail d'impression à la fois.
@@ -13852,7 +14095,7 @@ La valeur par défaut est @samp{0}.
 
 @deftypevr {paramètre de @code{cups-configuration}} multiline-string-list 
listen
 Écoute sur les interfaces spécifiées.  Les valeurs valides sont de la forme
address@hidden:@var{port}, où @var{adresse} est sotit une daresse IPv6 dans
address@hidden:@var{port}, où @var{adresse} est soit une adresse IPv6 dans
 des crochets, soit une adresse IPv4, soit @code{*} pour indiquer toutes les
 adresses.  Les valeurs peuvent aussi être des noms de fichiers de socket
 UNIX domain.  La directive Listen est similaire à la directive Port mais
@@ -14275,7 +14518,7 @@ cette manière :
 
 
 @node Services de bureaux
address@hidden Services de bureaux
address@hidden Services de bureaux
 
 Le module @code{(gnu services desktop)} fournit des services qui sont
 habituellement utiles dans le contexte d'une installation « de bureau » —
@@ -14505,24 +14748,80 @@ exemple, un utilisateur normal peut obtenir le droit 
de mettre le système en
 veille si l'utilisateur est connecté localement.
 @end deffn
 
address@hidden {Procédure Scheme} upower-service [#:upower @var{upower}] @
-                         [#:watts-up-pro? #f] @
-[#:poll-batteries? #t] @
-[#:ignore-lid? #f] @
-[#:use-percentage-for-policy? #f] @
-[#:percentage-low 10] @
-[#:percentage-critical 3] @
-[#:percentage-action 2] @
-[#:time-low 1200] @
-[#:time-critical 300] @
-[#:time-action 120] @
-[#:critical-power-action 'hybrid-sleep]
-Renvoie un service qui lance @uref{http://upower.freedesktop.org/,
address@hidden, un moniteur système pour la consommation électrique et
-le niveau de batterie, avec les paramètres de configuration données.  Il
-implémente l'interface D-Bus @code{org.freedesktop.UPower} et est notamment
-utilisé par GNOME.
address@hidden deffn
address@hidden {Scheme Variable} upower-service-type
+Service that runs @uref{http://upower.freedesktop.org/, @command{upowerd}},
+a system-wide monitor for power consumption and battery levels, with the
+given configuration settings.
+
+It implements the @code{org.freedesktop.UPower} D-Bus interface, and is
+notably used by GNOME.
address@hidden defvr
+
address@hidden {Data Type} upower-configuration
+Data type representation the configuration for UPower.
+
address@hidden @asis
+
address@hidden @code{upower} (default: @var{upower})
+Package to use for @code{upower}.
+
address@hidden @code{watts-up-pro?} (default: @code{#f})
+Enable the Watts Up Pro device.
+
address@hidden @code{poll-batteries?} (default: @code{#t})
+Enable polling the kernel for battery level changes.
+
address@hidden @code{ignore-lid?} (default: @code{#f})
+Ignore the lid state, this can be useful if it's incorrect on a device.
+
address@hidden @code{use-percentage-for-policy?} (default: @code{#f})
+Whether battery percentage based policy should be used.  The default is to
+use the time left, change to @code{#t} to use the percentage.
+
address@hidden @code{percentage-low} (default: @code{10})
+When @code{use-percentage-for-policy?} is @code{#t}, this sets the
+percentage at which the battery is considered low.
+
address@hidden @code{percentage-critical} (default: @code{3})
+When @code{use-percentage-for-policy?} is @code{#t}, this sets the
+percentage at which the battery is considered critical.
+
address@hidden @code{percentage-action} (default: @code{2})
+When @code{use-percentage-for-policy?} is @code{#t}, this sets the
+percentage at which action will be taken.
+
address@hidden @code{time-low} (default: @code{1200})
+When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining
+in seconds at which the battery is considered low.
+
address@hidden @code{time-critical} (default: @code{300})
+When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining
+in seconds at which the battery is considered critical.
+
address@hidden @code{time-action} (default: @code{120})
+When @code{use-time-for-policy?} is @code{#f}, this sets the time remaining
+in seconds at which action will be taken.
+
address@hidden @code{critical-power-action} (default: @code{'hybrid-sleep})
+The action taken when @code{percentage-action} or @code{time-action} is
+reached (depending on the configuration of
address@hidden).
+
+Possible values are:
+
address@hidden @bullet
address@hidden
address@hidden'power-off}
+
address@hidden
address@hidden'hibernate}
+
address@hidden
address@hidden'hybrid-sleep}.
address@hidden itemize
+
address@hidden table
address@hidden deftp
 
 @deffn {Procédure Scheme} udisks-service [#:udisks @var{udisks}]
 Renvoie un service pour @uref{http://udisks.freedesktop.org/docs/latest/,
@@ -14590,7 +14889,7 @@ service D-Bus.
 @end deffn
 
 @node Services de son
address@hidden Services de son
address@hidden Services de son
 
 @cindex support du son
 @cindex ALSA
@@ -14603,7 +14902,7 @@ pilote de sortie préféré d'ALSA.
 @deffn {Variable Scheme} alsa-service-type
 C'est le type pour le système @uref{https://alsa-project.org/, Advanced
 Linux Sound Architecture} (ALSA), qui génère le fichier de configuration
address@hidden/etc/asound.conf}.  La valer de ce type est un enregistrement
address@hidden/etc/asound.conf}.  La valeur de ce type est un enregistrement
 @command{alsa-configuration} comme dans cet exemple :
 
 @example
@@ -14672,22 +14971,57 @@ détails.
 
 
 @node Services de bases de données
address@hidden Services de bases de données
address@hidden Services de bases de données
 
 @cindex database
 @cindex SQL
 Le module @code{(gnu services databases)} fournit les services suivants.
 
 @deffn {Procédure Scheme} postgresql-service [#:postgresql postgresql] @
-       [#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @
-[#:port 5432] [#:locale ``en_US.utf8'']
-Renvoie un service qui lance @var{postgresql}, le service de bases de
-données PostgreSQL.
+       [#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ 
[#:port
+5432] [#:locale ``en_US.utf8''] [#:extension-packages '()] Return a service
+that runs @var{postgresql}, the PostgreSQL database server.
 
 Le démon PostgreSQL charge sa configuration à l'exécution depuis
 @var{config-file}, crée une grappe de bases de données avec @var{locale}
 comme paramètre de régionalisation par défaut, stockée dans
 @var{data-directory}.  Il écoute ensuite sur @var{port}.
+
address@hidden postgresql extension-packages
+Additional extensions are loaded from packages listed in
address@hidden  Extensions are available at runtime.  For
+instance, to create a geographic database using the @code{postgis}
+extension, a user can configure the postgresql-service as in this example:
+
address@hidden postgis
address@hidden
+(use-package-modules databases geo)
+
+(operating-system
+  ...
+  ;; postgresql is required to run `psql' but postgis is not required for
+  ;; proper operation.
+  (packages (cons* postgresql %base-packages))
+  (services
+    (cons*
+      (postgresql-service #:extension-packages (list postgis))
+      %base-services)))
address@hidden example
+
+Then the extension becomes visible and you can initialise an empty
+geographic database in this way:
+
address@hidden
+psql -U postgres
+> create database postgistest;
+> \connect postgistest;
+> create extension postgis;
+> create extension postgis_topology;
address@hidden example
+
+There is no need to add this field for contrib extensions such as hstore or
+dblink as they are already loadable by postgresql.  This field is only
+required to add extensions provided by other packages.
 @end deffn
 
 @deffn {Procédure Scheme} mysql-service [#:config (mysql-configuration)]
@@ -14799,7 +15133,7 @@ Répertoire dans lequel stocker la base de données et 
les fichiers liés.
 @end deftp
 
 @node Services de courriels
address@hidden Services de courriels
address@hidden Services de courriels
 
 @cindex courriel
 @cindex email
@@ -15790,7 +16124,7 @@ par défaut est @samp{#t}.
 @deftypevr {paramètre de @code{dovecot-configuration}} boolean 
mbox-very-dirty-syncs?
 Comme @samp{mbox-dirty-syncs}, mais ne synchronise pas complètement même
 avec les commandes SELECT, EXAMINE, EXPUNGE ou CHECK.  Si l'option n'est pas
-actifée, @samp{mbox-dirty-syncs} est ignorée.  La valeur par défaut est
+activée, @samp{mbox-dirty-syncs} est ignorée.  La valeur par défaut est
 @samp{#f}.
 @end deftypevr
 
@@ -16085,7 +16419,7 @@ Contournements pour divers bogues de certains client :
 
 @table @code
 @item delay-newmail
-Envoie des notifications de nouveau message EXISTS/RECENT seulement en
+Envoi des notifications de nouveau message EXISTS/RECENT seulement en
 réponse aux commandes NOOP et CHECK.  Certains clients les ignorent
 autrement, par exemple OSX Mail (< v2.1).  Outlook Express est encore plus
 cassé, sans cela il peut montrer des erreurs de type « Le message n'est plus
@@ -16112,11 +16446,11 @@ autorise tous.  La valeur par défaut est @samp{""}.
 @end deftypevr
 
 
-Ouf !  Tant d'options de configuration.  La bonne nouvelle, c'est que GuixSD
-a une interface complète avec le langage de configuration de Dovecot.  Cela
-permet non seulement de déclarer la configuration de manière agréable, mais
-aussi d'offrir des capacités de réflexion : les utilisateurs peuvent écrire
-du code pour inspecter et transformer les configuration depuis Scheme.
+Whew! Lots of configuration options.  The nice thing about it though is that
+Guix has a complete interface to Dovecot's configuration language.  This
+allows not only a nice way to declare configurations, but also offers
+reflective capabilities as well: users can write code to inspect and
+transform configurations from within Scheme.
 
 Cependant, vous pourriez avoir un fichier @code{dovecot.conf} déjà tout
 prêt.  Dans ce cas, vous pouvez passer un objet
@@ -16168,7 +16502,7 @@ Objet de paquet du serveur SMTP OpenSMTPD.
 Objet simili-fichier du fichier de configuration de OpenSMTPD à utiliser.
 Par défaut il écoute sur l'interface de boucle locale et accepte les
 courriels des utilisateurs et des démons de la machine locale, et autorise
-l'envoie de courriels à des serveurs distants.  Lancez @command{man
+l'envoi de courriels à des serveurs distants.  Lancez @command{man
 smtpd.conf} pour plus d'information.
 
 @end table
@@ -16243,9 +16577,9 @@ système.  Dans l'exemple au-dessus, il n'y a pas besoin 
d'une entrée
 @code{bob@@example.com} et @code{bob@@example2.com}).
 
 @node Services de messagerie
address@hidden Services de messagerie
address@hidden Services de messagerie
 
address@hidden messagerie intantanée
address@hidden messagerie instantanée
 @cindex jabber
 @cindex XMPP
 Le module @code{(gnu services messaging)} fournit des définitions de
@@ -16514,10 +16848,9 @@ d'information sur l'utilisation du moteur hashed.  
Voir aussi
 @end deftypevr
 
 @deftypevr {paramètre de @code{prosody-configuration}} maybe-string log
-Indique les options de journalisation.  La configuration avancée des
-journaux n'est pas encore supportée par le service Prosody dans GuixSD.
-Voir @url{https://prosody.im/doc/logging}.  La valeur par défaut est
address@hidden"*syslog"}. 
+Set logging options.  Advanced logging configuration is not yet supported by
+the Guix Prosody Service.  See @url{https://prosody.im/doc/logging}.
+Defaults to @samp{"*syslog"}.
 @end deftypevr
 
 @deftypevr {paramètre de @code{prosody-configuration}} file-name pidfile
@@ -16718,7 +17051,7 @@ C'est le type de service pour le démon de passerelle IRC
 @url{http://bitlbee.org,BitlBee}.  Sa valeur est un
 @code{bitlbee-configuration} (voir plus bas).
 
-Pour que BitlBee écoute sur le pourt 6667 sur localhost, ajoutez cette ligne
+Pour que BitlBee écoute sur le port 6667 sur localhost, ajoutez cette ligne
 à vos services :
 
 @example
@@ -16752,9 +17085,37 @@ BitlBee.
 @end table
 @end deftp
 
-
address@hidden Quassel Service
+
address@hidden IRC (Internet Relay Chat)
address@hidden://quassel-irc.org/,Quassel} is a distributed IRC client, meaning
+that one or more clients can attach to and detach from the central core.
+
address@hidden {Scheme Variable} quassel-service-type
+This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC
+backend daemon.  Its value is a @code{quassel-configuration} (see below).
address@hidden defvr
+
address@hidden {Data Type} quassel-configuration
+This is the configuration for Quassel, with the following fields:
+
address@hidden @asis
address@hidden @code{quassel} (default: @code{quassel})
+The Quassel package to use.
+
address@hidden @code{interface} (default: @code{"::,0.0.0.0"})
address@hidden @code{port} (default: @code{4242})
+Listen on the network interface(s) corresponding to the IPv4 or IPv6
+interfaces specified in the comma delimited @var{interface}, on @var{port}.
+
address@hidden @code{loglevel} (default: @code{"Info"})
+The level of logging desired.  Accepted values are Debug, Info, Warning and
+Error.
address@hidden table
address@hidden deftp
+
 @node Services de téléphonie
address@hidden Services de téléphonie
address@hidden Services de téléphonie
 
 @cindex Murmur (serveur VoIP)
 @cindex serveur VoIP
@@ -16770,14 +17131,14 @@ configuration :
 (service murmur-service-type
          (murmur-configuration
           (welcome-text
-            "Welcome to this Mumble server running on GuixSD!")
+            "Welcome to this Mumble server running on Guix!")
           (cert-required? #t) ;disallow text password logins
           (ssl-cert "/etc/letsencrypt/live/mumble.example.com/fullchain.pem")
           (ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem")))
 @end example
 
 Après avoir reconfiguré votre système, vous pouvez manuellement indiquer le
-mot de passe @code{SuperUser} de murmur avac la commande qui s'affiche
+mot de passe @code{SuperUser} de murmur avec la commande qui s'affiche
 pendant la phase d'activation.
 
 Il est recommandé d'enregistrer un compte utilisateur Mumble normal et de
@@ -16978,7 +17339,7 @@ indiquée votre serveur sera listé par son nom d'hôte.
 
 
 @node Services de surveillance
address@hidden Services de surveillance
address@hidden Services de surveillance
 
 @subsubheading Service Tailon
 
@@ -17068,105 +17429,424 @@ Configurez @code{debug?} à @code{#t} pour montrer 
les messages de débogage.
 à @code{#t} pour retourner à la ligne (par défaut) ou à @code{#f} pour ne
 pas retourner à la ligne au début.
 
address@hidden @code{http-auth} (par défaut : @code{#f})
-Type d'authentification HTTP à utiliser.  Indiquez @code{#f} pour désactiver
-l'authentification (par défaut).  Les valeur supportées sont @code{"digest"}
-et @code{"basic"}.
address@hidden @code{http-auth} (par défaut : @code{#f})
+Type d'authentification HTTP à utiliser.  Indiquez @code{#f} pour désactiver
+l'authentification (par défaut).  Les valeur supportées sont @code{"digest"}
+et @code{"basic"}.
+
address@hidden @code{users} (par défaut : @code{#f})
+Si l'authentification HTTP est activée (voir @code{http-auth}), l'accès sera
+restreint aux identifiants fournis ici.  Pour configurer des utilisateurs,
+utilisez une liste de paires, où le premier élément de la paire est le nom
+d'utilisateur et le second élément est le mot de passe.
+
address@hidden
+(tailon-configuration-file
+  (http-auth "basic")
+  (users     '(("user1" . "password1")
+               ("user2" . "password2"))))
address@hidden example
+
address@hidden table
address@hidden deftp
+
+
address@hidden Service Darkstat
address@hidden darkstat
+Darkstat est un « renifleur de paquets » qui capture le trafic réseau,
+calcul des statistiques sur l'utilisation et sert des rapport sur HTTP.
+
address@hidden {Variable Scheme} darkstat-service-type
+C'est le type de service pour le service
address@hidden://unix4lyfe.org/darkstat/, darkstat}, sa valeur doit être un
+enregistrement @code{darkstat-configuration} comme dans cet exemple :
+
address@hidden
+(service darkstat-service-type
+         (darkstat-configuration
+           (interface "eno1")))
address@hidden example
address@hidden defvar
+
address@hidden {Type de données} darkstat-configuration
+Type de données représentant la configuration de @command{darkstat}.
+
address@hidden @asis
address@hidden @code{package} (par défaut : @code{darkstat})
+Le paquet darkstat à utiliser.
+
address@hidden @code{interface}
+Capture le trafic sur l'interface réseau spécifiée.
+
address@hidden @code{port} (par défaut : @code{"667"})
+Lie l'interface web sur le port spécifié.
+
address@hidden @code{bind-address} (par défaut : @code{"127.0.0.1"})
+Lie l'interface web sur l'adresse spécifiée.
+
address@hidden @code{base} (par défaut : @code{"/"})
+Spécifie le chemin de base des URL.  C'est utile si on accède à
address@hidden à travers un proxy inverse.
+
address@hidden table
address@hidden deftp
+
address@hidden Service d'export de nœud de Prometheus
+
address@hidden prometheus-node-exporter
+L'exportateur de nœuds de Prometheus rend disponible les statistiques sur le
+matériel et le système d'exploitation fournies par le noyau Linux pour le
+système de surveillance Prometheus.  Ce service devrait être déployé sur
+tous les nœuds physiques et les machines virtuelles, où vous voulez
+surveiller ces statistiques.
+
address@hidden {Variable Scheme} prometheus-node-exporter-service-type
+C'est le type de service pour le service
address@hidden://github.com/prometheus/node_exporter/,
+prometheus-node-exporter}, sa valeur doit être un enregistrement
address@hidden comme dans cet exemple :
+
address@hidden
+(service prometheus-node-exporter-service-type
+         (prometheus-node-exporter-configuration
+           (web-listen-address ":9100")))
address@hidden example
address@hidden defvar
+
address@hidden {Type de données} prometheus-node-exporter-configuration
+Type de données représentant la configuration de @command{node_exporter}
+
address@hidden @asis
address@hidden @code{package} (par défaut : 
@code{go-github-com-prometheus-node-exporter})
+Le paquet prometheus-node-exporter à utiliser.
+
address@hidden @code{web-listen-address} (par défaut : @code{":9100"})
+Lie l'interface web sur l'adresse spécifiée.
+
address@hidden table
address@hidden deftp
+
address@hidden Zabbix server
address@hidden zabbix zabbix-server
+Zabbix provides monitoring metrics, among others network utilization, CPU
+load and disk space consumption:
+
address@hidden
address@hidden High performance, high capacity (able to monitor hundreds of 
thousands of devices).
address@hidden Auto-discovery of servers and network devices and interfaces.
address@hidden Low-level discovery, allows to automatically start monitoring 
new items, file systems or network interfaces among others.
address@hidden Distributed monitoring with centralized web administration.
address@hidden Native high performance agents.
address@hidden SLA, and ITIL KPI metrics on reporting.
address@hidden High-level (business) view of monitored resources through 
user-defined visual console screens and dashboards.
address@hidden Remote command execution through Zabbix proxies.
address@hidden itemize
+
address@hidden %start of fragment
+
+Available @code{zabbix-server-configuration} fields are:
+
address@hidden address@hidden parameter} package zabbix-server
+The zabbix-server package.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string user
+User who will run the Zabbix server.
+
+Defaults to @samp{"zabbix"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} group group
+Group who will run the Zabbix server.
+
+Defaults to @samp{"zabbix"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string db-host
+Database host name.
+
+Defaults to @samp{"127.0.0.1"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string db-name
+Database name.
+
+Defaults to @samp{"zabbix"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string db-user
+Database user.
+
+Defaults to @samp{"zabbix"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string db-password
+Database password.  Please, use @code{include-files} with
address@hidden inside a specified file instead.
+
+La valeur par défaut est @samp{""}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} number db-port
+Database port.
+
+Defaults to @samp{5432}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string log-type
+Specifies where log messages are written to:
+
address@hidden @bullet
address@hidden
address@hidden - syslog.
+
address@hidden
address@hidden - file specified with @code{log-file} parameter.
+
address@hidden
address@hidden - standard output.
+
address@hidden itemize
+
+La valeur par défaut est @samp{""}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string log-file
+Log file name for @code{log-type} @code{file} parameter.
+
+Defaults to @samp{"/var/log/zabbix/server.log"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string pid-file
+Name of PID file.
+
+Defaults to @samp{"/var/run/zabbix/zabbix_server.pid"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string ssl-ca-location
+The location of certificate authority (CA) files for SSL server certificate
+verification.
+
+Defaults to @samp{"/etc/ssl/certs/ca-certificates.crt"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string ssl-cert-location
+Location of SSL client certificates.
+
+Defaults to @samp{"/etc/ssl/certs"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string extra-options
+Extra options will be appended to Zabbix server configuration file.
+
+La valeur par défaut est @samp{""}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} include-files include-files
+You may include individual files or all files in a directory in the
+configuration file.
+
+La valeur par défaut est @samp{()}.
+
address@hidden deftypevr
+
address@hidden %end of fragment
+
address@hidden Zabbix agent
address@hidden zabbix zabbix-agent
+
+Zabbix agent gathers information for Zabbix server.
+
address@hidden %start of fragment
+
+Available @code{zabbix-agent-configuration} fields are:
+
address@hidden address@hidden parameter} package zabbix-agent
+The zabbix-agent package.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string user
+User who will run the Zabbix agent.
+
+Defaults to @samp{"zabbix"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} group group
+Group who will run the Zabbix agent.
+
+Defaults to @samp{"zabbix"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string hostname
+Unique, case sensitive hostname which is required for active checks and must
+match hostname as configured on the server.
+
+Defaults to @samp{"Zabbix server"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string log-type
+Specifies where log messages are written to:
+
address@hidden @bullet
address@hidden
address@hidden - syslog.
+
address@hidden
address@hidden - file specified with @code{log-file} parameter.
+
address@hidden
address@hidden - standard output.
+
address@hidden itemize
+
+La valeur par défaut est @samp{""}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string log-file
+Log file name for @code{log-type} @code{file} parameter.
+
+Defaults to @samp{"/var/log/zabbix/agent.log"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string pid-file
+Name of PID file.
+
+Defaults to @samp{"/var/run/zabbix/zabbix_agent.pid"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} list server
+List of IP addresses, optionally in CIDR notation, or hostnames of Zabbix
+servers and Zabbix proxies.  Incoming connections will be accepted only from
+the hosts listed here.
+
+Defaults to @samp{("127.0.0.1")}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} list server-active
+List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix
+proxies for active checks.  If port is not specified, default port is used.
+If this parameter is not specified, active checks are disabled.
+
+Defaults to @samp{("127.0.0.1")}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string extra-options
+Extra options will be appended to Zabbix server configuration file.
+
+La valeur par défaut est @samp{""}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} include-files include-files
+You may include individual files or all files in a directory in the
+configuration file.
+
+La valeur par défaut est @samp{()}.
+
address@hidden deftypevr
+
address@hidden %end of fragment
+
address@hidden Zabbix front-end
address@hidden zabbix zabbix-front-end
+
+This service provides a WEB interface to Zabbix server.
+
address@hidden %start of fragment
+
+Available @code{zabbix-front-end-configuration} fields are:
+
address@hidden address@hidden parameter} nginx-server-configuration-list nginx
+Configuration Nginx.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} string db-host
+Database host name.
+
+La valeur par défaut est @samp{"localhost"}.
+
address@hidden deftypevr
+
address@hidden address@hidden parameter} number db-port
+Database port.
 
address@hidden @code{users} (par défaut : @code{#f})
-Si l'authentification HTTP est activée (voir @code{http-auth}), l'accès sera
-restreint aux identifiants fournis ici.  Pour configurer des utilisateurs,
-utilisez une liste de paires, où le premier élément de la paire est le nom
-d'utilisateur et le second élément est le mot de passe.
+Defaults to @samp{5432}.
 
address@hidden
-(tailon-configuration-file
-  (http-auth "basic")
-  (users     '(("user1" . "password1")
-               ("user2" . "password2"))))
address@hidden example
address@hidden deftypevr
 
address@hidden table
address@hidden deftp
address@hidden address@hidden parameter} string db-name
+Database name.
 
+Defaults to @samp{"zabbix"}.
 
address@hidden Service Darkstat
address@hidden darkstat
-Darkstat est un « renifleur de paquets » qui capture le trafic réseau,
-calcul des statistiques sur l'utilisation et sert des rapport sur HTTP.
address@hidden deftypevr
 
address@hidden {Variable Scheme} darkstat-service-type
-C'est le type de service pour le service
address@hidden://unix4lyfe.org/darkstat/, darkstat}, sa valeur doit être un
-enregistrement @code{darkstat-configuration} comme dans cet exemple :
address@hidden address@hidden parameter} string db-user
+Database user.
 
address@hidden
-(service darkstat-service-type
-         (darkstat-configuration
-           (interface "eno1")))
address@hidden example
address@hidden defvar
+Defaults to @samp{"zabbix"}.
 
address@hidden {Type de données} darkstat-configuration
-Type de données représentant la configuration de @command{darkstat}.
address@hidden deftypevr
 
address@hidden @asis
address@hidden @code{package} (par défaut : @code{darkstat})
-Le paquet darkstat à utiliser.
address@hidden address@hidden parameter} string db-password
+Database password.  Please, use @code{db-secret-file} instead.
 
address@hidden @code{interface}
-Capture le trafic sur l'interface réseau spécifiée.
+La valeur par défaut est @samp{""}.
 
address@hidden @code{port} (par défaut : @code{"667"})
-Lie l'interface web sur le port spécifié.
address@hidden deftypevr
 
address@hidden @code{bind-address} (par défaut : @code{"127.0.0.1"})
-Lie l'interface web sur l'adresse spécifiée.
address@hidden address@hidden parameter} string db-secret-file
+Secret file which will be appended to @file{zabbix.conf.php} file.  This
+file contains credentials for use by Zabbix front-end.  You are expected to
+create it manually.
 
address@hidden @code{base} (par défaut : @code{"/"})
-Spécifie le chemin de base des URL.  C'est utile si on accède à
address@hidden à travers un proxy inverse.
+La valeur par défaut est @samp{""}.
 
address@hidden table
address@hidden deftp
address@hidden deftypevr
 
address@hidden Service d'export de nœud de Prometheus
address@hidden address@hidden parameter} string zabbix-host
+Zabbix server hostname.
 
address@hidden prometheus-node-exporter
-L'exportateur de nœuds de Prometheus rend disponible les statistiques sur le
-matériel et le système d'exploitation fournies par le noyau Linux pour le
-système de surveillance Prometheus.  Ce service devrait être déployé sur
-tous les nœuds physiques et les machines virtuelles, où vous voulez
-surveiller ces statistiques.
+La valeur par défaut est @samp{"localhost"}.
 
address@hidden {Variable Scheme} prometheus-node-exporter-service-type
-C'est le type de service pour le service
address@hidden://github.com/prometheus/node_exporter/,
-prometheus-node-exporter}, sa valeur doit être un enregistrement
address@hidden comme dans cet exemple :
address@hidden deftypevr
 
address@hidden
-(service prometheus-node-exporter-service-type
-         (prometheus-node-exporter-configuration
-           (web-listen-address ":9100")))
address@hidden example
address@hidden defvar
address@hidden address@hidden parameter} number zabbix-port
+Zabbix server port.
 
address@hidden {Type de données} prometheus-node-exporter-configuration
-Type de données représentant la configuration de @command{node_exporter}
+Defaults to @samp{10051}.
 
address@hidden @asis
address@hidden @code{package} (par défaut : 
@code{go-github-com-prometheus-node-exporter})
-Le paquet prometheus-node-exporter à utiliser.
address@hidden deftypevr
 
address@hidden @code{web-listen-address} (par défaut : @code{":9100"})
-Lie l'interface web sur l'adresse spécifiée.
 
address@hidden table
address@hidden deftp
address@hidden %end of fragment
 
 @node Services Kerberos
address@hidden Services Kerberos
address@hidden Services Kerberos
 @cindex Kerberos
 
 Le module @code{(gnu services kerberos)} fournit des services liés au
@@ -17291,7 +17971,7 @@ devraient être tentées.  Les comptes locaux avec une 
valeur plus petite
 
 
 @node Services web
address@hidden Services web
address@hidden Services web
 
 @cindex web
 @cindex www
@@ -17518,7 +18198,7 @@ configuration, donc il utilise les fichiers par défaut 
pour les messages
 d'erreur.  S'il échoue à charger sa configuration, c'est là où les messages
 seront enregistrés.  Après la lecture du fichier de configuration, le
 fichier de journal d'erreur par défaut change en fonction de celle-ci.  Dans
-notre cas, les messages d'erreur au démarage se trouvent dans
+notre cas, les messages d'erreur au démarrage se trouvent dans
 @file{/var/run/nginx/logs/error.log} et après la configuration dans
 @file{/var/log/nginx/error.log}.  Ce second emplacement peut être modifié
 avec l'option de configuration @var{log-directory}.
@@ -17699,7 +18379,7 @@ URI qui correspond à ce bloc.
 @anchor{nginx-location-configuration body}
 @item @code{body}
 Corps du block location, spécifié comme une liste de chaînes de caractères.
-Cela peut contenir de nombreuses directives de configuration.  PAr exemple,
+Cela peut contenir de nombreuses directives de configuration.  Par exemple,
 pour passer des requêtes à un groupe de serveurs amont définis dans un bloc
 @code{nginx-upstream-configuration}, la directive suivante peut être
 spécifiée dans le corps : @samp{(list "proxy_pass http://upstream-name;";)}.
@@ -17810,7 +18490,7 @@ Arguments supplémentaires à passer au processus 
@command{varnishd}.
 @cindex fastcgi
 @cindex fcgiwrap
 FastCGI est une interface entre le frontal et le moteur d'un service web.
-C'est un dispositif quelque peu désué ; les nouveaux services devraient
+C'est un dispositif quelque peu désuet ; les nouveaux services devraient
 généralement juste parler HTTP entre le frontal et le moteur.  Cependant il
 y a un certain nombre de services de moteurs comme PHP ou l'accès aux dépôts
 Git optimisé en HTTP qui utilisent FastCGI, donc nous le supportons dans
@@ -17828,8 +18508,8 @@ Un type de service pour le mandataire FastCGI 
@code{fcgiwrap}.
 @end defvr
 
 @deftp {Type de données} fcgiwrap-configuration
-Type de données représentant la configuration d'un service @code{fcgiwrap}.
-Ce type a les paramètres suivants :
+Data type representing the configuration of the @code{fcgiwrap} service.
+This type has the following parameters:
 @table @asis
 @item @code{package} (par défaut : @code{fcgiwrap})
 Le paquet fcgiwrap à utiliser.
@@ -17892,7 +18572,7 @@ Type de données pour la configuration du service 
php-fpm.
 @item @code{php} (par défaut : @code{php})
 Le paquet php à utiliser.
 @item @code{socket} (par défaut : @code{(string-append "/var/run/php" 
(version-major (package-version php)) "-fpm.sock")})
-L'adresse sur laquelle accepter les requêts FastCGI.  Les syntaxes valides
+L'adresse sur laquelle accepter les requêtes FastCGI.  Les syntaxes valides
 sont :
 @table @asis
 @item @code{"ip.add.re.ss:port"}
@@ -17930,6 +18610,8 @@ clients et affichés dans leur navigateur.  Cela est 
utile pour un
 développement php local, mais un risque pour la sécurité pour les sites
 publics, comme les messages d'erreur peuvent révéler des mots de passes et
 des données personnelles.
address@hidden @code{timezone} (default @code{#f})
+Specifies @code{php_admin_value[date.timezone]} parameter.
 @item @code{workers-logfile} (par défaut : @code{(string-append "/var/log/php" 
(version-major (package-version php)) "-fpm.www.log")})
 Ce fichier enregistrera la sortie @code{stderr} des processus de travail de
 php.  On peut indiquer @code{#f} pour désactiver la journalisation.
@@ -17999,7 +18681,7 @@ Une configuration simple de services pour php ressemble 
à ceci :
                            (root "/srv/http/")
                            (locations
                             (list (nginx-php-location)))
-                           (https-port #f)
+                           (listen '("80"))
                            (ssl-certificate #f)
                            (ssl-certificate-key #f)))
                  %base-services))
@@ -18011,7 +18693,7 @@ l'utilisation de php-fpm dans @code{Nginx}.  Il permet 
de générer des
 avatars de chats à partir d'une graine, par exemple le hash de l'adresse de
 courriel d'un utilisateur.
 
address@hidden {Procédure Scheme} cat-avatar-generator-serice @
address@hidden {Scheme Procedure} cat-avatar-generator-service @
        [#:cache-dir "/var/cache/cat-avatar-generator"] @
 [#:package cat-avatar-generator] @
 [#:configuration (nginx-server-configuration)]
@@ -18111,7 +18793,7 @@ certificats dans le champ @code{packages} de votre 
configuration.
 @end quotation
 
 @node Services de certificats
address@hidden Services de certificats
address@hidden Services de certificats
 
 @cindex Web
 @cindex HTTP, HTTPS
@@ -18202,13 +18884,14 @@ de problème et des notifications importantes sur le 
compte.
 Taille de la clef RSA.
 
 @item @code{default-location} (par défaut : @i{voir plus bas})
-Le @code{nginx-location-configuration} par défaut.  Come @code{certbot} doit
-pouvoir servir les défis et les réponses, il doit être capable de lancer un
-serveur web.  Cela se fait en étendant le service web @code{nginx} avec un
address@hidden qui écoute sur les @var{domains} sur le
-port 80 et qui a un @code{nginx-location-configuration} pour le chemin
address@hidden/.well-known/} utilisé par Let's Encrypt.  @xref{Services web} 
pour
-plus d'information sur les types de données de la configuration de nginx.
+Le @code{nginx-location-configuration} par défaut.  Comme @code{certbot}
+doit pouvoir servir les défis et les réponses, il doit être capable de
+lancer un serveur web.  Cela se fait en étendant le service web @code{nginx}
+avec un @code{nginx-server-configuration} qui écoute sur les @var{domains}
+sur le port 80 et qui a un @code{nginx-location-configuration} pour le
+chemin @code{/.well-known/} utilisé par Let's Encrypt.  @xref{Services web}
+pour plus d'information sur les types de données de la configuration de
+nginx.
 
 Les requêtes vers d'autres URL correspondra à @code{default-location}, qui,
 s'il est présent, sera ajout é à tous les @code{nginx-server-configuration}.
@@ -18254,7 +18937,7 @@ Pour chaque @code{certificate-configuration}, le 
certificat est sauvegardé
 dans @code{/etc/letsencrypt/live/@var{name}/fullchain.pem} et la clef est
 sauvegardée dans @code{/etc/letsencrypt/live/@var{name}/privkey.pem}.
 @node Services DNS
address@hidden Services DNS
address@hidden Services DNS
 @cindex DNS (domain name system)
 @cindex domain name system (DNS)
 
@@ -18657,7 +19340,7 @@ Une politique entre @code{'increment} et 
@code{'unixtime}.
 @end deftp
 
 @deftp {Type de données} knot-configuration
-Type de donées représentant la configuration de Knot.  Ce type a les
+Type de données représentant la configuration de Knot.  Ce type a les
 paramètres suivants :
 
 @table @asis
@@ -18749,7 +19432,7 @@ Lorsque la valeur est fausse, désactive le cache des 
réponses négatives.
 @subsubheading Service ddclient
 
 @cindex ddclient
-Le srevice ddclient décrit plus bas lance le démon ddclient, qui prend en
+Le service ddclient décrit plus bas lance le démon ddclient, qui prend en
 charge la mise à jour automatique des entrées DNS pour les fournisseurs de
 service comme @uref{https://dyn.com/dns/, Dyn}.
 
@@ -18857,7 +19540,7 @@ La valeur par défaut est @samp{()}.
 
 
 @node Services VPN
address@hidden Services VPN
address@hidden Services VPN
 @cindex VPN (réseau privé virtuel)
 @cindex réseau privé virtuel (VPN)
 
@@ -19167,7 +19850,7 @@ La valeur par défaut est @samp{#f}.
 Fait que des messages de ping sont envoyés régulièrement dans les deux sens
 pour que chaque côté sache quand l'autre n'est plus disponible.
 @code{keepalive} a besoin d'une paire.  Le premier élément est la période
-d'envoie du ping, et le second élément est le délai d'attente avant de
+d'envoi du ping, et le second élément est le délai d'attente avant de
 considéré que l'autre côté n'est plus disponible.
 
 @end deftypevr
@@ -19222,7 +19905,7 @@ La valeur par défaut est @samp{#f}.
 
 
 @node Système de fichiers en réseau
address@hidden Système de fichiers en réseau
address@hidden Système de fichiers en réseau
 @cindex NFS
 
 Le module @code{(gnu services nfs)} fournit les services suivants, qui sont
@@ -19338,7 +20021,7 @@ domaine pleinement qualifié de l'hôte.
 @end deftp
 
 @node Intégration continue
address@hidden Intégration continue
address@hidden Intégration continue
 
 @cindex intégration continue
 @uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} est
@@ -19458,7 +20141,7 @@ Le paquet Cuirass à utiliser.
 @end deftp
 
 @node Services de gestion de l'énergie
address@hidden Services de gestion de l'énergie
address@hidden Services de gestion de l'énergie
 
 @cindex tlp
 @cindex gestion de l'énergie avec TLP
@@ -20003,7 +20686,7 @@ Objet du paquet de thermald.
 @end deftp
 
 @node Services audio
address@hidden Services audio
address@hidden Services audio
 
 Le module @code{(gnu services audio)} fournit un service qui lance MPD (le
 démon de lecture de musique).
@@ -20054,7 +20737,7 @@ chemin absolu peut être spécifié ici.
 @end deftp
 
 @node Services de virtualisation
address@hidden services de virtualisation
address@hidden services de virtualisation
 
 Le module @code{(gnu services virtualization)} fournit des services pour les
 démons libvirt et virtlog, ainsi que d'autres services liés à la
@@ -20377,61 +21060,62 @@ La valeur par défaut est @samp{20}.
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
max-client-requests
-Limit on concurrent requests from a single client connection.  To avoid one
-client monopolizing the server this should be a small fraction of the global
-max_requests and max_workers parameter.
+Limite de requêtes concurrentes depuis une connexion cliente unique. Pour
+éviter qu'un client ne monopolise le serveur, vous devriez indiquer une
+petite partie des paramètres global max_requests et max_workers.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
admin-min-workers
-Same as @code{min-workers} but for the admin interface.
+Comme @code{min-workers} mais pour l'interface d'administration.
 
 La valeur par défaut est @samp{1}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
admin-max-workers
-Same as @code{max-workers} but for the admin interface.
+Comme @code{max-workers} mais pour l'interface d'administration.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
admin-max-clients
-Same as @code{max-clients} but for the admin interface.
+Comme @code{max-clients} mais pour l'interface d'administration.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
admin-max-queued-clients
-Same as @code{max-queued-clients} but for the admin interface.
+Comme @code{max-queued-clients} mais pour l'interface d'administration.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
admin-max-client-requests
-Same as @code{max-client-requests} but for the admin interface.
+Comme @code{max-client-requests} mais pour l'interface d'administration.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer log-level
-Logging level.  4 errors, 3 warnings, 2 information, 1 debug.
+Niveau de journalisation.  4 : erreurs, 3 : avertissements, 2 : information,
+1 : débogage.
 
 La valeur par défaut est @samp{3}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} string log-filters
-Logging filters.
+Filtres de journalisation.
 
-A filter allows to select a different logging level for a given category of
-logs The format for a filter is one of:
+Un filtre qui permet de sélectionner plusieurs niveaux de journalisation
+pour une catégorie donnée.  Le format d'un filtre est :
 
 @itemize @bullet
 @item
@@ -20442,92 +21126,95 @@ x:+nom
 
 @end itemize
 
-where @code{name} is a string which is matched against the category given in
-the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g.,
-"remote", "qemu", or "util.json" (the name in the filter can be a substring
-of the full category name, in order to match multiple similar categories),
-the optional "+" prefix tells libvirt to log stack trace for each message
-matching name, and @code{x} is the minimal level where matching messages
-should be logged:
+où @code{nom} est une chaîne de caractères qui correspond à la catégorie
+donnée dans @code{VIR_LOG_INIT()} au début de chaque fichier source de
+libvirt, p.@: ex.@: « remote », « qemu » ou « util.json » (le nom dans le
+filtre peut être une sous-chaîne du nom complet de la catégorie, pour
+pouvoir correspondre à plusieurs catégories similaires), le préfixe
+facultatif « + » dit à libvirt d'enregistrer les traces de piles pour chaque
+message qui correspond au nom, et @code{x} est le niveau minimal des
+messages qui devraient être enregistrés :
 
 @itemize @bullet
 @item
-1: DEBUG
+1 : DEBUG
 
 @item
-2: INFO
+2 : INFO
 
 @item
-3: WARNING
+3 : WARNING
 
 @item
-4: ERROR
+4 : ERROR
 
 @end itemize
 
-Multiple filters can be defined in a single filters statement, they just
-need to be separated by spaces.
+On peut définir plusieurs filtres dans une seule déclaration de filtres, ils
+doivent juste être séparés par des espaces.
 
 La valeur par défaut est @samp{"3:remote 4:event"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} string log-outputs
-Logging outputs.
+Sorties de débogage.
 
-An output is one of the places to save logging information The format for an
-output can be:
+Une sortie est l'un des endroits où les journaux sont enregistrés.  Le
+format d'une sortie peut être :
 
 @table @code
 @item x:stderr
-output goes to stderr
+la sortie va vers stderr
 
address@hidden x:syslog:name
-use syslog for the output and use the given name as the ident
address@hidden x:syslog:nom
+utilise syslog comme sortie et utilise le nom donné comme identifiant
 
address@hidden x:file:file_path
-output to a file, with the given filepath
address@hidden x:file:chemin_fichier
+la sortie va vers un fichier, avec le chemin donné
 
 @item x:journald
-output to journald logging system
+la sortie va vers le système de journalisation journald
 
 @end table
 
-In all case the x prefix is the minimal level, acting as a filter
+Dans tous les cas, le préfixe x est le niveau minimal, qui agit comme un
+filtre
 
 @itemize @bullet
 @item
-1: DEBUG
+1 : DEBUG
 
 @item
-2: INFO
+2 : INFO
 
 @item
-3: WARNING
+3 : WARNING
 
 @item
-4: ERROR
+4 : ERROR
 
 @end itemize
 
-Multiple outputs can be defined, they just need to be separated by spaces.
+Plusieurs sorties peuvent être définies, elles doivent juste être séparées
+par des espaces.
 
 La valeur par défaut est @samp{"3:stderr"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer audit-level
-Allows usage of the auditing subsystem to be altered
+Permet de modifier l'utilisation du sous-système d'audit.
 
 @itemize @bullet
 @item
-0: disable all auditing
+0 : désactive tout audit
 
 @item
-1: enable auditing, only if enabled on host
+1 : active l'audit, seulement s'il est activé sur l'hôte
 
 @item
-2: enable auditing, and exit if disabled on host.
+2 : active l'audit, et quitte s'il est désactivé sur l'hôte.
 
 @end itemize
 
@@ -20536,83 +21223,84 @@ La valeur par défaut est @samp{1}.
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} boolean audit-logging
-Send audit messages via libvirt logging infrastructure.
+Envoie les messages d'audit via l'infrastructure de journalisation de
+libvirt
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} optional-string 
host-uuid
-Host UUID.  UUID must not have all digits be the same.
+UUID de l'hôte.  L'UUID ne doit pas avoir tous ses nombres identiques.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} string host-uuid-source
-Source to read host UUID.
+Source où lire l'UUID de l'hôte.
 
 @itemize @bullet
 @item
address@hidden: fetch the UUID from @code{dmidecode -s system-uuid}
address@hidden : récupère l'UUID à partir de @code{dmidecode -s system-uuid}
 
 @item
address@hidden: fetch the UUID from @code{/etc/machine-id}
address@hidden : récupère l'UUID à partir de @code{/etc/machine-id}
 
 @end itemize
 
-If @code{dmidecode} does not provide a valid UUID a temporary UUID will be
-generated.
+Si @code{dmidecode} ne fournit pas un UUID valide, un UUID temporaire sera
+généré.
 
 La valeur par défaut est @samp{"smbios"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
keepalive-interval
-A keepalive message is sent to a client after @code{keepalive_interval}
-seconds of inactivity to check if the client is still responding.  If set to
--1, libvirtd will never send keepalive requests; however clients can still
-send them and the daemon will send responses.
+Un message keepalive est envoyé au client après @code{keepalive_interval}
+secondes d'inactivité pour vérifier si le client répond toujours.  Si la
+valeur est -1, libvirtd n'enverra jamais de requête keepalive ; cependant
+les clients peuvent toujours en envoyer et le démon y répondra.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer keepalive-count
-Maximum number of keepalive messages that are allowed to be sent to the
-client without getting any response before the connection is considered
-broken.
+Nombre maximum de messages keepalive qui peuvent être envoyés au client sans
+réponse avant que la connexion ne soit considérée comme cassée.
 
-In other words, the connection is automatically closed approximately after
address@hidden * (keepalive_count + 1)} seconds since the last
-message received from the client.  When @code{keepalive-count} is set to 0,
-connections will be automatically closed after @code{keepalive-interval}
-seconds of inactivity without sending any keepalive messages.
+En d'autres termes, la connexion est approximativement fermée après
address@hidden * (keepalive_count + 1)} secondes après le dernier
+message reçu de la part du client.  Lorsque @code{keepalive-count} est à 0,
+les connexions seront automatiquement fermées après
address@hidden secondes d'inactivité sans envoyer le moindre
+message keepalive.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
admin-keepalive-interval
-Same as above but for admin interface.
+Comme précédemment, mais pour l'interface d'administration.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer 
admin-keepalive-count
-Same as above but for admin interface.
+Comme précédemment, mais pour l'interface d'administration.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{libvirt-configuration}} integer ovs-timeout
-Timeout for Open vSwitch calls.
+Délai d'attente pour les appels Open vSwitch.
 
-The @code{ovs-vsctl} utility is used for the configuration and its timeout
-option is set by default to 5 seconds to avoid potential infinite waits
-blocking libvirt.
+L'utilitaire @code{ovs-vsctl} est utilisé pour la configuration et son
+option de délai d'attente est à 5 secondes pour éviter qu'une attente
+infinie ne bloque libvirt.
 
 La valeur par défaut est @samp{5}.
 
@@ -20621,18 +21309,18 @@ La valeur par défaut est @samp{5}.
 @c %end of autogenerated docs
 
 @subsubheading démon Virrlog
-The virtlogd service is a server side daemon component of libvirt that is
-used to manage logs from virtual machine consoles.
+Le service virtlogd est un démon côté serveur qui fait partie de libvirt,
+utilisé pour gérer les journaux des consoles des machines virtuelles.
 
-This daemon is not used directly by libvirt client applications, rather it
-is called on their behalf by @code{libvirtd}. By maintaining the logs in a
-standalone daemon, the main @code{libvirtd} daemon can be restarted without
-risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec()
-itself upon receiving @code{SIGUSR1}, to allow live upgrades without
-downtime.
+Ce démon n'est pas utilisé directement par les clients libvirt, mais il est
+appelé pour eux par @code{libvirtd}.  En maintenant les journaux dans un
+démon séparé, le démon @code{libvirtd} principal peut être redémarré sans
+risque de perte de journaux.  Le démon @code{virtlogd} a la possibilité de
+ré-exécuter exec() sur lui-même quand il reçoit @code{SIGUSR1}, pour
+permettre des mises à jour à chaux sans temps mort.
 
 @deffn {Variable Scheme} virtlog-service-type
-This is the type of the virtlog daemon.  Its value must be a
+Le type de service pour le démon virtlogd.  Sa valeur doit être un
 @code{virtlog-configuration}.
 
 @example
@@ -20643,17 +21331,18 @@ This is the type of the virtlog daemon.  Its value 
must be a
 @end deffn
 
 @deftypevr {paramètre de @code{virtlog-configuration}} integer log-level
-Logging level.  4 errors, 3 warnings, 2 information, 1 debug.
+Niveau de journalisation.  4 : erreurs, 3 : avertissements, 2 : information,
+1 : débogage.
 
 La valeur par défaut est @samp{3}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{virtlog-configuration}} string log-filters
-Logging filters.
+Filtres de journalisation.
 
-A filter allows to select a different logging level for a given category of
-logs The format for a filter is one of:
+Un filtre qui permet de sélectionner plusieurs niveaux de journalisation
+pour une catégorie donnée.  Le format d'un filtre est :
 
 @itemize @bullet
 @item
@@ -20664,75 +21353,78 @@ x:+nom
 
 @end itemize
 
-where @code{name} is a string which is matched against the category given in
-the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g.,
-"remote", "qemu", or "util.json" (the name in the filter can be a substring
-of the full category name, in order to match multiple similar categories),
-the optional "+" prefix tells libvirt to log stack trace for each message
-matching name, and @code{x} is the minimal level where matching messages
-should be logged:
+où @code{nom} est une chaîne de caractères qui correspond à la catégorie
+donnée dans @code{VIR_LOG_INIT()} au début de chaque fichier source de
+libvirt, p.@: ex.@: « remote », « qemu » ou « util.json » (le nom dans le
+filtre peut être une sous-chaîne du nom complet de la catégorie, pour
+pouvoir correspondre à plusieurs catégories similaires), le préfixe
+facultatif « + » dit à libvirt d'enregistrer les traces de piles pour chaque
+message qui correspond au nom, et @code{x} est le niveau minimal des
+messages qui devraient être enregistrés :
 
 @itemize @bullet
 @item
-1: DEBUG
+1 : DEBUG
 
 @item
-2: INFO
+2 : INFO
 
 @item
-3: WARNING
+3 : WARNING
 
 @item
-4: ERROR
+4 : ERROR
 
 @end itemize
 
-Multiple filters can be defined in a single filters statement, they just
-need to be separated by spaces.
+On peut définir plusieurs filtres dans une seule déclaration de filtres, ils
+doivent juste être séparés par des espaces.
 
 La valeur par défaut est @samp{"3:remote 4:event"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{virtlog-configuration}} string log-outputs
-Logging outputs.
+Sorties de débogage.
 
-An output is one of the places to save logging information The format for an
-output can be:
+Une sortie est l'un des endroits où les journaux sont enregistrés.  Le
+format d'une sortie peut être :
 
 @table @code
 @item x:stderr
-output goes to stderr
+la sortie va vers stderr
 
address@hidden x:syslog:name
-use syslog for the output and use the given name as the ident
address@hidden x:syslog:nom
+utilise syslog comme sortie et utilise le nom donné comme identifiant
 
address@hidden x:file:file_path
-output to a file, with the given filepath
address@hidden x:file:chemin_fichier
+la sortie va vers un fichier, avec le chemin donné
 
 @item x:journald
-output to journald logging system
+la sortie va vers le système de journalisation journald
 
 @end table
 
-In all case the x prefix is the minimal level, acting as a filter
+Dans tous les cas, le préfixe x est le niveau minimal, qui agit comme un
+filtre
 
 @itemize @bullet
 @item
-1: DEBUG
+1 : DEBUG
 
 @item
-2: INFO
+2 : INFO
 
 @item
-3: WARNING
+3 : WARNING
 
 @item
-4: ERROR
+4 : ERROR
 
 @end itemize
 
-Multiple outputs can be defined, they just need to be separated by spaces.
+Plusieurs sorties peuvent être définies, elles doivent juste être séparées
+par des espaces.
 
 La valeur par défaut est @samp{"3:stderr"}.
 
@@ -20746,14 +21438,14 @@ La valeur par défaut est @samp{1024}.
 @end deftypevr
 
 @deftypevr {paramètre de @code{virtlog-configuration}} integer max-size
-Maximum file size before rolling over.
+Taille de fichier maximale avant roulement.
 
 La valeur par défaut est @samp{2MB}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{virtlog-configuration}} integer max-backups
-Maximum number of backup files to keep.
+Nombre maximal de fichiers de sauvegardes à garder.
 
 La valeur par défaut est @samp{3}.
 
@@ -20763,16 +21455,17 @@ La valeur par défaut est @samp{3}.
 
 @cindex émulation
 @cindex @code{binfmt_misc}
address@hidden provides support for transparent emulation
-of program binaries built for different architectures---e.g., it allows you
-to transparently execute an ARMv7 program on an x86_64 machine.  It achieves
-this by combining the @uref{https://www.qemu.org, QEMU} emulator and the
address@hidden feature of the kernel Linux.
address@hidden fournit le support de l'émulation
+transparente de binaires construits pour des architectures différentes —
+p.@: ex.@: il permet d'exécuter de manière transparente des programmes ARMv
+sur une machine x86_64.  Cela se fait en combinant l'émulateur
address@hidden://www.qemu.org, QEMU} et la fonctionnalité @code{binfmt_misc} du
+noyau Linux.
 
 @defvr {Variable Scheme} qemu-binfmt-service-type
-This is the type of the QEMU/binfmt service for transparent emulation.  Its
-value must be a @code{qemu-binfmt-configuration} object, which specifies the
-QEMU package to use as well as the architecture we want to emulated:
+Le type du service QEMU/binfmt pour l'émulation transparente.  Sa valeur
+doit être un objet @code{qemu-binfmt-configuration}, qui spécifie le paquet
+QEMU à utiliser ainsi que l'architecture que vous voulez émuler :
 
 @example
 (service qemu-binfmt-service-type
@@ -20780,29 +21473,30 @@ QEMU package to use as well as the architecture we 
want to emulated:
            (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc"))))
 @end example
 
-In this example, we enable transparent emulation for the ARM and aarch64
-platforms.  Running @code{herd stop qemu-binfmt} turns it off, and running
address@hidden start qemu-binfmt} turns it back on (@pxref{Invoking herd, the
+Dans cet exemple, on active l'émulation transparente pour les plateformes
+ARM et aarch64.  Lancer @code{herd stop qemu-binfmt} l'éteint et lancer
address@hidden start qemu-binfmt} le rallume (@pxref{Invoking herd, the
 @command{herd} command,, shepherd, The GNU Shepherd Manual}).
 @end defvr
 
 @deftp {Type de données} qemu-binfmt-configuration
-This is the configuration for the @code{qemu-binfmt} service.
+La configuration du service @code{qemu-binfmt}.
 
 @table @asis
 @item @code{platforms} (par défaut : @code{'()})
-The list of emulated QEMU platforms.  Each item must be a @dfn{platform
-object} as returned by @code{lookup-qemu-platforms} (see below).
+La liste des plates-formes émulées par QEMU.  Chaque élément doit être un
+objet @dfn{platform object} tel que renvoyé par @code{lookup-qemu-platforms}
+(voir plus bas).
 
 @item @code{guix-support?} (par défaut : @code{#f})
-When it is true, QEMU and all its dependencies are added to the build
-environment of @command{guix-daemon} (@pxref{Invoquer guix-daemon,
address@hidden option}).  This allows the @code{binfmt_misc}
-handlers to be used within the build environment, which in turn means that
-you can transparently build programs for another architecture.
+Lorsque la valeur est vraie, QEMU et toutes ses dépendances sont ajoutés à
+l'environnement de construction de @command{guix-daemon} (@pxref{Invoquer 
guix-daemon, @code{--chroot-directory} option}).  Cela permet d'utiliser les
+gestionnaires @code{binfmt_misc} dans l'environnement de cosntruction, ce
+qui signifie que vous pouvez construire des programmes pour d'autres
+architectures de manière transparente.
 
-For example, let's suppose you're on an x86_64 machine and you have this
-service:
+Par exemple, supposons que vous soyez sur une machine x86_64 et que vous
+avez ce services :
 
 @example
 (service qemu-binfmt-service-type
@@ -20818,9 +21512,10 @@ guix build -s armhf-linux inkscape
 @end example
 
 @noindent
-and it will build Inkscape for ARMv7 @emph{as if it were a native build},
-transparently using QEMU to emulate the ARMv7 CPU.  Pretty handy if you'd
-like to test a package build for an architecture you don't have access to!
+et cela construira Inkscape pour ARMv7 @emph{comme s'il s'agissait d'une
+construction native}, de manière transparente avec QEMU pour émuler un CPU
+ARMv7.  Plutôt pratique si vous voulez tester un paquet construit pour une
+architecture à laquelle vous n'avez pas accès !
 
 @item @code{qemu} (par défaut : @code{qemu})
 Le paquet QEMU à utiliser.
@@ -20828,131 +21523,135 @@ Le paquet QEMU à utiliser.
 @end deftp
 
 @deffn {Procédure Scheme} lookup-qemu-platforms @address@hidden
-Return the list of QEMU platform objects corresponding to
address@hidden@dots{}.  @var{platforms} must be a list of strings
-corresponding to platform names, such as @code{"arm"}, @code{"sparc"},
address@hidden"mips64el"}, and so on.
+Renvoie la liste des objets de plates-formes QEMU correspondant à
address@hidden@dots{}.  @var{platforms} doit être une liste de chaînes de
+caractères correspondant aux noms de plates-formes, comme @code{"arm"},
address@hidden"sparc"}, @code{"mips64el"} etc.
 @end deffn
 
 @deffn {Procédure Scheme} qemu-platform? @var{obj}
-Return true if @var{obj} is a platform object.
+Renvoie vrai s address@hidden est un objet de plate-forme.
 @end deffn
 
 @deffn {Procédure Scheme} qemu-platform-name @var{platform}
-Return the name of @var{platform}---a string such as @code{"arm"}.
+Renvoie le nom de @var{platform} — une chaîne comme @code{"arm"}.
 @end deffn
 
 @node Services de contrôle de version
address@hidden Services de contrôle de version
address@hidden Services de contrôle de version
 
-The @code{(gnu services version-control)} module provides a service to allow
-remote access to local Git repositories.  There are three options: the
address@hidden, which provides access to repositories via the
address@hidden://} unsecured TCP-based protocol, extending the @code{nginx} web
-server to proxy some requests to @code{git-http-backend}, or providing a web
-interface with @code{cgit-service-type}.
+Le module @code{(gnu services version-control)} fournit un service pour
+permettre l'accès à distance à des dépôts Git locaux.  Il y a trois options
+: en utilisant @code{git-daemon-service} qui fournit un accès aux dépôts via
+le protocole non sécurisé @code{git://} basé sur TCP, en étendant le serveur
+web @code{nginx} pour relayer les requêtes vers @code{git-http-backend} ou
+en fournissant une interface web avec @code{cgit-service-type}.
 
 @deffn {Procédure Scheme} git-daemon-service [#:config 
(git-daemon-configuration)]
 
-Return a service that runs @command{git daemon}, a simple TCP server to
-expose repositories over the Git protocol for anonymous access.
+Renvoie un service qui lance @command{git daemon}, un serveur TCP simple
+pour exposer des dépôts sur le protocole Git pour des accès anonymes.
 
-The optional @var{config} argument should be a
address@hidden<git-daemon-configuration>} object, by default it allows read-only
-access to address@hidden creating the magic file
-"git-daemon-export-ok" in the repository directory.} repositories under
address@hidden/srv/git}.
+L'argument facultatif @var{config} devrait être un objet
address@hidden<git-daemon-configuration>}, par défaut il permet l'accès en
+lecture-seule aux dépôts address@hidden créant le fichier magique «
+git-daemon-export-ok » dans le répertoire du dépôt.} dans @file{/srv/git}.
 
 @end deffn
 
 @deftp {Type de données} git-daemon-configuration
-Data type representing the configuration for @code{git-daemon-service}.
+Type de données représentnt la configuration de @code{git-daemon-service}.
 
 @table @asis
 @item @code{package} (par défaut : @var{git})
-Package object of the Git distributed version control system.
+Objet de paquet du système de contrôle de version distribué Git.
 
 @item @code{export-all?} (par défaut : @var{#f})
-Whether to allow access for all Git repositories, even if they do not have
-the @file{git-daemon-export-ok} file.
+Indique s'il faut permettre l'accès à tous les dépôts Git, même s'ils n'ont
+pas le fichier @file{git-daemon-export-ok}.
 
 @item @code{base-path} (par défaut : @file{/srv/git})
-Whether to remap all the path requests as relative to the given path.  If
-you run git daemon with @var{(base-path "/srv/git")} on example.com, then if
-you later try to pull @code{git://example.com/hello.git}, git daemon will
-interpret the path as @code{/srv/git/hello.git}.
+Indique s'il faut traduire toutes les requêtes de chemins relativement au
+chemin actuel.  Si vous lancez le démon git avec @var{(base-path
+"/srv/git")} sur example.com, si vous essayez ensuite de récupérer
address@hidden://example.com/hello.git}, le démon git interprétera ce chemin
+comme étant @code{/srv/git/hello.git}.
 
 @item @code{user-path} (par défaut : @var{#f})
-Whether to allow @code{~user} notation to be used in requests.  When
-specified with empty string, requests to @code{git://host/~alice/foo} is
-taken as a request to access @code{foo} repository in the home directory of
-user @code{alice}.  If @var{(user-path "path")} is specified, the same
-request is taken as a request to access @code{path/foo} repository in the
-home directory of user @code{alice}.
+Indique s'il faut permettre la notation @code{~user} dans les requêtes.
+Lorsque spécifié avec une chaîne vide, les requêtes à
address@hidden://host/~alice/foo} sont des requêtes d'accès au dépôt @code{foo}
+dans le répertoire personnel de l'utilisateur @code{alice}.  Si
address@hidden(user-path "chemin")} est spécifié, la même requête est 
interprétée
+comme accédant au répertoire @code{chemin/foo} dans le répertoire personnel
+de l'utilisateur @code{alice}.
 
 @item @code{listen} (par défaut : @var{'()})
-Whether to listen on specific IP addresses or hostnames, defaults to all.
+Indique s'il faut écouter sur des adresses IP ou des noms d'hôtes
+particuliers, par défaut tous.
 
 @item @code{port} (par défaut : @var{#f})
-Whether to listen on an alternative port, which defaults to 9418.
+Indique s'il faut écouter sur un port particulier, par défaut le 9418.
 
 @item @code{whitelist} (par défaut : @var{'()})
-If not empty, only allow access to this list of directories.
+Si la liste n'est pas vide, n'autoriser l'accès qu'aux dossiers spécifiés.
 
 @item @code{extra-options} (par défaut : @var{'()})
-Extra options will be passed to @code{git daemon}, please run @command{man
-git-daemon} for more information.
+Options supplémentaires qui seront passées à @code{git daemon}, lancez
address@hidden git-daemon} pour plus d'informations.
 
 @end table
 @end deftp
 
-The @code{git://} protocol lacks authentication.  When you pull from a
-repository fetched via @code{git://}, you don't know that the data you
-receive was modified is really coming from the specified host, and you have
-your connection is subject to eavesdropping.  It's better to use an
-authenticated and encrypted transport, such as @code{https}.  Although Git
-allows you to serve repositories using unsophisticated file-based web
-servers, there is a faster protocol implemented by the
address@hidden program.  This program is the back-end of a proper
-Git web service.  It is designed to sit behind a FastCGI proxy.  
@xref{Services web}, for more on running the necessary @code{fcgiwrap} daemon.
-
-Guix has a separate configuration data type for serving Git repositories
-over HTTP.
+Le protocole @code{git://} ne permet pas l'authentification.  Lorsque vous
+récupérez un dépôt via @code{git://}, vous ne pouvez pas savoir si les
+données que vous recevez ont été modifiées ou si elles viennent bien de
+l'hôte spécifié, et votre connexion pourrait être espionnée.  Il est
+préférable d'utiliser un protocole de transport authentifié et chiffré,
+comme @code{https}.  Bien que Git vous permette de servir des dépôts avec un
+serveur web peu sophistiqué basé sur les fichiers, il y a un protocole plus
+rapide implémenté par le programme @code{git-http-backend}.  Ce programme
+est le moteur des services web Git corrects.  Il est conçu pour se trouver
+derrière un mandataire FastCGI.  @xref{Services web} pour plus
+d'informations sur la manière de lancer le démon @code{fcgiwrap} nécessaire.
+
+Guix a un type de données de configuration séparé pour servir des dépôts Git
+par HTTP.
 
 @deftp {Type de données} git-http-configuration
-Data type representing the configuration for @code{git-http-service}.
+Type de données représentant la configuration de @code{git-http-service}.
 
 @table @asis
 @item @code{package} (par défaut : @var{git})
-Package object of the Git distributed version control system.
+Objet de paquet du système de contrôle de version distribué Git.
 
 @item @code{git-root} (par défaut : @file{/srv/git})
-Directory containing the Git repositories to expose to the world.
+Répertoire contenant les dépôts Git à exposer au monde.
 
 @item @code{export-all?} (par défaut : @var{#f})
-Whether to expose access for all Git repositories in @var{git-root}, even if
-they do not have the @file{git-daemon-export-ok} file.
+Indique s'il faut exposer l'accès de tous les dépôts Git dans
address@hidden, même s'ils n'ont pas le fichier @file{git-daemon-export-ok}.
 
 @item @code{uri-path} (par défaut : @file{/git/})
-Path prefix for Git access.  With the default @code{/git/} prefix, this will
-map @code{http://@var{server}/git/@var{repo}.git} to
address@hidden/srv/git/@var{repo}.git}.  Requests whose URI paths do not begin 
with
-this prefix are not passed on to this Git instance.
+Préfixe du chemin pour l'accès Git.  Avec le préfixe @code{/git/} par
+défaut, cela traduira @code{http://@var{server}/git/@var{repo}.git} en
address@hidden/sr/git/@var{repo}.git}.  Les requêtes dont les chemins d'URI ne
+commencent pas par ce préfixe ne seront pas passées à cette instance de Git.
 
 @item @code{fcgiwrap-socket} (par défaut : @code{127.0.0.1:9000})
-The socket on which the @code{fcgiwrap} daemon is listening.  @xref{Services 
web}.
+Le socket sur lequel le démon @code{fcgiwrap} écoute.  @xref{Services web}.
 @end table
 @end deftp
 
-There is no @code{git-http-service-type}, currently; instead you can create
-an @code{nginx-location-configuration} from a @code{git-http-configuration}
-and then add that location to a web server.
+Il n'y a pas de @code{git-http-service-type}, actuellement ; à la place vous
+pouvez créer un @code{nginx-location-configuration} à partir d'un
address@hidden puis ajouter cela au serveur web.
 
 @deffn {Procédure Scheme} git-http-nginx-location-configuration @
-       [config=(git-http-configuration)] Compute an
address@hidden that corresponds to the given Git http
-configuration.  An example nginx service definition to serve the default
address@hidden/srv/git} over HTTPS might be:
+       [config=(git-http-configuration)]
+Calcule un @code{nginx-location-configuration} qui correspond à la
+configuration http Git donnée.  Voici un exemple de définition de service
+nginx qui sert le répertoire @file{/srv/git} par défaut en HTTPS :
 
 @example
 (service nginx-service-type
@@ -20972,11 +21671,11 @@ configuration.  An example nginx service definition 
to serve the default
                 (git-http-configuration (uri-path "/"))))))))))
 @end example
 
-This example assumes that you are using Let's Encrypt to get your TLS
-certificate.  @xref{Services de certificats}.  The default @code{certbot}
-service will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS.
-You will also need to add an @code{fcgiwrap} proxy to your system services.
address@hidden web}.
+Ce exemple suppose que vous utilisez Let's Encrypt pour récupérer votre
+certificat TLS.  @xref{Services de certificats}.  Le service @code{certbot} par
+défaut redirigera tout le trafic HTTP de @code{git.my-host.org} en HTTPS.
+Vous devrez aussi ajouter un mandataire @code{fcgiwrap} à vos services
+systèmes.  @xref{Services web}.
 @end deffn
 
 @subsubheading Service Cgit
@@ -20986,15 +21685,15 @@ You will also need to add an @code{fcgiwrap} proxy to 
your system services.
 @uref{https://git.zx2c4.com/cgit/, Cgit} est une interface web pour des
 dépôts Git écrite en C.
 
-The following example will configure the service with default values.  By
-default, Cgit can be accessed on port 80 (@code{http://localhost:80}).
+L'exemple suivant configurera le service avec les valeurs par défaut.  Par
+défaut, on peut accéder à Cgit sur le port  (@code{http://localhost:80}).
 
 @example
 (service cgit-service-type)
 @end example
 
-The @code{file-object} type designates either a file-like object
-(@pxref{G-Expressions, file-like objects}) or a string.
+Le type @code{file-object} désigne soit un objet simili-fichier
+(@pxref{G-Expressions, file-like objects}), soit une chaîne.
 
 @c %start of fragment
 
@@ -21011,276 +21710,278 @@ Configuration Nginx.
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object about-filter
-Specifies a command which will be invoked to format the content of about
-pages (both top-level and for each repository).
+Spécifie une commande qui doit être invoquée pour formater le contenu des
+pages « à propos » (au plus haut niveau et pour chaque dépôt).
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string agefile
-Specifies a path, relative to each repository path, which can be used to
-specify the date and time of the youngest commit in the repository.
+Spécifie un chemin, relativement à chaque dépôt, qui peut être utilisé pour
+spécifier la date et l'heure du plus récent commit du dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object auth-filter
-Specifies a command that will be invoked for authenticating repository
-access.
+Spécifie une commande qui sera invoquée pour authentifier l'accès au dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string branch-sort
-Flag which, when set to @samp{age}, enables date ordering in the branch ref
-list, and when set @samp{name} enables ordering by branch name.
+Drapeau qui, lorsqu'il vaut @samp{age}, active le trie par date dans la
+liste des branches, et le trie par nom lorsqu'il vaut @samp{name}.
 
 La valeur par défaut est @samp{"name"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string cache-root
-Path used to store the cgit cache entries.
+Chemin utilisé pour stocker les entrées de cache de cgit.
 
 La valeur par défaut est @samp{"/var/cache/cgit"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-static-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of repository pages accessed with a fixed SHA1.
+Nombre qui spécifie le temps de vie, en minute, des versions en cache des
+pages du dépôt accédées par leur SHA-1.
 
 La valeur par défaut est @samp{-1}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-dynamic-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of repository pages accessed without a fixed SHA1.
+Nombre qui spécifie le temps de vie, en minutes, des version en cache des
+pages du dépôt accédées sans leur SHA1.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-repo-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of the repository summary page.
+Nombre qui spécifie le temps de vie, en minute, des version en cache de la
+page de résumé du dépôt.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-root-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of the repository index page.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache de
+la page d'index du dépôt.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-scanrc-ttl
-Number which specifies the time-to-live, in minutes, for the result of
-scanning a path for Git repositories.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache du
+résultat du scan d'un chemin dans le dépôt Git.
 
 La valeur par défaut est @samp{15}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-about-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of the repository about page.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache de
+la page « à propos » du dépôt.
 
 La valeur par défaut est @samp{15}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-snapshot-ttl
-Number which specifies the time-to-live, in minutes, for the cached version
-of snapshots.
+Nombre qui spécifie le temps de vie, en minutes, de la version en cache des
+archives.
 
 La valeur par défaut est @samp{5}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer cache-size
-The maximum number of entries in the cgit cache.  When set to @samp{0},
-caching is disabled.
+Le nombre maximum d'entrées dans le cache de cgit.  Lorsque la valeur est
address@hidden, le cache est désactivé.
 
 La valeur par défaut est @samp{0}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
case-sensitive-sort?
-Sort items in the repo list case sensitively.
+Indique si le tri des éléments est sensible à la casse.
 
 La valeur par défaut est @samp{#t}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} list clone-prefix
-List of common prefixes which, when combined with a repository URL,
-generates valid clone URLs for the repository.
+Liste des préfixes communs qui, lorsqu'ils sont combinés à l'URL du dépôt,
+génèrent des URL de clone valides pour le dépôt.
 
 La valeur par défaut est @samp{()}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} list clone-url
-List of @code{clone-url} templates.
+Liste des modèles @code{clone-url}
 
 La valeur par défaut est @samp{()}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object commit-filter
-Command which will be invoked to format commit messages.
+Commande qui sera invoquée pour formater les messages de commit.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string commit-sort
-Flag which, when set to @samp{date}, enables strict date ordering in the
-commit log, and when set to @samp{topo} enables strict topological ordering.
+Drapeau qui, s'il vaut @samp{date}, active le tri par date strict dans le
+messages de commit, et le tri topologique strict lorsqu'il vaut @samp{topo}.
 
 La valeur par défaut est @samp{"git log"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object css
-URL which specifies the css document to include in all cgit pages.
+URL qui spécifie le document css à inclure dans les pages cgit.
 
 La valeur par défaut est @samp{"/share/cgit/cgit.css"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object email-filter
-Specifies a command which will be invoked to format names and email address
-of committers, authors, and taggers, as represented in various places
-throughout the cgit interface.
+Spécifie une commande qui sera invoquée pour formater les noms et l'adresse
+de courriel des commiteurs, des auteurs et des taggueurs, représentés à
+plusieurs endroits dans l'interface cgit.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean embedded?
-Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment
-suitable for embedding in other HTML pages.
+Drapeau qui, s'il vaut @samp{#t}, fera générer un fragment HTML à cgit qu'il
+sera possible d'inclure dans d'autres pages HTML.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-commit-graph?
-Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit
-history graph to the left of the commit messages in the repository log page.
+Drapeau qui, lorsqu'il vaut @samp{#t}, fera afficher un historique en
+ASCII-art à gauche des messages de commit dans la page de log du dépôt.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-filter-overrides?
-Flag which, when set to @samp{#t}, allows all filter settings to be
-overridden in repository-specific cgitrc files.
+Drapeau qui, lorsqu'il vaut @samp{#t}, permet à tous les paramètres de
+filtrage d'être modifiés dans des fichiers cgitrc spécifiques au dépôt.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-follow-links?
-Flag which, when set to @samp{#t}, allows users to follow a file in the log
-view.
+Drapeau qui, s'il vaut @samp{#t}, permet aux utilisateurs de suivre un
+fichier dans la vue « log ».
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean enable-http-clone?
-If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones.
+Si la valeur est @samp{#t}, cgit agira comme un point d'accès HTTP idiot
+pour les clones Git.
 
 La valeur par défaut est @samp{#t}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean enable-index-links?
-Flag which, when set to @samp{#t}, will make cgit generate extra links
-"summary", "commit", "tree" for each repo in the repository index.
+Drapeau qui, s'il vaut @samp{#t}, fera générer des liens « résumé », «
+commit » et « arborescence » supplémentaires poru chaque dépôt dans l'index
+des dépôts.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean enable-index-owner?
-Flag which, when set to @samp{#t}, will make cgit display the owner of each
-repo in the repository index.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher le propriétaire de chaque
+dépôt dans l'index des dépôts.
 
 La valeur par défaut est @samp{#t}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-log-filecount?
-Flag which, when set to @samp{#t}, will make cgit print the number of
-modified files for each commit on the repository log page.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de fichiers
+modifiés pour chaque commit sur la page de log du dépôt.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-log-linecount?
-Flag which, when set to @samp{#t}, will make cgit print the number of added
-and removed lines for each commit on the repository log page.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de lignes
+ajoutées et enlevées pour chaque commit de la page de log du dépôt.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-remote-branches?
-Flag which, when set to @code{#t}, will make cgit display remote branches in
-the summary and refs views.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher les branches distantes dans
+les vues du résumé et des références.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-subject-links?
-Flag which, when set to @code{1}, will make cgit use the subject of the
-parent commit as link text when generating links to parent commits in commit
-view.
+Drapeau qui, s'il vaut @samp{1}, fera utiliser à cgit le sujet du commit
+parent comme texte du lien lors de la génération des liens vers les commits
+parents dans la vue des commits.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-html-serving?
-Flag which, when set to @samp{#t}, will make cgit use the subject of the
-parent commit as link text when generating links to parent commits in commit
-view.
+Drapeau qui, s'il vaut @samp{#t}, fera utiliser à cgit l esujet du commit
+parent comme texte du lien lors de la génération des liens vers le commit
+parent dans la vue des commits.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean 
enable-tree-linenumbers?
-Flag which, when set to @samp{#t}, will make cgit generate linenumber links
-for plaintext blobs printed in the tree view.
+Drapeau qui, s'il vaut @samp{#t}, fera générer à cgit des liens vers le
+numéro de ligne pour les blobs en texte brut affichés dans la vue de
+l'arborescence.
 
 La valeur par défaut est @samp{#t}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean enable-git-config?
-Flag which, when set to @samp{#f}, will allow cgit to use Git config to set
-any repo specific settings.
+Drapeau qui, s'il vaut @samp{#t}, permettra à cgit d'utiliser la
+configuration Git pour spécifier des paramètres spécifiques au dépôt.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object favicon
-URL used as link to a shortcut icon for cgit.
+URL utilisée comme lien vers un icône pour cgit.
 
 La valeur par défaut est @samp{"/favicon.ico"}.
 
@@ -21296,129 +21997,131 @@ La valeur par défaut est @samp{""}.
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string head-include
-The content of the file specified with this option will be included verbatim
-in the HTML HEAD section on all pages.
+Le contenu du fichier spécifié dans cette option sera inclus directement
+dans la section HEAD HTML de toutes les pages.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string header
-The content of the file specified with this option will be included verbatim
-at the top of all pages.
+Le contenu du fichier spécifié avec cette option sera inclus directement au
+début de toutes les pages.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object include
-Name of a configfile to include before the rest of the current config- file
-is parsed.
+Nom d'un fichier de configuration à inclure avant que le reste du fichier de
+configuration actuel ne soit analysé.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string index-header
-The content of the file specified with this option will be included verbatim
-above the repository index.
+Le contenu du fichier spécifié avec cette option sera inclus directement au
+dessus de l'index des dépôts.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string index-info
-The content of the file specified with this option will be included verbatim
-below the heading on the repository index page.
+Le contenu du fichier spécifié avec cette option sera inclus directement en
+dessous de l'en-tête sur la page d'index du dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean local-time?
-Flag which, if set to @samp{#t}, makes cgit print commit and tag times in
-the servers timezone.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit l'heure et la date de
+commit et de tag dans le fuseau horaire du serveur.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object logo
-URL which specifies the source of an image which will be used as a logo on
-all cgit pages.
+URL qui spécifie la source d'une image utilisé comme logo sur toutes les
+pages cgit.
 
 La valeur par défaut est @samp{"/share/cgit/cgit.png"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string logo-link
-URL loaded when clicking on the cgit logo image.
+URL chargée lors du clic sur l'image du logo de cgit.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object owner-filter
-Command which will be invoked to format the Owner column of the main page.
+Commande qui sera invoquée pour formater la colonne propriétaire sur la page
+principale.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer max-atom-items
-Number of items to display in atom feeds view.
+Nombre d'éléments à afficher dans la vue des flux atom.
 
 La valeur par défaut est @samp{10}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer max-commit-count
-Number of entries to list per page in "log" view.
+Nombre d'éléments à lister par page dans la vue « log ».
 
 La valeur par défaut est @samp{50}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer max-message-length
-Number of commit message characters to display in "log" view.
+Nombre caractères de messages de commit à afficher dans la vue « log ».
 
 La valeur par défaut est @samp{80}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer max-repo-count
-Specifies the number of entries to list per page on the repository index
-page.
+Spécifie le nombre d'éléments à lister par page sur la page de l'index des
+dépôts.
 
 La valeur par défaut est @samp{50}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer max-repodesc-length
-Specifies the maximum number of repo description characters to display on
-the repository index page.
+Spécifie le nombre maximum de caractères de description de dépôts à afficher
+sur la page d'index des dépôts.
 
 La valeur par défaut est @samp{80}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer max-blob-size
-Specifies the maximum size of a blob to display HTML for in KBytes.
+Spécifie la taille maximale d'un blob pour lequel afficher du HTML en
+kilo-octets.
 
 La valeur par défaut est @samp{0}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string max-stats
-Maximum statistics period.  Valid values are @samp{week},@samp{month},
address@hidden and @samp{year}.
+Période de statistiques maximale.  Les valeurs valides sont @samp{week},
address@hidden, @samp{quarter} et @samp{year}.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} mimetype-alist mimetype
-Mimetype for the specified filename extension.
+Type mime pour l'extension de fichier spécifiée.
 
 La valeur par défaut est @samp{((gif "image/gif") (html "text/html") (jpg
 "image/jpeg") (jpeg "image/jpeg") (pdf "application/pdf") (png "image/png")
@@ -21427,131 +22130,132 @@ La valeur par défaut est @samp{((gif "image/gif") 
(html "text/html") (jpg
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object mimetype-file
-Specifies the file to use for automatic mimetype lookup.
+Spécifie le fichier à utiliser pour la recherche automatique de type mime.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string module-link
-Text which will be used as the formatstring for a hyperlink when a submodule
-is printed in a directory listing.
+Texte qui sera utilisé comme chaîne de formatage pour un lien hypertexte
+lorsqu'un sous-module est affiché dans la liste du répertoire.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean nocache?
-If set to the value @samp{#t} caching will be disabled.
+Si la valeur est @samp{#t}, le cache est désactivé.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean noplainemail?
-If set to @samp{#t} showing full author email addresses will be disabled.
+Si la valeur est @samp{#t}, l'affichage des adresse de courriel des auteurs
+sera désactivé.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean noheader?
-Flag which, when set to @samp{#t}, will make cgit omit the standard header
-on all pages.
+Drapeau qui, s'il vaut @samp{#t}, fera omettre à cgit l'en-tête standard sur
+toutes les pages.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} project-list project-list
-A list of subdirectories inside of @code{repository-directory}, relative to
-it, that should loaded as Git repositories.  An empty list means that all
-subdirectories will be loaded.
+UNe liste de sous-répertoires dans @code{repository-directory}, relativement
+à lui, qui devrait être chargé comme des dépôts Git.  Une liste vide
+signifie que tous les sous-répertoires seront chargés.
 
 La valeur par défaut est @samp{()}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object readme
-Text which will be used as default value for @code{cgit-repo-readme}.
+Texte utilisé comme valeur par défaut pour @code{cgit-repo-readme}.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean remove-suffix?
-If set to @code{#t} and @code{repository-directory} is enabled, if any
-repositories are found with a suffix of @code{.git}, this suffix will be
-removed for the URL and name.
+Si la valeur est @code{#t} et que @code{repository-directory} est activé, si
+un dépôt avec un suffixe de @code{.git} est trouvé, ce suffixe sera supprimé
+de l'URL et du nom.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer renamelimit
-Maximum number of files to consider when detecting renames.
+Nombre maximum de fichiers à considérer lors de la détection des renommages.
 
 La valeur par défaut est @samp{-1}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string repository-sort
-The way in which repositories in each section are sorted.
+La manière dont les dépôt de chaque section sont rangés.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} robots-list robots
-Text used as content for the @code{robots} meta-tag.
+Texte utilisé comme contenu du méta-attribut @code{robots}.
 
 La valeur par défaut est @samp{("noindex" "nofollow")}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string root-desc
-Text printed below the heading on the repository index page.
+Texte affiché en dessous de l'en-tête de la page d'index des dépôts.
 
 La valeur par défaut est @samp{"a fast webinterface for the git dscm"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string root-readme
-The content of the file specified with this option will be included verbatim
-below thef "about" link on the repository index page.
+Le contenu du fichier spécifié avec cette option sera inclus directement en
+dessous du lien « à propos » sur la page d'index du dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string root-title
-Text printed as heading on the repository index page.
+Texte affiché sur la page d'index des dépôts.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean scan-hidden-path
-If set to @samp{#t} and repository-directory is enabled,
-repository-directory will recurse into directories whose name starts with a
-period.  Otherwise, repository-directory will stay away from such
-directories, considered as "hidden".  Note that this does not apply to the
-".git" directory in non-bare repos.
+Si la valeur est @samp{#t} et que repository-directory est activé,
+repository-directory recherchera de manière récursive dans les répertoires
+dont le nom commence par un point.  Sinon, repository-directory restera hors
+de ces répertoires, considérés comme « cachés ».  Remarquez que cela ne
+s'applique pas au répertoire « .git » dans le dépôts.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} list snapshots
-Text which specifies the default set of snapshot formats that cgit generates
-links for.
+Texte qui spécifie l'ensemble des formats d'archives par défaut pour
+lesquelles cgit générera un lien.
 
 La valeur par défaut est @samp{()}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} repository-directory 
repository-directory
-Name of the directory to scan for repositories (represents
+Nom du répertoire à scanner pour trouver les dépôts (représente
 @code{scan-path}).
 
 La valeur par défaut est @samp{"/srv/git"}.
@@ -21559,328 +22263,329 @@ La valeur par défaut est @samp{"/srv/git"}.
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string section
-The name of the current repository section - all repositories defined after
-this option will inherit the current section name.
+Le nom de la section de dépôts actuelle — tous les dépôts définis après ce
+point hériterons du nom de section actuel.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string section-sort
-Flag which, when set to @samp{1}, will sort the sections on the repository
-listing by name.
+Drapeau qui, s'il vaut @samp{1}, triera les sections dans la liste des
+dépôts par nom.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer section-from-path
-A number which, if defined prior to repository-directory, specifies how many
-path elements from each repo path to use as a default section name.
+Un nombre qui, s'il est défini avant repository-directory, spécifier combien
+d'éléments de chemin de chaque chemin de dépôt utiliser comme nom de section
+par défaut.
 
 La valeur par défaut est @samp{0}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} boolean side-by-side-diffs?
-If set to @samp{#t} shows side-by-side diffs instead of unidiffs per
-default.
+Si la valeur est @samp{#t}, afficher des diffs côte à côte au lieu des
+unidiffs par défaut.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} file-object source-filter
-Specifies a command which will be invoked to format plaintext blobs in the
-tree view.
+Spécifie une commande qui sera invoquée pour formater les blobs en texte
+brut dans la vue de l'arborescence.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer summary-branches
-Specifies the number of branches to display in the repository "summary"
-view.
+Spécifie le nombre de branches à afficher dans la vue de résumé du dépôt.
 
 La valeur par défaut est @samp{10}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer summary-log
-Specifies the number of log entries to display in the repository "summary"
-view.
+Spécifie le nombre d'élément du journal à afficher dans la vue résumé du
+dépôt.
 
 La valeur par défaut est @samp{10}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} integer summary-tags
-Specifies the number of tags to display in the repository "summary" view.
+Spécifie le nombre de tags à afficher dans la vue résumé du dépôt.
 
 La valeur par défaut est @samp{10}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string strict-export
-Filename which, if specified, needs to be present within the repository for
-cgit to allow access to that repository.
+Nom de fichier qui, s'il est spécifié, doit être présent dans le dépôt pour
+que cgit accorde l'accès à ce dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} string virtual-root
-URL which, if specified, will be used as root for all cgit links.
+URL qui, si elle est spécifiée, sera utilisée comme racine pour tous les
+liens cgit.
 
 La valeur par défaut est @samp{"/"}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} 
repository-cgit-configuration-list repositories
-A list of @dfn{cgit-repo} records to use with config.
+Une liste d'enregistrements @dfn{cgit-repo} à utiliser avec config.
 
 La valeur par défaut est @samp{()}.
 
 Les champs de @code{repository-cgit-configuration} disponibles sont :
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list 
snapshots
-A mask of snapshot formats for this repo that cgit generates links for,
-restricted by the global @code{snapshots} setting.
+Un masque de formats d'archives pour ce dépôt pour lesquelles cgit générera
+un lien, restreint par le paramètre @code{snapshots} global.
 
 La valeur par défaut est @samp{()}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
repo-file-object source-filter
-Override the default @code{source-filter}.
+Modifie le @code{source-filter} par défaut.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string url
-The relative URL used to access the repository.
+URL relative utilisée pour accéder au dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
repo-file-object about-filter
-Override the default @code{about-filter}.
+Modifie le paramètre @code{about-filter} par défaut.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
branch-sort
-Flag which, when set to @samp{age}, enables date ordering in the branch ref
-list, and when set to @samp{name} enables ordering by branch name.
+Drapeau qui, s'il vaut @samp{age}, active le tri par date dans la liste des
+branches, et lorsqu'il vaut @samp{name}, le tri par nom.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list 
clone-url
-A list of URLs which can be used to clone repo.
+Un liste d'URL qui peuvent être utilisées pour cloner ce dépôt.
 
 La valeur par défaut est @samp{()}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
repo-file-object commit-filter
-Override the default @code{commit-filter}.
+Modifie le paramètre @code{commit-filter} par défaut.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
commit-sort
-Flag which, when set to @samp{date}, enables strict date ordering in the
-commit log, and when set to @samp{topo} enables strict topological ordering.
+Drapeau qui, s'il vaut @samp{date}, active le tri par date strict dans le
+messages de commit, et le tri topologique strict lorsqu'il vaut @samp{topo}.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
defbranch
-The name of the default branch for this repository.  If no such branch
-exists in the repository, the first branch name (when sorted) is used as
-default instead.  By default branch pointed to by HEAD, or "master" if there
-is no suitable HEAD.
+Le nom de la branche par défaut de ce dépôt.  Si cette branche n'existe pas
+dans le dépôt, le premier nom de branche (trié) sera utilisé par défaut.
+Par défaut la branche pointée par HEAD, ou « master » s'il n'y a pas de HEAD
+convenable.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string desc
-The value to show as repository description.
+La valeur à afficher comme description du dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
homepage
-The value to show as repository homepage.
+La valeur à afficher comme page d'accueil du dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
repo-file-object email-filter
-Override the default @code{email-filter}.
+Modifie le paramètre @code{email-filter} par défaut.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
maybe-repo-boolean enable-commit-graph?
-A flag which can be used to disable the global setting
address@hidden
+Un drapeau qui peut être utilisé pour désactiver le paramètre
address@hidden global.
 
 La valeur par défaut est @samp{disabled}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
maybe-repo-boolean enable-log-filecount?
-A flag which can be used to disable the global setting
address@hidden
+Un drapeau qui peut être utilisé pour désactiver le paramètre
address@hidden global.
 
 La valeur par défaut est @samp{disabled}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
maybe-repo-boolean enable-log-linecount?
-A flag which can be used to disable the global setting
address@hidden
+Un drapeau qui peut être utilisé pour désactiver le paramètre
address@hidden global.
 
 La valeur par défaut est @samp{disabled}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
maybe-repo-boolean enable-remote-branches?
-Flag which, when set to @code{#t}, will make cgit display remote branches in
-the summary and refs views.
+Drapeau qui, s'il vaut @samp{#t}, fera afficher les branches distantes dans
+les vues du résumé et des références.
 
 La valeur par défaut est @samp{disabled}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
maybe-repo-boolean enable-subject-links?
-A flag which can be used to override the global setting
address@hidden
+Un drapeau qui peut être utilisé pour modifier le paramètre
address@hidden global.
 
 La valeur par défaut est @samp{disabled}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
maybe-repo-boolean enable-html-serving?
-A flag which can be used to override the global setting
address@hidden
+Un drapeau qui peut être utilisé pour modifier le paramètre
address@hidden global.
 
 La valeur par défaut est @samp{disabled}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-boolean 
hide?
-Flag which, when set to @code{#t}, hides the repository from the repository
-index.
+Drapeau qui, s'il vaut @code{#t}, cache le dépôt de l'index des dépôts.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-boolean 
ignore?
-Flag which, when set to @samp{#t}, ignores the repository.
+Drapeau qui, s'il vaut @code{#t},  ignore le dépôt.
 
 La valeur par défaut est @samp{#f}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
repo-file-object logo
-URL which specifies the source of an image which will be used as a logo on
-this repo’s pages.
+URL qui spécifie la source d'une image qui sera utilisée comme logo sur les
+pages de ce dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
logo-link
-URL loaded when clicking on the cgit logo image.
+URL chargée lors du clic sur l'image du logo de cgit.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
repo-file-object owner-filter
-Override the default @code{owner-filter}.
+Modifie le paramètre @code{owner-filter} par défaut.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
module-link
-Text which will be used as the formatstring for a hyperlink when a submodule
-is printed in a directory listing.  The arguments for the formatstring are
-the path and SHA1 of the submodule commit.
+Texte qui sera utilisé comme chaîne de formatage pour un lien hypertexte
+lorsqu'un sous-module est affiché dans une liste de fichiers.  Les arguments
+pour la chaîne de formatage sont le chemin et le SHA1 du commit du
+sous-module.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} 
module-link-path module-link-path
-Text which will be used as the formatstring for a hyperlink when a submodule
-with the specified subdirectory path is printed in a directory listing.
+Texte qui sera utilisé comme chaîne de formatage lorsqu'un sous-module avec
+un chemin spécifié sera affiché dans une liste de fichiers.
 
 La valeur par défaut est @samp{()}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
max-stats
-Override the default maximum statistics period.
+Modifie la période de statistique maximale par défaut.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string name
-The value to show as repository name.
+La valeur à afficher comme nom de dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
owner
-A value used to identify the owner of the repository.
+Une valeur utilisée pour identifier le propriétaire du dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string path
-An absolute path to the repository directory.
+Un chemin absolu vers le répertoire du dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
readme
-A path (relative to repo) which specifies a file to include verbatim as the
-"About" page for this repo.
+Un chemin (relatif au dépôt) qui spécifie un fichier à inclure directement
+comme page « À propos » pour ce dépôt.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string 
section
-The name of the current repository section - all repositories defined after
-this option will inherit the current section name.
+Le nom de la section de dépôts actuelle — tous les dépôts définis après ce
+point hériterons du nom de section actuel.
 
 La valeur par défaut est @samp{""}.
 
 @end deftypevr
 
 @deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list 
extra-options
-Extra options will be appended to cgitrc file.
+Options supplémentaires ajoutées à la fin du fichier cgitrc.
 
 La valeur par défaut est @samp{()}.
 
@@ -21889,7 +22594,7 @@ La valeur par défaut est @samp{()}.
 @end deftypevr
 
 @deftypevr {paramètre de @code{cgit-configuration}} list extra-options
-Extra options will be appended to cgitrc file.
+Options supplémentaires ajoutées à la fin du fichier cgitrc.
 
 La valeur par défaut est @samp{()}.
 
@@ -21898,23 +22603,24 @@ La valeur par défaut est @samp{()}.
 
 @c %end of fragment
 
-However, it could be that you just want to get a @code{cgitrc} up and
-running.  In that case, you can pass an @code{opaque-cgit-configuration} as
-a record to @code{cgit-service-type}.  As its name indicates, an opaque
-configuration does not have easy reflective capabilities.
+Cependant, vous pourriez vouloir simplement récupérer un @code{cgitrc} et
+l'utiliser.  Dans ce cas, vous pouvez passer un
address@hidden comme enregistrement à
address@hidden  Comme son nom l'indique, une configuration opaque
+n'a pas de capacité de réflexion facile.
 
 Les champs de @code{opaque-cgit-configuration} disponibles sont :
 
 @deftypevr {paramètre de @code{opaque-cgit-configuration}} package cgit
-The cgit package.
+Le paquet cgit.
 @end deftypevr
 
 @deftypevr {paramètre de @code{opaque-cgit-configuration}} string string
-The contents of the @code{cgitrc}, as a string.
+Le contenu de @code{cgitrc}, en tant que chaîne de caractère.
 @end deftypevr
 
-For example, if your @code{cgitrc} is just the empty string, you could
-instantiate a cgit service like this:
+Par exemple, si votre @code{cgitrc} est juste la chaîne vide, vous pouvez
+instancier un service cgit ainsi :
 
 @example
 (service cgit-service-type
@@ -21926,14 +22632,14 @@ instantiate a cgit service like this:
 
 @cindex service Gitolite
 @cindex Git, hébergement
address@hidden://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git
-repositories on a central server.
address@hidden://gitolite.com/gitolite/, Gitolite} est un outil pour héberger
+des dépôts Git sur un serveur central.
 
-Gitolite can handle multiple repositories and users, and supports flexible
-configuration of the permissions for the users on the repositories.
+Gitolite peut gérer plusieurs dépôts et utilisateurs et supporte une
+configuration flexible des permissions pour les utilisateurs sur ces dépôts.
 
-The following example will configure Gitolite using the default @code{git}
-user, and the provided SSH public key.
+L'exemple suivant configure Gitolite en utilisant l'utilisateur @code{git}
+par défaut et la clef SSH fournie.
 
 @example
 (service gitolite-service-type
@@ -21943,18 +22649,18 @@ user, and the provided SSH public key.
                            "ssh-rsa AAAA... guix@@example.com"))))
 @end example
 
-Gitolite is configured through a special admin repository which you can
-clone, for example, if you setup Gitolite on @code{example.com}, you would
-run the following command to clone the admin repository.
+Gitolite est configuré via un dépôt d'administration spécial que vous pouvez
+cloner.  Par exemple, si vous hébergez Gitolite sur @code{example.com}, vous
+pouvez lancer la commande suivante pour cloner le dépôt d'administration :
 
 @example
 git clone git@@example.com:gitolite-admin
 @end example
 
-When the Gitolite service is activated, the provided @code{admin-pubkey}
-will be inserted in to the @file{keydir} directory in the gitolite-admin
-repository.  If this results in a change in the repository, it will be
-committed using the message ``gitolite setup by GNU Guix''.
+Lorsque le service Gitolite est activé, la clef @code{admin-pubkey} fournie
+sera insérée dans le répertoire @file{keydir} du dépôt gitolite-admin.  Si
+cela change le dépôt, un commit sera effectué avec le message « gitolite
+setup by GNU Guix ».
 
 @deftp {Type de données} gitolite-configuration
 Type de données représentant la configuration de
@@ -21965,8 +22671,8 @@ Type de données représentant la configuration de
 Le paquet Gitolite à utiliser.
 
 @item @code{user} (par défaut : @var{git})
-User to use for Gitolite.  This will be user that you use when accessing
-Gitolite over SSH.
+Utilisateur pour utiliser Gitolite.  Cela sera l'utilisateur à utiliser pour
+accéder à Gitolite par SSH.
 
 @item @code{group} (par défaut : @var{git})
 Groupe à utiliser pour Gitolite.
@@ -21983,7 +22689,8 @@ Un objet « simili-fichier » (@pxref{G-Expressions, 
file-like objects})
 utilisé pour paramétrer Gitolite.  Il sera inséré dans le répertoire
 @file{keydir} dans le dépôt gitolite-admin.
 
-To specify the SSH key as a string, use the @code{plain-file} function.
+Pour spécifier la clef SSH comme chaîne de caractère, utilisez la fonction
address@hidden
 
 @example
 (plain-file "yourname.pub" "ssh-rsa AAAA... guix@@example.com")
@@ -21997,40 +22704,43 @@ Type de données représentant le fichier RC de 
Gitolite.
 
 @table @asis
 @item @code{umask} (par défaut : @code{#o0077})
-This controls the permissions Gitolite sets on the repositories and their
-contents.
+Cela contrôle les permissions que Gitolite propose sur les dépôts et leur
+contenu.
 
-A value like @code{#o0027} will give read access to the group used by
-Gitolite (by default: @code{git}). This is necessary when using Gitolite
-with software like cgit or gitweb.
+Une valeur comme @code{#o0027} donnera accès en lecture au groupe utilisé
+par Gitolite (par défaut : @code{git}).  Cel aest nécessaire lorsque vous
+utilise Gitolite avec un logiciel comme cgit ou gitweb.
 
 @item @code{git-config-keys} (par défaut : @code{""})
-Gitolite allows you to set git config values using the "config"
-keyword. This setting allows control over the config keys to accept.
+Gitolite vous permet de modifier les configurations git avec le mot-clef «
+config ».  Ce paramètre vous permet de contrôler les clefs de configuration
+acceptables.
 
 @item @code{roles} (par défaut : @code{'(("READERS" . 1) ("WRITERS" . ))})
-Set the role names allowed to be used by users running the perms command.
+Indique les noms des rôles qui peuvent être utilisés par les utilisateurs
+avec la commande perms.
 
 @item @code{enable} (par défaut : @code{'("help" "desc" "info" "perms" 
"writable" "ssh-authkeys" "git-config" "daemon" "gitweb")})
-This setting controls the commands and features to enable within Gitolite.
+Ce paramètre contrôle les commandes et les fonctionnalités à activer dans
+Gitolite.
 
 @end table
 @end deftp
 
 
 @node Services de jeu
address@hidden Services de jeu
address@hidden Services de jeu
 
address@hidden The Battle for Wesnoth Service
address@hidden Le service de la Bataille pour Wesnoth
 @cindex wesnothd
address@hidden://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn based
-tactical strategy game, with several single player campaigns, and
-multiplayer games (both networked and local).
address@hidden://wesnoth.org, La Bataille pour Wesnoth} est un jeu de stratégie
+en tour par tour dans un univers fantastique, avec plusieurs campagnes solo
+et des parties multijoueurs (en réseau et en local).
 
 @defvar {Variable Scheme} wesnothd-service-type
-Service type for the wesnothd service.  Its value must be a
address@hidden object.  To run wesnothd in the default
-configuration, instantiate it as:
+Type de service pour le service wesnothd.  Sa valeur doit être un objet
address@hidden  Pour lancer wesnothd avec la configuration
+par défaut, instanciez-le ainsi :
 
 @example
 (service wesnothd-service-type)
@@ -22038,29 +22748,29 @@ configuration, instantiate it as:
 @end defvar
 
 @deftp {Type de données} wesnothd-configuration
-Data type representing the configuration of @command{wesnothd}.
+Type de donées représentant la configuration de @command{wesnothd}.
 
 @table @asis
 @item @code{package} (par défaut : @code{wesnoth-server})
-The wesnoth server package to use.
+Le paquet de serveur de wesnoth à utiliser.
 
 @item @code{port} (par défaut : @code{15000})
-The port to bind the server to.
+Le pour sur lequel lier le serveur.
 @end table
 @end deftp
 
 @node Services divers
address@hidden Services divers
address@hidden Services divers
 
address@hidden fingerprint
address@hidden empreinte digitale
 @subsubheading Service d'empreintes digitales
 
 Le module @code{(gnu services fingerprint)} fournit un service DBus pour
 lire et identifier les empreintes digitales via un lecteur d'empreinte.
 
 @defvr {Variable Scheme} fprintd-service-type
-The service type for @command{fprintd}, which provides the fingerprint
-reading capability.
+Le type de service pour @command{fprintd}, qui fournit des capacités de
+lecture d'empreinte.
 
 @example
 (service fprintd-service-type)
@@ -22068,15 +22778,15 @@ reading capability.
 @end defvr
 
 @cindex sysctl
address@hidden System Control Service
address@hidden Service de contrôle du système
 
-The @code{(gnu services sysctl)} provides a service to configure kernel
-parameters at boot.
+Le module @code{(gnu services sysctl)} fournit un service pour configurer
+les paramètres du noyau au démarrage.
 
 @defvr {Variable Scheme} sysctl-service-type
-The service type for @command{sysctl}, which modifies kernel parameters
-under @file{/proc/sys/}.  To enable IPv4 forwarding, it can be instantiated
-as:
+Le type de service pour @command{sysctl}, qui modifie les paramètres du
+noyau dans @file{/proc/sys/}.  Pour activer le transfert d'IPv4, vous pouvez
+l'instancier ainsi :
 
 @example
 (service sysctl-service-type
@@ -22086,26 +22796,25 @@ as:
 @end defvr
 
 @deftp {Type de données} sysctl-configuration
-The data type representing the configuration of @command{sysctl}.
+Le type de données représentant la configuration de @command{sysctl}.
 
 @table @asis
 @item @code{sysctl} (par défaut : @code{(file-append procps "/sbin/sysctl"})
-The @command{sysctl} executable to use.
+L'exécutable @command{sysctl} à utiliser.
 
 @item @code{settings} (par défaut : @code{'()})
-An association list specifies kernel parameters and their values.
+Une liste d'association spécifiant les paramètres du noyau et leur valeur.
 @end table
 @end deftp
 
 @cindex pcscd
address@hidden PC/SC Smart Card Daemon Service
address@hidden Service du démon PC/SC Smart Card
 
-The @code{(gnu services security-token)} module provides the following
-service to run @command{pcscd}, the PC/SC Smart Card Daemon.
address@hidden is the daemon program for pcsc-lite and the MuscleCard
-framework. It is a resource manager that coordinates communications with
-smart card readers, smart cards and cryptographic tokens that are connected
-to the system.
+Le module @code{(gnu services security-token)} fournit le service suivant
+qui lance @command{pcscd}, le démon PC/SC Smart Card.  @command{pcscd} est
+le démon pour  pcsc-lite et MuscleCard.  C'est un gestionnaire de ressource
+qui coordonne les communications avec les lecteurs de smart cards, les smart
+cards et les jetons cryptographiques connectés au système.
 
 @defvr {Variable Scheme} pcscd-service-type
 Le type de service pour le service @command{pcscd}.  Sa valeur doit être un
@@ -22124,120 +22833,129 @@ Type de données représentant la configuration de 
@command{pcscd}.
 @item @code{pcsc-lite} (par défaut : @code{pcsc-lite})
 Le paquet pcsc-lite qui fournit pcscd.
 @item @code{usb-drivers} (par défaut : @code{(list ccid)})
-List of packages that provide USB drivers to pcscd. Drivers are expected to
-be under @file{pcsc/drivers} in the store directory of the package.
+Liste des paquets qui fournissent des pilotes USB à pcscd.  Les pilotes
+doivent être dans @file{pcsc/drivers} dans le répertoire du dépôt du paquet.
 @end table
 @end deftp
 
 @cindex lirc
address@hidden Lirc Service
address@hidden Service Lirc
 
-The @code{(gnu services lirc)} module provides the following service.
+Le module @code{(gnu services lirc)} fournit le service suivant.
 
 @deffn {Procédure Scheme} lirc-service [#:lirc lirc] @
-       [#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()]
-Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that
-decodes infrared signals from remote controls.
+       [#:device #f] [#:driver #f] [#:config-file #f] @
+[#:extra-options '()]
+Renvoie un service qui lance @url{http://www.lirc.org,LIRC}, un démon qui
+décode les signaux infrarouges des télécommandes.
 
-Optionally, @var{device}, @var{driver} and @var{config-file} (configuration
-file name) may be specified.  See @command{lircd} manual for details.
+Éventuellement, @var{device}, @var{driver} et @var{config-file} (le nom du
+fichier de configuration) peuvent être spécifiés.  Voir le manuel de
address@hidden pour plus de détails.
 
-Finally, @var{extra-options} is a list of additional command-line options
-passed to @command{lircd}.
+Enfin, @var{extra-options} est une liste d'options de la ligne de commande
+supplémentaires à passer à @command{lircd}.
 @end deffn
 
 @cindex spice
address@hidden Spice Service
address@hidden Service Spice
 
-The @code{(gnu services spice)} module provides the following service.
+Le module @code{(gnu services spice)} fournit le service suivant.
 
 @deffn {Procédure Scheme} spice-vdagent-service [#:spice-vdagent]
-Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a
-daemon that enables sharing the clipboard with a vm and setting the guest
-display resolution when the graphical console window resizes.
+Renvoie un service qui lance @url{http://www.spice-space.org,VDAGENT}, un
+démon qui permet le partage du presse-papier avec une vm et de configurer la
+résolution d'affichage du client lorsque la fenêtre de la console graphique
+est redimensionnée.
 @end deffn
 
address@hidden Dictionary Services
address@hidden dictionary
-The @code{(gnu services dict)} module provides the following service:
address@hidden Services de dictionnaires
address@hidden dictionnaire
+Le module @code{(gnu services dict)} fournit le service suivant :
 
 @deffn {Procédure Scheme} dicod-service [#:config (dicod-configuration)]
-Return a service that runs the @command{dicod} daemon, an implementation of
-DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}).
+Renvoie un service qui lance le démon @command{dicod}, une implémentation du
+serveur DICT (@pxref{Dicod,,, dico, GNU Dico Manual}).
 
-The optional @var{config} argument specifies the configuration for
address@hidden, which should be a @code{<dicod-configuration>} object, by
-default it serves the GNU Collaborative International Dictonary of English.
+L'argument @var{config} facultatif spécifie la configuration pour
address@hidden, qui devrait être un objet @code{<dicod-configuration>}, par
+défaut il sert le dictionnaire international collaboratif de GNU pour
+l'anglais.
 
-You can add @command{open localhost} to your @file{~/.dico} file to make
address@hidden the default server for @command{dico} client
-(@pxref{Initialization File,,, dico, GNU Dico Manual}).
+Vous pouvez ajouter @command{open localhost} à votre fichier @file{~/.dico}
+pour faire de @code{localhost} le serveur par défaut du client
address@hidden (@pxref{Initialization File,,, dico, GNU Dico Manual}).
 @end deffn
 
 @deftp {Type de données} dicod-configuration
-Data type representing the configuration of dicod.
+Type de données représentant la configuration de dicod.
 
 @table @asis
 @item @code{dico} (par défaut : @var{dico})
-Package object of the GNU Dico dictionary server.
+Objet de paquet du serveur de dictionnaire GNU Dico.
 
 @item @code{interfaces} (par défaut : @var{'("localhost")})
-This is the list of IP addresses and ports and possibly socket file names to
-listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico
-Manual}).
+C'est la liste des adresses IP et des ports et éventuellement des noms de
+fichiers de socket sur lesquels écouter (@pxref{Server Settings,
address@hidden directive,, dico, GNU Dico Manual}).
 
 @item @code{handlers} (par défaut : @var{'()})
-List of @code{<dicod-handler>} objects denoting handlers (module instances).
+Liste des objets @code{<dicod-handler>} qui définissent des gestionnaires
+(des instances de modules).
 
 @item @code{databases} (par défaut : @var{(list %dicod-database:gcide)})
-List of @code{<dicod-database>} objects denoting dictionaries to be served.
+Liste d'objets @code{<dicod-database>} qui définissent des dictionnaires à
+servir.
 @end table
 @end deftp
 
 @deftp {Type de données} dicod-handler
-Data type representing a dictionary handler (module instance).
+Type de données représentant un gestionnaire de dictionnaire (instance de
+module).
 
 @table @asis
 @item @code{name}
-Name of the handler (module instance).
+Nom du gestionnaire (instance de module).
 
 @item @code{module} (par défaut : @var{#f})
-Name of the dicod module of the handler (instance).  If it is @code{#f}, the
-module has the same name as the handler.  (@pxref{Modules,,, dico, GNU Dico
-Manual}).
+Nom du module dicod du gestionnaire (instance).  Si la valeur est @code{#f},
+le module a le même nom que le gestionnaire.  (@pxref{Modules,,, dico, GNU
+Dico Manual}).
 
 @item @code{options}
-List of strings or gexps representing the arguments for the module handler
+Liste de chaînes ou de gexps représentant les arguments pour le gestionnaire
+de module.
 @end table
 @end deftp
 
 @deftp {Type de données} dicod-database
-Data type representing a dictionary database.
+Type de données représentant une base de données de dictionnaire.
 
 @table @asis
 @item @code{name}
-Name of the database, will be used in DICT commands.
+Nom de la base de données, qui sera utilisée dans les commande DICT.
 
 @item @code{handler}
-Name of the dicod handler (module instance) used by this database
-(@pxref{Handlers,,, dico, GNU Dico Manual}).
+Nom du gestionnaire dicod (instance de module) utilisé par cette base de
+données (@pxref{Handlers,,, dico, GNU Dico Manual}).
 
 @item @code{complex?} (par défaut : @var{#f})
-Whether the database configuration complex.  The complex configuration will
-need a corresponding @code{<dicod-handler>} object, otherwise not.
+Indique si la configuration est pour une base de données complexe.  La
+configuration complexe a besoin d'un objet @code{<dicod-handler>}
+correspondant, sinon inutile.
 
 @item @code{options}
-List of strings or gexps representing the arguments for the database
-(@pxref{Databases,,, dico, GNU Dico Manual}).
+Liste de chaînes ou de gexps représentant les arguments pour la base de
+données (@pxref{Databases,,, dico, GNU Dico Manual}).
 @end table
 @end deftp
 
 @defvr {Variable Scheme} %dicod-database:gcide
-A @code{<dicod-database>} object serving the GNU Collaborative International
-Dictionary of English using the @code{gcide} package.
+Un objet @code{<dicod-database>} servant le dictionnaire international
+collaboratif en anglais via le paquet @code{gcide}.
 @end defvr
 
-The following is an example @code{dicod-service} configuration.
+Voici un exemple de configuration de @code{dicod-service}.
 
 @example
 (dicod-service #:config
@@ -22255,91 +22973,127 @@ The following is an example @code{dicod-service} 
configuration.
                     %dicod-database:gcide))))
 @end example
 
address@hidden Docker
address@hidden Docker Service
+
+The @code{(gnu services docker)} module provides the following service.
+
address@hidden {Scheme Variable} docker-service-type
+
+This is the type of the service that runs
address@hidden://www.docker.com,Docker}, a daemon that can execute application
+bundles (sometimes referred to as ``containers'') in isolated environments.
+
address@hidden defvr
+
address@hidden {Data Type} docker-configuration
+This is the data type representing the configuration of Docker and
+Containerd.
+
address@hidden @asis
+
address@hidden @code{package} (default: @code{docker})
+The Docker package to use.
+
address@hidden @code{containerd} (default: @var{containerd})
+The Containerd package to use.
+
address@hidden table
address@hidden deftp
+
 @node Programmes setuid
address@hidden Programmes setuid
-
address@hidden setuid programs
-Some programs need to run with ``root'' privileges, even when they are
-launched by unprivileged users.  A notorious example is the @command{passwd}
-program, which users can run to change their password, and which needs to
-access the @file{/etc/passwd} and @file{/etc/shadow} files---something
-normally restricted to root, for obvious security reasons.  To address that,
-these executables are @dfn{setuid-root}, meaning that they always run with
-root privileges (@pxref{How Change Persona,,, libc, The GNU C Library
-Reference Manual}, for more info about the setuid mechanism.)
-
-The store itself @emph{cannot} contain setuid programs: that would be a
-security issue since any user on the system can write derivations that
-populate the store (@pxref{Le dépôt}).  Thus, a different mechanism is
-used: instead of changing the setuid bit directly on files that are in the
-store, we let the system administrator @emph{declare} which programs should
-be setuid root.
-
-The @code{setuid-programs} field of an @code{operating-system} declaration
-contains a list of G-expressions denoting the names of programs to be
-setuid-root (@pxref{Utiliser le système de configuration}).  For instance, the
address@hidden program, which is part of the Shadow package, can be
-designated by this G-expression (@pxref{G-Expressions}):
address@hidden Programmes setuid
+
address@hidden programmes setuid
+Certains programmes doivent être lancés avec les privilèges « root » même
+lorsqu'ils sont lancés par un utilisateur non privilégié.  Un exemple
+notoire est le programme @command{passwd}, que les utilisateurs peuvent
+appeler pour modifier leur mot de passe et qui doit accéder à
address@hidden/etc/passwd} et @file{/etc/shadow} — ce qui est normalement 
réservé à
+root, pour des raisons de sécurité évidentes.  Pour contourner cela, ces
+exécutables sont @dfn{setuid-root}, ce qui signifie qu'ils seront toujours
+lancés avec les privilèges root (@pxref{How Change Persona,,, libc, The GNU
+C Library Reference Manual}, pour plus d'informations sur le mécanisme
+setuid).
+
+Le dépôt lui-même ne @emph{peut pas} contenir de programmes setuid ; cela
+serait un problème de sécurité puisque n'importe quel utilisateur du système
+peut écrire une dérivation qui rempli le dépôt (@pxref{Le dépôt}).  Donc,
+un mécanisme différent est utilisé : au lieu de changer le bit setuid
+directement sur les fichiers qui sont dans le dépôt, nous laissons à
+l'administrateur système le soit de @emph{déclarer} les programmes qui
+devraient être setuid root.
+
+Le champ @code{setuid-programs} d'une déclaration @code{operating-system}
+contient une liste de G-expressions qui dénotent les noms des programmes à
+rendre setuid-root (@pxref{Utiliser le système de configuration}).  Par 
exemple,
+le programme @command{passwd}, qui fait partie du paquet Shadow, peut être
+désigné par cette G-expression (@pxref{G-Expressions}) :
 
 @example
 #~(string-append #$shadow "/bin/passwd")
 @end example
 
-A default set of setuid programs is defined by the @code{%setuid-programs}
-variable of the @code{(gnu system)} module.
+Un ensemble de programmes par défaut est défini par la variable
address@hidden du module @code{(gnu system)}.
 
 @defvr {Variable Scheme} %setuid-programs
-A list of G-expressions denoting common programs that are setuid-root.
+Une liste de G-expressions qui dénotent les programmes communément
+setuid-root.
 
-The list includes commands such as @command{passwd}, @command{ping},
address@hidden, and @command{sudo}.
+La liste inclus des commandes comme @command{passwd}, @command{ping},
address@hidden et @command{sudo}.
 @end defvr
 
-Under the hood, the actual setuid programs are created in the
address@hidden/run/setuid-programs} directory at system activation time.  The 
files
-in this directory refer to the ``real'' binaries, which are in the store.
+Sous le capot, les programmes setuid sont créés dans le répertoire
address@hidden/run/setuid-programs} au moment de l'activation du système.  Les
+fichiers dans ce répertoire se réfèrent aux « vrais » binaires, qui sont
+dans le dépot.
 
 @node Certificats X.509
address@hidden Certificats X.509
address@hidden Certificats X.509
 
address@hidden HTTPS, certificates
address@hidden X.509 certificates
address@hidden HTTPS, certificats
address@hidden certificats X.509
 @cindex TLS
-Web servers available over HTTPS (that is, HTTP over the transport-layer
-security mechanism, TLS) send client programs an @dfn{X.509 certificate}
-that the client can then use to @emph{authenticate} the server.  To do that,
-clients verify that the server's certificate is signed by a so-called
address@hidden authority} (CA).  But to verify the CA's signature, clients
-must have first acquired the CA's certificate.
-
-Web browsers such as address@hidden include their own set of CA
-certificates, such that they are able to verify CA signatures
-out-of-the-box.
-
-However, most other programs that can talk address@hidden,
address@hidden, @command{w3m}, etc.---need to be told where CA certificates
-can be found.
+Les serveurs web disponibles par HTTPS (c'est-à-dire HTTP sur le mécanisme
+de la couche de transport sécurisée, TLS) envoient aux clients un
address@hidden X.509} que les clients peuvent utiliser pour
address@hidden le serveur.  Pour cela, les clients vérifient que le
+certificat du serveur est signé par une @dfn{autorité de certification} (AC
+ou CA).  Mais pour vérifier la signature de la CA, les clients doivent
+d'abord avoir récupéré le certificat de la CA.
+
+Les navigateurs web comme address@hidden incluent leur propre liste de
+certificats, pour qu'ils puissent vérifier les signatures des CA
+directement.
+
+Cependant, la plupart des autres programmes qui peuvent parler HTTPS —
address@hidden, @command{git}, @command{w3m}, etc — doivent savoir où
+trouver les certificats des CA.
 
 @cindex @code{nss-certs}
-In GuixSD, this is done by adding a package that provides certificates to
-the @code{packages} field of the @code{operating-system} declaration
-(@pxref{Référence de système d'exploitation}).  GuixSD includes one such 
package,
+In Guix, this is done by adding a package that provides certificates to the
address@hidden field of the @code{operating-system} declaration
+(@pxref{Référence de système d'exploitation}).  Guix includes one such package,
 @code{nss-certs}, which is a set of CA certificates provided as part of
 Mozilla's Network Security Services.
 
-Note that it is @emph{not} part of @var{%base-packages}, so you need to
-explicitly add it.  The @file{/etc/ssl/certs} directory, which is where most
-applications and libraries look for certificates by default, points to the
-certificates installed globally.
-
-Unprivileged users, including users of Guix on a foreign distro, can also
-install their own certificate package in their profile.  A number of
-environment variables need to be defined so that applications and libraries
-know where to find them.  Namely, the OpenSSL library honors the
address@hidden and @code{SSL_CERT_FILE} variables.  Some applications
-add their own environment variables; for instance, the Git version control
-system honors the certificate bundle pointed to by the @code{GIT_SSL_CAINFO}
-environment variable.  Thus, you would typically run something like:
+Remarquez qu'il ne fait @emph{pas} partie de @var{%base-packages}, donc vous
+devez explicitement l'ajouter.  Le répertoire @file{/etc/ssl/certs}, là où
+la plupart des applications et bibliothèques vont rechercher les certificats
+par défaut, pointe vers les certificats installés globalement.
+
+Les utilisateurs non privilégiés, dont les utilisateurs de Guix sur une
+distro externe, peuvent aussi installer leur propre paquet de certificats
+dans leur profil.  Un certain nombre de variables d'environnement doivent
+être définies pour que les applications et les bibliothèques puissent les
+trouver.  En particulier, la bibliothèque OpenSSL honore les variables
address@hidden et @code{SSL_CERT_FILE}.  Certaines applications
+ajoutent leurs propres variables, par exemple le système de contrôle de
+version Git honore le lot de certificats pointé par la variable
+d'environnement @code{GIT_SSL_CAINFO}.  Ainsi, vous lanceriez quelque chose
+comme ceci :
 
 @example
 $ guix package -i nss-certs
@@ -22348,107 +23102,110 @@ $ export 
SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
 $ export GIT_SSL_CAINFO="$SSL_CERT_FILE"
 @end example
 
-As another example, R requires the @code{CURL_CA_BUNDLE} environment
-variable to point to a certificate bundle, so you would have to run
-something like this:
+Un autre exemple serait R, qui requière que la variable d'environnement
address@hidden pointe sur le lot de certificats, donc vous lanceriez
+quelque chose comme ceci :
 
 @example
 $ guix package -i nss-certs
 $ export CURL_CA_BUNDLE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
 @end example
 
-For other applications you may want to look up the required environment
-variable in the relevant documentation.
+Pour d'autres applications vous pourriez avoir besoin de chercher la
+variable d'environnement requise dans leur documentation.
 
 
 @node Name Service Switch
address@hidden Name Service Switch
address@hidden Name Service Switch
 
 @cindex name service switch
 @cindex NSS
-The @code{(gnu system nss)} module provides bindings to the configuration
-file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS
-Configuration File,,, libc, The GNU C Library Reference Manual}).  In a
-nutshell, the NSS is a mechanism that allows libc to be extended with new
-``name'' lookup methods for system databases, which includes host names,
-service names, user accounts, and more (@pxref{Name Service Switch, System
+Le module @code{(gnu system nss)} fournit des liaisons pour le fichier de
+configuration du @dfn{name service switch} ou @dfn{NSS} de la libc
+(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference
+Manual}).  En résumé, NSS est un mécanisme qui permet à la libc d'être
+étendue avec de nouvelles méthodes de résolution de « noms » dans les bases
+de données du système, comme les noms d'hôtes, les noms des services, les
+comptes utilisateurs et bien plus (@pxref{Name Service Switch, System
 Databases and Name Service Switch,, libc, The GNU C Library Reference
 Manual}).
 
-The NSS configuration specifies, for each system database, which lookup
-method is to be used, and how the various methods are chained together---for
-instance, under which circumstances NSS should try the next method in the
-list.  The NSS configuration is given in the @code{name-service-switch}
-field of @code{operating-system} declarations (@pxref{Référence de système 
d'exploitation, @code{name-service-switch}}).
+La configuration de NSS spécifie, pour chaque base de données du système,
+quelle méthode de résolution utiliser, et comment les diverses méthodes sont
+enchaînées — par exemple, sous certaines circonstances, NSS devrait essayer
+la méthode suivante de la liste.  La configuration de NSS est donnée dans le
+champ @code{name-service-switch} de la déclaration @code{operating-system}
+(@pxref{Référence de système d'exploitation, @code{name-service-switch}}).
 
 @cindex nss-mdns
address@hidden .local, host name lookup
-As an example, the declaration below configures the NSS to use the
address@hidden://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns}
-back-end}, which supports host name lookups over multicast DNS (mDNS)  for
-host names ending in @code{.local}:
address@hidden .local, résolution de nom d'hôte
+Par exemple, la déclation ci-dessous configure NSS pour utiliser le
address@hidden://0pointer.de/lennart/projects/nss-mdns/, moteur
address@hidden, qui supporte la résolution de nom d'hôte sur le DNS
+multicast (mDNS) pour les noms d'hôtes terminant par @code{.local} :
 
 @example
 (name-service-switch
    (hosts (list %files    ;first, check /etc/hosts
 
-                ;; If the above did not succeed, try
-                ;; with 'mdns_minimal'.
+                ;; Si ce qui précède n'a pas fonctionné, essayer
+                ;; avec « mdns_minimal ».
                 (name-service
                   (name "mdns_minimal")
 
-                  ;; 'mdns_minimal' is authoritative for
-                  ;; '.local'.  When it returns "not found",
-                  ;; no need to try the next methods.
+                  ;; « mdns_minimal » fait autorité pour
+                  ;; « .local ».  Lorsqu'il renvoie « pas trouvé »,
+                  ;; inutile d'essayer la méthode suivante.
                   (reaction (lookup-specification
                              (not-found => return))))
 
-                ;; Then fall back to DNS.
+                ;; Puis revenir sur DNS.
                 (name-service
                   (name "dns"))
 
-                ;; Finally, try with the "full" 'mdns'.
+                ;; Enfin, essayer avec « mdns complet ».
                 (name-service
                   (name "mdns")))))
 @end example
 
-Do not worry: the @code{%mdns-host-lookup-nss} variable (see below)
-contains this configuration, so you will not have to type it if all you want
-is to have @code{.local} host lookup working.
+Ne vous inquiétez pas : la variable @code{%mdns-host-lookup-nss} (voir plus
+bas) contient cette configuration, donc vous n'avez pas besoin de tout taper
+si vous voulez simplement que la résolution de nom en @code{.local}
+fonctionne.
 
 Note that, in this case, in addition to setting the
 @code{name-service-switch} of the @code{operating-system} declaration, you
-also need to use @code{avahi-service} (@pxref{Services réseau,
address@hidden), or @var{%desktop-services}, which includes it
+also need to use @code{avahi-service-type} (@pxref{Services réseau,
address@hidden), or @var{%desktop-services}, which includes it
 (@pxref{Services de bureaux}).  Doing this makes @code{nss-mdns} accessible to
 the name service cache daemon (@pxref{Services de base, @code{nscd-service}}).
 
-For convenience, the following variables provide typical NSS configurations.
+Pour votre confort, les variables suivantes contiennent des configurations
+NSS typiques.
 
 @defvr {Variable Scheme} %default-nss
-This is the default name service switch configuration, a
address@hidden object.
+C'est la configuration NSS par défaut, un objet @code{name-service-switch}.
 @end defvr
 
 @defvr {Variable Scheme} %mdns-host-lookup-nss
-This is the name service switch configuration with support for host name
-lookup over multicast DNS (mDNS) for host names ending in @code{.local}.
+C'est la configuration NSS avec le support de la résolution de noms sur DNS
+multicast (mDNS) pour les noms d'hôtes en @code{.local}.
 @end defvr
 
-The reference for name service switch configuration is given below.  It is a
-direct mapping of the configuration file format of the C library , so please
-refer to the C library manual for more information (@pxref{NSS Configuration
-File,,, libc, The GNU C Library Reference Manual}).  Compared to the
-configuration file format of libc NSS, it has the advantage not only of
-adding this warm parenthetic feel that we like, but also static checks: you
-will know about syntax errors and typos as soon as you run @command{guix
+La référence pour la configuration de NSS est donnée ci-dessous.  C'est une
+correspondance directe avec le format de fichier de la bibliothèque C, donc
+référez-vous au manuel de la bibliothèque C pour plus d'informations
+(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference
+Manual}).  Comparé au format de fichier de configuration de NSS, cette
+configuration a l'avantage non seulement d'ajouter ces bonnes vieilles
+parenthèses, mais aussi des vérifications statiques ; vous saurez s'il y a
+des erreurs de syntaxe et des coquilles dès que vous lancerez @command{guix
 system}.
 
 @deftp {Type de données} name-service-switch
 
-This is the data type representation the configuration of libc's name
-service switch (NSS).  Each field below represents one of the supported
-system databases.
+C'est le type de données représentant la configuration de NSS.  Chaque champ
+ci-dessous représente l'un des système de bases de données supportés.
 
 @table @code
 @item aliases
@@ -22464,30 +23221,30 @@ system databases.
 @itemx rpc
 @itemx services
 @itemx shadow
-The system databases handled by the NSS.  Each of these fields must be a
-list of @code{<name-service>} objects (see below).
+Les bases de données du système gérées par NSS.  Chaque champ doit être une
+liste d'objets @code{<name-service>} (voir plus bas).
 @end table
 @end deftp
 
 @deftp {Type de données} name-service
 
-This is the data type representing an actual name service and the associated
-lookup action.
+C'est le type de données représentant un service de noms et l'action de
+résolution associée.
 
 @table @code
 @item name
-A string denoting the name service (@pxref{Services in the NSS
+Une chaîne dénotant le service de nom (@pxref{Services in the NSS
 configuration,,, libc, The GNU C Library Reference Manual}).
 
-Note that name services listed here must be visible to nscd.  This is
-achieved by passing the @code{#:name-services} argument to
address@hidden the list of packages providing the needed name services
+Remarquez que les services de dnoms listés ici doivent être visibles à
+nscd.  Cela se fait en passant la liste des paquets fournissant les services
+de noms à l'argument @code{#:name-services} de @code{nscd-service}
 (@pxref{Services de base, @code{nscd-service}}).
 
 @item reaction
-An action specified using the @code{lookup-specification} macro
+Une action spécifiée par la macro @code{lookup-specification}
 (@pxref{Actions in the NSS configuration,,, libc, The GNU C Library
-Reference Manual}).  For example:
+Reference Manual}).  Par exemple :
 
 @example
 (lookup-specification (unavailable => continue)
@@ -22497,23 +23254,24 @@ Reference Manual}).  For example:
 @end deftp
 
 @node Disque de RAM initial
address@hidden Disque de RAM initial
address@hidden Disque de RAM initial
 
 @cindex initrd
 @cindex disque de RAM initial
-For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial
-RAM disk}, or @dfn{initrd}.  An initrd contains a temporary root file system
-as well as an initialization script.  The latter is responsible for mounting
-the real root file system, and for loading any kernel modules that may be
-needed to achieve that.
-
-The @code{initrd-modules} field of an @code{operating-system} declaration
-allows you to specify Linux-libre kernel modules that must be available in
-the initrd.  In particular, this is where you would list modules needed to
-actually drive the hard disk where your root partition is---although the
-default value of @code{initrd-modules} should cover most use cases.  For
-example, assuming you need the @code{megaraid_sas} module in addition to the
-default modules to be able to access your root file system, you would write:
+Pour le démarrage, on passe au noyau Linux-Libre un @dfn{disque de RAM
+initial} ou @dfn{initrd}.  Un initrd contient un système de fichier racine
+temporaire ainsi qu'un script d'initialisation.  Ce dernier est responsable
+du montage du vrai système de fichier racine et du chargement des modules du
+noyau qui peuvent être nécessaires à cette tâche.
+
+Le champ @code{initrd-modules} d'une déclaration @code{operating-system}
+vous permet de spécifier les modules du noyau Linux-Libre qui doivent être
+disponibles dans l'initrd.  En particulier, c'est là où vous devez lister
+les modules requis pour effectivement piloter le disque dur où se trouve la
+partition racine — bien que la valeur par défaut de @code{initrd-modules}
+couvre la plupart des cas.  Par exemple, en supposant que vous ayez besoin
+du module @code{megaraid_sas} en plus des modules par défaut pour accéder à
+votre système de fichiers racine, vous écririez :
 
 @example
 (operating-system
@@ -22522,372 +23280,388 @@ default modules to be able to access your root file 
system, you would write:
 @end example
 
 @defvr {Variable Scheme} %base-initrd-modules
-This is the list of kernel modules included in the initrd by default.
+C'est la liste des modules du noyau inclus dans l'initrd par défaut.
 @end defvr
 
-Furthermore, if you need lower-level customization, the @code{initrd} field
-of an @code{operating-system} declaration allows you to specify which initrd
-you would like to use.  The @code{(gnu system linux-initrd)} module provides
-three ways to build an initrd: the high-level @code{base-initrd} procedure
-and the low-level @code{raw-initrd} and @code{expression->initrd}
-procedures.
+En plus, si vous avez besoin de paramétrages plus bas niveau, le champ
address@hidden d'une déclaration @code{operating-system} vous permet de
+spécifier quel initrd vous voudriez utiliser.  Le module @code{(gnu system
+linux-initrd)} fournit trois manières de construire un initrd : la procédure
address@hidden de haut niveau et les procédures @code{raw-initrd} et
address@hidden>initrd} de bas niveau.
 
-The @code{base-initrd} procedure is intended to cover most common uses.  For
-example, if you want to add a bunch of kernel modules to be loaded at boot
-time, you can define the @code{initrd} field of the operating system
-declaration like this:
+La procédure @code{base-initrd} est conçue pour couvrir la plupart des
+usages courants.  Par exemple, si vous voulez ajouter des modules du noyau à
+charger au démarrage, vous pouvez définir le champ @code{initrd} de votre
+déclaration de système d'exploitation ainsi :
 
 @example
 (initrd (lambda (file-systems . rest)
-          ;; Create a standard initrd but set up networking
-          ;; with the parameters QEMU expects by default.
+          ;; Crée un initrd standard mais paramètre le réseau
+          ;; avec les paramètres que QEMU attend par défaut.
           (apply base-initrd file-systems
                  #:qemu-networking? #t
                  rest)))
 @end example
 
-The @code{base-initrd} procedure also handles common use cases that involves
-using the system as a QEMU guest, or as a ``live'' system with volatile root
-file system.
+La procédure @code{base-initrd} gère aussi les cas d'utilisation courants
+qui concernent l'utilisation du système comme client QEMU, ou comme un
+système « live » avec un système de fichier racine volatile.
 
-The @code{base-initrd} procedure is built from @code{raw-initrd} procedure.
-Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level,
-such as trying to guess which kernel modules and packages should be included
-to the initrd. An example use of @code{raw-initrd} is when a user has a
-custom Linux kernel configuration and default kernel modules included by
address@hidden are not available.
+La procédure @code{base-initrd} est construite à partir de la procédure
address@hidden  Contrairement à @code{base-initrd}, @code{raw-initrd} ne
+fait rien à haut-niveau, comme essayer de deviner les modules du noyau et
+les paquets qui devraient être inclus dans l'initrd.  Un exemple
+d'utilisation de @code{raw-initrd} serait si un utilisateur a une
+configuration personnalisée du noyau Linux et que les modules du noyau
+inclus par défaut par @code{base-initrd} ne sont pas disponibles.
 
-The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd}
-honors several options passed on the Linux kernel command line (that is,
-arguments passed @i{via} the @code{linux} command of GRUB, or the
address@hidden option of QEMU), notably:
+Le disque de RAM initial produit par @code{base-initrd} ou @code{raw-initrd}
+honore plusieurs options passées par la ligne de commande du noyau Linux
+(c'est-à-dire les arguments passés via la commande @code{linux} de GRUB ou
+l'option @code{-append} de QEMU), notamment :
 
 @table @code
 @item address@hidden
-Tell the initial RAM disk to load @var{boot}, a file containing a Scheme
-program, once it has mounted the root file system.
+Dit au disque de RAM initial de charger @var{boot}, un fichier contenant un
+programme Scheme, une fois qu'il a monté le système de fichier racine.
 
-GuixSD uses this option to yield control to a boot program that runs the
+Guix uses this option to yield control to a boot program that runs the
 service activation programs and then spawns the address@hidden, the
 initialization system.
 
 @item address@hidden
-Mount @var{root} as the root file system.  @var{root} can be a device name
-like @code{/dev/sda1}, a file system label, or a file system UUID.
+Monte @var{root} comme système de fichier racine.  @var{root} peut être un
+nom de périphérique comme @code{/dev/sda1}, une étiquette de système de
+fichiers ou un UUID de système de fichiers.
 
 @item address@hidden
-Have @file{/run/booted-system} and @file{/run/current-system} point to
address@hidden
+S'assure que @file{/run/booted-system} et @file{/run/current-system}
+pointent vers @var{system}.
 
 @item address@hidden@dots{}
address@hidden module, black-listing
address@hidden black list, of kernel modules
-Instruct the initial RAM disk as well as the @command{modprobe} command
-(from the kmod package) to refuse to load @var{modules}.  @var{modules} must
-be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}.
address@hidden module, black-list
address@hidden black-list, des modules du noyau
+Dit au disque de RAM initial ainsi qu'à la commande @command{modprobe} (du
+paquet kmod) de refuser de charger @var{modules}.  @var{modules} doit être
+une liste de noms de modules séparés par des virgules — p.@: ex.@:
address@hidden,9pnet}.
 
 @item --repl
-Start a read-eval-print loop (REPL) from the initial RAM disk before it
-tries to load kernel modules and to mount the root file system.  Our
-marketing team calls it @dfn{boot-to-Guile}.  The Schemer in you will love
-it.  @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual},
-for more information on Guile's REPL.
+Démarre une boucle lecture-évaluation-affichage (REPL) depuis le disque de
+RAM initial avant qu'il n'essaye de charger les modules du noyau et de
+monter le système de fichiers racine.  Notre équipe commerciale appelle cela
address@hidden  Le Schemeur en vous va adorer.  @xref{Using Guile
+Interactively,,, guile, GNU Guile Reference Manual}, pour plus d'information
+sur le REPL de Guile.
 
 @end table
 
-Now that you know all the features that initial RAM disks produced by
address@hidden and @code{raw-initrd} provide, here is how to use it and
-customize it further.
+Maintenant que vous connaissez toutes les fonctionnalités des disques de RAM
+initiaux produits par @code{base-initrd} et @code{raw-initrd}, voici comment
+l'utiliser le personnalisé plus avant.
 
 @cindex initrd
 @cindex disque de RAM initial
 @deffn {Procédure Scheme} raw-initrd @var{file-systems} @
-       [#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()]
-[#:qemu-networking? #f] [#:volatile-root? #f] Return a derivation that
-builds a raw initrd.  @var{file-systems} is a list of file systems to be
-mounted by the initrd, possibly in addition to the root file system
-specified on the kernel command line via @code{--root}.  @var{linux-modules}
-is a list of kernel modules to be loaded at boot time.  @var{mapped-devices}
-is a list of device mappings to realize before @var{file-systems} are
-mounted (@pxref{Périphériques mappés}).  @var{helper-packages} is a list of
-packages to be copied in the initrd. It may include @code{e2fsck/static} or
-other packages needed by the initrd to check the root file system.
-
-When @var{qemu-networking?} is true, set up networking with the standard
-QEMU parameters.  When @var{virtio?} is true, load additional modules so
-that the initrd can be used as a QEMU guest with para-virtualized I/O
-drivers.
-
-When @var{volatile-root?} is true, the root file system is writable but any
-changes to it are lost.
+       [#:linux-modules '()] [#:mapped-devices '()] @
+[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]
+Renvoie une dérivation qui construit un initrd.  @var{file-systems} est une
+liste de systèmes de fichiers à monter par l'initrd, éventuellement en plus
+du système de fichier racine spécifié sur la ligne de commande du noyau via
address@hidden  @var{linux-modules} est une liste de modules du noyau à
+charger au démarrage.  @var{mapped-devices} est une liste de correspondances
+de périphériques à réaliser avant que les @var{file-systems} ne soient
+montés (@pxref{Périphériques mappés}).  @var{helper-packages} est une liste de
+paquets à copier dans l'initrd.  Elle peut inclure @code{e2fsck/static} ou
+d'autres paquets requis par l'initrd pour vérifier le système de fichiers
+racine.
+
+Lorsque @var{qemu-networking?} est vrai, paramètre le réseau avec les
+paramètres QEMU standards.  Lorsque @var{virtio?} est vrai, charge des
+modules supplémentaires pour que l'initrd puisse être utilisé comme client
+QEMU avec les pilotes I/O para-virtualisés.
+
+Lorsque @var{volatile-root?} est vrai, le système de fichier racine est
+inscriptible mais tous les changements seront perdus.
 @end deffn
 
 @deffn {Procédure Scheme} base-initrd @var{file-systems} @
-       [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@
-[#:linux-modules '()] Return as a file-like object a generic initrd, with
-kernel modules taken from @var{linux}.  @var{file-systems} is a list of
-file-systems to be mounted by the initrd, possibly in addition to the root
-file system specified on the kernel command line via @code{--root}.
address@hidden is a list of device mappings to realize before
address@hidden are mounted.
-
address@hidden and @var{volatile-root?} behaves as in
+       [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f] @
+[#:linux-modules '()]
+Renvoie un objet simili-fichier contenant un initrd générique, avec les
+modules du noyau de @var{linux}.  @var{file-systems} est une liste de
+systèmes de fichiers à monter par l'initrd, éventuellement en plus du
+système de fichiers racine spécifié sur la ligne de commande du noyau via
address@hidden  @var{mapped-devices} est une liste de correspondances de
+périphériques à réaliser avant de monter les @var{file-systems}.
+
address@hidden et @var{volatile-root?} se comportent comme pour
 @code{raw-initrd}.
 
-The initrd is automatically populated with all the kernel modules necessary
-for @var{file-systems} and for the given options.  Additional kernel modules
-can be listed in @var{linux-modules}.  They will be added to the initrd, and
-loaded at boot time in the order in which they appear.
+L'initrd est automatiquement remplie avec tous les modules du noyau requis
+pour @var{file-systems} et pour les options données.  On peut lister des
+modules supplémentaires dans @var{linux-modules}.  Ils seront ajoutés à
+l'initrd et chargés au démarrage dans l'ordre dans lequel ils apparaissent.
 @end deffn
 
-Needless to say, the initrds we produce and use embed a statically-linked
-Guile, and the initialization program is a Guile program.  That gives a lot
-of flexibility.  The @code{expression->initrd} procedure builds such an
-initrd, given the program to run in that initrd.
+Inutile de le dire, les initrds que nous produisons et utilisons incluent
+une version de Guile liée statiquement, et le programme d'initialisation est
+un programme Guile.  Cela donne beaucoup de flexibilité.  La procédure
address@hidden>initrd} construit un tel initrd, étant donné le programme
+à lancer dans cet initrd.
 
 @deffn {Procédure Scheme} expression->initrd @var{exp} @
-       [#:guile %guile-static-stripped] [#:name "guile-initrd"] Return as a
-file-like object a Linux initrd (a gzipped cpio archive)  containing
address@hidden and that evaluates @var{exp}, a G-expression, upon booting.  All
-the derivations referenced by @var{exp} are automatically copied to the
-initrd.
+       [#:guile %guile-static-stripped] [#:name "guile-initrd"]
+Renvoie un objet simili-fichier contenant un initrd Linux (une archive cpio
+compressée avec gzip) contenant @var{guile} et qui évalue @var{exp}, une
+G-expression, au démarrage.  Toutes les dérivations référencées par
address@hidden sont automatiquement copiées dans l'initrd.
 @end deffn
 
 @node Configuration du chargeur d'amorçage
address@hidden Configuration du chargeur d'amorçage
address@hidden Configuration du chargeur d'amorçage
 
 @cindex bootloader
address@hidden boot loader
address@hidden chargeur d'amorçage
 
-The operating system supports multiple bootloaders.  The bootloader is
-configured using @code{bootloader-configuration} declaration.  All the
-fields of this structure are bootloader agnostic except for one field,
address@hidden that indicates the bootloader to be configured and
-installed.
+Le système d'exploitation supporte plusieurs chargeurs d'amorçage.  La
+configuration du chargeur d'amorçage se fait avec la déclaration
address@hidden  Tous les champs de cette structure sont
+indépendants du chargeur d'amorçage sauf un, @code{bootloader} qui indique
+le chargeur d'amorçage à configurer et à installer.
 
-Some of the bootloaders do not honor every field of
address@hidden  For instance, the extlinux bootloader does
-not support themes and thus ignores the @code{theme} field.
+Certains chargeurs d'amorçage ne respectent pas tous les champs de
address@hidden  Par exemple, le chargeur d'amorçage
+extlinux ne supporte pas les thèmes et ignore donc le champ @code{theme}.
 
 @deftp {Type de données} bootloader-configuration
-The type of a bootloader configuration declaration.
+Le type d'une déclaration de configuration de chargeur d'amorçage.
 
 @table @asis
 
 @item @code{bootloader}
address@hidden EFI, bootloader
address@hidden UEFI, bootloader
address@hidden BIOS, bootloader
-The bootloader to use, as a @code{bootloader} object. For now
address@hidden, @code{grub-efi-bootloader},
address@hidden and @code{u-boot-bootloader} are supported.
address@hidden EFI, chargeur d'amorçage
address@hidden UEFI, chargeur d'amorçage
address@hidden BIOS, chargeur d'amorçage
+Le chargeur d'amorçage à utiliser, comme objet @code{bootloader}.  Pour
+l'instant @code{grub-bootloader}, @code{grub-efi-bootloader},
address@hidden et @code{u-boot-bootloader} sont supportés.
 
 @vindex grub-efi-bootloader
address@hidden allows to boot on modern systems using the
address@hidden Extensible Firmware Interface} (UEFI).  This is what you should
-use if the installation image contains a @file{/sys/firmware/efi} directory
-when you boot it on your system.
address@hidden permet de démarrer sur un système moderne qui
+utilise l'UEFI (@dfn{Unified Extensible Firmware Interface}).  C'est ce que
+vous devriez utiliser si l'image d'installation contient un répertoire
address@hidden/sys/firmware/efi} lorsque vous démarrez dessus sur votre machine.
 
 @vindex grub-bootloader
address@hidden allows you to boot in particular Intel-based machines
-in ``legacy'' BIOS mode.
address@hidden vous permet de démarrer en particulier sur des
+machines Intel en mode BIOS « legacy ».
 
 @cindex ARM, chargeurs d'amorçage
 @cindex AArch64, chargeurs d'amorçage
-Available bootloaders are described in @code{(gnu bootloader @dots{})}
-modules.  In particular, @code{(gnu bootloader u-boot)} contains definitions
-of bootloaders for a wide range of ARM and AArch64 systems, using the
address@hidden://www.denx.de/wiki/U-Boot/, U-Boot bootloader}.
+Les chargeurs d'amorçage disponibles sont décrits dans les modules
address@hidden(gnu bootloader @dots{})}.  En particulier, @code{(gnu bootloader
+u-boot)} contient des définitions de chargeurs d'amorçage pour une large
+gamme de systèmes ARM et AArch, à l'aide du
address@hidden://www.denx.de/wiki/U-Boot/, chargeur d'amorçage U-Boot}
 
 @item @code{target}
-This is a string denoting the target onto which to install the bootloader.
+C'est une chaîne qui dénote la cible sur laquelle installer le chargeur
+d'amorçage.
 
-The interpretation depends on the bootloader in question.  For
address@hidden, for example, it should be a device name understood
-by the bootloader @command{installer} command, such as @code{/dev/sda} or
address@hidden(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}).  
For
address@hidden, it should be the mount point of the EFI file
-system, usually @file{/boot/efi}.
+L'interprétation dépend du chargeur d'amorçage en question.  Pour
address@hidden par exemple, cela devrait être un nom de périphérique
+compris par la commande @command{installer} du chargeur d'amorçage, comme
address@hidden/dev/sda} ou @code{(hd0)} (@pxref{Invoking grub-install,,, grub, 
GNU
+GRUB Manual}).  Pour @code{grub-efi-bootloader}, cela devrait être le point
+de montage du système de fichiers EFI, typiquement @file{/boot/efi}.
 
 @item @code{menu-entries} (par défaut : @code{()})
-A possibly empty list of @code{menu-entry} objects (see below), denoting
-entries to appear in the bootloader menu, in addition to the current system
-entry and the entry pointing to previous system generations.
+Une liste éventuellement vide d'objets @code{menu-entry} (voir plus bas),
+dénotant les entrées qui doivent apparaître dans le menu du chargeur
+d'amorçage, en plus de l'entrée pour le système actuel et l'entrée pointant
+vers les générations précédentes.
 
 @item @code{default-entry} (par défaut : @code{0})
-The index of the default boot menu entry.  Index 0 is for the entry of the
-current system.
+L'index de l'entrée du menu de démarrage par défaut.  L'index 0 correspond
+au système actuel.
 
 @item @code{timeout} (par défaut : @code{5})
-The number of seconds to wait for keyboard input before booting.  Set to 0
-to boot immediately, and to -1 to wait indefinitely.
+Le nombre de secondes à attendre une entrée clavier avant de démarrer.
+Indiquez 0 pour démarre immédiatement, et -1 pour attendre indéfiniment.
 
 @item @code{theme} (par défaut : @var{#f})
-The bootloader theme object describing the theme to use.  If no theme is
-provided, some bootloaders might use a default theme, that's true for GRUB.
+L'objet de thème du chargeur d'amorçage décrivant le thème utilisé.  Si
+aucun thème n'est fournit, certains chargeurs d'amorçage peuvent utiliser un
+thème par défaut, c'est le cas de GRUB.
 
 @item @code{terminal-outputs} (par défaut : @code{'gfxterm})
-The output terminals used for the bootloader boot menu, as a list of
-symbols.  GRUB accepts the values: @code{console}, @code{serial},
address@hidden@address@hidden, @code{gfxterm}, @code{vga_text}, @code{mda_text},
address@hidden, and @code{pkmodem}.  This field corresponds to the GRUB
-variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,,
-grub,GNU GRUB manual}).
+Les terminaux de sortie utilisés par le menu de démarrage du chargeur
+d'amorçage, en tant que liste de symboles.  GRUB accepte les valeurs
address@hidden, @code{serial}, @address@hidden@}}, @code{gfxterm},
address@hidden, @code{mda_text}, @code{morse} et @code{pkmodem}.  Ce champ
+correspond à la variable GRUB @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple
+configuration,,, grub,GNU GRUB manual}).
 
 @item @code{terminal-inputs} (par défaut : @code{'()})
-The input terminals used for the bootloader boot menu, as a list of
-symbols.  For GRUB, the default is the native platform terminal as
-determined at run-time.  GRUB accepts the values: @code{console},
address@hidden, @address@hidden@}}, @code{at_keyboard}, and
address@hidden  This field corresponds to the GRUB variable
address@hidden (@pxref{Simple configuration,,, grub,GNU GRUB
-manual}).
+Les terminaux d'entrée utilisés par le menu de démarrage du chargeur
+d'amorçage, en tant que liste de symboles.  Pour GRUB, la valeur par défaut
+est le terminal natif de la plate-forme déterminé à l'exécution.  GRUB
+accepte les valeurs @code{console}, @code{serial}, @address@hidden@}},
address@hidden et @code{usb_keyboard}.  Ce champ correspond à la
+variable GRUB @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,,
+grub,GNU GRUB manual}).
 
 @item @code{serial-unit} (par défaut : @code{#f})
-The serial unit used by the bootloader, as an integer from 0 to 3.  For
-GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds
-to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual}).
+L'unitié série utilisée par le chargeur d'amorçage, en tant qu'entier entre
+0 et 3.  Pour GRUB, il est choisi à l'exécution ; actuellement GRUB choisi
+0, ce qui correspond à COM1 (@pxref{Serial terminal,,, grub,GNU GRUB
+manual}).
 
 @item @code{serial-speed} (par défaut : @code{#f})
-The speed of the serial interface, as an integer.  For GRUB, the default
-value is chosen at run-time; currently GRUB chooses address@hidden
-(@pxref{Serial terminal,,, grub,GNU GRUB manual}).
+La vitesse de l'interface série, en tant qu'entier.  Pour GRUB, la valeur
+par défaut est choisie à l'exécution ; actuellement GRUB choisi
address@hidden (@pxref{Serial terminal,,, grub,GNU GRUB manual}).
 @end table
 
 @end deftp
 
 @cindex dual boot
address@hidden boot menu
-Should you want to list additional boot menu entries @i{via} the
address@hidden field above, you will need to create them with the
address@hidden form.  For example, imagine you want to be able to boot
-another distro (hard to imagine!), you can define a menu entry along these
-lines:
address@hidden menu de démarrage
+Si vous voulez lister des entrées du menu de démarrage supplémentaires via
+le champ @code{menu-entries} ci-dessus, vous devrez les créer avec la forme
address@hidden  Par exemple, imaginons que vous souhaitiez pouvoir
+démarrer sur une autre distro (c'est difficile à concevoir !), vous pourriez
+alors définir une entrée du menu comme ceci :
 
 @example
 (menu-entry
-  (label "The Other Distro")
+  (label "L'autre distro")
   (linux "/boot/old/vmlinux-2.6.32")
   (linux-arguments '("root=/dev/sda2"))
   (initrd "/boot/old/initrd"))
 @end example
 
-Details below.
+Les détails suivent.
 
 @deftp {Type de données} menu-entry
-The type of an entry in the bootloader menu.
+Le type d'une entrée dans le menu du chargeur d'amorçage.
 
 @table @asis
 
 @item @code{label}
-The label to show in the menu---e.g., @code{"GNU"}.
+L'étiquette à montrer dans le menu — p.@: ex.@: @code{"GNU"}.
 
 @item @code{linux}
-The Linux kernel image to boot, for example:
+L'image du noyau Linux à démarrer, par exemple :
 
 @example
 (file-append linux-libre "/bzImage")
 @end example
 
-For GRUB, it is also possible to specify a device explicitly in the file
-path using GRUB's device naming convention (@pxref{Naming convention,,,
-grub, GNU GRUB manual}), for example:
+Pour GRUB, il est aussi possible de spécifier un périphérique explicitement
+dans le chemin de fichier avec la convention de nommage de GRUB
+(@pxref{Naming convention,,, grub, GNU GRUB manual}), par exemple :
 
 @example
 "(hd0,msdos1)/boot/vmlinuz"
 @end example
 
-If the device is specified explicitly as above, then the @code{device} field
-is ignored entirely.
+Si le périphérique est spécifié explicitement comme au-dessus, le champ
address@hidden est complètement ignoré.
 
 @item @code{linux-arguments} (par défaut : @code{()})
-The list of extra Linux kernel command-line arguments---e.g.,
address@hidden("console=ttyS0")}.
+La liste des arguments de la ligne de commande du noyau supplémentaires —
+p.@: ex.@: @code{("console=ttyS0")}.
 
 @item @code{initrd}
-A G-Expression or string denoting the file name of the initial RAM disk to
-use (@pxref{G-Expressions}).
+Une G-expression ou une chaîne dénotant le nom de fichier du disque de RAM
+initial à utiliser (@pxref{G-Expressions}).
 @item @code{device} (par défaut : @code{#f})
-The device where the kernel and initrd are to be found---i.e., for GRUB,
address@hidden for this menu entry (@pxref{root,,, grub, GNU GRUB manual}).
+Le périphérique où le noyau et l'initrd se trouvent — c.-à-d.@: pour GRUB,
+l'option @dfn{root} de cette entrée de menu (@pxref{root,,, grub, GNU GRUB
+manual}).
 
-This may be a file system label (a string), a file system UUID (a
-bytevector, @pxref{Systèmes de fichiers}), or @code{#f}, in which case the
-bootloader will search the device containing the file specified by the
address@hidden field (@pxref{search,,, grub, GNU GRUB manual}).  It must
address@hidden be an OS device name such as @file{/dev/sda1}.
+Cela peut être une étiquette de système de fichiers (une chaîne), un UUID de
+système de fichiers (un vecteur d'octets, @pxref{Systèmes de fichiers}) ou
address@hidden, auquel cas le chargeur d'amorçage recherchera le périphérique
+contenant le fichier spécifié par le champ @code{linux} (@pxref{search,,,
+grub, GNU GRUB manual}).  Cela ne doit @emph{pas} être un nom de
+périphérique donné par l'OS comme @file{/dev/sda1}.
 
 @end table
 @end deftp
 
 @c FIXME: Write documentation once it's stable.
-Fow now only GRUB has theme support. GRUB themes are created using the
address@hidden form, which is not documented yet.
+Pour l'instant seul GRUB supporte les thèmes.  On crée un thème GRUB avec la
+forme @code{grub-theme}, qui n'est pas encore documentée.
 
 @defvr {Variable Scheme} %default-theme
-This is the default GRUB theme used by the operating system if no
address@hidden field is specified in @code{bootloader-configuration} record.
+C'est le thème par défaut de GRUB utilisé par le système d'exploitation si
+aucun champ @code{theme} n'est spécifié dans l'enregistrement
address@hidden
 
-It comes with a fancy background image displaying the GNU and Guix logos.
+Il contient une image de fond sympathique avec les logos de GNU et de Guix.
 @end defvr
 
 
 @node Invoquer guix system
address@hidden Invoquer @code{guix system}
address@hidden Invoquer @code{guix system}
 
-Once you have written an operating system declaration as seen in the
-previous section, it can be @dfn{instantiated} using the @command{guix
-system} command.  The synopsis is:
+Une fois que vous avez écrit une déclaration de système d'exploitation comme
+nous l'avons vu dans les sections précédentes, elle peut être instanciée
+avec la commande @command{guix system}.  Voici le résumé de la commande :
 
 @example
 guix system @address@hidden @var{action} @var{file}
 @end example
 
address@hidden must be the name of a file containing an @code{operating-system}
-declaration.  @var{action} specifies how the operating system is
-instantiated.  Currently the following values are supported:
address@hidden doit être le nom d'un fichier contenant une déclaration
address@hidden  @var{action} spécifie comme le système
+d'exploitation est instancié.  Actuellement les valeurs suivantes sont
+supportées :
 
 @table @code
 @item search
-Display available service type definitions that match the given regular
-expressions, sorted by relevance:
+Affiche les définitions des types de services disponibles qui correspondent
+aux expressions régulières données, triées par pertinence.
 
 @example
 $ guix system search console font
 name: console-fonts
-location: gnu/services/base.scm:729:2
+location: gnu/services/base.scm:773:2
 extends: shepherd-root
-description: Install the given fonts on the specified ttys (fonts are
-+ per virtual console on GNU/Linux).  The value of this service is a list
-+ of tty/font pairs like:
+description: Installe des polices données sur les ttys spécifiés (les polices 
sont par console virtuelle sous GNU/Linux).  la valeur de ces service est une 
liste de paires
++ de tty/police comme ceci :
 + 
 +      '(("tty1" . "LatGrkCyr-8x16"))
-relevance: 20
+relevance: 16
 
 name: mingetty
-location: gnu/services/base.scm:1048:2
+location: gnu/services/base.scm:1144:2
 extends: shepherd-root
-description: Provide console login using the `mingetty' program.
-relevance: 2
+description: Fournit la connexion en console avec le programme `mingetty'.
+relevance: 4
 
 name: login
-location: gnu/services/base.scm:775:2
+location: gnu/services/base.scm:819:2
 extends: pam
-description: Provide a console log-in service as specified by its
-+ configuration value, a `login-configuration' object.
-relevance: 2
+description: Fournit un service de connexion en console tel que spécifié par 
sa valeur de configuration, un objet `login-configuration'.
+relevance: 4
 
 @dots{}
 @end example
 
-As for @command{guix package --search}, the result is written in
address@hidden format, which makes it easy to filter the output
-(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual}).
+Comme pour @command{guix package --search}, le résultat est écrit au format
address@hidden, ce qui rend facile le filtrage de la sortie (@pxref{Top,
+GNU recutils databases,, recutils, GNU recutils manual}).
 
 @item reconfigure
 Build the operating system described in @var{file}, activate it, and switch
 to address@hidden action (and the related actions @code{switch-generation}
-and @code{roll-back}) are usable only on systems already running GuixSD.}.
+and @code{roll-back}) are usable only on systems already running Guix
+System.}.
 
 This effects all the configuration specified in @var{file}: user accounts,
 system services, global package list, setuid programs, etc.  The command
@@ -22896,168 +23670,217 @@ running; if a service is currently running this 
command will arrange for it
 to be upgraded the next time it is stopped (e.g.@: by @code{herd stop X} or
 @code{herd restart X}).
 
-This command creates a new generation whose number is one greater than the
-current generation (as reported by @command{guix system list-generations}).
-If that generation already exists, it will be overwritten.  This behavior
-mirrors that of @command{guix package} (@pxref{Invoquer guix package}).
+Cette commande crée une nouvelle génération dont le numéro est un de plus
+que la génération actuelle (rapportée par @command{guix system
+list-generations}).  Si cette génération existe déjà, elle sera réécrite.
+Ce comportement correspond à celui de @command{guix package}
+(@pxref{Invoquer guix package}).
 
-It also adds a bootloader menu entry for the new OS configuration, ---unless
address@hidden is passed.  For GRUB, it moves entries for older
-configurations to a submenu, allowing you to choose an older system
-generation at boot time should you need it.
+Elle ajoute aussi une entrée de menu du chargeur d'amorçage pour la nouvelle
+configuration, à moins que @option{--no-bootloader} ne soit passé.  Pour
+GRUB, elle déplace les entrées pour les anciennes configurations dans un
+sous-menu, ce qui vous permet de choisir une ancienne génération au
+démarrage si vous en avez besoin.
 
 @quotation Remarque
 @c The paragraph below refers to the problem discussed at
 @c <http://lists.gnu.org/archive/html/guix-devel/2014-08/msg00057.html>.
-It is highly recommended to run @command{guix pull} once before you run
address@hidden system reconfigure} for the first time (@pxref{Invoquer guix 
pull}).  Failing to do that you would see an older version of Guix once
address@hidden has completed.
+Il est grandement recommandé de lancer @command{guix pull} une fois avant de
+lancer @command{guix system reconfigure} pour la première fois
+(@pxref{Invoquer guix pull}).  Sans cela, vous verriez une version plus
+ancienne de Guix une fois @command{reconfigure} terminé.
 @end quotation
 
 @item switch-generation
 @cindex générations
-Switch to an existing system generation.  This action atomically switches
-the system profile to the specified system generation.  It also rearranges
-the system's existing bootloader menu entries.  It makes the menu entry for
-the specified system generation the default, and it moves the entries for
-the other generatiors to a submenu, if supported by the bootloader being
-used.  The next time the system boots, it will use the specified system
-generation.
+Passe à une génération existante du système.  Cette action change
+automatiquement le profil système vers la génération spécifiée.  Elle
+réarrange aussi les entrées existantes du menu du chargeur d'amorçage du
+système.  Elle fait de l'entrée du menu pour la génération spécifiée
+l'entrée par défaut et déplace les entrées pour les autres générations dans
+un sous-menu, si cela est supporté par le chargeur d'amorçage utilisé.  Lors
+du prochain démarrage du système, la génération du système spécifiée sera
+utilisée.
 
-The bootloader itself is not being reinstalled when using this command.
-Thus, the installed bootloader is used with an updated configuration file.
+Le chargeur d'amorçage lui-même n'est pas réinstallé avec cette commande.
+Ainsi, le chargeur d'amorçage est utilisé avec un fichier de configuration
+plus à jour.
 
-The target generation can be specified explicitly by its generation number.
-For example, the following invocation would switch to system generation 7:
+La génération cible peut être spécifiée explicitement par son numéro de
+génération.  Par exemple, l'invocation suivante passerait à la génération 7
+du système :
 
 @example
 guix system switch-generation 7
 @end example
 
-The target generation can also be specified relative to the current
-generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3
-generations ahead of the current generation,'' and @code{-1} means ``1
-generation prior to the current generation.'' When specifying a negative
-value such as @code{-1}, you must precede it with @code{--} to prevent it
-from being parsed as an option.  For example:
+La génération cible peut aussi être spécifiée relativement à la génération
+actuelle avec la forme @code{+N} ou @code{-N}, où @code{+3} signifie « trois
+générations après la génération actuelle » et @code{-1} signifie « une
+génération précédent la génération actuelle ».  Lorsque vous spécifiez un
+nombre négatif comme @code{-1}, il doit être précédé de @code{--} pour
+éviter qu'il ne soit compris comme une option.  Par exemple :
 
 @example
 guix system switch-generation -- -1
 @end example
 
-Currently, the effect of invoking this action is @emph{only} to switch the
-system profile to an existing generation and rearrange the bootloader menu
-entries.  To actually start using the target system generation, you must
-reboot after running this action.  In the future, it will be updated to do
-the same things as @command{reconfigure}, like activating and deactivating
-services.
+Actuellement, l'effet de l'invocation de cette action est @emph{uniquement}
+de passer au profil du système vers une autre génération existante et de
+réarranger le menu du chargeur d'amorçage. Pour vraiment commencer à
+utiliser la génération spécifiée, vous devez redémarrer après avoir lancé
+cette action.  Dans le futur, elle sera corrigée pour faire la même chose
+que @command{reconfigure}, comme réactiver et désactiver les services.
 
-This action will fail if the specified generation does not exist.
+Cette action échouera si la génération spécifiée n'existe pas.
 
 @item roll-back
 @cindex revenir en arrière
-Switch to the preceding system generation.  The next time the system boots,
-it will use the preceding system generation.  This is the inverse of
address@hidden, and it is exactly the same as invoking
address@hidden with an argument of @code{-1}.
+Passe à la génération précédente du système.  Au prochain démarrage, la
+génération précédente sera utilisée.  C'est le contraire de
address@hidden, et c'est exactement comme invoquer
address@hidden avec pour argument @code{-1}.
+
+Actuellement, comme pour @command{switch-generation}, vous devez redémarrer
+après avoir lancé cette action pour vraiment démarrer sur la génération
+précédente du système.
+
address@hidden delete-generations
address@hidden deleting system generations
address@hidden saving space
+Delete system generations, making them candidates for garbage collection
+(@pxref{Invoquer guix gc}, for information on how to run the ``garbage
+collector'').
+
+This works in the same way as @command{guix package --delete-generations}
+(@pxref{Invoquer guix package, @code{--delete-generations}}).  With no
+arguments, all system generations but the current one are deleted:
+
address@hidden
+guix system delete-generations
address@hidden example
 
-Currently, as with @command{switch-generation}, you must reboot after
-running this action to actually start using the preceding system generation.
+You can also select the generations you want to delete.  The example below
+deletes all the system generations that are more than two month old:
+
address@hidden
+guix system delete-generations 2m
address@hidden example
+
+Running this command automatically reinstalls the bootloader with an updated
+list of menu entries---e.g., the ``old generations'' sub-menu in GRUB no
+longer lists the generations that have been deleted.
 
 @item build
-Build the derivation of the operating system, which includes all the
-configuration files and programs needed to boot and run the system.  This
-action does not actually install anything.
+Construit la dérivation du système d'exploitation, ce qui comprend tous les
+fichiers de configuration et les programmes requis pour démarrer et lancer
+le système.  Cette action n'installe rien.
 
 @item init
 Populate the given directory with all the files necessary to run the
 operating system specified in @var{file}.  This is useful for first-time
-installations of GuixSD.  For instance:
+installations of Guix System.  For instance:
 
 @example
 guix system init my-os-config.scm /mnt
 @end example
 
-copies to @file{/mnt} all the store items required by the configuration
-specified in @file{my-os-config.scm}.  This includes configuration files,
-packages, and so on.  It also creates other essential files needed for the
-system to operate correctly---e.g., the @file{/etc}, @file{/var}, and
address@hidden/run} directories, and the @file{/bin/sh} file.
+copie tous les éléments du dépôt requis par la configuration spécifiée dans
address@hidden dans @file{/mnt}.  Cela comprend les fichiers de
+configuration, les paquets, etc.  Elle crée aussi d'autres fichiers
+essentiels requis pour que le système fonctionne correctement — p.@: ex.@:
+les répertoires @file{/etc}, @file{/var} et @file{/run} et le fichier
address@hidden/bin/sh}.
 
-This command also installs bootloader on the target specified in
address@hidden, unless the @option{--no-bootloader} option was passed.
+Cette commande installe aussi le chargeur d'amorçage sur la cible spécifiée
+dans @file{my-os-config}, à moins que l'option @option{--no-bootloader} ne
+soit passée.
 
 @item vm
address@hidden virtual machine
address@hidden machine virtuelle
 @cindex VM
 @anchor{guix system vm}
 Build a virtual machine that contains the operating system declared in
address@hidden, and return a script to run that virtual machine (VM).  Arguments
-given to the script are passed to QEMU as in the example below, which
-enables networking and requests address@hidden of RAM for the emulated machine:
address@hidden, and return a script to run that virtual machine (VM).
+
address@hidden Remarque
+The @code{vm} action and others below can use KVM support in the Linux-libre
+kernel.  Specifically, if the machine has hardware virtualization support,
+the corresponding KVM kernel module should be loaded, and the
address@hidden/dev/kvm} device node must exist and be readable and writable by 
the
+user and by the build users of the daemon (@pxref{Réglages de l'environnement 
de construction}).
address@hidden quotation
+
+Arguments given to the script are passed to QEMU as in the example below,
+which enables networking and requests address@hidden of RAM for the emulated
+machine:
 
 @example
 $ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user
 @end example
 
-The VM shares its store with the host system.
+La VM partage sont dépôt avec le système hôte.
 
-Additional file systems can be shared between the host and the VM using the
address@hidden and @code{--expose} command-line options: the former
-specifies a directory to be shared with write access, while the latter
-provides read-only access to the shared directory.
+Vous pouvez partager des fichiers supplémentaires entre l'hôte et la VM avec
+les options en ligne de commande @code{--share} et @code{--expose} : la
+première spécifie un répertoire à partager avec accès en écriture, tandis
+que le deuxième fournit un accès en lecture-seule au répertoire partagé.
 
-The example below creates a VM in which the user's home directory is
-accessible read-only, and where the @file{/exchange} directory is a
-read-write mapping of @file{$HOME/tmp} on the host:
+L'exemple ci-dessous crée une VM dans laquelle le répertoire personnel de
+l'utilisateur est accessible en lecture-seule, et où le répertoire
address@hidden/exchange} est une correspondance en lecture-écriture à
address@hidden/tmp} sur l'hôte :
 
 @example
 guix system vm my-config.scm \
    --expose=$HOME --share=$HOME/tmp=/exchange
 @end example
 
-On GNU/Linux, the default is to boot directly to the kernel; this has the
-advantage of requiring only a very tiny root disk image since the store of
-the host can then be mounted.
+Sur GNU/Linux, le comportement par défaut consiste à démarrer directement
+sur le noyau ; cela a l'avantage de n'avoir besoin que d'une toute petite
+image disque puisque le dépôt de l'hôte peut ensuite être monté.
 
-The @code{--full-boot} option forces a complete boot sequence, starting with
-the bootloader.  This requires more disk space since a root image containing
-at least the kernel, initrd, and bootloader data files must be created.  The
address@hidden option can be used to specify the size of the image.
+L'option @code{--full-boot} force une séquence de démarrage complète, en
+commençant par le chargeur d'amorçage.  Cela requiert plus d'espace disque
+puisqu'une image racine contenant au moins le noyau, l'initrd et les
+fichiers de données du chargeur d'amorçage doit être créé.  On peut utiliser
+l'option @code{--image-size} pour spécifier la taille de l'image.
 
address@hidden System images, creation in various formats
address@hidden Creating system images in various formats
address@hidden Images système, création en divers formats
address@hidden Créer des images systèmes sous différents formats
 @item vm-image
 @itemx disk-image
 @itemx docker-image
-Return a virtual machine, disk image, or Docker image of the operating
-system declared in @var{file} that stands alone.  By default, @command{guix
-system} estimates the size of the image needed to store the system, but you
-can use the @option{--image-size} option to specify a value.  Docker images
-are built to contain exactly what they need, so the @option{--image-size}
-option is ignored in the case of @code{docker-image}.
+Renvoie une machine virtuelle, une image disque ou une image Docker du
+système d'exploitation déclaré dans @var{file} qui se suffit à elle-même.
+Par défaut, @command{guix system} estime la taille de l'image requise pour
+stocker le système, mais vous pouvez utiliser l'option @option{--image-size}
+pour spécifier une valeur.  Les images Docker sont construites pour contenir
+exactement ce dont elles ont besoin, donc l'option @option{--image-size} est
+ignorée dans le cas de @code{docker-image}.
 
-You can specify the root file system type by using the
address@hidden option.  It defaults to @code{ext4}.
+Vous pouvez spécifier le type de système de fichiers racine avec l'option
address@hidden  La valeur par défaut est @code{ext4}.
 
 When using @code{vm-image}, the returned image is in qcow2 format, which the
-QEMU emulator can efficiently use. @xref{Lancer GuixSD dans une VM}, for more
+QEMU emulator can efficiently use. @xref{Running Guix in a VM}, for more
 information on how to run the image in a virtual machine.
 
-When using @code{disk-image}, a raw disk image is produced; it can be copied
-as is to a USB stick, for instance.  Assuming @code{/dev/sdc} is the device
-corresponding to a USB stick, one can copy the image to it using the
-following command:
+Lorsque vous utilisez @code{disk-image}, une image disque brute est produite
+; elle peut être copiée telle quelle sur un périphérique USB.  En supposant
+que @code{/dev/sdc} est le périphérique correspondant à une clef USB, on
+peut copier l'image dessus avec la commande suivante :
 
 @example
 # dd if=$(guix system disk-image my-os.scm) of=/dev/sdc
 @end example
 
-When using @code{docker-image}, a Docker image is produced.  Guix builds the
-image from scratch, not from a pre-existing Docker base image.  As a result,
-it contains @emph{exactly} what you define in the operating system
-configuration file.  You can then load the image and launch a Docker
-container using commands like the following:
+En utilisant @code{docker-image}, on produit une image Docker.  Guix
+construit l'image de zéro, et non à partir d'une image Docker de base
+pré-existante.  En conséquence, elle contient @emph{exactly} ce que vous
+avez défini dans le fichier de configuration du système.  Vous pouvez
+ensuite charger l'image et lancer un conteneur Docker avec des commande
+comme :
 
 @example
 image_id="$(docker load < guixsd-docker-image.tar.gz)"
@@ -23067,27 +23890,29 @@ docker run -e 
GUIX_NEW_SYSTEM=/var/guix/profiles/system \\
 @end example
 
 This command starts a new Docker container from the specified image.  It
-will boot the GuixSD system in the usual manner, which means it will start
-any services you have defined in the operating system configuration.
-Depending on what you run in the Docker container, it may be necessary to
-give the container additional permissions.  For example, if you intend to
-build software using Guix inside of the Docker container, you may need to
-pass the @option{--privileged} option to @code{docker run}.
+will boot the Guix system in the usual manner, which means it will start any
+services you have defined in the operating system configuration.  Depending
+on what you run in the Docker container, it may be necessary to give the
+container additional permissions.  For example, if you intend to build
+software using Guix inside of the Docker container, you may need to pass the
address@hidden option to @code{docker run}.
 
 @item conteneur
-Return a script to run the operating system declared in @var{file} within a
-container.  Containers are a set of lightweight isolation mechanisms
-provided by the kernel Linux-libre.  Containers are substantially less
-resource-demanding than full virtual machines since the kernel, shared
-objects, and other resources can be shared with the host system; this also
-means they provide thinner isolation.
+Renvoie un script qui lance le système d'exploitation déclaré dans
address@hidden dans un conteneur.  Les conteneurs sont un ensemble de mécanismes
+d'isolation légers fournis par le noyau Linux-libre.  Les conteneurs sont
+substantiellement moins gourmands en ressources que les machines virtuelles
+complètes car le noyau, les objets partagés et d'autres ressources peuvent
+être partagés avec le système hôte ; cela signifie aussi une isolation moins
+complète.
 
-Currently, the script must be run as root in order to support more than a
-single user and group.  The container shares its store with the host system.
+Actuellement, le script doit être lancé en root pour pouvoir supporter plus
+d'un utilisateur et d'un groupe.  Le conteneur partage son dépôt avec le
+système hôte.
 
-As with the @code{vm} action (@pxref{guix system vm}), additional file
-systems to be shared between the host and container can be specified using
-the @option{--share} and @option{--expose} options:
+Comme avec l'action @code{vm} (@pxref{guix system vm}), des systèmes de
+fichiers supplémentaires peuvent être partagés entre l'hôte et le conteneur
+avec les options @option{--share} et @option{--expose} :
 
 @example
 guix system container my-config.scm \
@@ -23095,52 +23920,53 @@ guix system container my-config.scm \
 @end example
 
 @quotation Remarque
-This option requires Linux-libre 3.19 or newer.
+Cette option requiert Linux-libre  ou supérieur.
 @end quotation
 
 @end table
 
address@hidden can contain any of the common build options (@pxref{Options de 
construction communes}).  In addition, @var{options} can contain one of the
-following:
address@hidden peut contenir n'importe quelle option commune de construction
+(@pxref{Options de construction communes}).  En plus, @var{options} peut 
contenir l'une
+de ces options :
 
 @table @option
 @item address@hidden
 @itemx -e @var{expr}
 Consider the operating-system @var{expr} evaluates to.  This is an
 alternative to specifying a file which evaluates to an operating system.
-This is used to generate the GuixSD installer @pxref{Construire l'image 
d'installation}).
+This is used to generate the Guix system installer @pxref{Construire l'image 
d'installation}).
 
 @item address@hidden
 @itemx -s @var{système}
-Attempt to build for @var{system} instead of the host system type.  This
-works as per @command{guix build} (@pxref{Invoquer guix build}).
+Essaye de construire pour @var{system} au lieu du type du système hôte.
+Cela fonction comme pour @command{guix build} (@pxref{Invoquer guix build}).
 
 @item --derivation
 @itemx -d
-Return the derivation file name of the given operating system without
-building anything.
+Renvoie le nom du fichier de dérivation du système d'exploitation donné sans
+rien construire.
 
 @item address@hidden
 @itemx -t @var{type}
-For the @code{disk-image} action, create a file system of the given
address@hidden on the image.
+Pour l'action @code{disk-image}, crée un système de fichier du @var{type}
+donné sur l'image.
 
-When this option is omitted, @command{guix system} uses @code{ext4}.
+Lorsque cette option est omise, @command{guix system} utilise @code{ext4}.
 
address@hidden ISO-9660 format
address@hidden CD image format
address@hidden DVD image format
address@hidden produces an ISO-9660 image, suitable for
-burning on CDs and DVDs.
address@hidden format ISO-9660
address@hidden format d'image de CD
address@hidden format d'image de DVD
address@hidden produit une image ISO-9660, qu'il est
+possible de graver sur un CD ou un DVD.
 
 @item address@hidden
-For the @code{vm-image} and @code{disk-image} actions, create an image of
-the given @var{size}.  @var{size} may be a number of bytes, or it may
-include a unit as a suffix (@pxref{Block size, size specifications,,
+Pour les actions @code{vm-image} et @code{disk-image}, crée une image de la
+taille donnée @var{size}.  @var{size} peut être un nombre d'octets ou
+contenir un suffixe d'unité (@pxref{Block size, size specifications,,
 coreutils, GNU Coreutils}).
 
-When this option is omitted, @command{guix system} computes an estimate of
-the image size as a function of the size of the system declared in
+Lorsque cette option est omise, @command{guix system} calcule une estimation
+de la taille de l'image en fonction de la taille du système déclaré dans
 @var{file}.
 
 @item address@hidden
@@ -23149,59 +23975,58 @@ Fait de @var{fichier} un lien symbolique vers le 
résultat, et l'enregistre
 en tant que racine du ramasse-miettes.
 
 @item --skip-checks
-Skip pre-installation safety checks.
-
-By default, @command{guix system init} and @command{guix system reconfigure}
-perform safety checks: they make sure the file systems that appear in the
address@hidden declaration actually exist (@pxref{Systèmes de fichiers}),
-and that any Linux kernel modules that may be needed at boot time are listed
-in @code{initrd-modules} (@pxref{Disque de RAM initial}).  Passing this option
-skips these tests altogether.
-
+Passe les vérifications de sécurité avant l'installation.
+
+Par défaut, @command{guix system init} et @command{guix system reconfigure}
+effectuent des vérifications de sécurité : ils s'assurent que les systèmes
+de fichiers qui apparaissent dans la déclaration @code{operating-system}
+existent vraiment (@pxref{Systèmes de fichiers}) et que les modules de noyau 
Linux
+qui peuvent être requis au démarrage sont listés dans @code{initrd-modules}
+(@pxref{Disque de RAM initial}).  Passer cette option saute ces vérifications
+complètement.
+
address@hidden on-error
address@hidden on-error strategy
address@hidden error strategy
 @item address@hidden
-Apply @var{strategy} when an error occurs when reading @var{file}.
address@hidden may be one of the following:
+Applique @var{strategy} lorsqu'une erreur arrive lors de la lecture de
address@hidden  @var{strategy} peut être l'une des valeurs suivantes :
 
 @table @code
 @item nothing-special
-Report the error concisely and exit.  This is the default strategy.
+Rapporte l'erreur de manière concise et quitte.  C'est la stratégie par
+défaut.
 
 @item backtrace
-Likewise, but also display a backtrace.
+Pareil, mais affiche aussi une trace de débogage.
 
 @item debug
-Report the error and enter Guile's debugger.  From there, you can run
-commands such as @code{,bt} to get a backtrace, @code{,locals} to display
-local variable values, and more generally inspect the state of the program.
address@hidden Commands,,, guile, GNU Guile Reference Manual}, for a list of
-available debugging commands.
+Rapporte l'erreur et entre dans le débogueur Guile.  À partir de là, vous
+pouvez lancer des commandes comme @code{,bt} pour obtenir une trace de
+débogage, @code{,locals} pour afficher les valeurs des variables locales et
+plus généralement inspecter l'état du programme.  @xref{Debug Commands,,,
+guile, GNU Guile Reference Manual}, pour une liste de commandes de débogage
+disponibles.
 @end table
 @end table
 
address@hidden Remarque
-All the actions above, except @code{build} and @code{init}, can use KVM
-support in the Linux-libre kernel.  Specifically, if the machine has
-hardware virtualization support, the corresponding KVM kernel module should
-be loaded, and the @file{/dev/kvm} device node must exist and be readable
-and writable by the user and by the build users of the daemon (@pxref{Réglages 
de l'environnement de construction}).
address@hidden quotation
-
 Once you have built, configured, re-configured, and re-re-configured your
-GuixSD installation, you may find it useful to list the operating system
+Guix installation, you may find it useful to list the operating system
 generations available on disk---and that you can choose from the bootloader
 boot menu:
 
 @table @code
 
 @item list-generations
-List a summary of each generation of the operating system available on disk,
-in a human-readable way.  This is similar to the @option{--list-generations}
-option of @command{guix package} (@pxref{Invoquer guix package}).
+Affiche un résumé de chaque génération du système d'exploitation disponible
+sur le disque, dans un format lisible pour un humain.  C'est similaire à
+l'option @option{--list-generations} de @command{guix package}
+(@pxref{Invoquer guix package}).
 
-Optionally, one can specify a pattern, with the same syntax that is used in
address@hidden package --list-generations}, to restrict the list of
-generations displayed.  For instance, the following command displays
-generations that are up to 10 days old:
+Éventuellement, on peut spécifier un motif, avec la même syntaxe utilisée
+pour @command{guix package --list-generations}, pour restreindre la liste
+des générations affichées.  Par exemple, la commande suivante affiche les
+générations de moins de 10 jours :
 
 @example
 $ guix system list-generations 10d
@@ -23209,39 +24034,43 @@ $ guix system list-generations 10d
 
 @end table
 
-The @command{guix system} command has even more to offer! The following
-sub-commands allow you to visualize how your system services relate to each
-other:
+La commande @command{guix system} a même plus à proposer !  Les
+sous-commandes suivantes vous permettent de visualiser comme vos services
+systèmes sont liés les uns aux autres :
 
 @anchor{system-extension-graph}
 @table @code
 
 @item extension-graph
-Emit in Dot/Graphviz format to standard output the @dfn{service extension
-graph} of the operating system defined in @var{file} (@pxref{Composition de 
services}, for more information on service extensions.)
+Affiche le @dfn{graphe d'extension des services} du système d'exploitation
+défini dans @var{file} au format Dot/Graphviz sur la sortie standard
+(@pxref{Composition de services}, pour plus d'informations sur l'extension des
+services).
 
-The command:
+La commande :
 
 @example
 $ guix system extension-graph @var{file} | dot -Tpdf > services.pdf
 @end example
 
-produces a PDF file showing the extension relations among services.
+produit un fichier PDF montrant les relations d'extension entre les
+services.
 
 @anchor{system-shepherd-graph}
 @item shepherd-graph
-Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of
-shepherd services of the operating system defined in @var{file}.
address@hidden Shepherd}, for more information and for an example graph.
+Affiche le @dfn{graphe de dépendance} des services shepherd du système
+d'exploitation défini dans @var{file} au format Dot/Graphviz sur la sortie
+standard.  @xref{Services Shepherd}, pour plus d'informations et un exemple
+de graphe.
 
 @end table
 
address@hidden Lancer GuixSD dans une VM
address@hidden Running GuixSD in a Virtual Machine
address@hidden Running Guix in a VM
address@hidden Running Guix in a Virtual Machine
 
address@hidden virtual machine
-To run GuixSD in a virtual machine (VM), one can either use the pre-built
-GuixSD VM image distributed at
address@hidden machine virtuelle
+To run Guix in a virtual machine (VM), one can either use the pre-built Guix
+VM image distributed at
 @indicateurl{https://alpha.gnu.org/gnu/guix/address@hidden@var{system}.xz}
 , or build their own virtual machine image using @command{guix system
 vm-image} (@pxref{Invoquer guix system}).  The returned image is in qcow2
@@ -23249,10 +24078,12 @@ format, which the @uref{http://qemu.org/, QEMU 
emulator} can efficiently
 use.
 
 @cindex QEMU
-If you built your own image, you must copy it out of the store (@pxref{Le 
dépôt}) and give yourself permission to write to the copy before you can use
-it.  When invoking QEMU, you must choose a system emulator that is suitable
-for your hardware platform.  Here is a minimal QEMU invocation that will
-boot the result of @command{guix system vm-image} on x86_64 hardware:
+Si vous construisez votre propre image, vous devez la copier en dehors du
+dépôt (@pxref{Le dépôt}) et vous donner la permission d'écrire sur la copie
+avant de pouvoir l'utiliser.  Lorsque vous invoquez QEMU, vous devez choisir
+un émulateur système correspondant à votre plate-forme matérielle.  Voici
+une invocation minimale de QEMU qui démarrera le résultat de @command{guix
+system vm-image} sur un matériel x8_64.
 
 @example
 $ qemu-system-x86_64 \
@@ -23260,84 +24091,85 @@ $ qemu-system-x86_64 \
    -enable-kvm -m 256 /tmp/qemu-image
 @end example
 
-Here is what each of these options means:
+Voici la signification de ces options :
 
 @table @code
 @item qemu-system-x86_64
-This specifies the hardware platform to emulate.  This should match the
-host.
+Cela spécifie la plate-forme matérielle à émuler.  Elle doit correspondre à
+l'hôte.
 
 @item -net user
-Enable the unprivileged user-mode network stack.  The guest OS can access
-the host but not vice versa.  This is the simplest way to get the guest OS
-online.
+Active la pile réseau non privilégiée en mode utilisateur.  L'OS émulé peut
+accéder à l'hôte mais pas l'inverse.  C'est la manière la plus simple de
+connecter le client.
 
 @item -net nic,model=virtio
-You must create a network interface of a given model.  If you do not create
-a NIC, the boot will fail.  Assuming your hardware platform is x86_64, you
-can get a list of available NIC models by running
address@hidden -net nic,model=help}.
+Vous devez créer une interface réseau d'un modèle donné.  Si vous ne créez
+pas de NIC, le démarrage échouera.  En supposant que votre plate-forme est
+x86_64, vous pouvez récupérer une liste des modèles de NIC disponibles en
+lançant @command{qemu-system-x86_64 -net nic,model=help}.
 
 @item -enable-kvm
-If your system has hardware virtualization extensions, enabling the virtual
-machine support (KVM) of the Linux kernel will make things run faster.
+Si votre système a des extensions de virtualisation matérielle, activer le
+support des machines virtuelles de Linux (KVM) accélérera les choses.
 
 @item -m 256
-RAM available to the guest OS, in mebibytes.  Defaults to address@hidden,
-which may be insufficient for some operations.
+RAM disponible sur l'OS émulé, en mébioctets.  La valeur par défaut est
address@hidden, ce qui peut ne pas suffire pour certaines opérations.
 
 @item /tmp/qemu-image
-The file name of the qcow2 image.
+Le nom de fichier de l'image qcow2.
 @end table
 
-The default @command{run-vm.sh} script that is returned by an invocation of
address@hidden system vm} does not add a @command{-net user} flag by
-default.  To get network access from within the vm add the
address@hidden(dhcp-client-service)} to your system definition and start the VM
-using @command{`guix system vm config.scm` -net user}.  An important caveat
-of using @command{-net user} for networking is that @command{ping} will not
-work, because it uses the ICMP protocol.  You'll have to use a different
-command to check for network connectivity, for example @command{guix
+Le script @command{run-vm.sh} par défaut renvoyé par une invocation de
address@hidden system vm} n'ajoute pas le drapeau @command{-net user} par
+défaut.  Pour avoir accès au réseau dans la vm, ajoutez le
address@hidden(dhcp-client-service)} à votre définition et démarrez la VM avec
address@hidden system vm config.scm` -net user}.  Un problème important avec
address@hidden user} pour le réseau, est que @command{ping} ne fonctionnera
+pas, car il utilise le protocole ICMP.  Vous devrez utiliser une autre
+commande pour vérifier la connectivité réseau, par exemple @command{guix
 download}.
 
address@hidden Connecting Through SSH
address@hidden Se connecter par SSH
 
 @cindex SSH
 @cindex serveur SSH
-To enable SSH inside a VM you need to add a SSH server like
address@hidden(dropbear-service)} or @code{(lsh-service)} to your VM.  The
address@hidden(lsh-service}) doesn't currently boot unsupervised.  It requires 
you
-to type some characters to initialize the randomness generator.  In addition
-you need to forward the SSH port, 22 by default, to the host.  You can do
-this with
+Pour activer SSH dans une VM vous devez ajouter un serveur SSH comme
address@hidden(dropbear-service)} ou @code{(lsh-service)} à votre VM.  Le 
service
address@hidden(lsh-service)} ne peut actuellement pas démarrer sans 
supervision.  Il
+a besoin que vous tapiez quelques caractères pour initialiser le générateur
+d'aléatoire.  En plus vous devez transférer le port 22, par défaut, à
+l'hôte.  Vous pouvez faire cela avec :
 
 @example
 `guix system vm config.scm` -net user,hostfwd=tcp::10022-:22
 @end example
 
-To connect to the VM you can run
+Pour vous connecter à la VM vous pouvez lancer
 
 @example
 ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022
 @end example
 
-The @command{-p} tells @command{ssh} the port you want to connect to.
address@hidden UserKnownHostsFile=/dev/null} prevents @command{ssh} from
-complaining every time you modify your @command{config.scm} file and the
address@hidden StrictHostKeyChecking=no} prevents you from having to allow a
-connection to an unknown host every time you connect.
+Le @command{-p} donne le port auquel vous voulez vous connecter à
address@hidden, @command{-o UserKnownHostsFile=/dev/null} évite que
address@hidden ne se plaigne à chaque fois que vous modifiez le fichier
address@hidden et @command{-o StrictHostKeyChecking=no} évite que vous
+n'ayez à autoriser une connexion à un hôte inconnu à chaque fois que vous
+vous connectez.
 
address@hidden Using @command{virt-viewer} with Spice
address@hidden Utiliser @command{virt-viewer} avec Spice
 
-As an alternative to the default @command{qemu} graphical client you can use
-the @command{remote-viewer} from the @command{virt-viewer} package.  To
-connect pass the @command{-spice port=5930,disable-ticketing} flag to
address@hidden  See previous section for further information on how to do
-this.
+Alternativement au client graphique @command{qemu} par défaut vous pouvez
+utiliser @command{remote-viewer} du paquet @command{virt-viewer}.  Pour vous
+connecter, passez le drapeau @command{-spice port=5930,disable-ticketing} à
address@hidden  Voir les sections précédentes pour plus d'informations sur
+comment faire cela.
 
-Spice also allows you to do some nice stuff like share your clipboard with
-your VM.  To enable that you'll also have to pass the following flags to
address@hidden:
+Spice a aussi de chouettes fonctionnalités comme le partage de votre
+presse-papier avec la VM.  Pour activer cela vous devrez aussi passer les
+drapeaux suivants à @command{qemu} :
 
 @example
 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5
@@ -23346,14 +24178,14 @@ your VM.  To enable that you'll also have to pass the 
following flags to
 name=com.redhat.spice.0
 @end example
 
-You'll also need to add the @pxref{Services divers, Spice service}.
+Vous devrez aussi ajouter le @pxref{Services divers, Spice service}.
 
 @node Définir des services
address@hidden Définir des services
address@hidden Définir des services
 
-The previous sections show the available services and how one can combine
-them in an @code{operating-system} declaration.  But how do we define them
-in the first place? And what is a service anyway?
+Les sections précédentes montrent les services disponibles et comment on
+peut les combiner dans une déclaration @code{operating-system}.  Mais, déjà,
+comment les définir ?  Et qu'est-ce qu'un service au fait ?
 
 @menu
 * Composition de services::  Le modèle de composition des services.
@@ -23363,65 +24195,68 @@ in the first place? And what is a service anyway?
 @end menu
 
 @node Composition de services
address@hidden Composition de services
address@hidden Composition de services
 
 @cindex services
address@hidden daemons
-Here we define a @dfn{service} as, broadly, something that extends the
-functionality of the operating system.  Often a service is a process---a
address@hidden when the system boots: a secure shell server, a Web
-server, the Guix build daemon, etc.  Sometimes a service is a daemon whose
-execution can be triggered by another daemon---e.g., an FTP server started
-by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}.
-Occasionally, a service does not map to a daemon.  For instance, the
-``account'' service collects user accounts and makes sure they exist when
-the system runs; the ``udev'' service collects device management rules and
-makes them available to the eudev daemon; the @file{/etc} service populates
-the @file{/etc} directory of the system.
-
address@hidden service extensions
-GuixSD services are connected by @dfn{extensions}.  For instance, the secure
-shell service @emph{extends} the Shepherd---the GuixSD initialization
address@hidden démons
+Ici nous définissons un @dfn{service} comme étant, assez largement, quelque
+chose qui étend la fonctionnalité d'un système d'exploitation.  Souvent un
+service est un processus — un @dfn{démon} — démarré lorsque le système
+démarre : un serveur ssh, un serveur web, le démon de construction de Guix,
+etc.  Parfois un service est un démon dont l'exécution peut être déclenchée
+par un autre démon — p.@: ex.@: un serveur FTP démarré par @command{inetd}
+ou un service D-Bus activé par @command{dbus-daemon}.  Parfois, un service
+ne correspond pas à un démon.  Par exemple, le service « de comptes »
+récupère la liste des comptes utilisateurs et s'assure qu'ils existent bien
+lorsque le système est lancé ; le service « udev » récupère les règles de
+gestion des périphériques et les rend disponible au démon eudev ; le service
address@hidden/etc} rempli le répertoire @file{/etc} du système.
+
address@hidden extensions de service
+Guix system services are connected by @dfn{extensions}.  For instance, the
+secure shell service @emph{extends} the Shepherd---the initialization
 system, running as address@hidden giving it the command lines to start and
 stop the secure shell daemon (@pxref{Services réseau,
address@hidden); the UPower service extends the D-Bus service by
-passing it its @file{.service} specification, and extends the udev service
-by passing it device management rules (@pxref{Services de bureaux,
address@hidden); the UPower service extends the D-Bus service
+by passing it its @file{.service} specification, and extends the udev
+service by passing it device management rules (@pxref{Services de bureaux,
 @code{upower-service}}); the Guix daemon service extends the Shepherd by
 passing it the command lines to start and stop the daemon, and extends the
 account service by passing it a list of required build user accounts
 (@pxref{Services de base}).
 
-All in all, services and their ``extends'' relations form a directed acyclic
-graph (DAG).  If we represent services as boxes and extensions as arrows, a
-typical system might provide something like this:
+En définitive, les services et leurs relation « d'extensions » forment un
+graphe orienté acyclique (DAG).  Si nous représentons les services comme des
+boîtes et les extensions comme des flèches, un système typique pourrait
+fournir quelque chose comme cela :
 
address@hidden/service-graph,,5in,Typical service extension graph.}
address@hidden/service-graph,,5in,Graphe d'extension des services typique.}
 
address@hidden system service
-At the bottom, we see the @dfn{system service}, which produces the directory
-containing everything to run and boot the system, as returned by the
address@hidden system build} command.  @xref{Référence de service}, to learn
-about the other service types shown here.  @xref{system-extension-graph, the
address@hidden system extension-graph} command}, for information on how to
-generate this representation for a particular operating system definition.
address@hidden service système
+En bas, on voit le @dfn{service système} qui produit le répertoire contenant
+tout et lançant et démarrant le système, renvoyé par la commande
address@hidden system build}.  @xref{Référence de service}, pour apprendre les
+autres types de services montrés ici.  @xref{system-extension-graph, the
address@hidden system extension-graph} command}, pour plus d'informations sur
+la manière de générer cette représentation pour une définition de système
+d'exploitation particulière.
 
address@hidden service types
address@hidden types de services
 Technically, developers can define @dfn{service types} to express these
 relations.  There can be any number of services of a given type on the
 system---for instance, a system running two instances of the GNU secure
-shell server (lsh) has two instances of @var{lsh-service-type}, with
+shell server (lsh) has two instances of @code{lsh-service-type}, with
 different parameters.
 
-The following section describes the programming interface for service types
-and services.
+La section suivante décrit l'interface de programmation des types de
+services et des services.
 
 @node Types service et services
address@hidden Types service et services
address@hidden Types service et services
 
-A @dfn{service type} is a node in the DAG described above.  Let us start
-with a simple example, the service type for the Guix build daemon
-(@pxref{Invoquer guix-daemon}):
+Un @dfn{type de service} est un nœud dans le DAG décrit plus haut.
+Commençons avec un exemple simple, le type de service pour le démon de
+construction de Guix (@pxref{Invoquer guix-daemon}) :
 
 @example
 (define guix-service-type
@@ -23435,44 +24270,45 @@ with a simple example, the service type for the Guix 
build daemon
 @end example
 
 @noindent
-It defines three things:
+Il définit trois choses :
 
 @enumerate
 @item
-A name, whose sole purpose is to make inspection and debugging easier.
+Un nom, dont le seul but de rendre l'inspection et le débogage plus faciles.
 
 @item
-A list of @dfn{service extensions}, where each extension designates the
-target service type and a procedure that, given the parameters of the
-service, returns a list of objects to extend the service of that type.
+Une liste d'@dfn{extensions de services}, où chaque extension désigne le
+type de service cible et une procédure qui, étant donné les paramètres du
+service, renvoie une liste d'objets pour étendre le service de ce type.
 
-Every service type has at least one service extension.  The only exception
-is the @dfn{boot service type}, which is the ultimate service.
+Chaque type de service a au moins une extension de service.  La seule
+exception est le @dfn{type de service boot}, qui est le service ultime.
 
 @item
-Optionally, a default value for instances of this type.
+Éventuellement, une valeur par défaut pour les instances de ce type.
 @end enumerate
 
-In this example, @var{guix-service-type} extends three services:
+Dans cet exemple, @var{guix-service-type} étend trois services :
 
 @table @var
 @item shepherd-root-service-type
-The @var{guix-shepherd-service} procedure defines how the Shepherd service
-is extended.  Namely, it returns a @code{<shepherd-service>} object that
-defines how @command{guix-daemon} is started and stopped (@pxref{Services 
Shepherd}).
+La procédure @var{guix-shepherd-service} définit comment le service du
+Shepherd est étendu.  En fait, elle renvoie un objet
address@hidden<shepherd-service>} qui définit comment @command{guix-daemon} est
+démarré et stoppé (@pxref{Services Shepherd}).
 
 @item account-service-type
-This extension for this service is computed by @var{guix-accounts}, which
-returns a list of @code{user-group} and @code{user-account} objects
-representing the build user accounts (@pxref{Invoquer guix-daemon}).
+Cette extension pour ce service est calculée par @var{guix-accounts}, qui
+renvoie une liste d'objets @code{user-group} et @code{user-account}
+représentant les comptes des utilisateurs de construction (@pxref{Invoquer 
guix-daemon}).
 
 @item activation-service-type
-Here @var{guix-activation} is a procedure that returns a gexp, which is a
-code snippet to run at ``activation time''---e.g., when the service is
-booted.
+Ici, @var{guix-activation} est une procédure qui renvoie une gexp, qui est
+un bout de code qui s'exécute au moment de l'activation — p.@: ex.@: lorsque
+le service est démarré.
 @end table
 
-A service of this type is instantiated like this:
+Un service de ce type est instancié de cette manière :
 
 @example
 (service guix-service-type
@@ -23481,22 +24317,23 @@ A service of this type is instantiated like this:
            (use-substitutes? #f)))
 @end example
 
-The second argument to the @code{service} form is a value representing the
-parameters of this specific service instance.
address@hidden, @code{guix-configuration}}, for information
-about the @code{guix-configuration} data type.  When the value is omitted,
-the default value specified by @code{guix-service-type} is used:
+Le deuxième argument de la forme @code{service} est une valeur représentant
+les paramètres de cet instance spécifique du service.
address@hidden, @code{guix-configuration}}, pour plus
+d'informations sur le type de données @code{guix-configuration}.  Lorsque la
+valeur est omise, la valeur par défaut spécifiée par
address@hidden est utilisée :
 
 @example
 (service guix-service-type)
 @end example
 
address@hidden is quite simple because it extends other services
-but is not extensible itself.
address@hidden est très simple car il étend d'autres services mais
+ne peut pas être étendu.
 
 @c @subsubsubsection Extensible Service Types
 
-The service type for an @emph{extensible} service looks like this:
+Le type de service pour un service @emph{extensible} ressemble à ceci :
 
 @example
 (define udev-service-type
@@ -23505,98 +24342,100 @@ The service type for an @emph{extensible} service 
looks like this:
                  (list (service-extension shepherd-root-service-type
                                           udev-shepherd-service)))
 
-                (compose concatenate)       ;concatenate the list of rules
+                (compose concatenate)       ; concatène la liste des règles
                 (extend (lambda (config rules)
                           (match config
                             (($ <udev-configuration> udev initial-rules)
                              (udev-configuration
-                              (udev udev)   ;the udev package to use
+                              (udev udev)   ; le paquet udev à utiliser
                               (rules (append initial-rules rules)))))))))
 @end example
 
-This is the service type for the
address@hidden://wiki.gentoo.org/wiki/Project:Eudev, eudev device management
-daemon}.  Compared to the previous example, in addition to an extension of
address@hidden, we see two new fields:
+C'est le type de service pour le
address@hidden://wiki.gentoo.org/wiki/Project:Eudev, le démon de gestion des
+périphériques eudev}.  Comparé à l'exemple précédent, en plus d'une
+extension de @var{shepherd-root-service-type}, on trouve deux nouveaux
+champs :
 
 @table @code
 @item compose
-This is the procedure to @dfn{compose} the list of extensions to services of
-this type.
+C'est la procédure pour @dfn{composer} la liste des extensions de services
+de ce type.
 
-Services can extend the udev service by passing it lists of rules; we
-compose those extensions simply by concatenating them.
+Les services peuvent étendre le service udev en lui passant des listes de
+règles ; on compose ces extensions simplement en les concaténant.
 
 @item extend
-This procedure defines how the value of the service is @dfn{extended} with
-the composition of the extensions.
+Cette procédure définie comme la valeur du service est @dfn{étendue} avec la
+composition des extensions.
 
-Udev extensions are composed into a list of rules, but the udev service
-value is itself a @code{<udev-configuration>} record.  So here, we extend
-that record by appending the list of rules it contains to the list of
-contributed rules.
+Les extensions Udev sont composés en une liste de règles, mais la valeur du
+service udev est elle-même un enregistrement @code{<udev-configuration>}.
+Donc ici, nous étendons cet enregistrement en ajoutant la liste des règle
+contribuées à la liste des règles qu'il contient déjà.
 
 @item description
-This is a string giving an overview of the service type.  The string can
-contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}).  The
address@hidden system search} command searches these strings and displays
-them (@pxref{Invoquer guix system}).
+C'est une chaîne donnant un aperçu du type de service.  Elle peut contenir
+du balisage Texinfo (@pxref{Overview,,, texinfo, GNU Texinfo}).  La commande
address@hidden system search} permet de rechercher dans ces chaînes et de les
+afficher (@pxref{Invoquer guix system}).
 @end table
 
-There can be only one instance of an extensible service type such as
address@hidden  If there were more, the @code{service-extension}
-specifications would be ambiguous.
+Il ne peut y avoir qu'une instance d'un type de service extensible comme
address@hidden  S'il y en avait plus, les spécification
address@hidden seraient ambiguës.
 
-Still here? The next section provides a reference of the programming
-interface for services.
+Toujours ici ? La section suivante fournit une référence de l'interface de
+programmation des services.
 
 @node Référence de service
address@hidden Référence de service
address@hidden Référence de service
 
-We have seen an overview of service types (@pxref{Types service et services}). 
 This section provides a reference on how to manipulate services
-and service types.  This interface is provided by the @code{(gnu services)}
-module.
+Nous avons vu un résumé des types de services (@pxref{Types service et 
services}).  Cette section fournit une référence sur la manière de manipuler
+les services et les types de services.  Cette interface est fournie par le
+module @code{(gnu services)}.
 
 @deffn {Procédure Scheme} service @var{type} address@hidden
-Return a new service of @var{type}, a @code{<service-type>} object (see
-below.)  @var{value} can be any object; it represents the parameters of this
-particular service instance.
+Renvoie un nouveau service de type @var{type}, un objet
address@hidden<service-type>} (voir plus bas).  @var{value}peut être n'importe 
quel
+objet ; il représente les paramètres de cette instance particulière du
+service.
 
-When @var{value} is omitted, the default value specified by @var{type} is
-used; if @var{type} does not specify a default value, an error is raised.
+Lorsque @var{value} est omise, la valeur par défaut spécifiée par @var{type}
+est utilisée ; si @var{type} ne spécifie pas de valeur par défaut, une
+erreur est levée.
 
-For instance, this:
+Par exemple ceci :
 
 @example
 (service openssh-service-type)
 @end example
 
 @noindent
-is equivalent to this:
+est équivalent à ceci :
 
 @example
 (service openssh-service-type
          (openssh-configuration))
 @end example
 
-In both cases the result is an instance of @code{openssh-service-type} with
-the default configuration.
+Dans les deux cas le résultat est une instance de
address@hidden avec la configuration par défaut.
 @end deffn
 
 @deffn {Procédure Scheme} service? @var{obj}
-Return true if @var{obj} is a service.
+Renvoie vrai si @var{obj} est un service.
 @end deffn
 
 @deffn {Procédure Scheme} service-kind @var{service}
-Return the type of @var{service}---i.e., a @code{<service-type>} object.
+Renvoie le type de @var{service} — c.-à-d.@: un objet @code{<service-type>}.
 @end deffn
 
 @deffn {Procédure Scheme} service-value @var{service}
-Return the value associated with @var{service}.  It represents its
-parameters.
+Renvoie la valeur associée à @var{service}.  Elle représente ses paramètres.
 @end deffn
 
-Here is an example of how a service is created and manipulated:
+Voici un exemple de la manière dont un service est créé et manipulé :
 
 @example
 (define s
@@ -23614,102 +24453,105 @@ Here is an example of how a service is created and 
manipulated:
 @result{} #t
 @end example
 
-The @code{modify-services} form provides a handy way to change the
-parameters of some of the services of a list such as @var{%base-services}
-(@pxref{Services de base, @code{%base-services}}).  It evaluates to a list of
-services.  Of course, you could always use standard list combinators such as
address@hidden and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile,
-GNU Guile Reference Manual}); @code{modify-services} simply provides a more
-concise form for this common pattern.
+La forme @code{modify-services} fournit une manière pratique de modifier les
+paramètres de certains services d'une liste comme @var{%base-services}
+(@pxref{Services de base, @code{%base-services}}).  Elle s'évalue en une liste
+de services.  Bien sûr, vous pouvez toujours utiliser les combinateurs de
+liste standards comme @code{map} et @code{fold} pour cela (@pxref{SRFI-1,
+List Library,, guile, GNU Guile Reference Manual}) ; @code{modify-services}
+fournit simplement une manière plus concise pour ce besoin commun.
 
address@hidden {Scheme Syntax} modify-services @var{services} @
address@hidden {Syntaxe Scheme} modify-services @var{services} @
   (@var{type} @var{variable} => @var{body}) @dots{}
 
-Modify the services listed in @var{services} according to the given
-clauses.  Each clause has the form:
+Modifie les services listés dans @var{services} en fonction des clauses
+données.  Chaque clause à la forme :
 
 @example
 (@var{type} @var{variable} => @var{body})
 @end example
 
-where @var{type} is a service type---e.g., @code{guix-service-type}---and
address@hidden is an identifier that is bound within the @var{body} to the
-service parameters---e.g., a @code{guix-configuration} instance---of the
-original service of that @var{type}.
+où @var{type} est un type de service — p.@: ex.@: @code{guix-service-type} —
+et @var{variable} est un identifiant lié dans @var{body} aux paramètres du
+service — p.@: ex.@: une instance de @code{guix-configuration} — du service
+original de ce @var{type}.
 
-The @var{body} should evaluate to the new service parameters, which will be
-used to configure the new service.  This new service will replace the
-original in the resulting list.  Because a service's service parameters are
-created using @code{define-record-type*}, you can write a succinct
address@hidden that evaluates to the new service parameters by using the
address@hidden feature that @code{define-record-type*} provides.
+La variable @var{body} devrait s'évaluer en de nouveaux paramètres de
+service, qui seront utilisés pour configurer le nouveau service.  Ce nouveau
+service remplacera l'original dans la liste qui en résulte.  Comme les
+paramètres d'un service sont créés avec @code{define-record-type*}, vous
+pouvez écrire un @var{body} court qui s'évalue en de nouveaux paramètres
+pour le services en utilisant @code{inherit}, fourni par
address@hidden
 
address@hidden le système de configuration}, for example usage.
address@hidden le système de configuration} pour des exemples d'utilisation.
 
 @end deffn
 
-Next comes the programming interface for service types.  This is something
-you want to know when writing new service definitions, but not necessarily
-when simply looking for ways to customize your @code{operating-system}
-declaration.
+Suit l'interface de programmation des types de services.  Vous devrez la
+connaître pour écrire de nouvelles définitions de services, mais pas
+forcément lorsque vous cherchez des manières simples de personnaliser votre
+déclaration @code{operating-system}.
 
 @deftp {Type de données} service-type
 @cindex type de service
-This is the representation of a @dfn{service type} (@pxref{Types service et 
services}).
+C'est la représentation d'un @dfn{type de service} (@pxref{Types service et 
services}).
 
 @table @asis
 @item @code{name}
-This is a symbol, used only to simplify inspection and debugging.
+C'est un symbole, utilisé seulement pour simplifier l'inspection et le
+débogage.
 
 @item @code{extensions}
-A non-empty list of @code{<service-extension>} objects (see below).
+Une liste non-vide d'objets @code{<service-extension>} (voir plus bas).
 
 @item @code{compose} (par défaut : @code{#f})
-If this is @code{#f}, then the service type denotes services that cannot be
-extended---i.e., services that do not receive ``values'' from other
-services.
+S'il s'agit de @code{#f}, le type de service dénote des services qui ne
+peuvent pas être étendus — c.-à-d.@: qui ne reçoivent pas de « valeurs »
+d'autres services.
 
-Otherwise, it must be a one-argument procedure.  The procedure is called by
address@hidden and is passed a list of values collected from
-extensions.  It may return any single value.
+Sinon, ce doit être une procédure à un argument.  La procédure est appelée
+par @code{fold-services} et on lui passe une liste de valeurs collectées par
+les extensions.  Elle peut renvoyer n'importe quelle valeur simple.
 
 @item @code{extend} (par défaut : @code{#f})
-If this is @code{#f}, services of this type cannot be extended.
-
-Otherwise, it must be a two-argument procedure: @code{fold-services} calls
-it, passing it the initial value of the service as the first argument and
-the result of applying @code{compose} to the extension values as the second
-argument.  It must return a value that is a valid parameter value for the
-service instance.
+Si la valeur est @code{#f}, les services de ce type ne peuvent pas être
+étendus.
+
+Sinon, il doit s'agir 'une procédure à deux arguments : @code{fold-services}
+l'appelle et lui passe la valeur initiale du service comme premier argument
+et le résultat de l'application de @code{compose} sur les valeurs
+d'extension en second argument.  Elle doit renvoyer une valeur qui est une
+valeur de paramètre valide pour l'instance du service.
 @end table
 
address@hidden service et services}, for examples.
address@hidden service et services}, pour des exemples.
 @end deftp
 
 @deffn {Procédure Scheme} service-extension @var{target-type} @
-                              @var{compute} Return a new extension for 
services of type
address@hidden  @var{compute} must be a one-argument procedure:
address@hidden calls it, passing it the value associated with the
-service that provides the extension; it must return a valid value for the
-target service.
+                              @var{compute}
+Renvoie une nouvelle extension pour les services de type @var{target-type}.
address@hidden doit être une procédure à un argument : @code{fold-services}
+l'appelle et lui passe la valeur associée au service qui fournit cette
+extension ; elle doit renvoyer une valeur valide pour le service cible.
 @end deffn
 
 @deffn {Procédure Scheme} service-extension? @var{obj}
-Return true if @var{obj} is a service extension.
+Renvoie vrai si @var{obj} est une extension de service.
 @end deffn
 
-Occasionally, you might want to simply extend an existing service.  This
-involves creating a new service type and specifying the extension of
-interest, which can be verbose; the @code{simple-service} procedure provides
-a shorthand for this.
+Parfois, vous voudrez simplement étendre un service existant.  Cela implique
+de créer un nouveau type de service et de spécifier l'extension qui vous
+intéresse, ce qui peut être assez verbeux ; la procédure
address@hidden fournit un raccourci pour ce cas.
 
 @deffn {Procédure Scheme} simple-service @var{name} @var{target} @var{value}
-Return a service that extends @var{target} with @var{value}.  This works by
-creating a singleton service type @var{name}, of which the returned service
-is an instance.
+Renvoie un service qui étend @var{target} avec @var{value}.  Cela fonctionne
+en créant un type de service singleton @var{name}, dont le service renvoyé
+est une instance.
 
-For example, this extends mcron (@pxref{Exécution de tâches planifiées}) with 
an
-additional job:
+Par exemple, cela étend mcron (@pxref{Exécution de tâches planifiées}) avec une
+tâche supplémentaire :
 
 @example
 (simple-service 'my-mcron-job mcron-service-type
@@ -23717,219 +24559,230 @@ additional job:
 @end example
 @end deffn
 
-At the core of the service abstraction lies the @code{fold-services}
-procedure, which is responsible for ``compiling'' a list of services down to
-a single directory that contains everything needed to boot and run the
-system---the directory shown by the @command{guix system build} command
-(@pxref{Invoquer guix system}).  In essence, it propagates service
-extensions down the service graph, updating each node parameters on the way,
-until it reaches the root node.
+Au cœur de l'abstraction des services se cache la procédure
address@hidden, responsable de la « compilation » d'une liste de
+services en un répertoire unique qui contient tout ce qui est nécessaire au
+démarrage et à l'exécution du système — le répertoire indiqué par la
+commande @command{guix system build} (@pxref{Invoquer guix system}).  En
+soit, elle propage les extensions des services le long du graphe des
+services, en mettant à jour chaque paramètre des nœuds sur son chemin,
+jusqu'à atteindre le nœud racine.
 
 @deffn {Procédure Scheme} fold-services @var{services} @
-                            [#:target-type @var{system-service-type}] Fold 
@var{services} by propagating
-their extensions down to the root of type @var{target-type}; return the root
-service adjusted accordingly.
+                            [#:target-type @var{system-service-type}]
+Replie @var{services} en propageant leurs extensions jusqu'à la racine de
+type @var{target-type} ; renvoie le service racine ajusté de cette manière.
 @end deffn
 
-Lastly, the @code{(gnu services)} module also defines several essential
-service types, some of which are listed below.
+Enfin, le module @code{(gnu services)} définie aussi divers types de
+services essentiels, dont certains sont listés ci-dessous.
 
 @defvr {Variable Scheme} system-service-type
-This is the root of the service graph.  It produces the system directory as
-returned by the @command{guix system build} command.
+C'est la racine du graphe des services.  Il produit le répertoire du système
+renvoyé par la commande @command{guix system build}.
 @end defvr
 
 @defvr {Variable Scheme} boot-service-type
-The type of the ``boot service'', which produces the @dfn{boot script}.  The
-boot script is what the initial RAM disk runs when booting.
+Le type du service « boot », qui produit le @dfn{script de démarrage}.  Le
+script de démarrage est ce que le disque de RAM initial lance au démarrage.
 @end defvr
 
 @defvr {Variable Scheme} etc-service-type
-The type of the @file{/etc} service.  This service is used to create files
-under @file{/etc} and can be extended by passing it name/file tuples such
-as:
+Le type du service @file{/etc}.  Ce service est utilisé pour créer des
+fichiers dans @file{/etc} et peut être étendu en lui passant des tuples
+nom/fichier comme ceci :
 
 @example
-(list `("issue" ,(plain-file "issue" "Welcome!\n")))
+(list `("issue" ,(plain-file "issue" "Bienvenue !\n")))
 @end example
 
-In this example, the effect would be to add an @file{/etc/issue} file
-pointing to the given file.
+Dans cet exemple, l'effet serait d'ajouter un fichier @file{/etc/issue}
+pointant vers le fichier donné.
 @end defvr
 
 @defvr {Variable Scheme} setuid-program-service-type
-Type for the ``setuid-program service''.  This service collects lists of
-executable file names, passed as gexps, and adds them to the set of
-setuid-root programs on the system (@pxref{Programmes setuid}).
+Le type du « service setuid ».  Ce service récupère des listes de noms de
+fichiers exécutables, passés en tant que gexps, et les ajoute à l'ensemble
+des programmes setuid root sur le système (@pxref{Programmes setuid}).
 @end defvr
 
 @defvr {Variable Scheme} profile-service-type
-Type of the service that populates the @dfn{system profile}---i.e., the
-programs under @file{/run/current-system/profile}.  Other services can
-extend it by passing it lists of packages to add to the system profile.
+De type du service qui rempli le @dfn{profil du système} — c.-à-d.@: les
+programmes dans @file{/run/current-system/profile}.  Les autres services
+peuvent l'étendre en lui passant des listes de paquets à ajouter au profil
+du système.
 @end defvr
 
 
 @node Services Shepherd
address@hidden Services Shepherd
address@hidden Services Shepherd
 
 @cindex services shepherd
 @cindex PID 1
address@hidden init system
address@hidden système d'init
 The @code{(gnu services shepherd)} module provides a way to define services
-managed by the address@hidden, which is the GuixSD initialization
-system---the first process that is started when the system boots, also known
-as address@hidden (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}).
+managed by the address@hidden, which is the initialization system---the
+first process that is started when the system boots, also known as
address@hidden (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual}).
 
-Services in the Shepherd can depend on each other.  For instance, the SSH
-daemon may need to be started after the syslog daemon has been started,
-which in turn can only happen once all the file systems have been mounted.
-The simple operating system defined earlier (@pxref{Utiliser le système de 
configuration}) results in a service graph like this:
+Les services dans le Shepherd peuvent dépendre les uns des autres.  Par
+exemple, le démon SSH peut avoir besoin d'être démarré après le démon
+syslog, qui à son tour doit être démarré après le montage des systèmes de
+fichiers.  Le système d'exploitation simple déclaré précédemment
+(@pxref{Utiliser le système de configuration}) crée un graphe de service comme
+ceci :
 
address@hidden/shepherd-graph,,5in,Typical shepherd service graph.}
address@hidden/shepherd-graph,,5in,Graphe de service typique du shepherd.}
 
-You can actually generate such a graph for any operating system definition
-using the @command{guix system shepherd-graph} command
+Vous pouvez générer un tel graphe pour n'importe quelle définition de
+système d'exploitation avec la commande @command{guix system shepherd-graph}
 (@pxref{system-shepherd-graph, @command{guix system shepherd-graph}}).
 
-The @var{%shepherd-root-service} is a service object representing
address@hidden, of type @var{shepherd-root-service-type}; it can be extended by
-passing it lists of @code{<shepherd-service>} objects.
+La variable @var{%shepherd-root-service} est un objet de service
+représentant le address@hidden, de type @var{shepherd-root-service-type} ; il
+peut être étendu en lui passant des listes d'objets
address@hidden<shepherd-service>}.
 
 @deftp {Type de données} shepherd-service
-The data type representing a service managed by the Shepherd.
+Le type de données représentant un service géré par le Shepherd.
 
 @table @asis
 @item @code{provision}
-This is a list of symbols denoting what the service provides.
+C'est une liste de symboles dénotant ce que le service fournit.
 
-These are the names that may be passed to @command{herd start},
address@hidden status}, and similar commands (@pxref{Invoking herd,,,
+Ce sont les noms qui peuvent être passés à @command{herd start},
address@hidden status} et les commandes similaires (@pxref{Invoking herd,,,
 shepherd, The GNU Shepherd Manual}).  @xref{Slots of services, the
address@hidden slot,, shepherd, The GNU Shepherd Manual}, for details.
address@hidden slot,, shepherd, The GNU Shepherd Manual}, pour plus de
+détails.
 
 @item @code{requirements} (par défaut : @code{'()})
-List of symbols denoting the Shepherd services this one depends on.
+Liste de symboles dénotant les services du Shepherd dont celui-ci dépend.
 
 @item @code{respawn?} (par défaut : @code{#t})
-Whether to restart the service when it stops, for instance when the
-underlying process dies.
+Indique s'il faut redémarrer le service lorsqu'il s'arrête, par exemple si
+le processus sous-jacent meurt.
 
 @item @code{start}
 @itemx @code{stop} (par défaut : @code{#~(const #f)})
-The @code{start} and @code{stop} fields refer to the Shepherd's facilities
-to start and stop processes (@pxref{Service De- and Constructors,,,
-shepherd, The GNU Shepherd Manual}).  They are given as G-expressions that
-get expanded in the Shepherd configuration file (@pxref{G-Expressions}).
+Les champs @code{start} et @code{stop} se réfèrent à la capacité du Shepherd
+de démarrer et d'arrêter des processus (@pxref{Service De- and
+Constructors,,, shepherd, The GNU Shepherd Manual}).  Ils sont donnés comme
+des G-expressions qui sont étendues dans le fichier de configuration du
+Shepherd (@pxref{G-Expressions}).
 
 @item @code{actions} (par défaut : @code{'()})
 @cindex action, des services Shepherd
-This is a list of @code{shepherd-action} objects (see below) defining
address@hidden supported by the service, in addition to the standard
address@hidden and @code{stop} actions.  Actions listed here become available
-as @command{herd} sub-commands:
+C'est une liste d'objets @code{shepherd-action} (voir plus bas) définissant
+des @dfn{actions} supportées par le service, en plus des actions
address@hidden et @code{stop} standards.  Les actions listées ici sont
+disponibles en tant que sous-commande de @command{herd}.
 
 @example
 herd @var{action} @var{service} address@hidden@dots{}]
 @end example
 
 @item @code{documentation}
-A documentation string, as shown when running:
+Une chaîne de documentation, montrée lorsqu'on lance :
 
 @example
 herd doc @var{service-name}
 @end example
 
-where @var{service-name} is one of the symbols in @var{provision}
+où @var{service-name} est l'un des symboles dans @var{provision}
 (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}).
 
 @item @code{modules} (par défaut : @var{%default-modules})
-This is the list of modules that must be in scope when @code{start} and
address@hidden are evaluated.
+C'est la liste des modules qui doivent être dans le contexte lorsque
address@hidden et @code{stop} sont évalués.
 
 @end table
 @end deftp
 
 @deftp {Type de données} shepherd-action
-This is the data type that defines additional actions implemented by a
-Shepherd service (see above).
+C'est le type de données qui définie des actions supplémentaires
+implémentées par un service Shepherd (voir au-dessus).
 
 @table @code
 @item name
 Symbole nommant l'action
 
 @item documentation
-This is a documentation string for the action.  It can be viewed by running:
+C'est une chaîne de documentation pour l'action.  Elle peut être consultée
+avec :
 
 @example
 herd doc @var{service} action @var{action}
 @end example
 
 @item procedure
-This should be a gexp that evaluates to a procedure of at least one
-argument, which is the ``running value'' of the service (@pxref{Slots of
-services,,, shepherd, The GNU Shepherd Manual}).
+Cela devrait être une gexp qui s'évalue en une procédure à au moins un
+argument, la « valeur de lancement » du service (@pxref{Slots of services,,,
+shepherd, The GNU Shepherd Manual}).
 @end table
 
-The following example defines an action called @code{say-hello} that kindly
-greets the user:
+L'exemple suivant définie une action nommée @code{dire-bonjour} qui salue
+amicalement l'utilisateur :
 
 @example
 (shepherd-action
-  (name 'say-hello)
-  (documentation "Say hi!")
+  (name 'dire-bonjour)
+  (documentation "Dit salut !")
   (procedure #~(lambda (running . args)
-                 (format #t "Hello, friend! arguments: ~s\n"
+                 (format #t "Salut, l'ami ! arguments : ~s\n"
                          args)
                  #t)))
 @end example
 
-Assuming this action is added to the @code{example} service, then you can
-do:
+En supposant que cette action est ajoutée dans le service @code{example},
+vous pouvez écrire :
 
 @example
-# herd say-hello example
-Hello, friend! arguments: ()
-# herd say-hello example a b c
-Hello, friend! arguments: ("a" "b" "c")
+# herd dire-bonjour example
+Salut, l'ami ! arguments : ()
+# herd dire-bonjour example a b c
+Salut, l'ami ! arguments : ("a" "b" "c")
 @end example
 
-This, as you can see, is a fairly sophisticated way to say hello.
address@hidden Convenience,,, shepherd, The GNU Shepherd Manual}, for more
-info on actions.
+Comme vous pouvez le voir, c'est une manière assez sophistiquée de dire
+bonjour.  @xref{Service Convenience,,, shepherd, The GNU Shepherd Manual},
+pour plus d'informations sur les actions.
 @end deftp
 
 @defvr {Variable Scheme} shepherd-root-service-type
-The service type for the Shepherd ``root service''---i.e., address@hidden
+Le type de service pour le « service racine » du Shepherd — c.-à-d.@: le
address@hidden
 
-This is the service type that extensions target when they want to create
-shepherd services (@pxref{Types service et services}, for an example).
-Each extension must pass a list of @code{<shepherd-service>}.
+C'est le type de service que les extensions ciblent lorqu'elles veulent
+créer un service shepherd (@pxref{Types service et services}, pour un
+exemple).  Chaque extension doit passer une liste de
address@hidden<shepherd-service>}.
 @end defvr
 
 @defvr {Variable Scheme} %shepherd-root-service
-This service represents address@hidden
+Ce service représente le address@hidden
 @end defvr
 
 
 @node Documentation
address@hidden Documentation
-
address@hidden documentation, searching for
address@hidden searching for documentation
address@hidden Info, documentation format
address@hidden man pages
address@hidden manual pages
-In most cases packages installed with Guix come with documentation.  There
-are two main documentation formats: ``Info'', a browseable hypertext format
-used for GNU software, and ``manual pages'' (or ``man pages''), the linear
-documentation format traditionally found on Unix.  Info manuals are accessed
-with the @command{info} command or with Emacs, and man pages are accessed
-using @command{man}.
-
-You can look for documentation of software installed on your system by
-keyword.  For example, the following command searches for information about
-``TLS'' in Info manuals:
address@hidden Documentation
+
address@hidden documentation, recherche
address@hidden chercher de la documentation
address@hidden Info, format de documentation
address@hidden man, pages de manuel
address@hidden pages de manuel
+Dans la plupart des cas les paquets installés avec Guix ont une
+documentation.  Il y a deux formats de documentation principaux : « Info »,
+un format hypertexte navigable utilisé par les logiciels GNU et les « pages
+de manuel » (ou « pages de man »), le format de documentation linéaire
+traditionnel chez Unix.  Les manuels Info sont disponibles via la commande
address@hidden ou avec Emacs, et les pages de man sont accessibles via la
+commande @command{man}.
+
+Vous pouvez chercher de la documentation pour les logiciels installés sur
+votre système par mot-clef.  Par exemple, la commande suivante recherche des
+informations sur « TLS » dans les manuels Info :
 
 @example
 $ info -k TLS
@@ -23941,7 +24794,7 @@ $ info -k TLS
 @end example
 
 @noindent
-The command below searches for the same keyword in man pages:
+La commande suivante recherche le même mot-clef dans les pages de man :
 
 @example
 $ man -k TLS
@@ -23950,40 +24803,42 @@ certtool (1)         - GnuTLS certificate tool
 @dots {}
 @end example
 
-These searches are purely local to your computer so you have the guarantee
-that documentation you find corresponds to what you have actually installed,
-you can access it off-line, and your privacy is respected.
+Ces recherches sont purement locales à votre ordinateur donc vous savez que
+la documentation trouvée correspond à ce qui est effectivement installé,
+vous pouvez y accéder hors ligne et votre vie privée est préservée.
 
-Once you have these results, you can view the relevant documentation by
-running, say:
+Une fois que vous avez ces résultats, vous pouvez visualiser la
+documentation appropriée avec, disons :
 
 @example
 $ info "(gnutls)Core TLS API"
 @end example
 
 @noindent
-or:
+ou :
 
 @example
 $ man certtool
 @end example
 
-Info manuals contain sections and indices as well as hyperlinks like those
-found in Web pages.  The @command{info} reader (@pxref{Top, Info reader,,
-info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc
-Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to
-navigate manuals.  @xref{Getting Started,,, info, Info: An Introduction},
-for an introduction to Info navigation.
+Les manuels Info contiennent des sections et des indexs ainsi que des
+hyperliens comme ce qu'on trouve sur les pages Web.  Le lecteur
address@hidden (@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info})
+et sa contre-partie dans Emacs (@pxref{Misc Help,,, emacs, The GNU Emacs
+Manual}) fournissent des raccourcis claviers intuitifs pour naviguer dans
+les manuels  @xref{Getting Started,,, info, Info: An Introduction} pour
+trouver une introduction sur la navigation dans info.
 
 @node Installer les fichiers de débogage
address@hidden Installer les fichiers de débogage
address@hidden Installer les fichiers de débogage
 
address@hidden debugging files
-Program binaries, as produced by the GCC compilers for instance, are
-typically written in the ELF format, with a section containing
address@hidden information}.  Debugging information is what allows the
-debugger, GDB, to map binary code to source code; it is required to debug a
-compiled program in good conditions.
address@hidden fichiers de débogage
+Les binaires des programmes, produits par les compilateurs GCC par exemple,
+sont typiquement écrits au format ELF, avec une section contenant des
address@hidden de débogage}.  Les informations de débogage sont ce qui
+permet au débogueur, GDB, de relier le code binaire et le code source ;
+elles sont requises pour déboguer un programme compilé dans de bonnes
+conditions.
 
 Le problème avec les informations de débogage est qu'elles prennent pas mal
 de place sur le disque. Par exemple, les informations de débogage de la
@@ -23994,76 +24849,79 @@ pas empêcher le débogage — en particulier, dans le 
système GNU, qui devrait
 faciliter pour ses utilisateurs l'exercice de leurs libertés
 (@pxref{Distribution GNU}).
 
-Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a mechanism
-that allows users to get the best of both worlds: debugging information can
-be stripped from the binaries and stored in separate files.  GDB is then
-able to load debugging information from those files, when they are available
+Heureusement, les utilitaires binaires de GNU (Binutils) et GDB fournissent
+un mécanisme qui permet aux utilisateurs d'avoir le meilleur des deux mondes
+: les informations de débogage peuvent être nettoyées des binaires et
+stockées dans des fichiers séparés.  GDB peut ensuite charger les
+informations de débogage depuis ces fichiers, lorsqu'elles sont disponibles
 (@pxref{Separate Debug Files,,, gdb, Debugging with GDB}).
 
-The GNU distribution takes advantage of this by storing debugging
-information in the @code{lib/debug} sub-directory of a separate package
-output unimaginatively called @code{debug} (@pxref{Des paquets avec plusieurs 
résultats}).  Users can choose to install the @code{debug} output of a package
-when they need it.  For instance, the following command installs the
-debugging information for the GNU C Library and for GNU Guile:
+La distribution GNU se sert de cela pour stocker les informations de
+débogage dans le sous-répertoire @code{lib/debug} d'une sortie séparée du
+paquet appelée sans grande imagination @code{debug} (@pxref{Des paquets avec 
plusieurs résultats}).  Les utilisateurs peuvent choisir d'installer la sortie
address@hidden d'un paquet lorsqu'ils en ont besoin.  Par exemple, la commande
+suivante installe les informations de débogage pour la bibliothèque C de GNU
+et pour GNU Guile.
 
 @example
 guix package -i glibc:debug guile:debug
 @end example
 
-GDB must then be told to look for debug files in the user's profile, by
-setting the @code{debug-file-directory} variable (consider setting it from
-the @file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):
+On doit ensuite dire à GDB de chercher les fichiers de débogage dans le
+profil de l'utilisateur, en remplissant la variable
address@hidden (vous pourriez aussi l'instancier depuis le
+fichier @file{~/.gdbinit}, @pxref{Startup,,, gdb, Debugging with GDB}) :
 
 @example
 (gdb) set debug-file-directory ~/.guix-profile/lib/debug
 @end example
 
-From there on, GDB will pick up debugging information from the @code{.debug}
-files under @file{~/.guix-profile/lib/debug}.
+À partir de maintenant, GDB récupérera les informations de débogage dans les
+fichiers @code{.debug} de @file{~/.guix-profile/lib/debug}.
 
-In addition, you will most likely want GDB to be able to show the source
-code being debugged.  To do that, you will have to unpack the source code of
-the package of interest (obtained with @code{guix build --source},
address@hidden guix build}), and to point GDB to that source directory
-using the @code{directory} command (@pxref{Source Path, @code{directory},,
-gdb, Debugging with GDB}).
+EN plus, vous voudrez sans doute que GDB puisse montrer le code source
+débogué.  Pour cela, vous devrez désarchiver le code source du paquet qui
+vous intéresse (obtenu via @code{guix build --source}, @pxref{Invoquer guix 
build}) et pointer GDB vers ce répertoire des sources avec la commande
address@hidden (@pxref{Source Path, @code{directory},, gdb, Debugging with
+GDB}).
 
 @c XXX: keep me up-to-date
-The @code{debug} output mechanism in Guix is implemented by the
address@hidden (@pxref{Systèmes de construction}).  Currently, it is
-opt-in---debugging information is available only for the packages with
-definitions explicitly declaring a @code{debug} output.  This may be changed
-to opt-out in the future if our build farm servers can handle the load.  To
-check whether a package has a @code{debug} output, use @command{guix package
---list-available} (@pxref{Invoquer guix package}).
+Le mécanisme de la sortie @code{debug} dans Guix est implémenté par le
address@hidden (@pxref{Systèmes de construction}).  Actuellement, ce n'est pas
+obligatoire — les informations de débogage sont disponibles uniquement si
+les définitions déclarent explicitement une sortie @code{debug}.  Cela
+pourrait être modifié tout en permettant aux paquets de s'en passer dans le
+futur si nos serveurs de construction peuvent tenir la charge.  Pour
+vérifier si un paquet a une sortie @code{debug}, utilisez @command{guix
+package --list-available} (@pxref{Invoquer guix package}).
 
 
 @node Mises à jour de sécurité
address@hidden Mises à jour de sécurité
address@hidden Mises à jour de sécurité
 
address@hidden security updates
address@hidden mises à jour de sécurité
 @cindex vulnérabilités
-Occasionally, important security vulnerabilities are discovered in software
-packages and must be patched.  Guix developers try hard to keep track of
-known vulnerabilities and to apply fixes as soon as possible in the
address@hidden branch of Guix (we do not yet provide a ``stable'' branch
-containing only security updates.)  The @command{guix lint} tool helps
-developers find out about vulnerable versions of software packages in the
-distribution:
+Parfois, des vulnérabilités importantes sont découvertes dans les paquets
+logiciels et doivent être corrigées.  Les développeurs de Guix essayent de
+suivre les vulnérabilités connues et d'appliquer des correctifs aussi vite
+que possible dans la branche @code{master} de Guix (nous n'avons pas encore
+de branche « stable » contenant seulement des mises à jour de sécurité).
+L'outil @command{guix lint} aide les développeurs à trouver les versions
+vulnérables des paquets logiciels dans la distribution.
 
 @smallexample
 $ guix lint -c cve
-gnu/packages/base.scm:652:2: glibc@@2.21: probably vulnerable to 
CVE-2015-1781, CVE-2015-7547
-gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probably vulnerable to CVE-2015-5276
-gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to 
CVE-2016-1923, CVE-2016-1924
+gnu/packages/base.scm:652:2: glibc@@2.21: probablement vulnérable à 
CVE-2015-1781, CVE-2015-7547
+gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probablement vulnérable à CVE-2015-5276
+gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probablement vulnérable à 
CVE-2016-1923, CVE-2016-1924
 @dots{}
 @end smallexample
 
address@hidden guix lint}, for more information.
address@hidden guix lint}, pour plus d'informations.
 
 @quotation Remarque
-As of version @value{VERSION}, the feature described below is considered
-``beta''.
+À la version @value{VERSION}, la fonctionnalité ci-dessous est considérée
+comme « bêta ».
 @end quotation
 
 Guix suit une discipline de gestion de paquets fonctionnelle
@@ -24076,20 +24934,22 @@ d'être reconstruite. Cela aide d'utiliser des 
binaires pré-construits
 temps de souhaité.
 
 @cindex greffes
-To address this, Guix implements @dfn{grafts}, a mechanism that allows for
-fast deployment of critical updates without the costs associated with a
-whole-distribution rebuild.  The idea is to rebuild only the package that
-needs to be patched, and then to ``graft'' it onto packages explicitly
-installed by the user and that were previously referring to the original
-package.  The cost of grafting is typically very low, and order of
-magnitudes lower than a full rebuild of the dependency chain.
-
address@hidden replacements of packages, for grafts
-For instance, suppose a security update needs to be applied to Bash.  Guix
-developers will provide a package definition for the ``fixed'' Bash, say
address@hidden, in the usual way (@pxref{Définition des paquets}).  Then, the
-original package definition is augmented with a @code{replacement} field
-pointing to the package containing the bug fix:
+Pour corriger cela, Guix implémente les @dfn{greffes}, un mécanisme qui
+permet un déploiement rapide des mises à jour de sécurité critiques sans le
+coût associé à une reconstruction complète de la distribution.  L'idée est
+de reconstruire uniquement le paquet qui doit être corrigé puis de le «
+greffer » sur les paquets qui sont explicitement installés par l'utilisateur
+et qui se référaient avant au paquet d'origine.  Le coût d'une greffe est
+typiquement très bas, et plusieurs ordres de grandeurs moins élevé que de
+reconstruire tout la chaîne de dépendance.
+
address@hidden remplacement de paquet, pour les greffes
+Par exemple, supposons qu'une mise à jour de sécurité doive être appliquée à
+Bash.  Les développeurs de Guix fourniront une définition de paquet pour le
+Bash « corrigé », disons @var{bash-fixed}, de la manière habituelle
+(@pxref{Définition des paquets}).  Ensuite, la définition originale du paquet 
est
+augmentée avec un champ @code{replacement} qui pointe vers le paquet
+contenant le correctif de sécurité :
 
 @example
 (define bash
@@ -24099,44 +24959,44 @@ pointing to the package containing the bug fix:
     (replacement bash-fixed)))
 @end example
 
-From there on, any package depending directly or indirectly on Bash---as
-reported by @command{guix gc --requisites} (@pxref{Invoquer guix gc})---that
-is installed is automatically ``rewritten'' to refer to @var{bash-fixed}
-instead of @var{bash}.  This grafting process takes time proportional to the
-size of the package, usually less than a minute for an ``average'' package
-on a recent machine.  Grafting is recursive: when an indirect dependency
-requires grafting, then grafting ``propagates'' up to the package that the
-user is installing.
+À partir de maintenant, tout paquet dépendant directement ou indirectement
+de Bash — rapporté par @command{guix gc --requisites} (@pxref{Invoquer guix 
gc}) — installé est automatiquement « réécrit » pour se référer à
address@hidden au lieu de @var{bash}.  Ce processus de greffe prend du
+temps en proportion de la taille du paquet, typiquement moins d'une minute
+pour un paquet de taille « moyenne » sur une machine récente.  La greffe est
+récursive : lorsqu'une dépendance indirecte a besoin d'être greffée, la
+greffe se « propage » jusqu'au paquet que l'utilisateur installe.
 
-Currently, the length of the name and version of the graft and that of the
-package it replaces (@var{bash-fixed} and @var{bash} in the example above)
-must be equal.  This restriction mostly comes from the fact that grafting
-works by patching files, including binary files, directly.  Other
-restrictions may apply: for instance, when adding a graft to a package
-providing a shared library, the original shared library and its replacement
-must have the same @code{SONAME} and be binary-compatible.
+Actuellement la longueur du nom et la version de la greffe et du paquet
+qu'il remplace (@var{bash-fixed} et @var{bash} dans l'exemple ci-dessus)
+doivent être identiques.  Cette restriction vient surtout du fait que la
+greffe fonctionne en corrigeant les fichiers, dont des fichiers binaires,
+directement.  D'autres restrictions peuvent apparaître : par exemple, si
+vous ajoutez une greffe à un paquet fournissant une bibliothèque partagée,
+la bibliothèque partagée originale et son remplacement doivent avoir le même
address@hidden et être compatibles au niveau binaire.
 
-The @option{--no-grafts} command-line option allows you to forcefully avoid
-grafting (@pxref{Options de construction communes, @option{--no-grafts}}).  
Thus, the
-command:
+L'option en ligne de commande @option{--no-grafts} vous permet d'éviter les
+greffes (@pxref{Options de construction communes, @option{--no-grafts}}).  
Donc la
+commande :
 
 @example
 guix build bash --no-grafts
 @end example
 
 @noindent
-returns the store file name of the original Bash, whereas:
+renvoie le nom de fichier dans les dépôt du Bash original, alors que :
 
 @example
 guix build bash
 @end example
 
 @noindent
-returns the store file name of the ``fixed'', replacement Bash.  This allows
-you to distinguish between the two variants of Bash.
+renvoie le nom de fichier du Bash « corrigé » de remplacement.  Cela vous
+permet de distinguer les deux variantes de Bash.
 
-To verify which Bash your whole profile refers to, you can run
-(@pxref{Invoquer guix gc}):
+Pour vérifier à quel Bash votre profil se réfère, vous pouvez lancer
+(@pxref{Invoquer guix gc}) :
 
 @example
 guix gc -R `readlink -f ~/.guix-profile` | grep bash
@@ -24144,554 +25004,62 @@ guix gc -R `readlink -f ~/.guix-profile` | grep bash
 
 @noindent
 @dots{} and compare the store file names that you get with those above.
-Likewise for a complete GuixSD system generation:
+Likewise for a complete Guix system generation:
 
 @example
 guix gc -R `guix system build my-config.scm` | grep bash
 @end example
 
-Lastly, to check which Bash running processes are using, you can use the
address@hidden command:
+Enfin, pour vérifier quelles processus Bash lancés vous utilisez, vous
+pouvez utiliser la commande @command{lsof} :
 
 @example
 lsof | grep /gnu/store/.*bash
 @end example
 
 
address@hidden Modules de paquets
address@hidden Modules de paquets
-
-From a programming viewpoint, the package definitions of the GNU
-distribution are provided by Guile modules in the @code{(gnu packages
address@hidden)} name address@hidden that packages under the @code{(gnu
-packages @dots{})} module name space are not necessarily ``GNU packages''.
-This module naming scheme follows the usual Guile module naming convention:
address@hidden means that these modules are distributed as part of the GNU
-system, and @code{packages} identifies modules that define packages.}
-(@pxref{Modules, Guile modules,, guile, GNU Guile Reference Manual}).  For
-instance, the @code{(gnu packages emacs)} module exports a variable named
address@hidden, which is bound to a @code{<package>} object (@pxref{Définition 
des paquets}).
-
-The @code{(gnu packages @dots{})} module name space is automatically scanned
-for packages by the command-line tools.  For instance, when running
address@hidden package -i emacs}, all the @code{(gnu packages @dots{})} modules
-are scanned until one that exports a package object whose name is
address@hidden is found.  This package search facility is implemented in the
address@hidden(gnu packages)} module.
-
address@hidden personnalisation, des paquets
address@hidden package module search path
-Users can store package definitions in modules with different names---e.g.,
address@hidden(my-packages emacs)address@hidden that the file name and module 
name
-must match.  For instance, the @code{(my-packages emacs)} module must be
-stored in a @file{my-packages/emacs.scm} file relative to the load path
-specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}.
address@hidden and the File System,,, guile, GNU Guile Reference Manual}, for
-details.}.  There are two ways to make these package definitions visible to
-the user interfaces:
-
address@hidden
address@hidden
-By adding the directory containing your package modules to the search path
-with the @code{-L} flag of @command{guix package} and other commands
-(@pxref{Options de construction communes}), or by setting the 
@code{GUIX_PACKAGE_PATH}
-environment variable described below.
-
address@hidden
-By defining a @dfn{channel} and configuring @command{guix pull} so that it
-pulls from it.  A channel is essentially a Git repository containing package
-modules.  @xref{Canaux}, for more information on how to define and use
-channels.
address@hidden enumerate
-
address@hidden works similarly to other search path variables:
-
address@hidden {Environment Variable} GUIX_PACKAGE_PATH
-This is a colon-separated list of directories to search for additional
-package modules.  Directories listed in this variable take precedence over
-the own modules of the distribution.
address@hidden defvr
-
-The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: each
-package is built based solely on other packages in the distribution.  The
-root of this dependency graph is a small set of @dfn{bootstrap binaries},
-provided by the @code{(gnu packages bootstrap)} module.  For more
-information on bootstrapping, @pxref{Bootstrapping}.
-
address@hidden Consignes d'empaquetage
address@hidden Consignes d'empaquetage
-
address@hidden packages, creating
-The GNU distribution is nascent and may well lack some of your favorite
-packages.  This section describes how you can help make the distribution
-grow.  @xref{Contribuer}, for additional information on how you can help.
-
-Free software packages are usually distributed in the form of @dfn{source
-code tarballs}---typically @file{tar.gz} files that contain all the source
-files.  Adding a package to the distribution means essentially two things:
-adding a @dfn{recipe} that describes how to build the package, including a
-list of other packages required to build it, and adding @dfn{package
-metadata} along with that recipe, such as a description and licensing
-information.
-
-In Guix all this information is embodied in @dfn{package definitions}.
-Package definitions provide a high-level view of the package.  They are
-written using the syntax of the Scheme programming language; in fact, for
-each package we define a variable bound to the package definition, and
-export that variable from a module (@pxref{Modules de paquets}).  However,
-in-depth Scheme knowledge is @emph{not} a prerequisite for creating
-packages.  For more information on package definitions, @pxref{Définition des 
paquets}.
-
-Once a package definition is in place, stored in a file in the Guix source
-tree, it can be tested using the @command{guix build} command
-(@pxref{Invoquer guix build}).  For example, assuming the new package is
-called @code{gnew}, you may run this command from the Guix build tree
-(@pxref{Lancer Guix avant qu'il ne soit installé}):
-
address@hidden
-./pre-inst-env guix build gnew --keep-failed
address@hidden example
-
-Using @code{--keep-failed} makes it easier to debug build failures since it
-provides access to the failed build tree.  Another useful command-line
-option when debugging is @code{--log-file}, to access the build log.
-
-If the package is unknown to the @command{guix} command, it may be that the
-source file contains a syntax error, or lacks a @code{define-public} clause
-to export the package variable.  To figure it out, you may load the module
-from Guile to get more information about the actual error:
-
address@hidden
-./pre-inst-env guile -c '(use-modules (gnu packages gnew))'
address@hidden example
-
-Once your package builds correctly, please send us a patch
-(@pxref{Contribuer}).  Well, if you need help, we will be happy to help
-you too.  Once the patch is committed in the Guix repository, the new
-package automatically gets built on the supported platforms by
address@hidden://hydra.gnu.org/jobset/gnu/master, our continuous integration
-system}.
-
address@hidden substituter
-On peut obtenir la nouvelle définition du paquet simplement en lançant
address@hidden pull} (@pxref{Invoquer guix pull}). Lorsque
address@hidden a fini de construire le paquet, l'installation du
-paquet y télécharge automatiquement les binaires (@pxref{Substituts}). La
-seule intervention humaine requise est pendant la revue et l'application du
-correctif.
-
-
address@hidden
-* Liberté logiciel::        Ce que la distribution peut contenir.
-* Conventions de nommage::   Qu'est-ce qu'un bon nom ?
-* Numéros de version::      Lorsque le nom n'est pas suffisant.
-* Synopsis et descriptions::  Aider les utilisateurs à trouver le bon 
-                                paquet.
-* Modules python::           Un peu de comédie anglaise.
-* Modules perl::             Petites perles.
-* Paquets java::             Pause café.
-* Polices de caractères::   À fond les fontes.
address@hidden menu
-
address@hidden Liberté logiciel
address@hidden Liberté logiciel
-
address@hidden Adapted from http://www.gnu.org/philosophy/philosophy.html.
address@hidden free software
-The GNU operating system has been developed so that users can have freedom
-in their computing.  GNU is @dfn{free software}, meaning that users have the
address@hidden://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: 
to
-run the program, to study and change the program in source code form, to
-redistribute exact copies, and to distribute modified versions.  Packages
-found in the GNU distribution provide only software that conveys these four
-freedoms.
-
-In addition, the GNU distribution follow the
address@hidden://www.gnu.org/distros/free-system-distribution-guidelines.html,free
-software distribution guidelines}.  Among other things, these guidelines
-reject non-free firmware, recommendations of non-free software, and discuss
-ways to deal with trademarks and patents.
-
-Some otherwise free upstream package sources contain a small and optional
-subset that violates the above guidelines, for instance because this subset
-is itself non-free code.  When that happens, the offending items are removed
-with appropriate patches or code snippets in the @code{origin} form of the
-package (@pxref{Définition des paquets}).  This way, @code{guix build --source}
-returns the ``freed'' source rather than the unmodified upstream source.
-
-
address@hidden Conventions de nommage
address@hidden Conventions de nommage
-
address@hidden package name
-A package has actually two names associated with it: First, there is the
-name of the @emph{Scheme variable}, the one following @code{define-public}.
-By this name, the package can be made known in the Scheme code, for instance
-as input to another package.  Second, there is the string in the @code{name}
-field of a package definition.  This name is used by package management
-commands such as @command{guix package} and @command{guix build}.
-
-Both are usually the same and correspond to the lowercase conversion of the
-project name chosen upstream, with underscores replaced with hyphens.  For
-instance, GNUnet is available as @code{gnunet}, and SDL_net as
address@hidden
-
-We do not add @code{lib} prefixes for library packages, unless these are
-already part of the official project name.  But @pxref{Modules python} and
address@hidden perl} for special rules concerning modules for the Python and
-Perl languages.
-
-Font package names are handled differently, @pxref{Polices de caractères}.
-
-
address@hidden Numéros de version
address@hidden Numéros de version
-
address@hidden package version
-We usually package only the latest version of a given free software
-project.  But sometimes, for instance for incompatible library versions, two
-(or more) versions of the same package are needed.  These require different
-Scheme variable names.  We use the name as defined in @ref{Conventions de 
nommage}
-for the most recent version; previous versions use the same name, suffixed
-by @code{-} and the smallest prefix of the version number that may
-distinguish the two versions.
-
-The name inside the package definition is the same for all versions of a
-package and does not contain any version number.
-
-For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as
-follows:
-
address@hidden
-(define-public gtk+
-  (package
-    (name "gtk+")
-    (version "3.9.12")
-    ...))
-(define-public gtk+-2
-  (package
-    (name "gtk+")
-    (version "2.24.20")
-    ...))
address@hidden example
-If we also wanted GTK+ 3.8.2, this would be packaged as
address@hidden
-(define-public gtk+-3.8
-  (package
-    (name "gtk+")
-    (version "3.8.2")
-    ...))
address@hidden example
-
address@hidden See 
<https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00425.html>,
address@hidden for a discussion of what follows.
address@hidden version number, for VCS snapshots
-Occasionally, we package snapshots of upstream's version control system
-(VCS) instead of formal releases.  This should remain exceptional, because
-it is up to upstream developers to clarify what the stable release is.  Yet,
-it is sometimes necessary.  So, what should we put in the @code{version}
-field?
-
-Clearly, we need to make the commit identifier of the VCS snapshot visible
-in the version string, but we also need to make sure that the version string
-is monotonically increasing so that @command{guix package --upgrade} can
-determine which version is newer.  Since commit identifiers, notably with
-Git, are not monotonically increasing, we add a revision number that we
-increase each time we upgrade to a newer snapshot.  The resulting version
-string looks like this:
-
address@hidden
-2.0.11-3.cabba9e
-  ^    ^    ^
-  |    |    `-- upstream commit ID
-  |    |
-  |    `--- Guix package revision
-  |
-latest upstream version
address@hidden example
-
-It is a good idea to strip commit identifiers in the @code{version} field
-to, say, 7 digits.  It avoids an aesthetic annoyance (assuming aesthetics
-have a role to play here) as well as problems related to OS limits such as
-the maximum shebang length (127 bytes for the Linux kernel.)  It is best to
-use the full commit identifiers in @code{origin}s, though, to avoid
-ambiguities.  A typical package definition may look like this:
-
address@hidden
-(define my-package
-  (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
-        (revision "1"))          ;révision du paquet Guix
-    (package
-      (version (git-version "0.9" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "git://example.org/my-package.git")
-                      (commit commit)))
-                (sha256 (base32 "address@hidden"))
-                (file-name (git-file-name name version))))
-      ;; @dots{}
-      )))
address@hidden example
-
address@hidden Synopsis et descriptions
address@hidden Synopsis et descriptions
-
address@hidden package description
address@hidden package synopsis
-As we have seen before, each package in address@hidden includes a synopsis
-and a description (@pxref{Définition des paquets}).  Synopses and descriptions
-are important: They are what @command{guix package --search} searches, and a
-crucial piece of information to help users determine whether a given package
-suits their needs.  Consequently, packagers should pay attention to what
-goes into them.
-
-Synopses must start with a capital letter and must not end with a period.
-They must not start with ``a'' or ``the'', which usually does not bring
-anything; for instance, prefer ``File-frobbing tool'' over ``A tool that
-frobs files''.  The synopsis should say what the package is---e.g., ``Core
-GNU utilities (file, text, shell)''---or what it is used for---e.g., the
-synopsis for address@hidden is ``Print lines matching a pattern''.
-
-Keep in mind that the synopsis must be meaningful for a very wide audience.
-For example, ``Manipulate alignments in the SAM format'' might make sense
-for a seasoned bioinformatics researcher, but might be fairly unhelpful or
-even misleading to a non-specialized audience.  It is a good idea to come up
-with a synopsis that gives an idea of the application domain of the
-package.  In this example, this might give something like ``Manipulate
-nucleotide sequence alignments'', which hopefully gives the user a better
-idea of whether this is what they are looking for.
-
-Descriptions should take between five and ten lines.  Use full sentences,
-and avoid using acronyms without first introducing them.  Please avoid
-marketing phrases such as ``world-leading'', ``industrial-strength'', and
-``next-generation'', and avoid superlatives like ``the most
-advanced''---they are not helpful to users looking for a package and may
-even sound suspicious.  Instead, try to be factual, mentioning use cases and
-features.
-
address@hidden Texinfo markup, in package descriptions
-Descriptions can include Texinfo markup, which is useful to introduce
-ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks
-(@pxref{Overview,,, texinfo, GNU Texinfo}).  However you should be careful
-when using some characters for example @samp{@@} and curly braces which are
-the basic special characters in Texinfo (@pxref{Special Characters,,,
-texinfo, GNU Texinfo}).  User interfaces such as @command{guix package
---show} take care of rendering it appropriately.
-
-Synopses and descriptions are translated by volunteers
address@hidden://translationproject.org/domain/guix-packages.html, at the
-Translation Project} so that as many users as possible can read them in
-their native language.  User interfaces search them and display them in the
-language specified by the current locale.
-
-To allow @command{xgettext} to extract them as translatable strings,
-synopses and descriptions @emph{must be literal strings}.  This means that
-you cannot use @code{string-append} or @code{format} to construct these
-strings:
-
address@hidden
-(package
-  ;; @dots{}
-  (synopsis "This is translatable")
-  (description (string-append "This is " "*not*" " translatable.")))
address@hidden lisp
-
-Translation is a lot of work so, as a packager, please pay even more
-attention to your synopses and descriptions as every change may entail
-additional work for translators.  In order to help them, it is possible to
-make recommendations or instructions visible to them by inserting special
-comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):
-
address@hidden
-;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
-(description "ARandR is designed to provide a simple visual front end
-for the X11 resize-and-rotate (RandR) extension. @dots{}")
address@hidden example
-
-
address@hidden Modules python
address@hidden Modules python
-
address@hidden python
-We currently package Python 2 and Python 3, under the Scheme variable names
address@hidden and @code{python} as explained in @ref{Numéros de version}.  To
-avoid confusion and naming clashes with other programming languages, it
-seems desirable that the name of a package for a Python module contains the
-word @code{python}.
-
-Some modules are compatible with only one version of Python, others with
-both.  If the package Foo compiles only with Python 3, we name it
address@hidden; if it compiles only with Python 2, we name it
address@hidden If it is compatible with both versions, we create two
-packages with the corresponding names.
-
-If a project already contains the word @code{python}, we drop this; for
-instance, the module python-dateutil is packaged under the names
address@hidden and @code{python2-dateutil}.  If the project name
-starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as
-described above.
-
address@hidden Specifying Dependencies
address@hidden inputs, for Python packages
-
-Dependency information for Python packages is usually available in the
-package source tree, with varying degrees of accuracy: in the
address@hidden file, in @file{requirements.txt}, or in @file{tox.ini}.
-
-Your mission, when writing a recipe for a Python package, is to map these
-dependencies to the appropriate type of ``input'' (@pxref{Référence de paquet,
-inputs}).  Although the @code{pypi} importer normally does a good job
-(@pxref{Invoquer guix import}), you may want to check the following check
-list to determine which dependency goes where.
-
address@hidden
-
address@hidden
-We currently package Python 2 with @code{setuptools} and @code{pip}
-installed like Python 3.4 has per default.  Thus you don't need to specify
-either of these as an input.  @command{guix lint} will warn you if you do.
-
address@hidden
-Python dependencies required at run time go into @code{propagated-inputs}.
-They are typically defined with the @code{install_requires} keyword in
address@hidden, or in the @file{requirements.txt} file.
-
address@hidden
-Python packages required only at build time---e.g., those listed with the
address@hidden keyword in @file{setup.py}---or only for
-testing---e.g., those in @code{tests_require}---go into
address@hidden  The rationale is that (1) they do not need to be
-propagated because they are not needed at run time, and (2) in a
-cross-compilation context, it's the ``native'' input that we'd want.
-
-Examples are the @code{pytest}, @code{mock}, and @code{nose} test
-frameworks.  Of course if any of these packages is also required at
-run-time, it needs to go to @code{propagated-inputs}.
-
address@hidden
-Anything that does not fall in the previous categories goes to
address@hidden, for example programs or C libraries required for building
-Python packages containing C extensions.
-
address@hidden
-If a Python package has optional dependencies (@code{extras_require}), it is
-up to you to decide whether to add them or not, based on their
-usefulness/overhead ratio (@pxref{Envoyer des correctifs, @command{guix 
size}}).
-
address@hidden itemize
-
-
address@hidden Modules perl
address@hidden Modules perl
-
address@hidden perl
-Perl programs standing for themselves are named as any other package, using
-the lowercase upstream name.  For Perl packages containing a single class,
-we use the lowercase class name, replace all occurrences of @code{::} by
-dashes and prepend the prefix @code{perl-}.  So the class @code{XML::Parser}
-becomes @code{perl-xml-parser}.  Modules containing several classes keep
-their lowercase upstream name and are also prepended by @code{perl-}.  Such
-modules tend to have the word @code{perl} somewhere in their name, which
-gets dropped in favor of the prefix.  For instance, @code{libwww-perl}
-becomes @code{perl-libwww}.
-
-
address@hidden Paquets java
address@hidden Paquets java
-
address@hidden java
-Java programs standing for themselves are named as any other package, using
-the lowercase upstream name.
-
-To avoid confusion and naming clashes with other programming languages, it
-is desirable that the name of a package for a Java package is prefixed with
address@hidden  If a project already contains the word @code{java}, we drop
-this; for instance, the package @code{ngsjava} is packaged under the name
address@hidden
-
-For Java packages containing a single class or a small class hierarchy, we
-use the lowercase class name, replace all occurrences of @code{.} by dashes
-and prepend the prefix @code{java-}.  So the class @code{apache.commons.cli}
-becomes package @code{java-apache-commons-cli}.
-
-
address@hidden Polices de caractères
address@hidden Polices de caractères
-
address@hidden polices
-For fonts that are in general not installed by a user for typesetting
-purposes, or that are distributed as part of a larger software package, we
-rely on the general packaging rules for software; for instance, this applies
-to the fonts delivered as part of the X.Org system or fonts that are part of
-TeX Live.
-
-To make it easier for a user to search for fonts, names for other packages
-containing only fonts are constructed as follows, independently of the
-upstream package name.
-
-The name of a package containing only one font family starts with
address@hidden; it is followed by the foundry name and a dash @code{-} if the
-foundry is known, and the font family name, in which spaces are replaced by
-dashes (and as usual, all upper case letters are transformed to lower
-case).  For example, the Gentium font family by SIL is packaged under the
-name @code{font-sil-gentium}.
-
-For a package containing several font families, the name of the collection
-is used in the place of the font family name.  For instance, the Liberation
-fonts consist of three families, Liberation Sans, Liberation Serif and
-Liberation Mono.  These could be packaged separately under the names
address@hidden and so on; but as they are distributed together
-under a common name, we prefer to package them together as
address@hidden
-
-In the case where several formats of the same font family or font collection
-are packaged separately, a short form of the format, prepended by a dash, is
-added to the package name.  We use @code{-ttf} for TrueType fonts,
address@hidden for OpenType fonts and @code{-type1} for PostScript Type 1
-fonts.
-
-
-
 @node Bootstrapping
address@hidden Bootstrapping
address@hidden Bootstrapping
 
 @c Adapted from the ELS 2013 paper.
 
address@hidden bootstrapping
-
-Bootstrapping in our context refers to how the distribution gets built
-``from nothing''.  Remember that the build environment of a derivation
-contains nothing but its declared inputs (@pxref{Introduction}).  So there's
-an obvious chicken-and-egg problem: how does the first package get built?
-How does the first compiler get compiled? Note that this is a question of
-interest only to the curious hacker, not to the regular user, so you can
-shamelessly skip this section if you consider yourself a ``regular user''.
-
address@hidden bootstrap binaries
-The GNU system is primarily made of C code, with libc at its core.  The GNU
-build system itself assumes the availability of a Bourne shell and
-command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and
-`grep'.  Furthermore, build programs---programs that run @code{./configure},
address@hidden, etc.---are written in Guile Scheme (@pxref{Dérivations}).
-Consequently, to be able to build anything at all, from scratch, Guix relies
-on pre-built binaries of Guile, GCC, Binutils, libc, and the other packages
-mentioned above---the @dfn{bootstrap binaries}.
-
-These bootstrap binaries are ``taken for granted'', though we can also
-re-create them if needed (more on that later).
-
address@hidden Preparing to Use the Bootstrap Binaries
address@hidden bootstrap
+
+Dans notre contexte, le bootstrap se réfère à la manière dont la
+distribution est construite « à partir de rien ».  Rappelez-vous que
+l'environnement de construction d'une dérivation ne contient rien d'autre
+que les entrées déclarées (@pxref{Introduction}).  Donc il y a un problème
+évident de poule et d'œuf : comment le premier paquet est-il construit ?
+Comment le premier compilateur est-il construit ?  Remarquez que c'est une
+question qui intéressera uniquement le hacker curieux, pas l'utilisateur
+normal, donc vous pouvez sauter cette section sans avoir honte si vous vous
+considérez comme un « utilisateur normal ».
+
address@hidden binaires de bootstrap
+Le système GNU est surtout fait de code C, avec la libc en son cœur.  Le
+système de construction GNU lui-même suppose la disponibilité d'un shell
+Bourne et d'outils en ligne de commande fournis par GNU Coreutils, Awk,
+Findutils, sed et grep.  En plus, les programmes de construction — les
+programmes qui exécutent @code{./configure}, @code{make} etc — sont écrits
+en Guile Scheme (@pxref{Dérivations}).  En conséquence, pour pouvoir
+construire quoi que ce soit, de zéro, Guix a besoin de binaire
+pré-construits de Guile, GCC, Binutils, la libc et des autres paquets
+mentionnés plus haut — les @dfn{binaires de bootstrap}.
+
+Ces binaires de bootstrap sont pris comme des acquis, bien qu'on puisse les
+recréer (ça arrive plus tard).
+
address@hidden Se préparer à utiliser les binaires de bootstrap
 
 @c As of Emacs 24.3, Info-mode displays the image, but since it's a
 @c large image, it's hard to scroll.  Oh well.
address@hidden/bootstrap-graph,6in,,Dependency graph of the early bootstrap
-derivations}
address@hidden/bootstrap-graph,6in,,Graphe de dépendance des premières
+dérivations de bootstrap}
 
-The figure above shows the very beginning of the dependency graph of the
-distribution, corresponding to the package definitions of the @code{(gnu
-packages bootstrap)} module.  A similar figure can be generated with
address@hidden graph} (@pxref{Invoquer guix graph}), along the lines of:
+La figure ci-dessus montre le tout début du graphe de dépendances de la
+distribution, correspondant aux définitions des paquets du module @code{(gnu
+packages bootstrap)}.  Une figure similaire peut être générée avec
address@hidden graph} (@pxref{Invoquer guix graph}),  de cette manière :
 
 @example
 guix graph -t derivation \
@@ -24699,54 +25067,57 @@ guix graph -t derivation \
   | dot -Tps > t.ps
 @end example
 
-At this level of detail, things are slightly complex.  First, Guile itself
-consists of an ELF executable, along with many source and compiled Scheme
-files that are dynamically loaded when it runs.  This gets stored in the
address@hidden tarball shown in this graph.  This tarball is part
-of Guix's ``source'' distribution, and gets inserted into the store with
address@hidden (@pxref{Le dépôt}).
-
-But how do we write a derivation that unpacks this tarball and adds it to
-the store? To solve this problem, the @code{guile-bootstrap-2.0.drv}
-derivation---the first one that gets built---uses @code{bash} as its
-builder, which runs @code{build-bootstrap-guile.sh}, which in turn calls
address@hidden to unpack the tarball.  Thus, @file{bash}, @file{tar}, @file{xz},
-and @file{mkdir} are statically-linked binaries, also part of the Guix
-source distribution, whose sole purpose is to allow the Guile tarball to be
-unpacked.
-
-Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning Guile
-that can be used to run subsequent build programs.  Its first task is to
-download tarballs containing the other pre-built binaries---this is what the
address@hidden derivations do.  Guix modules such as
address@hidden are used for this purpose.  The
address@hidden derivations import those modules in a directory in
-the store, using the original layout.  The @code{module-import-compiled.drv}
-derivations compile those modules, and write them in an output directory
-with the right layout.  This corresponds to the @code{#:modules} argument of
address@hidden>derivation} (@pxref{Dérivations}).
-
-Finally, the various tarballs are unpacked by the derivations
address@hidden, @code{glibc-bootstrap-0.drv}, etc., at which
-point we have a working C tool chain.
-
-
address@hidden Building the Build Tools
-
-Bootstrapping is complete when we have a full tool chain that does not
-depend on the pre-built bootstrap tools discussed above.  This no-dependency
-requirement is verified by checking whether the files of the final tool
-chain contain references to the @file{/gnu/store} directories of the
-bootstrap inputs.  The process that leads to this ``final'' tool chain is
-described by the package definitions found in the @code{(gnu packages
-commencement)} module.
-
-The @command{guix graph} command allows us to ``zoom out'' compared to the
-graph above, by looking at the level of package objects instead of
-individual derivations---remember that a package may translate to several
-derivations, typically one derivation to download its source, one to build
-the Guile modules it needs, and one to actually build the package from
-source.  The command:
+À ce niveau de détails, les choses sont légèrement complexes.  Tout d'abord,
+Guile lui-même consiste en an exécutable ELF, avec plusieurs fichiers Scheme
+sources et compilés qui sont chargés dynamiquement quand il est exécuté.
+Cela est stocké dans l'archive @file{guile-2.0.7.tar.xz} montrée dans ce
+graphe.  Cette archive fait parti de la distribution « source » de Guix, et
+est insérée dans le dépôt avec @code{add-to-store} (@pxref{Le dépôt}).
+
+Mais comment écrire une dérivation qui décompresse cette archive et l'ajoute
+au dépôt ?  Pour résoudre ce problème, la dérivation
address@hidden — la première qui est construite — utilise
address@hidden comme constructeur, qui lance @code{build-bootstrap-guile.sh},
+qui à son tour appelle @code{tar} pour décompresser l'archive.  Ainsi,
address@hidden, @file{tar}, @file{xz} et @file{mkdir} sont des binaires liés
+statiquement, qui font aussi partie de la distribution source de Guix, dont
+le seul but est de permettre à l'archive de Guile d'être décompressée.
+
+Une fois que @code{guile-bootstrap-2.0.drv} est construit, nous avons un
+Guile fonctionnel qui peut être utilisé pour exécuter les programmes de
+construction suivants.  Sa première tâche consiste à télécharger les
+archives contenant les autres binaires pré-construits — c'est ce que la
+dérivation @code{.tar.xz.drv} fait.  Les modules Guix comme
address@hidden sont utilisés pour cela.  Les dérivations
address@hidden importent ces modules dans un répertoire dans le
+dépôt, en utilisant la disposition d'origine.  Les dérivations
address@hidden compilent ces modules, et les écrivent
+dans un répertoire de sortie avec le bon agencement.  Cela correspond à
+l'argument @code{#:modules} de @code{build-expression->derivation}
+(@pxref{Dérivations}).
+
+Enfin, les diverses archives sont décompressées par les dérivations
address@hidden, @code{glibc-bootstrap-0.drv}, etc, à partir de
+quoi nous avons une chaîne de compilation C fonctionnelle.
+
+
address@hidden Construire les outils de construction
+
+Le bootstrap est complet lorsque nous avons une chaîne d'outils complète qui
+ne dépend pas des outils de bootstrap pré-construits dont on vient de
+parler.  Ce pré-requis d'indépendance est vérifié en s'assurant que les
+fichiers de la chaîne d'outil finale ne contiennent pas de référence vers
+les répertoires @file{/gnu/store} des entrées de bootstrap.  Le processus
+qui mène à cette chaîne d'outils « finale » est décrit par les définitions
+de paquets qui se trouvent dans le module @code{(gnu packages
+commencement)}.
+
+La commande @command{guix graph} nous permet de « dézoomer » comparé au
+graphe précédent, en regardant au niveau des objets de paquets plutôt que
+des dérivations individuelles — rappelez-vous qu'un paquet peut se traduire
+en plusieurs dérivations, typiquement une dérivation pour télécharger ses
+sources, une pour les modules Guile dont il a besoin et une pour
+effectivement compiler le paquet depuis les sources.  La commande :
 
 @example
 guix graph -t bag \
@@ -24755,123 +25126,132 @@ guix graph -t bag \
 @end example
 
 @noindent
-produces the dependency graph leading to the ``final'' C
address@hidden may notice the @code{glibc-intermediate} label,
-suggesting that it is not @emph{quite} final, but as a good approximation,
-we will consider it final.}, depicted below.
+produit le graphe de dépendances qui mène à la bibliothèque C « finale
address@hidden remarquerez qu'elle s'appelle @code{glibc-intermediate}, ce
+qui suggère qu'elle n'est pas @emph{tout à fait} finale, mais c'est une
+bonne approximation tout de même.}, que voici :
 
 @image{images/bootstrap-packages,6in,,Graphe de dépendance des premiers
 paquets}
 
 @c See 
<http://lists.gnu.org/archive/html/gnu-system-discuss/2012-10/msg00000.html>.
-The first tool that gets built with the bootstrap binaries is
address@hidden @code{make-boot0} above---which is a prerequisite for
-all the following packages.  From there Findutils and Diffutils get built.
+Le premier outil construit avec les binaires de bootstrap est address@hidden
+— appelé @code{make-boot0} ci-dessus — qui est un prérequis de tous les
+paquets suivants .  Ensuite, Findutils et Diffutils sont construits.
 
-Then come the first-stage Binutils and GCC, built as pseudo cross
-tools---i.e., with @code{--target} equal to @code{--host}.  They are used to
-build libc.  Thanks to this cross-build trick, this libc is guaranteed not
-to hold any reference to the initial tool chain.
+Ensuite vient la première passe de Binutils et GCC, construits comme des
+pseudo outils croisés — c.-à-d.@: dont @code{--target} égal à
address@hidden  Ils sont utilisés pour construire la libc.  Grâce à cette
+astuce de compilation croisée, la libc est garantie de ne contenir aucune
+référence à la chaîne d'outils initiale.
 
-From there the final Binutils and GCC (not shown above) are built.  GCC uses
address@hidden from the final Binutils, and links programs against the 
just-built
-libc.  This tool chain is used to build the other packages used by Guix and
-by the GNU Build System: Guile, Bash, Coreutils, etc.
+À partir de là, les Bintulis et GCC finaux (pas visibles ci-dessus) sont
+construits.  GCC utilise @code{ld} du Binutils final et lie les programme
+avec la libc qui vient d'être construite.  Cette chaîne d'outils est
+utilisée pour construire les autres paquets utilisés par Guix et par le
+système de construction de GNU : Guile, Bash, Coreutils, etc.
 
-And voilà! At this point we have the complete set of build tools that the
-GNU Build System expects.  These are in the @code{%final-inputs} variable of
-the @code{(gnu packages commencement)} module, and are implicitly used by
-any package that uses @code{gnu-build-system} (@pxref{Systèmes de construction,
address@hidden).
+Et voilà !  À partir de là nous avons l'ensemble complet des outils auxquels
+s'attend le système de construction GNU.  Ils sont dans la variable
address@hidden du module @code{(gnu packages commencement)} et sont
+implicitement utilisés par tous les paquets qui utilisent le
address@hidden (@pxref{Systèmes de construction, @code{gnu-build-system}}).
 
 
address@hidden Building the Bootstrap Binaries
address@hidden Construire les binaires de bootstrap
 
address@hidden bootstrap binaries
-Because the final tool chain does not depend on the bootstrap binaries,
-those rarely need to be updated.  Nevertheless, it is useful to have an
-automated way to produce them, should an update occur, and this is what the
address@hidden(gnu packages make-bootstrap)} module provides.
address@hidden binaires de bootstrap
+Comme la chaîne d'outils finale ne dépend pas des binaires de bootstrap, ils
+ont rarement besoin d'être mis à jour.  Cependant, il est utile d'avoir une
+manière de faire cela automatiquement, dans le cas d'une mise à jour et
+c'est ce que le module @code{(gnu packages make-bootstrap)} fournit.
 
-The following command builds the tarballs containing the bootstrap binaries
-(Guile, Binutils, GCC, libc, and a tarball containing a mixture of Coreutils
-and other basic command-line tools):
+La commande suivante construit les archives contenant les binaires de
+bootstrap (Guile, Binutils, GCC, la libc et une archive contenant un mélange
+de Coreutils et d'autres outils en ligne de commande de base) :
 
 @example
 guix build bootstrap-tarballs
 @end example
 
-The generated tarballs are those that should be referred to in the
address@hidden(gnu packages bootstrap)} module mentioned at the beginning of 
this
-section.
+Les archives générées sont celles qui devraient être référencées dans le
+module @code{(gnu packages bootstrap)} au début de cette section.
 
-Still here? Then perhaps by now you've started to wonder: when do we reach a
-fixed point? That is an interesting question! The answer is unknown, but if
-you would like to investigate further (and have significant computational
-and storage resources to do so), then let us know.
+Vous êtes toujours là ?  Alors peut-être que maintenant vous vous demandez,
+quand est-ce qu'on atteint un point fixe ?  C'est une question intéressante
+!  La réponse est inconnue, mais si vous voulez enquêter plus profondément
+(et que vous avez les ressources en puissance de calcul et en capacité de
+stockage pour cela), dites-le nous.
 
address@hidden Reducing the Set of Bootstrap Binaries
address@hidden Réduire l'ensemble des binaires de bootstrap
 
-Our bootstrap binaries currently include GCC, Guile, etc.  That's a lot of
-binary code! Why is that a problem? It's a problem because these big chunks
-of binary code are practically non-auditable, which makes it hard to
-establish what source code produced them.  Every unauditable binary also
-leaves us vulnerable to compiler backdoors as described by Ken Thompson in
-the 1984 paper @emph{Reflections on Trusting Trust}.
+Nous binaires de bootstrap incluent actuellement GCC, Guile, etc.  C'est
+beaucoup de code binaire !  Pourquoi est-ce un problème ?  C'est un problème
+parce que ces gros morceaux de code binaire sont en pratique impossibles à
+auditer, ce qui fait qu'il est difficile d'établir quel code source les a
+produit.  Chaque binaire non auditable nous rend aussi vulnérable à des
+portes dérobées dans les compilateurs comme le décrit Ken Thompson dans le
+papier de 1984 @emph{Reflections on Trusting Trust}.
 
-This is mitigated by the fact that our bootstrap binaries were generated
-from an earlier Guix revision.  Nevertheless it lacks the level of
-transparency that we get in the rest of the package dependency graph, where
-Guix always gives us a source-to-binary mapping.  Thus, our goal is to
-reduce the set of bootstrap binaries to the bare minimum.
+Cela est rendu moins inquiétant par le fait que les binaires de bootstrap
+ont été générés par une révision antérieure de Guix.  Cependant, il leur
+manque le niveau de transparence que l'on obtient avec le reste des paquets
+du graphe de dépendance, où Guix nous donne toujours une correspondance
+source-binaire.  Ainsi, notre but est de réduire l'ensemble des binaires de
+bootstrap au minimum.
 
-The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists
-on-going projects to do that.  One of these is about replacing the bootstrap
-GCC with a sequence of assemblers, interpreters, and compilers of increasing
-complexity, which could be built from source starting from a simple and
-auditable assembler.  Your help is welcome!
+Le @uref{http://bootstrappable.org, site web Bootstrappable.org} liste les
+projets en cours à ce sujet.  L'un d'entre eux parle de remplacer le GCC de
+bootstrap par une série d'assembleurs, d'interpréteurs et de compilateurs
+d'une complexité croissante, qui pourraient être construits à partir des
+sources à partir d'un assembleur simple et auditable.  Votre aide est la
+bienvenue !
 
 
 @node Porter
address@hidden Porter vers une nouvelle plateforme
address@hidden Porter vers une nouvelle plateforme
 
-As discussed above, the GNU distribution is self-contained, and
-self-containment is achieved by relying on pre-built ``bootstrap binaries''
-(@pxref{Bootstrapping}).  These binaries are specific to an operating system
-kernel, CPU architecture, and application binary interface (ABI).  Thus, to
-port the distribution to a platform that is not yet supported, one must
-build those bootstrap binaries, and update the @code{(gnu packages
-bootstrap)} module to use them on that platform.
+Comme nous en avons discuté plus haut, la distribution GNU est
+auto-contenue, et cela est possible en se basant sur des « binaires de
+bootstrap » pré-construits (@pxref{Bootstrapping}).  Ces binaires sont
+spécifiques au noyau de système d'exploitation, à l'architecture CPU et à
+l'interface applicative binaire (ABI).  Ainsi, pour porter la distribution
+sur une plateforme qui n'est pas encore supportée, on doit construire ces
+binaires de bootstrap et mettre à jour le module @code{(gnu packages
+bootstrap)} pour les utiliser sur cette plateforme.
 
-Fortunately, Guix can @emph{cross compile} those bootstrap binaries.  When
-everything goes well, and assuming the GNU tool chain supports the target
-platform, this can be as simple as running a command like this one:
+Heureusement, Guix peut effectuer une @emph{compilation croisée} de ces
+binaires de bootstrap.  Lorsque tout va bien, et en supposant que la chaîne
+d'outils GNU supporte la plateforme cible, cela peut être aussi simple que
+de lancer une commande comme ceci :
 
 @example
 guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs
 @end example
 
-For this to work, the @code{glibc-dynamic-linker} procedure in @code{(gnu
-packages bootstrap)} must be augmented to return the right file name for
-libc's dynamic linker on that platform; likewise,
address@hidden>linux-architecture} in @code{(gnu packages linux)} must be
-taught about the new platform.
-
-Once these are built, the @code{(gnu packages bootstrap)} module needs to be
-updated to refer to these binaries on the target platform.  That is, the
-hashes and URLs of the bootstrap tarballs for the new platform must be added
-alongside those of the currently supported platforms.  The bootstrap Guile
-tarball is treated specially: it is expected to be available locally, and
address@hidden/local.mk} has rules to download it for the supported
-architectures; a rule for the new platform must be added as well.
-
-In practice, there may be some complications.  First, it may be that the
-extended GNU triplet that specifies an ABI (like the @code{eabi} suffix
-above) is not recognized by all the GNU tools.  Typically, glibc recognizes
-some of these, whereas GCC uses an extra @code{--with-abi} configure flag
-(see @code{gcc.scm} for examples of how to handle this).  Second, some of
-the required packages could fail to build for that platform.  Lastly, the
-generated binaries could be broken for some reason.
+Pour que cela fonctione, la procédure @code{glibc-dynamic-linker} dans
address@hidden(gnu packages bootstrap)} doit être augmentée pour renvoyer le 
bon nom
+de fichier pour l'éditeur de lien dynamique de la libc sur cette plateforme
+; de même, il faut indiquer cette nouvelle platefore à
address@hidden>linux-architecture} dans @code{(gnu packages linux)}.
+
+Une fois qu'ils sont construits, le module @code{(gnu packages bootstrap)}
+doit être mis à jour pour se référer à ces binaires sur la plateforme
+cible.  C'est à dire que les hashs et les URL des archives de bootstrap pour
+la nouvelle plateforme doivent être ajoutés avec ceux des plateformes
+actuellement supportées.  L'archive de bootstrap de Guile est traitée
+séparément : elle doit être disponible localement, et @file{gnu/local.mk} a
+une règle pour la télécharger pour les architectures supportées ; vous devez
+également ajouter une règle pour la nouvelle plateforme.
+
+En pratique, il peut y avoir des complications.  Déjà, il se peut que le
+triplet GNU étendu qui spécifie l'ABI (comme le suffixe @code{eabi}
+ci-dessus) ne soit pas reconnu par tous les outils GNU.  Typiquement, la
+glibc en reconnais certains, alors que GCC utilise un drapeau de configure
address@hidden supplémentaire (voir @code{gcc.scm} pour trouver des
+exemples où ce cas est géré).  Ensuite, certains des paquets requis
+pourraient échouer à se construire pour cette plateforme.  Enfin, les
+binaires générés pourraient être cassé pour une raison ou une autre.
 
 @c *********************************************************************
 @include contributing.fr.texi
@@ -24881,7 +25261,7 @@ generated binaries could be broken for some reason.
 @chapter Remerciements
 
 Guix se base sur le @uref{http://nixos.org/nix/, gestionnaire de paquets
-Nix} conçu et implémenté par Eelco Dolstra, avec des constributions d'autres
+Nix} conçu et implémenté par Eelco Dolstra, avec des contributions d'autres
 personnes (voir le fichier @file{nix/AUTHORS} dans Guix).  Nix a inventé la
 gestion de paquet fonctionnelle et promu des fonctionnalités sans précédents
 comme les mises à jour de paquets transactionnelles et les retours en
diff --git a/po/doc/guix-manual.fr.po b/po/doc/guix-manual.fr.po
index 3faeed8..3b164ee 100644
--- a/po/doc/guix-manual.fr.po
+++ b/po/doc/guix-manual.fr.po
@@ -2,13 +2,14 @@
 # Copyright (C) 2013-2018 the authors of Guix (msgids)
 # This file is distributed under the same license as the guix package.
 # Julien Lepiller <address@hidden>, 2018.
+# Simon Tournier <address@hidden>, 2018.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: guix-manual 0.16.0.1\n"
 "Report-Msgid-Bugs-To: address@hidden"
 "POT-Creation-Date: 2018-11-28 22:35+0100\n"
-"PO-Revision-Date: 2018-12-02 12:30+0100\n"
+"PO-Revision-Date: 2019-02-17 19:00+0100\n"
 "Last-Translator: Julien Lepiller <address@hidden>\n"
 "Language-Team: French <address@hidden>\n"
 "Language: fr\n"
@@ -240,7 +241,7 @@ msgstr "Ensuite, lancez @command{./configure} comme 
d'habitude.  Assurez-vous de
 #. 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}."
+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 liste @email{guix-devel@@gnu.org}."
 
 #. type: Plain text
 #: doc/contributing.texi:109
@@ -574,7 +575,7 @@ msgstr "Si vous éditez du code avec Vim, nous recommandons 
de lancer @code{:set
 #. type: Plain text
 #: doc/contributing.texi:319
 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."
+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:322
@@ -684,7 +685,7 @@ msgstr "entre 300 et 1 200 paquets dépendants"
 #. type: table
 #: doc/contributing.texi:407
 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})."
+msgstr "branche @code{staging} (changements 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:408
@@ -863,7 +864,7 @@ msgstr "guix package : (guix.fr)Invoquer guix package"
 #. type: menuentry
 #: doc/guix.texi:73
 msgid "Installing, removing, and upgrading packages."
-msgstr "Intaller, supprimer et mettre à jour des paquets."
+msgstr "Installer, supprimer et mettre à jour des paquets."
 
 #. type: menuentry
 #: doc/guix.texi:73
@@ -1343,7 +1344,7 @@ msgstr "Authentification des substituts"
 #. type: menuentry
 #: doc/guix.texi:168 doc/guix.texi:2323
 msgid "How Guix verifies substitutes."
-msgstr "Coment Guix vérifie les substituts."
+msgstr "Comment Guix vérifie les substituts."
 
 #. type: subsection
 #: doc/guix.texi:168 doc/guix.texi:2323 doc/guix.texi:2463 doc/guix.texi:2464
@@ -1427,7 +1428,7 @@ msgstr "Interface de bas-niveau avec les dérivations de 
paquets."
 #: doc/guix.texi:178 doc/guix.texi:3723 doc/guix.texi:5187 doc/guix.texi:5188
 #, no-wrap
 msgid "The Store Monad"
-msgstr "La monad du dépôt"
+msgstr "La monade du dépôt"
 
 #. type: menuentry
 #: doc/guix.texi:178 doc/guix.texi:3723
@@ -2111,7 +2112,7 @@ msgstr "Services réseau"
 #. type: menuentry
 #: doc/guix.texi:278 doc/guix.texi:10706
 msgid "Network setup, SSH daemon, etc."
-msgstr "Paramétres réseau, démon SSH, etc."
+msgstr "Paramètres réseau, démon SSH, etc."
 
 #. type: subsubsection
 #: doc/guix.texi:278 doc/guix.texi:10706 doc/guix.texi:12645
@@ -2635,7 +2636,7 @@ msgstr "site officiel"
 #. type: Plain text
 #: doc/guix.texi:399
 msgid "GNU Guix is available for download from its website at 
@url{http://www.gnu.org/software/guix/}.  This section describes the software 
requirements of Guix, as well as how to install it and get ready to use it."
-msgstr "GNU Guix est disponible au téléchargement depuis son site web sur 
@url{http://www.gnu.org/software/guix/}.  Cette section décrit les pré-requis 
logiciels de Guix ainsi que la manière de l'installer et de se préparer à 
l'utiliser."
+msgstr "GNU Guix est disponible au téléchargement depuis son site web sur 
@url{http://www.gnu.org/software/guix/}.  Cette section décrit les prérequis 
logiciels de Guix ainsi que la manière de l'installer et de se préparer à 
l'utiliser."
 
 #. type: Plain text
 #: doc/guix.texi:404
@@ -2679,7 +2680,7 @@ msgstr "script d'installation"
 #. type: Plain text
 #: doc/guix.texi:436
 msgid "This section describes how to install Guix on an arbitrary system from 
a self-contained tarball providing binaries for Guix and for all its 
dependencies.  This is often quicker than installing from source, which is 
described in the next sections.  The only requirement is to have address@hidden 
and Xz."
-msgstr "Cette section décrit comment intaller Guix sur un système quelconque 
depuis un archive autonome qui fournit les binaires pour Guix et toutes ses 
dépendances.  C'est souvent plus rapide que d'installer depuis les sources, ce 
qui est décrit dans les sections suivantes.  Le seul pré-requis est d'avoir 
address@hidden et Xz."
+msgstr "Cette section décrit comment installer Guix sur un système quelconque 
depuis un archive autonome qui fournit les binaires pour Guix et toutes ses 
dépendances.  C'est souvent plus rapide que d'installer depuis les sources, ce 
qui est décrit dans les sections suivantes.  Le seul prérequis est d'avoir 
address@hidden et Xz."
 
 #. type: Plain text
 #: doc/guix.texi:441
@@ -2759,7 +2760,7 @@ msgstr ""
 #. type: enumerate
 #: doc/guix.texi:487
 msgid "This creates @file{/gnu/store} (@pxref{The Store}) and 
@file{/var/guix}.  The latter contains a ready-to-use profile for @code{root} 
(see next step.)"
-msgstr "Cela crée @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}.  
Ce deuxième dossier contient un profil pret à être utilisé pour @code{root} 
(voir les étapes suivantes)."
+msgstr "Cela crée @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}.  
Ce deuxième dossier contient un profil prêt à être utilisé pour @code{root} 
(voir les étapes suivantes)."
 
 #. type: enumerate
 #: doc/guix.texi:490
@@ -2914,7 +2915,7 @@ msgstr "substituts, autorisations"
 #. type: enumerate
 #: doc/guix.texi:587
 msgid "To use substitutes from @code{hydra.gnu.org} or one of its mirrors 
(@pxref{Substitutes}), authorize them:"
-msgstr "Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses 
mirroirs (@pxref{Substituts}), autorisez-les :"
+msgstr "Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses 
miroirs (@pxref{Substituts}), autorisez-les :"
 
 #. type: example
 #: doc/guix.texi:591
@@ -2955,7 +2956,7 @@ msgstr "Le paquet @code{guix} doit rester disponible dans 
le profil de @code{roo
 #. type: Plain text
 #: doc/guix.texi:615
 msgid "The binary installation tarball can be (re)produced and verified simply 
by running the following command in the Guix source tree:"
-msgstr "L'archive d'installation binaire peut être (re)produite et vérifiée 
simplement en lançaint la commande suivante dans l'arborescence des sources de 
Guix :"
+msgstr "L'archive d'installation binaire peut être (re)produite et vérifiée 
simplement en lançant la commande suivante dans l'arborescence des sources de 
Guix :"
 
 #. type: example
 #: doc/guix.texi:618
@@ -2986,7 +2987,7 @@ msgstr "@xref{Invoking guix pack}, pour plus d'info sur 
cet outil pratique."
 #. type: Plain text
 #: doc/guix.texi:637
 msgid "This section lists requirements when building Guix from source.  The 
build procedure for Guix is the same as for other GNU software, and is not 
covered here.  Please see the files @file{README} and @file{INSTALL} in the 
Guix source tree for additional details."
-msgstr "Cette section dresse la liste des pré-requis pour la construction de 
Guix depuis les sources.  La procédure de construction pour Guix est la même 
que pour les autres logiciels GNU, et n'est pas expliquée ici.  Regardez les 
fichiers @file{README} et @file{INSTALL} dans l'arborescence des sources de 
Guix pour plus de détails."
+msgstr "Cette section dresse la liste des prérequis pour la construction de 
Guix depuis les sources.  La procédure de construction pour Guix est la même 
que pour les autres logiciels GNU, et n'est pas expliquée ici.  Regardez les 
fichiers @file{README} et @file{INSTALL} dans l'arborescence des sources de 
Guix pour plus de détails."
 
 #. type: Plain text
 #: doc/guix.texi:639
@@ -3055,7 +3056,7 @@ msgstr "Installer 
@url{http://savannah.nongnu.org/projects/guile-json/, Guile-JS
 #. type: itemize
 #: doc/guix.texi:676
 msgid "Support for build offloading (@pxref{Daemon Offload Setup}) and 
@command{guix copy} (@pxref{Invoking guix copy}) depends on 
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 
or later."
-msgstr "Le support pour la décharge de construction (@pxref{Daemon Offload 
Setup}) et @command{guix copy}  (@pxref{Invoking guix copy}) dépend de 
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 
ou ulltérieure."
+msgstr "Le support pour la décharge de construction (@pxref{Daemon Offload 
Setup}) et @command{guix copy}  (@pxref{Invoking guix copy}) dépend de 
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 
ou ultérieure."
 
 #. type: itemize
 #: doc/guix.texi:680
@@ -3153,7 +3154,7 @@ msgstr "make check TESTS=\"tests/store.scm 
tests/cpio.scm\"\n"
 #. type: Plain text
 #: doc/guix.texi:747
 msgid "By default, tests results are displayed at a file level.  In order to 
see the details of every individual test cases, it is possible to define the 
@code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:"
-msgstr "Par défaut, les résultats des tests sont affichés au niveau du 
fichier.  Pour voir les détails de chaque cas de test individuel, il est 
possible de définire la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme 
dans cet exemple :"
+msgstr "Par défaut, les résultats des tests sont affichés au niveau du 
fichier.  Pour voir les détails de chaque cas de test individuel, il est 
possible de définir la variable makefile @code{SCM_LOG_DRIVER_FLAGS} comme dans 
cet exemple :"
 
 #. type: example
 #: doc/guix.texi:750
@@ -3730,7 +3731,7 @@ msgstr "sécurité, guix-daemon"
 #. type: Plain text
 #: doc/guix.texi:1140
 msgid "Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that 
can be installed on a system where SELinux is enabled, in order to label Guix 
files and to specify the expected behavior of the daemon.  Since GuixSD does 
not provide an SELinux base policy, the daemon policy cannot be used on GuixSD."
-msgstr "Guix inclus un fichier de politique SELniux dans 
@file{etc/guix-daemon.cil} qui peut être installé sur un système où SELinux est 
activé pour que les fichiers Guix soient étiquetés et pour spécifier le 
comportement attendu du démon.  Comme GuixSD ne fournit pas de politique 
SELniux de base, la politique du démon ne peut pas être utilisée sur 
address@hidden"
+msgstr "Guix inclus un fichier de politique SELinux dans 
@file{etc/guix-daemon.cil} qui peut être installé sur un système où SELinux est 
activé pour que les fichiers Guix soient étiquetés et pour spécifier le 
comportement attendu du démon.  Comme GuixSD ne fournit pas de politique 
SELinux de base, la politique du démon ne peut pas être utilisée sur 
address@hidden"
 
 #. type: subsubsection
 #: doc/guix.texi:1141
@@ -3785,7 +3786,7 @@ msgstr "SELinux, limites"
 #. type: Plain text
 #: doc/guix.texi:1171
 msgid "This policy is not perfect.  Here is a list of limitations or quirks 
that should be considered when deploying the provided SELinux policy for the 
Guix daemon."
-msgstr "La politique n'et pas parfaite.  Voici une liste de limitations et de 
bizarreries qui vous devriez prendre en compte avant de déployer la politique 
SELinux fournie pour le démon Guix."
+msgstr "La politique n'est pas parfaite.  Voici une liste de limitations et de 
bizarreries qui vous devriez prendre en compte avant de déployer la politique 
SELinux fournie pour le démon Guix."
 
 #. type: enumerate
 #: doc/guix.texi:1178
@@ -3913,7 +3914,7 @@ msgstr "daemon-substitute-urls"
 #. type: table
 #: doc/guix.texi:1285
 msgid "Consider @var{urls} the default whitespace-separated list of substitute 
source URLs.  When this option is omitted, 
@indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} is used 
(@code{mirror.hydra.gnu.org} is a mirror of @code{hydra.gnu.org})."
-msgstr "Considèrer @var{urls} comme la liste séparée par des espaces des URL 
des sources de substituts par défaut.  Lorsque cette option est omise, 
@indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} est utilisé  
(@code{mirror.hydra.gnu.org} est un mirroire de @code{hydra.gnu.org})."
+msgstr "Considérer @var{urls} comme la liste séparée par des espaces des URL 
des sources de substituts par défaut.  Lorsque cette option est omise, 
@indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} est utilisé  
(@code{mirror.hydra.gnu.org} est un miroir de @code{hydra.gnu.org})."
 
 #. type: table
 #: doc/guix.texi:1288
@@ -4047,7 +4048,7 @@ msgstr "Construire chaque dérivations @var{N} fois à la 
suite, et lever une er
 #. type: table
 #: doc/guix.texi:1352 doc/guix.texi:6608
 msgid "When used in conjunction with @option{--keep-failed}, the differing 
output is kept in the store, under @file{/gnu/store/@dots{}-check}.  This makes 
it easy to look for differences between the two results."
-msgstr "Lorsqu'utilisé avec @option{--keep-failed}, la sourtie différente est 
gardée dans le dépôt sous @file{/gnu/store/@dots{}-check}.  Cela rend plus 
facile l'étude des différences entre les deux résultats."
+msgstr "Lorsqu'utilisé avec @option{--keep-failed}, la sortie différente est 
gardée dans le dépôt sous @file{/gnu/store/@dots{}-check}.  Cela rend plus 
facile l'étude des différences entre les deux résultats."
 
 #. type: item
 #: doc/guix.texi:1353
@@ -4446,7 +4447,7 @@ msgstr "Comme il est extensible, NSS supporte des 
@dfn{greffons} qui fournissent
 #. type: Plain text
 #: doc/guix.texi:1574
 msgid "When they perform a name lookup---for instance by calling the 
@code{getaddrinfo} function in C---applications first try to connect to the 
nscd; on success, nscd performs name lookups on their behalf.  If the nscd is 
not running, then they perform the name lookup by themselves, by loading the 
name lookup services into their own address space and running it.  These name 
lookup services---the @file{libnss_*.so} files---are @code{dlopen}'d, but they 
may come from the host system's C l [...]
-msgstr "Lorsqu'ils essayent d'effectuer une résolution de nom — par exemple en 
appelant la fonction @code{getaddrinfo} en C — les applications essayent 
d'abord de se connecter au nscd ; en cas de réussite, nscd effectue la 
résolution de nom pour eux.  Si le nscd ne tourne pas, alors ils effectue la 
résolution eux-même, en changeant les service de résolution dans leur propre 
espace d'adressage et en le lançant.  Ce services de résolution de noms — les 
fichiers @file{libnns_*.so} — sont @c [...]
+msgstr "Lorsqu'ils essayent d'effectuer une résolution de nom — par exemple en 
appelant la fonction @code{getaddrinfo} en C — les applications essayent 
d'abord de se connecter au nscd ; en cas de réussite, nscd effectue la 
résolution de nom pour eux.  Si le nscd ne tourne pas, alors ils effectuent la 
résolution eux-mêmes, en changeant les service de résolution dans leur propre 
espace d'adressage et en le lançant.  Ce services de résolution de noms — les 
fichiers @file{libnns_*.so} — sont [...]
 
 #. type: Plain text
 #: doc/guix.texi:1579
@@ -4495,7 +4496,7 @@ msgstr "xterm"
 #. type: Plain text
 #: doc/guix.texi:1611
 msgid "Older programs such as @command{xterm} do not use Fontconfig and 
instead rely on server-side font rendering.  Such programs require to specify a 
full name of a font using XLFD (X Logical Font Description), like this:"
-msgstr "Les vieux programmes comme @command{xterm} n'utilisent pas fontconfig 
et s'appuient sur le rendu du côté du serveur.  Ces programmes ont besoin de 
spécifier le nom complet de la police en utlisant XLFD (X Logical Font 
Description), comme ceci :"
+msgstr "Les vieux programmes comme @command{xterm} n'utilisent pas fontconfig 
et s'appuient sur le rendu du côté du serveur.  Ces programmes ont besoin de 
spécifier le nom complet de la police en utilisant XLFD (X Logical Font 
Description), comme ceci :"
 
 #. type: example
 #: doc/guix.texi:1614
@@ -4578,7 +4579,7 @@ msgstr "Lorsque vous installez les paquets Emacs avec 
Guix, les fichiers elisp p
 #. type: Plain text
 #: doc/guix.texi:1667
 msgid "By default, Emacs (installed with Guix) ``knows'' where these packages 
are placed, so you do not need to perform any configuration.  If, for some 
reason, you want to avoid auto-loading Emacs packages installed with Guix, you 
can do so by running Emacs with @code{--no-site-file} option (@pxref{Init 
File,,, emacs, The GNU Emacs Manual})."
-msgstr "Par défaut, Emacs (installé avec Guix) « sait » où ces paquets ce 
trouvent, donc vous n'avez pas besoin de le configurer.  Si, pour quelque 
raison que ce soit, vous souhaitez éviter de charger automatiquement les 
paquets Emacs installés avec Guix, vous pouvez le faire en lançaint Emacs avec 
l'option @code{--no-site-file} (@pxref{Init File,,, emacs, The GNU Emacs 
Manual})."
+msgstr "Par défaut, Emacs (installé avec Guix) « sait » où ces paquets ce 
trouvent, donc vous n'avez pas besoin de le configurer.  Si, pour quelque 
raison que ce soit, vous souhaitez éviter de charger automatiquement les 
paquets Emacs installés avec Guix, vous pouvez le faire en lançant Emacs avec 
l'option @code{--no-site-file} (@pxref{Init File,,, emacs, The GNU Emacs 
Manual})."
 
 #. type: subsection
 #: doc/guix.texi:1668
@@ -4649,7 +4650,7 @@ msgstr "Plutôt que de se rapporter à ces répertoires, les 
utilisateurs ont le
 #. type: Plain text
 #: doc/guix.texi:1749
 msgid "For example, @code{alice} installs GCC 4.7.2.  As a result, 
@file{/home/alice/.guix-profile/bin/gcc} points to 
@file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}.  Now, on the same machine, 
@code{bob} had already installed GCC 4.8.0.  The profile of @code{bob} simply 
continues to point to @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both 
versions of GCC coexist on the same system without any interference."
-msgstr "Par exemple, @code{alice} installe GCC 4.7.2.  Il en résulte que 
@file{/home/alice/.guix-profile/bin/gcc} pointe vers 
@file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Maintenant, sur la même machine, 
@code{bob} a déjà intallé GCC 4.8.0.  Le profil de @code{bob} continue 
simplement de pointer vers @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — 
c.-à-d.@: les deux versions de GCC coexistent surs le même système sans aucune 
interférence."
+msgstr "Par exemple, @code{alice} installe GCC 4.7.2.  Il en résulte que 
@file{/home/alice/.guix-profile/bin/gcc} pointe vers 
@file{/gnu/store/@dots{}-gcc-4.7.2/bin/gcc}. Maintenant, sur la même machine, 
@code{bob} a déjà installé GCC 4.8.0.  Le profil de @code{bob} continue 
simplement de pointer vers @file{/gnu/store/@dots{}-gcc-4.8.0/bin/gcc} — 
c.-à-d.@: les deux versions de GCC coexistent surs le même système sans aucune 
interférence."
 
 #. type: Plain text
 #: doc/guix.texi:1753
@@ -5227,7 +5228,7 @@ msgstr ""
 #. type: table
 #: doc/guix.texi:2091
 msgid "The last command above reports about the @code{GUILE_LOAD_PATH} 
variable, even though, taken individually, neither @file{foo} nor @file{bar} 
would lead to that recommendation."
-msgstr "La dernière commande ci-dessus montre la variable 
@code{GUILE_LOAD_PATH} bien que, pris individuellement, ni @file{foo} ni 
@file{bar} n'auraient donné cette recommendation."
+msgstr "La dernière commande ci-dessus montre la variable 
@code{GUILE_LOAD_PATH} bien que, pris individuellement, ni @file{foo} ni 
@file{bar} n'auraient donné cette recommandation."
 
 #. type: item
 #: doc/guix.texi:2093 doc/guix.texi:2891 doc/guix.texi:3290
@@ -5300,7 +5301,7 @@ msgstr "--bootstrap"
 #. type: table
 #: doc/guix.texi:2114
 msgid "Use the bootstrap Guile to build the profile.  This option is only 
useful to distribution developers."
-msgstr "Utiliser le programme d'amorçage Guile pour compiler le profil.  Cette 
option n'est utile que pour les développeurs de la distriibution."
+msgstr "Utiliser le programme d'amorçage Guile pour compiler le profil.  Cette 
option n'est utile que pour les développeurs de la distribution."
 
 #. type: Plain text
 #: doc/guix.texi:2120
@@ -5589,12 +5590,12 @@ msgstr "Et @code{--list-generations=1,8,2} renvoie les 
trois générations dans
 #: doc/guix.texi:2258
 #, no-wrap
 msgid "@emph{Ranges}.  @code{--list-generations=2..9} prints the"
-msgstr "@emph{Des interval}.  @code{--list-generations=2..9} affiche les"
+msgstr "@emph{Des intervalles}.  @code{--list-generations=2..9} affiche les"
 
 #. type: itemize
 #: doc/guix.texi:2261
 msgid "specified generations and everything in between.  Note that the start 
of a range must be smaller than its end."
-msgstr "générations demandées et tout ce qui se trouvent entre elles.  
Remarquez que le début d'un interval doit être plus petit que sa fin."
+msgstr "générations demandées et tout ce qui se trouvent entre elles.  
Remarquez que le début d'un intervalle doit être plus petit que sa fin."
 
 #. type: itemize
 #: doc/guix.texi:2265
@@ -5610,7 +5611,7 @@ msgstr "@emph{Des durées}.  Vous pouvez aussi récupérer 
les derniers @emph{N}
 #. type: itemize
 #: doc/guix.texi:2270
 msgid "or months by passing an integer along with the first letter of the 
duration.  For example, @code{--list-generations=20d} lists generations that 
are up to 20 days old."
-msgstr "ou moins en passant un entier avec la première lettre de la durée (en 
anglais : d, w ou m).  Par exemple @code{--list-generations=20d} liste les 
générations qui sont agées d'au plus 20 jours."
+msgstr "ou moins en passant un entier avec la première lettre de la durée (en 
anglais : d, w ou m).  Par exemple @code{--list-generations=20d} liste les 
générations qui sont âgées d'au plus 20 jours."
 
 #. type: item
 #: doc/guix.texi:2272
@@ -5713,7 +5714,7 @@ msgstr "ACL (liste de contrôle d'accès), pour les 
substituts"
 #. type: Plain text
 #: doc/guix.texi:2368
 msgid "To allow Guix to download substitutes from @code{hydra.gnu.org} or a 
mirror thereof, you must add its public key to the access control list (ACL) of 
archive imports, using the @command{guix archive} command (@pxref{Invoking guix 
archive}).  Doing so implies that you trust @code{hydra.gnu.org} to not be 
compromised and to serve genuine substitutes."
-msgstr "Pour permettre à Guix de télécharger les substituts depuis 
@code{hydra.gnu.org} ou un mirroir, vous devez ajouter sa clef publique à la 
liste de contrôle d'accès (ACL) des imports d'archives, avec la commande 
@command{guix archive} (@pxref{Invoking guix archive}).  Cela implique que vous 
faîtes confiance à @code{hydra.gnu.org} pour ne pas être compromis et vous 
servir des substituts authentiques."
+msgstr "Pour permettre à Guix de télécharger les substituts depuis 
@code{hydra.gnu.org} ou un miroir, vous devez ajouter sa clef publique à la 
liste de contrôle d'accès (ACL) des imports d'archives, avec la commande 
@command{guix archive} (@pxref{Invoking guix archive}).  Cela implique que vous 
faîtes confiance à @code{hydra.gnu.org} pour ne pas être compromis et vous 
servir des substituts authentiques."
 
 #. type: Plain text
 #: doc/guix.texi:2375
@@ -5827,12 +5828,12 @@ msgstr "--substitute-urls=\"https://a.example.org 
https://b.example.org\"\n";
 #. type: Plain text
 #: doc/guix.texi:2455
 msgid "If the ACL contains only the key for @code{b.example.org}, and if 
@code{a.example.org} happens to serve the @emph{exact same} substitutes, then 
Guix will download substitutes from @code{a.example.org} because it comes first 
in the list and can be considered a mirror of @code{b.example.org}.  In 
practice, independent build machines usually produce the same binaries, thanks 
to bit-reproducible builds (see below)."
-msgstr "Si l'ACL contient uniquement la clef de @code{b.example.org}, et si 
@code{a.example.org} sert @emph{exactement les mêmes} substituts, alors Guix 
téléchargera les substituts de @code{a.example.org} parce qu'il vient en 
premier dans la liste et peut être considéré comme un mirroir de 
@code{b.example.org}.  En pratique, des machines de constructions produisent 
souvent les mêmes binaires grâce à des construction reproductibles au bit près 
(voir plus bas)."
+msgstr "Si l'ACL contient uniquement la clef de @code{b.example.org}, et si 
@code{a.example.org} sert @emph{exactement les mêmes} substituts, alors Guix 
téléchargera les substituts de @code{a.example.org} parce qu'il vient en 
premier dans la liste et peut être considéré comme un miroir de 
@code{b.example.org}.  En pratique, des machines de constructions produisent 
souvent les mêmes binaires grâce à des construction reproductibles au bit près 
(voir plus bas)."
 
 #. type: Plain text
 #: doc/guix.texi:2462
 msgid "When using HTTPS, the server's X.509 certificate is @emph{not} 
validated (in other words, the server is not authenticated), contrary to what 
HTTPS clients such as Web browsers usually do.  This is because Guix 
authenticates substitute information itself, as explained above, which is what 
we care about (whereas X.509 certificates are about authenticating bindings 
between domain names and public keys.)"
-msgstr "Lorsque vous utilisez HTTPS, le certificat X.509 du serveur n'est 
@emph{pas} validé (en d'autre termes, le serveur n'est pas authentifié), 
contrairement à ce que des clients HTTPS comme des navigateurs web font 
habituellement.  Cela est dû au fait que Guix authentifie les informations sur 
les substituts eux-même, comme expliqué plus haut, ce dont on se soucie 
réellement (alors que les certificats X.509 authentifie la relation entre nom 
de domaine et clef publique)."
+msgstr "Lorsque vous utilisez HTTPS, le certificat X.509 du serveur n'est 
@emph{pas} validé (en d'autre termes, le serveur n'est pas authentifié), 
contrairement à ce que des clients HTTPS comme des navigateurs web font 
habituellement.  Cela est dû au fait que Guix authentifie les informations sur 
les substituts eux-mêmes, comme expliqué plus haut, ce dont on se soucie 
réellement (alors que les certificats X.509 authentifie la relation entre nom 
de domaine et clef publique)."
 
 #. type: Plain text
 #: doc/guix.texi:2474
@@ -5863,7 +5864,7 @@ msgstr "confiance, en des binaires pré-construits"
 #. type: Plain text
 #: doc/guix.texi:2516
 msgid "Today, each individual's control over their own computing is at the 
mercy of institutions, corporations, and groups with enough power and 
determination to subvert the computing infrastructure and exploit its 
weaknesses.  While using @code{hydra.gnu.org} substitutes can be convenient, we 
encourage users to also build on their own, or even run their own build farm, 
such that @code{hydra.gnu.org} is less of an interesting target.  One way to 
help is by publishing the software you bui [...]
-msgstr "De nos jours, le contrôle individuel sur son utilisation propre de 
l'informatique est à la merci d'institutions, de sociétés et de groupes avec 
assez de pouvoir et de détermination pour contourner les infrastructures 
informatiques et exploiter leurs faiblesses.  Bien qu'utiliser les substituts 
de @code{hydra.gnu.org} soit pratique, nous encourageons les utilisateurs à 
construire aussi par eux-même, voir à faire tourner leur propre ferme de 
construction, pour que @code{hydra.gnu.o [...]
+msgstr "De nos jours, le contrôle individuel sur son utilisation propre de 
l'informatique est à la merci d'institutions, de sociétés et de groupes avec 
assez de pouvoir et de détermination pour contourner les infrastructures 
informatiques et exploiter leurs faiblesses.  Bien qu'utiliser les substituts 
de @code{hydra.gnu.org} soit pratique, nous encourageons les utilisateurs à 
construire aussi par eux-mêmes, voir à faire tourner leur propre ferme de 
construction, pour que @code{hydra.gnu. [...]
 
 #. type: Plain text
 #: doc/guix.texi:2528
@@ -5967,7 +5968,7 @@ msgstr "Le ramasse-miettes a un ensemble de @dfn{racines} 
connues : tout fichier
 #. type: Plain text
 #: doc/guix.texi:2614
 msgid "Prior to running @code{guix gc --collect-garbage} to make space, it is 
often useful to remove old generations from user profiles; that way, old 
package builds referenced by those generations can be reclaimed.  This is 
achieved by running @code{guix package --delete-generations} (@pxref{Invoking 
guix package})."
-msgstr "Avant de lancer @code{guix gc --collect-garbage} pour faire de la 
place, c'est souvent utile de supprimer les anciennes génération des profils 
utilisateurs ; de cette façon les anciennes constructions de paquets 
référencées par ces générations peuvent être glanées.  Cela se fait en lançaint 
@code{guix package --delete-generations} (@pxref{Invoking guix package})."
+msgstr "Avant de lancer @code{guix gc --collect-garbage} pour faire de la 
place, c'est souvent utile de supprimer les anciennes génération des profils 
utilisateurs ; de cette façon les anciennes constructions de paquets 
référencées par ces générations peuvent être glanées.  Cela se fait en lançant 
@code{guix package --delete-generations} (@pxref{Invoking guix package})."
 
 #. type: Plain text
 #: doc/guix.texi:2618
@@ -6662,7 +6663,7 @@ msgstr "Corollaire : si vous utilisez un canal externe et 
que le canal est cass
 #. type: quotation
 #: doc/guix.texi:3001
 msgid "You've been warned! Having said this, we believe external channels are 
a practical way to exert your freedom to augment Guix' package collection and 
to share your improvements, which are basic tenets of 
@uref{https://www.gnu.org/philosophy/free-sw.html, free software}.  Please 
email us at @email{guix-devel@@gnu.org} if you'd like to discuss this."
-msgstr "Vous avez été prévenus !  Maintenant, nous pensons que des canaux 
externes sont une manière pratique d'exercer votre liberté pour augmenter la 
collection de paquets de Guix et de partager vos améliorations, qui sont les 
principes de bases du @uref{https://www.gnu.org/philosophy/free-sw.html, 
logiciel libe}.  Contactez-nous par courriel sur @email{guix-devel@@gnu.org} si 
vous souhaitez discuter à ce propos."
+msgstr "Vous avez été prévenus !  Maintenant, nous pensons que des canaux 
externes sont une manière pratique d'exercer votre liberté pour augmenter la 
collection de paquets de Guix et de partager vos améliorations, qui sont les 
principes de bases du @uref{https://www.gnu.org/philosophy/free-sw.html, 
logiciel libre}.  Contactez-nous par courriel sur @email{guix-devel@@gnu.org} 
si vous souhaitez discuter à ce propos."
 
 #. type: Plain text
 #: doc/guix.texi:3007
@@ -7255,7 +7256,7 @@ msgstr "lot de logiciels"
 #. type: Plain text
 #: doc/guix.texi:3321
 msgid "The @command{guix pack} command creates a shrink-wrapped @dfn{pack} or 
@dfn{software bundle}: it creates a tarball or some other archive containing 
the binaries of the software you're interested in, and all its dependencies.  
The resulting archive can be used on any machine that does not have Guix, and 
people can run the exact same binaries as those you have with Guix.  The pack 
itself is created in a bit-reproducible fashion, so anyone can verify that it 
really contains the build [...]
-msgstr "La commande @command{guix pack} crée un @dfn{pack} ou @dfn{lot de 
logiciels} : elle crée une archive tar ou un autre type d'archive contenunt les 
binaires pour le logiciel qui vous intéresse ainsi que ses dépendances.  
L'archive qui en résulte peut être utilisée sur toutes les machines qui n'ont 
pas Guix et les gens peuvent lancer exactement les mêmes binaires que ceux que 
vous avez avec Guix.  Le pack lui-même est créé d'une manière reproductible au 
bit près, pour que n'importe  [...]
+msgstr "La commande @command{guix pack} crée un @dfn{pack} ou @dfn{lot de 
logiciels} : elle crée une archive tar ou un autre type d'archive contenant les 
binaires pour le logiciel qui vous intéresse ainsi que ses dépendances.  
L'archive qui en résulte peut être utilisée sur toutes les machines qui n'ont 
pas Guix et les gens peuvent lancer exactement les mêmes binaires que ceux que 
vous avez avec Guix.  Le pack lui-même est créé d'une manière reproductible au 
bit près, pour que n'importe  [...]
 
 #. type: Plain text
 #: doc/guix.texi:3324
@@ -8087,7 +8088,7 @@ msgstr "unquote-splicing"
 #. type: itemize
 #: doc/guix.texi:3855
 msgid "Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows 
us to introduce a literal list in the @code{inputs} field, while @code{,} (a 
comma, synonymous with @code{unquote}) allows us to insert a value in that list 
(@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
-msgstr "De nouveau, @code{`} (un accent grave, synonyme de la fonction 
@code{quasiquote}) nous permet d'introduire une liste litérale dans le champ 
@code{inputs}, tandis que @code{,} (une virgule, synonyme de la fonction 
@code{unquote}) nous permet d'insérer une valeur dans cette liste 
(@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
+msgstr "De nouveau, @code{`} (un accent grave, synonyme de la fonction 
@code{quasiquote}) nous permet d'introduire une liste littérale dans le champ 
@code{inputs}, tandis que @code{,} (une virgule, synonyme de la fonction 
@code{unquote}) nous permet d'insérer une valeur dans cette liste 
(@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
 
 #. type: itemize
 #: doc/guix.texi:3859
@@ -8107,7 +8108,7 @@ msgstr "@xref{package Reference}, pour une description 
complète des champs poss
 #. type: Plain text
 #: doc/guix.texi:3877
 msgid "Once a package definition is in place, the package may actually be 
built using the @code{guix build} command-line tool (@pxref{Invoking guix 
build}), troubleshooting any build failures you encounter (@pxref{Debugging 
Build Failures}).  You can easily jump back to the package definition using the 
@command{guix edit} command (@pxref{Invoking guix edit}).  @xref{Packaging 
Guidelines}, for more information on how to test package definitions, and 
@ref{Invoking guix lint}, for informati [...]
-msgstr "Lorsqu'une définition de paquet est en place, le paquet peut enfin 
être construit avec l'outil en ligne de commande @code{guix build}  
(@pxref{Invoking guix build}), pour résoudre les échecs de construction que 
vous pourriez rencontrer (@pxref{Debugging Build Failures}).  Vous pouvez 
aisément revenir à la définition du paquet avec la commande @command{guix edit} 
(@pxref{Invoking guix edit}).  @xref{Packaging Guidelines}, pour plus 
d'inforamtions sur la manière de tester des défin [...]
+msgstr "Lorsqu'une définition de paquet est en place, le paquet peut enfin 
être construit avec l'outil en ligne de commande @code{guix build}  
(@pxref{Invoking guix build}), pour résoudre les échecs de construction que 
vous pourriez rencontrer (@pxref{Debugging Build Failures}).  Vous pouvez 
aisément revenir à la définition du paquet avec la commande @command{guix edit} 
(@pxref{Invoking guix edit}).  @xref{Packaging Guidelines}, pour plus 
d'informations sur la manière de tester des défin [...]
 
 #. type: vindex
 #: doc/guix.texi:3877
@@ -8160,7 +8161,7 @@ msgstr "{Procédure Scheme} package-cross-derivation 
@var{store} @"
 #. type: deffn
 #: doc/guix.texi:3912
 msgid "@var{package} @var{target} address@hidden Return the 
@code{<derivation>} object of @var{package} cross-built from @var{system} to 
@var{target}."
-msgstr "@var{paquet} @var{cible} address@hidden renvoie l'objet 
@code{<derivation>} duof @var{paquet} construit depuis @var{système} pour 
@var{cible}."
+msgstr "@var{paquet} @var{cible} address@hidden renvoie l'objet 
@code{<derivation>} du @var{paquet} construit depuis @var{système} pour 
@var{cible}."
 
 #. type: deffn
 #: doc/guix.texi:3917
@@ -8936,7 +8937,7 @@ msgstr "Lorsque le paquet d'origine ne fournit pas de 
fichier de construction An
 #. type: defvr
 #: doc/guix.texi:4327
 msgid "The @code{#:main-class} parameter can be used with the minimal ant 
buildfile to specify the main class of the resulting jar.  This makes the jar 
file executable.  The @code{#:test-include} parameter can be used to specify 
the list of junit tests to run. It defaults to @code{(list \"**/*Test.java\")}. 
 The @code{#:test-exclude} can be used to disable some tests. It defaults to 
@code{(list \"**/Abstract*.java\")}, because abstract classes cannot be run as 
tests."
-msgstr "Le paramètre @code{#:main-class} peut être utilisé avec le fichier de 
construction minimal pour spécifier la classe principale du jar.  Cela rend le 
fichier jar exécutable.  Le paramètre @code{#:test-include} peut être utilisé 
pour spécifier la liste des tests junit à lancer.  Il vaut par défaut 
@code{(list \"**/*Test.java\")}.  Le paramètre @code{#:test-exclude} peut être 
utilisé pour désactiver certains tests.  Sa valeur par défaut est  @code{(list 
\"**/Abstract*.java\")}, parc [...]
+msgstr "Le paramètre @code{#:main-class} peut être utilisé avec le fichier de 
construction minimal pour spécifier la classe principale du jar.  Cela rend le 
fichier jar exécutable.  Le paramètre @code{#:test-include} peut être utilisé 
pour spécifier la liste des tests junits à lancer.  Il vaut par défaut 
@code{(list \"**/*Test.java\")}.  Le paramètre @code{#:test-exclude} peut être 
utilisé pour désactiver certains tests.  Sa valeur par défaut est  @code{(list 
\"**/Abstract*.java\")}, par [...]
 
 #. type: defvr
 #: doc/guix.texi:4331
@@ -9282,7 +9283,7 @@ msgstr "Cette variable est exportée par @code{(guix 
build-system ocaml)}.  Elle
 #. type: defvr
 #: doc/guix.texi:4596
 msgid "When the package has a @file{setup.ml} file present at the top-level, 
it will run @code{ocaml setup.ml -configure}, @code{ocaml setup.ml -build} and 
@code{ocaml setup.ml -install}.  The build system will assume that this file 
was generated by @uref{http://oasis.forge.ocamlcore.org/, OASIS} and will take 
care of setting the prefix and enabling tests if they are not disabled.  You 
can pass configure and build flags with the @code{#:configure-flags} and 
@code{#:build-flags}.  The @co [...]
-msgstr "Lorsqu'un fichier @file{setup.ml} est présent dans le répertoire de 
plus haut niveau, elle lancera @code{ocaml setup.ml -configure}, @code{ocaml 
setup.ml -build} et @code{ocaml setup.ml -install}.  Le système de construction 
supposera que ces fichiers ont été générés par 
@uref{http://oasis.forge.ocamlcore.org/, OASIS} et prendra soin d'initialiser 
le préfixe et d'activer les tests s'ils ne sont pas désactivés.  Vous pouvez 
passer des drapeaux de configuration et de consturction a [...]
+msgstr "Lorsqu'un fichier @file{setup.ml} est présent dans le répertoire de 
plus haut niveau, elle lancera @code{ocaml setup.ml -configure}, @code{ocaml 
setup.ml -build} et @code{ocaml setup.ml -install}.  Le système de construction 
supposera que ces fichiers ont été générés par 
@uref{http://oasis.forge.ocamlcore.org/, OASIS} et prendra soin d'initialiser 
le préfixe et d'activer les tests s'ils ne sont pas désactivés.  Vous pouvez 
passer des drapeaux de configuration et de construction a [...]
 
 #. type: defvr
 #: doc/guix.texi:4601
@@ -9313,7 +9314,7 @@ msgstr "{Variable Scheme} python-build-system"
 #. type: defvr
 #: doc/guix.texi:4628
 msgid "This variable is exported by @code{(guix build-system python)}.  It 
implements the more or less standard build procedure used by Python packages, 
which consists in running @code{python setup.py build} and then @code{python 
setup.py install --prefix=/gnu/store/@dots{}}."
-msgstr "Cette variable est exportée par @code{(guix build-system python)}.  
Elle implémente la procédure de construction plus ou moins standarde utilisée 
pour les paquets Python, qui consiste à lancer @code{python setup.py build} 
puis @code{python setup.py install --prefix=/gnu/store/@dots{}}."
+msgstr "Cette variable est exportée par @code{(guix build-system python)}.  
Elle implémente la procédure de construction plus ou moins standard utilisée 
pour les paquets Python, qui consiste à lancer @code{python setup.py build} 
puis @code{python setup.py install --prefix=/gnu/store/@dots{}}."
 
 #. type: defvr
 #: doc/guix.texi:4632
@@ -9339,7 +9340,7 @@ msgstr "{Variable Scheme} perl-build-system"
 #. type: defvr
 #: doc/guix.texi:4657
 msgid "This variable is exported by @code{(guix build-system perl)}.  It 
implements the standard build procedure for Perl packages, which either 
consists in running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, followed 
by @code{Build} and @code{Build install}; or in running @code{perl Makefile.PL 
PREFIX=/gnu/store/@dots{}}, followed by @code{make} and @code{make install}, 
depending on which of @code{Build.PL} or @code{Makefile.PL} is present in the 
package distribution.  Preference  [...]
-msgstr "Cette variable est exportée par @code{(guix build-system perl)}.  Elle 
implémente la procédure de construction standarde des paquets Perl, qui 
consiste soit à lancer @code{perl Build.PL --prefix=/gnu/store/@dots{}}, suivi 
de @code{Build} et @code{Build install} ; ou à lancer @code{perl Makefile.PL 
PREFIX=/gnu/store/@dots{}}, suivi de @code{make} et @code{make install}, en 
fonction de la présence de @code{Build.PL} ou @code{Makefile.PL} dans la 
distribution du paquet.  Le premier  [...]
+msgstr "Cette variable est exportée par @code{(guix build-system perl)}.  Elle 
implémente la procédure de construction standard des paquets Perl, qui consiste 
soit à lancer @code{perl Build.PL --prefix=/gnu/store/@dots{}}, suivi de 
@code{Build} et @code{Build install} ; ou à lancer @code{perl Makefile.PL 
PREFIX=/gnu/store/@dots{}}, suivi de @code{make} et @code{make install}, en 
fonction de la présence de @code{Build.PL} ou @code{Makefile.PL} dans la 
distribution du paquet.  Le premier a [...]
 
 #. type: defvr
 #: doc/guix.texi:4661
@@ -9798,7 +9799,7 @@ msgstr "Construit @var{derivaton} (ne liste d'objets 
@code{<derivation>} ou de c
 #. type: Plain text
 #: doc/guix.texi:5002
 msgid "Note that the @code{(guix monads)} module provides a monad as well as 
monadic versions of the above procedures, with the goal of making it more 
convenient to work with code that accesses the store (@pxref{The Store Monad})."
-msgstr "Remarque que le module @code{(guix monads)} fournit une monad ainsi 
que des version monadiques des procédures précédentes, avec le but de rendre 
plus facile de travailler avec le code qui accède au dépôt (@pxref{The Store 
Monad})."
+msgstr "Remarque que le module @code{(guix monads)} fournit une monade ainsi 
que des version monadiques des procédures précédentes, avec le but de rendre 
plus facile de travailler avec le code qui accède au dépôt (@pxref{The Store 
Monad})."
 
 #. type: i{#1}
 #: doc/guix.texi:5005
@@ -10068,7 +10069,7 @@ msgstr "fonctions monadiques"
 #. type: Plain text
 #: doc/guix.texi:5214
 msgid "This is where the @code{(guix monads)} module comes in.  This module 
provides a framework for working with @dfn{monads}, and a particularly useful 
monad for our uses, the @dfn{store monad}.  Monads are a construct that allows 
two things: associating ``context'' with values (in our case, the context is 
the store), and building sequences of computations (here computations include 
accesses to the store).  Values in a monad---values that carry this additional 
context---are called @dfn [...]
-msgstr "C'est là que le module @code{(guix monads)} arrive à la rescousse.  Ce 
module fournit un cadre pour travailler avec des @dfn{monads}, en particulier 
une monad très utile pour notre usage, la @dfn{monad du dépôt}.  Les monads 
sont des constructions qui permettent deux choses : associer un « contexte » 
avec une valeur (dans notre cas, le contexte est le dépôt) et construire une 
séquence de calculs (ici les calculs comprennent des accès au dépôt).  Les 
valeurs dans une monad — les v [...]
+msgstr "C'est là que le module @code{(guix monads)} arrive à la rescousse.  Ce 
module fournit un cadre pour travailler avec des @dfn{monads}, en particulier 
une monade très utile pour notre usage, la @dfn{monade du dépôt}.  Les monades 
sont des constructions qui permettent deux choses : associer un « contexte » 
avec une valeur (dans notre cas, le contexte est le dépôt) et construire une 
séquence de calculs (ici les calculs comprennent des accès au dépôt).  Les 
valeurs dans une monade — l [...]
 
 #. type: Plain text
 #: doc/guix.texi:5216
@@ -10145,7 +10146,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:5263
 msgid "Calling the monadic @code{sh-symlink} has no effect.  As someone once 
said, ``you exit a monad like you exit a building on fire: by running''.  So, 
to exit the monad and get the desired effect, one must use 
@code{run-with-store}:"
-msgstr "L'appel à la procédure monadique @code{sh-symlink} n'a aucun effet.  
En anglais on pourrait dire « you exit a monad like you exit a building on 
fire: by running address@hidden : « on sort d'une monad comme d'un immeuble en 
flamme, en courant ».  Le jeu de mot est perdu à la traduction : courrir et 
lancer utilisent le même verbe @i{run} en anglais.}. Donc, pour sortir de la 
monad et obtenir l'effet escompté, on doit utiliser @code{run-with-store}."
+msgstr "L'appel à la procédure monadique @code{sh-symlink} n'a aucun effet.  
En anglais on pourrait dire « you exit a monad like you exit a building on 
fire: by running address@hidden : « on sort d'une monade comme d'un immeuble en 
flamme, en courant ».  Le jeu de mot est perdu à la traduction : courir et 
lancer utilisent le même verbe @i{run} en anglais.}. Donc, pour sortir de la 
monade et obtenir l'effet escompté, on doit utiliser @code{run-with-store}."
 
 #. type: example
 #: doc/guix.texi:5267
@@ -10205,7 +10206,7 @@ msgstr "Remarquez qu'on ne peut pas renvoyer de valeur 
non monadique dans la con
 #. type: Plain text
 #: doc/guix.texi:5298
 msgid "The main syntactic forms to deal with monads in general are provided by 
the @code{(guix monads)} module and are described below."
-msgstr "Les formes syntaxiques principales pour utiliser des monads en général 
sont disponibles dans le module @code{(guix monads)} et sont décrites 
ci-dessous."
+msgstr "Les formes syntaxiques principales pour utiliser des monades en 
général sont disponibles dans le module @code{(guix monads)} et sont décrites 
ci-dessous."
 
 #. type: deffn
 #: doc/guix.texi:5299
@@ -10324,7 +10325,7 @@ msgstr "{Système Scheme} mwhen @var{condition} 
@var{mexp0} @var{mexp*} ..."
 #. type: deffn
 #: doc/guix.texi:5363
 msgid "When @var{condition} is true, evaluate the sequence of monadic 
expressions @address@hidden as in an @code{mbegin}.  When @var{condition} is 
false, return @code{*unspecified*} in the current monad.  Every expression in 
the sequence must be a monadic expression."
-msgstr "Lorsque la @var{condition} est vraie, évalue la séquence des 
expressions monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la 
@var{condition} est fausse, renvoie @code{*unspecified*} dans la monad 
actuelle.  Cahque expression dans la séquence doit être une expression 
monadique."
+msgstr "Lorsque la @var{condition} est vraie, évalue la séquence des 
expressions monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la 
@var{condition} est fausse, renvoie @code{*unspecified*} dans la monade 
actuelle.  Chaque expression dans la séquence doit être une expression 
monadique."
 
 #. type: deffn
 #: doc/guix.texi:5365
@@ -10335,18 +10336,18 @@ msgstr "{Système Scheme} munless @var{condition} 
@var{mexp0} @var{mexp*} ..."
 #. type: deffn
 #: doc/guix.texi:5370
 msgid "When @var{condition} is false, evaluate the sequence of monadic 
expressions @address@hidden as in an @code{mbegin}.  When @var{condition} is 
true, return @code{*unspecified*} in the current monad.  Every expression in 
the sequence must be a monadic expression."
-msgstr "Lorsque la @var{condition} est fausse, évalue la séquence des 
expressions monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la 
@var{condition} est vraie, renvoie @code{*unspecified*} dans la monad actuelle. 
 Cahque expression dans la séquence doit être une expression monadique."
+msgstr "Lorsque la @var{condition} est fausse, évalue la séquence des 
expressions monadiques @address@hidden comme dans un @code{mbegin}.  Lorsque la 
@var{condition} est vraie, renvoie @code{*unspecified*} dans la monade 
actuelle.  Chaque expression dans la séquence doit être une expression 
monadique."
 
 #. type: cindex
 #: doc/guix.texi:5372
 #, no-wrap
 msgid "state monad"
-msgstr "monad d'état"
+msgstr "monade d'état"
 
 #. type: Plain text
 #: doc/guix.texi:5376
 msgid "The @code{(guix monads)} module provides the @dfn{state monad}, which 
allows an additional value---the state---to be @emph{threaded} through monadic 
procedure calls."
-msgstr "Le module @code{(guix monads)} fournit la @dfn{monad d'état} qui 
permet à une valeur supplémentaire — l'état — d'être enfilée à travers les 
appels de procédures."
+msgstr "Le module @code{(guix monads)} fournit la @dfn{monade d'état} qui 
permet à une valeur supplémentaire — l'état — d'être enfilée à travers les 
appels de procédures."
 
 #. type: defvr
 #: doc/guix.texi:5377
@@ -10357,12 +10358,12 @@ msgstr "{Variable Scheme} %state-monad"
 #. type: defvr
 #: doc/guix.texi:5380
 msgid "The state monad.  Procedures in the state monad can access and change 
the state that is threaded."
-msgstr "La monad d'état.  les procédure dans la monad d'état peuvent accéder 
et modifier l'état qui est enfilé."
+msgstr "La monade d'état.  les procédure dans la monade d'état peuvent accéder 
et modifier l'état qui est enfilé."
 
 #. type: defvr
 #: doc/guix.texi:5384
 msgid "Consider the example below.  The @code{square} procedure returns a 
value in the state monad.  It returns the square of its argument, but also 
increments the current state value:"
-msgstr "Considérez l'exemple ci-dessous.  La procédure @code{square} renvoie 
une valeur dans la monad d'état.  Elle renvoie le carré de son argument, mais 
incrémente aussi la valeur actuelle de l'état :"
+msgstr "Considérez l'exemple ci-dessous.  La procédure @code{square} renvoie 
une valeur dans la monade d'état.  Elle renvoie le carré de son argument, mais 
incrémente aussi la valeur actuelle de l'état :"
 
 #. type: example
 #: doc/guix.texi:5391
@@ -10457,7 +10458,7 @@ msgstr "Lance la valeur monadique @var{mval} avec 
@var{state} comme valeur initi
 #. type: Plain text
 #: doc/guix.texi:5427
 msgid "The main interface to the store monad, provided by the @code{(guix 
store)} module, is as follows."
-msgstr "L'interface principale avec la monad du dépôt, fournit par le module 
@code{(guix store)}, est la suivante."
+msgstr "L'interface principale avec la monade du dépôt, fournit par le module 
@code{(guix store)}, est la suivante."
 
 #. type: defvr
 #: doc/guix.texi:5428
@@ -10468,12 +10469,12 @@ msgstr "{Variable Scheme} %store-monad"
 #. type: defvr
 #: doc/guix.texi:5430
 msgid "The store monad---an alias for @var{%state-monad}."
-msgstr "La monad du dépôt — un alias pour @var{%state-monad}."
+msgstr "La monade du dépôt — un alias pour @var{%state-monad}."
 
 #. type: defvr
 #: doc/guix.texi:5434
 msgid "Values in the store monad encapsulate accesses to the store.  When its 
effect is needed, a value of the store monad must be ``evaluated'' by passing 
it to the @code{run-with-store} procedure (see below.)"
-msgstr "Les valeurs dans la monad du dépôt encapsulent des accès au dépôt.  
Lorsque son effet est requis, une valeur de la monad du dépôt doit être « 
évaluée » en la passant à la procédure @code{run-with-store} (voir plus bas)."
+msgstr "Les valeurs dans la monade du dépôt encapsulent des accès au dépôt.  
Lorsque son effet est requis, une valeur de la monade du dépôt doit être « 
évaluée » en la passant à la procédure @code{run-with-store} (voir plus bas)."
 
 #. type: deffn
 #: doc/guix.texi:5436
@@ -10484,7 +10485,7 @@ msgstr "{Procédure Scheme} run-with-store @var{store} 
@var{mval} [#:guile-for-b
 #. type: deffn
 #: doc/guix.texi:5439
 msgid "Run @var{mval}, a monadic value in the store monad, in @var{store}, an 
open store connection."
-msgstr "Lance @var{mval}, une valeur monadique dans la monad du dépôt, dans 
@var{store}, une connexion ouvert au dépôt."
+msgstr "Lance @var{mval}, une valeur monadique dans la monade du dépôt, dans 
@var{store}, une connexion ouvert au dépôt."
 
 #. type: deffn
 #: doc/guix.texi:5441
@@ -10632,7 +10633,7 @@ msgstr "Pour décrire une dérivation et ses actions de 
construction, on a typiq
 #. type: Plain text
 #: doc/guix.texi:5541
 msgid "The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of 
S-expressions adapted to build expressions.  G-expressions, or @dfn{gexps}, 
consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, and 
@code{ungexp-splicing} (or simply: @code{#~}, @code{#$}, and @code{#$@@}), 
which are comparable to @code{quasiquote}, @code{unquote}, and 
@code{unquote-splicing}, respectively (@pxref{Expression Syntax, 
@code{quasiquote},, guile, GNU Guile Reference Manual}). [...]
-msgstr "Le module @code{(guix gexp)} implémente les @dfn{G-expressions}, une 
forme de S-expression adaptée aux expressions de construction.  Les 
G-expression, ou @dfn{gexps}, consistent en gros en trois formes syntaxiques : 
@code{gexp}, @code{ungexp} et @code{ungexp-splicing} (ou plus simplement : 
@code{#~}, @code{#$} et @code{#$@@}), qui sont comparable à @code{quasiquote}, 
@code{unquote} ett @code{unquote-splicing} respectivement (@pxref{Expression 
Syntax, @code{quasiquote},, guile, GN [...]
+msgstr "Le module @code{(guix gexp)} implémente les @dfn{G-expressions}, une 
forme de S-expression adaptée aux expressions de construction.  Les 
G-expression, ou @dfn{gexps}, consistent en gros en trois formes syntaxiques : 
@code{gexp}, @code{ungexp} et @code{ungexp-splicing} (ou plus simplement : 
@code{#~}, @code{#$} et @code{#$@@}), qui sont comparable à @code{quasiquote}, 
@code{unquote} et @code{unquote-splicing} respectivement (@pxref{Expression 
Syntax, @code{quasiquote},, guile, GNU [...]
 
 #. type: itemize
 #: doc/guix.texi:5546
@@ -10647,7 +10648,7 @@ msgstr "Lorsqu'un objet de haut-niveau comme un paquet 
ou une dérivation est un
 #. type: itemize
 #: doc/guix.texi:5556
 msgid "Gexps carry information about the packages or derivations they refer 
to, and these dependencies are automatically added as inputs to the build 
processes that use them."
-msgstr "Les gexps transportent des informatinos sur les paquets ou les 
dérivations auxquels elles se réfèrent, et ces dépendances sont automatiquement 
ajoutées comme des entrées du processus de construction qui les utilise."
+msgstr "Les gexps transportent des informations sur les paquets ou les 
dérivations auxquels elles se réfèrent, et ces dépendances sont automatiquement 
ajoutées comme des entrées du processus de construction qui les utilise."
 
 #. type: cindex
 #: doc/guix.texi:5558 doc/guix.texi:6062
@@ -10798,7 +10799,7 @@ msgstr "source-module-closure"
 #. type: Plain text
 #: doc/guix.texi:5650
 msgid "Usually you want the @emph{closure} of the module to be 
imported---i.e., the module itself and all the modules it depends on---rather 
than just the module; failing to do that, attempts to use the module will fail 
because of missing dependent modules.  The @code{source-module-closure} 
procedure computes the closure of a module by looking at its source file 
headers, which comes in handy in this case:"
-msgstr "Typiquement, vous voudriez que la @emph{closure} complète du mondule 
soit importé — c.-à-d.@: le module lui-même et tous les modules dont il dépend 
— plutôt que seulement le module ; sinon, une tentative de chargement du module 
échouera à cause des modules dépendants manquants.  La procédure 
@code{source-module-closure} calcule la closure d'un module en cherchant dans 
ses en-têtes sources, ce qui est pratique dans ce cas :"
+msgstr "Typiquement, vous voudriez que la @emph{closure} complète du module 
soit importé — c.-à-d.@: le module lui-même et tous les modules dont il dépend 
— plutôt que seulement le module ; sinon, une tentative de chargement du module 
échouera à cause des modules dépendants manquants.  La procédure 
@code{source-module-closure} calcule la closure d'un module en cherchant dans 
ses en-têtes sources, ce qui est pratique dans ce cas :"
 
 #. type: example
 #: doc/guix.texi:5653
@@ -11050,7 +11051,7 @@ msgstr "Marque les gexps définies dans @address@hidden 
comme requérant @var{
 #. type: deffn
 #: doc/guix.texi:5747
 msgid "Each item in @var{modules} can be the name of a module, such as 
@code{(guix build utils)}, or it can be a module name, followed by an arrow, 
followed by a file-like object:"
-msgstr "Chaque élément dans @var{module} peut être le nom d'un module, comme 
@code{(guix build utils)} ou le nom d'un module suivi d'une flêche, suivie d'un 
objet simili-fichier :"
+msgstr "Chaque élément dans @var{module} peut être le nom d'un module, comme 
@code{(guix build utils)} ou le nom d'un module suivi d'une flèche, suivie d'un 
objet simili-fichier :"
 
 #. type: example
 #: doc/guix.texi:5753
@@ -12015,7 +12016,7 @@ msgstr "De même, lorsque @var{version} est omis, la 
chaîne de version est inf
 #. type: table
 #: doc/guix.texi:6391
 msgid "This option allows users to try out versions of packages other than the 
one provided by the distribution.  The example below downloads 
@file{ed-1.7.tar.gz} from a GNU mirror and uses that as the source for the 
@code{ed} package:"
-msgstr "Cette option permet aux utilisateurs d'essayer des version des paquets 
différentes de celles fournies par la distribution.  L'exemple ci-dessous 
télécharge @file{ed-1.7.tar.g} depuis un mirroir GNU et l'utilise comme source 
pour le paquet @code{ed} :"
+msgstr "Cette option permet aux utilisateurs d'essayer des version des paquets 
différentes de celles fournies par la distribution.  L'exemple ci-dessous 
télécharge @file{ed-1.7.tar.g} depuis un miroir GNU et l'utilise comme source 
pour le paquet @code{ed} :"
 
 #. type: example
 #: doc/guix.texi:6394
@@ -12181,7 +12182,7 @@ msgstr "-S"
 #. type: table
 #: doc/guix.texi:6502
 msgid "Build the source derivations of the packages, rather than the packages 
themselves."
-msgstr "Construit les dérivation source des paquets, plutôt que des paquets 
eux-même."
+msgstr "Construit les dérivation source des paquets, plutôt que des paquets 
eux-mêmes."
 
 #. type: table
 #: doc/guix.texi:6506
@@ -12589,7 +12590,7 @@ msgstr "définition de paquets, modification"
 #. type: Plain text
 #: doc/guix.texi:6755
 msgid "So many packages, so many source files! The @command{guix edit} command 
facilitates the life of users and packagers by pointing their editor at the 
source file containing the definition of the specified packages.  For instance:"
-msgstr "Tant de paquets, tant de fichiers source ! La commande @command{guix 
edit} facilite la vie des utilisateurs et des packagers en plaçant leur éditeur 
sur le fichier source qui contient la définition des paquets spécifiés.  Par 
exemple :"
+msgstr "Tant de paquets, tant de fichiers source ! La commande @command{guix 
edit} facilite la vie des utilisateurs et des empaqueteurs en plaçant leur 
éditeur sur le fichier source qui contient la définition des paquets spécifiés. 
 Par exemple :"
 
 #. type: example
 #: doc/guix.texi:6758
@@ -12600,7 +12601,7 @@ msgstr "guix edit gcc@@4.9 vim\n"
 #. type: Plain text
 #: doc/guix.texi:6764
 msgid "launches the program specified in the @code{VISUAL} or in the 
@code{EDITOR} environment variable to view the recipe of address@hidden and 
that of Vim."
-msgstr "lance le programme spécifié dans la variable d'environnement 
@code{VISUAL} ou @code{EDITOR} pour visionner la recette de address@hidden et 
cele de Vim."
+msgstr "lance le programme spécifié dans la variable d'environnement 
@code{VISUAL} ou @code{EDITOR} pour visionner la recette de address@hidden et 
celle de Vim."
 
 #. type: Plain text
 #: doc/guix.texi:6770
@@ -12633,7 +12634,7 @@ msgstr "En écrivant des définitions de paquets, les 
développeurs ont généra
 #. type: Plain text
 #: doc/guix.texi:6790
 msgid "The fact that the downloaded file is added to the store saves 
bandwidth: when the developer eventually tries to build the newly defined 
package with @command{guix build}, the source tarball will not have to be 
downloaded again because it is already in the store.  It is also a convenient 
way to temporarily stash files, which may be deleted eventually 
(@pxref{Invoking guix gc})."
-msgstr "Le fait que le fichier téléchargé soit ajouté au dépôt préserve la 
bande passante : losque les développeurs finissent par construire le paquet 
nouvellement défini avec @command{guix build}, l'archive des sources n'aura pas 
besoin d'être téléchargée de nouveau puisqu'elle se trouvera déjà dans le 
dépôt.  C'est aussi une manière pratique de garder des fichiers temporairement, 
qui pourront ensuite être supprimés (@pxref{Invoking guix gc})."
+msgstr "Le fait que le fichier téléchargé soit ajouté au dépôt préserve la 
bande passante : lorsque les développeurs finissent par construire le paquet 
nouvellement défini avec @command{guix build}, l'archive des sources n'aura pas 
besoin d'être téléchargée de nouveau puisqu'elle se trouvera déjà dans le 
dépôt.  C'est aussi une manière pratique de garder des fichiers temporairement, 
qui pourront ensuite être supprimés (@pxref{Invoking guix gc})."
 
 #. type: Plain text
 #: doc/guix.texi:6798
@@ -12907,7 +12908,7 @@ msgstr "gem"
 #. type: table
 #: doc/guix.texi:6974
 msgid "Import metadata from @uref{https://rubygems.org/, address@hidden 
functionality requires Guile-JSON to be installed.  @xref{Requirements}.}.  
Information is taken from the JSON-formatted description available at 
@code{rubygems.org} and includes most relevant information, including runtime 
dependencies.  There are some caveats, however.  The metadata doesn't 
distinguish between synopses and descriptions, so the same string is used for 
both fields.  Additionally, the details [...]
-msgstr "Importe des métadonnées de @uref{https://rubygems.org/, address@hidden 
fonctionnalité requiert l'installation de Guile-JSON.  @xref{Requirements}.}.  
Les informations sont récupérées au format JSON disponible sur 
@code{rubygems.org} et inclut les informations les plus utiles, comme les 
dépendances à l'exécution.  Il y a des pièges cependant.  Les métadonnées ne 
distinguent pas synopsis et description, donc la même chaîne est utilisée pour 
les deux champs.  En plus, les  [...]
+msgstr "Importe des métadonnées de @uref{https://rubygems.org/, address@hidden 
fonctionnalité requiert l'installation de Guile-JSON.  @xref{Requirements}.}.  
Les informations sont récupérées au format JSON disponible sur 
@code{rubygems.org} et inclut les informations les plus utiles, comme les 
dépendances à l'exécution.  Il y a des pièges cependant.  Les métadonnées ne 
distinguent pas synopsis et description, donc la même chaîne est utilisée pour 
les deux champs.  En plus, les  [...]
 
 #. type: table
 #: doc/guix.texi:6976
@@ -13555,7 +13556,7 @@ msgstr "Choisi tous les paquets dans @var{subset}, 
entre @code{core} et @code{no
 #. type: table
 #: doc/guix.texi:7388
 msgid "The @code{core} subset refers to all the packages at the core of the 
distribution---i.e., packages that are used to build ``everything else''.  This 
includes GCC, libc, Binutils, Bash, etc.  Usually, changing one of these 
packages in the distribution entails a rebuild of all the others.  Thus, such 
updates are an inconvenience to users in terms of build time or bandwidth used 
to achieve the upgrade."
-msgstr "Le sous-ensemble @code{core} se réfère à tous les paquets du cœur de 
la distribution — c.-à-d.@: les paquets qui sont utilisés pour construire « 
tout le rest ».  Cela comprend GCC, libc, Binutils, Bash, etc.  Habituellement, 
changer l'un de ces paquets dans la distribution implique de reconstruire tous 
les autres.  Ainsi, ces mises à jour sont une nuisance pour les utilisateurs, 
en terme de temps de compilation et de bande passante utilisés pour effectuer 
la mise à jour."
+msgstr "Le sous-ensemble @code{core} se réfère à tous les paquets du cœur de 
la distribution — c.-à-d.@: les paquets qui sont utilisés pour construire « 
tout le reste ».  Cela comprend GCC, libc, Binutils, Bash, etc.  
Habituellement, changer l'un de ces paquets dans la distribution implique de 
reconstruire tous les autres.  Ainsi, ces mises à jour sont une nuisance pour 
les utilisateurs, en terme de temps de compilation et de bande passante 
utilisés pour effectuer la mise à jour."
 
 #. type: table
 #: doc/guix.texi:7392
@@ -13970,7 +13971,7 @@ msgstr "source-file-name"
 #. type: table
 #: doc/guix.texi:7598
 msgid "Probe @code{home-page} and @code{source} URLs and report those that are 
invalid.  Suggest a @code{mirror://} URL when applicable.  Check that the 
source file name is meaningful, e.g. is not just a version number or 
``git-checkout'', without a declared @code{file-name} (@pxref{origin 
Reference})."
-msgstr "Sonde les URL @code{home-page} et @code{source} et rapporte celles qui 
sont invalides.  Suggère une URL en @code{mirror://} lorsque c'est possible.  
Vérifie que le nom du fichier source a un sens, p.@: ex.@: qu'il ne s'agisse 
pas juste d'un numéro de version ou « git-checkou », sans avoir déclaré un 
@code{file-name} (@pxref{origin Reference})."
+msgstr "Sonde les URL @code{home-page} et @code{source} et rapporte celles qui 
sont invalides.  Suggère une URL en @code{mirror://} lorsque c'est possible.  
Vérifie que le nom du fichier source a un sens, p.@: ex.@: qu'il ne s'agisse 
pas juste d'un numéro de version ou « git-checkout », sans avoir déclaré un 
@code{file-name} (@pxref{origin Reference})."
 
 #. type: item
 #: doc/guix.texi:7599
@@ -14180,7 +14181,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:7715
 msgid "The store items listed here constitute the @dfn{transitive closure} of 
Coreutils---i.e., Coreutils and all its dependencies, recursively---as would be 
returned by:"
-msgstr "Les éléments du dépôt listés ici constituent la @dfn{cloture 
transitive} de Coreutils — c.-à-d.@: Coreutils et toutes ses dépendances, 
récursivement — comme ce qui serait renvoyé par :"
+msgstr "Les éléments du dépôt listés ici constituent la @dfn{clôture 
transitive} de Coreutils — c.-à-d.@: Coreutils et toutes ses dépendances, 
récursivement — comme ce qui serait renvoyé par :"
 
 #. type: example
 #: doc/guix.texi:7718
@@ -14191,12 +14192,12 @@ msgstr "$ guix gc -R 
/gnu/store/@dots{}-coreutils-8.23\n"
 #. type: Plain text
 #: doc/guix.texi:7726
 msgid "Here the output shows three columns next to store items.  The first 
column, labeled ``total'', shows the size in mebibytes (MiB) of the closure of 
the store item---that is, its own size plus the size of all its dependencies.  
The next column, labeled ``self'', shows the size of the item itself.  The last 
column shows the ratio of the size of the item itself to the space occupied by 
all the items listed here."
-msgstr "Ici, la sortie possède trois colonnes à côté de chaque élément du 
dépôt.  La première colonne, nommée « total », montre la taille en mébioctet 
(Mio) de la cloture de l'élément du dépôt — c'est-à-dire sa propre taille plus 
la taille de ses dépendances. La colonne suivante, nommée « lui-même », montre 
la taille de l'élément lui-même.  La dernière colonne montre le ration de la 
taille de l'élément lui-même par rapport à celle de tous les éléments montrés."
+msgstr "Ici, la sortie possède trois colonnes à côté de chaque élément du 
dépôt.  La première colonne, nommée « total », montre la taille en mébioctet 
(Mio) de la clôture de l'élément du dépôt — c'est-à-dire sa propre taille plus 
la taille de ses dépendances. La colonne suivante, nommée « lui-même », montre 
la taille de l'élément lui-même.  La dernière colonne montre le ration de la 
taille de l'élément lui-même par rapport à celle de tous les éléments montrés."
 
 #. type: Plain text
 #: doc/guix.texi:7732
 msgid "In this example, we see that the closure of Coreutils weighs in at 
address@hidden, most of which is taken by libc and GCC's run-time support 
libraries.  (That libc and GCC's libraries represent a large fraction of the 
closure is not a problem @i{per se} because they are always available on the 
system anyway.)"
-msgstr "Dans cet exemple, on voit que la cloture de Coreutils pèse 
address@hidden, dont la plupart est dû à la libc et aux bibliothèques à 
l'exécution de GCC (ce n'est pas un problème en soit que la libc et les 
bibliothèques de GCC représentent une grande part de la cloture parce qu'elles 
sont toujours disponibles sur le système de toute façon)."
+msgstr "Dans cet exemple, on voit que la clôture de Coreutils pèse 
address@hidden, dont la plupart est dû à la libc et aux bibliothèques à 
l'exécution de GCC (ce n'est pas un problème en soit que la libc et les 
bibliothèques de GCC représentent une grande part de la clôture parce qu'elles 
sont toujours disponibles sur le système de toute façon)."
 
 #. type: Plain text
 #: doc/guix.texi:7741
@@ -14238,7 +14239,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:7764
 msgid "In this example we see that the combination of the four packages takes 
address@hidden in total, which is much less than the sum of each closure since 
they have a lot of dependencies in common."
-msgstr "Dans cet exemple on voit que la combinaison des quatre paquets prent 
address@hidden en tout, ce qui est bien moins que la somme des clotures 
puisqu'ils ont beaucoup de dépendances en commun."
+msgstr "Dans cet exemple on voit que la combinaison des quatre paquets prend 
address@hidden en tout, ce qui est bien moins que la somme des clôtures 
puisqu'ils ont beaucoup de dépendances en commun."
 
 #. type: Plain text
 #: doc/guix.texi:7766
@@ -14259,7 +14260,7 @@ msgstr "address@hidden"
 #. type: table
 #: doc/guix.texi:7775
 msgid "Sort lines according to @var{key}, one of the following options:"
-msgstr "Trie les lignes en fonction de la @var{clef}, l'une des optinos 
suivantes :"
+msgstr "Trie les lignes en fonction de la @var{clef}, l'une des options 
suivantes :"
 
 #. type: item
 #: doc/guix.texi:7777
@@ -14275,7 +14276,7 @@ msgstr "la taille de chaque élément (par défaut) ;"
 #. type: table
 #: doc/guix.texi:7781
 msgid "the total size of the item's closure."
-msgstr "la taille totale de la cloture de l'élémente."
+msgstr "la taille totale de la clôture de l'élément."
 
 #. type: item
 #: doc/guix.texi:7783
@@ -14971,7 +14972,7 @@ msgstr "conteneur"
 #. type: table
 #: doc/guix.texi:8225
 msgid "Run @var{command} within an isolated container.  The current working 
directory outside the container is mapped inside the container.  Additionally, 
unless overridden with @code{--user}, a dummy home directory is created that 
matches the current user's home directory, and @file{/etc/passwd} is configured 
accordingly.  The spawned process runs as the current user outside the 
container, but has root privileges in the context of the container."
-msgstr "Lance @var{commande} dans un conteneur isolé.  Le répertoire de 
travail actuel en dehors du conteneur est monté dans le conteneur.  En plus, à 
moins de le changer avec @code{--user}, un répertoire personnel fictif est créé 
pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwod} est 
configuré en conséquence.  Le processus est lancé en tant que l'utilisateur 
actuel en dehors du conteneur, mais a les privilèges root dans le contexte du 
conteneur."
+msgstr "Lance @var{commande} dans un conteneur isolé.  Le répertoire de 
travail actuel en dehors du conteneur est monté dans le conteneur.  En plus, à 
moins de le changer avec @code{--user}, un répertoire personnel fictif est créé 
pour correspondre à celui de l'utilisateur actuel et @file{/etc/passwd} est 
configuré en conséquence.  Le processus est lancé en tant que l'utilisateur 
actuel en dehors du conteneur, mais a les privilèges root dans le contexte du 
conteneur."
 
 #. type: item
 #: doc/guix.texi:8226
@@ -15027,7 +15028,7 @@ msgstr "-u @var{utilisateur}"
 #. type: table
 #: doc/guix.texi:8255
 msgid "For containers, use the username @var{user} in place of the current 
user.  The generated @file{/etc/passwd} entry within the container will contain 
the name @var{user}; the home directory will be @file{/home/USER}; and no user 
GECOS data will be copied.  @var{user} need not exist on the system."
-msgstr "Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à 
la place de l'utilisateur actuel.  L'entrée générée dans @file{/etc/passwod} 
dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire personnel 
sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera copiée.  
@var{utilisateur} n'a pas besoin d'exister sur le système."
+msgstr "Pour les conteneurs, utilise le nom d'utilisateur @var{utilisateur} à 
la place de l'utilisateur actuel.  L'entrée générée dans @file{/etc/passwd} 
dans le conteneur contiendra le nom @var{utilisateur} ; le répertoire personnel 
sera @file{/home/UTILISATEUR} ; et aucune donnée GECOS ne sera copiée.  
@var{utilisateur} n'a pas besoin d'exister sur le système."
 
 #. type: table
 #: doc/guix.texi:8260
@@ -15086,7 +15087,7 @@ msgstr "address@hidden@var{cible}]"
 #. type: table
 #: doc/guix.texi:8292
 msgid "For containers, share the file system @var{source} from the host system 
as the writable file system @var{target} within the container.  If @var{target} 
is not specified, @var{source} is used as the target mount point in the 
container."
-msgstr "Pour les conteneurs, partage le système de fichiers @var{soruce} du 
système hôte comme un système de fichiers en lecture-écriture @var{cible} dans 
le conteneur.  Si @var{cible} n'est pas spécifiée, @var{source} est utilisée 
comme point de montage dans le conteneur."
+msgstr "Pour les conteneurs, partage le système de fichiers @var{source} du 
système hôte comme un système de fichiers en lecture-écriture @var{cible} dans 
le conteneur.  Si @var{cible} n'est pas spécifiée, @var{source} est utilisée 
comme point de montage dans le conteneur."
 
 #. type: table
 #: doc/guix.texi:8296
@@ -15172,7 +15173,7 @@ msgstr "Par défaut, @command{guix publish} compresse 
les archives à la volée
 #. type: Plain text
 #: doc/guix.texi:8365
 msgid "As a bonus, @command{guix publish} also serves as a content-addressed 
mirror for source files referenced in @code{origin} records (@pxref{origin 
Reference}).  For instance, assuming @command{guix publish} is running on 
@code{example.org}, the following URL returns the raw @file{hello-2.10.tar.gz} 
file with the given SHA256 hash (represented in @code{nix-base32} format, 
@pxref{Invoking guix hash}):"
-msgstr "En bonus, @command{guix publish} sert aussi un miroir adressé par le 
contenu des fichiers source référencées dans les enregistrements @code{origin} 
(@pxref{origin Reference}).  Par exemple, en supposant que @command{guix 
publish} tourne sur @code{example.org}, l'URL suivante renverra le fichie brut 
@file{hello-2.10.tar.gz} avec le hash SHA256 donné (représenté sous le format 
@code{nix-base32}, @pxref{Invoking guix hash}) :"
+msgstr "En bonus, @command{guix publish} sert aussi un miroir adressé par le 
contenu des fichiers source référencées dans les enregistrements @code{origin} 
(@pxref{origin Reference}).  Par exemple, en supposant que @command{guix 
publish} tourne sur @code{example.org}, l'URL suivante renverra le fichier brut 
@file{hello-2.10.tar.gz} avec le hash SHA256 donné (représenté sous le format 
@code{nix-base32}, @pxref{Invoking guix hash}) :"
 
 #. type: example
 #: doc/guix.texi:8368
@@ -15205,7 +15206,7 @@ msgstr "http://example.org/log/address@hidden";
 #. type: Plain text
 #: doc/guix.texi:8388
 msgid "When @command{guix-daemon} is configured to save compressed build logs, 
as is the case by default (@pxref{Invoking guix-daemon}), @code{/log} URLs 
return the compressed log as-is, with an appropriate @code{Content-Type} and/or 
@code{Content-Encoding} header.  We recommend running @command{guix-daemon} 
with @code{--log-compression=gzip} since Web browsers can automatically 
decompress it, which is not the case with bzip2 compression."
-msgstr "Lorsque @command{guix-daemon} est configuré pour sauvegarder les 
journaux de construction compressés, comme c'est le cas par défaut 
(@pxref{Invoking guix-daemon}), les URL @code{/log} renvoient le journal 
compressé tel-quel, avec un en-tête @code{Content-Type} ou 
@code{Content-Encoding} approprié.  Nous recommandons de lancer 
@command{guix-daemon} avec @code{--log-compression=gzip} pace que les 
navigateurs web les décompressent automatiquement, ce qui n'est pas le cas avec 
la com [...]
+msgstr "Lorsque @command{guix-daemon} est configuré pour sauvegarder les 
journaux de construction compressés, comme c'est le cas par défaut 
(@pxref{Invoking guix-daemon}), les URL @code{/log} renvoient le journal 
compressé tel-quel, avec un en-tête @code{Content-Type} ou 
@code{Content-Encoding} approprié.  Nous recommandons de lancer 
@command{guix-daemon} avec @code{--log-compression=gzip} parce que les 
navigateurs web les décompressent automatiquement, ce qui n'est pas le cas avec 
la co [...]
 
 #. type: item
 #: doc/guix.texi:8392
@@ -15282,7 +15283,7 @@ msgstr "Cache les archives et les métadonnées (les URL 
@code{.narinfo}) dans @
 #. type: table
 #: doc/guix.texi:8433
 msgid "When this option is omitted, archives and meta-data are created 
on-the-fly.  This can reduce the available bandwidth, especially when 
compression is enabled, since this may become CPU-bound.  Another drawback of 
the default mode is that the length of archives is not known in advance, so 
@command{guix publish} does not add a @code{Content-Length} HTTP header to its 
responses, which in turn prevents clients from knowing the amount of data being 
downloaded."
-msgstr "Lorsque cette option est omise, les archives et les métadonnées sont 
crées à la volée.  Cela réduit la bande passante disponible, surtout quand la 
compression est activée puisqu'elle pourrait être limitée par le CPU.  Un autre 
inconvénient au mode par défaut est que la taille des archives n'est pas connue 
à l'avance, donc @command{guix publish} n'ajoute pas l'en-tête 
@code{Content-Length} à ses résponses, ce qui empêche les clients de savoir la 
quantité de données à télécharger."
+msgstr "Lorsque cette option est omise, les archives et les métadonnées sont 
crées à la volée.  Cela réduit la bande passante disponible, surtout quand la 
compression est activée puisqu'elle pourrait être limitée par le CPU.  Un autre 
inconvénient au mode par défaut est que la taille des archives n'est pas connue 
à l'avance, donc @command{guix publish} n'ajoute pas l'en-tête 
@code{Content-Length} à ses réponses, ce qui empêche les clients de savoir la 
quantité de données à télécharger."
 
 #. type: table
 #: doc/guix.texi:8441
@@ -15797,7 +15798,7 @@ msgstr "guix container exec @var{pid} @var{programme} 
@address@hidden"
 #. type: table
 #: doc/guix.texi:8766
 msgid "@var{pid} specifies the process ID of the running container.  
@var{program} specifies an executable file name within the root file system of 
the container.  @var{arguments} are the additional options that will be passed 
to @var{program}."
-msgstr "@var{pid} spécifie le PID du conteneur lancé.  @var{programme} 
spécifie le nom du fichier exécutable dans le système de fichiers racine du 
conteneur.  @var{arguments} sont les options supplémentairesà passer à 
@var{programme}."
+msgstr "@var{pid} spécifie le PID du conteneur lancé.  @var{programme} 
spécifie le nom du fichier exécutable dans le système de fichiers racine du 
conteneur.  @var{arguments} sont les options supplémentaires à passer à 
@var{programme}."
 
 #. type: table
 #: doc/guix.texi:8770
@@ -15842,7 +15843,7 @@ msgstr "disponibilité des substituts"
 #: doc/guix.texi:8793
 #, no-wrap
 msgid "substitute availability"
-msgstr "substuts, disponibilité"
+msgstr "substituts, disponibilité"
 
 #. type: cindex
 #: doc/guix.texi:8794
@@ -16498,7 +16499,7 @@ msgstr ""
 #. type: table
 #: doc/guix.texi:9298
 msgid "Start the wireless service and run it in the background with the 
following command (substitute @var{interface} with the name of the network 
interface you want to use):"
-msgstr "Démarrez le service sans-file et lancez-le en tache de fond avec la 
commande suivante (en remplaçant @var{interface} par le nom de l'interface 
réseau que vous voulez utiliser) :"
+msgstr "Démarrez le service sans-fil et lancez-le en tache de fond avec la 
commande suivante (en remplaçant @var{interface} par le nom de l'interface 
réseau que vous voulez utiliser) :"
 
 #. type: example
 #: doc/guix.texi:9301
@@ -17363,7 +17364,7 @@ msgstr "La sortie de la dérivation est un répertoire 
qui se réfère à tous l
 #. type: Plain text
 #: doc/guix.texi:9913
 msgid "This procedure is provided by the @code{(gnu system)} module.  Along 
with @code{(gnu services)} (@pxref{Services}), this module contains the guts of 
GuixSD.  Make sure to visit it!"
-msgstr "Cette procédure est fournie par le module @code{(gnu system)}.  Avec 
@code{(gnu srevices)} (@pxref{Services}), ce module contient les entrailles de 
GuixSD.  Ouvrez-le un jour !"
+msgstr "Cette procédure est fournie par le module @code{(gnu system)}.  Avec 
@code{(gnu services)} (@pxref{Services}), ce module contient les entrailles de 
GuixSD.  Ouvrez-le un jour !"
 
 #. type: subsection
 #: doc/guix.texi:9916
@@ -18744,7 +18745,7 @@ msgstr "Les sections suivantes documentent les services 
disponibles, en commenç
 #. type: Plain text
 #: doc/guix.texi:10714
 msgid "The @code{(gnu services base)} module provides definitions for the 
basic services that one expects from the system.  The services exported by this 
module are listed below."
-msgstr "Le module @code{(gnu services base)} fournit des définitions de 
services poru les services de base qu'on peut attendre du système.  Les 
services exportés par ce module sort listés ci-dessous."
+msgstr "Le module @code{(gnu services base)} fournit des définitions de 
services pour les services de base qu'on peut attendre du système.  Les 
services exportés par ce module sort listés ci-dessous."
 
 #. type: defvr
 #: doc/guix.texi:10715
@@ -19526,7 +19527,7 @@ msgstr "nscd, invalidation du cache"
 #. type: table
 #: doc/guix.texi:11066
 msgid "This invalidate the given cache.  For instance, running:"
-msgstr "Cela invalide le cache dnné.  Par exemple, en laçant :"
+msgstr "Cela invalide le cache donné.  Par exemple, en laçant :"
 
 #. type: example
 #: doc/guix.texi:11069
@@ -19592,7 +19593,7 @@ msgstr "@code{glibc} (par défaut : @var{glibc})"
 #. type: table
 #: doc/guix.texi:11100
 msgid "Package object denoting the GNU C Library providing the @command{nscd} 
command."
-msgstr "Objet de paquet qui dénote la Biblothèque C de GNU qui fournit la 
commande @command{nscd}."
+msgstr "Objet de paquet qui dénote la Bibliothèque C de GNU qui fournit la 
commande @command{nscd}."
 
 #. type: item
 #: doc/guix.texi:11101
@@ -19998,7 +19999,7 @@ msgstr "{Procédure Scheme} udev-rule address@hidden 
@var{contents}]"
 #. type: deffn
 #: doc/guix.texi:11266
 msgid "Return a udev-rule file named @var{file-name} containing the rules 
defined by the @var{contents} literal."
-msgstr "Renvoie un fichier de règle udev nommé @var{file-name} contenant les 
règles définie par le litéral @var{contents}."
+msgstr "Renvoie un fichier de règle udev nommé @var{file-name} contenant les 
règles définie par le littéral @var{contents}."
 
 #. type: deffn
 #: doc/guix.texi:11270
@@ -20114,7 +20115,7 @@ msgstr "En plus, les définitions des paquets de Guix 
peuvent être inclus dans
 #. type: deffn
 #: doc/guix.texi:11333
 msgid "The following example shows how to use the @var{android-udev-rules} 
package so that the Android tool @command{adb} can detect devices without root 
privileges.  It also details how to create the @code{adbusers} group, which is 
required for the proper functioning of the rules defined within the 
@var{android-udev-rules} package.  To create such a group, we must define it 
both as part of the @var{supplementary-groups} of our @var{user-account} 
declaration, as well as in the @var{group [...]
-msgstr "L'exemple suivant montre comment utiliser le paquet 
@var{android-udev-rules} pour que l'outil Android @command{adb} puisse détecter 
les appareils sans privilège root.  Il détaille aussi comment créer le grope 
@code{adbusers}, requis pour le bon fonctionnement des règles définies dans le 
paquet @var{android-udev-rules}.  Pour créer ce groupe, on doit le définir dans 
les @var{supplementary-groups} de la déclaration @var{user-account} ainsi que 
dans le champ @var{groups} de l'enregi [...]
+msgstr "L'exemple suivant montre comment utiliser le paquet 
@var{android-udev-rules} pour que l'outil Android @command{adb} puisse détecter 
les appareils sans privilège root.  Il détaille aussi comment créer le groupe 
@code{adbusers}, requis pour le bon fonctionnement des règles définies dans le 
paquet @var{android-udev-rules}.  Pour créer ce groupe, on doit le définir dans 
les @var{supplementary-groups} de la déclaration @var{user-account} ainsi que 
dans le champ @var{groups} de l'enreg [...]
 
 #. type: example
 #: doc/guix.texi:11338
@@ -20540,12 +20541,12 @@ msgstr "tâches planifiées"
 #. type: Plain text
 #: doc/guix.texi:11530
 msgid "The @code{(gnu services mcron)} module provides an interface to 
address@hidden, a daemon to run jobs at scheduled times (@pxref{Top,,, mcron, 
address@hidden).  address@hidden is similar to the traditional Unix 
@command{cron} daemon; the main difference is that it is implemented in Guile 
Scheme, which provides a lot of flexibility when specifying the scheduling of 
jobs and their actions."
-msgstr "Le module @code{(gnu services mcron)} fournit une interface pour 
address@hidden, un démon qui lance des tâches planifiées (@pxref{Top,,, mcron, 
address@hidden).  address@hidden est similaire au démon Unix traditionel 
@command{cron} ; la principale différence est qu'il est implémenté en Guile 
Scheme, qui fournit beaucoup de flexibilité lors de la spécification de la 
planification des tâches et de leurs actions."
+msgstr "Le module @code{(gnu services mcron)} fournit une interface pour 
address@hidden, un démon qui lance des tâches planifiées (@pxref{Top,,, mcron, 
address@hidden).  address@hidden est similaire au démon Unix traditionnel 
@command{cron} ; la principale différence est qu'il est implémenté en Guile 
Scheme, qui fournit beaucoup de flexibilité lors de la spécification de la 
planification des tâches et de leurs actions."
 
 #. type: Plain text
 #: doc/guix.texi:11538
 msgid "The example below defines an operating system that runs the 
@command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files})  and the 
@command{guix gc} commands (@pxref{Invoking guix gc}) daily, as well as the 
@command{mkid} command on behalf of an unprivileged user (@pxref{mkid 
invocation,,, idutils, ID Database Utilities}).  It uses gexps to introduce job 
definitions that are passed to mcron (@pxref{G-Expressions})."
-msgstr "L'exemple en dessous définit un système d'exploitation qu lance les 
commandes @command{updatebd} (@pxref{Invoking updatedb,,, find, Finding Files}) 
et @command{guix gc} (@pxref{Invoking guix gc}) tous les jours, ainsi que la 
commande @command{mkid} en tant qu'utilisateur non privilégié (@pxref{mkid 
invocation,,, idutils, ID Database Utilities}).  Il utilise des gexps pour 
introduire des définitions de tâches qui sont passées à mcron 
(@pxref{G-Expressions})."
+msgstr "L'exemple en dessous définit un système d'exploitation qui lance les 
commandes @command{updatebd} (@pxref{Invoking updatedb,,, find, Finding Files}) 
et @command{guix gc} (@pxref{Invoking guix gc}) tous les jours, ainsi que la 
commande @command{mkid} en tant qu'utilisateur non privilégié (@pxref{mkid 
invocation,,, idutils, ID Database Utilities}).  Il utilise des gexps pour 
introduire des définitions de tâches qui sont passées à mcron 
(@pxref{G-Expressions})."
 
 #. type: lisp
 #: doc/guix.texi:11542
@@ -21155,7 +21156,7 @@ msgstr "{Procédure Scheme} wicd-service [#:wicd 
@var{wicd}]"
 #. type: deffn
 #: doc/guix.texi:11823
 msgid "Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a 
network management daemon that aims to simplify wired and wireless networking."
-msgstr "Renvoie un service qui lance @url{https://launchpad.net/wicd,Wicd}, un 
démon de gestion réseau qui cherche à simplifier la configuration des résaux 
filaires et sans fil."
+msgstr "Renvoie un service qui lance @url{https://launchpad.net/wicd,Wicd}, un 
démon de gestion réseau qui cherche à simplifier la configuration des réseaux 
filaires et sans fil."
 
 #. type: deffn
 #: doc/guix.texi:11828
@@ -21800,12 +21801,12 @@ msgstr "{Variable Scheme} inetd-service-type"
 #. type: deffn
 #: doc/guix.texi:12100
 msgid "This service runs the @command{inetd} (@pxref{inetd invocation,,, 
inetutils, GNU Inetutils}) daemon.  @command{inetd} listens for connections on 
internet sockets, and lazily starts the specified server program when a 
connection is made on one of these sockets."
-msgstr "Ce service lance le démon @command{inetd} (@pxref{inetd invocation,,, 
inetutils, GNU Inetutils}).  @command{inetd} écoute des connexionssur des 
sockets internet et démarre le programme spécifié uniquement lorsqu'une 
connexion arrive sur l'un de ces sockets."
+msgstr "Ce service lance le démon @command{inetd} (@pxref{inetd invocation,,, 
inetutils, GNU Inetutils}).  @command{inetd} écoute des connexions sur des 
sockets internet et démarre le programme spécifié uniquement lorsqu'une 
connexion arrive sur l'un de ces sockets."
 
 #. type: deffn
 #: doc/guix.texi:12106
 msgid "The value of this service is an @code{inetd-configuration} object.  The 
following example configures the @command{inetd} daemon to provide the built-in 
@command{echo} service, as well as an smtp service which forwards smtp traffic 
over ssh to a server @code{smtp-server} behind a gateway @code{hostname}:"
-msgstr "La valeur de ce service est un objet @code{inetd-configuration}.  
L'exemple suivant configure le démon @command{inetd} pour qu'il fournisse le 
service @command{echo}, ainsi qu'in service smtp qui transfère le trafic smtp 
par ssh à un serveur @code{smtp-server} derrière une passerelle @code{hostname} 
:"
+msgstr "La valeur de ce service est un objet @code{inetd-configuration}.  
L'exemple suivant configure le démon @command{inetd} pour qu'il fournisse le 
service @command{echo}, ainsi qu'un service smtp qui transfère le trafic smtp 
par ssh à un serveur @code{smtp-server} derrière une passerelle @code{hostname} 
:"
 
 #. type: example
 #: doc/guix.texi:12129
@@ -22729,7 +22730,7 @@ msgstr "Lance le 
@uref{https://matt.ucc.asn.au/dropbear/dropbear.html,démon SSH
 #. type: deffn
 #: doc/guix.texi:12536
 msgid "For example, to specify a Dropbear service listening on port 1234, add 
this call to the operating system's @code{services} field:"
-msgstr "Par exemple, pour spécifier un service Dropbear qui écoute sur le port 
1234, ajoutez cet appel au champ @code{services} d evotre système 
d'exploitation :"
+msgstr "Par exemple, pour spécifier un service Dropbear qui écoute sur le port 
1234, ajoutez cet appel au champ @code{services} de votre système 
d'exploitation :"
 
 #. type: example
 #: doc/guix.texi:12540
@@ -23686,7 +23687,7 @@ msgstr "La configuration de CUPS contrôle les 
paramètres de base de votre inst
 #. type: Plain text
 #: doc/guix.texi:12958
 msgid "Suppose you want to enable the Web interface of CUPS and also add 
support for Epson printers @i{via} the @code{escpr} package and for HP printers 
@i{via} the @code{hplip-minimal} package.  You can do that directly, like this 
(you need to use the @code{(gnu packages cups)} module):"
-msgstr "Supposons que vous souhaitiez activer l'interface Web de CUPS et 
ajouter le support pour les imprimantes Epson via le paquet @code{escpr} et our 
les imprimantes HP via le paquet @code{hplip-minimal}.  Vous pouvez le faire 
directement, comme ceci (vous devez utiliser le module @code{(gnu packages 
cups)}) :"
+msgstr "Supposons que vous souhaitiez activer l'interface Web de CUPS et 
ajouter le support pour les imprimantes Epson via le paquet @code{escpr} et 
pour les imprimantes HP via le paquet @code{hplip-minimal}.  Vous pouvez le 
faire directement, comme ceci (vous devez utiliser le module @code{(gnu 
packages cups)}) :"
 
 #. type: example
 #: doc/guix.texi:12965
@@ -24370,7 +24371,7 @@ msgstr "{paramètre de @code{cups-configuration}} 
non-negative-integer filter-li
 #. type: deftypevr
 #: doc/guix.texi:13291
 msgid "Specifies the maximum cost of filters that are run concurrently, which 
can be used to minimize disk, memory, and CPU resource problems.  A limit of 0 
disables filter limiting.  An average print to a non-PostScript printer needs a 
filter limit of about 200.  A PostScript printer needs about half that (100).  
Setting the limit below these thresholds will effectively limit the scheduler 
to printing a single job at any time."
-msgstr "Spécifie le coût maximum des filtres qui sont lancés en même temps, 
pour minimiser les problèmes de ressources de disque, de mémoire et de CPU.  
Une limite de 0 désactive la limite de filtrage.  Une impression standard vers 
une imprimante non-PostScript requirt une limite de filtre d'environ 200.  Une 
imprimante PostScript requiert environ la moitié (100).  Mettre en place la 
limite en dessous de ces valeurs limitera l'ordonnanceur à un seul travail 
d'impression à la fois."
+msgstr "Spécifie le coût maximum des filtres qui sont lancés en même temps, 
pour minimiser les problèmes de ressources de disque, de mémoire et de CPU.  
Une limite de 0 désactive la limite de filtrage.  Une impression standard vers 
une imprimante non-PostScript requiert une limite de filtre d'environ 200.  Une 
imprimante PostScript requiert environ la moitié (100).  Mettre en place la 
limite en dessous de ces valeurs limitera l'ordonnanceur à un seul travail 
d'impression à la fois."
 
 #. type: deftypevr
 #: doc/guix.texi:13293 doc/guix.texi:13301 doc/guix.texi:13356
@@ -24488,7 +24489,7 @@ msgstr "{paramètre de @code{cups-configuration}} 
multiline-string-list listen"
 #. type: deftypevr
 #: doc/guix.texi:13365
 msgid "Listens on the specified interfaces for connections.  Valid values are 
of the form @var{address}:@var{port}, where @var{address} is either an IPv6 
address enclosed in brackets, an IPv4 address, or @code{*} to indicate all 
addresses.  Values can also be file names of local UNIX domain sockets.  The 
Listen directive is similar to the Port directive but allows you to restrict 
access to specific interfaces or networks."
-msgstr "Écoute sur les interfaces spécifiées.  Les valeurs valides sont de la 
forme @var{adresse}:@var{port}, où @var{adresse} est sotit une daresse IPv6 
dans des crochets, soit une adresse IPv4, soit @code{*} pour indiquer toutes 
les adresses.  Les valeurs peuvent aussi être des noms de fichiers de socket 
UNIX domain.  La directive Listen est similaire à la directive Port mais vous 
permet de restreindre l'accès à des interfaces ou des réseaux spécifiques."
+msgstr "Écoute sur les interfaces spécifiées.  Les valeurs valides sont de la 
forme @var{adresse}:@var{port}, où @var{adresse} est soit une adresse IPv6 dans 
des crochets, soit une adresse IPv4, soit @code{*} pour indiquer toutes les 
adresses.  Les valeurs peuvent aussi être des noms de fichiers de socket UNIX 
domain.  La directive Listen est similaire à la directive Port mais vous permet 
de restreindre l'accès à des interfaces ou des réseaux spécifiques."
 
 #. type: deftypevr
 #: doc/guix.texi:13367
@@ -25822,7 +25823,7 @@ msgstr "{Variable Scheme} alsa-service-type"
 #. type: deffn
 #: doc/guix.texi:14094
 msgid "This is the type for the @uref{https://alsa-project.org/, Advanced 
Linux Sound Architecture} (ALSA) system, which generates the 
@file{/etc/asound.conf} configuration file.  The value for this type is a 
@command{alsa-configuration} record as in this example:"
-msgstr "C'est le type pour le système @uref{https://alsa-project.org/, 
Advanced Linux Sound Architecture} (ALSA), qui génère le fichier de 
configuration @file{/etc/asound.conf}.  La valer de ce type est un 
enregistrement @command{alsa-configuration} comme dans cet exemple :"
+msgstr "C'est le type pour le système @uref{https://alsa-project.org/, 
Advanced Linux Sound Architecture} (ALSA), qui génère le fichier de 
configuration @file{/etc/asound.conf}.  La valeur de ce type est un 
enregistrement @command{alsa-configuration} comme dans cet exemple :"
 
 #. type: example
 #: doc/guix.texi:14097
@@ -28029,7 +28030,7 @@ msgstr "{paramètre de @code{dovecot-configuration}} 
boolean mbox-very-dirty-syn
 #. type: deftypevr
 #: doc/guix.texi:15300
 msgid "Like @samp{mbox-dirty-syncs}, but don't do full syncs even with SELECT, 
EXAMINE, EXPUNGE or CHECK commands.  If this is set, @samp{mbox-dirty-syncs} is 
ignored.  Defaults to @samp{#f}."
-msgstr "Comme @samp{mbox-dirty-syncs}, mais ne synchronise pas complètement 
même avec les commandes SELECT, EXAMINE, EXPUNGE ou CHECK.  Si l'option n'est 
pas actifée, @samp{mbox-dirty-syncs} est ignorée.  La valeur par défaut est 
@samp{#f}."
+msgstr "Comme @samp{mbox-dirty-syncs}, mais ne synchronise pas complètement 
même avec les commandes SELECT, EXAMINE, EXPUNGE ou CHECK.  Si l'option n'est 
pas activée, @samp{mbox-dirty-syncs} est ignorée.  La valeur par défaut est 
@samp{#f}."
 
 #. type: deftypevr
 #: doc/guix.texi:15302
@@ -28620,7 +28621,7 @@ msgstr "delay-newmail"
 #. type: table
 #: doc/guix.texi:15606
 msgid "Send EXISTS/RECENT new mail notifications only when replying to NOOP 
and CHECK commands.  Some clients ignore them otherwise, for example OSX Mail 
(<v2.1).  Outlook Express breaks more badly though, without this it may show 
user \"Message no longer in server\" errors.  Note that OE6 still breaks even 
with this workaround if synchronization is set to \"Headers Only\"."
-msgstr "Envoie des notifications de nouveau message EXISTS/RECENT seulement en 
réponse aux commandes NOOP et CHECK.  Certains clients les ignorent autrement, 
par exemple OSX Mail (< v2.1).  Outlook Express est encore plus cassé, sans 
cela il peut montrer des erreurs de type « Le message n'est plus sur le serveur 
».  Remarquez que OE6 est toujours cassé même avec ce contournement si la 
synchronisation est à « En-têtes seulement »."
+msgstr "Envoi des notifications de nouveau message EXISTS/RECENT seulement en 
réponse aux commandes NOOP et CHECK.  Certains clients les ignorent autrement, 
par exemple OSX Mail (< v2.1).  Outlook Express est encore plus cassé, sans 
cela il peut montrer des erreurs de type « Le message n'est plus sur le serveur 
».  Remarquez que OE6 est toujours cassé même avec ce contournement si la 
synchronisation est à « En-têtes seulement »."
 
 #. type: item
 #: doc/guix.texi:15607
@@ -28764,7 +28765,7 @@ msgstr "@code{config-file} (par défaut : 
@var{%default-opensmtpd-file})"
 #. type: table
 #: doc/guix.texi:15683
 msgid "File-like object of the OpenSMTPD configuration file to use.  By 
default it listens on the loopback network interface, and allows for mail from 
users and daemons on the local machine, as well as permitting email to remote 
servers.  Run @command{man smtpd.conf} for more information."
-msgstr "Objet simili-fichier du fichier de configuration de OpenSMTPD à 
utiliser.  Par défaut il écoute sur l'interface de boucle locale et accepte les 
courriels des utilisateurs et des démons de la machine locale, et autorise 
l'envoie de courriels à des serveurs distants.  Lancez @command{man smtpd.conf} 
pour plus d'information."
+msgstr "Objet simili-fichier du fichier de configuration de OpenSMTPD à 
utiliser.  Par défaut il écoute sur l'interface de boucle locale et accepte les 
courriels des utilisateurs et des démons de la machine locale, et autorise 
l'envoi de courriels à des serveurs distants.  Lancez @command{man smtpd.conf} 
pour plus d'information."
 
 #. type: subsubheading
 #: doc/guix.texi:15687
@@ -28900,7 +28901,7 @@ msgstr "Les alias n'ont pas besoin de correspondre à 
des utilisateurs locaux du
 #: doc/guix.texi:15757
 #, no-wrap
 msgid "messaging"
-msgstr "messagerie intantanée"
+msgstr "messagerie instantanée"
 
 #. type: cindex
 #: doc/guix.texi:15758
@@ -29700,7 +29701,7 @@ msgstr "C'est le type de service pour le démon de 
passerelle IRC @url{http://bi
 #. type: defvr
 #: doc/guix.texi:16194
 msgid "To have BitlBee listen on port 6667 on localhost, add this line to your 
services:"
-msgstr "Pour que BitlBee écoute sur le pourt 6667 sur localhost, ajoutez cette 
ligne à vos services :"
+msgstr "Pour que BitlBee écoute sur le port 6667 sur localhost, ajoutez cette 
ligne à vos services :"
 
 #. type: example
 #: doc/guix.texi:16197
@@ -29825,7 +29826,7 @@ msgstr ""
 #. type: deftp
 #: doc/guix.texi:16250
 msgid "After reconfiguring your system, you can manually set the murmur 
@code{SuperUser} password with the command that is printed during the 
activation phase."
-msgstr "Après avoir reconfiguré votre système, vous pouvez manuellement 
indiquer le mot de passe @code{SuperUser} de murmur avac la commande qui 
s'affiche pendant la phase d'activation."
+msgstr "Après avoir reconfiguré votre système, vous pouvez manuellement 
indiquer le mot de passe @code{SuperUser} de murmur avec la commande qui 
s'affiche pendant la phase d'activation."
 
 #. type: deftp
 #: doc/guix.texi:16259
@@ -31396,7 +31397,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:16970
 msgid "At startup, @command{nginx} has not yet read its configuration file, so 
it uses a default file to log error messages.  If it fails to load its 
configuration file, that is where error messages are logged.  After the 
configuration file is loaded, the default error log file changes as per 
configuration.  In our case, startup error messages can be found in 
@file{/var/run/nginx/logs/error.log}, and after configuration in 
@file{/var/log/nginx/error.log}.  The second location can be chan [...]
-msgstr "Au démarrage, @command{nginx} n'a pas encore lu son fichier de 
configuration, donc il utilise les fichiers par défaut pour les messages 
d'erreur.  S'il échoue à charger sa configuration, c'est là où les messages 
seront enregistrés.  Après la lecture du fichier de configuration, le fichier 
de journal d'erreur par défaut change en fonction de celle-ci.  Dans notre cas, 
les messages d'erreur au démarage se trouvent dans 
@file{/var/run/nginx/logs/error.log} et après la configuration  [...]
+msgstr "Au démarrage, @command{nginx} n'a pas encore lu son fichier de 
configuration, donc il utilise les fichiers par défaut pour les messages 
d'erreur.  S'il échoue à charger sa configuration, c'est là où les messages 
seront enregistrés.  Après la lecture du fichier de configuration, le fichier 
de journal d'erreur par défaut change en fonction de celle-ci.  Dans notre cas, 
les messages d'erreur au démarrage se trouvent dans 
@file{/var/run/nginx/logs/error.log} et après la configuration [...]
 
 #. type: deffn
 #: doc/guix.texi:16971
@@ -31741,7 +31742,7 @@ msgstr "body"
 #. type: table
 #: doc/guix.texi:17148
 msgid "Body of the location block, specified as a list of strings. This can 
contain many configuration directives.  For example, to pass requests to a 
upstream server group defined using an @code{nginx-upstream-configuration} 
block, the following directive would be specified in the body @samp{(list 
\"proxy_pass http://upstream-name;\";)}."
-msgstr "Corps du block location, spécifié comme une liste de chaînes de 
caractères.  Cela peut contenir de nombreuses directives de configuration.  PAr 
exemple, pour passer des requêtes à un groupe de serveurs amont définis dans un 
bloc @code{nginx-upstream-configuration}, la directive suivante peut être 
spécifiée dans le corps : @samp{(list \"proxy_pass http://upstream-name;\";)}."
+msgstr "Corps du block location, spécifié comme une liste de chaînes de 
caractères.  Cela peut contenir de nombreuses directives de configuration.  Par 
exemple, pour passer des requêtes à un groupe de serveurs amont définis dans un 
bloc @code{nginx-upstream-configuration}, la directive suivante peut être 
spécifiée dans le corps : @samp{(list \"proxy_pass http://upstream-name;\";)}."
 
 #. type: deftp
 #: doc/guix.texi:17152
@@ -31964,7 +31965,7 @@ msgstr "fcgiwrap"
 #. type: Plain text
 #: doc/guix.texi:17259
 msgid "FastCGI is an interface between the front-end and the back-end of a web 
service.  It is a somewhat legacy facility; new web services should generally 
just talk HTTP between the front-end and the back-end.  However there are a 
number of back-end services such as PHP or the optimized HTTP Git repository 
access that use FastCGI, so we have support for it in Guix."
-msgstr "FastCGI est une interface entre le frontal et le moteur d'un service 
web.  C'est un dispositif quelque peu désué ; les nouveaux services devraient 
généralement juste parler HTTP entre le frontal et le moteur.  Cependant il y a 
un certain nombre de services de moteurs comme PHP ou l'accès aux dépôts Git 
optimisé en HTTP qui utilisent FastCGI, donc nous le supportons dans Guix."
+msgstr "FastCGI est une interface entre le frontal et le moteur d'un service 
web.  C'est un dispositif quelque peu désuet ; les nouveaux services devraient 
généralement juste parler HTTP entre le frontal et le moteur.  Cependant il y a 
un certain nombre de services de moteurs comme PHP ou l'accès aux dépôts Git 
optimisé en HTTP qui utilisent FastCGI, donc nous le supportons dans Guix."
 
 #. type: Plain text
 #: doc/guix.texi:17266
@@ -32164,7 +32165,7 @@ msgstr "@code{socket} (par défaut : 
@code{(string-append \"/var/run/php\" (vers
 #. type: table
 #: doc/guix.texi:17333
 msgid "The address on which to accept FastCGI requests.  Valid syntaxes are:"
-msgstr "L'adresse sur laquelle accepter les requêts FastCGI.  Les syntaxes 
valides sont :"
+msgstr "L'adresse sur laquelle accepter les requêtes FastCGI.  Les syntaxes 
valides sont :"
 
 #. type: code{#1}
 #: doc/guix.texi:17334
@@ -32871,7 +32872,7 @@ msgstr "@code{default-location} (par défaut : @i{voir 
plus bas})"
 #. type: table
 #: doc/guix.texi:17643
 msgid "The default @code{nginx-location-configuration}.  Because 
@code{certbot} needs to be able to serve challenges and responses, it needs to 
be able to run a web server.  It does so by extending the @code{nginx} web 
service with an @code{nginx-server-configuration} listening on the 
@var{domains} on port 80, and which has a @code{nginx-location-configuration} 
for the @code{/.well-known/} URI path subspace used by Let's Encrypt.  
@xref{Web Services}, for more on these nginx configuratio [...]
-msgstr "Le @code{nginx-location-configuration} par défaut.  Come 
@code{certbot} doit pouvoir servir les défis et les réponses, il doit être 
capable de lancer un serveur web.  Cela se fait en étendant le service web 
@code{nginx} avec un @code{nginx-server-configuration} qui écoute sur les 
@var{domains} sur le port 80 et qui a un @code{nginx-location-configuration} 
pour le chemin @code{/.well-known/} utilisé par Let's Encrypt.  @xref{Web 
Services} pour plus d'information sur les types de d [...]
+msgstr "Le @code{nginx-location-configuration} par défaut.  Comme 
@code{certbot} doit pouvoir servir les défis et les réponses, il doit être 
capable de lancer un serveur web.  Cela se fait en étendant le service web 
@code{nginx} avec un @code{nginx-server-configuration} qui écoute sur les 
@var{domains} sur le port 80 et qui a un @code{nginx-location-configuration} 
pour le chemin @code{/.well-known/} utilisé par Let's Encrypt.  @xref{Web 
Services} pour plus d'information sur les types de  [...]
 
 #. type: table
 #: doc/guix.texi:17647
@@ -33778,7 +33779,7 @@ msgstr "{Type de données} knot-configuration"
 #. type: deftp
 #: doc/guix.texi:18062
 msgid "Data type representing the Knot configuration.  This type has the 
following parameters:"
-msgstr "Type de donées représentant la configuration de Knot.  Ce type a les 
paramètres suivants :"
+msgstr "Type de données représentant la configuration de Knot.  Ce type a les 
paramètres suivants :"
 
 #. type: item
 #: doc/guix.texi:18064
@@ -34035,7 +34036,7 @@ msgstr "ddclient"
 #. type: Plain text
 #: doc/guix.texi:18154
 msgid "The ddclient service described below runs the ddclient daemon, which 
takes care of automatically updating DNS entries for service providers such as 
@uref{https://dyn.com/dns/, Dyn}."
-msgstr "Le srevice ddclient décrit plus bas lance le démon ddclient, qui prend 
en charge la mise à jour automatique des entrées DNS pour les fournisseurs de 
service comme @uref{https://dyn.com/dns/, Dyn}."
+msgstr "Le service ddclient décrit plus bas lance le démon ddclient, qui prend 
en charge la mise à jour automatique des entrées DNS pour les fournisseurs de 
service comme @uref{https://dyn.com/dns/, Dyn}."
 
 #. type: Plain text
 #: doc/guix.texi:18157
@@ -34685,7 +34686,7 @@ msgstr "{paramètre de 
@code{openvpn-server-configuration}} keepalive keepalive"
 #. type: deftypevr
 #: doc/guix.texi:18562
 msgid "Causes ping-like messages to be sent back and forth over the link so 
that each side knows when the other side has gone down.  @code{keepalive} 
requires a pair.  The first element is the period of the ping sending, and the 
second element is the timeout before considering the other side down."
-msgstr "Fait que des messages de ping sont envoyés régulièrement dans les deux 
sens pour que chaque côté sache quand l'autre n'est plus disponible.  
@code{keepalive} a besoin d'une paire.  Le premier élément est la période 
d'envoie du ping, et le second élément est le délai d'attente avant de 
considéré que l'autre côté n'est plus disponible."
+msgstr "Fait que des messages de ping sont envoyés régulièrement dans les deux 
sens pour que chaque côté sache quand l'autre n'est plus disponible.  
@code{keepalive} a besoin d'une paire.  Le premier élément est la période 
d'envoi du ping, et le second élément est le délai d'attente avant de considéré 
que l'autre côté n'est plus disponible."
 
 #. type: deftypevr
 #: doc/guix.texi:18565
@@ -36877,7 +36878,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer max-client-requests
 #. type: deftypevr
 #: doc/guix.texi:19756
 msgid "Limit on concurrent requests from a single client connection.  To avoid 
one client monopolizing the server this should be a small fraction of the 
global max_requests and max_workers parameter."
-msgstr ""
+msgstr "Limite de requêtes concurrentes depuis une connexion cliente unique. 
Pour éviter qu'un client ne monopolise le serveur, vous devriez indiquer une 
petite partie des paramètres global max_requests et max_workers."
 
 #. type: deftypevr
 #: doc/guix.texi:19761
@@ -36888,7 +36889,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer admin-min-workers"
 #. type: deftypevr
 #: doc/guix.texi:19763
 msgid "Same as @code{min-workers} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{min-workers} mais pour l'interface d'administration."
 
 #. type: deftypevr
 #: doc/guix.texi:19768
@@ -36899,7 +36900,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer admin-max-workers"
 #. type: deftypevr
 #: doc/guix.texi:19770
 msgid "Same as @code{max-workers} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-workers} mais pour l'interface d'administration."
 
 #. type: deftypevr
 #: doc/guix.texi:19775
@@ -36910,7 +36911,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer admin-max-clients"
 #. type: deftypevr
 #: doc/guix.texi:19777
 msgid "Same as @code{max-clients} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-clients} mais pour l'interface d'administration."
 
 #. type: deftypevr
 #: doc/guix.texi:19782
@@ -36921,7 +36922,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer admin-max-queued-cl
 #. type: deftypevr
 #: doc/guix.texi:19784
 msgid "Same as @code{max-queued-clients} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-queued-clients} mais pour l'interface 
d'administration."
 
 #. type: deftypevr
 #: doc/guix.texi:19789
@@ -36932,7 +36933,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer admin-max-client-re
 #. type: deftypevr
 #: doc/guix.texi:19791
 msgid "Same as @code{max-client-requests} but for the admin interface."
-msgstr ""
+msgstr "Comme @code{max-client-requests} mais pour l'interface 
d'administration."
 
 #. type: deftypevr
 #: doc/guix.texi:19796
@@ -36943,7 +36944,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer log-level"
 #. type: deftypevr
 #: doc/guix.texi:19798 doc/guix.texi:20021
 msgid "Logging level.  4 errors, 3 warnings, 2 information, 1 debug."
-msgstr ""
+msgstr "Niveau de journalisation.  4 : erreurs, 3 : avertissements, 2 : 
information, 1 : débogage."
 
 #. type: deftypevr
 #: doc/guix.texi:19803
@@ -36954,12 +36955,12 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
string log-filters"
 #. type: deftypevr
 #: doc/guix.texi:19805 doc/guix.texi:20028
 msgid "Logging filters."
-msgstr ""
+msgstr "Filtres de journalisation."
 
 #. type: deftypevr
 #: doc/guix.texi:19808 doc/guix.texi:20031
 msgid "A filter allows to select a different logging level for a given 
category of logs The format for a filter is one of:"
-msgstr ""
+msgstr "Un filtre qui permet de sélectionner plusieurs niveaux de 
journalisation pour une catégorie donnée.  Le format d'un filtre est :"
 
 #. type: itemize
 #: doc/guix.texi:19812 doc/guix.texi:20035
@@ -36974,36 +36975,36 @@ msgstr "x:+nom"
 #. type: deftypevr
 #: doc/guix.texi:19825 doc/guix.texi:20048
 msgid "where @code{name} is a string which is matched against the category 
given in the @code{VIR_LOG_INIT()} at the top of each libvirt source file, 
e.g., \"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a 
substring of the full category name, in order to match multiple similar 
categories), the optional \"+\" prefix tells libvirt to log stack trace for 
each message matching name, and @code{x} is the minimal level where matching 
messages should be logged:"
-msgstr ""
+msgstr "où @code{nom} est une chaîne de caractères qui correspond à la 
catégorie donnée dans @code{VIR_LOG_INIT()} au début de chaque fichier source 
de libvirt, p.@: ex.@: « remote », « qemu » ou « util.json » (le nom dans le 
filtre peut être une sous-chaîne du nom complet de la catégorie, pour pouvoir 
correspondre à plusieurs catégories similaires), le préfixe facultatif « + » 
dit à libvirt d'enregistrer les traces de piles pour chaque message qui 
correspond au nom, et @code{x} est le n [...]
 
 #. type: itemize
 #: doc/guix.texi:19829 doc/guix.texi:19874 doc/guix.texi:20052
 #: doc/guix.texi:20097
 msgid "1: DEBUG"
-msgstr ""
+msgstr "1 : DEBUG"
 
 #. type: itemize
 #: doc/guix.texi:19832 doc/guix.texi:19877 doc/guix.texi:20055
 #: doc/guix.texi:20100
 msgid "2: INFO"
-msgstr ""
+msgstr "2 : INFO"
 
 #. type: itemize
 #: doc/guix.texi:19835 doc/guix.texi:19880 doc/guix.texi:20058
 #: doc/guix.texi:20103
 msgid "3: WARNING"
-msgstr ""
+msgstr "3 : WARNING"
 
 #. type: itemize
 #: doc/guix.texi:19838 doc/guix.texi:19883 doc/guix.texi:20061
 #: doc/guix.texi:20106
 msgid "4: ERROR"
-msgstr ""
+msgstr "4 : ERROR"
 
 #. type: deftypevr
 #: doc/guix.texi:19843 doc/guix.texi:20066
 msgid "Multiple filters can be defined in a single filters statement, they 
just need to be separated by spaces."
-msgstr ""
+msgstr "On peut définir plusieurs filtres dans une seule déclaration de 
filtres, ils doivent juste être séparés par des espaces."
 
 #. type: deftypevr
 #: doc/guix.texi:19845 doc/guix.texi:20068
@@ -37019,66 +37020,66 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
string log-outputs"
 #. type: deftypevr
 #: doc/guix.texi:19850 doc/guix.texi:20073
 msgid "Logging outputs."
-msgstr ""
+msgstr "Sorties de débogage."
 
 #. type: deftypevr
 #: doc/guix.texi:19853 doc/guix.texi:20076
 msgid "An output is one of the places to save logging information The format 
for an output can be:"
-msgstr ""
+msgstr "Une sortie est l'un des endroits où les journaux sont enregistrés.  Le 
format d'une sortie peut être :"
 
 #. type: item
 #: doc/guix.texi:19855 doc/guix.texi:20078
 #, no-wrap
 msgid "x:stderr"
-msgstr ""
+msgstr "x:stderr"
 
 #. type: table
 #: doc/guix.texi:19857 doc/guix.texi:20080
 msgid "output goes to stderr"
-msgstr ""
+msgstr "la sortie va vers stderr"
 
 #. type: item
 #: doc/guix.texi:19858 doc/guix.texi:20081
 #, no-wrap
 msgid "x:syslog:name"
-msgstr ""
+msgstr "x:syslog:nom"
 
 #. type: table
 #: doc/guix.texi:19860 doc/guix.texi:20083
 msgid "use syslog for the output and use the given name as the ident"
-msgstr ""
+msgstr "utilise syslog comme sortie et utilise le nom donné comme identifiant"
 
 #. type: item
 #: doc/guix.texi:19861 doc/guix.texi:20084
 #, no-wrap
 msgid "x:file:file_path"
-msgstr ""
+msgstr "x:file:chemin_fichier"
 
 #. type: table
 #: doc/guix.texi:19863 doc/guix.texi:20086
 msgid "output to a file, with the given filepath"
-msgstr ""
+msgstr "la sortie va vers un fichier, avec le chemin donné"
 
 #. type: item
 #: doc/guix.texi:19864 doc/guix.texi:20087
 #, no-wrap
 msgid "x:journald"
-msgstr ""
+msgstr "x:journald"
 
 #. type: table
 #: doc/guix.texi:19866 doc/guix.texi:20089
 msgid "output to journald logging system"
-msgstr ""
+msgstr "la sortie va vers le système de journalisation journald"
 
 #. type: deftypevr
 #: doc/guix.texi:19870 doc/guix.texi:20093
 msgid "In all case the x prefix is the minimal level, acting as a filter"
-msgstr ""
+msgstr "Dans tous les cas, le préfixe x est le niveau minimal, qui agit comme 
un filtre"
 
 #. type: deftypevr
 #: doc/guix.texi:19888 doc/guix.texi:20111
 msgid "Multiple outputs can be defined, they just need to be separated by 
spaces."
-msgstr ""
+msgstr "Plusieurs sorties peuvent être définies, elles doivent juste être 
séparées par des espaces."
 
 #. type: deftypevr
 #: doc/guix.texi:19890 doc/guix.texi:20113
@@ -37094,22 +37095,22 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer audit-level"
 #. type: deftypevr
 #: doc/guix.texi:19895
 msgid "Allows usage of the auditing subsystem to be altered"
-msgstr ""
+msgstr "Permet de modifier l'utilisation du sous-système d'audit."
 
 #. type: itemize
 #: doc/guix.texi:19899
 msgid "0: disable all auditing"
-msgstr ""
+msgstr "0 : désactive tout audit"
 
 #. type: itemize
 #: doc/guix.texi:19902
 msgid "1: enable auditing, only if enabled on host"
-msgstr ""
+msgstr "1 : active l'audit, seulement s'il est activé sur l'hôte"
 
 #. type: itemize
 #: doc/guix.texi:19905
 msgid "2: enable auditing, and exit if disabled on host."
-msgstr ""
+msgstr "2 : active l'audit, et quitte s'il est désactivé sur l'hôte."
 
 #. type: deftypevr
 #: doc/guix.texi:19912
@@ -37120,7 +37121,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
boolean audit-logging"
 #. type: deftypevr
 #: doc/guix.texi:19914
 msgid "Send audit messages via libvirt logging infrastructure."
-msgstr ""
+msgstr "Envoie les messages d'audit via l'infrastructure de journalisation de 
libvirt"
 
 #. type: deftypevr
 #: doc/guix.texi:19919
@@ -37131,7 +37132,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
optional-string host-uuid"
 #. type: deftypevr
 #: doc/guix.texi:19921
 msgid "Host UUID.  UUID must not have all digits be the same."
-msgstr ""
+msgstr "UUID de l'hôte.  L'UUID ne doit pas avoir tous ses nombres identiques."
 
 #. type: deftypevr
 #: doc/guix.texi:19926
@@ -37142,22 +37143,22 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
string host-uuid-source"
 #. type: deftypevr
 #: doc/guix.texi:19928
 msgid "Source to read host UUID."
-msgstr ""
+msgstr "Source où lire l'UUID de l'hôte."
 
 #. type: itemize
 #: doc/guix.texi:19932
 msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}"
-msgstr ""
+msgstr "@code{smbios} : récupère l'UUID à partir de @code{dmidecode -s 
system-uuid}"
 
 #. type: itemize
 #: doc/guix.texi:19935
 msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}"
-msgstr ""
+msgstr "@code{machine-id} : récupère l'UUID à partir de @code{/etc/machine-id}"
 
 #. type: deftypevr
 #: doc/guix.texi:19940
 msgid "If @code{dmidecode} does not provide a valid UUID a temporary UUID will 
be generated."
-msgstr ""
+msgstr "Si @code{dmidecode} ne fournit pas un UUID valide, un UUID temporaire 
sera généré."
 
 #. type: deftypevr
 #: doc/guix.texi:19942
@@ -37173,7 +37174,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer keepalive-interval"
 #. type: deftypevr
 #: doc/guix.texi:19950
 msgid "A keepalive message is sent to a client after @code{keepalive_interval} 
seconds of inactivity to check if the client is still responding.  If set to 
-1, libvirtd will never send keepalive requests; however clients can still send 
them and the daemon will send responses."
-msgstr ""
+msgstr "Un message keepalive est envoyé au client après 
@code{keepalive_interval} secondes d'inactivité pour vérifier si le client 
répond toujours.  Si la valeur est -1, libvirtd n'enverra jamais de requête 
keepalive ; cependant les clients peuvent toujours en envoyer et le démon y 
répondra."
 
 #. type: deftypevr
 #: doc/guix.texi:19955
@@ -37184,12 +37185,12 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer keepalive-count"
 #. type: deftypevr
 #: doc/guix.texi:19959
 msgid "Maximum number of keepalive messages that are allowed to be sent to the 
client without getting any response before the connection is considered broken."
-msgstr ""
+msgstr "Nombre maximum de messages keepalive qui peuvent être envoyés au 
client sans réponse avant que la connexion ne soit considérée comme cassée."
 
 #. type: deftypevr
 #: doc/guix.texi:19966
 msgid "In other words, the connection is automatically closed approximately 
after @code{keepalive_interval * (keepalive_count + 1)} seconds since the last 
message received from the client.  When @code{keepalive-count} is set to 0, 
connections will be automatically closed after @code{keepalive-interval} 
seconds of inactivity without sending any keepalive messages."
-msgstr ""
+msgstr "En d'autres termes, la connexion est approximativement fermée après 
@code{keepalive_interval * (keepalive_count + 1)} secondes après le dernier 
message reçu de la part du client.  Lorsque @code{keepalive-count} est à 0, les 
connexions seront automatiquement fermées après @code{keepalive-interval} 
secondes d'inactivité sans envoyer le moindre message keepalive."
 
 #. type: deftypevr
 #: doc/guix.texi:19971
@@ -37200,7 +37201,7 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer admin-keepalive-int
 #. type: deftypevr
 #: doc/guix.texi:19973 doc/guix.texi:19980
 msgid "Same as above but for admin interface."
-msgstr ""
+msgstr "Comme précédemment, mais pour l'interface d'administration."
 
 #. type: deftypevr
 #: doc/guix.texi:19978
@@ -37217,12 +37218,12 @@ msgstr "{paramètre de @code{libvirt-configuration}} 
integer ovs-timeout"
 #. type: deftypevr
 #: doc/guix.texi:19987
 msgid "Timeout for Open vSwitch calls."
-msgstr ""
+msgstr "Délai d'attente pour les appels Open vSwitch."
 
 #. type: deftypevr
 #: doc/guix.texi:19991
 msgid "The @code{ovs-vsctl} utility is used for the configuration and its 
timeout option is set by default to 5 seconds to avoid potential infinite waits 
blocking libvirt."
-msgstr ""
+msgstr "L'utilitaire @code{ovs-vsctl} est utilisé pour la configuration et son 
option de délai d'attente est à 5 secondes pour éviter qu'une attente infinie 
ne bloque libvirt."
 
 #. type: subsubheading
 #: doc/guix.texi:19998
@@ -37233,12 +37234,12 @@ msgstr "démon Virrlog"
 #. type: Plain text
 #: doc/guix.texi:20001
 msgid "The virtlogd service is a server side daemon component of libvirt that 
is used to manage logs from virtual machine consoles."
-msgstr ""
+msgstr "Le service virtlogd est un démon côté serveur qui fait partie de 
libvirt, utilisé pour gérer les journaux des consoles des machines virtuelles."
 
 #. type: Plain text
 #: doc/guix.texi:20007
 msgid "This daemon is not used directly by libvirt client applications, rather 
it is called on their behalf by @code{libvirtd}. By maintaining the logs in a 
standalone daemon, the main @code{libvirtd} daemon can be restarted without 
risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec()  
itself upon receiving @code{SIGUSR1}, to allow live upgrades without downtime."
-msgstr ""
+msgstr "Ce démon n'est pas utilisé directement par les clients libvirt, mais 
il est appelé pour eux par @code{libvirtd}.  En maintenant les journaux dans un 
démon séparé, le démon @code{libvirtd} principal peut être redémarré sans 
risque de perte de journaux.  Le démon @code{virtlogd} a la possibilité de 
ré-exécuter exec() sur lui-même quand il reçoit @code{SIGUSR1}, pour permettre 
des mises à jour à chaux sans temps mort."
 
 #. type: deffn
 #: doc/guix.texi:20008
@@ -37249,7 +37250,7 @@ msgstr "{Variable Scheme} virtlog-service-type"
 #. type: deffn
 #: doc/guix.texi:20011
 msgid "This is the type of the virtlog daemon.  Its value must be a 
@code{virtlog-configuration}."
-msgstr ""
+msgstr "Le type de service pour le démon virtlogd.  Sa valeur doit être un 
@code{virtlog-configuration}."
 
 #. type: example
 #: doc/guix.texi:20016
@@ -37301,7 +37302,7 @@ msgstr "{paramètre de @code{virtlog-configuration}} 
integer max-size"
 #. type: deftypevr
 #: doc/guix.texi:20126
 msgid "Maximum file size before rolling over."
-msgstr ""
+msgstr "Taille de fichier maximale avant roulement."
 
 #. type: deftypevr
 #: doc/guix.texi:20128
@@ -37317,7 +37318,7 @@ msgstr "{paramètre de @code{virtlog-configuration}} 
integer max-backups"
 #. type: deftypevr
 #: doc/guix.texi:20133
 msgid "Maximum number of backup files to keep."
-msgstr ""
+msgstr "Nombre maximal de fichiers de sauvegardes à garder."
 
 #. type: deftypevr
 #: doc/guix.texi:20135
@@ -37345,7 +37346,7 @@ msgstr "binfmt_misc"
 #. type: Plain text
 #: doc/guix.texi:20147
 msgid "@code{qemu-binfmt-service-type} provides support for transparent 
emulation of program binaries built for different architectures---e.g., it 
allows you to transparently execute an ARMv7 program on an x86_64 machine.  It 
achieves this by combining the @uref{https://www.qemu.org, QEMU} emulator and 
the @code{binfmt_misc} feature of the kernel Linux."
-msgstr ""
+msgstr "@code{qemu-binfmt-service-type} fournit le support de l'émulation 
transparente de binaires construits pour des architectures différentes — p.@: 
ex.@: il permet d'exécuter de manière transparente des programmes ARMv sur une 
machine x86_64.  Cela se fait en combinant l'émulateur 
@uref{https://www.qemu.org, QEMU} et la fonctionnalité @code{binfmt_misc} du 
noyau Linux."
 
 #. type: defvr
 #: doc/guix.texi:20148
@@ -37356,7 +37357,7 @@ msgstr "{Variable Scheme} qemu-binfmt-service-type"
 #. type: defvr
 #: doc/guix.texi:20153
 msgid "This is the type of the QEMU/binfmt service for transparent emulation.  
Its value must be a @code{qemu-binfmt-configuration} object, which specifies 
the QEMU package to use as well as the architecture we want to emulated:"
-msgstr ""
+msgstr "Le type du service QEMU/binfmt pour l'émulation transparente.  Sa 
valeur doit être un objet @code{qemu-binfmt-configuration}, qui spécifie le 
paquet QEMU à utiliser ainsi que l'architecture que vous voulez émuler :"
 
 #. type: example
 #: doc/guix.texi:20158
@@ -37373,7 +37374,7 @@ msgstr ""
 #. type: defvr
 #: doc/guix.texi:20164
 msgid "In this example, we enable transparent emulation for the ARM and 
aarch64 platforms.  Running @code{herd stop qemu-binfmt} turns it off, and 
running @code{herd start qemu-binfmt} turns it back on (@pxref{Invoking herd, 
the @command{herd} command,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Dans cet exemple, on active l'émulation transparente pour les 
plateformes ARM et aarch64.  Lancer @code{herd stop qemu-binfmt} l'éteint et 
lancer @code{herd start qemu-binfmt} le rallume (@pxref{Invoking herd, the 
@command{herd} command,, shepherd, The GNU Shepherd Manual})."
 
 #. type: deftp
 #: doc/guix.texi:20166
@@ -37384,7 +37385,7 @@ msgstr "{Type de données} qemu-binfmt-configuration"
 #. type: deftp
 #: doc/guix.texi:20168
 msgid "This is the configuration for the @code{qemu-binfmt} service."
-msgstr ""
+msgstr "La configuration du service @code{qemu-binfmt}."
 
 #. type: item
 #: doc/guix.texi:20170
@@ -37395,7 +37396,7 @@ msgstr "@code{platforms} (par défaut : @code{'()})"
 #. type: table
 #: doc/guix.texi:20173
 msgid "The list of emulated QEMU platforms.  Each item must be a @dfn{platform 
object} as returned by @code{lookup-qemu-platforms} (see below)."
-msgstr ""
+msgstr "La liste des plates-formes émulées par QEMU.  Chaque élément doit être 
un objet @dfn{platform object} tel que renvoyé par @code{lookup-qemu-platforms} 
(voir plus bas)."
 
 #. type: item
 #: doc/guix.texi:20174
@@ -37406,12 +37407,12 @@ msgstr "@code{guix-support?} (par défaut : @code{#f})"
 #. type: table
 #: doc/guix.texi:20180
 msgid "When it is true, QEMU and all its dependencies are added to the build 
environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, 
@code{--chroot-directory} option}).  This allows the @code{binfmt_misc} 
handlers to be used within the build environment, which in turn means that you 
can transparently build programs for another architecture."
-msgstr ""
+msgstr "Lorsque la valeur est vraie, QEMU et toutes ses dépendances sont 
ajoutés à l'environnement de construction de @command{guix-daemon} 
(@pxref{Invoking guix-daemon, @code{--chroot-directory} option}).  Cela permet 
d'utiliser les gestionnaires @code{binfmt_misc} dans l'environnement de 
cosntruction, ce qui signifie que vous pouvez construire des programmes pour 
d'autres architectures de manière transparente."
 
 #. type: table
 #: doc/guix.texi:20183
 msgid "For example, let's suppose you're on an x86_64 machine and you have 
this service:"
-msgstr ""
+msgstr "Par exemple, supposons que vous soyez sur une machine x86_64 et que 
vous avez ce services :"
 
 #. type: example
 #: doc/guix.texi:20189
@@ -37441,7 +37442,7 @@ msgstr "guix build -s armhf-linux inkscape\n"
 #. type: table
 #: doc/guix.texi:20202
 msgid "and it will build Inkscape for ARMv7 @emph{as if it were a native 
build}, transparently using QEMU to emulate the ARMv7 CPU.  Pretty handy if 
you'd like to test a package build for an architecture you don't have access 
to!"
-msgstr ""
+msgstr "et cela construira Inkscape pour ARMv7 @emph{comme s'il s'agissait 
d'une construction native}, de manière transparente avec QEMU pour émuler un 
CPU ARMv7.  Plutôt pratique si vous voulez tester un paquet construit pour une 
architecture à laquelle vous n'avez pas accès !"
 
 #. type: item
 #: doc/guix.texi:20203
@@ -37463,7 +37464,7 @@ msgstr "{Procédure Scheme} lookup-qemu-platforms 
@address@hidden"
 #. type: deffn
 #: doc/guix.texi:20213
 msgid "Return the list of QEMU platform objects corresponding to 
@address@hidden  @var{platforms} must be a list of strings corresponding to 
platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"}, 
and so on."
-msgstr ""
+msgstr "Renvoie la liste des objets de plates-formes QEMU correspondant à 
@address@hidden  @var{platforms} doit être une liste de chaînes de caractères 
correspondant aux noms de plates-formes, comme @code{\"arm\"}, 
@code{\"sparc\"}, @code{\"mips64el\"} etc."
 
 #. type: deffn
 #: doc/guix.texi:20215
@@ -37474,7 +37475,7 @@ msgstr "{Procédure Scheme} qemu-platform? @var{obj}"
 #. type: deffn
 #: doc/guix.texi:20217
 msgid "Return true if @var{obj} is a platform object."
-msgstr ""
+msgstr "Renvoie vrai s address@hidden est un objet de plate-forme."
 
 #. type: deffn
 #: doc/guix.texi:20219
@@ -37485,12 +37486,12 @@ msgstr "{Procédure Scheme} qemu-platform-name 
@var{platform}"
 #. type: deffn
 #: doc/guix.texi:20221
 msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}."
-msgstr ""
+msgstr "Renvoie le nom de @var{platform} — une chaîne comme @code{\"arm\"}."
 
 #. type: Plain text
 #: doc/guix.texi:20233
 msgid "The @code{(gnu services version-control)} module provides a service to 
allow remote access to local Git repositories.  There are three options: the 
@code{git-daemon-service}, which provides access to repositories via the 
@code{git://} unsecured TCP-based protocol, extending the @code{nginx} web 
server to proxy some requests to @code{git-http-backend}, or providing a web 
interface with @code{cgit-service-type}."
-msgstr ""
+msgstr "Le module @code{(gnu services version-control)} fournit un service 
pour permettre l'accès à distance à des dépôts Git locaux.  Il y a trois 
options : en utilisant @code{git-daemon-service} qui fournit un accès aux 
dépôts via le protocole non sécurisé @code{git://} basé sur TCP, en étendant le 
serveur web @code{nginx} pour relayer les requêtes vers @code{git-http-backend} 
ou en fournissant une interface web avec @code{cgit-service-type}."
 
 #. type: deffn
 #: doc/guix.texi:20234
@@ -37501,12 +37502,12 @@ msgstr "{Procédure Scheme} git-daemon-service 
[#:config (git-daemon-configurati
 #. type: deffn
 #: doc/guix.texi:20238
 msgid "Return a service that runs @command{git daemon}, a simple TCP server to 
expose repositories over the Git protocol for anonymous access."
-msgstr ""
+msgstr "Renvoie un service qui lance @command{git daemon}, un serveur TCP 
simple pour exposer des dépôts sur le protocole Git pour des accès anonymes."
 
 #. type: deffn
 #: doc/guix.texi:20244
 msgid "The optional @var{config} argument should be a 
@code{<git-daemon-configuration>} object, by default it allows read-only access 
to address@hidden creating the magic file \"git-daemon-export-ok\" in the 
repository directory.} repositories under @file{/srv/git}."
-msgstr ""
+msgstr "L'argument facultatif @var{config} devrait être un objet 
@code{<git-daemon-configuration>}, par défaut il permet l'accès en 
lecture-seule aux dépôts address@hidden créant le fichier magique « 
git-daemon-export-ok » dans le répertoire du dépôt.} dans @file{/srv/git}."
 
 #. type: deftp
 #: doc/guix.texi:20247
@@ -37517,7 +37518,7 @@ msgstr "{Type de données} git-daemon-configuration"
 #. type: deftp
 #: doc/guix.texi:20249
 msgid "Data type representing the configuration for @code{git-daemon-service}."
-msgstr ""
+msgstr "Type de données représentnt la configuration de 
@code{git-daemon-service}."
 
 #. type: item
 #: doc/guix.texi:20251 doc/guix.texi:20307
@@ -37528,7 +37529,7 @@ msgstr "@code{package} (par défaut : @var{git})"
 #. type: table
 #: doc/guix.texi:20253 doc/guix.texi:20309
 msgid "Package object of the Git distributed version control system."
-msgstr ""
+msgstr "Objet de paquet du système de contrôle de version distribué Git."
 
 #. type: item
 #: doc/guix.texi:20254 doc/guix.texi:20313
@@ -37539,7 +37540,7 @@ msgstr "@code{export-all?} (par défaut : @var{#f})"
 #. type: table
 #: doc/guix.texi:20257
 msgid "Whether to allow access for all Git repositories, even if they do not 
have the @file{git-daemon-export-ok} file."
-msgstr ""
+msgstr "Indique s'il faut permettre l'accès à tous les dépôts Git, même s'ils 
n'ont pas le fichier @file{git-daemon-export-ok}."
 
 #. type: item
 #: doc/guix.texi:20258
@@ -37550,7 +37551,7 @@ msgstr "@code{base-path} (par défaut : @file{/srv/git})"
 #. type: table
 #: doc/guix.texi:20263
 msgid "Whether to remap all the path requests as relative to the given path.  
If you run git daemon with @var{(base-path \"/srv/git\")} on example.com, then 
if you later try to pull @code{git://example.com/hello.git}, git daemon will 
interpret the path as @code{/srv/git/hello.git}."
-msgstr ""
+msgstr "Indique s'il faut traduire toutes les requêtes de chemins relativement 
au chemin actuel.  Si vous lancez le démon git avec @var{(base-path 
\"/srv/git\")} sur example.com, si vous essayez ensuite de récupérer 
@code{git://example.com/hello.git}, le démon git interprétera ce chemin comme 
étant @code{/srv/git/hello.git}."
 
 #. type: item
 #: doc/guix.texi:20264
@@ -37561,7 +37562,7 @@ msgstr "@code{user-path} (par défaut : @var{#f})"
 #. type: table
 #: doc/guix.texi:20271
 msgid "Whether to allow @code{~user} notation to be used in requests.  When 
specified with empty string, requests to @code{git://host/~alice/foo} is taken 
as a request to access @code{foo} repository in the home directory of user 
@code{alice}.  If @var{(user-path \"path\")} is specified, the same request is 
taken as a request to access @code{path/foo} repository in the home directory 
of user @code{alice}."
-msgstr ""
+msgstr "Indique s'il faut permettre la notation @code{~user} dans les 
requêtes.  Lorsque spécifié avec une chaîne vide, les requêtes à 
@code{git://host/~alice/foo} sont des requêtes d'accès au dépôt @code{foo} dans 
le répertoire personnel de l'utilisateur @code{alice}.  Si @var{(user-path 
\"chemin\")} est spécifié, la même requête est interprétée comme accédant au 
répertoire @code{chemin/foo} dans le répertoire personnel de l'utilisateur 
@code{alice}."
 
 #. type: item
 #: doc/guix.texi:20272
@@ -37572,7 +37573,7 @@ msgstr "@code{listen} (par défaut : @var{'()})"
 #. type: table
 #: doc/guix.texi:20275
 msgid "Whether to listen on specific IP addresses or hostnames, defaults to 
all."
-msgstr ""
+msgstr "Indique s'il faut écouter sur des adresses IP ou des noms d'hôtes 
particuliers, par défaut tous."
 
 #. type: item
 #: doc/guix.texi:20276
@@ -37583,7 +37584,7 @@ msgstr "@code{port} (par défaut : @var{#f})"
 #. type: table
 #: doc/guix.texi:20278
 msgid "Whether to listen on an alternative port, which defaults to 9418."
-msgstr ""
+msgstr "Indique s'il faut écouter sur un port particulier, par défaut le 9418."
 
 #. type: item
 #: doc/guix.texi:20279
@@ -37594,7 +37595,7 @@ msgstr "@code{whitelist} (par défaut : @var{'()})"
 #. type: table
 #: doc/guix.texi:20281
 msgid "If not empty, only allow access to this list of directories."
-msgstr ""
+msgstr "Si la liste n'est pas vide, n'autoriser l'accès qu'aux dossiers 
spécifiés."
 
 #. type: item
 #: doc/guix.texi:20282
@@ -37605,17 +37606,17 @@ msgstr "@code{extra-options} (par défaut : @var{'()})"
 #. type: table
 #: doc/guix.texi:20285
 msgid "Extra options will be passed to @code{git daemon}, please run 
@command{man git-daemon} for more information."
-msgstr ""
+msgstr "Options supplémentaires qui seront passées à @code{git daemon}, lancez 
@command{man git-daemon} pour plus d'informations."
 
 #. type: Plain text
 #: doc/guix.texi:20299
 msgid "The @code{git://} protocol lacks authentication.  When you pull from a 
repository fetched via @code{git://}, you don't know that the data you receive 
was modified is really coming from the specified host, and you have your 
connection is subject to eavesdropping.  It's better to use an authenticated 
and encrypted transport, such as @code{https}.  Although Git allows you to 
serve repositories using unsophisticated file-based web servers, there is a 
faster protocol implemented by the [...]
-msgstr ""
+msgstr "Le protocole @code{git://} ne permet pas l'authentification.  Lorsque 
vous récupérez un dépôt via @code{git://}, vous ne pouvez pas savoir si les 
données que vous recevez ont été modifiées ou si elles viennent bien de l'hôte 
spécifié, et votre connexion pourrait être espionnée.  Il est préférable 
d'utiliser un protocole de transport authentifié et chiffré, comme 
@code{https}.  Bien que Git vous permette de servir des dépôts avec un serveur 
web peu sophistiqué basé sur les fichier [...]
 
 #. type: Plain text
 #: doc/guix.texi:20302
 msgid "Guix has a separate configuration data type for serving Git 
repositories over HTTP."
-msgstr ""
+msgstr "Guix a un type de données de configuration séparé pour servir des 
dépôts Git par HTTP."
 
 #. type: deftp
 #: doc/guix.texi:20303
@@ -37626,7 +37627,7 @@ msgstr "{Type de données} git-http-configuration"
 #. type: deftp
 #: doc/guix.texi:20305
 msgid "Data type representing the configuration for @code{git-http-service}."
-msgstr ""
+msgstr "Type de données représentant la configuration de 
@code{git-http-service}."
 
 #. type: item
 #: doc/guix.texi:20310
@@ -37637,12 +37638,12 @@ msgstr "@code{git-root} (par défaut : 
@file{/srv/git})"
 #. type: table
 #: doc/guix.texi:20312
 msgid "Directory containing the Git repositories to expose to the world."
-msgstr ""
+msgstr "Répertoire contenant les dépôts Git à exposer au monde."
 
 #. type: table
 #: doc/guix.texi:20316
 msgid "Whether to expose access for all Git repositories in @var{git-root}, 
even if they do not have the @file{git-daemon-export-ok} file."
-msgstr ""
+msgstr "Indique s'il faut exposer l'accès de tous les dépôts Git dans 
@var{git-root}, même s'ils n'ont pas le fichier @file{git-daemon-export-ok}."
 
 #. type: item
 #: doc/guix.texi:20317
@@ -37653,7 +37654,7 @@ msgstr "@code{uri-path} (par défaut : @file{/git/})"
 #. type: table
 #: doc/guix.texi:20322
 msgid "Path prefix for Git access.  With the default @code{/git/} prefix, this 
will map @code{http://@var{server}/git/@var{repo}.git} to 
@code{/srv/git/@var{repo}.git}.  Requests whose URI paths do not begin with 
this prefix are not passed on to this Git instance."
-msgstr ""
+msgstr "Préfixe du chemin pour l'accès Git.  Avec le préfixe @code{/git/} par 
défaut, cela traduira @code{http://@var{server}/git/@var{repo}.git} en 
@code{/sr/git/@var{repo}.git}.  Les requêtes dont les chemins d'URI ne 
commencent pas par ce préfixe ne seront pas passées à cette instance de Git."
 
 #. type: item
 #: doc/guix.texi:20323
@@ -37664,12 +37665,12 @@ msgstr "@code{fcgiwrap-socket} (par défaut : 
@code{127.0.0.1:9000})"
 #. type: table
 #: doc/guix.texi:20326
 msgid "The socket on which the @code{fcgiwrap} daemon is listening.  @xref{Web 
Services}."
-msgstr ""
+msgstr "Le socket sur lequel le démon @code{fcgiwrap} écoute.  @xref{Web 
Services}."
 
 #. type: Plain text
 #: doc/guix.texi:20333
 msgid "There is no @code{git-http-service-type}, currently; instead you can 
create an @code{nginx-location-configuration} from a 
@code{git-http-configuration} and then add that location to a web server."
-msgstr ""
+msgstr "Il n'y a pas de @code{git-http-service-type}, actuellement ; à la 
place vous pouvez créer un @code{nginx-location-configuration} à partir d'un 
@code{git-http-configuration} puis ajouter cela au serveur web."
 
 #. type: deffn
 #: doc/guix.texi:20334
@@ -37681,6 +37682,8 @@ msgstr "{Procédure Scheme} 
git-http-nginx-location-configuration @"
 #: doc/guix.texi:20339
 msgid "[config=(git-http-configuration)] Compute an 
@code{nginx-location-configuration} that corresponds to the given Git http 
configuration.  An example nginx service definition to serve the default 
@file{/srv/git} over HTTPS might be:"
 msgstr ""
+"[config=(git-http-configuration)]\n"
+"Calcule un @code{nginx-location-configuration} qui correspond à la 
configuration http Git donnée.  Voici un exemple de définition de service nginx 
qui sert le répertoire @file{/srv/git} par défaut en HTTPS :"
 
 #. type: example
 #: doc/guix.texi:20356
@@ -37721,7 +37724,7 @@ msgstr ""
 #. type: deffn
 #: doc/guix.texi:20363
 msgid "This example assumes that you are using Let's Encrypt to get your TLS 
certificate.  @xref{Certificate Services}.  The default @code{certbot} service 
will redirect all HTTP traffic on @code{git.my-host.org} to HTTPS.  You will 
also need to add an @code{fcgiwrap} proxy to your system services.  @xref{Web 
Services}."
-msgstr ""
+msgstr "Ce exemple suppose que vous utilisez Let's Encrypt pour récupérer 
votre certificat TLS.  @xref{Certificate Services}.  Le service @code{certbot} 
par défaut redirigera tout le trafic HTTP de @code{git.my-host.org} en HTTPS.  
Vous devrez aussi ajouter un mandataire @code{fcgiwrap} à vos services 
systèmes.  @xref{Web Services}."
 
 #. type: subsubheading
 #: doc/guix.texi:20365
@@ -37749,7 +37752,7 @@ msgstr "@uref{https://git.zx2c4.com/cgit/, Cgit} est 
une interface web pour des
 #. type: Plain text
 #: doc/guix.texi:20374
 msgid "The following example will configure the service with default values.  
By default, Cgit can be accessed on port 80 (@code{http://localhost:80})."
-msgstr ""
+msgstr "L'exemple suivant configurera le service avec les valeurs par défaut.  
Par défaut, on peut accéder à Cgit sur le port  (@code{http://localhost:80})."
 
 #. type: example
 #: doc/guix.texi:20377
@@ -37760,7 +37763,7 @@ msgstr "(service cgit-service-type)\n"
 #. type: Plain text
 #: doc/guix.texi:20381
 msgid "The @code{file-object} type designates either a file-like object 
(@pxref{G-Expressions, file-like objects}) or a string."
-msgstr ""
+msgstr "Le type @code{file-object} désigne soit un objet simili-fichier 
(@pxref{G-Expressions, file-like objects}), soit une chaîne."
 
 #. type: Plain text
 #: doc/guix.texi:20385
@@ -37798,7 +37801,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object about-filter"
 #. type: deftypevr
 #: doc/guix.texi:20399
 msgid "Specifies a command which will be invoked to format the content of 
about pages (both top-level and for each repository)."
-msgstr ""
+msgstr "Spécifie une commande qui doit être invoquée pour formater le contenu 
des pages « à propos » (au plus haut niveau et pour chaque dépôt)."
 
 #. type: deftypevr
 #: doc/guix.texi:20404
@@ -37809,7 +37812,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
agefile"
 #. type: deftypevr
 #: doc/guix.texi:20407
 msgid "Specifies a path, relative to each repository path, which can be used 
to specify the date and time of the youngest commit in the repository."
-msgstr ""
+msgstr "Spécifie un chemin, relativement à chaque dépôt, qui peut être utilisé 
pour spécifier la date et l'heure du plus récent commit du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20412
@@ -37820,7 +37823,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object auth-filter"
 #. type: deftypevr
 #: doc/guix.texi:20415
 msgid "Specifies a command that will be invoked for authenticating repository 
access."
-msgstr ""
+msgstr "Spécifie une commande qui sera invoquée pour authentifier l'accès au 
dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20420
@@ -37831,7 +37834,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
branch-sort"
 #. type: deftypevr
 #: doc/guix.texi:20423
 msgid "Flag which, when set to @samp{age}, enables date ordering in the branch 
ref list, and when set @samp{name} enables ordering by branch name."
-msgstr ""
+msgstr "Drapeau qui, lorsqu'il vaut @samp{age}, active le trie par date dans 
la liste des branches, et le trie par nom lorsqu'il vaut @samp{name}."
 
 #. type: deftypevr
 #: doc/guix.texi:20425
@@ -37847,7 +37850,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
cache-root"
 #. type: deftypevr
 #: doc/guix.texi:20430
 msgid "Path used to store the cgit cache entries."
-msgstr ""
+msgstr "Chemin utilisé pour stocker les entrées de cache de cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:20432
@@ -37863,7 +37866,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-static-ttl"
 #. type: deftypevr
 #: doc/guix.texi:20438
 msgid "Number which specifies the time-to-live, in minutes, for the cached 
version of repository pages accessed with a fixed SHA1."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minute, des versions en cache 
des pages du dépôt accédées par leur SHA-1."
 
 #. type: deftypevr
 #: doc/guix.texi:20440 doc/guix.texi:20883
@@ -37879,7 +37882,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-dynamic-ttl"
 #. type: deftypevr
 #: doc/guix.texi:20446
 msgid "Number which specifies the time-to-live, in minutes, for the cached 
version of repository pages accessed without a fixed SHA1."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, des version en cache 
des pages du dépôt accédées sans leur SHA1."
 
 #. type: deftypevr
 #: doc/guix.texi:20451
@@ -37890,7 +37893,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-repo-ttl"
 #. type: deftypevr
 #: doc/guix.texi:20454
 msgid "Number which specifies the time-to-live, in minutes, for the cached 
version of the repository summary page."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minute, des version en cache 
de la page de résumé du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20459
@@ -37901,7 +37904,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-root-ttl"
 #. type: deftypevr
 #: doc/guix.texi:20462
 msgid "Number which specifies the time-to-live, in minutes, for the cached 
version of the repository index page."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en 
cache de la page d'index du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20467
@@ -37912,7 +37915,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-scanrc-ttl"
 #. type: deftypevr
 #: doc/guix.texi:20470
 msgid "Number which specifies the time-to-live, in minutes, for the result of 
scanning a path for Git repositories."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en 
cache du résultat du scan d'un chemin dans le dépôt Git."
 
 #. type: deftypevr
 #: doc/guix.texi:20475
@@ -37923,7 +37926,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-about-ttl"
 #. type: deftypevr
 #: doc/guix.texi:20478
 msgid "Number which specifies the time-to-live, in minutes, for the cached 
version of the repository about page."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en 
cache de la page « à propos » du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20483
@@ -37934,7 +37937,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-snapshot-ttl"
 #. type: deftypevr
 #: doc/guix.texi:20486
 msgid "Number which specifies the time-to-live, in minutes, for the cached 
version of snapshots."
-msgstr ""
+msgstr "Nombre qui spécifie le temps de vie, en minutes, de la version en 
cache des archives."
 
 #. type: deftypevr
 #: doc/guix.texi:20491
@@ -37945,7 +37948,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer cache-size"
 #. type: deftypevr
 #: doc/guix.texi:20494
 msgid "The maximum number of entries in the cgit cache.  When set to @samp{0}, 
caching is disabled."
-msgstr ""
+msgstr "Le nombre maximum d'entrées dans le cache de cgit.  Lorsque la valeur 
est @samp{0}, le cache est désactivé."
 
 #. type: deftypevr
 #: doc/guix.texi:20499
@@ -37956,7 +37959,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean case-sensitive-sort?"
 #. type: deftypevr
 #: doc/guix.texi:20501
 msgid "Sort items in the repo list case sensitively."
-msgstr ""
+msgstr "Indique si le tri des éléments est sensible à la casse."
 
 #. type: deftypevr
 #: doc/guix.texi:20506
@@ -37967,7 +37970,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list 
clone-prefix"
 #. type: deftypevr
 #: doc/guix.texi:20509
 msgid "List of common prefixes which, when combined with a repository URL, 
generates valid clone URLs for the repository."
-msgstr ""
+msgstr "Liste des préfixes communs qui, lorsqu'ils sont combinés à l'URL du 
dépôt, génèrent des URL de clone valides pour le dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20514
@@ -37978,7 +37981,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list 
clone-url"
 #. type: deftypevr
 #: doc/guix.texi:20516
 msgid "List of @code{clone-url} templates."
-msgstr ""
+msgstr "Liste des modèles @code{clone-url}"
 
 #. type: deftypevr
 #: doc/guix.texi:20521
@@ -37989,7 +37992,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object commit-filter"
 #. type: deftypevr
 #: doc/guix.texi:20523
 msgid "Command which will be invoked to format commit messages."
-msgstr ""
+msgstr "Commande qui sera invoquée pour formater les messages de commit."
 
 #. type: deftypevr
 #: doc/guix.texi:20528
@@ -38000,7 +38003,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
commit-sort"
 #. type: deftypevr
 #: doc/guix.texi:20532 doc/guix.texi:21090
 msgid "Flag which, when set to @samp{date}, enables strict date ordering in 
the commit log, and when set to @samp{topo} enables strict topological 
ordering."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{date}, active le tri par date strict dans 
le messages de commit, et le tri topologique strict lorsqu'il vaut @samp{topo}."
 
 #. type: deftypevr
 #: doc/guix.texi:20534
@@ -38016,7 +38019,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object css"
 #. type: deftypevr
 #: doc/guix.texi:20539
 msgid "URL which specifies the css document to include in all cgit pages."
-msgstr ""
+msgstr "URL qui spécifie le document css à inclure dans les pages cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:20541
@@ -38032,7 +38035,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object email-filter"
 #. type: deftypevr
 #: doc/guix.texi:20548
 msgid "Specifies a command which will be invoked to format names and email 
address of committers, authors, and taggers, as represented in various places 
throughout the cgit interface."
-msgstr ""
+msgstr "Spécifie une commande qui sera invoquée pour formater les noms et 
l'adresse de courriel des commiteurs, des auteurs et des taggueurs, représentés 
à plusieurs endroits dans l'interface cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:20553
@@ -38043,7 +38046,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean embedded?"
 #. type: deftypevr
 #: doc/guix.texi:20556
 msgid "Flag which, when set to @samp{#t}, will make cgit generate a HTML 
fragment suitable for embedding in other HTML pages."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera générer un fragment HTML à cgit 
qu'il sera possible d'inclure dans d'autres pages HTML."
 
 #. type: deftypevr
 #: doc/guix.texi:20561
@@ -38054,7 +38057,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-commit-graph?"
 #. type: deftypevr
 #: doc/guix.texi:20565
 msgid "Flag which, when set to @samp{#t}, will make cgit print an ASCII-art 
commit history graph to the left of the commit messages in the repository log 
page."
-msgstr ""
+msgstr "Drapeau qui, lorsqu'il vaut @samp{#t}, fera afficher un historique en 
ASCII-art à gauche des messages de commit dans la page de log du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20570
@@ -38065,7 +38068,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-filter-override
 #. type: deftypevr
 #: doc/guix.texi:20573
 msgid "Flag which, when set to @samp{#t}, allows all filter settings to be 
overridden in repository-specific cgitrc files."
-msgstr ""
+msgstr "Drapeau qui, lorsqu'il vaut @samp{#t}, permet à tous les paramètres de 
filtrage d'être modifiés dans des fichiers cgitrc spécifiques au dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20578
@@ -38076,7 +38079,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-follow-links?"
 #. type: deftypevr
 #: doc/guix.texi:20581
 msgid "Flag which, when set to @samp{#t}, allows users to follow a file in the 
log view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, permet aux utilisateurs de suivre un 
fichier dans la vue « log »."
 
 #. type: deftypevr
 #: doc/guix.texi:20586
@@ -38087,7 +38090,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-http-clone?"
 #. type: deftypevr
 #: doc/guix.texi:20589
 msgid "If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git 
clones."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, cgit agira comme un point d'accès HTTP 
idiot pour les clones Git."
 
 #. type: deftypevr
 #: doc/guix.texi:20594
@@ -38098,7 +38101,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-index-links?"
 #. type: deftypevr
 #: doc/guix.texi:20597
 msgid "Flag which, when set to @samp{#t}, will make cgit generate extra links 
\"summary\", \"commit\", \"tree\" for each repo in the repository index."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera générer des liens « résumé », « 
commit » et « arborescence » supplémentaires poru chaque dépôt dans l'index des 
dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20602
@@ -38109,7 +38112,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-index-owner?"
 #. type: deftypevr
 #: doc/guix.texi:20605
 msgid "Flag which, when set to @samp{#t}, will make cgit display the owner of 
each repo in the repository index."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher le propriétaire de 
chaque dépôt dans l'index des dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20610
@@ -38120,7 +38123,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-log-filecount?"
 #. type: deftypevr
 #: doc/guix.texi:20613
 msgid "Flag which, when set to @samp{#t}, will make cgit print the number of 
modified files for each commit on the repository log page."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de 
fichiers modifiés pour chaque commit sur la page de log du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20618
@@ -38131,7 +38134,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-log-linecount?"
 #. type: deftypevr
 #: doc/guix.texi:20621
 msgid "Flag which, when set to @samp{#t}, will make cgit print the number of 
added and removed lines for each commit on the repository log page."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit le nombre de 
lignes ajoutées et enlevées pour chaque commit de la page de log du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20626
@@ -38142,7 +38145,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-remote-branches
 #. type: deftypevr
 #: doc/guix.texi:20629 doc/guix.texi:21153
 msgid "Flag which, when set to @code{#t}, will make cgit display remote 
branches in the summary and refs views."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher les branches distantes 
dans les vues du résumé et des références."
 
 #. type: deftypevr
 #: doc/guix.texi:20634
@@ -38153,7 +38156,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-subject-links?"
 #. type: deftypevr
 #: doc/guix.texi:20638
 msgid "Flag which, when set to @code{1}, will make cgit use the subject of the 
parent commit as link text when generating links to parent commits in commit 
view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{1}, fera utiliser à cgit le sujet du 
commit parent comme texte du lien lors de la génération des liens vers les 
commits parents dans la vue des commits."
 
 #. type: deftypevr
 #: doc/guix.texi:20643
@@ -38164,7 +38167,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-html-serving?"
 #. type: deftypevr
 #: doc/guix.texi:20647
 msgid "Flag which, when set to @samp{#t}, will make cgit use the subject of 
the parent commit as link text when generating links to parent commits in 
commit view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera utiliser à cgit l esujet du 
commit parent comme texte du lien lors de la génération des liens vers le 
commit parent dans la vue des commits."
 
 #. type: deftypevr
 #: doc/guix.texi:20652
@@ -38175,7 +38178,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-tree-linenumber
 #. type: deftypevr
 #: doc/guix.texi:20655
 msgid "Flag which, when set to @samp{#t}, will make cgit generate linenumber 
links for plaintext blobs printed in the tree view."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera générer à cgit des liens vers 
le numéro de ligne pour les blobs en texte brut affichés dans la vue de 
l'arborescence."
 
 #. type: deftypevr
 #: doc/guix.texi:20660
@@ -38186,7 +38189,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean enable-git-config?"
 #. type: deftypevr
 #: doc/guix.texi:20663
 msgid "Flag which, when set to @samp{#f}, will allow cgit to use Git config to 
set any repo specific settings."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, permettra à cgit d'utiliser la 
configuration Git pour spécifier des paramètres spécifiques au dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20668
@@ -38197,7 +38200,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object favicon"
 #. type: deftypevr
 #: doc/guix.texi:20670
 msgid "URL used as link to a shortcut icon for cgit."
-msgstr ""
+msgstr "URL utilisée comme lien vers un icône pour cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:20672
@@ -38213,7 +38216,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
footer"
 #. type: deftypevr
 #: doc/guix.texi:20679
 msgid "The content of the file specified with this option will be included 
verbatim at the bottom of all pages (i.e.  it replaces the standard \"generated 
by...\" message)."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus 
directement au bas de toutes les pages (c.-à-d.@: qu'il remplace le message « 
généré par … » générique)."
 
 #. type: deftypevr
 #: doc/guix.texi:20684
@@ -38224,7 +38227,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
head-include"
 #. type: deftypevr
 #: doc/guix.texi:20687
 msgid "The content of the file specified with this option will be included 
verbatim in the HTML HEAD section on all pages."
-msgstr ""
+msgstr "Le contenu du fichier spécifié dans cette option sera inclus 
directement dans la section HEAD HTML de toutes les pages."
 
 #. type: deftypevr
 #: doc/guix.texi:20692
@@ -38235,7 +38238,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
header"
 #. type: deftypevr
 #: doc/guix.texi:20695
 msgid "The content of the file specified with this option will be included 
verbatim at the top of all pages."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus 
directement au début de toutes les pages."
 
 #. type: deftypevr
 #: doc/guix.texi:20700
@@ -38246,7 +38249,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object include"
 #. type: deftypevr
 #: doc/guix.texi:20703
 msgid "Name of a configfile to include before the rest of the current config- 
file is parsed."
-msgstr ""
+msgstr "Nom d'un fichier de configuration à inclure avant que le reste du 
fichier de configuration actuel ne soit analysé."
 
 #. type: deftypevr
 #: doc/guix.texi:20708
@@ -38257,7 +38260,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
index-header"
 #. type: deftypevr
 #: doc/guix.texi:20711
 msgid "The content of the file specified with this option will be included 
verbatim above the repository index."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus 
directement au dessus de l'index des dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20716
@@ -38268,7 +38271,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
index-info"
 #. type: deftypevr
 #: doc/guix.texi:20719
 msgid "The content of the file specified with this option will be included 
verbatim below the heading on the repository index page."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus 
directement en dessous de l'en-tête sur la page d'index du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20724
@@ -38279,7 +38282,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean local-time?"
 #. type: deftypevr
 #: doc/guix.texi:20727
 msgid "Flag which, if set to @samp{#t}, makes cgit print commit and tag times 
in the servers timezone."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera afficher à cgit l'heure et la 
date de commit et de tag dans le fuseau horaire du serveur."
 
 #. type: deftypevr
 #: doc/guix.texi:20732
@@ -38290,7 +38293,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object logo"
 #. type: deftypevr
 #: doc/guix.texi:20735
 msgid "URL which specifies the source of an image which will be used as a logo 
on all cgit pages."
-msgstr ""
+msgstr "URL qui spécifie la source d'une image utilisé comme logo sur toutes 
les pages cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:20737
@@ -38306,7 +38309,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
logo-link"
 #. type: deftypevr
 #: doc/guix.texi:20742 doc/guix.texi:21199
 msgid "URL loaded when clicking on the cgit logo image."
-msgstr ""
+msgstr "URL chargée lors du clic sur l'image du logo de cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:20747
@@ -38317,7 +38320,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object owner-filter"
 #. type: deftypevr
 #: doc/guix.texi:20750
 msgid "Command which will be invoked to format the Owner column of the main 
page."
-msgstr ""
+msgstr "Commande qui sera invoquée pour formater la colonne propriétaire sur 
la page principale."
 
 #. type: deftypevr
 #: doc/guix.texi:20755
@@ -38328,7 +38331,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer max-atom-items"
 #. type: deftypevr
 #: doc/guix.texi:20757
 msgid "Number of items to display in atom feeds view."
-msgstr ""
+msgstr "Nombre d'éléments à afficher dans la vue des flux atom."
 
 #. type: deftypevr
 #: doc/guix.texi:20759 doc/guix.texi:20994 doc/guix.texi:21002
@@ -38345,7 +38348,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer max-commit-count"
 #. type: deftypevr
 #: doc/guix.texi:20764
 msgid "Number of entries to list per page in \"log\" view."
-msgstr ""
+msgstr "Nombre d'éléments à lister par page dans la vue « log »."
 
 #. type: deftypevr
 #: doc/guix.texi:20766 doc/guix.texi:20781
@@ -38361,7 +38364,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer max-message-length"
 #. type: deftypevr
 #: doc/guix.texi:20771
 msgid "Number of commit message characters to display in \"log\" view."
-msgstr ""
+msgstr "Nombre caractères de messages de commit à afficher dans la vue « log 
»."
 
 #. type: deftypevr
 #: doc/guix.texi:20773 doc/guix.texi:20789
@@ -38377,7 +38380,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer max-repo-count"
 #. type: deftypevr
 #: doc/guix.texi:20779
 msgid "Specifies the number of entries to list per page on the repository 
index page."
-msgstr ""
+msgstr "Spécifie le nombre d'éléments à lister par page sur la page de l'index 
des dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20784
@@ -38388,7 +38391,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer max-repodesc-length"
 #. type: deftypevr
 #: doc/guix.texi:20787
 msgid "Specifies the maximum number of repo description characters to display 
on the repository index page."
-msgstr ""
+msgstr "Spécifie le nombre maximum de caractères de description de dépôts à 
afficher sur la page d'index des dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20792
@@ -38399,7 +38402,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer max-blob-size"
 #. type: deftypevr
 #: doc/guix.texi:20794
 msgid "Specifies the maximum size of a blob to display HTML for in KBytes."
-msgstr ""
+msgstr "Spécifie la taille maximale d'un blob pour lequel afficher du HTML en 
kilo-octets."
 
 #. type: deftypevr
 #: doc/guix.texi:20799
@@ -38410,7 +38413,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
max-stats"
 #. type: deftypevr
 #: doc/guix.texi:20802
 msgid "Maximum statistics period.  Valid values are @samp{week},@samp{month}, 
@samp{quarter} and @samp{year}."
-msgstr ""
+msgstr "Période de statistiques maximale.  Les valeurs valides sont 
@samp{week}, @samp{month}, @samp{quarter} et @samp{year}."
 
 #. type: deftypevr
 #: doc/guix.texi:20807
@@ -38421,7 +38424,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
mimetype-alist mimetype"
 #. type: deftypevr
 #: doc/guix.texi:20809
 msgid "Mimetype for the specified filename extension."
-msgstr ""
+msgstr "Type mime pour l'extension de fichier spécifiée."
 
 #. type: deftypevr
 #: doc/guix.texi:20813
@@ -38437,7 +38440,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object mimetype-file"
 #. type: deftypevr
 #: doc/guix.texi:20818
 msgid "Specifies the file to use for automatic mimetype lookup."
-msgstr ""
+msgstr "Spécifie le fichier à utiliser pour la recherche automatique de type 
mime."
 
 #. type: deftypevr
 #: doc/guix.texi:20823
@@ -38448,7 +38451,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
module-link"
 #. type: deftypevr
 #: doc/guix.texi:20826
 msgid "Text which will be used as the formatstring for a hyperlink when a 
submodule is printed in a directory listing."
-msgstr ""
+msgstr "Texte qui sera utilisé comme chaîne de formatage pour un lien 
hypertexte lorsqu'un sous-module est affiché dans la liste du répertoire."
 
 #. type: deftypevr
 #: doc/guix.texi:20831
@@ -38459,7 +38462,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean nocache?"
 #. type: deftypevr
 #: doc/guix.texi:20833
 msgid "If set to the value @samp{#t} caching will be disabled."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, le cache est désactivé."
 
 #. type: deftypevr
 #: doc/guix.texi:20838
@@ -38470,7 +38473,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean noplainemail?"
 #. type: deftypevr
 #: doc/guix.texi:20841
 msgid "If set to @samp{#t} showing full author email addresses will be 
disabled."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, l'affichage des adresse de courriel des 
auteurs sera désactivé."
 
 #. type: deftypevr
 #: doc/guix.texi:20846
@@ -38481,7 +38484,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean noheader?"
 #. type: deftypevr
 #: doc/guix.texi:20849
 msgid "Flag which, when set to @samp{#t}, will make cgit omit the standard 
header on all pages."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{#t}, fera omettre à cgit l'en-tête 
standard sur toutes les pages."
 
 #. type: deftypevr
 #: doc/guix.texi:20854
@@ -38492,7 +38495,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
project-list project-list"
 #. type: deftypevr
 #: doc/guix.texi:20858
 msgid "A list of subdirectories inside of @code{repository-directory}, 
relative to it, that should loaded as Git repositories.  An empty list means 
that all subdirectories will be loaded."
-msgstr ""
+msgstr "UNe liste de sous-répertoires dans @code{repository-directory}, 
relativement à lui, qui devrait être chargé comme des dépôts Git.  Une liste 
vide signifie que tous les sous-répertoires seront chargés."
 
 #. type: deftypevr
 #: doc/guix.texi:20863
@@ -38503,7 +38506,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object readme"
 #. type: deftypevr
 #: doc/guix.texi:20865
 msgid "Text which will be used as default value for @code{cgit-repo-readme}."
-msgstr ""
+msgstr "Texte utilisé comme valeur par défaut pour @code{cgit-repo-readme}."
 
 #. type: deftypevr
 #: doc/guix.texi:20870
@@ -38514,7 +38517,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean remove-suffix?"
 #. type: deftypevr
 #: doc/guix.texi:20874
 msgid "If set to @code{#t} and @code{repository-directory} is enabled, if any 
repositories are found with a suffix of @code{.git}, this suffix will be 
removed for the URL and name."
-msgstr ""
+msgstr "Si la valeur est @code{#t} et que @code{repository-directory} est 
activé, si un dépôt avec un suffixe de @code{.git} est trouvé, ce suffixe sera 
supprimé de l'URL et du nom."
 
 #. type: deftypevr
 #: doc/guix.texi:20879
@@ -38525,7 +38528,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer renamelimit"
 #. type: deftypevr
 #: doc/guix.texi:20881
 msgid "Maximum number of files to consider when detecting renames."
-msgstr ""
+msgstr "Nombre maximum de fichiers à considérer lors de la détection des 
renommages."
 
 #. type: deftypevr
 #: doc/guix.texi:20886
@@ -38536,7 +38539,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
repository-sort"
 #. type: deftypevr
 #: doc/guix.texi:20888
 msgid "The way in which repositories in each section are sorted."
-msgstr ""
+msgstr "La manière dont les dépôt de chaque section sont rangés."
 
 #. type: deftypevr
 #: doc/guix.texi:20893
@@ -38547,7 +38550,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
robots-list robots"
 #. type: deftypevr
 #: doc/guix.texi:20895
 msgid "Text used as content for the @code{robots} meta-tag."
-msgstr ""
+msgstr "Texte utilisé comme contenu du méta-attribut @code{robots}."
 
 #. type: deftypevr
 #: doc/guix.texi:20897
@@ -38563,7 +38566,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
root-desc"
 #. type: deftypevr
 #: doc/guix.texi:20902
 msgid "Text printed below the heading on the repository index page."
-msgstr ""
+msgstr "Texte affiché en dessous de l'en-tête de la page d'index des dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20904
@@ -38579,7 +38582,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
root-readme"
 #. type: deftypevr
 #: doc/guix.texi:20910
 msgid "The content of the file specified with this option will be included 
verbatim below thef \"about\" link on the repository index page."
-msgstr ""
+msgstr "Le contenu du fichier spécifié avec cette option sera inclus 
directement en dessous du lien « à propos » sur la page d'index du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20915
@@ -38590,7 +38593,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
root-title"
 #. type: deftypevr
 #: doc/guix.texi:20917
 msgid "Text printed as heading on the repository index page."
-msgstr ""
+msgstr "Texte affiché sur la page d'index des dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20922
@@ -38601,7 +38604,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean scan-hidden-path"
 #. type: deftypevr
 #: doc/guix.texi:20928
 msgid "If set to @samp{#t} and repository-directory is enabled, 
repository-directory will recurse into directories whose name starts with a 
period.  Otherwise, repository-directory will stay away from such directories, 
considered as \"hidden\".  Note that this does not apply to the \".git\" 
directory in non-bare repos."
-msgstr ""
+msgstr "Si la valeur est @samp{#t} et que repository-directory est activé, 
repository-directory recherchera de manière récursive dans les répertoires dont 
le nom commence par un point.  Sinon, repository-directory restera hors de ces 
répertoires, considérés comme « cachés ».  Remarquez que cela ne s'applique pas 
au répertoire « .git » dans le dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:20933
@@ -38612,7 +38615,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list 
snapshots"
 #. type: deftypevr
 #: doc/guix.texi:20936
 msgid "Text which specifies the default set of snapshot formats that cgit 
generates links for."
-msgstr ""
+msgstr "Texte qui spécifie l'ensemble des formats d'archives par défaut pour 
lesquelles cgit générera un lien."
 
 #. type: deftypevr
 #: doc/guix.texi:20941
@@ -38623,7 +38626,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
repository-directory repositor
 #. type: deftypevr
 #: doc/guix.texi:20944
 msgid "Name of the directory to scan for repositories (represents 
@code{scan-path})."
-msgstr ""
+msgstr "Nom du répertoire à scanner pour trouver les dépôts (représente 
@code{scan-path})."
 
 #. type: deftypevr
 #: doc/guix.texi:20946
@@ -38639,7 +38642,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
section"
 #. type: deftypevr
 #: doc/guix.texi:20952 doc/guix.texi:21268
 msgid "The name of the current repository section - all repositories defined 
after this option will inherit the current section name."
-msgstr ""
+msgstr "Le nom de la section de dépôts actuelle — tous les dépôts définis 
après ce point hériterons du nom de section actuel."
 
 #. type: deftypevr
 #: doc/guix.texi:20957
@@ -38650,7 +38653,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
section-sort"
 #. type: deftypevr
 #: doc/guix.texi:20960
 msgid "Flag which, when set to @samp{1}, will sort the sections on the 
repository listing by name."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{1}, triera les sections dans la liste des 
dépôts par nom."
 
 #. type: deftypevr
 #: doc/guix.texi:20965
@@ -38661,7 +38664,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer section-from-path"
 #. type: deftypevr
 #: doc/guix.texi:20968
 msgid "A number which, if defined prior to repository-directory, specifies how 
many path elements from each repo path to use as a default section name."
-msgstr ""
+msgstr "Un nombre qui, s'il est défini avant repository-directory, spécifier 
combien d'éléments de chemin de chaque chemin de dépôt utiliser comme nom de 
section par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:20973
@@ -38672,7 +38675,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
boolean side-by-side-diffs?"
 #. type: deftypevr
 #: doc/guix.texi:20976
 msgid "If set to @samp{#t} shows side-by-side diffs instead of unidiffs per 
default."
-msgstr ""
+msgstr "Si la valeur est @samp{#t}, afficher des diffs côte à côte au lieu des 
unidiffs par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:20981
@@ -38683,7 +38686,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
file-object source-filter"
 #. type: deftypevr
 #: doc/guix.texi:20984
 msgid "Specifies a command which will be invoked to format plaintext blobs in 
the tree view."
-msgstr ""
+msgstr "Spécifie une commande qui sera invoquée pour formater les blobs en 
texte brut dans la vue de l'arborescence."
 
 #. type: deftypevr
 #: doc/guix.texi:20989
@@ -38694,7 +38697,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer summary-branches"
 #. type: deftypevr
 #: doc/guix.texi:20992
 msgid "Specifies the number of branches to display in the repository 
\"summary\" view."
-msgstr ""
+msgstr "Spécifie le nombre de branches à afficher dans la vue de résumé du 
dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:20997
@@ -38705,7 +38708,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer summary-log"
 #. type: deftypevr
 #: doc/guix.texi:21000
 msgid "Specifies the number of log entries to display in the repository 
\"summary\" view."
-msgstr ""
+msgstr "Spécifie le nombre d'élément du journal à afficher dans la vue résumé 
du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21005
@@ -38716,7 +38719,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
integer summary-tags"
 #. type: deftypevr
 #: doc/guix.texi:21008
 msgid "Specifies the number of tags to display in the repository \"summary\" 
view."
-msgstr ""
+msgstr "Spécifie le nombre de tags à afficher dans la vue résumé du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21013
@@ -38727,7 +38730,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
strict-export"
 #. type: deftypevr
 #: doc/guix.texi:21016
 msgid "Filename which, if specified, needs to be present within the repository 
for cgit to allow access to that repository."
-msgstr ""
+msgstr "Nom de fichier qui, s'il est spécifié, doit être présent dans le dépôt 
pour que cgit accorde l'accès à ce dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21021
@@ -38738,7 +38741,7 @@ msgstr "{paramètre de @code{cgit-configuration}} string 
virtual-root"
 #. type: deftypevr
 #: doc/guix.texi:21023
 msgid "URL which, if specified, will be used as root for all cgit links."
-msgstr ""
+msgstr "URL qui, si elle est spécifiée, sera utilisée comme racine pour tous 
les liens cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:21025
@@ -38754,7 +38757,7 @@ msgstr "{paramètre de @code{cgit-configuration}} 
repository-cgit-configuration-
 #. type: deftypevr
 #: doc/guix.texi:21030
 msgid "A list of @dfn{cgit-repo} records to use with config."
-msgstr ""
+msgstr "Une liste d'enregistrements @dfn{cgit-repo} à utiliser avec config."
 
 #. type: deftypevr
 #: doc/guix.texi:21034
@@ -38770,7 +38773,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-list snapshots
 #. type: deftypevr
 #: doc/guix.texi:21038
 msgid "A mask of snapshot formats for this repo that cgit generates links for, 
restricted by the global @code{snapshots} setting."
-msgstr ""
+msgstr "Un masque de formats d'archives pour ce dépôt pour lesquelles cgit 
générera un lien, restreint par le paramètre @code{snapshots} global."
 
 #. type: deftypevr
 #: doc/guix.texi:21043
@@ -38781,7 +38784,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-file-object so
 #. type: deftypevr
 #: doc/guix.texi:21045
 msgid "Override the default @code{source-filter}."
-msgstr ""
+msgstr "Modifie le @code{source-filter} par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:21050
@@ -38792,7 +38795,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string url"
 #. type: deftypevr
 #: doc/guix.texi:21052
 msgid "The relative URL used to access the repository."
-msgstr ""
+msgstr "URL relative utilisée pour accéder au dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21057
@@ -38803,7 +38806,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-file-object ab
 #. type: deftypevr
 #: doc/guix.texi:21059
 msgid "Override the default @code{about-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{about-filter} par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:21064
@@ -38814,7 +38817,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string branch-
 #. type: deftypevr
 #: doc/guix.texi:21067
 msgid "Flag which, when set to @samp{age}, enables date ordering in the branch 
ref list, and when set to @samp{name} enables ordering by branch name."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @samp{age}, active le tri par date dans la 
liste des branches, et lorsqu'il vaut @samp{name}, le tri par nom."
 
 #. type: deftypevr
 #: doc/guix.texi:21072
@@ -38825,7 +38828,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-list clone-url
 #. type: deftypevr
 #: doc/guix.texi:21074
 msgid "A list of URLs which can be used to clone repo."
-msgstr ""
+msgstr "Un liste d'URL qui peuvent être utilisées pour cloner ce dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21079
@@ -38836,7 +38839,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-file-object co
 #. type: deftypevr
 #: doc/guix.texi:21081
 msgid "Override the default @code{commit-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{commit-filter} par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:21086
@@ -38853,7 +38856,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string defbran
 #. type: deftypevr
 #: doc/guix.texi:21100
 msgid "The name of the default branch for this repository.  If no such branch 
exists in the repository, the first branch name (when sorted) is used as 
default instead.  By default branch pointed to by HEAD, or \"master\" if there 
is no suitable HEAD."
-msgstr ""
+msgstr "Le nom de la branche par défaut de ce dépôt.  Si cette branche 
n'existe pas dans le dépôt, le premier nom de branche (trié) sera utilisé par 
défaut.  Par défaut la branche pointée par HEAD, ou « master » s'il n'y a pas 
de HEAD convenable."
 
 #. type: deftypevr
 #: doc/guix.texi:21105
@@ -38864,7 +38867,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string desc"
 #. type: deftypevr
 #: doc/guix.texi:21107
 msgid "The value to show as repository description."
-msgstr ""
+msgstr "La valeur à afficher comme description du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21112
@@ -38875,7 +38878,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string homepag
 #. type: deftypevr
 #: doc/guix.texi:21114
 msgid "The value to show as repository homepage."
-msgstr ""
+msgstr "La valeur à afficher comme page d'accueil du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21119
@@ -38886,7 +38889,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-file-object em
 #. type: deftypevr
 #: doc/guix.texi:21121
 msgid "Override the default @code{email-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{email-filter} par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:21126
@@ -38897,7 +38900,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} maybe-repo-boolean
 #. type: deftypevr
 #: doc/guix.texi:21129
 msgid "A flag which can be used to disable the global setting 
@code{enable-commit-graph?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour désactiver le paramètre 
@code{enable-commit-graph?} global."
 
 #. type: deftypevr
 #: doc/guix.texi:21134
@@ -38908,7 +38911,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} maybe-repo-boolean
 #. type: deftypevr
 #: doc/guix.texi:21137
 msgid "A flag which can be used to disable the global setting 
@code{enable-log-filecount?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour désactiver le paramètre 
@code{enable-log-filecount?} global."
 
 #. type: deftypevr
 #: doc/guix.texi:21142
@@ -38919,7 +38922,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} maybe-repo-boolean
 #. type: deftypevr
 #: doc/guix.texi:21145
 msgid "A flag which can be used to disable the global setting 
@code{enable-log-linecount?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour désactiver le paramètre 
@code{enable-log-linecount?} global."
 
 #. type: deftypevr
 #: doc/guix.texi:21150
@@ -38936,7 +38939,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} maybe-repo-boolean
 #. type: deftypevr
 #: doc/guix.texi:21161
 msgid "A flag which can be used to override the global setting 
@code{enable-subject-links?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour modifier le paramètre 
@code{enable-subject-links?} global."
 
 #. type: deftypevr
 #: doc/guix.texi:21166
@@ -38947,7 +38950,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} maybe-repo-boolean
 #. type: deftypevr
 #: doc/guix.texi:21169
 msgid "A flag which can be used to override the global setting 
@code{enable-html-serving?}."
-msgstr ""
+msgstr "Un drapeau qui peut être utilisé pour modifier le paramètre 
@code{enable-html-serving?} global."
 
 #. type: deftypevr
 #: doc/guix.texi:21174
@@ -38958,7 +38961,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-boolean hide?"
 #. type: deftypevr
 #: doc/guix.texi:21177
 msgid "Flag which, when set to @code{#t}, hides the repository from the 
repository index."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @code{#t}, cache le dépôt de l'index des 
dépôts."
 
 #. type: deftypevr
 #: doc/guix.texi:21182
@@ -38969,7 +38972,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-boolean ignore
 #. type: deftypevr
 #: doc/guix.texi:21184
 msgid "Flag which, when set to @samp{#t}, ignores the repository."
-msgstr ""
+msgstr "Drapeau qui, s'il vaut @code{#t},  ignore le dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21189
@@ -38980,7 +38983,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-file-object lo
 #. type: deftypevr
 #: doc/guix.texi:21192
 msgid "URL which specifies the source of an image which will be used as a logo 
on this repo’s pages."
-msgstr ""
+msgstr "URL qui spécifie la source d'une image qui sera utilisée comme logo 
sur les pages de ce dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21197
@@ -38997,7 +39000,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-file-object ow
 #. type: deftypevr
 #: doc/guix.texi:21206
 msgid "Override the default @code{owner-filter}."
-msgstr ""
+msgstr "Modifie le paramètre @code{owner-filter} par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:21211
@@ -39008,7 +39011,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string module-
 #. type: deftypevr
 #: doc/guix.texi:21215
 msgid "Text which will be used as the formatstring for a hyperlink when a 
submodule is printed in a directory listing.  The arguments for the 
formatstring are the path and SHA1 of the submodule commit."
-msgstr ""
+msgstr "Texte qui sera utilisé comme chaîne de formatage pour un lien 
hypertexte lorsqu'un sous-module est affiché dans une liste de fichiers.  Les 
arguments pour la chaîne de formatage sont le chemin et le SHA1 du commit du 
sous-module."
 
 #. type: deftypevr
 #: doc/guix.texi:21220
@@ -39019,7 +39022,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} module-link-path mo
 #. type: deftypevr
 #: doc/guix.texi:21224
 msgid "Text which will be used as the formatstring for a hyperlink when a 
submodule with the specified subdirectory path is printed in a directory 
listing."
-msgstr ""
+msgstr "Texte qui sera utilisé comme chaîne de formatage lorsqu'un sous-module 
avec un chemin spécifié sera affiché dans une liste de fichiers."
 
 #. type: deftypevr
 #: doc/guix.texi:21229
@@ -39030,7 +39033,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string max-sta
 #. type: deftypevr
 #: doc/guix.texi:21231
 msgid "Override the default maximum statistics period."
-msgstr ""
+msgstr "Modifie la période de statistique maximale par défaut."
 
 #. type: deftypevr
 #: doc/guix.texi:21236
@@ -39041,7 +39044,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string name"
 #. type: deftypevr
 #: doc/guix.texi:21238
 msgid "The value to show as repository name."
-msgstr ""
+msgstr "La valeur à afficher comme nom de dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21243
@@ -39052,7 +39055,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string owner"
 #. type: deftypevr
 #: doc/guix.texi:21245
 msgid "A value used to identify the owner of the repository."
-msgstr ""
+msgstr "Une valeur utilisée pour identifier le propriétaire du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21250
@@ -39063,7 +39066,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string path"
 #. type: deftypevr
 #: doc/guix.texi:21252
 msgid "An absolute path to the repository directory."
-msgstr ""
+msgstr "Un chemin absolu vers le répertoire du dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21257
@@ -39074,7 +39077,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-string readme"
 #. type: deftypevr
 #: doc/guix.texi:21260
 msgid "A path (relative to repo) which specifies a file to include verbatim as 
the \"About\" page for this repo."
-msgstr ""
+msgstr "Un chemin (relatif au dépôt) qui spécifie un fichier à inclure 
directement comme page « À propos » pour ce dépôt."
 
 #. type: deftypevr
 #: doc/guix.texi:21265
@@ -39091,7 +39094,7 @@ msgstr "{paramètre de 
@code{repository-cgit-configuration}} repo-list extra-opt
 #. type: deftypevr
 #: doc/guix.texi:21275 doc/guix.texi:21284
 msgid "Extra options will be appended to cgitrc file."
-msgstr ""
+msgstr "Options supplémentaires ajoutées à la fin du fichier cgitrc."
 
 #. type: deftypevr
 #: doc/guix.texi:21282
@@ -39102,7 +39105,7 @@ msgstr "{paramètre de @code{cgit-configuration}} list 
extra-options"
 #. type: Plain text
 #: doc/guix.texi:21296
 msgid "However, it could be that you just want to get a @code{cgitrc} up and 
running.  In that case, you can pass an @code{opaque-cgit-configuration} as a 
record to @code{cgit-service-type}.  As its name indicates, an opaque 
configuration does not have easy reflective capabilities."
-msgstr ""
+msgstr "Cependant, vous pourriez vouloir simplement récupérer un @code{cgitrc} 
et l'utiliser.  Dans ce cas, vous pouvez passer un 
@code{opaque-cgit-configuration} comme enregistrement à 
@code{cgit-service-type}.  Comme son nom l'indique, une configuration opaque 
n'a pas de capacité de réflexion facile."
 
 #. type: Plain text
 #: doc/guix.texi:21298
@@ -39118,7 +39121,7 @@ msgstr "{paramètre de @code{opaque-cgit-configuration}} 
package cgit"
 #. type: deftypevr
 #: doc/guix.texi:21301
 msgid "The cgit package."
-msgstr ""
+msgstr "Le paquet cgit."
 
 #. type: deftypevr
 #: doc/guix.texi:21303
@@ -39129,12 +39132,12 @@ msgstr "{paramètre de 
@code{opaque-cgit-configuration}} string string"
 #. type: deftypevr
 #: doc/guix.texi:21305
 msgid "The contents of the @code{cgitrc}, as a string."
-msgstr ""
+msgstr "Le contenu de @code{cgitrc}, en tant que chaîne de caractère."
 
 #. type: Plain text
 #: doc/guix.texi:21309
 msgid "For example, if your @code{cgitrc} is just the empty string, you could 
instantiate a cgit service like this:"
-msgstr ""
+msgstr "Par exemple, si votre @code{cgitrc} est juste la chaîne vide, vous 
pouvez instancier un service cgit ainsi :"
 
 #. type: example
 #: doc/guix.texi:21314
@@ -39169,17 +39172,17 @@ msgstr "Git, hébergement"
 #. type: Plain text
 #: doc/guix.texi:21322
 msgid "@uref{http://gitolite.com/gitolite/, Gitolite} is a tool for hosting 
Git repositories on a central server."
-msgstr ""
+msgstr "@uref{http://gitolite.com/gitolite/, Gitolite} est un outil pour 
héberger des dépôts Git sur un serveur central."
 
 #. type: Plain text
 #: doc/guix.texi:21325
 msgid "Gitolite can handle multiple repositories and users, and supports 
flexible configuration of the permissions for the users on the repositories."
-msgstr ""
+msgstr "Gitolite peut gérer plusieurs dépôts et utilisateurs et supporte une 
configuration flexible des permissions pour les utilisateurs sur ces dépôts."
 
 #. type: Plain text
 #: doc/guix.texi:21328
 msgid "The following example will configure Gitolite using the default 
@code{git} user, and the provided SSH public key."
-msgstr ""
+msgstr "L'exemple suivant configure Gitolite en utilisant l'utilisateur 
@code{git} par défaut et la clef SSH fournie."
 
 #. type: example
 #: doc/guix.texi:21335
@@ -39200,18 +39203,18 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:21340
 msgid "Gitolite is configured through a special admin repository which you can 
clone, for example, if you setup Gitolite on @code{example.com}, you would run 
the following command to clone the admin repository."
-msgstr ""
+msgstr "Gitolite est configuré via un dépôt d'administration spécial que vous 
pouvez cloner.  Par exemple, si vous hébergez Gitolite sur @code{example.com}, 
vous pouvez lancer la commande suivante pour cloner le dépôt d'administration :"
 
 #. type: example
 #: doc/guix.texi:21343
 #, no-wrap
 msgid "git clone git@@example.com:gitolite-admin\n"
-msgstr ""
+msgstr "git clone git@@example.com:gitolite-admin\n"
 
 #. type: Plain text
 #: doc/guix.texi:21349
 msgid "When the Gitolite service is activated, the provided 
@code{admin-pubkey} will be inserted in to the @file{keydir} directory in the 
gitolite-admin repository.  If this results in a change in the repository, it 
will be committed using the message ``gitolite setup by GNU Guix''."
-msgstr ""
+msgstr "Lorsque le service Gitolite est activé, la clef @code{admin-pubkey} 
fournie sera insérée dans le répertoire @file{keydir} du dépôt gitolite-admin.  
Si cela change le dépôt, un commit sera effectué avec le message « gitolite 
setup by GNU Guix »."
 
 #. type: deftp
 #: doc/guix.texi:21350
@@ -39244,7 +39247,7 @@ msgstr "@code{user} (par défaut : @var{git})"
 #. type: table
 #: doc/guix.texi:21360
 msgid "User to use for Gitolite.  This will be user that you use when 
accessing Gitolite over SSH."
-msgstr ""
+msgstr "Utilisateur pour utiliser Gitolite.  Cela sera l'utilisateur à 
utiliser pour accéder à Gitolite par SSH."
 
 #. type: item
 #: doc/guix.texi:21361
@@ -39293,7 +39296,7 @@ msgstr "Un objet « simili-fichier » 
(@pxref{G-Expressions, file-like objects})
 #. type: table
 #: doc/guix.texi:21377
 msgid "To specify the SSH key as a string, use the @code{plain-file} function."
-msgstr ""
+msgstr "Pour spécifier la clef SSH comme chaîne de caractère, utilisez la 
fonction @code{plain-file}."
 
 #. type: example
 #: doc/guix.texi:21380
@@ -39321,12 +39324,12 @@ msgstr "@code{umask} (par défaut : @code{#o0077})"
 #. type: table
 #: doc/guix.texi:21392
 msgid "This controls the permissions Gitolite sets on the repositories and 
their contents."
-msgstr ""
+msgstr "Cela contrôle les permissions que Gitolite propose sur les dépôts et 
leur contenu."
 
 #. type: table
 #: doc/guix.texi:21396
 msgid "A value like @code{#o0027} will give read access to the group used by 
Gitolite (by default: @code{git}). This is necessary when using Gitolite with 
software like cgit or gitweb."
-msgstr ""
+msgstr "Une valeur comme @code{#o0027} donnera accès en lecture au groupe 
utilisé par Gitolite (par défaut : @code{git}).  Cel aest nécessaire lorsque 
vous utilise Gitolite avec un logiciel comme cgit ou gitweb."
 
 #. type: item
 #: doc/guix.texi:21397
@@ -39337,7 +39340,7 @@ msgstr "@code{git-config-keys} (par défaut : 
@code{\"\"})"
 #. type: table
 #: doc/guix.texi:21400
 msgid "Gitolite allows you to set git config values using the \"config\" 
keyword. This setting allows control over the config keys to accept."
-msgstr ""
+msgstr "Gitolite vous permet de modifier les configurations git avec le 
mot-clef « config ».  Ce paramètre vous permet de contrôler les clefs de 
configuration acceptables."
 
 #. type: item
 #: doc/guix.texi:21401
@@ -39348,7 +39351,7 @@ msgstr "@code{roles} (par défaut : @code{'((\"READERS\" 
. 1) (\"WRITERS\" . ))}
 #. type: table
 #: doc/guix.texi:21403
 msgid "Set the role names allowed to be used by users running the perms 
command."
-msgstr ""
+msgstr "Indique les noms des rôles qui peuvent être utilisés par les 
utilisateurs avec la commande perms."
 
 #. type: item
 #: doc/guix.texi:21404
@@ -39359,13 +39362,13 @@ msgstr "@code{enable} (par défaut : @code{'(\"help\" 
\"desc\" \"info\" \"perms\
 #. type: table
 #: doc/guix.texi:21406
 msgid "This setting controls the commands and features to enable within 
Gitolite."
-msgstr ""
+msgstr "Ce paramètre contrôle les commandes et les fonctionnalités à activer 
dans Gitolite."
 
 #. type: subsubheading
 #: doc/guix.texi:21414
 #, no-wrap
 msgid "The Battle for Wesnoth Service"
-msgstr ""
+msgstr "Le service de la Bataille pour Wesnoth"
 
 #. type: cindex
 #: doc/guix.texi:21415
@@ -39376,7 +39379,7 @@ msgstr "wesnothd"
 #. type: Plain text
 #: doc/guix.texi:21419
 msgid "@uref{https://wesnoth.org, The Battle for Wesnoth} is a fantasy, turn 
based tactical strategy game, with several single player campaigns, and 
multiplayer games (both networked and local)."
-msgstr ""
+msgstr "@uref{https://wesnoth.org, La Bataille pour Wesnoth} est un jeu de 
stratégie en tour par tour dans un univers fantastique, avec plusieurs 
campagnes solo et des parties multijoueurs (en réseau et en local)."
 
 #. type: defvar
 #: doc/guix.texi:21420
@@ -39387,7 +39390,7 @@ msgstr "{Variable Scheme} wesnothd-service-type"
 #. type: defvar
 #: doc/guix.texi:21424
 msgid "Service type for the wesnothd service.  Its value must be a 
@code{wesnothd-configuration} object.  To run wesnothd in the default 
configuration, instantiate it as:"
-msgstr ""
+msgstr "Type de service pour le service wesnothd.  Sa valeur doit être un 
objet @code{wesnothd-configuration}.  Pour lancer wesnothd avec la 
configuration par défaut, instanciez-le ainsi :"
 
 #. type: example
 #: doc/guix.texi:21427
@@ -39404,7 +39407,7 @@ msgstr "{Type de données} wesnothd-configuration"
 #. type: deftp
 #: doc/guix.texi:21432
 msgid "Data type representing the configuration of @command{wesnothd}."
-msgstr ""
+msgstr "Type de donées représentant la configuration de @command{wesnothd}."
 
 #. type: item
 #: doc/guix.texi:21434
@@ -39415,7 +39418,7 @@ msgstr "@code{package} (par défaut : 
@code{wesnoth-server})"
 #. type: table
 #: doc/guix.texi:21436
 msgid "The wesnoth server package to use."
-msgstr ""
+msgstr "Le paquet de serveur de wesnoth à utiliser."
 
 #. type: item
 #: doc/guix.texi:21437
@@ -39426,13 +39429,13 @@ msgstr "@code{port} (par défaut : @code{15000})"
 #. type: table
 #: doc/guix.texi:21439
 msgid "The port to bind the server to."
-msgstr ""
+msgstr "Le pour sur lequel lier le serveur."
 
 #. type: cindex
 #: doc/guix.texi:21445
 #, no-wrap
 msgid "fingerprint"
-msgstr ""
+msgstr "empreinte digitale"
 
 #. type: subsubheading
 #: doc/guix.texi:21446
@@ -39454,7 +39457,7 @@ msgstr "{Variable Scheme} fprintd-service-type"
 #. type: defvr
 #: doc/guix.texi:21454
 msgid "The service type for @command{fprintd}, which provides the fingerprint 
reading capability."
-msgstr ""
+msgstr "Le type de service pour @command{fprintd}, qui fournit des capacités 
de lecture d'empreinte."
 
 #. type: example
 #: doc/guix.texi:21457
@@ -39472,12 +39475,12 @@ msgstr "sysctl"
 #: doc/guix.texi:21461
 #, no-wrap
 msgid "System Control Service"
-msgstr ""
+msgstr "Service de contrôle du système"
 
 #. type: Plain text
 #: doc/guix.texi:21465
 msgid "The @code{(gnu services sysctl)} provides a service to configure kernel 
parameters at boot."
-msgstr ""
+msgstr "Le module @code{(gnu services sysctl)} fournit un service pour 
configurer les paramètres du noyau au démarrage."
 
 #. type: defvr
 #: doc/guix.texi:21466
@@ -39488,7 +39491,7 @@ msgstr "{Variable Scheme} sysctl-service-type"
 #. type: defvr
 #: doc/guix.texi:21470
 msgid "The service type for @command{sysctl}, which modifies kernel parameters 
under @file{/proc/sys/}.  To enable IPv4 forwarding, it can be instantiated as:"
-msgstr ""
+msgstr "Le type de service pour @command{sysctl}, qui modifie les paramètres 
du noyau dans @file{/proc/sys/}.  Pour activer le transfert d'IPv4, vous pouvez 
l'instancier ainsi :"
 
 #. type: example
 #: doc/guix.texi:21475
@@ -39498,6 +39501,9 @@ msgid ""
 "         (sysctl-configuration\n"
 "           (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"
 msgstr ""
+"(service sysctl-service-type\n"
+"         (sysctl-configuration\n"
+"           (settings '((\"net.ipv4.ip_forward\" . \"1\")))))\n"
 
 #. type: deftp
 #: doc/guix.texi:21478
@@ -39508,7 +39514,7 @@ msgstr "{Type de données} sysctl-configuration"
 #. type: deftp
 #: doc/guix.texi:21480
 msgid "The data type representing the configuration of @command{sysctl}."
-msgstr ""
+msgstr "Le type de données représentant la configuration de @command{sysctl}."
 
 #. type: item
 #: doc/guix.texi:21482
@@ -39519,7 +39525,7 @@ msgstr "@code{sysctl} (par défaut : @code{(file-append 
procps \"/sbin/sysctl\"}
 #. type: table
 #: doc/guix.texi:21484
 msgid "The @command{sysctl} executable to use."
-msgstr ""
+msgstr "L'exécutable @command{sysctl} à utiliser."
 
 #. type: item
 #: doc/guix.texi:21485
@@ -39530,7 +39536,7 @@ msgstr "@code{settings} (par défaut : @code{'()})"
 #. type: table
 #: doc/guix.texi:21487
 msgid "An association list specifies kernel parameters and their values."
-msgstr ""
+msgstr "Une liste d'association spécifiant les paramètres du noyau et leur 
valeur."
 
 #. type: cindex
 #: doc/guix.texi:21490
@@ -39542,12 +39548,12 @@ msgstr "pcscd"
 #: doc/guix.texi:21491
 #, no-wrap
 msgid "PC/SC Smart Card Daemon Service"
-msgstr ""
+msgstr "Service du démon PC/SC Smart Card"
 
 #. type: Plain text
 #: doc/guix.texi:21498
 msgid "The @code{(gnu services security-token)} module provides the following 
service to run @command{pcscd}, the PC/SC Smart Card Daemon.  @command{pcscd} 
is the daemon program for pcsc-lite and the MuscleCard framework. It is a 
resource manager that coordinates communications with smart card readers, smart 
cards and cryptographic tokens that are connected to the system."
-msgstr ""
+msgstr "Le module @code{(gnu services security-token)} fournit le service 
suivant qui lance @command{pcscd}, le démon PC/SC Smart Card.  @command{pcscd} 
est le démon pour  pcsc-lite et MuscleCard.  C'est un gestionnaire de ressource 
qui coordonne les communications avec les lecteurs de smart cards, les smart 
cards et les jetons cryptographiques connectés au système."
 
 #. type: defvr
 #: doc/guix.texi:21499
@@ -39597,7 +39603,7 @@ msgstr "@code{usb-drivers} (par défaut : @code{(list 
ccid)})"
 #. type: table
 #: doc/guix.texi:21518
 msgid "List of packages that provide USB drivers to pcscd. Drivers are 
expected to be under @file{pcsc/drivers} in the store directory of the package."
-msgstr ""
+msgstr "Liste des paquets qui fournissent des pilotes USB à pcscd.  Les 
pilotes doivent être dans @file{pcsc/drivers} dans le répertoire du dépôt du 
paquet."
 
 #. type: cindex
 #: doc/guix.texi:21521
@@ -39609,12 +39615,12 @@ msgstr "lirc"
 #: doc/guix.texi:21522
 #, no-wrap
 msgid "Lirc Service"
-msgstr ""
+msgstr "Service Lirc"
 
 #. type: Plain text
 #: doc/guix.texi:21525
 msgid "The @code{(gnu services lirc)} module provides the following service."
-msgstr ""
+msgstr "Le module @code{(gnu services lirc)} fournit le service suivant."
 
 #. type: deffn
 #: doc/guix.texi:21526
@@ -39626,16 +39632,19 @@ msgstr "{Procédure Scheme} lirc-service [#:lirc lirc] 
@"
 #: doc/guix.texi:21531
 msgid "[#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] 
Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that 
decodes infrared signals from remote controls."
 msgstr ""
+"[#:device #f] [#:driver #f] [#:config-file #f] @\n"
+"[#:extra-options '()]\n"
+"Renvoie un service qui lance @url{http://www.lirc.org,LIRC}, un démon qui 
décode les signaux infrarouges des télécommandes."
 
 #. type: deffn
 #: doc/guix.texi:21535
 msgid "Optionally, @var{device}, @var{driver} and @var{config-file} 
(configuration file name) may be specified.  See @command{lircd} manual for 
details."
-msgstr ""
+msgstr "Éventuellement, @var{device}, @var{driver} et @var{config-file} (le 
nom du fichier de configuration) peuvent être spécifiés.  Voir le manuel de 
@command{lircd} pour plus de détails."
 
 #. type: deffn
 #: doc/guix.texi:21538
 msgid "Finally, @var{extra-options} is a list of additional command-line 
options passed to @command{lircd}."
-msgstr ""
+msgstr "Enfin, @var{extra-options} est une liste d'options de la ligne de 
commande supplémentaires à passer à @command{lircd}."
 
 #. type: cindex
 #: doc/guix.texi:21540
@@ -39647,12 +39656,12 @@ msgstr "spice"
 #: doc/guix.texi:21541
 #, no-wrap
 msgid "Spice Service"
-msgstr ""
+msgstr "Service Spice"
 
 #. type: Plain text
 #: doc/guix.texi:21544
 msgid "The @code{(gnu services spice)} module provides the following service."
-msgstr ""
+msgstr "Le module @code{(gnu services spice)} fournit le service suivant."
 
 #. type: deffn
 #: doc/guix.texi:21545
@@ -39663,24 +39672,24 @@ msgstr "{Procédure Scheme} spice-vdagent-service 
[#:spice-vdagent]"
 #. type: deffn
 #: doc/guix.texi:21549
 msgid "Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a 
daemon that enables sharing the clipboard with a vm and setting the guest 
display resolution when the graphical console window resizes."
-msgstr ""
+msgstr "Renvoie un service qui lance @url{http://www.spice-space.org,VDAGENT}, 
un démon qui permet le partage du presse-papier avec une vm et de configurer la 
résolution d'affichage du client lorsque la fenêtre de la console graphique est 
redimensionnée."
 
 #. type: subsubsection
 #: doc/guix.texi:21551
 #, no-wrap
 msgid "Dictionary Services"
-msgstr ""
+msgstr "Services de dictionnaires"
 
 #. type: cindex
 #: doc/guix.texi:21552
 #, no-wrap
 msgid "dictionary"
-msgstr ""
+msgstr "dictionnaire"
 
 #. type: Plain text
 #: doc/guix.texi:21554
 msgid "The @code{(gnu services dict)} module provides the following service:"
-msgstr ""
+msgstr "Le module @code{(gnu services dict)} fournit le service suivant :"
 
 #. type: deffn
 #: doc/guix.texi:21555
@@ -39691,17 +39700,17 @@ msgstr "{Procédure Scheme} dicod-service [#:config 
(dicod-configuration)]"
 #. type: deffn
 #: doc/guix.texi:21558
 msgid "Return a service that runs the @command{dicod} daemon, an 
implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Renvoie un service qui lance le démon @command{dicod}, une 
implémentation du serveur DICT (@pxref{Dicod,,, dico, GNU Dico Manual})."
 
 #. type: deffn
 #: doc/guix.texi:21562
 msgid "The optional @var{config} argument specifies the configuration for 
@command{dicod}, which should be a @code{<dicod-configuration>} object, by 
default it serves the GNU Collaborative International Dictonary of English."
-msgstr ""
+msgstr "L'argument @var{config} facultatif spécifie la configuration pour 
@command{dicod}, qui devrait être un objet @code{<dicod-configuration>}, par 
défaut il sert le dictionnaire international collaboratif de GNU pour 
l'anglais."
 
 #. type: deffn
 #: doc/guix.texi:21566
 msgid "You can add @command{open localhost} to your @file{~/.dico} file to 
make @code{localhost} the default server for @command{dico} client 
(@pxref{Initialization File,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Vous pouvez ajouter @command{open localhost} à votre fichier 
@file{~/.dico} pour faire de @code{localhost} le serveur par défaut du client 
@command{dico} (@pxref{Initialization File,,, dico, GNU Dico Manual})."
 
 #. type: deftp
 #: doc/guix.texi:21568
@@ -39712,7 +39721,7 @@ msgstr "{Type de données} dicod-configuration"
 #. type: deftp
 #: doc/guix.texi:21570
 msgid "Data type representing the configuration of dicod."
-msgstr ""
+msgstr "Type de données représentant la configuration de dicod."
 
 #. type: item
 #: doc/guix.texi:21572
@@ -39723,7 +39732,7 @@ msgstr "@code{dico} (par défaut : @var{dico})"
 #. type: table
 #: doc/guix.texi:21574
 msgid "Package object of the GNU Dico dictionary server."
-msgstr ""
+msgstr "Objet de paquet du serveur de dictionnaire GNU Dico."
 
 #. type: item
 #: doc/guix.texi:21575
@@ -39734,7 +39743,7 @@ msgstr "@code{interfaces} (par défaut : 
@var{'(\"localhost\")})"
 #. type: table
 #: doc/guix.texi:21579
 msgid "This is the list of IP addresses and ports and possibly socket file 
names to listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU 
Dico Manual})."
-msgstr ""
+msgstr "C'est la liste des adresses IP et des ports et éventuellement des noms 
de fichiers de socket sur lesquels écouter (@pxref{Server Settings, 
@code{listen} directive,, dico, GNU Dico Manual})."
 
 #. type: item
 #: doc/guix.texi:21580
@@ -39745,7 +39754,7 @@ msgstr "@code{handlers} (par défaut : @var{'()})"
 #. type: table
 #: doc/guix.texi:21582
 msgid "List of @code{<dicod-handler>} objects denoting handlers (module 
instances)."
-msgstr ""
+msgstr "Liste des objets @code{<dicod-handler>} qui définissent des 
gestionnaires (des instances de modules)."
 
 #. type: item
 #: doc/guix.texi:21583
@@ -39756,7 +39765,7 @@ msgstr "@code{databases} (par défaut : @var{(list 
%dicod-database:gcide)})"
 #. type: table
 #: doc/guix.texi:21585
 msgid "List of @code{<dicod-database>} objects denoting dictionaries to be 
served."
-msgstr ""
+msgstr "Liste d'objets @code{<dicod-database>} qui définissent des 
dictionnaires à servir."
 
 #. type: deftp
 #: doc/guix.texi:21588
@@ -39767,12 +39776,12 @@ msgstr "{Type de données} dicod-handler"
 #. type: deftp
 #: doc/guix.texi:21590
 msgid "Data type representing a dictionary handler (module instance)."
-msgstr ""
+msgstr "Type de données représentant un gestionnaire de dictionnaire (instance 
de module)."
 
 #. type: table
 #: doc/guix.texi:21594
 msgid "Name of the handler (module instance)."
-msgstr ""
+msgstr "Nom du gestionnaire (instance de module)."
 
 #. type: item
 #: doc/guix.texi:21595
@@ -39783,18 +39792,18 @@ msgstr "@code{module} (par défaut : @var{#f})"
 #. type: table
 #: doc/guix.texi:21599
 msgid "Name of the dicod module of the handler (instance).  If it is 
@code{#f}, the module has the same name as the handler.  (@pxref{Modules,,, 
dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Nom du module dicod du gestionnaire (instance).  Si la valeur est 
@code{#f}, le module a le même nom que le gestionnaire.  (@pxref{Modules,,, 
dico, GNU Dico Manual})."
 
 #. type: code{#1}
 #: doc/guix.texi:21600 doc/guix.texi:21620
 #, no-wrap
 msgid "options"
-msgstr ""
+msgstr "options"
 
 #. type: table
 #: doc/guix.texi:21602
 msgid "List of strings or gexps representing the arguments for the module 
handler"
-msgstr ""
+msgstr "Liste de chaînes ou de gexps représentant les arguments pour le 
gestionnaire de module."
 
 #. type: deftp
 #: doc/guix.texi:21605
@@ -39805,23 +39814,23 @@ msgstr "{Type de données} dicod-database"
 #. type: deftp
 #: doc/guix.texi:21607
 msgid "Data type representing a dictionary database."
-msgstr ""
+msgstr "Type de données représentant une base de données de dictionnaire."
 
 #. type: table
 #: doc/guix.texi:21611
 msgid "Name of the database, will be used in DICT commands."
-msgstr ""
+msgstr "Nom de la base de données, qui sera utilisée dans les commande DICT."
 
 #. type: code{#1}
 #: doc/guix.texi:21612
 #, no-wrap
 msgid "handler"
-msgstr ""
+msgstr "handler"
 
 #. type: table
 #: doc/guix.texi:21615
 msgid "Name of the dicod handler (module instance) used by this database 
(@pxref{Handlers,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Nom du gestionnaire dicod (instance de module) utilisé par cette base 
de données (@pxref{Handlers,,, dico, GNU Dico Manual})."
 
 #. type: item
 #: doc/guix.texi:21616
@@ -39832,12 +39841,12 @@ msgstr "@code{complex?} (par défaut : @var{#f})"
 #. type: table
 #: doc/guix.texi:21619
 msgid "Whether the database configuration complex.  The complex configuration 
will need a corresponding @code{<dicod-handler>} object, otherwise not."
-msgstr ""
+msgstr "Indique si la configuration est pour une base de données complexe.  La 
configuration complexe a besoin d'un objet @code{<dicod-handler>} 
correspondant, sinon inutile."
 
 #. type: table
 #: doc/guix.texi:21623
 msgid "List of strings or gexps representing the arguments for the database 
(@pxref{Databases,,, dico, GNU Dico Manual})."
-msgstr ""
+msgstr "Liste de chaînes ou de gexps représentant les arguments pour la base 
de données (@pxref{Databases,,, dico, GNU Dico Manual})."
 
 #. type: defvr
 #: doc/guix.texi:21626
@@ -39848,12 +39857,12 @@ msgstr "{Variable Scheme} %dicod-database:gcide"
 #. type: defvr
 #: doc/guix.texi:21629
 msgid "A @code{<dicod-database>} object serving the GNU Collaborative 
International Dictionary of English using the @code{gcide} package."
-msgstr ""
+msgstr "Un objet @code{<dicod-database>} servant le dictionnaire international 
collaboratif en anglais via le paquet @code{gcide}."
 
 #. type: Plain text
 #: doc/guix.texi:21632
 msgid "The following is an example @code{dicod-service} configuration."
-msgstr ""
+msgstr "Voici un exemple de configuration de @code{dicod-service}."
 
 #. type: example
 #: doc/guix.texi:21647
@@ -39891,22 +39900,22 @@ msgstr ""
 #: doc/guix.texi:21652
 #, no-wrap
 msgid "setuid programs"
-msgstr ""
+msgstr "programmes setuid"
 
 #. type: Plain text
 #: doc/guix.texi:21662
 msgid "Some programs need to run with ``root'' privileges, even when they are 
launched by unprivileged users.  A notorious example is the @command{passwd} 
program, which users can run to change their password, and which needs to 
access the @file{/etc/passwd} and @file{/etc/shadow} files---something normally 
restricted to root, for obvious security reasons.  To address that, these 
executables are @dfn{setuid-root}, meaning that they always run with root 
privileges (@pxref{How Change Perso [...]
-msgstr ""
+msgstr "Certains programmes doivent être lancés avec les privilèges « root » 
même lorsqu'ils sont lancés par un utilisateur non privilégié.  Un exemple 
notoire est le programme @command{passwd}, que les utilisateurs peuvent appeler 
pour modifier leur mot de passe et qui doit accéder à @file{/etc/passwd} et 
@file{/etc/shadow} — ce qui est normalement réservé à root, pour des raisons de 
sécurité évidentes.  Pour contourner cela, ces exécutables sont 
@dfn{setuid-root}, ce qui signifie qu'il [...]
 
 #. type: Plain text
 #: doc/guix.texi:21669
 msgid "The store itself @emph{cannot} contain setuid programs: that would be a 
security issue since any user on the system can write derivations that populate 
the store (@pxref{The Store}).  Thus, a different mechanism is used: instead of 
changing the setuid bit directly on files that are in the store, we let the 
system administrator @emph{declare} which programs should be setuid root."
-msgstr ""
+msgstr "Le dépôt lui-même ne @emph{peut pas} contenir de programmes setuid ; 
cela serait un problème de sécurité puisque n'importe quel utilisateur du 
système peut écrire une dérivation qui rempli le dépôt (@pxref{The Store}).  
Donc, un mécanisme différent est utilisé : au lieu de changer le bit setuid 
directement sur les fichiers qui sont dans le dépôt, nous laissons à 
l'administrateur système le soit de @emph{déclarer} les programmes qui 
devraient être setuid root."
 
 #. type: Plain text
 #: doc/guix.texi:21675
 msgid "The @code{setuid-programs} field of an @code{operating-system} 
declaration contains a list of G-expressions denoting the names of programs to 
be setuid-root (@pxref{Using the Configuration System}).  For instance, the 
@command{passwd} program, which is part of the Shadow package, can be 
designated by this G-expression (@pxref{G-Expressions}):"
-msgstr ""
+msgstr "Le champ @code{setuid-programs} d'une déclaration 
@code{operating-system} contient une liste de G-expressions qui dénotent les 
noms des programmes à rendre setuid-root (@pxref{Using the Configuration 
System}).  Par exemple, le programme @command{passwd}, qui fait partie du 
paquet Shadow, peut être désigné par cette G-expression (@pxref{G-Expressions}) 
:"
 
 #. type: example
 #: doc/guix.texi:21678
@@ -39917,7 +39926,7 @@ msgstr "#~(string-append #$shadow \"/bin/passwd\")\n"
 #. type: Plain text
 #: doc/guix.texi:21682
 msgid "A default set of setuid programs is defined by the 
@code{%setuid-programs} variable of the @code{(gnu system)} module."
-msgstr ""
+msgstr "Un ensemble de programmes par défaut est défini par la variable 
@code{%setuid-programs} du module @code{(gnu system)}."
 
 #. type: defvr
 #: doc/guix.texi:21683
@@ -39928,29 +39937,29 @@ msgstr "{Variable Scheme} %setuid-programs"
 #. type: defvr
 #: doc/guix.texi:21685
 msgid "A list of G-expressions denoting common programs that are setuid-root."
-msgstr ""
+msgstr "Une liste de G-expressions qui dénotent les programmes communément 
setuid-root."
 
 #. type: defvr
 #: doc/guix.texi:21688
 msgid "The list includes commands such as @command{passwd}, @command{ping}, 
@command{su}, and @command{sudo}."
-msgstr ""
+msgstr "La liste inclus des commandes comme @command{passwd}, @command{ping}, 
@command{su} et @command{sudo}."
 
 #. type: Plain text
 #: doc/guix.texi:21694
 msgid "Under the hood, the actual setuid programs are created in the 
@file{/run/setuid-programs} directory at system activation time.  The files in 
this directory refer to the ``real'' binaries, which are in the store."
-msgstr ""
+msgstr "Sous le capot, les programmes setuid sont créés dans le répertoire 
@file{/run/setuid-programs} au moment de l'activation du système.  Les fichiers 
dans ce répertoire se réfèrent aux « vrais » binaires, qui sont dans le dépot."
 
 #. type: cindex
 #: doc/guix.texi:21698
 #, no-wrap
 msgid "HTTPS, certificates"
-msgstr ""
+msgstr "HTTPS, certificats"
 
 #. type: cindex
 #: doc/guix.texi:21699
 #, no-wrap
 msgid "X.509 certificates"
-msgstr ""
+msgstr "certificats X.509"
 
 #. type: cindex
 #: doc/guix.texi:21700
@@ -39961,32 +39970,32 @@ msgstr "TLS"
 #. type: Plain text
 #: doc/guix.texi:21707
 msgid "Web servers available over HTTPS (that is, HTTP over the 
transport-layer security mechanism, TLS) send client programs an @dfn{X.509 
certificate} that the client can then use to @emph{authenticate} the server.  
To do that, clients verify that the server's certificate is signed by a 
so-called @dfn{certificate authority} (CA).  But to verify the CA's signature, 
clients must have first acquired the CA's certificate."
-msgstr ""
+msgstr "Les serveurs web disponibles par HTTPS (c'est-à-dire HTTP sur le 
mécanisme de la couche de transport sécurisée, TLS) envoient aux clients un 
@dfn{certificat X.509} que les clients peuvent utiliser pour 
@emph{authentifier} le serveur.  Pour cela, les clients vérifient que le 
certificat du serveur est signé par une @dfn{autorité de certification} (AC ou 
CA).  Mais pour vérifier la signature de la CA, les clients doivent d'abord 
avoir récupéré le certificat de la CA."
 
 #. type: Plain text
 #: doc/guix.texi:21711
 msgid "Web browsers such as address@hidden include their own set of CA 
certificates, such that they are able to verify CA signatures out-of-the-box."
-msgstr ""
+msgstr "Les navigateurs web comme address@hidden incluent leur propre liste de 
certificats, pour qu'ils puissent vérifier les signatures des CA directement."
 
 #. type: Plain text
 #: doc/guix.texi:21715
 msgid "However, most other programs that can talk address@hidden, 
@command{git}, @command{w3m}, etc.---need to be told where CA certificates can 
be found."
-msgstr ""
+msgstr "Cependant, la plupart des autres programmes qui peuvent parler HTTPS — 
@command{wget}, @command{git}, @command{w3m}, etc — doivent savoir où trouver 
les certificats des CA."
 
 #. type: Plain text
 #: doc/guix.texi:21722
 msgid "In GuixSD, this is done by adding a package that provides certificates 
to the @code{packages} field of the @code{operating-system} declaration 
(@pxref{operating-system Reference}).  GuixSD includes one such package, 
@code{nss-certs}, which is a set of CA certificates provided as part of 
Mozilla's Network Security Services."
-msgstr ""
+msgstr "Dans GuixSD, cela se fait en ajoutant un paquet qui fournit les 
certificats dans le champ @code{packages} de la déclaration 
@code{operating-system} (@pxref{operating-system Reference}).  GuixSD inclut 
l'un de ces paquets, @code{nss-certs}, qui est un ensemble de certificats de CA 
fourni par les services de sécurité réseau de Mozilla (nss)."
 
 #. type: Plain text
 #: doc/guix.texi:21727
 msgid "Note that it is @emph{not} part of @var{%base-packages}, so you need to 
explicitly add it.  The @file{/etc/ssl/certs} directory, which is where most 
applications and libraries look for certificates by default, points to the 
certificates installed globally."
-msgstr ""
+msgstr "Remarquez qu'il ne fait @emph{pas} partie de @var{%base-packages}, 
donc vous devez explicitement l'ajouter.  Le répertoire @file{/etc/ssl/certs}, 
là où la plupart des applications et bibliothèques vont rechercher les 
certificats par défaut, pointe vers les certificats installés globalement."
 
 #. type: Plain text
 #: doc/guix.texi:21737
 msgid "Unprivileged users, including users of Guix on a foreign distro, can 
also install their own certificate package in their profile.  A number of 
environment variables need to be defined so that applications and libraries 
know where to find them.  Namely, the OpenSSL library honors the 
@code{SSL_CERT_DIR} and @code{SSL_CERT_FILE} variables.  Some applications add 
their own environment variables; for instance, the Git version control system 
honors the certificate bundle pointed to by  [...]
-msgstr ""
+msgstr "Les utilisateurs non privilégiés, dont les utilisateurs de Guix sur 
une distro externe, peuvent aussi installer leur propre paquet de certificats 
dans leur profil.  Un certain nombre de variables d'environnement doivent être 
définies pour que les applications et les bibliothèques puissent les trouver.  
En particulier, la bibliothèque OpenSSL honore les variables 
@code{SSL_CERT_DIR} et @code{SSL_CERT_FILE}.  Certaines applications ajoutent 
leurs propres variables, par exemple le s [...]
 
 #. type: example
 #: doc/guix.texi:21743
@@ -39997,11 +40006,15 @@ msgid ""
 "$ export 
SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
 "$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"
 msgstr ""
+"$ guix package -i nss-certs\n"
+"$ export SSL_CERT_DIR=\"$HOME/.guix-profile/etc/ssl/certs\"\n"
+"$ export 
SSL_CERT_FILE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
+"$ export GIT_SSL_CAINFO=\"$SSL_CERT_FILE\"\n"
 
 #. type: Plain text
 #: doc/guix.texi:21748
 msgid "As another example, R requires the @code{CURL_CA_BUNDLE} environment 
variable to point to a certificate bundle, so you would have to run something 
like this:"
-msgstr ""
+msgstr "Un autre exemple serait R, qui requière que la variable 
d'environnement @code{CURL_CA_BUNDLE} pointe sur le lot de certificats, donc 
vous lanceriez quelque chose comme ceci :"
 
 #. type: example
 #: doc/guix.texi:21752
@@ -40010,11 +40023,13 @@ msgid ""
 "$ guix package -i nss-certs\n"
 "$ export 
CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
 msgstr ""
+"$ guix package -i nss-certs\n"
+"$ export 
CURL_CA_BUNDLE=\"$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt\"\n"
 
 #. type: Plain text
 #: doc/guix.texi:21756
 msgid "For other applications you may want to look up the required environment 
variable in the relevant documentation."
-msgstr ""
+msgstr "Pour d'autres applications vous pourriez avoir besoin de chercher la 
variable d'environnement requise dans leur documentation."
 
 #. type: cindex
 #: doc/guix.texi:21761
@@ -40031,12 +40046,12 @@ msgstr "NSS"
 #. type: Plain text
 #: doc/guix.texi:21771
 msgid "The @code{(gnu system nss)} module provides bindings to the 
configuration file of the libc @dfn{name service switch} or @dfn{NSS} 
(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}).  
In a nutshell, the NSS is a mechanism that allows libc to be extended with new 
``name'' lookup methods for system databases, which includes host names, 
service names, user accounts, and more (@pxref{Name Service Switch, System 
Databases and Name Service Switch,, libc, The GNU [...]
-msgstr ""
+msgstr "Le module @code{(gnu system nss)} fournit des liaisons pour le fichier 
de configuration du @dfn{name service switch} ou @dfn{NSS} de la libc 
(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}).  
En résumé, NSS est un mécanisme qui permet à la libc d'être étendue avec de 
nouvelles méthodes de résolution de « noms » dans les bases de données du 
système, comme les noms d'hôtes, les noms des services, les comptes 
utilisateurs et bien plus (@pxref{Name Service [...]
 
 #. type: Plain text
 #: doc/guix.texi:21778
 msgid "The NSS configuration specifies, for each system database, which lookup 
method is to be used, and how the various methods are chained together---for 
instance, under which circumstances NSS should try the next method in the list. 
 The NSS configuration is given in the @code{name-service-switch} field of 
@code{operating-system} declarations (@pxref{operating-system Reference, 
@code{name-service-switch}})."
-msgstr ""
+msgstr "La configuration de NSS spécifie, pour chaque base de données du 
système, quelle méthode de résolution utiliser, et comment les diverses 
méthodes sont enchaînées — par exemple, sous certaines circonstances, NSS 
devrait essayer la méthode suivante de la liste.  La configuration de NSS est 
donnée dans le champ @code{name-service-switch} de la déclaration 
@code{operating-system} (@pxref{operating-system Reference, 
@code{name-service-switch}})."
 
 #. type: cindex
 #: doc/guix.texi:21779
@@ -40048,12 +40063,12 @@ msgstr "nss-mdns"
 #: doc/guix.texi:21780
 #, no-wrap
 msgid ".local, host name lookup"
-msgstr ""
+msgstr ".local, résolution de nom d'hôte"
 
 #. type: Plain text
 #: doc/guix.texi:21785
 msgid "As an example, the declaration below configures the NSS to use the 
@uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} back-end}, 
which supports host name lookups over multicast DNS (mDNS)  for host names 
ending in @code{.local}:"
-msgstr ""
+msgstr "Par exemple, la déclation ci-dessous configure NSS pour utiliser le 
@uref{http://0pointer.de/lennart/projects/nss-mdns/, moteur @code{nss-mdns}}, 
qui supporte la résolution de nom d'hôte sur le DNS multicast (mDNS) pour les 
noms d'hôtes terminant par @code{.local} :"
 
 #. type: example
 #: doc/guix.texi:21789
@@ -40077,6 +40092,11 @@ msgid ""
 "                  (name \"mdns_minimal\")\n"
 "\n"
 msgstr ""
+"                ;; Si ce qui précède n'a pas fonctionné, essayer\n"
+"                ;; avec « mdns_minimal ».\n"
+"                (name-service\n"
+"                  (name \"mdns_minimal\")\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:21800
@@ -40089,6 +40109,12 @@ msgid ""
 "                             (not-found => return))))\n"
 "\n"
 msgstr ""
+"                  ;; « mdns_minimal » fait autorité pour\n"
+"                  ;; « .local ».  Lorsqu'il renvoie « pas trouvé »,\n"
+"                  ;; inutile d'essayer la méthode suivante.\n"
+"                  (reaction (lookup-specification\n"
+"                             (not-found => return))))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:21804
@@ -40099,6 +40125,10 @@ msgid ""
 "                  (name \"dns\"))\n"
 "\n"
 msgstr ""
+"                ;; Puis revenir sur DNS.\n"
+"                (name-service\n"
+"                  (name \"dns\"))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:21808
@@ -40108,21 +40138,24 @@ msgid ""
 "                (name-service\n"
 "                  (name \"mdns\")))))\n"
 msgstr ""
+"                ;; Enfin, essayer avec « mdns complet ».\n"
+"                (name-service\n"
+"                  (name \"mdns\")))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:21813
 msgid "Do not worry: the @code{%mdns-host-lookup-nss} variable (see below)  
contains this configuration, so you will not have to type it if all you want is 
to have @code{.local} host lookup working."
-msgstr ""
+msgstr "Ne vous inquiétez pas : la variable @code{%mdns-host-lookup-nss} (voir 
plus bas) contient cette configuration, donc vous n'avez pas besoin de tout 
taper si vous voulez simplement que la résolution de nom en @code{.local} 
fonctionne."
 
 #. type: Plain text
 #: doc/guix.texi:21821
 msgid "Note that, in this case, in addition to setting the 
@code{name-service-switch} of the @code{operating-system} declaration, you also 
need to use @code{avahi-service} (@pxref{Networking Services, 
@code{avahi-service}}), or @var{%desktop-services}, which includes it 
(@pxref{Desktop Services}).  Doing this makes @code{nss-mdns} accessible to the 
name service cache daemon (@pxref{Base Services, @code{nscd-service}})."
-msgstr ""
+msgstr "Remarquez que dans ce cas, en plus de mettre en place le 
@code{name-service-switch} de la déclaration @code{operating-system}, vous 
devez aussi utiliser @code{avahi-service} (@pxref{Networking Services, 
@code{avahi-service}}), ou @var{%desktop-services} qui l'inclut (@pxref{Desktop 
Services}).  Cela rend @code{nss-mdns} accessible au démon de cache du service 
de nom (@pxref{Base Services, @code{nscd-service})."
 
 #. type: Plain text
 #: doc/guix.texi:21824
 msgid "For convenience, the following variables provide typical NSS 
configurations."
-msgstr ""
+msgstr "Pour votre confort, les variables suivantes contiennent des 
configurations NSS typiques."
 
 #. type: defvr
 #: doc/guix.texi:21825
@@ -40133,7 +40166,7 @@ msgstr "{Variable Scheme} %default-nss"
 #. type: defvr
 #: doc/guix.texi:21828
 msgid "This is the default name service switch configuration, a 
@code{name-service-switch} object."
-msgstr ""
+msgstr "C'est la configuration NSS par défaut, un objet 
@code{name-service-switch}."
 
 #. type: defvr
 #: doc/guix.texi:21830
@@ -40144,12 +40177,12 @@ msgstr "{Variable Scheme} %mdns-host-lookup-nss"
 #. type: defvr
 #: doc/guix.texi:21833
 msgid "This is the name service switch configuration with support for host 
name lookup over multicast DNS (mDNS) for host names ending in @code{.local}."
-msgstr ""
+msgstr "C'est la configuration NSS avec le support de la résolution de noms 
sur DNS multicast (mDNS) pour les noms d'hôtes en @code{.local}."
 
 #. type: Plain text
 #: doc/guix.texi:21843
 msgid "The reference for name service switch configuration is given below.  It 
is a direct mapping of the configuration file format of the C library , so 
please refer to the C library manual for more information (@pxref{NSS 
Configuration File,,, libc, The GNU C Library Reference Manual}).  Compared to 
the configuration file format of libc NSS, it has the advantage not only of 
adding this warm parenthetic feel that we like, but also static checks: you 
will know about syntax errors and typ [...]
-msgstr ""
+msgstr "La référence pour la configuration de NSS est donnée ci-dessous.  
C'est une correspondance directe avec le format de fichier de la bibliothèque 
C, donc référez-vous au manuel de la bibliothèque C pour plus d'informations 
(@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}).  
Comparé au format de fichier de configuration de NSS, cette configuration a 
l'avantage non seulement d'ajouter ces bonnes vieilles parenthèses, mais aussi 
des vérifications statiques ; [...]
 
 #. type: deftp
 #: doc/guix.texi:21844
@@ -40160,7 +40193,7 @@ msgstr "{Type de données} name-service-switch"
 #. type: deftp
 #: doc/guix.texi:21849
 msgid "This is the data type representation the configuration of libc's name 
service switch (NSS).  Each field below represents one of the supported system 
databases."
-msgstr ""
+msgstr "C'est le type de données représentant la configuration de NSS.  Chaque 
champ ci-dessous représente l'un des système de bases de données supportés."
 
 #. type: item
 #: doc/guix.texi:21851
@@ -40225,7 +40258,7 @@ msgstr "shadow"
 #. type: table
 #: doc/guix.texi:21866
 msgid "The system databases handled by the NSS.  Each of these fields must be 
a list of @code{<name-service>} objects (see below)."
-msgstr ""
+msgstr "Les bases de données du système gérées par NSS.  Chaque champ doit 
être une liste d'objets @code{<name-service>} (voir plus bas)."
 
 #. type: deftp
 #: doc/guix.texi:21869
@@ -40236,28 +40269,28 @@ msgstr "{Type de données} name-service"
 #. type: deftp
 #: doc/guix.texi:21873
 msgid "This is the data type representing an actual name service and the 
associated lookup action."
-msgstr ""
+msgstr "C'est le type de données représentant un service de noms et l'action 
de résolution associée."
 
 #. type: table
 #: doc/guix.texi:21878
 msgid "A string denoting the name service (@pxref{Services in the NSS 
configuration,,, libc, The GNU C Library Reference Manual})."
-msgstr ""
+msgstr "Une chaîne dénotant le service de nom (@pxref{Services in the NSS 
configuration,,, libc, The GNU C Library Reference Manual})."
 
 #. type: table
 #: doc/guix.texi:21883
 msgid "Note that name services listed here must be visible to nscd.  This is 
achieved by passing the @code{#:name-services} argument to @code{nscd-service} 
the list of packages providing the needed name services (@pxref{Base Services, 
@code{nscd-service}})."
-msgstr ""
+msgstr "Remarquez que les services de dnoms listés ici doivent être visibles à 
nscd.  Cela se fait en passant la liste des paquets fournissant les services de 
noms à l'argument @code{#:name-services} de @code{nscd-service} (@pxref{Base 
Services, @code{nscd-service}})."
 
 #. type: item
 #: doc/guix.texi:21884
 #, no-wrap
 msgid "reaction"
-msgstr ""
+msgstr "reaction"
 
 #. type: table
 #: doc/guix.texi:21888
 msgid "An action specified using the @code{lookup-specification} macro 
(@pxref{Actions in the NSS configuration,,, libc, The GNU C Library Reference 
Manual}).  For example:"
-msgstr ""
+msgstr "Une action spécifiée par la macro @code{lookup-specification} 
(@pxref{Actions in the NSS configuration,,, libc, The GNU C Library Reference 
Manual}).  Par exemple :"
 
 #. type: example
 #: doc/guix.texi:21892
@@ -40266,16 +40299,18 @@ msgid ""
 "(lookup-specification (unavailable => continue)\n"
 "                      (success => return))\n"
 msgstr ""
+"(lookup-specification (unavailable => continue)\n"
+"                      (success => return))\n"
 
 #. type: Plain text
 #: doc/guix.texi:21906
 msgid "For bootstrapping purposes, the Linux-Libre kernel is passed an 
@dfn{initial RAM disk}, or @dfn{initrd}.  An initrd contains a temporary root 
file system as well as an initialization script.  The latter is responsible for 
mounting the real root file system, and for loading any kernel modules that may 
be needed to achieve that."
-msgstr ""
+msgstr "Pour le démarrage, on passe au noyau Linux-Libre un @dfn{disque de RAM 
initial} ou @dfn{initrd}.  Un initrd contient un système de fichier racine 
temporaire ainsi qu'un script d'initialisation.  Ce dernier est responsable du 
montage du vrai système de fichier racine et du chargement des modules du noyau 
qui peuvent être nécessaires à cette tâche."
 
 #. type: Plain text
 #: doc/guix.texi:21915
 msgid "The @code{initrd-modules} field of an @code{operating-system} 
declaration allows you to specify Linux-libre kernel modules that must be 
available in the initrd.  In particular, this is where you would list modules 
needed to actually drive the hard disk where your root partition is---although 
the default value of @code{initrd-modules} should cover most use cases.  For 
example, assuming you need the @code{megaraid_sas} module in addition to the 
default modules to be able to access y [...]
-msgstr ""
+msgstr "Le champ @code{initrd-modules} d'une déclaration 
@code{operating-system} vous permet de spécifier les modules du noyau 
Linux-Libre qui doivent être disponibles dans l'initrd.  En particulier, c'est 
là où vous devez lister les modules requis pour effectivement piloter le disque 
dur où se trouve la partition racine — bien que la valeur par défaut de 
@code{initrd-modules} couvre la plupart des cas.  Par exemple, en supposant que 
vous ayez besoin du module @code{megaraid_sas} en plus [...]
 
 #. type: example
 #: doc/guix.texi:21920
@@ -40285,6 +40320,9 @@ msgid ""
 "  ;; @dots{}\n"
 "  (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
 msgstr ""
+"(operating-system\n"
+"  ;; @dots{}\n"
+"  (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
 
 #. type: defvr
 #: doc/guix.texi:21922
@@ -40295,17 +40333,17 @@ msgstr "{Variable Scheme} %base-initrd-modules"
 #. type: defvr
 #: doc/guix.texi:21924
 msgid "This is the list of kernel modules included in the initrd by default."
-msgstr ""
+msgstr "C'est la liste des modules du noyau inclus dans l'initrd par défaut."
 
 #. type: Plain text
 #: doc/guix.texi:21932
 msgid "Furthermore, if you need lower-level customization, the @code{initrd} 
field of an @code{operating-system} declaration allows you to specify which 
initrd you would like to use.  The @code{(gnu system linux-initrd)} module 
provides three ways to build an initrd: the high-level @code{base-initrd} 
procedure and the low-level @code{raw-initrd} and @code{expression->initrd} 
procedures."
-msgstr ""
+msgstr "En plus, si vous avez besoin de paramétrages plus bas niveau, le champ 
@code{initrd} d'une déclaration @code{operating-system} vous permet de 
spécifier quel initrd vous voudriez utiliser.  Le module @code{(gnu system 
linux-initrd)} fournit trois manières de construire un initrd : la procédure 
@code{base-initrd} de haut niveau et les procédures @code{raw-initrd} et 
@code{expression->initrd} de bas niveau."
 
 #. type: Plain text
 #: doc/guix.texi:21937
 msgid "The @code{base-initrd} procedure is intended to cover most common uses. 
 For example, if you want to add a bunch of kernel modules to be loaded at boot 
time, you can define the @code{initrd} field of the operating system 
declaration like this:"
-msgstr ""
+msgstr "La procédure @code{base-initrd} est conçue pour couvrir la plupart des 
usages courants.  Par exemple, si vous voulez ajouter des modules du noyau à 
charger au démarrage, vous pouvez définir le champ @code{initrd} de votre 
déclaration de système d'exploitation ainsi :"
 
 #. type: example
 #: doc/guix.texi:21945
@@ -40318,92 +40356,98 @@ msgid ""
 "                 #:qemu-networking? #t\n"
 "                 rest)))\n"
 msgstr ""
+"(initrd (lambda (file-systems . rest)\n"
+"          ;; Crée un initrd standard mais paramètre le réseau\n"
+"          ;; avec les paramètres que QEMU attend par défaut.\n"
+"          (apply base-initrd file-systems\n"
+"                 #:qemu-networking? #t\n"
+"                 rest)))\n"
 
 #. type: Plain text
 #: doc/guix.texi:21950
 msgid "The @code{base-initrd} procedure also handles common use cases that 
involves using the system as a QEMU guest, or as a ``live'' system with 
volatile root file system."
-msgstr ""
+msgstr "La procédure @code{base-initrd} gère aussi les cas d'utilisation 
courants qui concernent l'utilisation du système comme client QEMU, ou comme un 
système « live » avec un système de fichier racine volatile."
 
 #. type: Plain text
 #: doc/guix.texi:21957
 msgid "The @code{base-initrd} procedure is built from @code{raw-initrd} 
procedure.  Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything 
high-level, such as trying to guess which kernel modules and packages should be 
included to the initrd. An example use of @code{raw-initrd} is when a user has 
a custom Linux kernel configuration and default kernel modules included by 
@code{base-initrd} are not available."
-msgstr ""
+msgstr "La procédure @code{base-initrd} est construite à partir de la 
procédure @code{raw-initrd}.  Contrairement à @code{base-initrd}, 
@code{raw-initrd} ne fait rien à haut-niveau, comme essayer de deviner les 
modules du noyau et les paquets qui devraient être inclus dans l'initrd.  Un 
exemple d'utilisation de @code{raw-initrd} serait si un utilisateur a une 
configuration personnalisée du noyau Linux et que les modules du noyau inclus 
par défaut par @code{base-initrd} ne sont pas disponibles."
 
 #. type: Plain text
 #: doc/guix.texi:21962
 msgid "The initial RAM disk produced by @code{base-initrd} or 
@code{raw-initrd} honors several options passed on the Linux kernel command 
line (that is, arguments passed @i{via} the @code{linux} command of GRUB, or 
the @code{-append} option of QEMU), notably:"
-msgstr ""
+msgstr "Le disque de RAM initial produit par @code{base-initrd} ou 
@code{raw-initrd} honore plusieurs options passées par la ligne de commande du 
noyau Linux (c'est-à-dire les arguments passés via la commande @code{linux} de 
GRUB ou l'option @code{-append} de QEMU), notamment :"
 
 #. type: item
 #: doc/guix.texi:21964
 #, no-wrap
 msgid "address@hidden"
-msgstr ""
+msgstr "address@hidden"
 
 #. type: table
 #: doc/guix.texi:21967
 msgid "Tell the initial RAM disk to load @var{boot}, a file containing a 
Scheme program, once it has mounted the root file system."
-msgstr ""
+msgstr "Dit au disque de RAM initial de charger @var{boot}, un fichier 
contenant un programme Scheme, une fois qu'il a monté le système de fichier 
racine."
 
 #. type: table
 #: doc/guix.texi:21971
 msgid "GuixSD uses this option to yield control to a boot program that runs 
the service activation programs and then spawns the address@hidden, the 
initialization system."
-msgstr ""
+msgstr "GuixSD utilise cette option pour donner le contrôle à un programme de 
démarrage qui lance les programmes d'activation de services puis démarre le 
address@hidden, le système d'initialisation."
 
 #. type: item
 #: doc/guix.texi:21972
 #, no-wrap
 msgid "address@hidden"
-msgstr ""
+msgstr "address@hidden"
 
 #. type: table
 #: doc/guix.texi:21976
 msgid "Mount @var{root} as the root file system.  @var{root} can be a device 
name like @code{/dev/sda1}, a file system label, or a file system UUID."
-msgstr ""
+msgstr "Monte @var{root} comme système de fichier racine.  @var{root} peut 
être un nom de périphérique comme @code{/dev/sda1}, une étiquette de système de 
fichiers ou un UUID de système de fichiers."
 
 #. type: table
 #: doc/guix.texi:21980
 msgid "Have @file{/run/booted-system} and @file{/run/current-system} point to 
@var{system}."
-msgstr ""
+msgstr "S'assure que @file{/run/booted-system} et @file{/run/current-system} 
pointent vers @var{system}."
 
 #. type: item
 #: doc/guix.texi:21981
 #, no-wrap
 msgid "address@hidden@dots{}"
-msgstr ""
+msgstr "address@hidden@dots{}"
 
 #. type: cindex
 #: doc/guix.texi:21982
 #, no-wrap
 msgid "module, black-listing"
-msgstr ""
+msgstr "module, black-list"
 
 #. type: cindex
 #: doc/guix.texi:21983
 #, no-wrap
 msgid "black list, of kernel modules"
-msgstr ""
+msgstr "black-list, des modules du noyau"
 
 #. type: table
 #: doc/guix.texi:21988
 msgid "Instruct the initial RAM disk as well as the @command{modprobe} command 
(from the kmod package) to refuse to load @var{modules}.  @var{modules} must be 
a comma-separated list of module names---e.g., @code{usbkbd,9pnet}."
-msgstr ""
+msgstr "Dit au disque de RAM initial ainsi qu'à la commande @command{modprobe} 
(du paquet kmod) de refuser de charger @var{modules}.  @var{modules} doit être 
une liste de noms de modules séparés par des virgules — p.@: ex.@: 
@code{usbkbd,9pnet}."
 
 #. type: item
 #: doc/guix.texi:21989
 #, no-wrap
 msgid "--repl"
-msgstr ""
+msgstr "--repl"
 
 #. type: table
 #: doc/guix.texi:21995
 msgid "Start a read-eval-print loop (REPL) from the initial RAM disk before it 
tries to load kernel modules and to mount the root file system.  Our marketing 
team calls it @dfn{boot-to-Guile}.  The Schemer in you will love it.  
@xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, for more 
information on Guile's REPL."
-msgstr ""
+msgstr "Démarre une boucle lecture-évaluation-affichage (REPL) depuis le 
disque de RAM initial avant qu'il n'essaye de charger les modules du noyau et 
de monter le système de fichiers racine.  Notre équipe commerciale appelle cela 
@dfn{boot-to-Guile}.  Le Schemeur en vous va adorer.  @xref{Using Guile 
Interactively,,, guile, GNU Guile Reference Manual}, pour plus d'information 
sur le REPL de Guile."
 
 #. type: Plain text
 #: doc/guix.texi:22001
 msgid "Now that you know all the features that initial RAM disks produced by 
@code{base-initrd} and @code{raw-initrd} provide, here is how to use it and 
customize it further."
-msgstr ""
+msgstr "Maintenant que vous connaissez toutes les fonctionnalités des disques 
de RAM initiaux produits par @code{base-initrd} et @code{raw-initrd}, voici 
comment l'utiliser le personnalisé plus avant."
 
 #. type: deffn
 #: doc/guix.texi:22004
@@ -40415,16 +40459,19 @@ msgstr "{Procédure Scheme} raw-initrd 
@var{file-systems} @"
 #: doc/guix.texi:22016
 msgid "[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] 
[#:qemu-networking? #f] [#:volatile-root? #f] Return a derivation that builds a 
raw initrd.  @var{file-systems} is a list of file systems to be mounted by the 
initrd, possibly in addition to the root file system specified on the kernel 
command line via @code{--root}.  @var{linux-modules} is a list of kernel 
modules to be loaded at boot time.  @var{mapped-devices} is a list of device 
mappings to realize before @ [...]
 msgstr ""
+"[#:linux-modules '()] [#:mapped-devices '()] @\n"
+"[#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f]\n"
+"Renvoie une dérivation qui construit un initrd.  @var{file-systems} est une 
liste de systèmes de fichiers à monter par l'initrd, éventuellement en plus du 
système de fichier racine spécifié sur la ligne de commande du noyau via 
@code{--root}.  @var{linux-modules} est une liste de modules du noyau à charger 
au démarrage.  @var{mapped-devices} est une liste de correspondances de 
périphériques à réaliser avant que les @var{file-systems} ne soient montés 
(@pxref{Mapped Devices}).  @var{help [...]
 
 #. type: deffn
 #: doc/guix.texi:22020
 msgid "When @var{qemu-networking?} is true, set up networking with the 
standard QEMU parameters.  When @var{virtio?} is true, load additional modules 
so that the initrd can be used as a QEMU guest with para-virtualized I/O 
drivers."
-msgstr ""
+msgstr "Lorsque @var{qemu-networking?} est vrai, paramètre le réseau avec les 
paramètres QEMU standards.  Lorsque @var{virtio?} est vrai, charge des modules 
supplémentaires pour que l'initrd puisse être utilisé comme client QEMU avec 
les pilotes I/O para-virtualisés."
 
 #. type: deffn
 #: doc/guix.texi:22023
 msgid "When @var{volatile-root?} is true, the root file system is writable but 
any changes to it are lost."
-msgstr ""
+msgstr "Lorsque @var{volatile-root?} est vrai, le système de fichier racine 
est inscriptible mais tous les changements seront perdus."
 
 #. type: deffn
 #: doc/guix.texi:22025
@@ -40436,21 +40483,24 @@ msgstr "{Procédure Scheme} base-initrd 
@var{file-systems} @"
 #: doc/guix.texi:22033
 msgid "[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ 
[#:linux-modules '()] Return as a file-like object a generic initrd, with 
kernel modules taken from @var{linux}.  @var{file-systems} is a list of 
file-systems to be mounted by the initrd, possibly in addition to the root file 
system specified on the kernel command line via @code{--root}.  
@var{mapped-devices} is a list of device mappings to realize before 
@var{file-systems} are mounted."
 msgstr ""
+"[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f] @\n"
+"[#:linux-modules '()]\n"
+"Renvoie un objet simili-fichier contenant un initrd générique, avec les 
modules du noyau de @var{linux}.  @var{file-systems} est une liste de systèmes 
de fichiers à monter par l'initrd, éventuellement en plus du système de 
fichiers racine spécifié sur la ligne de commande du noyau via @code{--root}.  
@var{mapped-devices} est une liste de correspondances de périphériques à 
réaliser avant de monter les @var{file-systems}."
 
 #. type: deffn
 #: doc/guix.texi:22035
 msgid "@var{qemu-networking?} and @var{volatile-root?} behaves as in 
@code{raw-initrd}."
-msgstr ""
+msgstr "@var{qemu-networking?} et @var{volatile-root?} se comportent comme 
pour @code{raw-initrd}."
 
 #. type: deffn
 #: doc/guix.texi:22040
 msgid "The initrd is automatically populated with all the kernel modules 
necessary for @var{file-systems} and for the given options.  Additional kernel 
modules can be listed in @var{linux-modules}.  They will be added to the 
initrd, and loaded at boot time in the order in which they appear."
-msgstr ""
+msgstr "L'initrd est automatiquement remplie avec tous les modules du noyau 
requis pour @var{file-systems} et pour les options données.  On peut lister des 
modules supplémentaires dans @var{linux-modules}.  Ils seront ajoutés à 
l'initrd et chargés au démarrage dans l'ordre dans lequel ils apparaissent."
 
 #. type: Plain text
 #: doc/guix.texi:22047
 msgid "Needless to say, the initrds we produce and use embed a 
statically-linked Guile, and the initialization program is a Guile program.  
That gives a lot of flexibility.  The @code{expression->initrd} procedure 
builds such an initrd, given the program to run in that initrd."
-msgstr ""
+msgstr "Inutile de le dire, les initrds que nous produisons et utilisons 
incluent une version de Guile liée statiquement, et le programme 
d'initialisation est un programme Guile.  Cela donne beaucoup de flexibilité.  
La procédure @code{expression->initrd} construit un tel initrd, étant donné le 
programme à lancer dans cet initrd."
 
 #. type: deffn
 #: doc/guix.texi:22048
@@ -40462,22 +40512,24 @@ msgstr "{Procédure Scheme} expression->initrd 
@var{exp} @"
 #: doc/guix.texi:22054
 msgid "[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Return as a 
file-like object a Linux initrd (a gzipped cpio archive)  containing 
@var{guile} and that evaluates @var{exp}, a G-expression, upon booting.  All 
the derivations referenced by @var{exp} are automatically copied to the initrd."
 msgstr ""
+"[#:guile %guile-static-stripped] [#:name \"guile-initrd\"]\n"
+"Renvoie un objet simili-fichier contenant un initrd Linux (une archive cpio 
compressée avec gzip) contenant @var{guile} et qui évalue @var{exp}, une 
G-expression, au démarrage.  Toutes les dérivations référencées par @var{exp} 
sont automatiquement copiées dans l'initrd."
 
 #. type: cindex
 #: doc/guix.texi:22060
 #, no-wrap
 msgid "boot loader"
-msgstr ""
+msgstr "chargeur d'amorçage"
 
 #. type: Plain text
 #: doc/guix.texi:22067
 msgid "The operating system supports multiple bootloaders.  The bootloader is 
configured using @code{bootloader-configuration} declaration.  All the fields 
of this structure are bootloader agnostic except for one field, 
@code{bootloader} that indicates the bootloader to be configured and installed."
-msgstr ""
+msgstr "Le système d'exploitation supporte plusieurs chargeurs d'amorçage.  La 
configuration du chargeur d'amorçage se fait avec la déclaration 
@code{bootloader-configuration}.  Tous les champs de cette structure sont 
indépendants du chargeur d'amorçage sauf un, @code{bootloader} qui indique le 
chargeur d'amorçage à configurer et à installer."
 
 #. type: Plain text
 #: doc/guix.texi:22072
 msgid "Some of the bootloaders do not honor every field of 
@code{bootloader-configuration}.  For instance, the extlinux bootloader does 
not support themes and thus ignores the @code{theme} field."
-msgstr ""
+msgstr "Certains chargeurs d'amorçage ne respectent pas tous les champs de 
@code{bootloader-configuration}.  Par exemple, le chargeur d'amorçage extlinux 
ne supporte pas les thèmes et ignore donc le champ @code{theme}."
 
 #. type: deftp
 #: doc/guix.texi:22073
@@ -40488,40 +40540,40 @@ msgstr "{Type de données} bootloader-configuration"
 #. type: deftp
 #: doc/guix.texi:22075
 msgid "The type of a bootloader configuration declaration."
-msgstr ""
+msgstr "Le type d'une déclaration de configuration de chargeur d'amorçage."
 
 #. type: cindex
 #: doc/guix.texi:22079
 #, no-wrap
 msgid "EFI, bootloader"
-msgstr ""
+msgstr "EFI, chargeur d'amorçage"
 
 #. type: cindex
 #: doc/guix.texi:22080
 #, no-wrap
 msgid "UEFI, bootloader"
-msgstr ""
+msgstr "UEFI, chargeur d'amorçage"
 
 #. type: cindex
 #: doc/guix.texi:22081
 #, no-wrap
 msgid "BIOS, bootloader"
-msgstr ""
+msgstr "BIOS, chargeur d'amorçage"
 
 #. type: table
 #: doc/guix.texi:22085
 msgid "The bootloader to use, as a @code{bootloader} object. For now 
@code{grub-bootloader}, @code{grub-efi-bootloader}, @code{extlinux-bootloader} 
and @code{u-boot-bootloader} are supported."
-msgstr ""
+msgstr "Le chargeur d'amorçage à utiliser, comme objet @code{bootloader}.  
Pour l'instant @code{grub-bootloader}, @code{grub-efi-bootloader}, 
@code{extlinux-bootloader} et @code{u-boot-bootloader} sont supportés."
 
 #. type: table
 #: doc/guix.texi:22091
 msgid "@code{grub-efi-bootloader} allows to boot on modern systems using the 
@dfn{Unified Extensible Firmware Interface} (UEFI).  This is what you should 
use if the installation image contains a @file{/sys/firmware/efi} directory 
when you boot it on your system."
-msgstr ""
+msgstr "@code{grub-efi-bootloader} permet de démarrer sur un système moderne 
qui utilise l'UEFI (@dfn{Unified Extensible Firmware Interface}).  C'est ce que 
vous devriez utiliser si l'image d'installation contient un répertoire 
@file{/sys/firmware/efi} lorsque vous démarrez dessus sur votre machine."
 
 #. type: table
 #: doc/guix.texi:22095
 msgid "@code{grub-bootloader} allows you to boot in particular Intel-based 
machines in ``legacy'' BIOS mode."
-msgstr ""
+msgstr "@code{grub-bootloader} vous permet de démarrer en particulier sur des 
machines Intel en mode BIOS « legacy »."
 
 #. type: cindex
 #: doc/guix.texi:22096
@@ -40538,17 +40590,17 @@ msgstr "AArch64, chargeurs d'amorçage"
 #. type: table
 #: doc/guix.texi:22102
 msgid "Available bootloaders are described in @code{(gnu bootloader @dots{})} 
modules.  In particular, @code{(gnu bootloader u-boot)} contains definitions of 
bootloaders for a wide range of ARM and AArch64 systems, using the 
@uref{http://www.denx.de/wiki/U-Boot/, U-Boot bootloader}."
-msgstr ""
+msgstr "Les chargeurs d'amorçage disponibles sont décrits dans les modules 
@code{(gnu bootloader @dots{})}.  En particulier, @code{(gnu bootloader 
u-boot)} contient des définitions de chargeurs d'amorçage pour une large gamme 
de systèmes ARM et AArch, à l'aide du @uref{http://www.denx.de/wiki/U-Boot/, 
chargeur d'amorçage U-Boot}"
 
 #. type: table
 #: doc/guix.texi:22106
 msgid "This is a string denoting the target onto which to install the 
bootloader."
-msgstr ""
+msgstr "C'est une chaîne qui dénote la cible sur laquelle installer le 
chargeur d'amorçage."
 
 #. type: table
 #: doc/guix.texi:22113
 msgid "The interpretation depends on the bootloader in question.  For 
@code{grub-bootloader}, for example, it should be a device name understood by 
the bootloader @command{installer} command, such as @code{/dev/sda} or 
@code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}).  For 
@code{grub-efi-bootloader}, it should be the mount point of the EFI file 
system, usually @file{/boot/efi}."
-msgstr ""
+msgstr "L'interprétation dépend du chargeur d'amorçage en question.  Pour 
@code{grub-bootloader} par exemple, cela devrait être un nom de périphérique 
compris par la commande @command{installer} du chargeur d'amorçage, comme 
@code{/dev/sda} ou @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB 
Manual}).  Pour @code{grub-efi-bootloader}, cela devrait être le point de 
montage du système de fichiers EFI, typiquement @file{/boot/efi}."
 
 #. type: item
 #: doc/guix.texi:22114
@@ -40559,7 +40611,7 @@ msgstr "@code{menu-entries} (par défaut : @code{()})"
 #. type: table
 #: doc/guix.texi:22118
 msgid "A possibly empty list of @code{menu-entry} objects (see below), 
denoting entries to appear in the bootloader menu, in addition to the current 
system entry and the entry pointing to previous system generations."
-msgstr ""
+msgstr "Une liste éventuellement vide d'objets @code{menu-entry} (voir plus 
bas), dénotant les entrées qui doivent apparaître dans le menu du chargeur 
d'amorçage, en plus de l'entrée pour le système actuel et l'entrée pointant 
vers les générations précédentes."
 
 #. type: item
 #: doc/guix.texi:22119
@@ -40570,7 +40622,7 @@ msgstr "@code{default-entry} (par défaut : @code{0})"
 #. type: table
 #: doc/guix.texi:22122
 msgid "The index of the default boot menu entry.  Index 0 is for the entry of 
the current system."
-msgstr ""
+msgstr "L'index de l'entrée du menu de démarrage par défaut.  L'index 0 
correspond au système actuel."
 
 #. type: item
 #: doc/guix.texi:22123
@@ -40581,7 +40633,7 @@ msgstr "@code{timeout} (par défaut : @code{5})"
 #. type: table
 #: doc/guix.texi:22126
 msgid "The number of seconds to wait for keyboard input before booting.  Set 
to 0 to boot immediately, and to -1 to wait indefinitely."
-msgstr ""
+msgstr "Le nombre de secondes à attendre une entrée clavier avant de démarrer. 
 Indiquez 0 pour démarre immédiatement, et -1 pour attendre indéfiniment."
 
 #. type: item
 #: doc/guix.texi:22127
@@ -40592,7 +40644,7 @@ msgstr "@code{theme} (par défaut : @var{#f})"
 #. type: table
 #: doc/guix.texi:22131
 msgid "The bootloader theme object describing the theme to use.  If no theme 
is provided, some bootloaders might use a default theme, that's true for GRUB."
-msgstr ""
+msgstr "L'objet de thème du chargeur d'amorçage décrivant le thème utilisé.  
Si aucun thème n'est fournit, certains chargeurs d'amorçage peuvent utiliser un 
thème par défaut, c'est le cas de GRUB."
 
 #. type: item
 #: doc/guix.texi:22132
@@ -40603,7 +40655,7 @@ msgstr "@code{terminal-outputs} (par défaut : 
@code{'gfxterm})"
 #. type: table
 #: doc/guix.texi:22139
 msgid "The output terminals used for the bootloader boot menu, as a list of 
symbols.  GRUB accepts the values: @code{console}, @code{serial}, 
@address@hidden@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, 
@code{morse}, and @code{pkmodem}.  This field corresponds to the GRUB variable 
@code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,, grub,GNU GRUB 
manual})."
-msgstr ""
+msgstr "Les terminaux de sortie utilisés par le menu de démarrage du chargeur 
d'amorçage, en tant que liste de symboles.  GRUB accepte les valeurs 
@code{console}, @code{serial}, @address@hidden@}}, @code{gfxterm}, 
@code{vga_text}, @code{mda_text}, @code{morse} et @code{pkmodem}.  Ce champ 
correspond à la variable GRUB @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple 
configuration,,, grub,GNU GRUB manual})."
 
 #. type: item
 #: doc/guix.texi:22140
@@ -40614,7 +40666,7 @@ msgstr "@code{terminal-inputs} (par défaut : 
@code{'()})"
 #. type: table
 #: doc/guix.texi:22148
 msgid "The input terminals used for the bootloader boot menu, as a list of 
symbols.  For GRUB, the default is the native platform terminal as determined 
at run-time.  GRUB accepts the values: @code{console}, @code{serial}, 
@address@hidden@}}, @code{at_keyboard}, and @code{usb_keyboard}.  This field 
corresponds to the GRUB variable @code{GRUB_TERMINAL_INPUT} (@pxref{Simple 
configuration,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "Les terminaux d'entrée utilisés par le menu de démarrage du chargeur 
d'amorçage, en tant que liste de symboles.  Pour GRUB, la valeur par défaut est 
le terminal natif de la plate-forme déterminé à l'exécution.  GRUB accepte les 
valeurs @code{console}, @code{serial}, @address@hidden@}}, @code{at_keyboard} 
et @code{usb_keyboard}.  Ce champ correspond à la variable GRUB 
@code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB 
manual})."
 
 #. type: item
 #: doc/guix.texi:22149
@@ -40625,7 +40677,7 @@ msgstr "@code{serial-unit} (par défaut : @code{#f})"
 #. type: table
 #: doc/guix.texi:22153
 msgid "The serial unit used by the bootloader, as an integer from 0 to 3.  For 
GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds to 
COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "L'unitié série utilisée par le chargeur d'amorçage, en tant qu'entier 
entre 0 et 3.  Pour GRUB, il est choisi à l'exécution ; actuellement GRUB 
choisi 0, ce qui correspond à COM1 (@pxref{Serial terminal,,, grub,GNU GRUB 
manual})."
 
 #. type: item
 #: doc/guix.texi:22154
@@ -40636,24 +40688,24 @@ msgstr "@code{serial-speed} (par défaut : @code{#f})"
 #. type: table
 #: doc/guix.texi:22158
 msgid "The speed of the serial interface, as an integer.  For GRUB, the 
default value is chosen at run-time; currently GRUB chooses address@hidden 
(@pxref{Serial terminal,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "La vitesse de l'interface série, en tant qu'entier.  Pour GRUB, la 
valeur par défaut est choisie à l'exécution ; actuellement GRUB choisi 
address@hidden (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
 
 #. type: cindex
 #: doc/guix.texi:22162
 #, no-wrap
 msgid "dual boot"
-msgstr ""
+msgstr "dual boot"
 
 #. type: cindex
 #: doc/guix.texi:22163
 #, no-wrap
 msgid "boot menu"
-msgstr ""
+msgstr "menu de démarrage"
 
 #. type: Plain text
 #: doc/guix.texi:22169
 msgid "Should you want to list additional boot menu entries @i{via} the 
@code{menu-entries} field above, you will need to create them with the 
@code{menu-entry} form.  For example, imagine you want to be able to boot 
another distro (hard to imagine!), you can define a menu entry along these 
lines:"
-msgstr ""
+msgstr "Si vous voulez lister des entrées du menu de démarrage supplémentaires 
via le champ @code{menu-entries} ci-dessus, vous devrez les créer avec la forme 
@code{menu-entry}.  Par exemple, imaginons que vous souhaitiez pouvoir démarrer 
sur une autre distro (c'est difficile à concevoir !), vous pourriez alors 
définir une entrée du menu comme ceci :"
 
 #. type: example
 #: doc/guix.texi:22176
@@ -40665,11 +40717,16 @@ msgid ""
 "  (linux-arguments '(\"root=/dev/sda2\"))\n"
 "  (initrd \"/boot/old/initrd\"))\n"
 msgstr ""
+"(menu-entry\n"
+"  (label \"L'autre distro\")\n"
+"  (linux \"/boot/old/vmlinux-2.6.32\")\n"
+"  (linux-arguments '(\"root=/dev/sda2\"))\n"
+"  (initrd \"/boot/old/initrd\"))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22179
 msgid "Details below."
-msgstr ""
+msgstr "Les détails suivent."
 
 #. type: deftp
 #: doc/guix.texi:22180
@@ -40680,51 +40737,51 @@ msgstr "{Type de données} menu-entry"
 #. type: deftp
 #: doc/guix.texi:22182
 msgid "The type of an entry in the bootloader menu."
-msgstr ""
+msgstr "Le type d'une entrée dans le menu du chargeur d'amorçage."
 
 #. type: code{#1}
 #: doc/guix.texi:22185
 #, no-wrap
 msgid "label"
-msgstr ""
+msgstr "label"
 
 #. type: table
 #: doc/guix.texi:22187
 msgid "The label to show in the menu---e.g., @code{\"GNU\"}."
-msgstr ""
+msgstr "L'étiquette à montrer dans le menu — p.@: ex.@: @code{\"GNU\"}."
 
 #. type: code{#1}
 #: doc/guix.texi:22188
 #, no-wrap
 msgid "linux"
-msgstr ""
+msgstr "linux"
 
 #. type: table
 #: doc/guix.texi:22190
 msgid "The Linux kernel image to boot, for example:"
-msgstr ""
+msgstr "L'image du noyau Linux à démarrer, par exemple :"
 
 #. type: example
 #: doc/guix.texi:22193
 #, no-wrap
 msgid "(file-append linux-libre \"/bzImage\")\n"
-msgstr ""
+msgstr "(file-append linux-libre \"/bzImage\")\n"
 
 #. type: table
 #: doc/guix.texi:22198
 msgid "For GRUB, it is also possible to specify a device explicitly in the 
file path using GRUB's device naming convention (@pxref{Naming convention,,, 
grub, GNU GRUB manual}), for example:"
-msgstr ""
+msgstr "Pour GRUB, il est aussi possible de spécifier un périphérique 
explicitement dans le chemin de fichier avec la convention de nommage de GRUB 
(@pxref{Naming convention,,, grub, GNU GRUB manual}), par exemple :"
 
 #. type: example
 #: doc/guix.texi:22201
 #, no-wrap
 msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n"
-msgstr ""
+msgstr "\"(hd0,msdos1)/boot/vmlinuz\"\n"
 
 #. type: table
 #: doc/guix.texi:22205
 msgid "If the device is specified explicitly as above, then the @code{device} 
field is ignored entirely."
-msgstr ""
+msgstr "Si le périphérique est spécifié explicitement comme au-dessus, le 
champ @code{device} est complètement ignoré."
 
 #. type: item
 #: doc/guix.texi:22206
@@ -40735,12 +40792,12 @@ msgstr "@code{linux-arguments} (par défaut : 
@code{()})"
 #. type: table
 #: doc/guix.texi:22209
 msgid "The list of extra Linux kernel command-line arguments---e.g., 
@code{(\"console=ttyS0\")}."
-msgstr ""
+msgstr "La liste des arguments de la ligne de commande du noyau 
supplémentaires — p.@: ex.@: @code{(\"console=ttyS0\")}."
 
 #. type: table
 #: doc/guix.texi:22213
 msgid "A G-Expression or string denoting the file name of the initial RAM disk 
to use (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Une G-expression ou une chaîne dénotant le nom de fichier du disque de 
RAM initial à utiliser (@pxref{G-Expressions})."
 
 #. type: item
 #: doc/guix.texi:22213
@@ -40751,27 +40808,27 @@ msgstr "@code{device} (par défaut : @code{#f})"
 #. type: table
 #: doc/guix.texi:22216
 msgid "The device where the kernel and initrd are to be found---i.e., for 
GRUB, @dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual})."
-msgstr ""
+msgstr "Le périphérique où le noyau et l'initrd se trouvent — c.-à-d.@: pour 
GRUB, l'option @dfn{root} de cette entrée de menu (@pxref{root,,, grub, GNU 
GRUB manual})."
 
 #. type: table
 #: doc/guix.texi:22222
 msgid "This may be a file system label (a string), a file system UUID (a 
bytevector, @pxref{File Systems}), or @code{#f}, in which case the bootloader 
will search the device containing the file specified by the @code{linux} field 
(@pxref{search,,, grub, GNU GRUB manual}).  It must @emph{not} be an OS device 
name such as @file{/dev/sda1}."
-msgstr ""
+msgstr "Cela peut être une étiquette de système de fichiers (une chaîne), un 
UUID de système de fichiers (un vecteur d'octets, @pxref{File Systems}) ou 
@code{#f}, auquel cas le chargeur d'amorçage recherchera le périphérique 
contenant le fichier spécifié par le champ @code{linux} (@pxref{search,,, grub, 
GNU GRUB manual}).  Cela ne doit @emph{pas} être un nom de périphérique donné 
par l'OS comme @file{/dev/sda1}."
 
 #. type: Plain text
 #: doc/guix.texi:22229
 msgid "Fow now only GRUB has theme support. GRUB themes are created using the 
@code{grub-theme} form, which is not documented yet."
-msgstr ""
+msgstr "Pour l'instant seul GRUB supporte les thèmes.  On crée un thème GRUB 
avec la forme @code{grub-theme}, qui n'est pas encore documentée."
 
 #. type: defvr
 #: doc/guix.texi:22234
 msgid "This is the default GRUB theme used by the operating system if no 
@code{theme} field is specified in @code{bootloader-configuration} record."
-msgstr ""
+msgstr "C'est le thème par défaut de GRUB utilisé par le système 
d'exploitation si aucun champ @code{theme} n'est spécifié dans l'enregistrement 
@code{bootloader-configuration}."
 
 #. type: defvr
 #: doc/guix.texi:22237
 msgid "It comes with a fancy background image displaying the GNU and Guix 
logos."
-msgstr ""
+msgstr "Il contient une image de fond sympathique avec les logos de GNU et de 
Guix."
 
 #. type: subsection
 #: doc/guix.texi:22241
@@ -40782,29 +40839,29 @@ msgstr "Invoquer @code{guix system}"
 #. type: Plain text
 #: doc/guix.texi:22246
 msgid "Once you have written an operating system declaration as seen in the 
previous section, it can be @dfn{instantiated} using the @command{guix system} 
command.  The synopsis is:"
-msgstr ""
+msgstr "Une fois que vous avez écrit une déclaration de système d'exploitation 
comme nous l'avons vu dans les sections précédentes, elle peut être instanciée 
avec la commande @command{guix system}.  Voici le résumé de la commande :"
 
 #. type: example
 #: doc/guix.texi:22249
 #, no-wrap
 msgid "guix system @address@hidden @var{action} @var{file}\n"
-msgstr ""
+msgstr "guix system @address@hidden @var{action} @var{file}\n"
 
 #. type: Plain text
 #: doc/guix.texi:22255
 msgid "@var{file} must be the name of a file containing an 
@code{operating-system} declaration.  @var{action} specifies how the operating 
system is instantiated.  Currently the following values are supported:"
-msgstr ""
+msgstr "@var{file} doit être le nom d'un fichier contenant une déclaration 
@code{operating-system}.  @var{action} spécifie comme le système d'exploitation 
est instancié.  Actuellement les valeurs suivantes sont supportées :"
 
 #. type: item
 #: doc/guix.texi:22257
 #, no-wrap
 msgid "search"
-msgstr ""
+msgstr "search"
 
 #. type: table
 #: doc/guix.texi:22260
 msgid "Display available service type definitions that match the given regular 
expressions, sorted by relevance:"
-msgstr ""
+msgstr "Affiche les définitions des types de services disponibles qui 
correspondent aux expressions régulières données, triées par pertinence."
 
 #. type: example
 #: doc/guix.texi:22272
@@ -40822,6 +40879,16 @@ msgid ""
 "relevance: 20\n"
 "\n"
 msgstr ""
+"$ guix system search console font\n"
+"name: console-fonts\n"
+"location: gnu/services/base.scm:773:2\n"
+"extends: shepherd-root\n"
+"description: Installe des polices données sur les ttys spécifiés (les polices 
sont par console virtuelle sous GNU/Linux).  la valeur de ces service est une 
liste de paires\n"
+"+ de tty/police comme ceci :\n"
+"+ \n"
+"+      '((\"tty1\" . \"LatGrkCyr-8x16\"))\n"
+"relevance: 16\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:22278
@@ -40834,6 +40901,12 @@ msgid ""
 "relevance: 2\n"
 "\n"
 msgstr ""
+"name: mingetty\n"
+"location: gnu/services/base.scm:1144:2\n"
+"extends: shepherd-root\n"
+"description: Fournit la connexion en console avec le programme `mingetty'.\n"
+"relevance: 4\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:22285
@@ -40847,6 +40920,12 @@ msgid ""
 "relevance: 2\n"
 "\n"
 msgstr ""
+"name: login\n"
+"location: gnu/services/base.scm:819:2\n"
+"extends: pam\n"
+"description: Fournit un service de connexion en console tel que spécifié par 
sa valeur de configuration, un objet `login-configuration'.\n"
+"relevance: 4\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:22287
@@ -40857,183 +40936,183 @@ msgstr "@dots{}\n"
 #. type: table
 #: doc/guix.texi:22292
 msgid "As for @command{guix package --search}, the result is written in 
@code{recutils} format, which makes it easy to filter the output (@pxref{Top, 
GNU recutils databases,, recutils, GNU recutils manual})."
-msgstr ""
+msgstr "Comme pour @command{guix package --search}, le résultat est écrit au 
format @code{recutils}, ce qui rend facile le filtrage de la sortie 
(@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
 
 #. type: item
 #: doc/guix.texi:22293
 #, no-wrap
 msgid "reconfigure"
-msgstr ""
+msgstr "reconfigure"
 
 #. type: table
 #: doc/guix.texi:22298
 msgid "Build the operating system described in @var{file}, activate it, and 
switch to address@hidden action (and the related actions 
@code{switch-generation} and @code{roll-back}) are usable only on systems 
already running GuixSD.}."
-msgstr ""
+msgstr "Construit le système d'exploitation décrit dans @var{file}, l'active 
et passe address@hidden action (et les action @code{switch-generation} et 
@code{roll-back} liées) ne sont utilisables que sur les systèmes sous GuixSD.}."
 
 #. type: table
 #: doc/guix.texi:22305
 msgid "This effects all the configuration specified in @var{file}: user 
accounts, system services, global package list, setuid programs, etc.  The 
command starts system services specified in @var{file} that are not currently 
running; if a service is currently running this command will arrange for it to 
be upgraded the next time it is stopped (eg. by @code{herd stop X} or 
@code{herd restart X})."
-msgstr ""
+msgstr "Cela met en application toute la configuration spécifiée dans 
@var{file} : les comptes utilisateurs, la liste globale des paquets, les 
programmes setuid, etc.  La commande démarre les services systèmes spécifiés 
dans @var{file} qui ne sont pas actuellement lancés ; si un service est 
actuellement exécuté cette commande s'arrange pour qu'il soit mis à jour la 
prochaine fois qu'il est stoppé (p.@: ex@: par @code{herd stop X} ou @code{herd 
restart X})."
 
 #. type: table
 #: doc/guix.texi:22311
 msgid "This command creates a new generation whose number is one greater than 
the current generation (as reported by @command{guix system list-generations}). 
 If that generation already exists, it will be overwritten.  This behavior 
mirrors that of @command{guix package} (@pxref{Invoking guix package})."
-msgstr ""
+msgstr "Cette commande crée une nouvelle génération dont le numéro est un de 
plus que la génération actuelle (rapportée par @command{guix system 
list-generations}).  Si cette génération existe déjà, elle sera réécrite.  Ce 
comportement correspond à celui de @command{guix package} (@pxref{Invoking guix 
package})."
 
 #. type: table
 #: doc/guix.texi:22316
 msgid "It also adds a bootloader menu entry for the new OS configuration, 
---unless @option{--no-bootloader} is passed.  For GRUB, it moves entries for 
older configurations to a submenu, allowing you to choose an older system 
generation at boot time should you need it."
-msgstr ""
+msgstr "Elle ajoute aussi une entrée de menu du chargeur d'amorçage pour la 
nouvelle configuration, à moins que @option{--no-bootloader} ne soit passé.  
Pour GRUB, elle déplace les entrées pour les anciennes configurations dans un 
sous-menu, ce qui vous permet de choisir une ancienne génération au démarrage 
si vous en avez besoin."
 
 #. type: quotation
 #: doc/guix.texi:22324
 msgid "It is highly recommended to run @command{guix pull} once before you run 
@command{guix system reconfigure} for the first time (@pxref{Invoking guix 
pull}).  Failing to do that you would see an older version of Guix once 
@command{reconfigure} has completed."
-msgstr ""
+msgstr "Il est grandement recommandé de lancer @command{guix pull} une fois 
avant de lancer @command{guix system reconfigure} pour la première fois 
(@pxref{Invoking guix pull}).  Sans cela, vous verriez une version plus 
ancienne de Guix une fois @command{reconfigure} terminé."
 
 #. type: item
 #: doc/guix.texi:22326
 #, no-wrap
 msgid "switch-generation"
-msgstr ""
+msgstr "switch-generation"
 
 #. type: table
 #: doc/guix.texi:22335
 msgid "Switch to an existing system generation.  This action atomically 
switches the system profile to the specified system generation.  It also 
rearranges the system's existing bootloader menu entries.  It makes the menu 
entry for the specified system generation the default, and it moves the entries 
for the other generatiors to a submenu, if supported by the bootloader being 
used.  The next time the system boots, it will use the specified system 
generation."
-msgstr ""
+msgstr "Passe à une génération existante du système.  Cette action change 
automatiquement le profil système vers la génération spécifiée.  Elle réarrange 
aussi les entrées existantes du menu du chargeur d'amorçage du système.  Elle 
fait de l'entrée du menu pour la génération spécifiée l'entrée par défaut et 
déplace les entrées pour les autres générations dans un sous-menu, si cela est 
supporté par le chargeur d'amorçage utilisé.  Lors du prochain démarrage du 
système, la génération du sy [...]
 
 #. type: table
 #: doc/guix.texi:22339
 msgid "The bootloader itself is not being reinstalled when using this command. 
 Thus, the installed bootloader is used with an updated configuration file."
-msgstr ""
+msgstr "Le chargeur d'amorçage lui-même n'est pas réinstallé avec cette 
commande.  Ainsi, le chargeur d'amorçage est utilisé avec un fichier de 
configuration plus à jour."
 
 #. type: table
 #: doc/guix.texi:22343
 msgid "The target generation can be specified explicitly by its generation 
number.  For example, the following invocation would switch to system 
generation 7:"
-msgstr ""
+msgstr "La génération cible peut être spécifiée explicitement par son numéro 
de génération.  Par exemple, l'invocation suivante passerait à la génération 7 
du système :"
 
 #. type: example
 #: doc/guix.texi:22346
 #, no-wrap
 msgid "guix system switch-generation 7\n"
-msgstr ""
+msgstr "guix system switch-generation 7\n"
 
 #. type: table
 #: doc/guix.texi:22354
 msgid "The target generation can also be specified relative to the current 
generation with the form @code{+N} or @code{-N}, where @code{+3} means ``3 
generations ahead of the current generation,'' and @code{-1} means ``1 
generation prior to the current generation.'' When specifying a negative value 
such as @code{-1}, you must precede it with @code{--} to prevent it from being 
parsed as an option.  For example:"
-msgstr ""
+msgstr "La génération cible peut aussi être spécifiée relativement à la 
génération actuelle avec la forme @code{+N} ou @code{-N}, où @code{+3} signifie 
« trois générations après la génération actuelle » et @code{-1} signifie « une 
génération précédent la génération actuelle ».  Lorsque vous spécifiez un 
nombre négatif comme @code{-1}, il doit être précédé de @code{--} pour éviter 
qu'il ne soit compris comme une option.  Par exemple :"
 
 #. type: example
 #: doc/guix.texi:22357
 #, no-wrap
 msgid "guix system switch-generation -- -1\n"
-msgstr ""
+msgstr "guix system switch-generation -- -1\n"
 
 #. type: table
 #: doc/guix.texi:22365
 msgid "Currently, the effect of invoking this action is @emph{only} to switch 
the system profile to an existing generation and rearrange the bootloader menu 
entries.  To actually start using the target system generation, you must reboot 
after running this action.  In the future, it will be updated to do the same 
things as @command{reconfigure}, like activating and deactivating services."
-msgstr ""
+msgstr "Actuellement, l'effet de l'invocation de cette action est 
@emph{uniquement} de passer au profil du système vers une autre génération 
existante et de réarranger le menu du chargeur d'amorçage. Pour vraiment 
commencer à utiliser la génération spécifiée, vous devez redémarrer après avoir 
lancé cette action.  Dans le futur, elle sera corrigée pour faire la même chose 
que @command{reconfigure}, comme réactiver et désactiver les services."
 
 #. type: table
 #: doc/guix.texi:22367
 msgid "This action will fail if the specified generation does not exist."
-msgstr ""
+msgstr "Cette action échouera si la génération spécifiée n'existe pas."
 
 #. type: item
 #: doc/guix.texi:22368
 #, no-wrap
 msgid "roll-back"
-msgstr ""
+msgstr "roll-back"
 
 #. type: table
 #: doc/guix.texi:22374
 msgid "Switch to the preceding system generation.  The next time the system 
boots, it will use the preceding system generation.  This is the inverse of 
@command{reconfigure}, and it is exactly the same as invoking 
@command{switch-generation} with an argument of @code{-1}."
-msgstr ""
+msgstr "Passe à la génération précédente du système.  Au prochain démarrage, 
la génération précédente sera utilisée.  C'est le contraire de 
@command{reconfigure}, et c'est exactement comme invoquer 
@command{switch-generation} avec pour argument @code{-1}."
 
 #. type: table
 #: doc/guix.texi:22378
 msgid "Currently, as with @command{switch-generation}, you must reboot after 
running this action to actually start using the preceding system generation."
-msgstr ""
+msgstr "Actuellement, comme pour @command{switch-generation}, vous devez 
redémarrer après avoir lancé cette action pour vraiment démarrer sur la 
génération précédente du système."
 
 #. type: table
 #: doc/guix.texi:22383
 msgid "Build the derivation of the operating system, which includes all the 
configuration files and programs needed to boot and run the system.  This 
action does not actually install anything."
-msgstr ""
+msgstr "Construit la dérivation du système d'exploitation, ce qui comprend 
tous les fichiers de configuration et les programmes requis pour démarrer et 
lancer le système.  Cette action n'installe rien."
 
 #. type: item
 #: doc/guix.texi:22384
 #, no-wrap
 msgid "init"
-msgstr ""
+msgstr "init"
 
 #. type: table
 #: doc/guix.texi:22388
 msgid "Populate the given directory with all the files necessary to run the 
operating system specified in @var{file}.  This is useful for first-time 
installations of GuixSD.  For instance:"
-msgstr ""
+msgstr "Rempli le répertoire donné avec tous les fichiers nécessaires à lancer 
le système d'exploitation spécifié dans @var{file}.  C'est utile pour la 
première installation de GuixSD.  Par exemple :"
 
 #. type: example
 #: doc/guix.texi:22391
 #, no-wrap
 msgid "guix system init my-os-config.scm /mnt\n"
-msgstr ""
+msgstr "guix system init my-os-config.scm /mnt\n"
 
 #. type: table
 #: doc/guix.texi:22398
 msgid "copies to @file{/mnt} all the store items required by the configuration 
specified in @file{my-os-config.scm}.  This includes configuration files, 
packages, and so on.  It also creates other essential files needed for the 
system to operate correctly---e.g., the @file{/etc}, @file{/var}, and 
@file{/run} directories, and the @file{/bin/sh} file."
-msgstr ""
+msgstr "copie tous les éléments du dépôt requis par la configuration spécifiée 
dans @file{my-os-config.scm} dans @file{/mnt}.  Cela comprend les fichiers de 
configuration, les paquets, etc.  Elle crée aussi d'autres fichiers essentiels 
requis pour que le système fonctionne correctement — p.@: ex.@: les répertoires 
@file{/etc}, @file{/var} et @file{/run} et le fichier @file{/bin/sh}."
 
 #. type: table
 #: doc/guix.texi:22402
 msgid "This command also installs bootloader on the target specified in 
@file{my-os-config}, unless the @option{--no-bootloader} option was passed."
-msgstr ""
+msgstr "Cette commande installe aussi le chargeur d'amorçage sur la cible 
spécifiée dans @file{my-os-config}, à moins que l'option 
@option{--no-bootloader} ne soit passée."
 
 #. type: item
 #: doc/guix.texi:22403
 #, no-wrap
 msgid "vm"
-msgstr ""
+msgstr "vm"
 
 #. type: cindex
 #: doc/guix.texi:22404 doc/guix.texi:22668
 #, no-wrap
 msgid "virtual machine"
-msgstr ""
+msgstr "machine virtuelle"
 
 #. type: cindex
 #: doc/guix.texi:22405
 #, no-wrap
 msgid "VM"
-msgstr ""
+msgstr "VM"
 
 #. type: anchor{#1}
 #: doc/guix.texi:22412
 msgid "guix system vm"
-msgstr ""
+msgstr "guix system vm"
 
 #. type: table
 #: doc/guix.texi:22412
 msgid "Build a virtual machine that contains the operating system declared in 
@var{file}, and return a script to run that virtual machine (VM).  Arguments 
given to the script are passed to QEMU as in the example below, which enables 
networking and requests address@hidden of RAM for the emulated machine:"
-msgstr ""
+msgstr "Construit une machine virtuelle qui contient le système d'exploitation 
déclaré dans @var{file} et renvoie un script pour lancer cette machine 
virtuelle (VM).  Les arguments passés au script sont passés à QEMU comme dans 
l'exemple ci-dessous, qui active le réseau et demande address@hidden de RAM 
pour la machine émulée :"
 
 #. type: example
 #: doc/guix.texi:22415
 #, no-wrap
 msgid "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n"
-msgstr ""
+msgstr "$ /gnu/store/@dots{}-run-vm.sh -m 1024 -net user\n"
 
 #. type: table
 #: doc/guix.texi:22418
 msgid "The VM shares its store with the host system."
-msgstr ""
+msgstr "La VM partage sont dépôt avec le système hôte."
 
 #. type: table
 #: doc/guix.texi:22423
 msgid "Additional file systems can be shared between the host and the VM using 
the @code{--share} and @code{--expose} command-line options: the former 
specifies a directory to be shared with write access, while the latter provides 
read-only access to the shared directory."
-msgstr ""
+msgstr "Vous pouvez partager des fichiers supplémentaires entre l'hôte et la 
VM avec les options en ligne de commande @code{--share} et @code{--expose} : la 
première spécifie un répertoire à partager avec accès en écriture, tandis que 
le deuxième fournit un accès en lecture-seule au répertoire partagé."
 
 #. type: table
 #: doc/guix.texi:22427
 msgid "The example below creates a VM in which the user's home directory is 
accessible read-only, and where the @file{/exchange} directory is a read-write 
mapping of @file{$HOME/tmp} on the host:"
-msgstr ""
+msgstr "L'exemple ci-dessous crée une VM dans laquelle le répertoire personnel 
de l'utilisateur est accessible en lecture-seule, et où le répertoire 
@file{/exchange} est une correspondance en lecture-écriture à @file{$HOME/tmp} 
sur l'hôte :"
 
 #. type: example
 #: doc/guix.texi:22431
@@ -41042,77 +41121,79 @@ msgid ""
 "guix system vm my-config.scm \\\n"
 "   --expose=$HOME --share=$HOME/tmp=/exchange\n"
 msgstr ""
+"guix system vm my-config.scm \\\n"
+"   --expose=$HOME --share=$HOME/tmp=/exchange\n"
 
 #. type: table
 #: doc/guix.texi:22436
 msgid "On GNU/Linux, the default is to boot directly to the kernel; this has 
the advantage of requiring only a very tiny root disk image since the store of 
the host can then be mounted."
-msgstr ""
+msgstr "Sur GNU/Linux, le comportement par défaut consiste à démarrer 
directement sur le noyau ; cela a l'avantage de n'avoir besoin que d'une toute 
petite image disque puisque le dépôt de l'hôte peut ensuite être monté."
 
 #. type: table
 #: doc/guix.texi:22442
 msgid "The @code{--full-boot} option forces a complete boot sequence, starting 
with the bootloader.  This requires more disk space since a root image 
containing at least the kernel, initrd, and bootloader data files must be 
created.  The @code{--image-size} option can be used to specify the size of the 
image."
-msgstr ""
+msgstr "L'option @code{--full-boot} force une séquence de démarrage complète, 
en commençant par le chargeur d'amorçage.  Cela requiert plus d'espace disque 
puisqu'une image racine contenant au moins le noyau, l'initrd et les fichiers 
de données du chargeur d'amorçage doit être créé.  On peut utiliser l'option 
@code{--image-size} pour spécifier la taille de l'image."
 
 #. type: cindex
 #: doc/guix.texi:22443
 #, no-wrap
 msgid "System images, creation in various formats"
-msgstr ""
+msgstr "Images système, création en divers formats"
 
 #. type: cindex
 #: doc/guix.texi:22444
 #, no-wrap
 msgid "Creating system images in various formats"
-msgstr ""
+msgstr "Créer des images systèmes sous différents formats"
 
 #. type: item
 #: doc/guix.texi:22445
 #, no-wrap
 msgid "vm-image"
-msgstr ""
+msgstr "vm-image"
 
 #. type: itemx
 #: doc/guix.texi:22446
 #, no-wrap
 msgid "disk-image"
-msgstr ""
+msgstr "disk-image"
 
 #. type: itemx
 #: doc/guix.texi:22447
 #, no-wrap
 msgid "docker-image"
-msgstr ""
+msgstr "docker-image"
 
 #. type: table
 #: doc/guix.texi:22455
 msgid "Return a virtual machine, disk image, or Docker image of the operating 
system declared in @var{file} that stands alone.  By default, @command{guix 
system} estimates the size of the image needed to store the system, but you can 
use the @option{--image-size} option to specify a value.  Docker images are 
built to contain exactly what they need, so the @option{--image-size} option is 
ignored in the case of @code{docker-image}."
-msgstr ""
+msgstr "Renvoie une machine virtuelle, une image disque ou une image Docker du 
système d'exploitation déclaré dans @var{file} qui se suffit à elle-même.  Par 
défaut, @command{guix system} estime la taille de l'image requise pour stocker 
le système, mais vous pouvez utiliser l'option @option{--image-size} pour 
spécifier une valeur.  Les images Docker sont construites pour contenir 
exactement ce dont elles ont besoin, donc l'option @option{--image-size} est 
ignorée dans le cas de @code{doc [...]
 
 #. type: table
 #: doc/guix.texi:22458
 msgid "You can specify the root file system type by using the 
@option{--file-system-type} option.  It defaults to @code{ext4}."
-msgstr ""
+msgstr "Vous pouvez spécifier le type de système de fichiers racine avec 
l'option @option{--file-system-type}.  La valeur par défaut est @code{ext4}."
 
 #. type: table
 #: doc/guix.texi:22462
 msgid "When using @code{vm-image}, the returned image is in qcow2 format, 
which the QEMU emulator can efficiently use. @xref{Running GuixSD in a VM}, for 
more information on how to run the image in a virtual machine."
-msgstr ""
+msgstr "Lorsque vous utilisez @code{vm-image}, l'image renvoyée est au format 
qcow, que l'émulateur QEMU peut utiliser efficacement.  @xref{Running GuixSD in 
a VM}, pour plus d'informations sur la manière de lancer l'image dans une 
machine virtuelle."
 
 #. type: table
 #: doc/guix.texi:22467
 msgid "When using @code{disk-image}, a raw disk image is produced; it can be 
copied as is to a USB stick, for instance.  Assuming @code{/dev/sdc} is the 
device corresponding to a USB stick, one can copy the image to it using the 
following command:"
-msgstr ""
+msgstr "Lorsque vous utilisez @code{disk-image}, une image disque brute est 
produite ; elle peut être copiée telle quelle sur un périphérique USB.  En 
supposant que @code{/dev/sdc} est le périphérique correspondant à une clef USB, 
on peut copier l'image dessus avec la commande suivante :"
 
 #. type: example
 #: doc/guix.texi:22470
 #, no-wrap
 msgid "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n"
-msgstr ""
+msgstr "# dd if=$(guix system disk-image my-os.scm) of=/dev/sdc\n"
 
 #. type: table
 #: doc/guix.texi:22477
 msgid "When using @code{docker-image}, a Docker image is produced.  Guix 
builds the image from scratch, not from a pre-existing Docker base image.  As a 
result, it contains @emph{exactly} what you define in the operating system 
configuration file.  You can then load the image and launch a Docker container 
using commands like the following:"
-msgstr ""
+msgstr "En utilisant @code{docker-image}, on produit une image Docker.  Guix 
construit l'image de zéro, et non à partir d'une image Docker de base 
pré-existante.  En conséquence, elle contient @emph{exactly} ce que vous avez 
défini dans le fichier de configuration du système.  Vous pouvez ensuite 
charger l'image et lancer un conteneur Docker avec des commande comme :"
 
 #. type: example
 #: doc/guix.texi:22483
@@ -41123,26 +41204,30 @@ msgid ""
 "    --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n"
 "    $image_id /var/guix/profiles/system/boot\n"
 msgstr ""
+"image_id=\"$(docker load < guixsd-docker-image.tar.gz)\"\n"
+"docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\\\\n"
+"    --entrypoint /var/guix/profiles/system/profile/bin/guile \\\\\n"
+"    $image_id /var/guix/profiles/system/boot\n"
 
 #. type: table
 #: doc/guix.texi:22493
 msgid "This command starts a new Docker container from the specified image.  
It will boot the GuixSD system in the usual manner, which means it will start 
any services you have defined in the operating system configuration.  Depending 
on what you run in the Docker container, it may be necessary to give the 
container additional permissions.  For example, if you intend to build software 
using Guix inside of the Docker container, you may need to pass the 
@option{--privileged} option to @cod [...]
-msgstr ""
+msgstr "Cette commande démarre un nouveau conteneur Docker à partir de l'image 
spécifiée.  Il démarrera le système GuixSD de la manière habituelle, ce qui 
signifie qu'il démarrera tous les services que vous avez définis dans la 
configuration du système d'exploitation.  En fonction de ce que vous lancez 
dans le conteneur Docker, il peut être nécessaire de donner des permissions 
supplémentaires au conteneur.  Par exemple, si vous voulez construire des 
paquets avec Guix dans le conteneur Do [...]
 
 #. type: table
 #: doc/guix.texi:22501
 msgid "Return a script to run the operating system declared in @var{file} 
within a container.  Containers are a set of lightweight isolation mechanisms 
provided by the kernel Linux-libre.  Containers are substantially less 
resource-demanding than full virtual machines since the kernel, shared objects, 
and other resources can be shared with the host system; this also means they 
provide thinner isolation."
-msgstr ""
+msgstr "Renvoie un script qui lance le système d'exploitation déclaré dans 
@var{file} dans un conteneur.  Les conteneurs sont un ensemble de mécanismes 
d'isolation légers fournis par le noyau Linux-libre.  Les conteneurs sont 
substantiellement moins gourmands en ressources que les machines virtuelles 
complètes car le noyau, les objets partagés et d'autres ressources peuvent être 
partagés avec le système hôte ; cela signifie aussi une isolation moins 
complète."
 
 #. type: table
 #: doc/guix.texi:22505
 msgid "Currently, the script must be run as root in order to support more than 
a single user and group.  The container shares its store with the host system."
-msgstr ""
+msgstr "Actuellement, le script doit être lancé en root pour pouvoir supporter 
plus d'un utilisateur et d'un groupe.  Le conteneur partage son dépôt avec le 
système hôte."
 
 #. type: table
 #: doc/guix.texi:22509
 msgid "As with the @code{vm} action (@pxref{guix system vm}), additional file 
systems to be shared between the host and container can be specified using the 
@option{--share} and @option{--expose} options:"
-msgstr ""
+msgstr "Comme avec l'action @code{vm} (@pxref{guix system vm}), des systèmes 
de fichiers supplémentaires peuvent être partagés entre l'hôte et le conteneur 
avec les options @option{--share} et @option{--expose} :"
 
 #. type: example
 #: doc/guix.texi:22513
@@ -41151,92 +41236,94 @@ msgid ""
 "guix system container my-config.scm \\\n"
 "   --expose=$HOME --share=$HOME/tmp=/exchange\n"
 msgstr ""
+"guix system container my-config.scm \\\n"
+"   --expose=$HOME --share=$HOME/tmp=/exchange\n"
 
 #. type: quotation
 #: doc/guix.texi:22517
 msgid "This option requires Linux-libre 3.19 or newer."
-msgstr ""
+msgstr "Cette option requiert Linux-libre  ou supérieur."
 
 #. type: Plain text
 #: doc/guix.texi:22524
 msgid "@var{options} can contain any of the common build options 
(@pxref{Common Build Options}).  In addition, @var{options} can contain one of 
the following:"
-msgstr ""
+msgstr "@var{options} peut contenir n'importe quelle option commune de 
construction (@pxref{Common Build Options}).  En plus, @var{options} peut 
contenir l'une de ces options :"
 
 #. type: table
 #: doc/guix.texi:22533
 msgid "Consider the operating-system @var{expr} evaluates to.  This is an 
alternative to specifying a file which evaluates to an operating system.  This 
is used to generate the GuixSD installer @pxref{Building the Installation 
Image})."
-msgstr ""
+msgstr "Considère le système d'exploitation en lequel s'évalue @var{expr}.  
C'est une alternative à la spécification d'un fichier qui s'évalue en un 
système d'exploitation.  C'est utilisé pour générer l'installateur GuixSD 
(@pxref{Building the Installation Image})."
 
 #. type: table
 #: doc/guix.texi:22538
 msgid "Attempt to build for @var{system} instead of the host system type.  
This works as per @command{guix build} (@pxref{Invoking guix build})."
-msgstr ""
+msgstr "Essaye de construire pour @var{system} au lieu du type du système 
hôte.  Cela fonction comme pour @command{guix build} (@pxref{Invoking guix 
build})."
 
 #. type: item
 #: doc/guix.texi:22539
 #, no-wrap
 msgid "--derivation"
-msgstr ""
+msgstr "--derivation"
 
 #. type: table
 #: doc/guix.texi:22543
 msgid "Return the derivation file name of the given operating system without 
building anything."
-msgstr ""
+msgstr "Renvoie le nom du fichier de dérivation du système d'exploitation 
donné sans rien construire."
 
 #. type: item
 #: doc/guix.texi:22544
 #, no-wrap
 msgid "address@hidden"
-msgstr ""
+msgstr "address@hidden"
 
 #. type: table
 #: doc/guix.texi:22548
 msgid "For the @code{disk-image} action, create a file system of the given 
@var{type} on the image."
-msgstr ""
+msgstr "Pour l'action @code{disk-image}, crée un système de fichier du 
@var{type} donné sur l'image."
 
 #. type: table
 #: doc/guix.texi:22550
 msgid "When this option is omitted, @command{guix system} uses @code{ext4}."
-msgstr ""
+msgstr "Lorsque cette option est omise, @command{guix system} utilise 
@code{ext4}."
 
 #. type: cindex
 #: doc/guix.texi:22551
 #, no-wrap
 msgid "ISO-9660 format"
-msgstr ""
+msgstr "format ISO-9660"
 
 #. type: cindex
 #: doc/guix.texi:22552
 #, no-wrap
 msgid "CD image format"
-msgstr ""
+msgstr "format d'image de CD"
 
 #. type: cindex
 #: doc/guix.texi:22553
 #, no-wrap
 msgid "DVD image format"
-msgstr ""
+msgstr "format d'image de DVD"
 
 #. type: table
 #: doc/guix.texi:22556
 msgid "@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable 
for burning on CDs and DVDs."
-msgstr ""
+msgstr "@code{--file-system-type=iso9660} produit une image ISO-9660, qu'il 
est possible de graver sur un CD ou un DVD."
 
 #. type: item
 #: doc/guix.texi:22557
 #, no-wrap
 msgid "address@hidden"
-msgstr ""
+msgstr "address@hidden"
 
 #. type: table
 #: doc/guix.texi:22562
 msgid "For the @code{vm-image} and @code{disk-image} actions, create an image 
of the given @var{size}.  @var{size} may be a number of bytes, or it may 
include a unit as a suffix (@pxref{Block size, size specifications,, coreutils, 
GNU Coreutils})."
-msgstr ""
+msgstr "Pour les actions @code{vm-image} et @code{disk-image}, crée une image 
de la taille donnée @var{size}.  @var{size} peut être un nombre d'octets ou 
contenir un suffixe d'unité (@pxref{Block size, size specifications,, 
coreutils, GNU Coreutils})."
 
 #. type: table
 #: doc/guix.texi:22566
 msgid "When this option is omitted, @command{guix system} computes an estimate 
of the image size as a function of the size of the system declared in 
@var{file}."
-msgstr ""
+msgstr "Lorsque cette option est omise, @command{guix system} calcule une 
estimation de la taille de l'image en fonction de la taille du système déclaré 
dans @var{file}."
 
 #. type: item
 #: doc/guix.texi:22572
@@ -41247,163 +41334,163 @@ msgstr "--skip-checks"
 #. type: table
 #: doc/guix.texi:22574
 msgid "Skip pre-installation safety checks."
-msgstr ""
+msgstr "Passe les vérifications de sécurité avant l'installation."
 
 #. type: table
 #: doc/guix.texi:22581
 msgid "By default, @command{guix system init} and @command{guix system 
reconfigure} perform safety checks: they make sure the file systems that appear 
in the @code{operating-system} declaration actually exist (@pxref{File 
Systems}), and that any Linux kernel modules that may be needed at boot time 
are listed in @code{initrd-modules} (@pxref{Initial RAM Disk}).  Passing this 
option skips these tests altogether."
-msgstr ""
+msgstr "Par défaut, @command{guix system init} et @command{guix system 
reconfigure} effectuent des vérifications de sécurité : ils s'assurent que les 
systèmes de fichiers qui apparaissent dans la déclaration 
@code{operating-system} existent vraiment (@pxref{File Systems}) et que les 
modules de noyau Linux qui peuvent être requis au démarrage sont listés dans 
@code{initrd-modules} (@pxref{Initial RAM Disk}).  Passer cette option saute 
ces vérifications complètement."
 
 #. type: item
 #: doc/guix.texi:22582
 #, no-wrap
 msgid "address@hidden"
-msgstr ""
+msgstr "address@hidden"
 
 #. type: table
 #: doc/guix.texi:22585
 msgid "Apply @var{strategy} when an error occurs when reading @var{file}.  
@var{strategy} may be one of the following:"
-msgstr ""
+msgstr "Applique @var{strategy} lorsqu'une erreur arrive lors de la lecture de 
@var{file}.  @var{strategy} peut être l'une des valeurs suivantes :"
 
 #. type: item
 #: doc/guix.texi:22587
 #, no-wrap
 msgid "nothing-special"
-msgstr ""
+msgstr "nothing-special"
 
 #. type: table
 #: doc/guix.texi:22589
 msgid "Report the error concisely and exit.  This is the default strategy."
-msgstr ""
+msgstr "Rapporte l'erreur de manière concise et quitte.  C'est la stratégie 
par défaut."
 
 #. type: item
 #: doc/guix.texi:22590
 #, no-wrap
 msgid "backtrace"
-msgstr ""
+msgstr "backtrace"
 
 #. type: table
 #: doc/guix.texi:22592
 msgid "Likewise, but also display a backtrace."
-msgstr ""
+msgstr "Pareil, mais affiche aussi une trace de débogage."
 
 #. type: item
 #: doc/guix.texi:22593
 #, no-wrap
 msgid "debug"
-msgstr ""
+msgstr "debug"
 
 #. type: table
 #: doc/guix.texi:22599
 msgid "Report the error and enter Guile's debugger.  From there, you can run 
commands such as @code{,bt} to get a backtrace, @code{,locals} to display local 
variable values, and more generally inspect the state of the program.  
@xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of 
available debugging commands."
-msgstr ""
+msgstr "Rapporte l'erreur et entre dans le débogueur Guile.  À partir de là, 
vous pouvez lancer des commandes comme @code{,bt} pour obtenir une trace de 
débogage, @code{,locals} pour afficher les valeurs des variables locales et 
plus généralement inspecter l'état du programme.  @xref{Debug Commands,,, 
guile, GNU Guile Reference Manual}, pour une liste de commandes de débogage 
disponibles."
 
 #. type: quotation
 #: doc/guix.texi:22609
 msgid "All the actions above, except @code{build} and @code{init}, can use KVM 
support in the Linux-libre kernel.  Specifically, if the machine has hardware 
virtualization support, the corresponding KVM kernel module should be loaded, 
and the @file{/dev/kvm} device node must exist and be readable and writable by 
the user and by the build users of the daemon (@pxref{Build Environment 
Setup})."
-msgstr ""
+msgstr "Toutes les actions ci-dessous, sauf @code{build} et @code{init}, 
peuvent utiliser le support KVM dans le noyau Linux-libre.  En particulier, si 
la machine supporte la virtualisation matérielle, les modules du noyau KVM 
correspondants devraient être chargés et le nœud de périphérique 
@file{/dev/kvm} doit exister et être accessible en lecture et en écriture par 
l'utilisateur et les utilisateurs de construction du démon (@pxref{Build 
Environment Setup})."
 
 #. type: Plain text
 #: doc/guix.texi:22615
 msgid "Once you have built, configured, re-configured, and re-re-configured 
your GuixSD installation, you may find it useful to list the operating system 
generations available on disk---and that you can choose from the bootloader 
boot menu:"
-msgstr ""
+msgstr "Une fois que vous avez construit, re-configuré et re-re-configuré 
votre installation GuixSD, vous pourriez trouver utile de lister les 
générations du système disponibles sur le disque — et que vous pouvez choisir 
dans le menu du chargeur d'amorçage :"
 
 #. type: item
 #: doc/guix.texi:22618
 #, no-wrap
 msgid "list-generations"
-msgstr ""
+msgstr "list-generations"
 
 #. type: table
 #: doc/guix.texi:22623
 msgid "List a summary of each generation of the operating system available on 
disk, in a human-readable way.  This is similar to the 
@option{--list-generations} option of @command{guix package} (@pxref{Invoking 
guix package})."
-msgstr ""
+msgstr "Affiche un résumé de chaque génération du système d'exploitation 
disponible sur le disque, dans un format lisible pour un humain.  C'est 
similaire à l'option @option{--list-generations} de @command{guix package} 
(@pxref{Invoking guix package})."
 
 #. type: table
 #: doc/guix.texi:22628
 msgid "Optionally, one can specify a pattern, with the same syntax that is 
used in @command{guix package --list-generations}, to restrict the list of 
generations displayed.  For instance, the following command displays 
generations that are up to 10 days old:"
-msgstr ""
+msgstr "Éventuellement, on peut spécifier un motif, avec la même syntaxe 
utilisée pour @command{guix package --list-generations}, pour restreindre la 
liste des générations affichées.  Par exemple, la commande suivante affiche les 
générations de moins de 10 jours :"
 
 #. type: example
 #: doc/guix.texi:22631
 #, no-wrap
 msgid "$ guix system list-generations 10d\n"
-msgstr ""
+msgstr "$ guix system list-generations 10d\n"
 
 #. type: Plain text
 #: doc/guix.texi:22638
 msgid "The @command{guix system} command has even more to offer! The following 
sub-commands allow you to visualize how your system services relate to each 
other:"
-msgstr ""
+msgstr "La commande @command{guix system} a même plus à proposer !  Les 
sous-commandes suivantes vous permettent de visualiser comme vos services 
systèmes sont liés les uns aux autres :"
 
 #. type: anchor{#1}
 #: doc/guix.texi:22640
 msgid "system-extension-graph"
-msgstr ""
+msgstr "system-extension-graph"
 
 #. type: item
 #: doc/guix.texi:22642
 #, no-wrap
 msgid "extension-graph"
-msgstr ""
+msgstr "extension-graph"
 
 #. type: table
 #: doc/guix.texi:22647
 msgid "Emit in Dot/Graphviz format to standard output the @dfn{service 
extension graph} of the operating system defined in @var{file} (@pxref{Service 
Composition}, for more information on service extensions.)"
-msgstr ""
+msgstr "Affiche le @dfn{graphe d'extension des services} du système 
d'exploitation défini dans @var{file} au format Dot/Graphviz sur la sortie 
standard (@pxref{Service Composition}, pour plus d'informations sur l'extension 
des services)."
 
 #. type: table
 #: doc/guix.texi:22649
 msgid "The command:"
-msgstr ""
+msgstr "La commande :"
 
 #. type: example
 #: doc/guix.texi:22652
 #, no-wrap
 msgid "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n"
-msgstr ""
+msgstr "$ guix system extension-graph @var{file} | dot -Tpdf > services.pdf\n"
 
 #. type: table
 #: doc/guix.texi:22655
 msgid "produces a PDF file showing the extension relations among services."
-msgstr ""
+msgstr "produit un fichier PDF montrant les relations d'extension entre les 
services."
 
 #. type: anchor{#1}
 #: doc/guix.texi:22657
 msgid "system-shepherd-graph"
-msgstr ""
+msgstr "system-shepherd-graph"
 
 #. type: item
 #: doc/guix.texi:22657
 #, no-wrap
 msgid "shepherd-graph"
-msgstr ""
+msgstr "shepherd-graph"
 
 #. type: table
 #: doc/guix.texi:22662
 msgid "Emit in Dot/Graphviz format to standard output the @dfn{dependency 
graph} of shepherd services of the operating system defined in @var{file}.  
@xref{Shepherd Services}, for more information and for an example graph."
-msgstr ""
+msgstr "Affiche le @dfn{graphe de dépendance} des services shepherd du système 
d'exploitation défini dans @var{file} au format Dot/Graphviz sur la sortie 
standard.  @xref{Shepherd Services}, pour plus d'informations et un exemple de 
graphe."
 
 #. type: subsection
 #: doc/guix.texi:22666
 #, no-wrap
 msgid "Running GuixSD in a Virtual Machine"
-msgstr ""
+msgstr "Exécuter GuixSD sur une machine virtuelle"
 
 #. type: Plain text
 #: doc/guix.texi:22676
 msgid "To run GuixSD in a virtual machine (VM), one can either use the 
pre-built GuixSD VM image distributed at 
@indicateurl{https://alpha.gnu.org/gnu/guix/address@hidden@var{system}.xz} , or 
build their own virtual machine image using @command{guix system vm-image} 
(@pxref{Invoking guix system}).  The returned image is in qcow2 format, which 
the @uref{http://qemu.org/, QEMU emulator} can efficiently use."
-msgstr ""
+msgstr "Pour exécuter GuixSD sur une machine virtuelle (VM), on peut soit 
utiliser l'image de VM GuixSD pré-construite sur 
@indicateurl{https://alpha.gnu.org/gnu/guix/address@hidden ou construire sa 
propre image de machine virtuelle avec @command{guix system vm-image} 
(@pxref{Invoking guix system}).  L'image renvoyée est au format qcow2, que 
l'@uref{http://qemu.org/,émulateur QEMU} peut utiliser efficacement."
 
 #. type: cindex
 #: doc/guix.texi:22677
 #, no-wrap
 msgid "QEMU"
-msgstr ""
+msgstr "QEMU"
 
 #. type: Plain text
 #: doc/guix.texi:22684
 msgid "If you built your own image, you must copy it out of the store 
(@pxref{The Store}) and give yourself permission to write to the copy before 
you can use it.  When invoking QEMU, you must choose a system emulator that is 
suitable for your hardware platform.  Here is a minimal QEMU invocation that 
will boot the result of @command{guix system vm-image} on x86_64 hardware:"
-msgstr ""
+msgstr "Si vous construisez votre propre image, vous devez la copier en dehors 
du dépôt (@pxref{The Store}) et vous donner la permission d'écrire sur la copie 
avant de pouvoir l'utiliser.  Lorsque vous invoquez QEMU, vous devez choisir un 
émulateur système correspondant à votre plate-forme matérielle.  Voici une 
invocation minimale de QEMU qui démarrera le résultat de @command{guix system 
vm-image} sur un matériel x8_64."
 
 #. type: example
 #: doc/guix.texi:22689
@@ -41413,131 +41500,134 @@ msgid ""
 "   -net user -net nic,model=virtio \\\n"
 "   -enable-kvm -m 256 /tmp/qemu-image\n"
 msgstr ""
+"$ qemu-system-x86_64 \\\n"
+"   -net user -net nic,model=virtio \\\n"
+"   -enable-kvm -m 256 /tmp/qemu-image\n"
 
 #. type: Plain text
 #: doc/guix.texi:22692
 msgid "Here is what each of these options means:"
-msgstr ""
+msgstr "Voici la signification de ces options :"
 
 #. type: item
 #: doc/guix.texi:22694
 #, no-wrap
 msgid "qemu-system-x86_64"
-msgstr ""
+msgstr "qemu-system-x86_64"
 
 #. type: table
 #: doc/guix.texi:22697
 msgid "This specifies the hardware platform to emulate.  This should match the 
host."
-msgstr ""
+msgstr "Cela spécifie la plate-forme matérielle à émuler.  Elle doit 
correspondre à l'hôte."
 
 #. type: item
 #: doc/guix.texi:22698
 #, no-wrap
 msgid "-net user"
-msgstr ""
+msgstr "-net user"
 
 #. type: table
 #: doc/guix.texi:22702
 msgid "Enable the unprivileged user-mode network stack.  The guest OS can 
access the host but not vice versa.  This is the simplest way to get the guest 
OS online."
-msgstr ""
+msgstr "Active la pile réseau non privilégiée en mode utilisateur.  L'OS émulé 
peut accéder à l'hôte mais pas l'inverse.  C'est la manière la plus simple de 
connecter le client."
 
 #. type: item
 #: doc/guix.texi:22703
 #, no-wrap
 msgid "-net nic,model=virtio"
-msgstr ""
+msgstr "-net nic,model=virtio"
 
 #. type: table
 #: doc/guix.texi:22708
 msgid "You must create a network interface of a given model.  If you do not 
create a NIC, the boot will fail.  Assuming your hardware platform is x86_64, 
you can get a list of available NIC models by running 
@command{qemu-system-x86_64 -net nic,model=help}."
-msgstr ""
+msgstr "Vous devez créer une interface réseau d'un modèle donné.  Si vous ne 
créez pas de NIC, le démarrage échouera.  En supposant que votre plate-forme 
est x86_64, vous pouvez récupérer une liste des modèles de NIC disponibles en 
lançant @command{qemu-system-x86_64 -net nic,model=help}."
 
 #. type: item
 #: doc/guix.texi:22709
 #, no-wrap
 msgid "-enable-kvm"
-msgstr ""
+msgstr "-enable-kvm"
 
 #. type: table
 #: doc/guix.texi:22713
 msgid "If your system has hardware virtualization extensions, enabling the 
virtual machine support (KVM) of the Linux kernel will make things run faster."
-msgstr ""
+msgstr "Si votre système a des extensions de virtualisation matérielle, 
activer le support des machines virtuelles de Linux (KVM) accélérera les 
choses."
 
 #. type: item
 #: doc/guix.texi:22714
 #, no-wrap
 msgid "-m 256"
-msgstr ""
+msgstr "-m 256"
 
 #. type: table
 #: doc/guix.texi:22717
 msgid "RAM available to the guest OS, in mebibytes.  Defaults to 
address@hidden, which may be insufficient for some operations."
-msgstr ""
+msgstr "RAM disponible sur l'OS émulé, en mébioctets.  La valeur par défaut 
est address@hidden, ce qui peut ne pas suffire pour certaines opérations."
 
 #. type: item
 #: doc/guix.texi:22718
 #, no-wrap
 msgid "/tmp/qemu-image"
-msgstr ""
+msgstr "/tmp/qemu-image"
 
 #. type: table
 #: doc/guix.texi:22720
 msgid "The file name of the qcow2 image."
-msgstr ""
+msgstr "Le nom de fichier de l'image qcow2."
 
 #. type: Plain text
 #: doc/guix.texi:22730
 msgid "The default @command{run-vm.sh} script that is returned by an 
invocation of @command{guix system vm} does not add a @command{-net user} flag 
by default.  To get network access from within the vm add the 
@code{(dhcp-client-service)} to your system definition and start the VM using 
@command{`guix system vm config.scm` -net user}.  An important caveat of using 
@command{-net user} for networking is that @command{ping} will not work, 
because it uses the ICMP protocol.  You'll have to u [...]
-msgstr ""
+msgstr "Le script @command{run-vm.sh} par défaut renvoyé par une invocation de 
@command{guix system vm} n'ajoute pas le drapeau @command{-net user} par 
défaut.  Pour avoir accès au réseau dans la vm, ajoutez le 
@code{(dhcp-client-service)} à votre définition et démarrez la VM avec 
@command{`guix system vm config.scm` -net user}.  Un problème important avec 
@command{-net user} pour le réseau, est que @command{ping} ne fonctionnera pas, 
car il utilise le protocole ICMP.  Vous devrez utilis [...]
 
 #. type: subsubsection
 #: doc/guix.texi:22731
 #, no-wrap
 msgid "Connecting Through SSH"
-msgstr ""
+msgstr "Se connecter par SSH"
 
 #. type: Plain text
 #: doc/guix.texi:22740
 msgid "To enable SSH inside a VM you need to add a SSH server like 
@code{(dropbear-service)} or @code{(lsh-service)} to your VM.  The 
@code{(lsh-service}) doesn't currently boot unsupervised.  It requires you to 
type some characters to initialize the randomness generator.  In addition you 
need to forward the SSH port, 22 by default, to the host.  You can do this with"
-msgstr ""
+msgstr "Pour activer SSH dans une VM vous devez ajouter un serveur SSH comme 
@code{(dropbear-service)} ou @code{(lsh-service)} à votre VM.  Le service 
@code{(lsh-service)} ne peut actuellement pas démarrer sans supervision.  Il a 
besoin que vous tapiez quelques caractères pour initialiser le générateur 
d'aléatoire.  En plus vous devez transférer le port 22, par défaut, à l'hôte.  
Vous pouvez faire cela avec :"
 
 #. type: example
 #: doc/guix.texi:22743
 #, no-wrap
 msgid "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
-msgstr ""
+msgstr "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
 
 #. type: Plain text
 #: doc/guix.texi:22746
 msgid "To connect to the VM you can run"
-msgstr ""
+msgstr "Pour vous connecter à la VM vous pouvez lancer"
 
 #. type: example
 #: doc/guix.texi:22749
 #, no-wrap
 msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 
10022\n"
-msgstr ""
+msgstr "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 
10022\n"
 
 #. type: Plain text
 #: doc/guix.texi:22756
 msgid "The @command{-p} tells @command{ssh} the port you want to connect to.  
@command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from 
complaining every time you modify your @command{config.scm} file and the 
@command{-o StrictHostKeyChecking=no} prevents you from having to allow a 
connection to an unknown host every time you connect."
-msgstr ""
+msgstr "Le @command{-p} donne le port auquel vous voulez vous connecter à 
@command{ssh}, @command{-o UserKnownHostsFile=/dev/null} évite que 
@command{ssh} ne se plaigne à chaque fois que vous modifiez le fichier 
@command{config.scm} et @command{-o StrictHostKeyChecking=no} évite que vous 
n'ayez à autoriser une connexion à un hôte inconnu à chaque fois que vous vous 
connectez."
 
 #. type: subsubsection
 #: doc/guix.texi:22757
 #, no-wrap
 msgid "Using @command{virt-viewer} with Spice"
-msgstr ""
+msgstr "Utiliser @command{virt-viewer} avec Spice"
 
 #. type: Plain text
 #: doc/guix.texi:22763
 msgid "As an alternative to the default @command{qemu} graphical client you 
can use the @command{remote-viewer} from the @command{virt-viewer} package.  To 
connect pass the @command{-spice port=5930,disable-ticketing} flag to 
@command{qemu}.  See previous section for further information on how to do 
this."
-msgstr ""
+msgstr "Alternativement au client graphique @command{qemu} par défaut vous 
pouvez utiliser @command{remote-viewer} du paquet @command{virt-viewer}.  Pour 
vous connecter, passez le drapeau @command{-spice port=5930,disable-ticketing} 
à @command{qemu}.  Voir les sections précédentes pour plus d'informations sur 
comment faire cela."
 
 #. type: Plain text
 #: doc/guix.texi:22766
 msgid "Spice also allows you to do some nice stuff like share your clipboard 
with your VM.  To enable that you'll also have to pass the following flags to 
@command{qemu}:"
-msgstr ""
+msgstr "Spice a aussi de chouettes fonctionnalités comme le partage de votre 
presse-papier avec la VM.  Pour activer cela vous devrez aussi passer les 
drapeaux suivants à @command{qemu} :"
 
 #. type: example
 #: doc/guix.texi:22772
@@ -41548,80 +41638,84 @@ msgid ""
 "-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
 "name=com.redhat.spice.0\n"
 msgstr ""
+"-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n"
+"-chardev spicevmc,name=vdagent,id=vdagent\n"
+"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
+"name=com.redhat.spice.0\n"
 
 #. type: Plain text
 #: doc/guix.texi:22775
 msgid "You'll also need to add the @pxref{Miscellaneous Services, Spice 
service}."
-msgstr ""
+msgstr "Vous devrez aussi ajouter le @pxref{Miscellaneous Services, Spice 
service}."
 
 #. type: Plain text
 #: doc/guix.texi:22782
 msgid "The previous sections show the available services and how one can 
combine them in an @code{operating-system} declaration.  But how do we define 
them in the first place? And what is a service anyway?"
-msgstr ""
+msgstr "Les sections précédentes montrent les services disponibles et comment 
on peut les combiner dans une déclaration @code{operating-system}.  Mais, déjà, 
comment les définir ?  Et qu'est-ce qu'un service au fait ?"
 
 #. type: cindex
 #: doc/guix.texi:22794
 #, no-wrap
 msgid "daemons"
-msgstr ""
+msgstr "démons"
 
 #. type: Plain text
 #: doc/guix.texi:22807
 msgid "Here we define a @dfn{service} as, broadly, something that extends the 
functionality of the operating system.  Often a service is a process---a 
@dfn{daemon}---started when the system boots: a secure shell server, a Web 
server, the Guix build daemon, etc.  Sometimes a service is a daemon whose 
execution can be triggered by another daemon---e.g., an FTP server started by 
@command{inetd} or a D-Bus service activated by @command{dbus-daemon}.  
Occasionally, a service does not map to a [...]
-msgstr ""
+msgstr "Ici nous définissons un @dfn{service} comme étant, assez largement, 
quelque chose qui étend la fonctionnalité d'un système d'exploitation.  Souvent 
un service est un processus — un @dfn{démon} — démarré lorsque le système 
démarre : un serveur ssh, un serveur web, le démon de construction de Guix, 
etc.  Parfois un service est un démon dont l'exécution peut être déclenchée par 
un autre démon — p.@: ex.@: un serveur FTP démarré par @command{inetd} ou un 
service D-Bus activé par @com [...]
 
 #. type: cindex
 #: doc/guix.texi:22808
 #, no-wrap
 msgid "service extensions"
-msgstr ""
+msgstr "extensions de service"
 
 #. type: Plain text
 #: doc/guix.texi:22820
 msgid "GuixSD services are connected by @dfn{extensions}.  For instance, the 
secure shell service @emph{extends} the Shepherd---the GuixSD initialization 
system, running as address@hidden giving it the command lines to start and stop 
the secure shell daemon (@pxref{Networking Services, @code{lsh-service}}); the 
UPower service extends the D-Bus service by passing it its @file{.service} 
specification, and extends the udev service by passing it device management 
rules (@pxref{Desktop Servi [...]
-msgstr ""
+msgstr "Les services de GuixSD sont connectés par des @dfn{extensions}.  Par 
exemple, le service ssh @dfn{étend} le Shepherd — le système d'initialisation 
de GuixSD, qui tourne en tant que address@hidden — en lui donnant les lignes de 
commande pour démarrer et arrêter le démon ssh (@pxref{Networking Services, 
@code{lsh-service}}) ; le service UPower étend le service D-Bus en lui passant 
sa spécification @file{.service} et étend le service udev en lui passant des 
règles de gestion de périphér [...]
 
 #. type: Plain text
 #: doc/guix.texi:22824
 msgid "All in all, services and their ``extends'' relations form a directed 
acyclic graph (DAG).  If we represent services as boxes and extensions as 
arrows, a typical system might provide something like this:"
-msgstr ""
+msgstr "En définitive, les services et leurs relation « d'extensions » forment 
un graphe orienté acyclique (DAG).  Si nous représentons les services comme des 
boîtes et les extensions comme des flèches, un système typique pourrait fournir 
quelque chose comme cela :"
 
 #. type: Plain text
 #: doc/guix.texi:22826
 msgid "@image{images/service-graph,,5in,Typical service extension graph.}"
-msgstr ""
+msgstr "@image{images/service-graph,,5in,Graphe d'extension des services 
typique.}"
 
 #. type: cindex
 #: doc/guix.texi:22827
 #, no-wrap
 msgid "system service"
-msgstr ""
+msgstr "service système"
 
 #. type: Plain text
 #: doc/guix.texi:22835
 msgid "At the bottom, we see the @dfn{system service}, which produces the 
directory containing everything to run and boot the system, as returned by the 
@command{guix system build} command.  @xref{Service Reference}, to learn about 
the other service types shown here.  @xref{system-extension-graph, the 
@command{guix system extension-graph} command}, for information on how to 
generate this representation for a particular operating system definition."
-msgstr ""
+msgstr "En bas, on voit le @dfn{service système} qui produit le répertoire 
contenant tout et lançant et démarrant le système, renvoyé par la commande 
@command{guix system build}.  @xref{Service Reference}, pour apprendre les 
autres types de services montrés ici.  @xref{system-extension-graph, the 
@command{guix system extension-graph} command}, pour plus d'informations sur la 
manière de générer cette représentation pour une définition de système 
d'exploitation particulière."
 
 #. type: cindex
 #: doc/guix.texi:22836
 #, no-wrap
 msgid "service types"
-msgstr ""
+msgstr "types de services"
 
 #. type: Plain text
 #: doc/guix.texi:22842
 msgid "Technically, developers can define @dfn{service types} to express these 
relations.  There can be any number of services of a given type on the 
system---for instance, a system running two instances of the GNU secure shell 
server (lsh) has two instances of @var{lsh-service-type}, with different 
parameters."
-msgstr ""
+msgstr "Techniquement, les développeurs peuvent définir des @dfn{types de 
services} pour exprimer ces relations.  Il peut y avoir n'importe quel quantité 
de services d'un type donné sur le système — par exemple, un système sur lequel 
tournent deux instances du serveur ssh de GNU (lsh) a deux instance de 
@var{lsh-service-type}, avec des paramètres différents."
 
 #. type: Plain text
 #: doc/guix.texi:22845
 msgid "The following section describes the programming interface for service 
types and services."
-msgstr ""
+msgstr "La section suivante décrit l'interface de programmation des types de 
services et des services."
 
 #. type: Plain text
 #: doc/guix.texi:22852
 msgid "A @dfn{service type} is a node in the DAG described above.  Let us 
start with a simple example, the service type for the Guix build daemon 
(@pxref{Invoking guix-daemon}):"
-msgstr ""
+msgstr "Un @dfn{type de service} est un nœud dans le DAG décrit plus haut.  
Commençons avec un exemple simple, le type de service pour le démon de 
construction de Guix (@pxref{Invoking guix-daemon}) :"
 
 #. type: example
 #: doc/guix.texi:22862
@@ -41636,74 +41730,82 @@ msgid ""
 "          (service-extension activation-service-type guix-activation)))\n"
 "   (default-value (guix-configuration))))\n"
 msgstr ""
+"(define guix-service-type\n"
+"  (service-type\n"
+"   (name 'guix)\n"
+"   (extensions\n"
+"    (list (service-extension shepherd-root-service-type 
guix-shepherd-service)\n"
+"          (service-extension account-service-type guix-accounts)\n"
+"          (service-extension activation-service-type guix-activation)))\n"
+"   (default-value (guix-configuration))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22866
 msgid "It defines three things:"
-msgstr ""
+msgstr "Il définit trois choses :"
 
 #. type: enumerate
 #: doc/guix.texi:22870
 msgid "A name, whose sole purpose is to make inspection and debugging easier."
-msgstr ""
+msgstr "Un nom, dont le seul but de rendre l'inspection et le débogage plus 
faciles."
 
 #. type: enumerate
 #: doc/guix.texi:22875
 msgid "A list of @dfn{service extensions}, where each extension designates the 
target service type and a procedure that, given the parameters of the service, 
returns a list of objects to extend the service of that type."
-msgstr ""
+msgstr "Une liste d'@dfn{extensions de services}, où chaque extension désigne 
le type de service cible et une procédure qui, étant donné les paramètres du 
service, renvoie une liste d'objets pour étendre le service de ce type."
 
 #. type: enumerate
 #: doc/guix.texi:22878
 msgid "Every service type has at least one service extension.  The only 
exception is the @dfn{boot service type}, which is the ultimate service."
-msgstr ""
+msgstr "Chaque type de service a au moins une extension de service.  La seule 
exception est le @dfn{type de service boot}, qui est le service ultime."
 
 #. type: enumerate
 #: doc/guix.texi:22881
 msgid "Optionally, a default value for instances of this type."
-msgstr ""
+msgstr "Éventuellement, une valeur par défaut pour les instances de ce type."
 
 #. type: Plain text
 #: doc/guix.texi:22884
 msgid "In this example, @var{guix-service-type} extends three services:"
-msgstr ""
+msgstr "Dans cet exemple, @var{guix-service-type} étend trois services :"
 
 #. type: item
 #: doc/guix.texi:22886
 #, no-wrap
 msgid "shepherd-root-service-type"
-msgstr ""
+msgstr "shepherd-root-service-type"
 
 #. type: table
 #: doc/guix.texi:22891
 msgid "The @var{guix-shepherd-service} procedure defines how the Shepherd 
service is extended.  Namely, it returns a @code{<shepherd-service>} object 
that defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd 
Services})."
-msgstr ""
+msgstr "La procédure @var{guix-shepherd-service} définit comment le service du 
Shepherd est étendu.  En fait, elle renvoie un objet @code{<shepherd-service>} 
qui définit comment @command{guix-daemon} est démarré et stoppé 
(@pxref{Shepherd Services})."
 
 #. type: item
 #: doc/guix.texi:22892
 #, no-wrap
 msgid "account-service-type"
-msgstr ""
+msgstr "account-service-type"
 
 #. type: table
 #: doc/guix.texi:22897
 msgid "This extension for this service is computed by @var{guix-accounts}, 
which returns a list of @code{user-group} and @code{user-account} objects 
representing the build user accounts (@pxref{Invoking guix-daemon})."
-msgstr ""
+msgstr "Cette extension pour ce service est calculée par @var{guix-accounts}, 
qui renvoie une liste d'objets @code{user-group} et @code{user-account} 
représentant les comptes des utilisateurs de construction (@pxref{Invoking 
guix-daemon})."
 
 #. type: item
 #: doc/guix.texi:22898
 #, no-wrap
 msgid "activation-service-type"
-msgstr ""
+msgstr "activation-service-type"
 
 #. type: table
 #: doc/guix.texi:22902
 msgid "Here @var{guix-activation} is a procedure that returns a gexp, which is 
a code snippet to run at ``activation time''---e.g., when the service is 
booted."
-msgstr ""
+msgstr "Ici, @var{guix-activation} est une procédure qui renvoie une gexp, qui 
est un bout de code qui s'exécute au moment de l'activation — p.@: ex.@: 
lorsque le service est démarré."
 
 #. type: Plain text
 #: doc/guix.texi:22905
 msgid "A service of this type is instantiated like this:"
-msgstr ""
+msgstr "Un service de ce type est instancié de cette manière :"
 
 #. type: example
 #: doc/guix.texi:22911
@@ -41714,27 +41816,31 @@ msgid ""
 "           (build-accounts 5)\n"
 "           (use-substitutes? #f)))\n"
 msgstr ""
+"(service guix-service-type\n"
+"         (guix-configuration\n"
+"           (build-accounts 5)\n"
+"           (use-substitutes? #f)))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22919
 msgid "The second argument to the @code{service} form is a value representing 
the parameters of this specific service instance.  
@xref{guix-configuration-type, @code{guix-configuration}}, for information 
about the @code{guix-configuration} data type.  When the value is omitted, the 
default value specified by @code{guix-service-type} is used:"
-msgstr ""
+msgstr "Le deuxième argument de la forme @code{service} est une valeur 
représentant les paramètres de cet instance spécifique du service.  
@xref{guix-configuration-type, @code{guix-configuration}}, pour plus 
d'informations sur le type de données @code{guix-configuration}.  Lorsque la 
valeur est omise, la valeur par défaut spécifiée par @code{guix-service-type} 
est utilisée :"
 
 #. type: example
 #: doc/guix.texi:22922
 #, no-wrap
 msgid "(service guix-service-type)\n"
-msgstr ""
+msgstr "(service guix-service-type)\n"
 
 #. type: Plain text
 #: doc/guix.texi:22926
 msgid "@var{guix-service-type} is quite simple because it extends other 
services but is not extensible itself."
-msgstr ""
+msgstr "@var{guix-service-type} est très simple car il étend d'autres services 
mais ne peut pas être étendu."
 
 #. type: Plain text
 #: doc/guix.texi:22930
 msgid "The service type for an @emph{extensible} service looks like this:"
-msgstr ""
+msgstr "Le type de service pour un service @emph{extensible} ressemble à ceci 
:"
 
 #. type: example
 #: doc/guix.texi:22937
@@ -41747,6 +41853,12 @@ msgid ""
 "                                          udev-shepherd-service)))\n"
 "\n"
 msgstr ""
+"(define udev-service-type\n"
+"  (service-type (name 'udev)\n"
+"                (extensions\n"
+"                 (list (service-extension shepherd-root-service-type\n"
+"                                          udev-shepherd-service)))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:22945
@@ -41760,63 +41872,70 @@ msgid ""
 "                              (udev udev)   ;the udev package to use\n"
 "                              (rules (append initial-rules rules)))))))))\n"
 msgstr ""
+"                (compose concatenate)       ; concatène la liste des règles\n"
+"                (extend (lambda (config rules)\n"
+"                          (match config\n"
+"                            (($ <udev-configuration> udev initial-rules)\n"
+"                             (udev-configuration\n"
+"                              (udev udev)   ; le paquet udev à utiliser\n"
+"                              (rules (append initial-rules rules)))))))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22951
 msgid "This is the service type for the 
@uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management 
daemon}.  Compared to the previous example, in addition to an extension of 
@var{shepherd-root-service-type}, we see two new fields:"
-msgstr ""
+msgstr "C'est le type de service pour le 
@uref{https://wiki.gentoo.org/wiki/Project:Eudev, le démon de gestion des 
périphériques eudev}.  Comparé à l'exemple précédent, en plus d'une extension 
de @var{shepherd-root-service-type}, on trouve deux nouveaux champs :"
 
 #. type: item
 #: doc/guix.texi:22953
 #, no-wrap
 msgid "compose"
-msgstr ""
+msgstr "compose"
 
 #. type: table
 #: doc/guix.texi:22956
 msgid "This is the procedure to @dfn{compose} the list of extensions to 
services of this type."
-msgstr ""
+msgstr "C'est la procédure pour @dfn{composer} la liste des extensions de 
services de ce type."
 
 #. type: table
 #: doc/guix.texi:22959
 msgid "Services can extend the udev service by passing it lists of rules; we 
compose those extensions simply by concatenating them."
-msgstr ""
+msgstr "Les services peuvent étendre le service udev en lui passant des listes 
de règles ; on compose ces extensions simplement en les concaténant."
 
 #. type: item
 #: doc/guix.texi:22960
 #, no-wrap
 msgid "extend"
-msgstr ""
+msgstr "extend"
 
 #. type: table
 #: doc/guix.texi:22963
 msgid "This procedure defines how the value of the service is @dfn{extended} 
with the composition of the extensions."
-msgstr ""
+msgstr "Cette procédure définie comme la valeur du service est @dfn{étendue} 
avec la composition des extensions."
 
 #. type: table
 #: doc/guix.texi:22968
 msgid "Udev extensions are composed into a list of rules, but the udev service 
value is itself a @code{<udev-configuration>} record.  So here, we extend that 
record by appending the list of rules it contains to the list of contributed 
rules."
-msgstr ""
+msgstr "Les extensions Udev sont composés en une liste de règles, mais la 
valeur du service udev est elle-même un enregistrement 
@code{<udev-configuration>}.  Donc ici, nous étendons cet enregistrement en 
ajoutant la liste des règle contribuées à la liste des règles qu'il contient 
déjà."
 
 #. type: table
 #: doc/guix.texi:22974
 msgid "This is a string giving an overview of the service type.  The string 
can contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}).  The 
@command{guix system search} command searches these strings and displays them 
(@pxref{Invoking guix system})."
-msgstr ""
+msgstr "C'est une chaîne donnant un aperçu du type de service.  Elle peut 
contenir du balisage Texinfo (@pxref{Overview,,, texinfo, GNU Texinfo}).  La 
commande @command{guix system search} permet de rechercher dans ces chaînes et 
de les afficher (@pxref{Invoking guix system})."
 
 #. type: Plain text
 #: doc/guix.texi:22979
 msgid "There can be only one instance of an extensible service type such as 
@var{udev-service-type}.  If there were more, the @code{service-extension} 
specifications would be ambiguous."
-msgstr ""
+msgstr "Il ne peut y avoir qu'une instance d'un type de service extensible 
comme @var{udev-service-type}.  S'il y en avait plus, les spécification 
@code{service-extension} seraient ambiguës."
 
 #. type: Plain text
 #: doc/guix.texi:22982
 msgid "Still here? The next section provides a reference of the programming 
interface for services."
-msgstr ""
+msgstr "Toujours ici ? La section suivante fournit une référence de 
l'interface de programmation des services."
 
 #. type: Plain text
 #: doc/guix.texi:22990
 msgid "We have seen an overview of service types (@pxref{Service Types and 
Services}).  This section provides a reference on how to manipulate services 
and service types.  This interface is provided by the @code{(gnu services)} 
module."
-msgstr ""
+msgstr "Nous avons vu un résumé des types de services (@pxref{Service Types 
and Services}).  Cette section fournit une référence sur la manière de 
manipuler les services et les types de services.  Cette interface est fournie 
par le module @code{(gnu services)}."
 
 #. type: deffn
 #: doc/guix.texi:22991
@@ -41827,28 +41946,28 @@ msgstr "{Procédure Scheme} service @var{type} 
address@hidden"
 #. type: deffn
 #: doc/guix.texi:22995
 msgid "Return a new service of @var{type}, a @code{<service-type>} object (see 
below.)  @var{value} can be any object; it represents the parameters of this 
particular service instance."
-msgstr ""
+msgstr "Renvoie un nouveau service de type @var{type}, un objet 
@code{<service-type>} (voir plus bas).  @var{value}peut être n'importe quel 
objet ; il représente les paramètres de cette instance particulière du service."
 
 #. type: deffn
 #: doc/guix.texi:22999
 msgid "When @var{value} is omitted, the default value specified by @var{type} 
is used; if @var{type} does not specify a default value, an error is raised."
-msgstr ""
+msgstr "Lorsque @var{value} est omise, la valeur par défaut spécifiée par 
@var{type} est utilisée ; si @var{type} ne spécifie pas de valeur par défaut, 
une erreur est levée."
 
 #. type: deffn
 #: doc/guix.texi:23001
 msgid "For instance, this:"
-msgstr ""
+msgstr "Par exemple ceci :"
 
 #. type: example
 #: doc/guix.texi:23004
 #, no-wrap
 msgid "(service openssh-service-type)\n"
-msgstr ""
+msgstr "(service openssh-service-type)\n"
 
 #. type: deffn
 #: doc/guix.texi:23008
 msgid "is equivalent to this:"
-msgstr ""
+msgstr "est équivalent à ceci :"
 
 #. type: example
 #: doc/guix.texi:23012
@@ -41857,11 +41976,13 @@ msgid ""
 "(service openssh-service-type\n"
 "         (openssh-configuration))\n"
 msgstr ""
+"(service openssh-service-type\n"
+"         (openssh-configuration))\n"
 
 #. type: deffn
 #: doc/guix.texi:23016
 msgid "In both cases the result is an instance of @code{openssh-service-type} 
with the default configuration."
-msgstr ""
+msgstr "Dans les deux cas le résultat est une instance de 
@code{openssh-service-type} avec la configuration par défaut."
 
 #. type: deffn
 #: doc/guix.texi:23018
@@ -41872,7 +41993,7 @@ msgstr "{Procédure Scheme} service? @var{obj}"
 #. type: deffn
 #: doc/guix.texi:23020
 msgid "Return true if @var{obj} is a service."
-msgstr ""
+msgstr "Renvoie vrai si @var{obj} est un service."
 
 #. type: deffn
 #: doc/guix.texi:23022
@@ -41883,7 +42004,7 @@ msgstr "{Procédure Scheme} service-kind @var{service}"
 #. type: deffn
 #: doc/guix.texi:23024
 msgid "Return the type of @var{service}---i.e., a @code{<service-type>} 
object."
-msgstr ""
+msgstr "Renvoie le type de @var{service} — c.-à-d.@: un objet 
@code{<service-type>}."
 
 #. type: deffn
 #: doc/guix.texi:23026
@@ -41894,12 +42015,12 @@ msgstr "{Procédure Scheme} service-value 
@var{service}"
 #. type: deffn
 #: doc/guix.texi:23029
 msgid "Return the value associated with @var{service}.  It represents its 
parameters."
-msgstr ""
+msgstr "Renvoie la valeur associée à @var{service}.  Elle représente ses 
paramètres."
 
 #. type: Plain text
 #: doc/guix.texi:23032
 msgid "Here is an example of how a service is created and manipulated:"
-msgstr ""
+msgstr "Voici un exemple de la manière dont un service est créé et manipulé :"
 
 #. type: example
 #: doc/guix.texi:23041
@@ -41948,49 +42069,49 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:23057
 msgid "The @code{modify-services} form provides a handy way to change the 
parameters of some of the services of a list such as @var{%base-services} 
(@pxref{Base Services, @code{%base-services}}).  It evaluates to a list of 
services.  Of course, you could always use standard list combinators such as 
@code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, GNU 
Guile Reference Manual}); @code{modify-services} simply provides a more concise 
form for this common pattern."
-msgstr ""
+msgstr "La forme @code{modify-services} fournit une manière pratique de 
modifier les paramètres de certains services d'une liste comme 
@var{%base-services} (@pxref{Base Services, @code{%base-services}}).  Elle 
s'évalue en une liste de services.  Bien sûr, vous pouvez toujours utiliser les 
combinateurs de liste standards comme @code{map} et @code{fold} pour cela 
(@pxref{SRFI-1, List Library,, guile, GNU Guile Reference Manual}) ; 
@code{modify-services} fournit simplement une manière plus  [...]
 
 #. type: deffn
 #: doc/guix.texi:23058
 #, no-wrap
 msgid "{Scheme Syntax} modify-services @var{services} @"
-msgstr ""
+msgstr "{Syntaxe Scheme} modify-services @var{services} @"
 
 #. type: deffn
 #: doc/guix.texi:23060
 msgid "(@var{type} @var{variable} => @var{body}) @dots{}"
-msgstr ""
+msgstr "(@var{type} @var{variable} => @var{body}) @dots{}"
 
 #. type: deffn
 #: doc/guix.texi:23063
 msgid "Modify the services listed in @var{services} according to the given 
clauses.  Each clause has the form:"
-msgstr ""
+msgstr "Modifie les services listés dans @var{services} en fonction des 
clauses données.  Chaque clause à la forme :"
 
 #. type: example
 #: doc/guix.texi:23066
 #, no-wrap
 msgid "(@var{type} @var{variable} => @var{body})\n"
-msgstr ""
+msgstr "(@var{type} @var{variable} => @var{body})\n"
 
 #. type: deffn
 #: doc/guix.texi:23073
 msgid "where @var{type} is a service type---e.g., 
@code{guix-service-type}---and @var{variable} is an identifier that is bound 
within the @var{body} to the service parameters---e.g., a 
@code{guix-configuration} instance---of the original service of that 
@var{type}."
-msgstr ""
+msgstr "où @var{type} est un type de service — p.@: ex.@: 
@code{guix-service-type} — et @var{variable} est un identifiant lié dans 
@var{body} aux paramètres du service — p.@: ex.@: une instance de 
@code{guix-configuration} — du service original de ce @var{type}."
 
 #. type: deffn
 #: doc/guix.texi:23080
 msgid "The @var{body} should evaluate to the new service parameters, which 
will be used to configure the new service.  This new service will replace the 
original in the resulting list.  Because a service's service parameters are 
created using @code{define-record-type*}, you can write a succinct @var{body} 
that evaluates to the new service parameters by using the @code{inherit} 
feature that @code{define-record-type*} provides."
-msgstr ""
+msgstr "La variable @var{body} devrait s'évaluer en de nouveaux paramètres de 
service, qui seront utilisés pour configurer le nouveau service.  Ce nouveau 
service remplacera l'original dans la liste qui en résulte.  Comme les 
paramètres d'un service sont créés avec @code{define-record-type*}, vous pouvez 
écrire un @var{body} court qui s'évalue en de nouveaux paramètres pour le 
services en utilisant @code{inherit}, fourni par @code{define-record-type*}."
 
 #. type: deffn
 #: doc/guix.texi:23082
 msgid "@xref{Using the Configuration System}, for example usage."
-msgstr ""
+msgstr "@xref{Using the Configuration System} pour des exemples d'utilisation."
 
 #. type: Plain text
 #: doc/guix.texi:23089
 msgid "Next comes the programming interface for service types.  This is 
something you want to know when writing new service definitions, but not 
necessarily when simply looking for ways to customize your 
@code{operating-system} declaration."
-msgstr ""
+msgstr "Suit l'interface de programmation des types de services.  Vous devrez 
la connaître pour écrire de nouvelles définitions de services, mais pas 
forcément lorsque vous cherchez des manières simples de personnaliser votre 
déclaration @code{operating-system}."
 
 #. type: deftp
 #: doc/guix.texi:23090
@@ -42007,12 +42128,12 @@ msgstr "type de service"
 #. type: deftp
 #: doc/guix.texi:23094
 msgid "This is the representation of a @dfn{service type} (@pxref{Service 
Types and Services})."
-msgstr ""
+msgstr "C'est la représentation d'un @dfn{type de service} (@pxref{Service 
Types and Services})."
 
 #. type: table
 #: doc/guix.texi:23098
 msgid "This is a symbol, used only to simplify inspection and debugging."
-msgstr ""
+msgstr "C'est un symbole, utilisé seulement pour simplifier l'inspection et le 
débogage."
 
 #. type: code{#1}
 #: doc/guix.texi:23099
@@ -42023,7 +42144,7 @@ msgstr "extensions"
 #. type: table
 #: doc/guix.texi:23101
 msgid "A non-empty list of @code{<service-extension>} objects (see below)."
-msgstr ""
+msgstr "Une liste non-vide d'objets @code{<service-extension>} (voir plus 
bas)."
 
 #. type: item
 #: doc/guix.texi:23102
@@ -42034,12 +42155,12 @@ msgstr "@code{compose} (par défaut : @code{#f})"
 #. type: table
 #: doc/guix.texi:23106
 msgid "If this is @code{#f}, then the service type denotes services that 
cannot be extended---i.e., services that do not receive ``values'' from other 
services."
-msgstr ""
+msgstr "S'il s'agit de @code{#f}, le type de service dénote des services qui 
ne peuvent pas être étendus — c.-à-d.@: qui ne reçoivent pas de « valeurs » 
d'autres services."
 
 #. type: table
 #: doc/guix.texi:23110
 msgid "Otherwise, it must be a one-argument procedure.  The procedure is 
called by @code{fold-services} and is passed a list of values collected from 
extensions.  It may return any single value."
-msgstr ""
+msgstr "Sinon, ce doit être une procédure à un argument.  La procédure est 
appelée par @code{fold-services} et on lui passe une liste de valeurs 
collectées par les extensions.  Elle peut renvoyer n'importe quelle valeur 
simple."
 
 #. type: item
 #: doc/guix.texi:23111
@@ -42050,17 +42171,17 @@ msgstr "@code{extend} (par défaut : @code{#f})"
 #. type: table
 #: doc/guix.texi:23113
 msgid "If this is @code{#f}, services of this type cannot be extended."
-msgstr ""
+msgstr "Si la valeur est @code{#f}, les services de ce type ne peuvent pas 
être étendus."
 
 #. type: table
 #: doc/guix.texi:23119
 msgid "Otherwise, it must be a two-argument procedure: @code{fold-services} 
calls it, passing it the initial value of the service as the first argument and 
the result of applying @code{compose} to the extension values as the second 
argument.  It must return a value that is a valid parameter value for the 
service instance."
-msgstr ""
+msgstr "Sinon, il doit s'agir 'une procédure à deux arguments : 
@code{fold-services} l'appelle et lui passe la valeur initiale du service comme 
premier argument et le résultat de l'application de @code{compose} sur les 
valeurs d'extension en second argument.  Elle doit renvoyer une valeur qui est 
une valeur de paramètre valide pour l'instance du service."
 
 #. type: deftp
 #: doc/guix.texi:23122
 msgid "@xref{Service Types and Services}, for examples."
-msgstr ""
+msgstr "@xref{Service Types and Services}, pour des exemples."
 
 #. type: deffn
 #: doc/guix.texi:23124
@@ -42072,6 +42193,8 @@ msgstr "{Procédure Scheme} service-extension 
@var{target-type} @"
 #: doc/guix.texi:23130
 msgid "@var{compute} Return a new extension for services of type 
@var{target-type}.  @var{compute} must be a one-argument procedure: 
@code{fold-services} calls it, passing it the value associated with the service 
that provides the extension; it must return a valid value for the target 
service."
 msgstr ""
+"@var{compute}\n"
+"Renvoie une nouvelle extension pour les services de type @var{target-type}.  
@var{compute} doit être une procédure à un argument : @code{fold-services} 
l'appelle et lui passe la valeur associée au service qui fournit cette 
extension ; elle doit renvoyer une valeur valide pour le service cible."
 
 #. type: deffn
 #: doc/guix.texi:23132
@@ -42082,12 +42205,12 @@ msgstr "{Procédure Scheme} service-extension? 
@var{obj}"
 #. type: deffn
 #: doc/guix.texi:23134
 msgid "Return true if @var{obj} is a service extension."
-msgstr ""
+msgstr "Renvoie vrai si @var{obj} est une extension de service."
 
 #. type: Plain text
 #: doc/guix.texi:23140
 msgid "Occasionally, you might want to simply extend an existing service.  
This involves creating a new service type and specifying the extension of 
interest, which can be verbose; the @code{simple-service} procedure provides a 
shorthand for this."
-msgstr ""
+msgstr "Parfois, vous voudrez simplement étendre un service existant.  Cela 
implique de créer un nouveau type de service et de spécifier l'extension qui 
vous intéresse, ce qui peut être assez verbeux ; la procédure 
@code{simple-service} fournit un raccourci pour ce cas."
 
 #. type: deffn
 #: doc/guix.texi:23141
@@ -42098,12 +42221,12 @@ msgstr "{Procédure Scheme} simple-service @var{name} 
@var{target} @var{value}"
 #. type: deffn
 #: doc/guix.texi:23145
 msgid "Return a service that extends @var{target} with @var{value}.  This 
works by creating a singleton service type @var{name}, of which the returned 
service is an instance."
-msgstr ""
+msgstr "Renvoie un service qui étend @var{target} avec @var{value}.  Cela 
fonctionne en créant un type de service singleton @var{name}, dont le service 
renvoyé est une instance."
 
 #. type: deffn
 #: doc/guix.texi:23148
 msgid "For example, this extends mcron (@pxref{Scheduled Job Execution}) with 
an additional job:"
-msgstr ""
+msgstr "Par exemple, cela étend mcron (@pxref{Scheduled Job Execution}) avec 
une tâche supplémentaire :"
 
 #. type: example
 #: doc/guix.texi:23152
@@ -42112,11 +42235,13 @@ msgid ""
 "(simple-service 'my-mcron-job mcron-service-type\n"
 "                #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
 msgstr ""
+"(simple-service 'my-mcron-job mcron-service-type\n"
+"                #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
 
 #. type: Plain text
 #: doc/guix.texi:23162
 msgid "At the core of the service abstraction lies the @code{fold-services} 
procedure, which is responsible for ``compiling'' a list of services down to a 
single directory that contains everything needed to boot and run the 
system---the directory shown by the @command{guix system build} command 
(@pxref{Invoking guix system}).  In essence, it propagates service extensions 
down the service graph, updating each node parameters on the way, until it 
reaches the root node."
-msgstr ""
+msgstr "Au cœur de l'abstraction des services se cache la procédure 
@code{fold-services}, responsable de la « compilation » d'une liste de services 
en un répertoire unique qui contient tout ce qui est nécessaire au démarrage et 
à l'exécution du système — le répertoire indiqué par la commande @command{guix 
system build} (@pxref{Invoking guix system}).  En soit, elle propage les 
extensions des services le long du graphe des services, en mettant à jour 
chaque paramètre des nœuds sur son che [...]
 
 #. type: deffn
 #: doc/guix.texi:23163
@@ -42128,11 +42253,13 @@ msgstr "{Procédure Scheme} fold-services 
@var{services} @"
 #: doc/guix.texi:23167
 msgid "[#:target-type @var{system-service-type}] Fold @var{services} by 
propagating their extensions down to the root of type @var{target-type}; return 
the root service adjusted accordingly."
 msgstr ""
+"[#:target-type @var{system-service-type}]\n"
+"Replie @var{services} en propageant leurs extensions jusqu'à la racine de 
type @var{target-type} ; renvoie le service racine ajusté de cette manière."
 
 #. type: Plain text
 #: doc/guix.texi:23171
 msgid "Lastly, the @code{(gnu services)} module also defines several essential 
service types, some of which are listed below."
-msgstr ""
+msgstr "Enfin, le module @code{(gnu services)} définie aussi divers types de 
services essentiels, dont certains sont listés ci-dessous."
 
 #. type: defvr
 #: doc/guix.texi:23172
@@ -42143,7 +42270,7 @@ msgstr "{Variable Scheme} system-service-type"
 #. type: defvr
 #: doc/guix.texi:23175
 msgid "This is the root of the service graph.  It produces the system 
directory as returned by the @command{guix system build} command."
-msgstr ""
+msgstr "C'est la racine du graphe des services.  Il produit le répertoire du 
système renvoyé par la commande @command{guix system build}."
 
 #. type: defvr
 #: doc/guix.texi:23177
@@ -42154,7 +42281,7 @@ msgstr "{Variable Scheme} boot-service-type"
 #. type: defvr
 #: doc/guix.texi:23180
 msgid "The type of the ``boot service'', which produces the @dfn{boot script}. 
 The boot script is what the initial RAM disk runs when booting."
-msgstr ""
+msgstr "Le type du service « boot », qui produit le @dfn{script de démarrage}. 
 Le script de démarrage est ce que le disque de RAM initial lance au démarrage."
 
 #. type: defvr
 #: doc/guix.texi:23182
@@ -42165,18 +42292,18 @@ msgstr "{Variable Scheme} etc-service-type"
 #. type: defvr
 #: doc/guix.texi:23186
 msgid "The type of the @file{/etc} service.  This service is used to create 
files under @file{/etc} and can be extended by passing it name/file tuples such 
as:"
-msgstr ""
+msgstr "Le type du service @file{/etc}.  Ce service est utilisé pour créer des 
fichiers dans @file{/etc} et peut être étendu en lui passant des tuples 
nom/fichier comme ceci :"
 
 #. type: example
 #: doc/guix.texi:23189
 #, no-wrap
 msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n"
-msgstr ""
+msgstr "(list `(\"issue\" ,(plain-file \"issue\" \"Bienvenue !\\n\")))\n"
 
 #. type: defvr
 #: doc/guix.texi:23193
 msgid "In this example, the effect would be to add an @file{/etc/issue} file 
pointing to the given file."
-msgstr ""
+msgstr "Dans cet exemple, l'effet serait d'ajouter un fichier 
@file{/etc/issue} pointant vers le fichier donné."
 
 #. type: defvr
 #: doc/guix.texi:23195
@@ -42187,7 +42314,7 @@ msgstr "{Variable Scheme} setuid-program-service-type"
 #. type: defvr
 #: doc/guix.texi:23199
 msgid "Type for the ``setuid-program service''.  This service collects lists 
of executable file names, passed as gexps, and adds them to the set of 
setuid-root programs on the system (@pxref{Setuid Programs})."
-msgstr ""
+msgstr "Le type du « service setuid ».  Ce service récupère des listes de noms 
de fichiers exécutables, passés en tant que gexps, et les ajoute à l'ensemble 
des programmes setuid root sur le système (@pxref{Setuid Programs})."
 
 #. type: defvr
 #: doc/guix.texi:23201
@@ -42198,7 +42325,7 @@ msgstr "{Variable Scheme} profile-service-type"
 #. type: defvr
 #: doc/guix.texi:23205
 msgid "Type of the service that populates the @dfn{system profile}---i.e., the 
programs under @file{/run/current-system/profile}.  Other services can extend 
it by passing it lists of packages to add to the system profile."
-msgstr ""
+msgstr "De type du service qui rempli le @dfn{profil du système} — c.-à-d.@: 
les programmes dans @file{/run/current-system/profile}.  Les autres services 
peuvent l'étendre en lui passant des listes de paquets à ajouter au profil du 
système."
 
 #. type: cindex
 #: doc/guix.texi:23211
@@ -42216,32 +42343,32 @@ msgstr "PID 1"
 #: doc/guix.texi:23213
 #, no-wrap
 msgid "init system"
-msgstr ""
+msgstr "système d'init"
 
 #. type: Plain text
 #: doc/guix.texi:23219
 msgid "The @code{(gnu services shepherd)} module provides a way to define 
services managed by the address@hidden, which is the GuixSD initialization 
system---the first process that is started when the system boots, also known as 
address@hidden (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Le module @code{(gnu services shepherd)} fournit une manière de 
définir les services gérés par le address@hidden, qui est le système 
d'initialisation de GuixSD — le premier processus démarré lorsque le système 
démarre, aussi connu comme étant le address@hidden (@pxref{Introduction,,, 
shepherd, The GNU Shepherd Manual})."
 
 #. type: Plain text
 #: doc/guix.texi:23225
 msgid "Services in the Shepherd can depend on each other.  For instance, the 
SSH daemon may need to be started after the syslog daemon has been started, 
which in turn can only happen once all the file systems have been mounted.  The 
simple operating system defined earlier (@pxref{Using the Configuration 
System}) results in a service graph like this:"
-msgstr ""
+msgstr "Les services dans le Shepherd peuvent dépendre les uns des autres.  
Par exemple, le démon SSH peut avoir besoin d'être démarré après le démon 
syslog, qui à son tour doit être démarré après le montage des systèmes de 
fichiers.  Le système d'exploitation simple déclaré précédemment (@pxref{Using 
the Configuration System}) crée un graphe de service comme ceci :"
 
 #. type: Plain text
 #: doc/guix.texi:23227
 msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}"
-msgstr ""
+msgstr "@image{images/shepherd-graph,,5in,Graphe de service typique du 
shepherd.}"
 
 #. type: Plain text
 #: doc/guix.texi:23231
 msgid "You can actually generate such a graph for any operating system 
definition using the @command{guix system shepherd-graph} command 
(@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})."
-msgstr ""
+msgstr "Vous pouvez générer un tel graphe pour n'importe quelle définition de 
système d'exploitation avec la commande @command{guix system shepherd-graph} 
(@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})."
 
 #. type: Plain text
 #: doc/guix.texi:23235
 msgid "The @var{%shepherd-root-service} is a service object representing 
address@hidden, of type @var{shepherd-root-service-type}; it can be extended by 
passing it lists of @code{<shepherd-service>} objects."
-msgstr ""
+msgstr "La variable @var{%shepherd-root-service} est un objet de service 
représentant le address@hidden, de type @var{shepherd-root-service-type} ; il 
peut être étendu en lui passant des listes d'objets @code{<shepherd-service>}."
 
 #. type: deftp
 #: doc/guix.texi:23236
@@ -42252,7 +42379,7 @@ msgstr "{Type de données} shepherd-service"
 #. type: deftp
 #: doc/guix.texi:23238
 msgid "The data type representing a service managed by the Shepherd."
-msgstr ""
+msgstr "Le type de données représentant un service géré par le Shepherd."
 
 #. type: code{#1}
 #: doc/guix.texi:23240
@@ -42263,12 +42390,12 @@ msgstr "provision"
 #. type: table
 #: doc/guix.texi:23242
 msgid "This is a list of symbols denoting what the service provides."
-msgstr ""
+msgstr "C'est une liste de symboles dénotant ce que le service fournit."
 
 #. type: table
 #: doc/guix.texi:23247
 msgid "These are the names that may be passed to @command{herd start}, 
@command{herd status}, and similar commands (@pxref{Invoking herd,,, shepherd, 
The GNU Shepherd Manual}).  @xref{Slots of services, the @code{provides} slot,, 
shepherd, The GNU Shepherd Manual}, for details."
-msgstr ""
+msgstr "Ce sont les noms qui peuvent être passés à @command{herd start}, 
@command{herd status} et les commandes similaires (@pxref{Invoking herd,,, 
shepherd, The GNU Shepherd Manual}).  @xref{Slots of services, the 
@code{provides} slot,, shepherd, The GNU Shepherd Manual}, pour plus de 
détails."
 
 #. type: item
 #: doc/guix.texi:23248
@@ -42279,7 +42406,7 @@ msgstr "@code{requirements} (par défaut : @code{'()})"
 #. type: table
 #: doc/guix.texi:23250
 msgid "List of symbols denoting the Shepherd services this one depends on."
-msgstr ""
+msgstr "Liste de symboles dénotant les services du Shepherd dont celui-ci 
dépend."
 
 #. type: item
 #: doc/guix.texi:23251
@@ -42290,7 +42417,7 @@ msgstr "@code{respawn?} (par défaut : @code{#t})"
 #. type: table
 #: doc/guix.texi:23254
 msgid "Whether to restart the service when it stops, for instance when the 
underlying process dies."
-msgstr ""
+msgstr "Indique s'il faut redémarrer le service lorsqu'il s'arrête, par 
exemple si le processus sous-jacent meurt."
 
 #. type: code{#1}
 #: doc/guix.texi:23255
@@ -42307,7 +42434,7 @@ msgstr "@code{stop} (par défaut : @code{#~(const #f)})"
 #. type: table
 #: doc/guix.texi:23262
 msgid "The @code{start} and @code{stop} fields refer to the Shepherd's 
facilities to start and stop processes (@pxref{Service De- and Constructors,,, 
shepherd, The GNU Shepherd Manual}).  They are given as G-expressions that get 
expanded in the Shepherd configuration file (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Les champs @code{start} et @code{stop} se réfèrent à la capacité du 
Shepherd de démarrer et d'arrêter des processus (@pxref{Service De- and 
Constructors,,, shepherd, The GNU Shepherd Manual}).  Ils sont donnés comme des 
G-expressions qui sont étendues dans le fichier de configuration du Shepherd 
(@pxref{G-Expressions})."
 
 #. type: item
 #: doc/guix.texi:23263
@@ -42324,7 +42451,7 @@ msgstr "action, des services Shepherd"
 #. type: table
 #: doc/guix.texi:23269
 msgid "This is a list of @code{shepherd-action} objects (see below) defining 
@dfn{actions} supported by the service, in addition to the standard 
@code{start} and @code{stop} actions.  Actions listed here become available as 
@command{herd} sub-commands:"
-msgstr ""
+msgstr "C'est une liste d'objets @code{shepherd-action} (voir plus bas) 
définissant des @dfn{actions} supportées par le service, en plus des actions 
@code{start} et @code{stop} standards.  Les actions listées ici sont 
disponibles en tant que sous-commande de @command{herd}."
 
 #. type: example
 #: doc/guix.texi:23272
@@ -42335,18 +42462,18 @@ msgstr "herd @var{action} @var{service} 
address@hidden@dots{}]\n"
 #. type: table
 #: doc/guix.texi:23276
 msgid "A documentation string, as shown when running:"
-msgstr ""
+msgstr "Une chaîne de documentation, montrée lorsqu'on lance :"
 
 #. type: example
 #: doc/guix.texi:23279
 #, no-wrap
 msgid "herd doc @var{service-name}\n"
-msgstr ""
+msgstr "herd doc @var{service-name}\n"
 
 #. type: table
 #: doc/guix.texi:23283
 msgid "where @var{service-name} is one of the symbols in @var{provision} 
(@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "où @var{service-name} est l'un des symboles dans @var{provision} 
(@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
 
 #. type: item
 #: doc/guix.texi:23284
@@ -42357,7 +42484,7 @@ msgstr "@code{modules} (par défaut : 
@var{%default-modules})"
 #. type: table
 #: doc/guix.texi:23287
 msgid "This is the list of modules that must be in scope when @code{start} and 
@code{stop} are evaluated."
-msgstr ""
+msgstr "C'est la liste des modules qui doivent être dans le contexte lorsque 
@code{start} et @code{stop} sont évalués."
 
 #. type: deftp
 #: doc/guix.texi:23291
@@ -42368,7 +42495,7 @@ msgstr "{Type de données} shepherd-action"
 #. type: deftp
 #: doc/guix.texi:23294
 msgid "This is the data type that defines additional actions implemented by a 
Shepherd service (see above)."
-msgstr ""
+msgstr "C'est le type de données qui définie des actions supplémentaires 
implémentées par un service Shepherd (voir au-dessus)."
 
 #. type: table
 #: doc/guix.texi:23298
@@ -42378,29 +42505,29 @@ msgstr "Symbole nommant l'action"
 #. type: table
 #: doc/guix.texi:23301
 msgid "This is a documentation string for the action.  It can be viewed by 
running:"
-msgstr ""
+msgstr "C'est une chaîne de documentation pour l'action.  Elle peut être 
consultée avec :"
 
 #. type: example
 #: doc/guix.texi:23304
 #, no-wrap
 msgid "herd doc @var{service} action @var{action}\n"
-msgstr ""
+msgstr "herd doc @var{service} action @var{action}\n"
 
 #. type: item
 #: doc/guix.texi:23306
 #, no-wrap
 msgid "procedure"
-msgstr ""
+msgstr "procedure"
 
 #. type: table
 #: doc/guix.texi:23310
 msgid "This should be a gexp that evaluates to a procedure of at least one 
argument, which is the ``running value'' of the service (@pxref{Slots of 
services,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Cela devrait être une gexp qui s'évalue en une procédure à au moins un 
argument, la « valeur de lancement » du service (@pxref{Slots of services,,, 
shepherd, The GNU Shepherd Manual})."
 
 #. type: deftp
 #: doc/guix.texi:23314
 msgid "The following example defines an action called @code{say-hello} that 
kindly greets the user:"
-msgstr ""
+msgstr "L'exemple suivant définie une action nommée @code{dire-bonjour} qui 
salue amicalement l'utilisateur :"
 
 #. type: example
 #: doc/guix.texi:23323
@@ -42414,11 +42541,18 @@ msgid ""
 "                         args)\n"
 "                 #t)))\n"
 msgstr ""
+"(shepherd-action\n"
+"  (name 'dire-bonjour)\n"
+"  (documentation \"Dit salut !\")\n"
+"  (procedure #~(lambda (running . args)\n"
+"                 (format #t \"Salut, l'ami ! arguments : ~s\\n\"\n"
+"                         args)\n"
+"                 #t)))\n"
 
 #. type: deftp
 #: doc/guix.texi:23326
 msgid "Assuming this action is added to the @code{example} service, then you 
can do:"
-msgstr ""
+msgstr "En supposant que cette action est ajoutée dans le service 
@code{example}, vous pouvez écrire :"
 
 #. type: example
 #: doc/guix.texi:23332
@@ -42429,11 +42563,15 @@ msgid ""
 "# herd say-hello example a b c\n"
 "Hello, friend! arguments: (\"a\" \"b\" \"c\")\n"
 msgstr ""
+"# herd dire-bonjour example\n"
+"Salut, l'ami ! arguments : ()\n"
+"# herd dire-bonjour example a b c\n"
+"Salut, l'ami ! arguments : (\"a\" \"b\" \"c\")\n"
 
 #. type: deftp
 #: doc/guix.texi:23337
 msgid "This, as you can see, is a fairly sophisticated way to say hello.  
@xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, for more info 
on actions."
-msgstr ""
+msgstr "Comme vous pouvez le voir, c'est une manière assez sophistiquée de 
dire bonjour.  @xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, 
pour plus d'informations sur les actions."
 
 #. type: defvr
 #: doc/guix.texi:23339
@@ -42444,12 +42582,12 @@ msgstr "{Variable Scheme} shepherd-root-service-type"
 #. type: defvr
 #: doc/guix.texi:23341
 msgid "The service type for the Shepherd ``root service''---i.e., 
address@hidden"
-msgstr ""
+msgstr "Le type de service pour le « service racine » du Shepherd — c.-à-d.@: 
le address@hidden"
 
 #. type: defvr
 #: doc/guix.texi:23345
 msgid "This is the service type that extensions target when they want to 
create shepherd services (@pxref{Service Types and Services}, for an example).  
Each extension must pass a list of @code{<shepherd-service>}."
-msgstr ""
+msgstr "C'est le type de service que les extensions ciblent lorqu'elles 
veulent créer un service shepherd (@pxref{Service Types and Services}, pour un 
exemple).  Chaque extension doit passer une liste de @code{<shepherd-service>}."
 
 #. type: defvr
 #: doc/guix.texi:23347
@@ -42460,47 +42598,47 @@ msgstr "{Variable Scheme} %shepherd-root-service"
 #. type: defvr
 #: doc/guix.texi:23349
 msgid "This service represents address@hidden"
-msgstr ""
+msgstr "Ce service représente le address@hidden"
 
 #. type: cindex
 #: doc/guix.texi:23355
 #, no-wrap
 msgid "documentation, searching for"
-msgstr ""
+msgstr "documentation, recherche"
 
 #. type: cindex
 #: doc/guix.texi:23356
 #, no-wrap
 msgid "searching for documentation"
-msgstr ""
+msgstr "chercher de la documentation"
 
 #. type: cindex
 #: doc/guix.texi:23357
 #, no-wrap
 msgid "Info, documentation format"
-msgstr ""
+msgstr "Info, format de documentation"
 
 #. type: cindex
 #: doc/guix.texi:23358
 #, no-wrap
 msgid "man pages"
-msgstr ""
+msgstr "man, pages de manuel"
 
 #. type: cindex
 #: doc/guix.texi:23359
 #, no-wrap
 msgid "manual pages"
-msgstr ""
+msgstr "pages de manuel"
 
 #. type: Plain text
 #: doc/guix.texi:23366
 msgid "In most cases packages installed with Guix come with documentation.  
There are two main documentation formats: ``Info'', a browseable hypertext 
format used for GNU software, and ``manual pages'' (or ``man pages''), the 
linear documentation format traditionally found on Unix.  Info manuals are 
accessed with the @command{info} command or with Emacs, and man pages are 
accessed using @command{man}."
-msgstr ""
+msgstr "Dans la plupart des cas les paquets installés avec Guix ont une 
documentation.  Il y a deux formats de documentation principaux : « Info », un 
format hypertexte navigable utilisé par les logiciels GNU et les « pages de 
manuel » (ou « pages de man »), le format de documentation linéaire 
traditionnel chez Unix.  Les manuels Info sont disponibles via la commande 
@command{info} ou avec Emacs, et les pages de man sont accessibles via la 
commande @command{man}."
 
 #. type: Plain text
 #: doc/guix.texi:23370
 msgid "You can look for documentation of software installed on your system by 
keyword.  For example, the following command searches for information about 
``TLS'' in Info manuals:"
-msgstr ""
+msgstr "Vous pouvez chercher de la documentation pour les logiciels installés 
sur votre système par mot-clef.  Par exemple, la commande suivante recherche 
des informations sur « TLS » dans les manuels Info :"
 
 #. type: example
 #: doc/guix.texi:23378
@@ -42513,11 +42651,17 @@ msgid ""
 "\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n"
 "@dots{}\n"
 msgstr ""
+"$ info -k TLS\n"
+"\"(emacs)Network Security\" -- STARTTLS\n"
+"\"(emacs)Network Security\" -- TLS\n"
+"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_flags\n"
+"\"(gnutls)Core TLS API\" -- gnutls_certificate_set_verify_function\n"
+"@dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:23382
 msgid "The command below searches for the same keyword in man pages:"
-msgstr ""
+msgstr "La commande suivante recherche le même mot-clef dans les pages de man 
:"
 
 #. type: example
 #: doc/guix.texi:23388
@@ -42528,49 +42672,53 @@ msgid ""
 "certtool (1)         - GnuTLS certificate tool\n"
 "@dots {}\n"
 msgstr ""
+"$ man -k TLS\n"
+"SSL (7)              - OpenSSL SSL/TLS library\n"
+"certtool (1)         - GnuTLS certificate tool\n"
+"@dots {}\n"
 
 #. type: Plain text
 #: doc/guix.texi:23394
 msgid "These searches are purely local to your computer so you have the 
guarantee that documentation you find corresponds to what you have actually 
installed, you can access it off-line, and your privacy is respected."
-msgstr ""
+msgstr "Ces recherches sont purement locales à votre ordinateur donc vous 
savez que la documentation trouvée correspond à ce qui est effectivement 
installé, vous pouvez y accéder hors ligne et votre vie privée est préservée."
 
 #. type: Plain text
 #: doc/guix.texi:23397
 msgid "Once you have these results, you can view the relevant documentation by 
running, say:"
-msgstr ""
+msgstr "Une fois que vous avez ces résultats, vous pouvez visualiser la 
documentation appropriée avec, disons :"
 
 #. type: example
 #: doc/guix.texi:23400
 #, no-wrap
 msgid "$ info \"(gnutls)Core TLS API\"\n"
-msgstr ""
+msgstr "$ info \"(gnutls)Core TLS API\"\n"
 
 #. type: Plain text
 #: doc/guix.texi:23404
 msgid "or:"
-msgstr ""
+msgstr "ou :"
 
 #. type: example
 #: doc/guix.texi:23407
 #, no-wrap
 msgid "$ man certtool\n"
-msgstr ""
+msgstr "$ man certtool\n"
 
 #. type: Plain text
 #: doc/guix.texi:23415
 msgid "Info manuals contain sections and indices as well as hyperlinks like 
those found in Web pages.  The @command{info} reader (@pxref{Top, Info reader,, 
info-stnd, Stand-alone GNU Info}) and its Emacs counterpart (@pxref{Misc 
Help,,, emacs, The GNU Emacs Manual}) provide intuitive key bindings to 
navigate manuals.  @xref{Getting Started,,, info, Info: An Introduction}, for 
an introduction to Info navigation."
-msgstr ""
+msgstr "Les manuels Info contiennent des sections et des indexs ainsi que des 
hyperliens comme ce qu'on trouve sur les pages Web.  Le lecteur @command{info} 
(@pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}) et sa 
contre-partie dans Emacs (@pxref{Misc Help,,, emacs, The GNU Emacs Manual}) 
fournissent des raccourcis claviers intuitifs pour naviguer dans les manuels  
@xref{Getting Started,,, info, Info: An Introduction} pour trouver une 
introduction sur la navigation dans info."
 
 #. type: cindex
 #: doc/guix.texi:23419
 #, no-wrap
 msgid "debugging files"
-msgstr ""
+msgstr "fichiers de débogage"
 
 #. type: Plain text
 #: doc/guix.texi:23425
 msgid "Program binaries, as produced by the GCC compilers for instance, are 
typically written in the ELF format, with a section containing @dfn{debugging 
information}.  Debugging information is what allows the debugger, GDB, to map 
binary code to source code; it is required to debug a compiled program in good 
conditions."
-msgstr ""
+msgstr "Les binaires des programmes, produits par les compilateurs GCC par 
exemple, sont typiquement écrits au format ELF, avec une section contenant des 
@dfn{informations de débogage}.  Les informations de débogage sont ce qui 
permet au débogueur, GDB, de relier le code binaire et le code source ; elles 
sont requises pour déboguer un programme compilé dans de bonnes conditions."
 
 #. type: Plain text
 #: doc/guix.texi:23433
@@ -42580,55 +42728,55 @@ msgstr "Le problème avec les informations de débogage 
est qu'elles prennent pa
 #. type: Plain text
 #: doc/guix.texi:23440
 msgid "Thankfully, the GNU Binary Utilities (Binutils) and GDB provide a 
mechanism that allows users to get the best of both worlds: debugging 
information can be stripped from the binaries and stored in separate files.  
GDB is then able to load debugging information from those files, when they are 
available (@pxref{Separate Debug Files,,, gdb, Debugging with GDB})."
-msgstr ""
+msgstr "Heureusement, les utilitaires binaires de GNU (Binutils) et GDB 
fournissent un mécanisme qui permet aux utilisateurs d'avoir le meilleur des 
deux mondes : les informations de débogage peuvent être nettoyées des binaires 
et stockées dans des fichiers séparés.  GDB peut ensuite charger les 
informations de débogage depuis ces fichiers, lorsqu'elles sont disponibles 
(@pxref{Separate Debug Files,,, gdb, Debugging with GDB})."
 
 #. type: Plain text
 #: doc/guix.texi:23448
 msgid "The GNU distribution takes advantage of this by storing debugging 
information in the @code{lib/debug} sub-directory of a separate package output 
unimaginatively called @code{debug} (@pxref{Packages with Multiple Outputs}).  
Users can choose to install the @code{debug} output of a package when they need 
it.  For instance, the following command installs the debugging information for 
the GNU C Library and for GNU Guile:"
-msgstr ""
+msgstr "La distribution GNU se sert de cela pour stocker les informations de 
débogage dans le sous-répertoire @code{lib/debug} d'une sortie séparée du 
paquet appelée sans grande imagination @code{debug} (@pxref{Packages with 
Multiple Outputs}).  Les utilisateurs peuvent choisir d'installer la sortie 
@code{debug} d'un paquet lorsqu'ils en ont besoin.  Par exemple, la commande 
suivante installe les informations de débogage pour la bibliothèque C de GNU et 
pour GNU Guile."
 
 #. type: example
 #: doc/guix.texi:23451
 #, no-wrap
 msgid "guix package -i glibc:debug guile:debug\n"
-msgstr ""
+msgstr "guix package -i glibc:debug guile:debug\n"
 
 #. type: Plain text
 #: doc/guix.texi:23457
 msgid "GDB must then be told to look for debug files in the user's profile, by 
setting the @code{debug-file-directory} variable (consider setting it from the 
@file{~/.gdbinit} file, @pxref{Startup,,, gdb, Debugging with GDB}):"
-msgstr ""
+msgstr "On doit ensuite dire à GDB de chercher les fichiers de débogage dans 
le profil de l'utilisateur, en remplissant la variable 
@code{debug-file-directory} (vous pourriez aussi l'instancier depuis le fichier 
@file{~/.gdbinit}, @pxref{Startup,,, gdb, Debugging with GDB}) :"
 
 #. type: example
 #: doc/guix.texi:23460
 #, no-wrap
 msgid "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"
-msgstr ""
+msgstr "(gdb) set debug-file-directory ~/.guix-profile/lib/debug\n"
 
 #. type: Plain text
 #: doc/guix.texi:23464
 msgid "From there on, GDB will pick up debugging information from the 
@code{.debug} files under @file{~/.guix-profile/lib/debug}."
-msgstr ""
+msgstr "À partir de maintenant, GDB récupérera les informations de débogage 
dans les fichiers @code{.debug} de @file{~/.guix-profile/lib/debug}."
 
 #. type: Plain text
 #: doc/guix.texi:23471
 msgid "In addition, you will most likely want GDB to be able to show the 
source code being debugged.  To do that, you will have to unpack the source 
code of the package of interest (obtained with @code{guix build --source}, 
@pxref{Invoking guix build}), and to point GDB to that source directory using 
the @code{directory} command (@pxref{Source Path, @code{directory},, gdb, 
Debugging with GDB})."
-msgstr ""
+msgstr "EN plus, vous voudrez sans doute que GDB puisse montrer le code source 
débogué.  Pour cela, vous devrez désarchiver le code source du paquet qui vous 
intéresse (obtenu via @code{guix build --source}, @pxref{Invoking guix build}) 
et pointer GDB vers ce répertoire des sources avec la commande @code{directory} 
(@pxref{Source Path, @code{directory},, gdb, Debugging with GDB})."
 
 #. type: Plain text
 #: doc/guix.texi:23480
 msgid "The @code{debug} output mechanism in Guix is implemented by the 
@code{gnu-build-system} (@pxref{Build Systems}).  Currently, it is 
opt-in---debugging information is available only for the packages with 
definitions explicitly declaring a @code{debug} output.  This may be changed to 
opt-out in the future if our build farm servers can handle the load.  To check 
whether a package has a @code{debug} output, use @command{guix package 
--list-available} (@pxref{Invoking guix package})."
-msgstr ""
+msgstr "Le mécanisme de la sortie @code{debug} dans Guix est implémenté par le 
@code{gnu-build-system} (@pxref{Build Systems}).  Actuellement, ce n'est pas 
obligatoire — les informations de débogage sont disponibles uniquement si les 
définitions déclarent explicitement une sortie @code{debug}.  Cela pourrait 
être modifié tout en permettant aux paquets de s'en passer dans le futur si nos 
serveurs de construction peuvent tenir la charge.  Pour vérifier si un paquet a 
une sortie @code{debug [...]
 
 #. type: cindex
 #: doc/guix.texi:23485
 #, no-wrap
 msgid "security updates"
-msgstr ""
+msgstr "mises à jour de sécurité"
 
 #. type: Plain text
 #: doc/guix.texi:23494
 msgid "Occasionally, important security vulnerabilities are discovered in 
software packages and must be patched.  Guix developers try hard to keep track 
of known vulnerabilities and to apply fixes as soon as possible in the 
@code{master} branch of Guix (we do not yet provide a ``stable'' branch 
containing only security updates.)  The @command{guix lint} tool helps 
developers find out about vulnerable versions of software packages in the 
distribution:"
-msgstr ""
+msgstr "Parfois, des vulnérabilités importantes sont découvertes dans les 
paquets logiciels et doivent être corrigées.  Les développeurs de Guix essayent 
de suivre les vulnérabilités connues et d'appliquer des correctifs aussi vite 
que possible dans la branche @code{master} de Guix (nous n'avons pas encore de 
branche « stable » contenant seulement des mises à jour de sécurité).  L'outil 
@command{guix lint} aide les développeurs à trouver les versions vulnérables 
des paquets logiciels dan [...]
 
 #. type: smallexample
 #: doc/guix.texi:23501
@@ -42640,16 +42788,21 @@ msgid ""
 "gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probably vulnerable to 
CVE-2016-1923, CVE-2016-1924\n"
 "@dots{}\n"
 msgstr ""
+"$ guix lint -c cve\n"
+"gnu/packages/base.scm:652:2: glibc@@2.21: probablement vulnérable à 
CVE-2015-1781, CVE-2015-7547\n"
+"gnu/packages/gcc.scm:334:2: gcc@@4.9.3: probablement vulnérable à 
CVE-2015-5276\n"
+"gnu/packages/image.scm:312:2: openjpeg@@2.1.0: probablement vulnérable à 
CVE-2016-1923, CVE-2016-1924\n"
+"@dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:23504
 msgid "@xref{Invoking guix lint}, for more information."
-msgstr ""
+msgstr "@xref{Invoking guix lint}, pour plus d'informations."
 
 #. type: quotation
 #: doc/guix.texi:23508
 msgid "As of version @value{VERSION}, the feature described below is 
considered ``beta''."
-msgstr ""
+msgstr "À la version @value{VERSION}, la fonctionnalité ci-dessous est 
considérée comme « bêta »."
 
 #. type: Plain text
 #: doc/guix.texi:23518
@@ -42665,18 +42818,18 @@ msgstr "greffes"
 #. type: Plain text
 #: doc/guix.texi:23527
 msgid "To address this, Guix implements @dfn{grafts}, a mechanism that allows 
for fast deployment of critical updates without the costs associated with a 
whole-distribution rebuild.  The idea is to rebuild only the package that needs 
to be patched, and then to ``graft'' it onto packages explicitly installed by 
the user and that were previously referring to the original package.  The cost 
of grafting is typically very low, and order of magnitudes lower than a full 
rebuild of the dependenc [...]
-msgstr ""
+msgstr "Pour corriger cela, Guix implémente les @dfn{greffes}, un mécanisme 
qui permet un déploiement rapide des mises à jour de sécurité critiques sans le 
coût associé à une reconstruction complète de la distribution.  L'idée est de 
reconstruire uniquement le paquet qui doit être corrigé puis de le « greffer » 
sur les paquets qui sont explicitement installés par l'utilisateur et qui se 
référaient avant au paquet d'origine.  Le coût d'une greffe est typiquement 
très bas, et plusieurs ord [...]
 
 #. type: cindex
 #: doc/guix.texi:23528
 #, no-wrap
 msgid "replacements of packages, for grafts"
-msgstr ""
+msgstr "remplacement de paquet, pour les greffes"
 
 #. type: Plain text
 #: doc/guix.texi:23534
 msgid "For instance, suppose a security update needs to be applied to Bash.  
Guix developers will provide a package definition for the ``fixed'' Bash, say 
@var{bash-fixed}, in the usual way (@pxref{Defining Packages}).  Then, the 
original package definition is augmented with a @code{replacement} field 
pointing to the package containing the bug fix:"
-msgstr ""
+msgstr "Par exemple, supposons qu'une mise à jour de sécurité doive être 
appliquée à Bash.  Les développeurs de Guix fourniront une définition de paquet 
pour le Bash « corrigé », disons @var{bash-fixed}, de la manière habituelle 
(@pxref{Defining Packages}).  Ensuite, la définition originale du paquet est 
augmentée avec un champ @code{replacement} qui pointe vers le paquet contenant 
le correctif de sécurité :"
 
 #. type: example
 #: doc/guix.texi:23541
@@ -42688,32 +42841,37 @@ msgid ""
 "    ;; @dots{}\n"
 "    (replacement bash-fixed)))\n"
 msgstr ""
+"(define bash\n"
+"  (package\n"
+"    (name \"bash\")\n"
+"    ;; @dots{}\n"
+"    (replacement bash-fixed)))\n"
 
 #. type: Plain text
 #: doc/guix.texi:23551
 msgid "From there on, any package depending directly or indirectly on 
Bash---as reported by @command{guix gc --requisites} (@pxref{Invoking guix 
gc})---that is installed is automatically ``rewritten'' to refer to 
@var{bash-fixed} instead of @var{bash}.  This grafting process takes time 
proportional to the size of the package, usually less than a minute for an 
``average'' package on a recent machine.  Grafting is recursive: when an 
indirect dependency requires grafting, then grafting ``pr [...]
-msgstr ""
+msgstr "À partir de maintenant, tout paquet dépendant directement ou 
indirectement de Bash — rapporté par @command{guix gc --requisites} 
(@pxref{Invoking guix gc}) — installé est automatiquement « réécrit » pour se 
référer à @var{bash-fixed} au lieu de @var{bash}.  Ce processus de greffe prend 
du temps en proportion de la taille du paquet, typiquement moins d'une minute 
pour un paquet de taille « moyenne » sur une machine récente.  La greffe est 
récursive : lorsqu'une dépendance indirect [...]
 
 #. type: Plain text
 #: doc/guix.texi:23559
 msgid "Currently, the length of the name and version of the graft and that of 
the package it replaces (@var{bash-fixed} and @var{bash} in the example above) 
must be equal.  This restriction mostly comes from the fact that grafting works 
by patching files, including binary files, directly.  Other restrictions may 
apply: for instance, when adding a graft to a package providing a shared 
library, the original shared library and its replacement must have the same 
@code{SONAME} and be binary-c [...]
-msgstr ""
+msgstr "Actuellement la longueur du nom et la version de la greffe et du 
paquet qu'il remplace (@var{bash-fixed} et @var{bash} dans l'exemple ci-dessus) 
doivent être identiques.  Cette restriction vient surtout du fait que la greffe 
fonctionne en corrigeant les fichiers, dont des fichiers binaires, directement. 
 D'autres restrictions peuvent apparaître : par exemple, si vous ajoutez une 
greffe à un paquet fournissant une bibliothèque partagée, la bibliothèque 
partagée originale et son re [...]
 
 #. type: Plain text
 #: doc/guix.texi:23563
 msgid "The @option{--no-grafts} command-line option allows you to forcefully 
avoid grafting (@pxref{Common Build Options, @option{--no-grafts}}).  Thus, the 
command:"
-msgstr ""
+msgstr "L'option en ligne de commande @option{--no-grafts} vous permet 
d'éviter les greffes (@pxref{Common Build Options, @option{--no-grafts}}).  
Donc la commande :"
 
 #. type: example
 #: doc/guix.texi:23566
 #, no-wrap
 msgid "guix build bash --no-grafts\n"
-msgstr ""
+msgstr "guix build bash --no-grafts\n"
 
 #. type: Plain text
 #: doc/guix.texi:23570
 msgid "returns the store file name of the original Bash, whereas:"
-msgstr ""
+msgstr "renvoie le nom de fichier dans les dépôt du Bash original, alors que :"
 
 #. type: example
 #: doc/guix.texi:23573
@@ -42724,118 +42882,118 @@ msgstr "guix build bash\n"
 #. type: Plain text
 #: doc/guix.texi:23578
 msgid "returns the store file name of the ``fixed'', replacement Bash.  This 
allows you to distinguish between the two variants of Bash."
-msgstr ""
+msgstr "renvoie le nom de fichier du Bash « corrigé » de remplacement.  Cela 
vous permet de distinguer les deux variantes de Bash."
 
 #. type: Plain text
 #: doc/guix.texi:23581
 msgid "To verify which Bash your whole profile refers to, you can run 
(@pxref{Invoking guix gc}):"
-msgstr ""
+msgstr "Pour vérifier à quel Bash votre profil se réfère, vous pouvez lancer 
(@pxref{Invoking guix gc}) :"
 
 #. type: example
 #: doc/guix.texi:23584
 #, no-wrap
 msgid "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n"
-msgstr ""
+msgstr "guix gc -R `readlink -f ~/.guix-profile` | grep bash\n"
 
 #. type: Plain text
 #: doc/guix.texi:23589
 msgid "@dots{} and compare the store file names that you get with those above. 
 Likewise for a complete GuixSD system generation:"
-msgstr ""
+msgstr "@dots{} et comparer les noms de fichiers que vous obtenez avec ceux du 
dessus.  De la même manière pour une génération du système GuixSD :"
 
 #. type: example
 #: doc/guix.texi:23592
 #, no-wrap
 msgid "guix gc -R `guix system build my-config.scm` | grep bash\n"
-msgstr ""
+msgstr "guix gc -R `guix system build my-config.scm` | grep bash\n"
 
 #. type: Plain text
 #: doc/guix.texi:23596
 msgid "Lastly, to check which Bash running processes are using, you can use 
the @command{lsof} command:"
-msgstr ""
+msgstr "Enfin, pour vérifier quelles processus Bash lancés vous utilisez, vous 
pouvez utiliser la commande @command{lsof} :"
 
 #. type: example
 #: doc/guix.texi:23599
 #, no-wrap
 msgid "lsof | grep /gnu/store/.*bash\n"
-msgstr ""
+msgstr "lsof | grep /gnu/store/.*bash\n"
 
 #. type: Plain text
 #: doc/guix.texi:23616
 msgid "From a programming viewpoint, the package definitions of the GNU 
distribution are provided by Guile modules in the @code{(gnu packages @dots{})} 
name address@hidden that packages under the @code{(gnu packages @dots{})} 
module name space are not necessarily ``GNU packages''.  This module naming 
scheme follows the usual Guile module naming convention: @code{gnu} means that 
these modules are distributed as part of the GNU system, and @code{packages} 
identifies modules that defin [...]
-msgstr ""
+msgstr "D'un point de vue programmatique, les définitions de paquets de la 
distribution GNU sont fournies par des modules Guile dans l'espace de noms 
@code{(gnu packages @dots{})address@hidden que les paquets sous l'espace de nom 
@code{(gnu packages @dots{})} ne sont pas nécessairement des « paquets GNU ».  
Le nom de ce module suit la convention de nommage usuelle de Guile : @code{gnu} 
signifie que ces modules sont distribués dans le système GNU, et 
@code{packages} identifie les mo [...]
 
 #. type: Plain text
 #: doc/guix.texi:23623
 msgid "The @code{(gnu packages @dots{})} module name space is automatically 
scanned for packages by the command-line tools.  For instance, when running 
@code{guix package -i emacs}, all the @code{(gnu packages @dots{})} modules are 
scanned until one that exports a package object whose name is @code{emacs} is 
found.  This package search facility is implemented in the @code{(gnu 
packages)} module."
-msgstr ""
+msgstr "L'espace de nom @code{(gnu packages @dots{})} est automatiquement 
scanné par les outils en ligne de commande.  Par exemple, lorsque vous lancez 
@code{guix package -i emacs}, tous les modules @code{(gnu packages @dots{})} 
sont scannés jusqu'à en trouver un qui exporte un objet de paquet dont le nom 
est @code{emacs}.  Cette capacité à chercher des paquets est implémentée dans 
le module @code{(gnu packages)}."
 
 #. type: cindex
 #: doc/guix.texi:23625
 #, no-wrap
 msgid "package module search path"
-msgstr ""
+msgstr "chemin de recherche des modules de paquets"
 
 #. type: Plain text
 #: doc/guix.texi:23634
 msgid "Users can store package definitions in modules with different 
names---e.g., @code{(my-packages emacs)address@hidden that the file name and 
module name must match.  For instance, the @code{(my-packages emacs)} module 
must be stored in a @file{my-packages/emacs.scm} file relative to the load path 
specified with @option{--load-path} or @code{GUIX_PACKAGE_PATH}.  @xref{Modules 
and the File System,,, guile, GNU Guile Reference Manual}, for details.}.  
There are two ways to make these  [...]
-msgstr ""
+msgstr "Les utilisateurs peuvent stocker des définitions dans des modules avec 
des noms différents — p.@: ex.@: @code{(my-packages emacs)address@hidden que le 
nom de fichier et de module doivent être identiques.  Par exemple, le module 
@code{(my-packages emacs)} doit être stocké dans un fichier 
@file{my-packages/emacs.scm} relativement au chemin de chargement spécifié avec 
@option{--load-path} ou @code{GUIX_PACKAGE_PATH}.  @xref{Modules and the File 
System,,, guile, GNU Guile Refer [...]
 
 #. type: enumerate
 #: doc/guix.texi:23641
 msgid "By adding the directory containing your package modules to the search 
path with the @code{-L} flag of @command{guix package} and other commands 
(@pxref{Common Build Options}), or by setting the @code{GUIX_PACKAGE_PATH} 
environment variable described below."
-msgstr ""
+msgstr "En ajoutant le répertoire contenant vos modules de paquets au chemin 
de recherche avec le drapeau @code{-L} de @command{guix package} et des autres 
commandes (@pxref{Common Build Options}) ou en indiquant la variable 
d'environnement @code{GUIX_PACKAGE_PATH} décrite plus bas."
 
 #. type: enumerate
 #: doc/guix.texi:23647
 msgid "By defining a @dfn{channel} and configuring @command{guix pull} so that 
it pulls from it.  A channel is essentially a Git repository containing package 
modules.  @xref{Channels}, for more information on how to define and use 
channels."
-msgstr ""
+msgstr "En définissant un @dfn{canal} et en configurant @command{guix pull} 
pour qu'il l'utilise.  Un canal est essentiellement un dépôt Git contenant des 
modules de paquets.  @xref{Channels}, pour plus d'informations sur comment 
définir et utiliser des canaux."
 
 #. type: Plain text
 #: doc/guix.texi:23650
 msgid "@code{GUIX_PACKAGE_PATH} works similarly to other search path 
variables:"
-msgstr ""
+msgstr "@code{GUIX_PACKAGE_PATH} fonctionne comme les autres variables de 
chemins de recherche :"
 
 #. type: defvr
 #: doc/guix.texi:23651
 #, no-wrap
 msgid "{Environment Variable} GUIX_PACKAGE_PATH"
-msgstr ""
+msgstr "{Variable d'environnement} GUIX_PACKAGE_PATH"
 
 #. type: defvr
 #: doc/guix.texi:23655
 msgid "This is a colon-separated list of directories to search for additional 
package modules.  Directories listed in this variable take precedence over the 
own modules of the distribution."
-msgstr ""
+msgstr "C'est une liste séparée par des deux-points de répertoires dans 
lesquels trouver des modules de paquets supplémentaires.  Les répertoires 
listés dans cette variable sont prioritaires par rapport aux paquets de la 
distribution."
 
 #. type: Plain text
 #: doc/guix.texi:23663
 msgid "The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}: 
each package is built based solely on other packages in the distribution.  The 
root of this dependency graph is a small set of @dfn{bootstrap binaries}, 
provided by the @code{(gnu packages bootstrap)} module.  For more information 
on bootstrapping, @pxref{Bootstrapping}."
-msgstr ""
+msgstr "La distribution est entièrement @dfn{bootstrappée} et 
@dfn{auto-contenue} : chaque paquet est construit uniquement à partir d'autres 
paquets de la distribution.  La racine de ce graphe de dépendance est un petit 
ensemble de @dfn{binaires de bootstrap} fournis par le module @code{(gnu 
packages bootstrap)}.  Pour plus d'informations sur le bootstrap, 
@pxref{Bootstrapping}."
 
 #. type: cindex
 #: doc/guix.texi:23667
 #, no-wrap
 msgid "packages, creating"
-msgstr ""
+msgstr "paquets, création"
 
 #. type: Plain text
 #: doc/guix.texi:23672
 msgid "The GNU distribution is nascent and may well lack some of your favorite 
packages.  This section describes how you can help make the distribution grow.  
@xref{Contributing}, for additional information on how you can help."
-msgstr ""
+msgstr "La distribution GNU est jeune et vos paquets préférés peuvent manquer. 
 Cette section décrit comment vous pouvez aider à agrandir la distribution.  
@xref{Contributing} pour des informations supplémentaires sur les différentes 
manière de nous aider."
 
 #. type: Plain text
 #: doc/guix.texi:23680
 msgid "Free software packages are usually distributed in the form of 
@dfn{source code tarballs}---typically @file{tar.gz} files that contain all the 
source files.  Adding a package to the distribution means essentially two 
things: adding a @dfn{recipe} that describes how to build the package, 
including a list of other packages required to build it, and adding 
@dfn{package metadata} along with that recipe, such as a description and 
licensing information."
-msgstr ""
+msgstr "Les paquets de logiciels libres sont habituellement distribués sous 
forme @dfn{d'archives de sources} — typiquement des fichiers @file{.tar.gz} 
contenant tous les fichiers sources.  Ajouter un paquet à la distribution 
signifie essentiellement deux choses : ajouter une @dfn{recette} qui décrit 
comment construire le paquet, avec une liste d'autres paquets requis pour le 
construire, et ajouter des @dfn{métadonnées de paquet} avec la recette, comme 
une description et une licence."
 
 #. type: Plain text
 #: doc/guix.texi:23689
 msgid "In Guix all this information is embodied in @dfn{package definitions}.  
Package definitions provide a high-level view of the package.  They are written 
using the syntax of the Scheme programming language; in fact, for each package 
we define a variable bound to the package definition, and export that variable 
from a module (@pxref{Package Modules}).  However, in-depth Scheme knowledge is 
@emph{not} a prerequisite for creating packages.  For more information on 
package definitions,  [...]
-msgstr ""
+msgstr "Dans Guix, toutes ces informations sont incorporées dans les 
@dfn{définitions de paquets}.  Les définitions de paquets fournissent une vue 
de haut-niveau du paquet.  Elles sont écrites avec la syntaxe du langage de 
programmation Scheme ; en fait, pour chaque paquet nous définissons une 
variable liée à la définition et exportons cette variable à partir d'un module 
(@pxref{Package Modules}).  Cependant, il n'est @emph{pas} nécessaire d'avoir 
une connaissance approfondie du Scheme p [...]
 
 #. type: Plain text
 #: doc/guix.texi:23695
 msgid "Once a package definition is in place, stored in a file in the Guix 
source tree, it can be tested using the @command{guix build} command 
(@pxref{Invoking guix build}).  For example, assuming the new package is called 
@code{gnew}, you may run this command from the Guix build tree (@pxref{Running 
Guix Before It Is Installed}):"
-msgstr ""
+msgstr "Une fois une définition de paquet en place, stocké dans un fichier de 
l'arborescence des sources de Guix, il peut être testé avec la commande 
@command{guix build} (@pxref{Invoking guix build}).  Par exemple, en supposant 
que le nouveau paquet s'appelle @code{gnew}, vous pouvez lancer cette commande 
depuis l'arborescence de construction de Guix (@pxref{Running Guix Before It Is 
Installed}) :"
 
 #. type: example
 #: doc/guix.texi:23698
@@ -42846,29 +43004,29 @@ msgstr "./pre-inst-env guix build gnew 
--keep-failed\n"
 #. type: Plain text
 #: doc/guix.texi:23704
 msgid "Using @code{--keep-failed} makes it easier to debug build failures 
since it provides access to the failed build tree.  Another useful command-line 
option when debugging is @code{--log-file}, to access the build log."
-msgstr ""
+msgstr "Utiliser @code{--keep-failed} rend facile le débogage des échecs car 
il fournit l'accès à l'arborescence de construction qui a échouée.  Une autre 
sous-commande utile pour le débogage est @code{--log-file}, pour accéder au 
journal de construction."
 
 #. type: Plain text
 #: doc/guix.texi:23709
 msgid "If the package is unknown to the @command{guix} command, it may be that 
the source file contains a syntax error, or lacks a @code{define-public} clause 
to export the package variable.  To figure it out, you may load the module from 
Guile to get more information about the actual error:"
-msgstr ""
+msgstr "Si le paquet n'est pas connu de la commande @command{guix}, il se peut 
que le fichier source ait une erreur de syntaxe, ou qu'il manque une clause 
@code{define-public} pour exporter la variable du paquet.  Pour comprendre 
cela, vous pouvez charger le module depuis Guile pour avoir plus d'informations 
sur la véritable erreur :"
 
 #. type: example
 #: doc/guix.texi:23712
 #, no-wrap
 msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"
-msgstr ""
+msgstr "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n"
 
 #. type: Plain text
 #: doc/guix.texi:23720
 msgid "Once your package builds correctly, please send us a patch 
(@pxref{Contributing}).  Well, if you need help, we will be happy to help you 
too.  Once the patch is committed in the Guix repository, the new package 
automatically gets built on the supported platforms by 
@url{http://hydra.gnu.org/jobset/gnu/master, our continuous integration 
system}."
-msgstr ""
+msgstr "Une fois que votre paquet est correctement construit, envoyez-nous un 
correctif (@pxref{Contributing}).  Enfin, si vous avez besoin d'aide, nous 
serrons ravis de vous aider.  Une fois que le correctif soumis est commité dans 
le dépôt Guix, le nouveau paquet est automatiquement construit sur les 
plate-formes supportées par @url{http://hydra.gnu.org/jobset/gnu/master, notre 
système d'intégration continue}."
 
 #. type: cindex
 #: doc/guix.texi:23721
 #, no-wrap
 msgid "substituter"
-msgstr ""
+msgstr "substitution"
 
 #. type: Plain text
 #: doc/guix.texi:23728
@@ -42879,69 +43037,69 @@ msgstr "On peut obtenir la nouvelle définition du 
paquet simplement en lançant
 #: doc/guix.texi:23745
 #, no-wrap
 msgid "free software"
-msgstr ""
+msgstr "logiciel libre"
 
 #. type: Plain text
 #: doc/guix.texi:23753
 msgid "The GNU operating system has been developed so that users can have 
freedom in their computing.  GNU is @dfn{free software}, meaning that users 
have the @url{http://www.gnu.org/philosophy/free-sw.html,four essential 
freedoms}: to run the program, to study and change the program in source code 
form, to redistribute exact copies, and to distribute modified versions.  
Packages found in the GNU distribution provide only software that conveys these 
four freedoms."
-msgstr ""
+msgstr "Le système d'exploitation GNU a été développé pour que les 
utilisateurs puissent utiliser leur ordinateur en toute liberté.  GNU est un 
@dfn{logiciel libre}, ce qui signifie que les utilisateur ont les 
@url{http://www.gnu.org/philosophy/free-sw.fr.html,quatre libertés 
essentielles} : exécuter le programmer, étudier et modifier le programme sous 
sa forme source, redistribuer des copies exactes et distribuer les versions 
modifiées.  Les paquets qui se trouvent dans la distribution  [...]
 
 #. type: Plain text
 #: doc/guix.texi:23759
 msgid "In addition, the GNU distribution follow the 
@url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,free 
software distribution guidelines}.  Among other things, these guidelines reject 
non-free firmware, recommendations of non-free software, and discuss ways to 
deal with trademarks and patents."
-msgstr ""
+msgstr "En plus, la distribution GNU suit les 
@url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,recommandations
 pour les distributions systèmes libres}.  Entre autres choses, ces 
recommandations rejettent les microgiciels non libres, les recommandations de 
logiciels non libres et discute des façon de gérer les marques et les brevets."
 
 #. type: Plain text
 #: doc/guix.texi:23767
 msgid "Some otherwise free upstream package sources contain a small and 
optional subset that violates the above guidelines, for instance because this 
subset is itself non-free code.  When that happens, the offending items are 
removed with appropriate patches or code snippets in the @code{origin} form of 
the package (@pxref{Defining Packages}).  This way, @code{guix build --source} 
returns the ``freed'' source rather than the unmodified upstream source."
-msgstr ""
+msgstr "Certaines sources amont autrement parfaitement libres contiennent une 
petite partie facultative qui viole les recommandations ci-dessus, par exemple 
car cette partie est du code non-libre.  Lorsque cela arrive, les éléments en 
question sont supprimés avec des correctifs ou des bouts de codes appropriés 
dans la forme @code{origin} du paquet (@pxref{Defining Packages}).  De cette 
manière, @code{guix build --source} renvoie la source « libérée » plutôt que la 
source amont sans modif [...]
 
 #. type: cindex
 #: doc/guix.texi:23772
 #, no-wrap
 msgid "package name"
-msgstr ""
+msgstr "nom du paquet"
 
 #. type: Plain text
 #: doc/guix.texi:23780
 msgid "A package has actually two names associated with it: First, there is 
the name of the @emph{Scheme variable}, the one following @code{define-public}. 
 By this name, the package can be made known in the Scheme code, for instance 
as input to another package.  Second, there is the string in the @code{name} 
field of a package definition.  This name is used by package management 
commands such as @command{guix package} and @command{guix build}."
-msgstr ""
+msgstr "Un paquet a en fait deux noms qui lui sont associés : d'abord il y a 
le nom de la @emph{variable Scheme}, celui qui suit @code{define-public}.  Par 
ce nom, le paquet peut se faire connaître par le code Scheme, par exemple comme 
entrée d'un autre paquet.  Deuxièmement, il y a la chaîne dans le champ 
@code{name} d'une définition de paquet.  Ce nom est utilisé par les commandes 
de gestion des paquets comme @command{guix package} et @command{guix build}."
 
 #. type: Plain text
 #: doc/guix.texi:23785
 msgid "Both are usually the same and correspond to the lowercase conversion of 
the project name chosen upstream, with underscores replaced with hyphens.  For 
instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-net}."
-msgstr ""
+msgstr "Les deux sont habituellement les mêmes et correspondent à la 
conversion en minuscule du nom du projet choisi en amont, où les underscores 
sont remplacés par des tirets.  Par exemple, GNUnet est disponible en tant que 
@code{gnunet} et SDL_net en tant que @code{sdl-net}."
 
 #. type: Plain text
 #: doc/guix.texi:23790
 msgid "We do not add @code{lib} prefixes for library packages, unless these 
are already part of the official project name.  But @pxref{Python Modules} and 
@ref{Perl Modules} for special rules concerning modules for the Python and Perl 
languages."
-msgstr ""
+msgstr "Nous n'ajoutons pas de préfixe @code{lib} au bibliothèques de paquets, 
à moins qu'il ne fasse partie du nom officiel du projet.  Mais @pxref{Python 
Modules} et @ref{Perl Modules}  pour des règles spéciales concernant les 
modules pour les langages Python et Perl."
 
 #. type: Plain text
 #: doc/guix.texi:23792
 msgid "Font package names are handled differently, @pxref{Fonts}."
-msgstr ""
+msgstr "Les noms de paquets de polices sont gérés différemment, @pxref{Fonts}."
 
 #. type: cindex
 #: doc/guix.texi:23797
 #, no-wrap
 msgid "package version"
-msgstr ""
+msgstr "version du paquet"
 
 #. type: Plain text
 #: doc/guix.texi:23806
 msgid "We usually package only the latest version of a given free software 
project.  But sometimes, for instance for incompatible library versions, two 
(or more) versions of the same package are needed.  These require different 
Scheme variable names.  We use the name as defined in @ref{Package Naming} for 
the most recent version; previous versions use the same name, suffixed by 
@code{-} and the smallest prefix of the version number that may distinguish the 
two versions."
-msgstr ""
+msgstr "Nous n'incluons en général que la dernière version d'un projet de 
logiciel libre donné.  Mais parfois, par exemple pour des versions 
incompatibles de bibliothèques, deux (ou plus) versions du même paquet sont 
requises.  Elles ont besoin d'un nom de variable Scheme différent.  Nous 
utilisons le nom défini dans @ref{Package Naming} pour la version la plus 
récente ; les versions précédentes utilisent le même nom, suffixé par @code{-} 
et le plus petit préfixe du numéro de version qui [...]
 
 #. type: Plain text
 #: doc/guix.texi:23809
 msgid "The name inside the package definition is the same for all versions of 
a package and does not contain any version number."
-msgstr ""
+msgstr "Le nom dans la définition du paquet est le même pour toutes les 
versions d'un paquet et ne contient pas de numéro de version."
 
 #. type: Plain text
 #: doc/guix.texi:23811
 msgid "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged 
as follows:"
-msgstr ""
+msgstr "Par exemple, les version 2.24.20 et 3.9.12 de GTK+ peuvent être inclus 
de cette manière :"
 
 #. type: example
 #: doc/guix.texi:23823
@@ -42972,7 +43130,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:23825
 msgid "If we also wanted GTK+ 3.8.2, this would be packaged as"
-msgstr ""
+msgstr "Si nous voulons aussi GTK+ 3.8.2, cela serait inclus de cette manière 
:"
 
 #. type: example
 #: doc/guix.texi:23831
@@ -42994,17 +43152,17 @@ msgstr ""
 #: doc/guix.texi:23835
 #, no-wrap
 msgid "version number, for VCS snapshots"
-msgstr ""
+msgstr "numéro de version, pour les instantanés des systèmes de contrôle de 
version"
 
 #. type: Plain text
 #: doc/guix.texi:23841
 msgid "Occasionally, we package snapshots of upstream's version control system 
(VCS) instead of formal releases.  This should remain exceptional, because it 
is up to upstream developers to clarify what the stable release is.  Yet, it is 
sometimes necessary.  So, what should we put in the @code{version} field?"
-msgstr ""
+msgstr "Parfois, nous incluons des paquets provenant d'instantanés de systèmes 
de contrôle de version (VCS) au lieu de versions publiées formellement.  Cela 
devrait rester exceptionnel, car c'est le rôle des développeurs amont de 
spécifier quel est la version stable.  Cependant, c'est parfois nécessaire.  
Donc, que faut-il mettre dans le champ @code{version} ?"
 
 #. type: Plain text
 #: doc/guix.texi:23849
 msgid "Clearly, we need to make the commit identifier of the VCS snapshot 
visible in the version string, but we also need to make sure that the version 
string is monotonically increasing so that @command{guix package --upgrade} can 
determine which version is newer.  Since commit identifiers, notably with Git, 
are not monotonically increasing, we add a revision number that we increase 
each time we upgrade to a newer snapshot.  The resulting version string looks 
like this:"
-msgstr ""
+msgstr "Clairement, nous devons rendre l'identifiant de commit de l'instantané 
du VCS visible dans la version, mais nous devons aussi nous assurer que la 
version augmente de manière monotone pour que @command{guix package --upgrade} 
puisse déterminer quelle version est la plus récente.  Comme les identifiants 
de commits, notamment avec Git, n'augmentent pas, nous ajoutons un numéro de 
révision qui nous augmentons à chaque fois que nous mettons à jour vers un 
nouvel instantané.  La chaîne [...]
 
 #. type: example
 #: doc/guix.texi:23858
@@ -43018,11 +43176,18 @@ msgid ""
 "  |\n"
 "latest upstream version\n"
 msgstr ""
+"2.0.11-3.cabba9e\n"
+"  ^    ^    ^\n"
+"  |    |    `-- ID du commit en amont\n"
+"  |    |\n"
+"  |    `--- révision du paquet Guix\n"
+"  |\n"
+"dernière version en amont\n"
 
 #. type: Plain text
 #: doc/guix.texi:23867
 msgid "It is a good idea to strip commit identifiers in the @code{version} 
field to, say, 7 digits.  It avoids an aesthetic annoyance (assuming aesthetics 
have a role to play here) as well as problems related to OS limits such as the 
maximum shebang length (127 bytes for the Linux kernel.)  It is best to use the 
full commit identifiers in @code{origin}s, though, to avoid ambiguities.  A 
typical package definition may look like this:"
-msgstr ""
+msgstr "C'est une bonne idée de tronquer les identifiants dans le champ 
@code{version} à disons 7 caractères.  Cela évite un problème esthétique (en 
supposant que l'esthétique ait un rôle à jouer ici) et des problèmes avec les 
limites de l'OS comme la longueur maximale d'un shebang (127 octets pour le 
noyau Linux).  Il vaut mieux utilise l'identifiant de commit complet dans 
@code{origin} cependant, pour éviter les ambiguïtés.  Une définition de paquet 
peut ressembler à ceci :"
 
 #. type: example
 #: doc/guix.texi:23883
@@ -43062,54 +43227,54 @@ msgstr ""
 #: doc/guix.texi:23888
 #, no-wrap
 msgid "package description"
-msgstr ""
+msgstr "description du paquet"
 
 #. type: cindex
 #: doc/guix.texi:23889
 #, no-wrap
 msgid "package synopsis"
-msgstr ""
+msgstr "résumé du paquet"
 
 #. type: Plain text
 #: doc/guix.texi:23896
 msgid "As we have seen before, each package in address@hidden includes a 
synopsis and a description (@pxref{Defining Packages}).  Synopses and 
descriptions are important: They are what @command{guix package --search} 
searches, and a crucial piece of information to help users determine whether a 
given package suits their needs.  Consequently, packagers should pay attention 
to what goes into them."
-msgstr ""
+msgstr "Comme nous l'avons vu avant, chaque paquet dans address@hidden 
contient un résumé et une description (@pxref{Defining Packages}).  Les résumés 
et les descriptions sont importants : ce sont eux que recherche @command{guix 
package --search}, et c'est une source d'informations cruciale pour aider les 
utilisateurs à déterminer si un paquet donner correspond à leurs besoins.  En 
conséquence, les mainteneurs doivent prêter attention à leur contenu."
 
 #. type: Plain text
 #: doc/guix.texi:23904
 msgid "Synopses must start with a capital letter and must not end with a 
period.  They must not start with ``a'' or ``the'', which usually does not 
bring anything; for instance, prefer ``File-frobbing tool'' over ``A tool that 
frobs files''.  The synopsis should say what the package is---e.g., ``Core GNU 
utilities (file, text, shell)''---or what it is used for---e.g., the synopsis 
for address@hidden is ``Print lines matching a pattern''."
-msgstr ""
+msgstr "Les résumés doivent commencer par une lettre capitale et ne doit pas 
finir par un point.  Ils ne doivent pas commencer par « a » ou « the » (« un » 
ou « le/la »), ce qui n'apporte généralement rien ; par exemple, préférez « 
File-frobbing tool » (« Outil de frobage de fichier ») à « A tool that frobs 
file » (« Un outil qui frobe les fichiers »).  Le résumé devrait dire ce que le 
paquet est — p.@: ex.@: « Utilitaire du cœur de GNU (fichier, text, shell) » — 
ou ce à quoi il sert — p [...]
 
 #. type: Plain text
 #: doc/guix.texi:23914
 msgid "Keep in mind that the synopsis must be meaningful for a very wide 
audience.  For example, ``Manipulate alignments in the SAM format'' might make 
sense for a seasoned bioinformatics researcher, but might be fairly unhelpful 
or even misleading to a non-specialized audience.  It is a good idea to come up 
with a synopsis that gives an idea of the application domain of the package.  
In this example, this might give something like ``Manipulate nucleotide 
sequence alignments'', which hop [...]
-msgstr ""
+msgstr "Gardez à l'esprit que le résumé doit avoir un sens pour une large 
audience.  Par exemple « Manipulation d'alignements au format SAM » peut avoir 
du sens pour un bioinformaticien chevronné, mais n'aidera pas ou pourra perdre 
une audience de non-spécialistes.  C'est une bonne idée de créer un résumé qui 
donne une idée du domaine d'application du paquet.  Dans cet exemple, cela 
donnerait « Manipulation d'alignements de séquences de nucléotides », ce qui 
devrait donner une meilleure  [...]
 
 #. type: Plain text
 #: doc/guix.texi:23922
 msgid "Descriptions should take between five and ten lines.  Use full 
sentences, and avoid using acronyms without first introducing them.  Please 
avoid marketing phrases such as ``world-leading'', ``industrial-strength'', and 
``next-generation'', and avoid superlatives like ``the most advanced''---they 
are not helpful to users looking for a package and may even sound suspicious.  
Instead, try to be factual, mentioning use cases and features."
-msgstr ""
+msgstr "Les descriptions devraient faire entre cinq et dix lignes.  Utilisez 
des phrases complètes, et évitez d'utiliser des acronymes sans les introduire 
d'abord.  Évitez les phrases marketings comme « world-leading », « 
industrial-strength » et « next-generation » et évitez les superlatifs comme « 
the most advanced » — ils ne sont pas utiles pour les utilisateurs qui 
cherchent un paquet et semblent même un peu suspects.  À la place, essayez 
d'être factuels, en mentionnant les cas d'uti [...]
 
 #. type: cindex
 #: doc/guix.texi:23923
 #, no-wrap
 msgid "Texinfo markup, in package descriptions"
-msgstr ""
+msgstr "balisage texinfo, dans les descriptions de paquets"
 
 #. type: Plain text
 #: doc/guix.texi:23932
 msgid "Descriptions can include Texinfo markup, which is useful to introduce 
ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks 
(@pxref{Overview,,, texinfo, GNU Texinfo}).  However you should be careful when 
using some characters for example @samp{@@} and curly braces which are the 
basic special characters in Texinfo (@pxref{Special Characters,,, texinfo, GNU 
Texinfo}).  User interfaces such as @command{guix package --show} take care of 
rendering it appropriately."
-msgstr ""
+msgstr "Les descriptions peuvent inclure du balisage Texinfo, ce qui est utile 
pour introduire des ornements comme @code{@@code} ou @code{@@dfn}, des listes à 
points ou des hyperliens (@pxref{Overview,,, texinfo, GNU Texinfo}).  Cependant 
soyez prudents lorsque vous utilisez certains symboles, par exemple @samp{@@} 
et les accolades qui sont les caractères spéciaux de base en Texinfo 
(@pxref{Special Characters,,, texinfo, GNU Texinfo}).  Les interfaces 
utilisateurs comme @command{guix pac [...]
 
 #. type: Plain text
 #: doc/guix.texi:23938
 msgid "Synopses and descriptions are translated by volunteers 
@uref{http://translationproject.org/domain/guix-packages.html, at the 
Translation Project} so that as many users as possible can read them in their 
native language.  User interfaces search them and display them in the language 
specified by the current locale."
-msgstr ""
+msgstr "Les résumés et les descriptions sont traduits par des volontaires 
@uref{http://translationproject.org/domain/guix-packages.html, sur le projet de 
traduction} pour que le plus d'utilisateurs possible puissent les lire dans 
leur langue natale.  Les interfaces utilisateurs les recherchent et les 
affichent dans la langue spécifiée par le paramètre de régionalisation actuel."
 
 #. type: Plain text
 #: doc/guix.texi:23943
 msgid "To allow @command{xgettext} to extract them as translatable strings, 
synopses and descriptions @emph{must be literal strings}.  This means that you 
cannot use @code{string-append} or @code{format} to construct these strings:"
-msgstr ""
+msgstr "Pour permettre à @command{xgettext} de les extraire comme des chaînes 
traduisibles, les résumés et les descriptions @emph{doivent être des chaînes 
litérales}.  Cela signifie que vous ne pouvez pas utiliser @code{string-append} 
ou @code{format} pour construire ces chaînes :"
 
 #. type: lisp
 #: doc/guix.texi:23949
@@ -43120,11 +43285,15 @@ msgid ""
 "  (synopsis \"This is translatable\")\n"
 "  (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n"
 msgstr ""
+"(package\n"
+"  ;; @dots{}\n"
+"  (synopsis \"Ceci est traduisible\")\n"
+"  (description (string-append \"Ceci n'est \" \"*pas*\" \" 
traduisible.\")))\n"
 
 #. type: Plain text
 #: doc/guix.texi:23957
 msgid "Translation is a lot of work so, as a packager, please pay even more 
attention to your synopses and descriptions as every change may entail 
additional work for translators.  In order to help them, it is possible to make 
recommendations or instructions visible to them by inserting special comments 
like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):"
-msgstr ""
+msgstr "La traduction demande beaucoup de travail, donc en tant que packageur, 
faîtes encore plus attention à vos résumés et descriptions car chaque 
changement peut demander d'autant plus de travail de la part des traducteurs.  
Pour les aider, il est possible de donner des recommandations ou des 
instructions qu'ils pourront voir en insérant des commentaires spéciaux comme 
ceci (@pxref{xgettext Invocation,,, gettext, GNU Gettext}) :"
 
 #. type: example
 #: doc/guix.texi:23962
@@ -43134,6 +43303,9 @@ msgid ""
 "(description \"ARandR is designed to provide a simple visual front end\n"
 "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n"
 msgstr ""
+";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n"
+"(description \"ARandR is designed to provide a simple visual front end\n"
+"for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n"
 
 #. type: cindex
 #: doc/guix.texi:23968
@@ -43144,69 +43316,69 @@ msgstr "python"
 #. type: Plain text
 #: doc/guix.texi:23974
 msgid "We currently package Python 2 and Python 3, under the Scheme variable 
names @code{python-2} and @code{python} as explained in @ref{Version Numbers}.  
To avoid confusion and naming clashes with other programming languages, it 
seems desirable that the name of a package for a Python module contains the 
word @code{python}."
-msgstr ""
+msgstr "Nous incluons actuellement Python 2 et Python 3, sous les noms de 
variables Scheme @code{python-2} et @code{python} comme expliqué dans 
@ref{Version Numbers}.  Pour éviter la confusion et les problèmes de noms avec 
d'autres langages de programmation, il semble désirable que le nom d'un paquet 
pour un module Python contienne le mot @code{python}."
 
 #. type: Plain text
 #: doc/guix.texi:23980
 msgid "Some modules are compatible with only one version of Python, others 
with both.  If the package Foo compiles only with Python 3, we name it 
@code{python-foo}; if it compiles only with Python 2, we name it 
@code{python2-foo}. If it is compatible with both versions, we create two 
packages with the corresponding names."
-msgstr ""
+msgstr "Certains modules ne sont compatibles qu'avec une version de Python, 
d'autres avec les deux.  Si le paquet Foo ne compile qu'avec Ptyhon 3, on le 
nomme @code{python-foo} ; s'il ne compile qu'avec Python 2, on le nome 
@code{python2-foo}.  S'il est compatible avec les deux versions, nous créons 
deux paquets avec les noms correspondant."
 
 #. type: Plain text
 #: doc/guix.texi:23986
 msgid "If a project already contains the word @code{python}, we drop this; for 
instance, the module python-dateutil is packaged under the names 
@code{python-dateutil} and @code{python2-dateutil}.  If the project name starts 
with @code{py} (e.g. @code{pytz}), we keep it and prefix it as described above."
-msgstr ""
+msgstr "Si un projet contient déjà le mot @code{python}, on l'enlève, par 
exemple le module python-dateutil est packagé sous les noms 
@code{python-dateutil} et @code{python2-dateutil}.  Si le nom du projet 
commence par @code{py} (p.@: ex.@: @code{pytz}), on le garde et on le préfixe 
comme décrit ci-dessus."
 
 #. type: subsubsection
 #: doc/guix.texi:23987
 #, no-wrap
 msgid "Specifying Dependencies"
-msgstr ""
+msgstr "Spécifier les dépendances"
 
 #. type: cindex
 #: doc/guix.texi:23988
 #, no-wrap
 msgid "inputs, for Python packages"
-msgstr ""
+msgstr "entrées, pour les paquets Python"
 
 #. type: Plain text
 #: doc/guix.texi:23993
 msgid "Dependency information for Python packages is usually available in the 
package source tree, with varying degrees of accuracy: in the @file{setup.py} 
file, in @file{requirements.txt}, or in @file{tox.ini}."
-msgstr ""
+msgstr "Les informations de dépendances pour les paquets Python se trouvent 
généralement dans l'arborescence des source du paquet, avec plus ou moins de 
précision : dans le fichier @file{setup.py}, dans @file{requirements.txt} ou 
dans @file{tox.ini}."
 
 #. type: Plain text
 #: doc/guix.texi:23999
 msgid "Your mission, when writing a recipe for a Python package, is to map 
these dependencies to the appropriate type of ``input'' (@pxref{package 
Reference, inputs}).  Although the @code{pypi} importer normally does a good 
job (@pxref{Invoking guix import}), you may want to check the following check 
list to determine which dependency goes where."
-msgstr ""
+msgstr "Votre mission, lorsque vous écrivez une recette pour un paquet Python, 
est de faire correspondre ces dépendances au bon type « d'entrée » 
(@pxref{package Reference, inputs}).  Bien que l'importeur @code{pypi} fasse du 
bon boulot (@pxref{Invoking guix import}), vous devriez vérifier la liste 
suivant pour déterminer où va telle dépendance."
 
 #. type: itemize
 #: doc/guix.texi:24007
 msgid "We currently package Python 2 with @code{setuptools} and @code{pip} 
installed like Python 3.4 has per default.  Thus you don't need to specify 
either of these as an input.  @command{guix lint} will warn you if you do."
-msgstr ""
+msgstr "Nous empaquetons Python 2 avec @code{setuptools} et @code{pip} 
installé comme Python 3.4 par défaut.  Ainsi, vous n'avez pas à spécifié ces 
entrées.  @command{guix lint} vous avertira si vous faîtes cela."
 
 #. type: itemize
 #: doc/guix.texi:24013
 msgid "Python dependencies required at run time go into 
@code{propagated-inputs}.  They are typically defined with the 
@code{install_requires} keyword in @file{setup.py}, or in the 
@file{requirements.txt} file."
-msgstr ""
+msgstr "Les dépendances Python requises à l'exécutions vont dans 
@code{propagated-inputs}.  Elles sont typiquement définies dans le mot-clef 
@code{install_requires} dans @file{setup.py} ou dans le fichier 
@file{requirements.txt}."
 
 #. type: itemize
 #: doc/guix.texi:24021
 msgid "Python packages required only at build time---e.g., those listed with 
the @code{setup_requires} keyword in @file{setup.py}---or only for 
testing---e.g., those in @code{tests_require}---go into @code{native-inputs}.  
The rationale is that (1) they do not need to be propagated because they are 
not needed at run time, and (2) in a cross-compilation context, it's the 
``native'' input that we'd want."
-msgstr ""
+msgstr "Les paquets Python requis uniquement à la construction — p.@: ex.@: 
ceux listés dans le mot-clef @code{setup_requires} de @file{setup.py} — ou 
seulement pour les tests — p.@: ex.@: ceux dans @code{tests_require} — vont 
dans @code{native-inputs}.  La raison est qu'ils n'ont pas besoin d'être 
propagés car ils ne sont pas requis à l'exécution et dans le cas d'une 
compilation croisée, c'est l'entrée « native » qu'il nous faut."
 
 #. type: itemize
 #: doc/guix.texi:24025
 msgid "Examples are the @code{pytest}, @code{mock}, and @code{nose} test 
frameworks.  Of course if any of these packages is also required at run-time, 
it needs to go to @code{propagated-inputs}."
-msgstr ""
+msgstr "Les cadriciels de tests @code{pytest}, @code{mock} et @code{nose} sont 
des exemples.  Bien sûr si l'un de ces paquets est aussi requis à l'exécution, 
il doit aller dans @code{propagated-inputs}."
 
 #. type: itemize
 #: doc/guix.texi:24030
 msgid "Anything that does not fall in the previous categories goes to 
@code{inputs}, for example programs or C libraries required for building Python 
packages containing C extensions."
-msgstr ""
+msgstr "Tout ce qui ne tombe pas dans les catégories précédentes va dans 
@code{inputs}, par exemple des programmes pour des bibliothèques C requises 
pour construire des paquets Python avec des extensions C."
 
 #. type: itemize
 #: doc/guix.texi:24036
 msgid "If a Python package has optional dependencies (@code{extras_require}), 
it is up to you to decide whether to add them or not, based on their 
usefulness/overhead ratio (@pxref{Submitting Patches, @command{guix size}})."
-msgstr ""
+msgstr "Si un paquet Python a des dépendances facultatives 
(@code{extras_require}), c'est à vous de décider de les ajouter ou non, en 
fonction du ratio entre utilité et complexité (@pxref{Submitting Patches, 
@command{guix size}})."
 
 #. type: cindex
 #: doc/guix.texi:24043
@@ -43217,7 +43389,7 @@ msgstr "perl"
 #. type: Plain text
 #: doc/guix.texi:24054
 msgid "Perl programs standing for themselves are named as any other package, 
using the lowercase upstream name.  For Perl packages containing a single 
class, we use the lowercase class name, replace all occurrences of @code{::} by 
dashes and prepend the prefix @code{perl-}.  So the class @code{XML::Parser} 
becomes @code{perl-xml-parser}.  Modules containing several classes keep their 
lowercase upstream name and are also prepended by @code{perl-}.  Such modules 
tend to have the word @code [...]
-msgstr ""
+msgstr "Les programmes Perl utiles en soit sont nommés comme les autres 
paquets, avec le nom amont en minuscule.  Pour les paquets Perl contenant une 
seule classe, nous utilisons le nom de la classe en minuscule, en remplaçant 
les occurrences de @code{::} par des tirets et en préfixant le tout par 
@code{perl-}.  Donc la classe @code{XML::Parser} devient 
@code{perl-xml-parser}.  Les modules contenant plusieurs classes gardent leur 
nom amont en minuscule et sont aussi préfixés par @code{pe [...]
 
 #. type: cindex
 #: doc/guix.texi:24059
@@ -43228,85 +43400,85 @@ msgstr "java"
 #. type: Plain text
 #: doc/guix.texi:24062
 msgid "Java programs standing for themselves are named as any other package, 
using the lowercase upstream name."
-msgstr ""
+msgstr "Le programmes Java utiles en soit sont nommés comme les autres 
paquets, avec le nom amont en minuscule."
 
 #. type: Plain text
 #: doc/guix.texi:24068
 msgid "To avoid confusion and naming clashes with other programming languages, 
it is desirable that the name of a package for a Java package is prefixed with 
@code{java-}.  If a project already contains the word @code{java}, we drop 
this; for instance, the package @code{ngsjava} is packaged under the name 
@code{java-ngs}."
-msgstr ""
+msgstr "Pour éviter les confusions et les problèmes de nom avec d'autres 
langages de programmation, il est désirable que le nom d'un paquet Java soit 
préfixé par @code{java-}.  Si un projet contient déjà le mot @code{java}, nous 
le supprimons, par exemple le paquet @code{ngsjava} est empaqueté sous le nom 
@code{java-ngs}."
 
 #. type: Plain text
 #: doc/guix.texi:24074
 msgid "For Java packages containing a single class or a small class hierarchy, 
we use the lowercase class name, replace all occurrences of @code{.} by dashes 
and prepend the prefix @code{java-}.  So the class @code{apache.commons.cli} 
becomes package @code{java-apache-commons-cli}."
-msgstr ""
+msgstr "Pour les paquets java contenant une seul classe ou une petite 
hiérarchie de classes, nous utilisons le nom de la classe en minuscule, en 
remplaçant les occurrences de @code{.} par des tirets et en préfixant le tout 
par @code{java-}.  Donc la classe @code{apache.commons.cli} devient 
@code{java-apache-commons-cli}."
 
 #. type: Plain text
 #: doc/guix.texi:24085
 msgid "For fonts that are in general not installed by a user for typesetting 
purposes, or that are distributed as part of a larger software package, we rely 
on the general packaging rules for software; for instance, this applies to the 
fonts delivered as part of the X.Org system or fonts that are part of TeX Live."
-msgstr ""
+msgstr "Pour les polices qui n esont en général par installées par un 
utilisateurs pour du traitement de texte, ou qui sont distribuées en tant que 
partie d'un paquet logiciel plus gros, nous nous appuyons sur les règles 
générales pour les logiciels ; par exemple, cela s'applique aux polices livrées 
avec le système X.Org ou les polices qui font partie de TeX Live."
 
 #. type: Plain text
 #: doc/guix.texi:24089
 msgid "To make it easier for a user to search for fonts, names for other 
packages containing only fonts are constructed as follows, independently of the 
upstream package name."
-msgstr ""
+msgstr "Pour rendre plus facile la recherche par l'utilisateur, les noms des 
autres paquets contenant seulement des polices sont construits ainsi, 
indépendamment du nom du paquet en amont."
 
 #. type: Plain text
 #: doc/guix.texi:24097
 msgid "The name of a package containing only one font family starts with 
@code{font-}; it is followed by the foundry name and a dash @code{-} if the 
foundry is known, and the font family name, in which spaces are replaced by 
dashes (and as usual, all upper case letters are transformed to lower case).  
For example, the Gentium font family by SIL is packaged under the name 
@code{font-sil-gentium}."
-msgstr ""
+msgstr "Le nom d'un paquet contenant une unique famille de polices commence 
par @code{font-} ; il est suivi du nom du fondeur et d'un tiret @code{-} si le 
fondeur est connu, et du nom de la police, dont les espaces sont remplacés par 
des tirets (et comme d'habitude, toutes les lettres majuscules sont 
transformées en minuscules).  Par exemple, la famille de polices Gentium de SIL 
est empaqueté sous le nom @code{font-sil-gentium}."
 
 #. type: Plain text
 #: doc/guix.texi:24106
 msgid "For a package containing several font families, the name of the 
collection is used in the place of the font family name.  For instance, the 
Liberation fonts consist of three families, Liberation Sans, Liberation Serif 
and Liberation Mono.  These could be packaged separately under the names 
@code{font-liberation-sans} and so on; but as they are distributed together 
under a common name, we prefer to package them together as 
@code{font-liberation}."
-msgstr ""
+msgstr "Pour un paquet contenant plusieurs familles de polices, le nom de la 
collection est utilisée à la place du nom de la famille.  Par exemple les 
polices Liberation consistent en trois familles, Liberation Sans, Liberation 
Serif et Liberation Mono.  Elles pourraient être empaquetées séparément sous 
les noms @code{font-liberation-sans} etc, mais comme elles sont distribuées 
ensemble sous un nom commun, nous préférons les empaqueter ensemble en tant que 
@code{font-liberation}."
 
 #. type: Plain text
 #: doc/guix.texi:24112
 msgid "In the case where several formats of the same font family or font 
collection are packaged separately, a short form of the format, prepended by a 
dash, is added to the package name.  We use @code{-ttf} for TrueType fonts, 
@code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts."
-msgstr ""
+msgstr "Dans le cas où plusieurs formats de la même famille ou collection sont 
empaquetés séparément, une forme courte du format, préfixé d'un tiret est 
ajouté au nom du paquet.  Nous utilisont @code{-ttf} pour les polices TrueType, 
@code{-otf} pour les polices OpenType et @code{-type1} pour les polices Type 1 
de PostScript."
 
 #. type: cindex
 #: doc/guix.texi:24120
 #, no-wrap
 msgid "bootstrapping"
-msgstr ""
+msgstr "bootstrap"
 
 #. type: Plain text
 #: doc/guix.texi:24130
 msgid "Bootstrapping in our context refers to how the distribution gets built 
``from nothing''.  Remember that the build environment of a derivation contains 
nothing but its declared inputs (@pxref{Introduction}).  So there's an obvious 
chicken-and-egg problem: how does the first package get built? How does the 
first compiler get compiled? Note that this is a question of interest only to 
the curious hacker, not to the regular user, so you can shamelessly skip this 
section if you consider [...]
-msgstr ""
+msgstr "Dans notre contexte, le bootstrap se réfère à la manière dont la 
distribution est construite « à partir de rien ».  Rappelez-vous que 
l'environnement de construction d'une dérivation ne contient rien d'autre que 
les entrées déclarées (@pxref{Introduction}).  Donc il y a un problème évident 
de poule et d'œuf : comment le premier paquet est-il construit ?  Comment le 
premier compilateur est-il construit ?  Remarquez que c'est une question qui 
intéressera uniquement le hacker curieu [...]
 
 #. type: cindex
 #: doc/guix.texi:24131 doc/guix.texi:24253
 #, no-wrap
 msgid "bootstrap binaries"
-msgstr ""
+msgstr "binaires de bootstrap"
 
 #. type: Plain text
 #: doc/guix.texi:24141
 msgid "The GNU system is primarily made of C code, with libc at its core.  The 
GNU build system itself assumes the availability of a Bourne shell and 
command-line tools provided by GNU Coreutils, Awk, Findutils, `sed', and 
`grep'.  Furthermore, build programs---programs that run @code{./configure}, 
@code{make}, etc.---are written in Guile Scheme (@pxref{Derivations}).  
Consequently, to be able to build anything at all, from scratch, Guix relies on 
pre-built binaries of Guile, GCC, Binuti [...]
-msgstr ""
+msgstr "Le système GNU est surtout fait de code C, avec la libc en son cœur.  
Le système de construction GNU lui-même suppose la disponibilité d'un shell 
Bourne et d'outils en ligne de commande fournis par GNU Coreutils, Awk, 
Findutils, sed et grep.  En plus, les programmes de construction — les 
programmes qui exécutent @code{./configure}, @code{make} etc — sont écrits en 
Guile Scheme (@pxref{Derivations}).  En conséquence, pour pouvoir construire 
quoi que ce soit, de zéro, Guix a besoin [...]
 
 #. type: Plain text
 #: doc/guix.texi:24144
 msgid "These bootstrap binaries are ``taken for granted'', though we can also 
re-create them if needed (more on that later)."
-msgstr ""
+msgstr "Ces binaires de bootstrap sont pris comme des acquis, bien qu'on 
puisse les recréer (ça arrive plus tard)."
 
 #. type: unnumberedsubsec
 #: doc/guix.texi:24145
 #, no-wrap
 msgid "Preparing to Use the Bootstrap Binaries"
-msgstr ""
+msgstr "Se préparer à utiliser les binaires de bootstrap"
 
 #. type: Plain text
 #: doc/guix.texi:24150
 msgid "@image{images/bootstrap-graph,6in,,Dependency graph of the early 
bootstrap derivations}"
-msgstr ""
+msgstr "@image{images/bootstrap-graph,6in,,Graphe de dépendance des premières 
dérivations de bootstrap}"
 
 #. type: Plain text
 #: doc/guix.texi:24155
 msgid "The figure above shows the very beginning of the dependency graph of 
the distribution, corresponding to the package definitions of the @code{(gnu 
packages bootstrap)} module.  A similar figure can be generated with 
@command{guix graph} (@pxref{Invoking guix graph}), along the lines of:"
-msgstr ""
+msgstr "La figure ci-dessus montre le tout début du graphe de dépendances de 
la distribution, correspondant aux définitions des paquets du module @code{(gnu 
packages bootstrap)}.  Une figure similaire peut être générée avec 
@command{guix graph} (@pxref{Invoking guix graph}),  de cette manière :"
 
 #. type: example
 #: doc/guix.texi:24160
@@ -43323,38 +43495,38 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:24169
 msgid "At this level of detail, things are slightly complex.  First, Guile 
itself consists of an ELF executable, along with many source and compiled 
Scheme files that are dynamically loaded when it runs.  This gets stored in the 
@file{guile-2.0.7.tar.xz} tarball shown in this graph.  This tarball is part of 
Guix's ``source'' distribution, and gets inserted into the store with 
@code{add-to-store} (@pxref{The Store})."
-msgstr ""
+msgstr "À ce niveau de détails, les choses sont légèrement complexes.  Tout 
d'abord, Guile lui-même consiste en an exécutable ELF, avec plusieurs fichiers 
Scheme sources et compilés qui sont chargés dynamiquement quand il est exécuté. 
 Cela est stocké dans l'archive @file{guile-2.0.7.tar.xz} montrée dans ce 
graphe.  Cette archive fait parti de la distribution « source » de Guix, et est 
insérée dans le dépôt avec @code{add-to-store} (@pxref{The Store})."
 
 #. type: Plain text
 #: doc/guix.texi:24178
 msgid "But how do we write a derivation that unpacks this tarball and adds it 
to the store? To solve this problem, the @code{guile-bootstrap-2.0.drv} 
derivation---the first one that gets built---uses @code{bash} as its builder, 
which runs @code{build-bootstrap-guile.sh}, which in turn calls @code{tar} to 
unpack the tarball.  Thus, @file{bash}, @file{tar}, @file{xz}, and @file{mkdir} 
are statically-linked binaries, also part of the Guix source distribution, 
whose sole purpose is to allow  [...]
-msgstr ""
+msgstr "Mais comment écrire une dérivation qui décompresse cette archive et 
l'ajoute au dépôt ?  Pour résoudre ce problème, la dérivation 
@code{guile-bootstrap-2.0.drv} — la première qui est construite — utilise 
@code{bash} comme constructeur, qui lance @code{build-bootstrap-guile.sh}, qui 
à son tour appelle @code{tar} pour décompresser l'archive.  Ainsi, @file{bash}, 
@file{tar}, @file{xz} et @file{mkdir} sont des binaires liés statiquement, qui 
font aussi partie de la distribution sourc [...]
 
 #. type: Plain text
 #: doc/guix.texi:24190
 msgid "Once @code{guile-bootstrap-2.0.drv} is built, we have a functioning 
Guile that can be used to run subsequent build programs.  Its first task is to 
download tarballs containing the other pre-built binaries---this is what the 
@code{.tar.xz.drv} derivations do.  Guix modules such as @code{ftp-client.scm} 
are used for this purpose.  The @code{module-import.drv} derivations import 
those modules in a directory in the store, using the original layout.  The 
@code{module-import-compiled.dr [...]
-msgstr ""
+msgstr "Une fois que @code{guile-bootstrap-2.0.drv} est construit, nous avons 
un Guile fonctionnel qui peut être utilisé pour exécuter les programmes de 
construction suivants.  Sa première tâche consiste à télécharger les archives 
contenant les autres binaires pré-construits — c'est ce que la dérivation 
@code{.tar.xz.drv} fait.  Les modules Guix comme @code{ftp-client.scm} sont 
utilisés pour cela.  Les dérivations @code{module-import.drv} importent ces 
modules dans un répertoire dans le  [...]
 
 #. type: Plain text
 #: doc/guix.texi:24194
 msgid "Finally, the various tarballs are unpacked by the derivations 
@code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc., at which point 
we have a working C tool chain."
-msgstr ""
+msgstr "Enfin, les diverses archives sont décompressées par les dérivations 
@code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, etc, à partir de quoi 
nous avons une chaîne de compilation C fonctionnelle."
 
 #. type: unnumberedsubsec
 #: doc/guix.texi:24196
 #, no-wrap
 msgid "Building the Build Tools"
-msgstr ""
+msgstr "Construire les outils de construction"
 
 #. type: Plain text
 #: doc/guix.texi:24205
 msgid "Bootstrapping is complete when we have a full tool chain that does not 
depend on the pre-built bootstrap tools discussed above.  This no-dependency 
requirement is verified by checking whether the files of the final tool chain 
contain references to the @file{/gnu/store} directories of the bootstrap 
inputs.  The process that leads to this ``final'' tool chain is described by 
the package definitions found in the @code{(gnu packages commencement)} module."
-msgstr ""
+msgstr "Le bootstrap est complet lorsque nous avons une chaîne d'outils 
complète qui ne dépend pas des outils de bootstrap pré-construits dont on vient 
de parler.  Ce pré-requis d'indépendance est vérifié en s'assurant que les 
fichiers de la chaîne d'outil finale ne contiennent pas de référence vers les 
répertoires @file{/gnu/store} des entrées de bootstrap.  Le processus qui mène 
à cette chaîne d'outils « finale » est décrit par les définitions de paquets 
qui se trouvent dans le module  [...]
 
 #. type: Plain text
 #: doc/guix.texi:24212
 msgid "The @command{guix graph} command allows us to ``zoom out'' compared to 
the graph above, by looking at the level of package objects instead of 
individual derivations---remember that a package may translate to several 
derivations, typically one derivation to download its source, one to build the 
Guile modules it needs, and one to actually build the package from source.  The 
command:"
-msgstr ""
+msgstr "La commande @command{guix graph} nous permet de « dézoomer » comparé 
au graphe précédent, en regardant au niveau des objets de paquets plutôt que 
des dérivations individuelles — rappelez-vous qu'un paquet peut se traduire en 
plusieurs dérivations, typiquement une dérivation pour télécharger ses sources, 
une pour les modules Guile dont il a besoin et une pour effectivement compiler 
le paquet depuis les sources.  La commande :"
 
 #. type: example
 #: doc/guix.texi:24217
@@ -43371,7 +43543,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:24224
 msgid "produces the dependency graph leading to the ``final'' C address@hidden 
may notice the @code{glibc-intermediate} label, suggesting that it is not 
@emph{quite} final, but as a good approximation, we will consider it final.}, 
depicted below."
-msgstr ""
+msgstr "produit le graphe de dépendances qui mène à la bibliothèque C « finale 
address@hidden remarquerez qu'elle s'appelle @code{glibc-intermediate}, ce qui 
suggère qu'elle n'est pas @emph{tout à fait} finale, mais c'est une bonne 
approximation tout de même.}, que voici :"
 
 #. type: Plain text
 #: doc/guix.texi:24226
@@ -43381,38 +43553,38 @@ msgstr "@image{images/bootstrap-packages,6in,,Graphe 
de dépendance des premiers
 #. type: Plain text
 #: doc/guix.texi:24232
 msgid "The first tool that gets built with the bootstrap binaries is 
address@hidden @code{make-boot0} above---which is a prerequisite for all the 
following packages.  From there Findutils and Diffutils get built."
-msgstr ""
+msgstr "Le premier outil construit avec les binaires de bootstrap est 
address@hidden — appelé @code{make-boot0} ci-dessus — qui est un prérequis de 
tous les paquets suivants .  Ensuite, Findutils et Diffutils sont construits."
 
 #. type: Plain text
 #: doc/guix.texi:24237
 msgid "Then come the first-stage Binutils and GCC, built as pseudo cross 
tools---i.e., with @code{--target} equal to @code{--host}.  They are used to 
build libc.  Thanks to this cross-build trick, this libc is guaranteed not to 
hold any reference to the initial tool chain."
-msgstr ""
+msgstr "Ensuite vient la première passe de Binutils et GCC, construits comme 
des pseudo outils croisés — c.-à-d.@: dont @code{--target} égal à 
@code{--host}.  Ils sont utilisés pour construire la libc.  Grâce à cette 
astuce de compilation croisée, la libc est garantie de ne contenir aucune 
référence à la chaîne d'outils initiale."
 
 #. type: Plain text
 #: doc/guix.texi:24243
 msgid "From there the final Binutils and GCC (not shown above) are built.  GCC 
uses @code{ld} from the final Binutils, and links programs against the 
just-built libc.  This tool chain is used to build the other packages used by 
Guix and by the GNU Build System: Guile, Bash, Coreutils, etc."
-msgstr ""
+msgstr "À partir de là, les Bintulis et GCC finaux (pas visibles ci-dessus) 
sont construits.  GCC utilise @code{ld} du Binutils final et lie les programme 
avec la libc qui vient d'être construite.  Cette chaîne d'outils est utilisée 
pour construire les autres paquets utilisés par Guix et par le système de 
construction de GNU : Guile, Bash, Coreutils, etc."
 
 #. type: Plain text
 #: doc/guix.texi:24249
 msgid "And voilà! At this point we have the complete set of build tools that 
the GNU Build System expects.  These are in the @code{%final-inputs} variable 
of the @code{(gnu packages commencement)} module, and are implicitly used by 
any package that uses @code{gnu-build-system} (@pxref{Build Systems, 
@code{gnu-build-system}})."
-msgstr ""
+msgstr "Et voilà !  À partir de là nous avons l'ensemble complet des outils 
auxquels s'attend le système de construction GNU.  Ils sont dans la variable 
@code{%final-inputs} du module @code{(gnu packages commencement)} et sont 
implicitement utilisés par tous les paquets qui utilisent le 
@code{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-system}})."
 
 #. type: unnumberedsubsec
 #: doc/guix.texi:24251
 #, no-wrap
 msgid "Building the Bootstrap Binaries"
-msgstr ""
+msgstr "Construire les binaires de bootstrap"
 
 #. type: Plain text
 #: doc/guix.texi:24258
 msgid "Because the final tool chain does not depend on the bootstrap binaries, 
those rarely need to be updated.  Nevertheless, it is useful to have an 
automated way to produce them, should an update occur, and this is what the 
@code{(gnu packages make-bootstrap)} module provides."
-msgstr ""
+msgstr "Comme la chaîne d'outils finale ne dépend pas des binaires de 
bootstrap, ils ont rarement besoin d'être mis à jour.  Cependant, il est utile 
d'avoir une manière de faire cela automatiquement, dans le cas d'une mise à 
jour et c'est ce que le module @code{(gnu packages make-bootstrap)} fournit."
 
 #. type: Plain text
 #: doc/guix.texi:24262
 msgid "The following command builds the tarballs containing the bootstrap 
binaries (Guile, Binutils, GCC, libc, and a tarball containing a mixture of 
Coreutils and other basic command-line tools):"
-msgstr ""
+msgstr "La commande suivante construit les archives contenant les binaires de 
bootstrap (Guile, Binutils, GCC, la libc et une archive contenant un mélange de 
Coreutils et d'autres outils en ligne de commande de base) :"
 
 #. type: example
 #: doc/guix.texi:24265
@@ -43423,33 +43595,33 @@ msgstr "guix build bootstrap-tarballs\n"
 #. type: Plain text
 #: doc/guix.texi:24270
 msgid "The generated tarballs are those that should be referred to in the 
@code{(gnu packages bootstrap)} module mentioned at the beginning of this 
section."
-msgstr ""
+msgstr "Les archives générées sont celles qui devraient être référencées dans 
le module @code{(gnu packages bootstrap)} au début de cette section."
 
 #. type: Plain text
 #: doc/guix.texi:24276
 msgid "Still here? Then perhaps by now you've started to wonder: when do we 
reach a fixed point? That is an interesting question! The answer is unknown, 
but if you would like to investigate further (and have significant 
computational and storage resources to do so), then let us know."
-msgstr ""
+msgstr "Vous êtes toujours là ?  Alors peut-être que maintenant vous vous 
demandez, quand est-ce qu'on atteint un point fixe ?  C'est une question 
intéressante !  La réponse est inconnue, mais si vous voulez enquêter plus 
profondément (et que vous avez les ressources en puissance de calcul et en 
capacité de stockage pour cela), dites-le nous."
 
 #. type: unnumberedsubsec
 #: doc/guix.texi:24277
 #, no-wrap
 msgid "Reducing the Set of Bootstrap Binaries"
-msgstr ""
+msgstr "Réduire l'ensemble des binaires de bootstrap"
 
 #. type: Plain text
 #: doc/guix.texi:24285
 msgid "Our bootstrap binaries currently include GCC, Guile, etc.  That's a lot 
of binary code! Why is that a problem? It's a problem because these big chunks 
of binary code are practically non-auditable, which makes it hard to establish 
what source code produced them.  Every unauditable binary also leaves us 
vulnerable to compiler backdoors as described by Ken Thompson in the 1984 paper 
@emph{Reflections on Trusting Trust}."
-msgstr ""
+msgstr "Nous binaires de bootstrap incluent actuellement GCC, Guile, etc.  
C'est beaucoup de code binaire !  Pourquoi est-ce un problème ?  C'est un 
problème parce que ces gros morceaux de code binaire sont en pratique 
impossibles à auditer, ce qui fait qu'il est difficile d'établir quel code 
source les a produit.  Chaque binaire non auditable nous rend aussi vulnérable 
à des portes dérobées dans les compilateurs comme le décrit Ken Thompson dans 
le papier de 1984 @emph{Reflections on Tr [...]
 
 #. type: Plain text
 #: doc/guix.texi:24291
 msgid "This is mitigated by the fact that our bootstrap binaries were 
generated from an earlier Guix revision.  Nevertheless it lacks the level of 
transparency that we get in the rest of the package dependency graph, where 
Guix always gives us a source-to-binary mapping.  Thus, our goal is to reduce 
the set of bootstrap binaries to the bare minimum."
-msgstr ""
+msgstr "Cela est rendu moins inquiétant par le fait que les binaires de 
bootstrap ont été générés par une révision antérieure de Guix.  Cependant, il 
leur manque le niveau de transparence que l'on obtient avec le reste des 
paquets du graphe de dépendance, où Guix nous donne toujours une correspondance 
source-binaire.  Ainsi, notre but est de réduire l'ensemble des binaires de 
bootstrap au minimum."
 
 #. type: Plain text
 #: doc/guix.texi:24297
 msgid "The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists 
on-going projects to do that.  One of these is about replacing the bootstrap 
GCC with a sequence of assemblers, interpreters, and compilers of increasing 
complexity, which could be built from source starting from a simple and 
auditable assembler.  Your help is welcome!"
-msgstr ""
+msgstr "Le @uref{http://bootstrappable.org, site web Bootstrappable.org} liste 
les projets en cours à ce sujet.  L'un d'entre eux parle de remplacer le GCC de 
bootstrap par une série d'assembleurs, d'interpréteurs et de compilateurs d'une 
complexité croissante, qui pourraient être construits à partir des sources à 
partir d'un assembleur simple et auditable.  Votre aide est la bienvenue !"
 
 #. type: section
 #: doc/guix.texi:24300
@@ -43460,12 +43632,12 @@ msgstr "Porter vers une nouvelle plateforme"
 #. type: Plain text
 #: doc/guix.texi:24309
 msgid "As discussed above, the GNU distribution is self-contained, and 
self-containment is achieved by relying on pre-built ``bootstrap binaries'' 
(@pxref{Bootstrapping}).  These binaries are specific to an operating system 
kernel, CPU architecture, and application binary interface (ABI).  Thus, to 
port the distribution to a platform that is not yet supported, one must build 
those bootstrap binaries, and update the @code{(gnu packages bootstrap)} module 
to use them on that platform."
-msgstr ""
+msgstr "Comme nous en avons discuté plus haut, la distribution GNU est 
auto-contenue, et cela est possible en se basant sur des « binaires de 
bootstrap » pré-construits (@pxref{Bootstrapping}).  Ces binaires sont 
spécifiques au noyau de système d'exploitation, à l'architecture CPU et à 
l'interface applicative binaire (ABI).  Ainsi, pour porter la distribution sur 
une plateforme qui n'est pas encore supportée, on doit construire ces binaires 
de bootstrap et mettre à jour le module @code{( [...]
 
 #. type: Plain text
 #: doc/guix.texi:24314
 msgid "Fortunately, Guix can @emph{cross compile} those bootstrap binaries.  
When everything goes well, and assuming the GNU tool chain supports the target 
platform, this can be as simple as running a command like this one:"
-msgstr ""
+msgstr "Heureusement, Guix peut effectuer une @emph{compilation croisée} de 
ces binaires de bootstrap.  Lorsque tout va bien, et en supposant que la chaîne 
d'outils GNU supporte la plateforme cible, cela peut être aussi simple que de 
lancer une commande comme ceci :"
 
 #. type: example
 #: doc/guix.texi:24317
@@ -43476,17 +43648,17 @@ msgstr "guix build --target=armv5tel-linux-gnueabi 
bootstrap-tarballs\n"
 #. type: Plain text
 #: doc/guix.texi:24324
 msgid "For this to work, the @code{glibc-dynamic-linker} procedure in 
@code{(gnu packages bootstrap)} must be augmented to return the right file name 
for libc's dynamic linker on that platform; likewise, 
@code{system->linux-architecture} in @code{(gnu packages linux)} must be taught 
about the new platform."
-msgstr ""
+msgstr "Pour que cela fonctione, la procédure @code{glibc-dynamic-linker} dans 
@code{(gnu packages bootstrap)} doit être augmentée pour renvoyer le bon nom de 
fichier pour l'éditeur de lien dynamique de la libc sur cette plateforme ; de 
même, il faut indiquer cette nouvelle platefore à 
@code{system->linux-architecture} dans @code{(gnu packages linux)}."
 
 #. type: Plain text
 #: doc/guix.texi:24333
 msgid "Once these are built, the @code{(gnu packages bootstrap)} module needs 
to be updated to refer to these binaries on the target platform.  That is, the 
hashes and URLs of the bootstrap tarballs for the new platform must be added 
alongside those of the currently supported platforms.  The bootstrap Guile 
tarball is treated specially: it is expected to be available locally, and 
@file{gnu/local.mk} has rules to download it for the supported architectures; a 
rule for the new platform mus [...]
-msgstr ""
+msgstr "Une fois qu'ils sont construits, le module @code{(gnu packages 
bootstrap)} doit être mis à jour pour se référer à ces binaires sur la 
plateforme cible.  C'est à dire que les hashs et les URL des archives de 
bootstrap pour la nouvelle plateforme doivent être ajoutés avec ceux des 
plateformes actuellement supportées.  L'archive de bootstrap de Guile est 
traitée séparément : elle doit être disponible localement, et 
@file{gnu/local.mk} a une règle pour la télécharger pour les archite [...]
 
 #. type: Plain text
 #: doc/guix.texi:24342
 msgid "In practice, there may be some complications.  First, it may be that 
the extended GNU triplet that specifies an ABI (like the @code{eabi} suffix 
above) is not recognized by all the GNU tools.  Typically, glibc recognizes 
some of these, whereas GCC uses an extra @code{--with-abi} configure flag (see 
@code{gcc.scm} for examples of how to handle this).  Second, some of the 
required packages could fail to build for that platform.  Lastly, the generated 
binaries could be broken for som [...]
-msgstr ""
+msgstr "En pratique, il peut y avoir des complications.  Déjà, il se peut que 
le triplet GNU étendu qui spécifie l'ABI (comme le suffixe @code{eabi} 
ci-dessus) ne soit pas reconnu par tous les outils GNU.  Typiquement, la glibc 
en reconnais certains, alors que GCC utilise un drapeau de configure 
@code{--with-abi} supplémentaire (voir @code{gcc.scm} pour trouver des exemples 
où ce cas est géré).  Ensuite, certains des paquets requis pourraient échouer à 
se construire pour cette plateforme [...]
 
 #. type: include
 #: doc/guix.texi:24344
@@ -43497,7 +43669,7 @@ msgstr "contributing.fr.texi"
 #. type: Plain text
 #: doc/guix.texi:24357
 msgid "Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, 
which was designed and implemented by Eelco Dolstra, with contributions from 
other people (see the @file{nix/AUTHORS} file in Guix.)  Nix pioneered 
functional package management, and promoted unprecedented features, such as 
transactional package upgrades and rollbacks, per-user profiles, and 
referentially transparent build processes.  Without this work, Guix would not 
exist."
-msgstr "Guix se base sur le @uref{http://nixos.org/nix/, gestionnaire de 
paquets Nix} conçu et implémenté par Eelco Dolstra, avec des constributions 
d'autres personnes (voir le fichier @file{nix/AUTHORS} dans Guix).  Nix a 
inventé la gestion de paquet fonctionnelle et promu des fonctionnalités sans 
précédents comme les mises à jour de paquets transactionnelles et les retours 
en arrière, les profils par utilisateurs et les processus de constructions 
transparents pour les références.  Sans [...]
+msgstr "Guix se base sur le @uref{http://nixos.org/nix/, gestionnaire de 
paquets Nix} conçu et implémenté par Eelco Dolstra, avec des contributions 
d'autres personnes (voir le fichier @file{nix/AUTHORS} dans Guix).  Nix a 
inventé la gestion de paquet fonctionnelle et promu des fonctionnalités sans 
précédents comme les mises à jour de paquets transactionnelles et les retours 
en arrière, les profils par utilisateurs et les processus de constructions 
transparents pour les références.  Sans  [...]
 
 #. type: Plain text
 #: doc/guix.texi:24360
@@ -43583,7 +43755,7 @@ msgstr "fdl-1.3.texi"
 #~ msgstr "Renvoie un service qui lance le démon de réseau anonyme 
@uref{https://torproject.org, Tor}."
 
 #~ msgid "The daemon runs as the @code{tor} unprivileged user.  It is passed 
@var{config-file}, a file-like object, with an additional @code{User tor} line 
and lines for hidden services added via @code{tor-hidden-service}.  Run 
@command{man tor} for information about the configuration file."
-#~ msgstr "Le démon est lancé avec l'identité de l'utilisateur non privilégié 
@code{tor}.  Il lit @var{config-file}, un objet simili-fichier, avec une ligne 
@code{User tor} supplémentaire et des lignes pour les services cachés ajoutées 
par des @code{tor-hidden-service}.  Lncez @command{man tor} pour obtenir des 
informations sur le fichier de configuration."
+#~ msgstr "Le démon est lancé avec l'identité de l'utilisateur non privilégié 
@code{tor}.  Il lit @var{config-file}, un objet simili-fichier, avec une ligne 
@code{User tor} supplémentaire et des lignes pour les services cachés ajoutées 
par des @code{tor-hidden-service}.  Lancez @command{man tor} pour obtenir des 
informations sur le fichier de configuration."
 
 #~ msgid "The @code{(gnu services sound)} module provides an 
@code{alsa-service-type} service to generate an ALSA @file{/etc/asound.conf} 
configuration file.  This configuration file is what allows applications that 
produce sound using ALSA to be correctly handled."
 #~ msgstr "Le module @code{(gnu services sound)} fournit un service 
@code{alsa-service-type} pour générer un fichier de configuration 
@file{/etc/asound.conf}.  Ce fichier de configuration est ce qui permet aux 
applications de produire du son avec ALSA d'être correctement gérées."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]