From adfb167f12c91731788f0b20066471274df23400 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 2 Dec 2018 14:30:19 +0100 Subject: nls: Update 'fr' translation. --- doc/contributing.fr.texi | 37 +- doc/guix.fr.texi | 5664 +++++++++++++++++++++++++++++----------------- 2 files changed, 3584 insertions(+), 2117 deletions(-) (limited to 'doc') diff --git a/doc/contributing.fr.texi b/doc/contributing.fr.texi index 1bba7f7d5e..502de9f7f0 100644 --- a/doc/contributing.fr.texi +++ b/doc/contributing.fr.texi @@ -110,14 +110,15 @@ changement localement sans les installer pour de vrai. Pour pouvoir distinguer votre rôle « d'utilisateur final » de celui parfois haut en couleur de « développeur ». -To that end, all the command-line tools can be used even if you have not run -@code{make install}. To do that, you first need to have an environment with -all the dependencies available (@pxref{Construire depuis Git}), and then simply -prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} -script lives in the top build tree of Guix), as in@footnote{The @option{-E} -flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly -set such that @command{guix-daemon} and the tools it uses can find the Guile -modules they need.}: +Pour cela, tous les outils en ligne de commande sont utilisables même sans +avoir lancé @code{make install}. Pour cela, vous devez d'abord avoir un +environnement avec toutes les dépendances disponibles (@pxref{Construire depuis Git}), puis préfixer chaque commande par @command{./pre-inst-env} (le script +@file{pre-inst-env} se trouve dans le répertoire de plus haut niveau de +l'arborescence des sources de Guix ; il est généré par +@command{./configure}) comme cela@footnote{L'option @option{-E} de +@command{sudo} garantie que @code{GUILE_LOAD_PATH} est bien paramétré pour +@command{guix-daemon} et pour que les outils qu'il utilise puissent trouver +les modules Guile dont ils ont besoin.} : @example $ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild @@ -213,12 +214,13 @@ variables @var{yas-snippet-dirs} d'Emacs. (add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets")) @end lisp -The commit message snippets depend on @url{https://magit.vc/, Magit} to -display staged files. When editing a commit message type @code{add} -followed by @kbd{TAB} to insert a commit message template for adding a -package; type @code{update} followed by @kbd{TAB} to insert a template for -updating a package; type @code{https} followed by @kbd{TAB} to insert a -template for changing the home page URI of a package to HTTPS. +Les extraits de messages de commit dépendent de @url{https://magit.vc/, +Magit} pour afficher les fichiers sélectionnés. Lors de la modification +d'un message de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un +modèle de message de commit pour ajouter un paquet ; tapez @code{update} +suivi de @kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet ; +tapez @code{https} suivi de @kbd{TAB} pour insérer un modèle pour le +changement à HTTPS de l'URI de la page d'accueil. L'extrait principal pour @code{scheme-mode} est lancé en tapant @code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de @@ -487,6 +489,13 @@ Suivez nos règles de formatage de code, éventuellement en lançant le script @command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage du code}). +@item +Si possible, utilisez des miroirs dans l'URL des sources (@pxref{Invoquer guix download}). Utilisez des URL stable, pas des URL générées. Par +exemple, les archives GitHub ne sont pas nécessairement identiques d'une +génération à la suivante, donc il vaut mieux dans ce cas cloner le dépôt. +N'utilisez pas le champ @command{name} dans l'URL : ce n'est pas très utile +et si le nom change, l'URL sera probablement erronée. + @end enumerate Lorsque vous envoyez un correctif à la liste de diffusion, utilisez diff --git a/doc/guix.fr.texi b/doc/guix.fr.texi index b70806eccb..c8a01f18c6 100644 --- a/doc/guix.fr.texi +++ b/doc/guix.fr.texi @@ -18,6 +18,7 @@ @c Identifier of the OpenPGP key used to sign tarballs and such. @set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 +@set KEY-SERVER pool.sks-keyservers.net @copying Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic @@ -33,19 +34,21 @@ Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nils Gillmann@* Copyright @copyright{} 2016, 2017, 2018 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2017, -2018 Clément Lassieur@* Copyright @copyright{} 2017 Mathieu Othacehe@* -Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 -Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright -@copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher -Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* Copyright -@copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim -Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* +2018 Clément Lassieur@* Copyright @copyright{} 2017, 2018 Mathieu Othacehe@* +Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, +2018 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* +Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 +Christopher Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* +Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 +Maxim Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright -@copyright{} 2018 Gábor Boskovits@* +@copyright{} 2018 Gábor Boskovits@* Copyright @copyright{} 2018 Florian +Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} +2018 Alex Vong@* Vous avez la permission de copier, distribuer ou modifier ce document sous les termes de la Licence GNU Free Documentation, version 1.3 ou toute @@ -104,11 +107,14 @@ gestion de paquets fonctionnel écrit pour le système GNU@. @c TRANSLATORS: You can replace the following paragraph with information on @c how to join your own translation team and how to report issues with the @c translation. -This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de -référence de GNU Guix}). If you would like to translate it in your native -language, consider joining the -@uref{https://translationproject.org/domain/guix-manual.html, Translation -Project}. +Ce manuel est aussi disponible en anglais (@pxref{Top,,, guix, GNU Guix +Reference Manual}) et en allemand (@pxref{Top,,, guix.de, Referenzhandbuch +zu GNU Guix}). Si vous souhaitez nous aider à traduire ce manuel en +français, vous pouvez nous rejoindre sur le +@uref{https://translationproject.org/domain/guix-manual.html, projet de +traduction} et sur la liste de diffusion +@uref{https://listes.traduc.org/mailman/listinfo/traduc/, +traduc@@traduc.org}. @menu * Introduction:: Qu'est-ce que Guix ? @@ -165,6 +171,10 @@ Gestion de paquets * 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. @@ -194,7 +204,7 @@ Interface de programmation * La monad du dépôt:: Interface purement fonctionnelle avec le dépôt. * G-Expressions:: Manipuler les expressions de construction. -* Invoking guix repl:: Fiddling with Guix interactively. +* Invoquer guix repl:: S'amuser avec Guix de manière interactive. Définition des paquets @@ -225,6 +235,7 @@ Utilitaires * 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. Invoquer @command{guix build} @@ -318,7 +329,8 @@ Services * Services VPN:: Démons VPN * Système de fichiers en réseau:: Services liés à NFS@. * Intégration continue:: Le service Cuirass. -* Power Management Services:: Extending battery life. +* Services de gestion de l'énergie:: Augmenter la durée de vie de la + batterie. * Services audio:: MPD@. * Services de virtualisation:: Services de virtualisation. * Services de contrôle de version:: Fournit des accès distants à des @@ -419,6 +431,7 @@ 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 fonctionnel} inventé par Nix (@pxref{Remerciements}). Dans Guix le processus de construction et d'installation des paquets est vu comme une @@ -455,6 +468,7 @@ de miettes pour les paquets (@pxref{Fonctionnalités}). @chapter Installation @cindex installer Guix +@cindex site officiel 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 @@ -466,7 +480,9 @@ vous souhaitez plutôt installer le système d'exploitation GNU complet, @pxref{Installation du système}. @cindex distro extérieure -Lorsqu'il est installé sur an système GNU/Linux existant — ci-après nommé +@cindex répertoires liés aux distro extérieures + +Lorsqu'il est installé sur un système GNU/Linux existant — ci-après nommé @dfn{distro extérieure} — GNU@tie{}Guix 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 @@ -491,6 +507,7 @@ Une fois installé, Guix peut être mis à jour en lançant @command{guix pull} @section Installation binaire @cindex installer Guix depuis les binaires +@cindex script d'installation 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, @@ -508,25 +525,26 @@ L'installation se comme ceci : @enumerate @item @cindex téléchargement du Guix binaire -Download the binary tarball from -@indicateurl{https://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz}, -where @var{system} is @code{x86_64-linux} for an @code{x86_64} machine -already running the kernel Linux, and so on. +Téléchargez l'archive binaire depuis +@indicateurl{https://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{système}.tar.xz}, +où @var{système} est @code{x86_64-linux} pour une machine @code{x86_64} sur +laquelle tourne déjà le noyau Linux, etc. @c The following is somewhat duplicated in ``System Installation''. Assurez-vous de télécharger le fichier @file{.sig} associé et de vérifier l'authenticité de l'archive avec, comme ceci : @example -$ wget https://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{system}.tar.xz.sig -$ gpg --verify guix-binary-@value{VERSION}.@var{system}.tar.xz.sig +$ wget https://alpha.gnu.org/gnu/guix/guix-binary-@value{VERSION}.@var{système}.tar.xz.sig +$ gpg --verify guix-binary-@value{VERSION}.@var{système}.tar.xz.sig @end example Si cette commande échoue parce que vous n'avez pas la clef publique requise, lancez cette commande pour l'importer : @example -$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID} +$ gpg --keyserver @value{KEY-SERVER} \ + --recv-keys @value{OPENPGP-SIGNING-KEY-ID} @end example @noindent @@ -562,18 +580,21 @@ contenu de l'archive ne dépende pas de la date de création, ce qui la rend reproductible. @item -Rendez le profil de @code{root} disponible sous @file{~root/.guix-profile} : +Rendez le profil disponible sous @file{~root/.config/guix/current}, qui est +l'emplacement où @command{guix pull} installera les mises à jour +(@pxref{Invoquer guix pull}) : @example -# ln -sf /var/guix/profiles/per-user/root/guix-profile \ - ~root/.guix-profile +# mkdir -p ~root/.config/guix +# ln -sf /var/guix/profiles/per-user/root/current-guix \ + ~root/.config/guix/current @end example Sourcez @file{etc/profile} pour augmenter @code{PATH} et les autres variables d'environnement nécessaires : @example -# GUIX_PROFILE="`echo ~root`/.guix-profile" ; \ +# GUIX_PROFILE="`echo ~root`/.config/guix/current" ; \ source $GUIX_PROFILE/etc/profile @end example @@ -595,8 +616,8 @@ peut se faire avec ces commandes : @c http://lists.gnu.org/archive/html/guix-devel/2017-01/msg01199.html @example -# cp ~root/.guix-profile/lib/systemd/system/guix-daemon.service \ - /etc/systemd/system/ +# cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \ + /etc/systemd/system/ # systemctl start guix-daemon && systemctl enable guix-daemon @end example @@ -604,14 +625,16 @@ Si votre distribution hôte utilise le système d'initialisation Upstart : @example # initctl reload-configuration -# cp ~root/.guix-profile/lib/upstart/system/guix-daemon.conf /etc/init/ +# cp ~root/.config/guix/current/lib/upstart/system/guix-daemon.conf \ + /etc/init/ # start guix-daemon @end example Sinon, vous pouvez toujours démarrer le démon manuellement avec : @example -# ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild +# ~root/.config/guix/current/bin/guix-daemon \ + --build-users-group=guixbuild @end example @item @@ -621,7 +644,7 @@ sur la machine, par exemple avec : @example # mkdir -p /usr/local/bin # cd /usr/local/bin -# ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix +# ln -s /var/guix/profiles/per-user/root/current-guix/bin/guix @end example C'est aussi une bonne idée de rendre la version Info de ce manuel disponible @@ -630,7 +653,7 @@ ici : @example # mkdir -p /usr/local/share/info # cd /usr/local/share/info -# for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ; +# for i in /var/guix/profiles/per-user/root/current-guix/share/info/* ; do ln -s $i ; done @end example @@ -645,7 +668,8 @@ Pour utiliser les substituts de @code{hydra.gnu.org} ou l'un de ses mirroirs (@pxref{Substituts}), autorisez-les : @example -# guix archive --authorize < ~root/.guix-profile/share/guix/hydra.gnu.org.pub +# guix archive --authorize < \ + ~root/.config/guix/current/share/guix/hydra.gnu.org.pub @end example @item @@ -678,10 +702,11 @@ make guix-binary.@var{system}.tar.xz @end example @noindent -… ce qui à son tour lance : +...@: which, in turn, runs: @example -guix pack -s @var{system} --localstatedir guix +guix pack -s @var{system} --localstatedir \ + --profile-name=current-guix guix @end example @xref{Invoquer guix pack}, pour plus d'info sur cet outil pratique. @@ -699,15 +724,16 @@ GNU Guix dépend des paquets suivants : @itemize @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 ou -ultérieure, dont 2.2.x, -@item @url{http://gnupg.org/, GNU libgcrypt}, +supérieure, dont 2.2.x, +@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version +0.1.0 ou supérieure, @item @uref{http://gnutls.org/, GnuTLS}, en particulier ses liaisons Guile (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}), @item -@uref{https://notabug.org/civodul/guile-sqlite3, Guile-SQLite3}, version -0.1.0 or later; +@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, +version 0.1.0 ou supérieure, @item @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 @@ -742,6 +768,7 @@ construction. paquets suivants sont aussi requis : @itemize +@item @url{http://gnupg.org/, GNU libgcrypt}, @item @url{http://sqlite.org, SQLite 3}, @item @url{http://gcc.gnu.org, GCC's g++}, avec le support pour le standard C++11. @@ -1092,8 +1119,9 @@ Il y a un certain nombre de champs facultatifs que vous pouvez remplir : Numéro de port du serveur SSH sur la machine. @item @code{private-key} (par défaut : @file{~root/.ssh/id_rsa}) -The SSH private key file to use when connecting to the machine, in OpenSSH -format. This key must not be protected with a passphrase. +Le fichier de clef privée SSH à utiliser lors de la connexion à la machine, +au format OpenSSH@. Cette clef ne doit pas être protégée par phrase de +passe. Remarquez que la valeur par défaut est la clef privée @emph{du compte root}. Assurez-vous qu'elle existe si vous utilisez la valeur par défaut. @@ -1327,18 +1355,21 @@ obtenir des constructions reproductibles (@pxref{Fonctionnalités}). Lorsque le démon effectue une construction pour le compte de l'utilisateur, il crée un répertoire sous @file{/tmp} ou sous le répertoire spécifié par sa variable d'environnement @code{TMPDIR}. Ce répertoire est partagé avec le -conteneur pendant la durée de la construction. Soyez conscient qu'utiliser -un répertoire différent de @file{/tmp} peut affecter les résultats de la -construction — par exemple avec un nom de répertoire plus long, un processus -de construction qui utiliserait des socket Unix-domain pourrait atteindre la -limite de longueur de nom de fichier pour @code{sun_path}, qu'il n'aurait -sinon pas atteinte. +conteneur pendant la durée de la construction, bien que dans le conteneur, +l'arborescence de construction est toujours appelée +@file{/tmp/guix-build-@var{name}.drv-0}. Le répertoire de construction est automatiquement supprimé à la fin, à moins que la construction n'ait échoué et que le client ait spécifié @option{--keep-failed} (@pxref{Invoquer guix build, @option{--keep-failed}}). +Le démon écoute les connexions et démarre un sous-processus pour chaque +session démarrée par un client (l'une des sous-commandes de +@command{guix}). La commande @command{guix processes} vous permet d'obtenir +un aperçu de l'activité sur votre système en affichant chaque session et +client actif. @xref{Invoquer guix processes} pour plus d'informations. + Les options en ligne de commande suivantes sont disponibles : @table @code @@ -1480,10 +1511,12 @@ utilisées. @cindex racines du GC @cindex racines du ramasse-miettes -When set to ``yes'', the GC will keep the outputs of any live derivation -available in the store---the @code{.drv} files. The default is ``no'', -meaning that derivation outputs are kept only if they are reachable from a -GC root. @xref{Invoquer guix gc}, for more on GC roots. +Lorsqu'elle est à « yes », le GC gardera les sorties de toutes les +dérivations — les fichiers @code{.drv} — accessibles dans le dépôt. La +valeur par défaut est « no », ce qui signifie que les sorties des +dérivations ne sont gardées que si elles sont accessibles à partir d'une +racine du GC. @xref{Invoquer guix gc} pour plus d'informations sur les +racines du GC. @item --gc-keep-derivations[=yes|no] Dire si le ramasse-miettes (GC) doit garder les dérivations correspondant à @@ -1495,14 +1528,15 @@ leurs sorties est utilisée. Cela permet aux utilisateurs de garder une trace de l'origine des éléments du dépôt. Le mettre à « no » préserve un peu d'espace disque. -In this way, setting @code{--gc-keep-derivations} to ``yes'' causes liveness -to flow from outputs to derivations, and setting @code{--gc-keep-outputs} to -``yes'' causes liveness to flow from derivations to outputs. When both are -set to ``yes'', the effect is to keep all the build prerequisites (the -sources, compiler, libraries, and other build-time tools) of live objects in -the store, regardless of whether these prerequisites are reachable from a GC -root. This is convenient for developers since it saves rebuilds or -downloads. +De cette manière, avec @code{--gc-keep-derivations} à « yes », +l'accessibilité des sorties s'étend des sorties aux dérivations et avec +@code{--gc-keep-outputs} à « yes », elle s'étend des dérivations aux +sorties. Quand les deux options sont à « yes », le GC gardera tous les +prérequis de construction (les sources, le compilateur, les bibliothèques, +et les autres outils de construction) des objets accessibles dans le dépôt, +indépendamment du fait qu'ils soient ou non accessibles depuis une racine du +GC. Cela est pratique pour les développeurs car ça leur fait gagner du +temps de reconstruction et de téléchargement. @item --impersonate-linux-2.6 Sur les système basés sur Linux, se faire passer pour Linux 2.6. Cela @@ -1813,6 +1847,10 @@ guix package -i emacs-guix * 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. @end menu @@ -1867,18 +1905,18 @@ les paquets auxquels elles faisaient référence puissent être glanés. @cindex reproductibilité @cindex constructions reproductibles -Finalement, 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}). +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}). @cindex substituts Ce fondement permet à Guix de supporter le @dfn{déploiement transparent de @@ -1897,6 +1935,16 @@ 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}). +@cindex réplication, des environnements logiciels +@cindex 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. + @node Invoquer guix package @section Invoquer @command{guix package} @@ -2882,7 +2930,8 @@ 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}. +est téléchargé depuis un dépôt @uref{https://git-scm.com, Git}, par défaut +le dépôt officiel de GNU@tie{}Guix, 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 @@ -2919,25 +2968,28 @@ Génération 1 10 juin 2018 00:18:18 branche : origin/master commit : 65956ad3526ba09e1f7a40722c96c6ef7c0936fe -Generation 2 Jun 11 2018 11:02:49 +Génération 2 11 juin 2018 11:02:49 guix e0cc7f6 - repository URL: https://git.savannah.gnu.org/git/guix.git - branch: origin/master - commit: e0cc7f669bec22c37481dd03a7941c7d11a64f1d - 2 new packages: keepalived, libnfnetlink - 6 packages upgraded: emacs-nix-mode@@2.0.4, + 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 -Generation 3 Jun 13 2018 23:31:07 (current) +Génération 3 13 juin 2018 23:31:07 (actuelle) guix 844cc1c - repository URL: https://git.savannah.gnu.org/git/guix.git - branch: origin/master - commit: 844cc1c8f394f03b404c5bb3aee086922373490c - 28 new packages: emacs-helm-ls-git, emacs-helm-mu, @dots{} - 69 packages upgraded: borg@@1.1.6, cheese@@3.28.0, @dots{} + 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{} @end example +@ref{Invoquer guix describe, @command{guix describe}} pour d'autres manières +de décrire le statut actuel de Guix. + 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 à @@ -2947,32 +2999,33 @@ une génération précédente — c.-à-d.@: la version de Guix précédente — $ 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 /home/charlie/.config/guix/current-1-link +suppression de /var/guix/profiles/per-user/charlie/current-guix-1-link @end example La commande @command{guix pull} est typiquement invoquée sans arguments mais il supporte les options suivantes : @table @code -@item --verbose -Produire une sortie verbeuse, en écrivant les journaux de construction sur -la sortie d'erreur standard. - @item --url=@var{url} -Télécharger Guix depuis le dépôt Git à @var{url}. - -@vindex GUIX_PULL_URL -Par défaut, la source est récupérée depuis le dépôt Git canonique sur -@code{gnu.org}, pour la branche stable de Guix. Pour utiliser une autre -source, paramétrez la variable d'environnement @code{GUIX_PULL_URL}. - -@item --commit=@var{commit} -Déployer de @var{commit}, un ID de commit Git valide représenté par une -chaîne hexadécimale. - -@item --branch=@var{branche} -Déployer le haut de la @var{branche}, le nom d'une branche Git disponible -sur le répertoire à @var{url}. +@itemx --commit=@var{commit} +@itemx --branch=@var{branche} +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 +@var{branch}. + +@cindex @file{channels.scm}, fichier de configuration +@cindex fichier de configuration pour les canaux +Ces options sont fournies pour votre confort, mais vous pouvez aussi +spécifier votre configuration dans le fichier +@file{~/.config/guix/channels.scm} ou en utilisant l'option +@option{--channels} (voir plus bas). + +@item --channels=@var{file} +@itemx -C @var{file} +Lit la liste des canaux dans @var{file} plutôt que dans +@file{~/.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. @item --list-generations[=@var{motif}] @itemx -l [@var{motif}] @@ -2981,14 +3034,434 @@ Liste toutes les générations de @file{~/.config/guix/current} ou, si à @var{motif}. La syntaxe de @var{motif} est la même qu'avec @code{guix package --list-generations} (@pxref{Invoquer guix package}). +@ref{Invoquer guix describe}, pour une manière d'afficher des informations +sur la génération actuelle uniquement. + +@item --profile=@var{profil} +@itemx -p @var{profil} +Utiliser le @var{profil} à la place de @file{~/.config/guix/current}. + +@item --dry-run +@itemx -n +Montrer quels commits des canaux seraient utilisés et ce qui serait +construit ou substitué mais ne pas le faire vraiment. + +@item --verbose +Produire une sortie verbeuse, en écrivant les journaux de construction sur +la sortie d'erreur standard. + @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. @end table +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 +@emph{supplémentaires} contenant des modules de paquets qui devraient être +déployés. @xref{Canaux} pour plus d'information. + En plus, @command{guix pull} supporte toutes les options de construction communes (@pxref{Options de construction communes}). +@node Canaux +@section Canaux + +@cindex canaux +@cindex @file{channels.scm}, fichier de configuration +@cindex fichier de configuration pour les canaux +@cindex @command{guix pull}, fichier de configuration +@cindex 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 +GNU@tie{}Guix. 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 à +@command{guix pull} de récupérer un ou plusieurs canaux. En d'autres +termes, les canaux peuvent être utilisés pour personnaliser et pour +@emph{étendre} Guix, comme on le verra plus bas. + +@subsection Utiliser un canal Guix personnalisé + +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} : + +@lisp +;; Dit à « guix pull » d'utiliser mon propre dépôt. +(list (channel + (name 'guix) + (url "https://example.org/my-guix.git") + (branch "super-hacks"))) +@end lisp + +@noindent +Maintenant, @command{guix pull} récupérera le code depuis la branche +@code{super-hacks} du dépôt sur @code{example.org}. + +@subsection Spécifier des canaux supplémentaires + +@cindex étendre la collection de paquets (canaux) +@cindex paquets personnels (canaux) +@cindex 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 ? + +@c What follows stems from discussions at +@c as well as +@c earlier discussions on guix-devel@gnu.org. +@quotation Attention +Avant que vous, cher utilisateur, ne vous exclamiez « Oh mais c'est +@emph{super génial} ! » et que vous ne publiez vos canaux personnels +publiquement, nous voudrions vous donner quelques avertissements : + +@itemize +@item +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. + +@item +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. + +@item +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. +@end itemize + +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. +@end quotation + +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 à +@command{guix pull} de récupérer votre canal personnel @emph{en plus} des +canaux Guix par défaut : + +@vindex %default-channels +@lisp +;; Ajouter mes paquets personnels à ceux fournis par Guix. +(cons (channel + (name 'my-personal-packages) + (url "https://example.org/personal-packages.git")) + %default-channels) +@end lisp + +@noindent +Note that the snippet above is (as always!)@: Scheme code; we use +@code{cons} to add a channel the list of channels that the variable +@code{%default-channels} 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: + +@example +$ guix pull --list-generations +@dots{} +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{} +@end example + +@noindent +La sortie de @command{guix pull} ci-dessus montre que la génération@tie{}19 +contient aussi bien Guix que les paquets du canal +@code{my-personal-packages}. Parmi les nouveaux paquets et les paquets mis +à jour qui sont listés, certains comme @code{my-gimp} et +@code{my-emacs-with-cool-features} peuvent provenir de +@code{my-personal-packages}, tandis que d'autres viennent du canal par +défaut de Guix. + +@subsection Répliquer Guix + +@cindex épinglage, canaux +@cindex répliquer Guix +@cindex 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 +@file{~/.config/guix/channels.scm} qui est « épinglé » à ces commits : + +@lisp +;; 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"))) +@end lisp + +La commande @command{guix describe --format=channels} peut même générer +cette liste de canaux directement (@pxref{Invoquer guix describe}). + +À 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. + +@node Inférieurs +@section Inférieurs + +@c TODO: Remove this once we're more confident about API stability. +@quotation Remarque +La fonctionnalité décrite ici est un « démonstrateur technique » à la +version @value{VERSION}. Ainsi, l'interface est sujette à changements. +@end quotation + +@cindex inférieurs +@cindex 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 +@dfn{inférieurs} de Guix vous permettent d'accomplir cette tâche en +composant différentes versions de Guix de manière arbitraire. + +@cindex 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. + +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 +@code{guile-json} 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 : + +@lisp +(use-modules (guix inferior) (guix channels) + (srfi srfi-1)) ;pour « first » + +(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")))) + +(define inferior + ;; Un inférieur représentant la révision ci-dessus. + (inferior-for-channels channels)) + +;; 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"))) +@end lisp + +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. + +Le module @code{(guix inferior)} fournit les procédures suivantes pour +ouvrir un inférieur : + +@deffn {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. + +Elle a pour effet de bord de construire ou de substituer des binaires pour +@var{channels}, ce qui peut prendre du temps. +@end deffn + +@deffn {Procédure Scheme} open-inferior @var{directory} @ + [#:command "bin/guix"] +Ouvre le Guix inférieur dans @var{directory} et lance +@code{@var{directory}/@var{command} repl} ou équivalent. Renvoie @code{#f} +si l'inférieur n'a pas pu être lancé. +@end deffn + +@cindex paquets inférieurs +Les procédures listées plus bas vous permettent d'obtenir et de manipuler +des paquets inférieurs. + +@deffn {Procédure Scheme} inferior-packages @var{inferior} +Renvoie la liste des paquets connus de l'inférieur @var{inferior}. +@end deffn + +@deffn {Procédure Scheme} lookup-inferior-packages @var{inferior} @var{name} @ + [@var{version}] +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 +@var{version} est vrai, renvoie seulement les paquets avec un numéro de +version préfixé par @var{version}. +@end deffn + +@deffn {Procédure Scheme} inferior-package? @var{obj} +Renvoie vrai si @var{obj} est un paquet inférieur. +@end deffn + +@deffn {Procédure Scheme} inferior-package-name @var{package} +@deffnx {Procédure Scheme} inferior-package-version @var{package} +@deffnx {Procédure Scheme} inferior-package-synopsis @var{package} +@deffnx {Procédure Scheme} inferior-package-description @var{package} +@deffnx {Procédure Scheme} inferior-package-home-page @var{package} +@deffnx {Procédure Scheme} inferior-package-location @var{package} +@deffnx {Procédure Scheme} inferior-package-inputs @var{package} +@deffnx {Procédure Scheme} inferior-package-native-inputs @var{package} +@deffnx {Procédure Scheme} inferior-package-propagated-inputs @var{package} +@deffnx {Procédure Scheme} inferior-package-transitive-propagated-inputs @var{package} +@deffnx {Procédure Scheme} inferior-package-native-search-paths @var{package} +@deffnx {Procédure Scheme} inferior-package-transitive-native-search-paths @var{package} +@deffnx {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. +@end deffn + +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 +@code{operating-system}, etc. + +@node Invoquer guix describe +@section Invoquer @command{guix describe} + +@cindex reproductibilité +@cindex 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 +@emph{répliquer} 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 +@command{guix describe} répond à ces questions. + +Lorsqu'elle est lancée depuis un @command{guix} mis à jour avec +@command{guix 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}) : + +@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 +@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 +@option{--list-generations}}). 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. + +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 : + +@example +$ guix describe -f channels +(list (channel + (name 'guix) + (url "https://git.savannah.gnu.org/git/guix.git") + (commit + "e0fa68c7718fffd33d81af415279d6ddb518f727"))) +@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 +@emph{exactement 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} : + +@table @code +@item --format=@var{format} +@itemx -f @var{format} +Produire la sortie dans le @var{format} donné, parmi : + +@table @code +@item human +produire une sortie lisible par un humain, +@item canaux +produire une liste de spécifications de canaux qui peut être passée à +@command{guix pull -C} ou installée dans @file{~/.config/guix/channels.scm} +(@pxref{Invoquer guix pull}), +@item json +@cindex JSON +produire une liste de spécifications de canaux dans le format JSON, +@item recutils +produire une liste de spécifications de canaux dans le format Recutils. +@end table + +@item --profile=@var{profil} +@itemx -p @var{profil} +Afficher les informations sur le @var{profil}. +@end table + @node Invoquer guix pack @section Invoquer @command{guix pack} @@ -3123,8 +3596,8 @@ guix pack -R -S /mybin=bin bash @end example @noindent -… vous pouvez copier ce pack sur une machine qui n'a pas Guix et depuis -votre répertoire personnel en tant qu'utilisateur non-privilégié, lancer : +...@: you can copy that pack to a machine that lacks Guix, and from your +home directory as a normal user, run: @example tar xf pack.tar.gz @@ -3195,8 +3668,11 @@ Par exemple, @code{-S /opt/gnu/bin=bin} crée un lien symbolique @file{/opt/gnu/bin} qui pointe vers le sous-répertoire @file{bin} du profil. @item --localstatedir -Inclure le « répertoire d'état local », @file{/var/guix} dans le paquet -résultant. +@itemx --profile-name=@var{nom} +Inclus le « répertoire d'état local », @file{/var/guix}, dans le lot qui en +résulte, et notamment le profil +@file{/var/guix/profiles/per-user/root/@var{nom}} — par défaut @var{nom} est +@code{guix-profile}, ce qui correspond à @file{~root/.guix-profile}. @file{/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 @@ -3425,7 +3901,7 @@ paquets à haut-niveau. * La monad du dépôt:: Interface purement fonctionnelle avec le dépôt. * G-Expressions:: Manipuler les expressions de construction. -* Invoking guix repl:: Fiddling with Guix interactively. +* Invoquer guix repl:: S'amuser avec Guix de manière interactive. @end menu @node Définition des paquets @@ -3582,9 +4058,9 @@ d'inforamtions sur la manière de tester des définitions de paquets et @ref{Invoquer guix lint}, pour des informations sur la manière de vérifier que la définition réspecte les conventions de style. @vindex GUIX_PACKAGE_PATH -Enfin, @pxref{Modules de paquets} pour des informations sur la manière -d'étendre la distribution en ajoutant vos propres définitions de paquets -dans @code{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 +». 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} @@ -4139,10 +4615,73 @@ Guix. La phase @code{install} installe les binaires et installe aussi le code source et le fichier @file{Cargo.toml}. @end defvr +@cindex Clojure (langage de programmation) +@cindex système de construction Clojure simple +@defvr {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. + +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 +@code{#:clojure}, @code{#:jdk} et @code{#:zip}. + +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}, +@code{#:test-dirs} et @code{#:jar-names}. Le répertoire de construction est +la classe principale peuvent être spécifiés avec les paramètres +@code{#:compile-dir} et @code{#:main-class}. Les autres paramètres sont +documentés plus bas. + +Ce système de construction est une extension de @var{ant-build-system}, mais +avec les phases suivantes modifiées : + +@table @code + +@item 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 +@code{#:omit-source?} décide si les sources devraient être incluses dans les +fichiers jar. + +@item 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 +@code{#: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. + +@item install +Cette phase installe tous les fichiers jar précédemment construits. +@end table + +En dehors de cela, le système de construction contient aussi la phase +suivante : + +@table @code + +@item 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 +@code{#:doc-dirs} sont aussi installés. +@end table +@end defvr + @defvr {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, outils de construction CMake}. +l'@url{http://www.cmake.org, outil de construction CMake}. Elle ajoute automatiquement le paquet @code{cmake} à l'ensemble des entrées. Le paquet utilisé peut être spécifié par le paramètre @@ -4218,19 +4757,19 @@ construction. Le paquet @code{glib} qui fournit Ces deux phases sont exécutées après la phase @code{install}. @end defvr -@defvr {Scheme Variable} guile-build-system -This build system is for Guile packages that consist exclusively of Scheme -code and that are so lean that they don't even have a makefile, let alone a -@file{configure} script. It compiles Scheme code using @command{guild -compile} (@pxref{Compilation,,, guile, GNU Guile Reference Manual}) and -installs the @file{.scm} and @file{.go} files in the right place. It also -installs documentation. +@defvr {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 +@file{.go} aux bons emplacements. Il installe aussi la documentation. -This build system supports cross-compilation by using the @code{--target} -option of @command{guild compile}. +Ce système de construction supporte la compilation croisée en utilisant +l'option @code{--target} de @command{guild compile}. -Packages built with @code{guile-build-system} must provide a Guile package -in their @code{native-inputs} field. +Les paquets construits avec @code{guile-build-system} doivent fournir un +paquet Guile dans leur champ @code{native-inputs}. @end defvr @defvr {Variable Scheme} minify-build-system @@ -4458,11 +4997,11 @@ paquet est installé dans son propre répertoire dans @end defvr @defvr {Variable Scheme} font-build-system -Cette variable est exportée par @code{(guix build-system font)}. Elle -implémente une procédure d'installation pour les paquets de polices où des -fichiers de polices TrueType, OpenType, etc sont fournis en amont et n'ont -qu'à être copiés à leur emplacement final. Elle copie les fichiers de -polices à l'emplacement standard dans le répertoire de sortie. +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. @end defvr @defvr {Variable Scheme} meson-build-system @@ -4745,13 +5284,12 @@ dérivation est la procédure @code{derivation} : @deffn {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] @ +[#: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] - -Construit une dérivation avec les arguments donnés et renvie l'objet +[#:substitutable? #t] [#:properties '()] +Construit une dérivation avec les arguments donnés et renvoie l'objet @code{} obtenu. Lorsque @var{hash} et @var{hash-algo} sont donnés, une @dfn{dérivation à @@ -4789,6 +5327,10 @@ 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. + +@var{properties} 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. @end deffn @noindent @@ -5097,21 +5639,21 @@ Lorsqu'on la lance à travers @var{%state-monad}, on obtient cet valeur d'état supplémentaire, qui est le nombre d'appels à @code{square}. @end defvr -@deffn {Procédure Monadic} current-state +@deffn {Procédure monadique} current-state Renvoie l'état actuel dans une valeur monadique. @end deffn -@deffn {Procédure Monadic} set-current-state @var{value} +@deffn {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. @end deffn -@deffn {Procédure Monadic} state-push @var{value} +@deffn {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. @end deffn -@deffn {Procédure Monadic} state-pop +@deffn {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. @end deffn @@ -5138,21 +5680,21 @@ Lance @var{mval}, une valeur monadique dans la monad du dépôt, dans @var{store}, une connexion ouvert au dépôt. @end deffn -@deffn {Procédure Monadique} text-file @var{name} @var{text} [@var{references}] +@deffn {Procédure monadique} text-file @var{name} @var{text} [@var{references}] 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. @end deffn -@deffn {Monadic Procedure} binary-file @var{name} @var{data} [@var{references}] -Return as a monadic value the absolute file name in the store of the file -containing @var{data}, a bytevector. @var{references} is a list of store -items that the resulting binary file refers to; it defaults to the empty -list. +@deffn {Procédure monadique} binary-file @var{name} @var{data} [@var{references}] +Renvoie une valeur monadique correspondant au nom de fichier absolu dans le +dépôt du fichier contenant @var{data}, un vecteur d'octets. +@var{references} 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. @end deffn -@deffn {Procédure Monadique} interned-file @var{file} [@var{name}] @ +@deffn {Procédure monadique} interned-file @var{file} [@var{name}] @ [#: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 @@ -5184,7 +5726,7 @@ L'exemple ci-dessous ajoute un fichier au dépôt, sous deux noms différents : Le module @code{(guix packages)} exporte les procédures monadiques liées aux paquets suivantes : -@deffn {Procédure Monadique} package-file @var{package} [@var{file}] @ +@deffn {Procédure monadique} package-file @var{package} [@var{file}] @ [#:system (%current-system)] [#:target #f] @ [#:output "out"] Renvoie une valeur monadique qui contient le nom de fichier absolu de @@ -5194,8 +5736,8 @@ Renvoie une valeur monadique qui contient le nom de fichier absolu de cible pour la compilation croisée. @end deffn -@deffn {Procédure Monadique} package->derivation @var{package} [@var{system}] -@deffnx {Procédure Monadique} package->cross-derivation @var{package} @ +@deffn {Procédure monadique} package->derivation @var{package} [@var{system}] +@deffnx {Procédure monadique} package->cross-derivation @var{package} @ @var{target} [@var{system}] Version monadique de @code{package-derivation} et @code{package-cross-derivation} (@pxref{Définition des paquets}). @@ -5489,18 +6031,18 @@ 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). -@deffn {Procédure Monadique} gexp->derivation @var{name} @var{exp} @ +@deffn {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] @ +[#:disallowed-references #f] @ [#:leaked-env-vars #f] @ [#:script-name (string-append @var{name} "-builder")] @ [#:deprecation-warnings #f] @ -[#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] +[#:local-build? #f] [#:substitutable? #t] @ +[#:properties '()] [#:guile-for-build #f] Renvoie une dérivation @var{name} qui lance @var{exp} (une gexp) avec @var{guile-for-build} (une dérivation) sur @var{system} ; @var{exp} est stocké dans un fichier appelé @var{script-name}. Lorsque @var{target} est @@ -5596,8 +6138,9 @@ C'est la version déclarative de la procédure monadique @code{interned-file} @end deffn @deffn {Procédure Scheme} plain-file @var{name} @var{content} -Return an object representing a text file called @var{name} with the given -@var{content} (a string or a bytevector) to be added to the store. +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. C'est la version déclarative de @code{text-file}. @end deffn @@ -5783,7 +6326,7 @@ exemple, abaisser un paquet crée une dérivation, et abaisser un @code{plain-file} crée un élément du dépôt. Cela est effectué par la procédure monadique @code{lower-object}. -@deffn {Procédure Monadique} lower-object @var{obj} [@var{system}] @ +@deffn {Procédure monadique} lower-object @var{obj} [@var{system}] @ [#:target #f] Renvoie la dérivation ou l'élément du dépôt comme une valeur de @var{%store-monad} qui correspond à @var{obj} pour @var{system}, en @@ -5792,16 +6335,16 @@ compilant de manière croisée pour @var{target} si @var{target} est vrai. @code{}. @end deffn -@node Invoking guix repl -@section Invoking @command{guix repl} +@node Invoquer guix repl +@section Invoquer @command{guix repl} @cindex REPL, read-eval-print loop -The @command{guix repl} command spawns a Guile @dfn{read-eval-print loop} -(REPL) for interactive programming (@pxref{Using Guile Interactively,,, -guile, GNU Guile Reference Manual}). Compared to just launching the -@command{guile} command, @command{guix repl} guarantees that all the Guix -modules and all its dependencies are available in the search path. You can -use it this way: +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 repl @@ -5810,38 +6353,39 @@ scheme@@(guile-user)> coreutils $1 = # @end example -@cindex inferiors -In addition, @command{guix repl} implements a simple machine-readable REPL -protocol for use by @code{(guix inferior)}, a facility to interact with -@dfn{inferiors}, separate processes running a potentially different revision -of Guix. +@cindex 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. -The available options are as follows: +Les options disponibles sont les suivante : @table @code @item --type=@var{type} @itemx -t @var{type} -Start a REPL of the given @var{TYPE}, which can be one of the following: +Démarrer un REPL du @var{type} donné, qui peut être l'un de ces types : @table @code @item guile -This is default, and it spawns a standard full-featured Guile REPL. +C'est la valeur par défaut. Elle démarre un REPL Guile standard +fonctionnel. @item machine -Spawn a REPL that uses the machine-readable protocol. This is the protocol -that the @code{(guix inferior)} module speaks. +Démarre un REPL qui utilise le protocole lisible par machine. C'est le +protocole que parle le module @code{(guix inferior)}. @end table @item --listen=@var{extrémité} -By default, @command{guix repl} reads from standard input and writes to -standard output. When this option is passed, it will instead listen for -connections on @var{endpoint}. Here are examples of valid options: +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 : @table @code @item --listen=tcp:37146 -Accept connections on localhost on port 37146. +Accepte les connexions sur localhost, sur le port 31. @item --listen=unix:/tmp/socket -Accept connections on the Unix-domain socket @file{/tmp/socket}. +Accepte les connexions sur le socket Unix-domain @file{/tmp/socket}. @end table @end table @@ -5874,6 +6418,7 @@ Guix d'une manière pratique. * 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. @end menu @node Invoquer guix build @@ -5958,6 +6503,10 @@ de construction. Cela est utile pour déboguer des échecs de construction. @xref{Débogage des échecs de construction}, pour des astuces sur la manière de déboguer des problèmes de construction. +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 +@code{GUIX_DAEMON_SOCKET}}). + @item --keep-going @itemx -k Continue lorsque certaines dérivations échouent ; ne s'arrête que lorsque @@ -6173,6 +6722,38 @@ doivent être compatibles. Si @var{remplaçant} est incompatible avec @var{paquet}, alors le paquet qui en résulte peut devenir inutilisable. À utilisez avec précaution ! +@item --with-branch=@var{package}=@var{branch} +@cindex Git, using the latest commit +@cindex latest commit, building +Build @var{package} from the latest commit of @var{branch}. The +@code{source} field of @var{package} must be an origin with the +@code{git-fetch} method (@pxref{Référence d'origine}) or a @code{git-checkout} +object; the repository URL is taken from that @code{source}. + +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 +guix build --with-branch=guile-sqlite3=master cuirass +@end example + +@cindex 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). + +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. + +@item --with-commit=@var{package}=@var{commit} +This is similar to @code{--with-branch}, except that it builds from +@var{commit} rather than the tip of a branch. @var{commit} must be a valid +Git commit SHA1 identifier. @end table @node Options de construction supplémentaires @@ -6191,9 +6772,8 @@ on peut toujours l'y trouver avec l'option @option{--log-file}. @item --file=@var{fichier} @itemx -f @var{fichier} - -Construit le paquet ou la dérivation en lequel le code dans @var{file} -s'évalue. +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}). Par exemple, @var{file} peut contenir une définition de paquet comme ceci (@pxref{Définition des paquets}) : @@ -6257,10 +6837,9 @@ The following derivations will be built: @end example @item transitive -Construit les dérivations des sources de tous les paquets, ainsi que toutes -celles les entrées transitives des paquets. On peut utiliser cette option -pour précharger les sources des paquets pour les construire plus tard hors -ligne par exemple. +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 $ guix build --sources=transitive tzdata @@ -6495,9 +7074,9 @@ ou @code{EDITOR} pour visionner la recette de GCC@tie{}4.9.3 et cele de Vim. 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{Définition des 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. +(@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. @node Invoquer guix download @@ -6682,6 +7261,13 @@ La commande ci-dessous importe les métadonnées du paquet Python guix import pypi itsdangerous @end example +@table @code +@item --recursive +@itemx -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 + @item gem @cindex gem Importe des métadonnées de @uref{https://rubygems.org/, @@ -6939,9 +7525,13 @@ Les options spécifiques sont : @itemx -t N'inclut pas les dépendances requises uniquement par les suites de tests. @item --lts-version=@var{version} -@itemx -r @var{version} +@itemx -l @var{version} @var{version} est la version LTS désirée. Si elle est omise, la dernière version est utilisée. +@item --recursive +@itemx -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 La commande ci-dessous importe les métadonnées du paquet Haskell @code{HTTP} @@ -6997,8 +7587,8 @@ Importe les métadonnées du répertoire des paquets Rust @item opam @cindex OPAM @cindex OCaml -Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package -repository used by the OCaml community. +Importe les métadonnées du répertoire de paquets +@uref{https://opam.ocaml.org/, OPAM} utilisé par la communauté OCaml @end table La structure du code de @command{guix import} est modulaire. Il serait @@ -7240,6 +7830,39 @@ opérations avec GnuPG : Utilise @var{commande} comme la commande de GnuPG 2.x. @var{commande} est recherchée dans @code{PATH}. +@item --keyring=@var{fichier} +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 GNU@tie{}Privacy 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). + +Lorsque cette option est omise, @command{guix refresh} utilise +@file{~/.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). + +Vous pouvez exporter les clefs de votre porte-clefs GPG par défaut dans un +fichier keybox avec une commande telle que : + +@example +gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx +@end example + +De même, vous pouvez récupérer des clefs dans un fichier keybox spécifique +comme ceci : + +@example +gpg --no-default-keyring --keyring mykeyring.kbx \ + --recv-keys @value{OPENPGP-SIGNING-KEY-ID} +@end example + +@ref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU +Privacy Guard} pour plus d'informations sur l'option @option{--keyring} de +GPG. + @item --key-download=@var{politique} Gère les clefs OpenPGP manquantes d'après la @var{politique}, qui peut être l'une des suivantes : @@ -7265,17 +7888,15 @@ clef publique. @end table -Le gestionnaire de mises à jour @code{github} utilise -@uref{https://developer.github.com/v3/, l'API de GitHub} pour faire des -requêtes sur les nouvelles versions. Lorsqu'elle est utilisé de manière -répétée, p.@: ex.@: lorsque vous vérifiez tous les paquets, GitHub finira -par refuser de répondre à d'autres requêtes de l'API. Par défaut 60 -requêtes à l'heure sont autorisées, et une vérification complète de tous les -paquets GitHub dans Guix requiert bien plus que cela. L'authentification -avec GitHub à travers l'utilisation d'un jeton d'API lève ces limites. Pour -utiliser un jeton de l'API, initialisez la variable d'environnement -@code{GUIX_GITHUB_TOKEN} avec un jeton que vous vous serez procuré sur -@uref{https://github.com/settings/tokens} ou autrement. +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 +@code{GUIX_GITHUB_TOKEN} to a token procured from +@uref{https://github.com/settings/tokens} or otherwise. @node Invoquer guix lint @@ -7304,11 +7925,10 @@ natives. @itemx home-page @itemx mirror-url @itemx source-file-name -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{Référence d'origine}). +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}). @item cve @cindex vulnérabilités @@ -7574,7 +8194,7 @@ Cela montre le DAG @emph{inversé} des paquets. Par exemple : guix graph --type=reverse-package ocaml @end example -… montre le graphe des paquets qui dépendent de OCaml. +...@: yields the graph of packages that depend on OCaml. 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 @@ -7591,7 +8211,7 @@ Par exemple, la commande suivante : guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf @end example -… montre ce graphe plus gros : +...@: yields this bigger graph: @image{images/coreutils-bag-graph,,5in,Graphe des dépendances détaillé de GNU Coreutils} @@ -7698,6 +8318,14 @@ C'est utile pour précisément se référer à un paquet, comme dans cet exemple @example guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)' @end example + +@item --system=@var{système} +@itemx -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. @end table @@ -7759,7 +8387,7 @@ fi @end example @noindent -… ou de naviguer dans le profil : +...@: or to browse the profile: @example $ ls "$GUIX_ENVIRONMENT/bin" @@ -8584,6 +9212,63 @@ contenir un @dfn{manifeste} comme avec l'option @code{-m} de @command{guix package} (@pxref{Invoquer guix package}). @end table +@node Invoquer guix processes +@section Invoquer @command{guix processes} + +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 +question@footnote{Les sessions distantes, lorsque @command{guix-daemon} est +démarré avec @option{--listen} en spécifiant un point d'entrée TCP, ne sont +@emph{pas} listées.}. Voici un exemple des informations qu'elle renvoie : + +@example +$ sudo guix processes +SessionPID: 19002 +ClientPID: 19090 +ClientCommand: guix environment --ad-hoc python + +SessionPID: 19402 +ClientPID: 19367 +ClientCommand: guix publish -u guix-publish -p 3000 -C 9 @dots{} + +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 + +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. + +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 +@code{LockHeld} 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}). + +La sortie est dans le format Recutils pour qu'on puisse utiliser la commande +@command{recsel} 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 +$ sudo guix processes | \ + recsel -p ClientPID,ClientCommand -e 'LockHeld ~ "perl"' +ClientPID: 19419 +ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{} +@end example @c ********************************************************************* @node Distribution GNU @@ -8731,8 +9416,8 @@ De plus en plus de services systèmes sont fournis (@pxref{Services}) mais certains manquent toujours cruellement. @item -More than 7,500 packages are available, but you might occasionally find that -a useful package is missing. +Plus de 7@tie{}500 paquets sont disponibles, mais vous pourrez parfois +trouver qu'un paquet utile est absent. @item GNOME, Xfce, LXDE et Enlightenment sont disponibles (@pxref{Services de bureaux}), ainsi qu'un certain nombre de gestionnaires de fenêtres X11. @@ -8785,10 +9470,10 @@ leur support dans GNU/Linux. @node Installation depuis une clef USB ou un DVD @subsection Installation depuis une clef USB ou un DVD -An ISO-9660 installation image that can be written to a USB stick or burnt -to a DVD can be downloaded from -@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz}, -where @var{system} is one of: +Une image d'installation ISO-9660 téléchargeable depuis +@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@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 : @table @code @item x86_64-linux @@ -8811,7 +9496,8 @@ Si cette commande échoue parce que vous n'avez pas la clef publique requise, lancez cette commande pour l'importer : @example -$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID} +$ gpg --keyserver @value{KEY-SERVER} \ + --recv-keys @value{OPENPGP-SIGNING-KEY-ID} @end example @noindent @@ -8924,7 +9610,8 @@ loadkey} pour plus d'informations. @subsubsection Réseau -Run the following command to see what your network interfaces are called: +Lancez la commande suivante pour voir comment vos interfaces réseau sont +appelées : @example ifconfig -a @@ -9051,42 +9738,44 @@ parted /dev/sda set 1 esp on @quotation Remarque @vindex grub-bootloader @vindex grub-efi-bootloader -Unsure whether to use EFI- or BIOS-based GRUB? If the directory -@file{/sys/firmware/efi} exists in the installation image, then you should -probably perform an EFI installation, using @code{grub-efi-bootloader}. -Otherwise you should use the BIOS-based GRUB, known as -@code{grub-bootloader}. @xref{Configuration du chargeur d'amorçage}, for more info on -bootloaders. +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 +@code{grub-efi-bootloader}. Sinon, vous devriez utiliser le GRUB en BIOS, +@code{grub-bootloader}. @xref{Configuration du chargeur d'amorçage} pour plus +d'information sur le chargeur d'amorçage. @end quotation -Once you are done partitioning the target hard disk drive, you have to -create a file system on the relevant partition(s)@footnote{Currently GuixSD -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: +Une fois que vous avez fini le partitionnement du disque dur cible, vous +devez créer un système de fichier sur les partitions@footnote{Actuellement +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 : @example mkfs.fat -F32 /dev/sda1 @end example -Preferably, assign file systems a label so that you can easily and reliably -refer to them in @code{file-system} declarations (@pxref{Systèmes de fichiers}). -This is typically done using the @code{-L} option of @command{mkfs.ext4} and -related commands. So, assuming the target root partition lives at -@file{/dev/sda2}, a file system with the label @code{my-root} can be created -with: +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 mkfs.ext4 -L my-root /dev/sda2 @end example @cindex chiffrement du disque -If you are instead planning to encrypt the root partition, you can use the -Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html, +Si vous voulez plutôt chiffrer la partition racine, vous pouvez utiliser les +utilitaires Cryptsetup et LUKS pour cela (voir @inlinefmtifelse{html, @uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}}, -@code{man cryptsetup}} for more information.) Assuming you want to store -the root partition on @file{/dev/sda2}, the command sequence would be along -these lines: +@code{man 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 cryptsetup luksFormat /dev/sda2 @@ -9107,10 +9796,11 @@ 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. -Finally, if you plan to use one or more swap partitions (@pxref{Memory -Concepts, swap space,, libc, The GNU C Library Reference Manual}), make sure -to initialize them with @command{mkswap}. Assuming you have one swap -partition on @file{/dev/sda3}, you would run: +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 mkswap /dev/sda3 @@ -9196,10 +9886,10 @@ partition EFI montée, comme @code{/boot/efi}, et assurez-vous que ce chemin est bien monté. @item -Be sure that your file system labels match the value of their respective -@code{device} fields in your @code{file-system} configuration, assuming your -@code{file-system} configuration uses the @code{file-system-label} procedure -in its @code{device} field. +Assurez-vous que les étiquettes de vos systèmes de fichiers correspondent +aux valeurs de leur champs @code{device} dans votre configuration +@code{file-system}, en supposant que la configuration @code{file-system} +utilise la procédure @code{file-system-label} dans son champ @code{device}. @item Si vous avez des partitions RAID ou chiffrées, assurez-vous d'ajouter un @@ -9407,16 +10097,16 @@ d'exploitation avec @command{guix system}. @unnumberedsubsubsec Bootloader -@cindex legacy boot, on Intel machines -@cindex BIOS boot, on Intel machines -@cindex UEFI boot -@cindex EFI boot -The @code{bootloader} field describes the method that will be used to boot -your system. Machines based on Intel processors can boot in ``legacy'' BIOS -mode, as in the example above. However, more recent machines rely instead -on the @dfn{Unified Extensible Firmware Interface} (UEFI) to boot. In that -case, the @code{bootloader} field should contain something along these -lines: +@cindex ancien système de démarrage, sur les machines Intel +@cindex démarrage BIOS, sur les machines Intel +@cindex démarrage UEFI +@cindex démarrage EFI +Le champ @code{bootloader} décrit la méthode qui sera utilisée pour démarrer +votre système. Les machines basées sur les processeurs Intel peuvent +démarrer dans l'ancien mode BIOS, comme dans l'exemple au-dessus. +Cependant, les machines plus récentes s'appuient sur l'UEFI (@dfn{Unified +Extensible Firmware Interface}) pour démarrer. Dans ce cas, le champ +@code{bootloader} devrait contenir quelque chose comme cela : @example (bootloader-configuration @@ -9424,23 +10114,23 @@ lines: (target "/boot/efi")) @end example -@xref{Configuration du chargeur d'amorçage}, for more information on the available -configuration options. +@xref{Configuration du chargeur d'amorçage}, pour plus d'informations sur les options de +configuration disponibles. @unnumberedsubsubsec Paquets visibles sur tout le système @vindex %base-packages Le champ @code{packages} liste les paquets qui seront visibles sur tout le système, pour tous les comptes utilisateurs — c.-à-d.@: dans la variable -d'environnement @code{PATH} de tous les utilisateurs — en plus des paquets -par profil (@pxref{Invoquer guix package}). La variable +d'environnement @code{PATH} de tous les utilisateurs — en plus des profils +utilisateurs (@pxref{Invoquer guix package}). La variable @var{%base-packages} fournit tous les outils qu'on pourrait attendre pour les taches de base de l'administrateur et de l'utilisateur — dont les GNU Core Utilities, les GNU Networking Utilities, l'éditeur de texte léger GNU -Zile, @command{find}, @command{grep}, etc. L'exemple au-dessus ajout -GNU@tie{}Screen et OpenSSH à ces paquets, récupérés depuis les modules -@code{(gnu packages screen)} et @code{(gnu packages ssh)} (@pxref{Modules de paquets}). La syntaxe @code{(list paquet sortie)} peut être utilisée pour -ajouter une sortie spécifique d'un paquet : +Zile, @command{find}, @command{grep}, etc. L'exemple au-dessus ajoute +GNU@tie{}Screen à ces paquets, récupéré depuis le module @code{(gnu packages +screen)} (@pxref{Modules de paquets}). Vous pouvez utiliser la syntaxe +@code{(list paquet sortie)} pour ajouter une sortie spécifique d'un paquet : @lisp (use-modules (gnu packages)) @@ -9535,8 +10225,8 @@ l'énergie, et bien plus, ressemblerait à ceci : @include os-config-desktop.texi @end lisp -A graphical system with a choice of lightweight window managers instead of -full-blown desktop environments would look like this: +Un système graphique avec un choix de gestionnaires de fenêtres légers +plutôt que des environnement de bureaux complets ressemblerait à cela : @lisp @include os-config-lightweight-desktop.texi @@ -9590,17 +10280,18 @@ système disponibles sur le disque. Il est possible de revenir à une ancienne génération via les commandes @command{guix system roll-back} et @command{guix system switch-generation}. -Although the @command{guix system reconfigure} command will not modify -previous generations, you must take care when the current generation is not -the latest (e.g., after invoking @command{guix system roll-back}), since the -operation might overwrite a later generation (@pxref{Invoquer guix system}). +Bien que la commande @command{guix system reconfigure} ne modifiera pas les +générations précédentes, vous devez faire attention lorsque votre génération +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}). @unnumberedsubsubsec 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}) : -@deffn {Procédure Monadique} operating-system-derivation os +@deffn {Procédure monadique} operating-system-derivation os Renvoie une dérivation qui construit @var{os}, un objet @code{operating-system} (@pxref{Dérivations}). @@ -9645,9 +10336,9 @@ La liste des modules du noyau linux requis dans l'image disque de RAM initiale. @xref{Disque de RAM initial}. @item @code{initrd} (par défaut : @code{base-initrd}) -Une procédure monadique qui renvoie un disque de RAM initial pour le noyau -Linux. Ce champ est fournit pour pouvoir personnaliser son système à -bas-niveau et n'est que rarement utile dans le cas général. @xref{Disque de RAM initial}. +Une procédure qui renvoie un disque de RAM initial pour le noyau Linux. Ce +champ est fournit pour pouvoir personnaliser son système à bas-niveau et +n'est que rarement utile dans le cas général. @xref{Disque de RAM initial}. @item @code{firmware} (par défaut : @var{%base-firmware}) @cindex firmware @@ -10375,11 +11066,14 @@ exemple : La commande ci-dessus, lancée en @code{root}, liste les services actuellement définis. La commande @command{herd doc} montre un synopsis du -service donné : +service donné et ses actions associées : @example # herd doc nscd Run libc's name service cache daemon (nscd). + +# herd doc nscd action invalidate +invalidate: Invalidate the given cache--e.g., 'hosts' for host name lookups. @end example Les sous-commandes @command{start}, @command{stop} et @command{restart} ont @@ -10420,7 +11114,8 @@ par les services de base qui peuvent être utilisés avec une déclaration * Services VPN:: Démons VPN * Système de fichiers en réseau:: Services liés à NFS@. * Intégration continue:: Le service Cuirass. -* Power Management Services:: Extending battery life. +* Services de gestion de l'énergie:: Augmenter la durée de vie de la + batterie. * Services audio:: MPD@. * Services de virtualisation:: Services de virtualisation. * Services de contrôle de version:: Fournit des accès distants à des @@ -10587,9 +11282,8 @@ Sinon et s'il y a une valeur pour une option @code{console} avec un tty sur la ligne de commande du noyau Linux, agetty extraira le nom du périphérique du port série et l'utilisera. -Dans les deux cas, agetty laissera les autres paramètres du périphérique -série (baud, etc) sans y toucher — dans l'espoir que Linux leur a assigné -les bonnes valeurs. +In both cases, agetty will leave the other serial device settings (baud rate +etc.)@: alone---in the hope that Linux pinned them to the correct values. @item @code{baud-rate} (par défaut : @code{#f}) Une chaîne qui contient une liste d'un ou plusieurs taux de baud séparés par @@ -10770,6 +11464,11 @@ connexion par défaut est @command{login} de la suite d'outils Shadow. @item @code{login-arguments} (par défaut : @code{'("-p")}) Une liste d'arguments à passer à @command{login}. +@item @code{auto-login} (par défaut : @code{#f}) +Lorsqu'un nom de connexion est passé comme une chaîne de caractères, +l'utilisateur spécifié sera automatiquement connecté sans demande du nom +d'utilisateur ni du mot de passe. + @item @code{hardware-acceleration?} (par défaut : #f) S'il faut utiliser l'accélération matérielle. @@ -10786,6 +11485,28 @@ Le paquet Kmscon à utiliser. Renvoie un service qui lance le démon de cache de services de noms de la libc (nscd) avec la @var{config} donnée — un objet @code{}. @xref{Name Service Switch}, pour un exemple. + +Parce que c'est pratique, le service du Shepherd pour nscd fournit les +actions suivantes : + +@table @code +@item invalidate +@cindex invalidation du cache, nscd +@cindex nscd, invalidation du cache +Cela invalide le cache dnné. Par exemple, en laçant : + +@example +herd invalidate nscd hosts +@end example + +@noindent +on invalide le cache de noms d'hôtes de nscd. + +@item statistiques +Lancer @command{herd statistics nscd} affiche des informations sur +l'utilisation de nscd et des caches. +@end table + @end deffn @defvr {Variable Scheme} %nscd-default-configuration @@ -10901,6 +11622,12 @@ Renvoie un service qui lance un démon syslog en suivant @var{config}. d'informations sur la syntaxe du fichier de configuration. @end deffn +@defvr {Variable Scheme} guix-service-type +C'est le type de service qui lance le démon de construction, +@command{guix-daemon} (@pxref{Invoquer guix-daemon}). Sa valeur doit être +un enregistrement @code{guix-configuration} décrit plus bas. +@end defvr + @anchor{guix-configuration-type} @deftp {Type de données} guix-configuration Ce type de données représente la configuration du démon de construction de @@ -10961,11 +11688,6 @@ Un répertoire où @command{guix-daemon} effectuera ses constructions. @end table @end deftp -@deffn {Procédure Scheme} guix-service @var{config} -Renvoie un service qui fait tourner le démon de construction de Guix en -suivant @var{config}. -@end deffn - @deffn {Procédure Scheme} udev-service [#:udev @var{eudev} #:rules @code{'()}] 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 @@ -11288,16 +12010,16 @@ gexps pour introduire des définitions de tâches qui sont passées à mcron plus d'informations sur les spécifications des tâche de mcron. Ci-dessous est la référence du service mcron. -On a running system, you can use the @code{schedule} action of the service -to visualize the mcron jobs that will be executed next: +Sur un système lancé, vous pouvez utiliser l'action @code{schedule} du +service pour visualiser les travaux mcron qui seront exécutés ensuite : @example # herd schedule mcron @end example @noindent -The example above lists the next five tasks that will be executed, but you -can also specify the number of tasks to display: +Cet exemple ci-dessus montre les cinq tâches qui seront exécutés, mais vous +pouvez spécifier le nombre de tâches à afficher : @example # herd schedule mcron 10 @@ -11451,11 +12173,12 @@ Le module @code{(gnu services networking)} fournit des services pour configurer les interfaces réseaux. @cindex DHCP, service réseau -@deffn {Procédure Scheme} dhcp-client-service [#:dhcp @var{isc-dhcp}] -Renvoie un service qui lance @var{dhcp}, un client DHCP (Dynamic Host -Configuration Protocol) sur toutes les interfaces réseaux en dehors de la -boucle locale. -@end deffn +@defvr {Variable Scheme} dhcp-client-service-type +C'est le type de services qui lance @var{dhcp}, un client DHC (protocole de +configuration d'hôte dynamique) sur toutes les interfaces réseau +non-loopback. Sa valeur est le paquet du client DHCP à utiliser, +@code{isc-dhcp} par défaut. +@end defvr @deffn {Procédure Scheme} dhcpd-service-type Ce type définie un service qui lance un démon DHCP. Pour créer un service @@ -11508,17 +12231,27 @@ C'est le type des interfaces réseaux configurés statiquement. @end defvr @deffn {Procédure Scheme} static-networking-service @var{interface} @var{ip} @ - [#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] @ [#:requirement -@code{'(udev)}] Return a service that starts @var{interface} with address -@var{ip}. If @var{netmask} is true, use it as the network mask. If -@var{gateway} is true, it must be a string specifying the default network -gateway. @var{requirement} can be used to declare a dependency on another -service before configuring the interface. + [#:netmask #f] [#:gateway #f] [#:name-servers @code{'()}] @ +[#:requirement @code{'(udev)}] +Renvoie un service qui démarre @var{interface} avec l'adresse @var{ip}. Si +@var{netmask} est vrai, il sera utilisé comme masque de sous-réseau. Si +@var{gateway} est vrai, ce doit être une chaîne de caractères qui spécifie +la passerelle par défaut du réseau. @var{requirement} peut être utilisé +pour déclarer une dépendance sur un autre service avant de configurer +l'interface. On peut appeler cette procédure plusieurs fois, une fois par interface réseau qui nous intéresse. Dans les coulisses, elle étend @code{static-networking-service-type} avec les interfaces réseaux supplémentaires à gérer. + +Par exemple : + +@example +(static-networking-service "eno1" "192.168.1.82" + #:gateway "192.168.1.2" + #:name-servers '("192.168.1.2")) +@end example @end deffn @cindex wicd @@ -11627,41 +12360,123 @@ Type de données représentant la configuration de connman. Le paquet connman à utiliser. @item @code{disable-vpn?} (par défaut : @code{#f}) -Lorsque la valeur est vraie, active le greffon vpn de connman. +Lorsque la valeur est vraie, désactive le greffon vpn de connman. @end table @end deftp @cindex WPA Supplicant @defvr {Variable Scheme} wpa-supplicant-service-type -C'est le type du service qui lance @url{https://w1.fi/wpa_supplicant/,WPA +C'est le type du service qui lance@url{https://w1.fi/wpa_supplicant/,WPA supplicant}, un démon d'authentification requis pour s'authentifier sur des -WiFi chiffrés ou des réseaux ethernet. l est configuré pour écouter des -requêtes sur D-Bus. +WiFi chiffrés ou des réseaux ethernet. +@end defvr -La valeur de ce service est le paquet @code{wpa-supplicant} à utiliser. -Ainsi, il peut être instancié de cette manière : +@deftp {Type de données} wpa-supplicant-configuration +Type données qui représente la configuration de WPA Supplicant. -@lisp -(use-modules (gnu services networking)) +Il prend les paramètres suivants : + +@table @asis +@item @code{wpa-supplicant} (par défaut : @code{wpa-supplicant}) +Le paquet WPA Supplicant à utiliser. + +@item @code{dbus?} (par défaut : @code{#t}) +Indique s'il faut écouter les requêtes sur D-Bus. + +@item @code{pid-file} (par défaut : @code{"/var/run/wpa_supplicant.pid"}) +Où stocker votre fichier de PID. + +@item @code{interface} (par défaut : @code{#f}) +Si une valeur est indiquée, elle doit spécifier le nom d'une interface +réseau que WPA supplicant contrôlera. + +@item @code{config-file} (par défaut : @code{#f}) +Fichier de configuration facultatif à utiliser. + +@item @code{extra-options} (par défaut : @code{'()}) +Liste d'arguments de la ligne de commande supplémentaires à passer au démon. +@end table +@end deftp + +@cindex iptables +@defvr {Variable Scheme} iptables-service-type +This is the service type to set up an iptables configuration. iptables is a +packet filtering framework supported by the Linux kernel. This service +supports configuring iptables for both IPv4 and IPv6. A simple example +configuration rejecting all incoming connections except those to the ssh +port 22 is shown below. -(service wpa-supplicant-service-type) +@lisp +(service iptables-service-type + (iptables-configuration + (ipv4-rules (plain-file "iptables.rules" "*filter +:INPUT ACCEPT +:FORWARD ACCEPT +:OUTPUT ACCEPT +-A INPUT -p tcp --dport 22 -j ACCEPT +-A INPUT -j REJECT --reject-with icmp-port-unreachable +COMMIT +")) + (ipv6-rules (plain-file "ip6tables.rules" "*filter +:INPUT ACCEPT +:FORWARD ACCEPT +:OUTPUT ACCEPT +-A INPUT -p tcp --dport 22 -j ACCEPT +-A INPUT -j REJECT --reject-with icmp6-port-unreachable +COMMIT +")))) @end lisp @end defvr -@cindex NTP +@deftp {Type de données} iptables-configuration +Type de données représentant la configuration d'iptables. + +@table @asis +@item @code{iptables} (par défaut : @code{iptables}) +Le paquet iptables qui fournit @code{iptables-restore} et +@code{ip6tables-restore}. +@item @code{ipv4-rules} (par défaut : @code{%iptables-accept-all-rules}) +Les règles iptables à utiliser. Elles seront passées à +@code{iptables-restore}. Cela peut être un objet « simili-fichier » +(@pxref{G-Expressions, file-like objects}). +@item @code{ipv6-rules} (par défaut : @code{%iptables-accept-all-rules}) +Les règles iptables à utiliser. Elles seront passées à +@code{ip6tables-restore}. Cela peut être un objet « simili-fichier » +(@pxref{G-Expressions, file-like objects}). +@end table +@end deftp + +@cindex NTP (Network Time Protocol), service @cindex horloge -@deffn {Procédure Scheme} ntp-service [#:ntp @var{ntp}] @ - [#:servers @var{%ntp-servers}] @ -[#:allow-large-adjustment? #f] -Renvoie un service qui lance le démon de @var{ntp}, le -@uref{http://www.ntp.org, paquet Network Time Protocol}. Le démon gardera -l'horloge système synchronisée avec celle des serveurs @var{servers}. -@var{allow-large-adjustment?} détermine si @command{ntpd} a le droit de -faire des ajustements initiaux de plus de 1 000 secondes. -@end deffn +@defvr {Variable Scheme} ntp-service-type +This is the type of the service running the @uref{http://www.ntp.org, +Network Time Protocol (NTP)} daemon, @command{ntpd}. The daemon will keep +the system clock synchronized with that of the specified NTP servers. + +La valeur de ce service est un objet @code{ntpd-configuration}, décrit +ci-dessous. +@end defvr + +@deftp {Type de données} ntp-configuration +C'est le type de données représentant la configuration du service NTP. + +@table @asis +@item @code{servers} (par défaut : @code{%ntp-servers}) +C'est la liste des serveurs (noms d'hôtes) avec lesquels @command{ntpd} sera +synchronisé. + +@item @code{allow-large-adjustment?} (par défaut : @code{#f}) +Détermine si @code{ntpd} peut faire un ajustement initial de plus de +1@tie{}000 secondes. + +@item @code{ntp} (par défaut : @code{ntp}) +Le paquet NTP à utiliser. +@end table +@end deftp @defvr {Variable Scheme} %ntp-servers -Liste des noms d'hôtes utilisés comme serveurs NTP par défaut. +Liste de noms d'hôtes à utiliser comme serveurs NTP par défaut. Ce sont les +serveurs du @uref{https://www.ntppool.org/fr/, projet NTP Pool} @end defvr @cindex OpenNTPD @@ -11799,19 +12614,18 @@ Une chaîne de caractères qui doit correspondre à une entrée dans Indique si @command{inetd} devrait attendre que le serveur ait quitté avant d'écouter de nouvelles demandes de service. @item @code{user} -Une chaîne de caractères contenant le nom d'utilisateur (et éventuellement -de groupe) de l'utilisateur en tant que lequel le serveur devrait tourner. -Le nom du groupe peut être spécifié comme un suffixe, séparé par un -deux-points ou un point, c.-à-d.@: @code{"utilisateur"}, -@code{"utilisateur:groupe"} ou @code{"utilisateur.groupe"}. +A string containing the user (and, optionally, group) name of the user as +whom the server should run. The group name can be specified in a suffix, +separated by a colon or period, i.e.@: @code{"user"}, @code{"user:group"} or +@code{"user.group"}. @item @code{program} (par défaut : @code{"internal"}) Le programme du serveur qui servira les requêtes, ou @code{"internal"} si @command{inetd} devrait utiliser un service inclus. @item @code{arguments} (par défaut : @code{'()}) -Une liste de chaînes de caractères ou d'objets simili-fichiers qui sont les -arguments du programme du serveur, en commençant par le zéroième argument, -c.-à-d.@: le nom du programme lui-même. Pour les services internes à -@command{inetd}, cette entrée doit être @code{'()} ou @code{'("internal")}. +A list strings or file-like objects, which are the server program's +arguments, starting with the zeroth argument, i.e.@: the name of the program +itself. For @command{inetd}'s internal services, this entry must be +@code{'()} or @code{'("internal")}. @end table @xref{Configuration file,,, inetutils, GNU Inetutils} pour trouver une @@ -11819,17 +12633,60 @@ discussion plus détaillée de chaque champ de configuration. @end deftp @cindex Tor +@defvr {Variable Scheme} tor-service-type +C'est le type pour un service qui lance le démon de navigation anonyme +@uref{https://torproject.org, Tor}. Le service est configuré avec un +enregistrement @code{}. Par défaut, le démon Tor est +lancé en tant qu'utilisateur non privilégié @code{tor}, membre du groupe +@code{tor}. + +@end defvr + @deffn {Procédure Scheme} tor-service [@var{config-file}] [#:tor @var{tor}] -Renvoie un service qui lance le démon de réseau anonyme -@uref{https://torproject.org, Tor}. - -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. +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 +@var{tor} ont la même signification que dans @code{}. @end deffn +@deftp {Type de données} tor-configuration +@table @asis +@item @code{tor} (par défaut : @code{tor}) +Le paquet qui fournit le démon Tor. Ce paquet doit fournir le démon +@file{bin/tor} relativement à son répertoire de sortie. Le paquet par +défaut est le l'implémentation du @uref{https://www.torproject.org, projet +Tor}. + +@item @code{config-file} (par défaut : @code{(plain-file "empty" "")}) +Le fichier de configuration à utiliser. Il sera ajouté au fichier de +configuration par défaut, et le fichier de configuration final sera passé à +@code{tor} via son option @code{-f}. Cela peut être n'importe quel objet « +simili-fichier » (@pxref{G-Expressions, file-like objects}). Voir @code{man +tor} pour plus de détails sur la syntaxe du fichier de configuration. + +@item @code{hidden-services} (par défaut : @code{'()}) +La liste des enregistrements @code{} à utiliser. Pour +n'importe quel service cache que vous ajoutez à cette liste, la +configuration appropriée pour activer le service caché sera automatiquement +ajouté au fichier de configuration par défaut. Vous pouvez aussi créer des +enregistrements @code{} avec la procédure +@code{tor-hidden-service} décrite plus bas. + +@item @code{socks-socket-type} (par défaut : @code{'tcp}) +Le type de socket par défaut que Tor devrait utiliser pour les socket +SOCKS. Cela doit être soit @code{'tcp} soit @code{'unix}. S'il s'agit de +@code{'tcp}, alors Tor écoutera pas défaut sur le port TCP 9050 sur +l'interface de boucle locale (c.-à-d.@: localhost). S'il s'agit de +@code{'unix}, Tor écoutera sur le socket UNIX domain +@file{/var/run/tor/socks-sock}, qui sera inscriptible pour les membres du +groupe @code{tor}. + +Si vous voulez personnaliser le socket SOCKS plus avant, laissez +@code{socks-socket-type} à sa valeur par défaut de @code{'tcp} et utilisez +@code{config-file} pour remplacer les valeurs par défaut avec votre propre +option @code{SocksPort}. +@end table +@end deftp + @cindex service caché @deffn {Procédure Scheme} tor-hidden-service @var{name} @var{mapping} Définie un @dfn{service caché} pour Tor nommé @var{name} qui implémente @@ -12032,17 +12889,18 @@ Lorsque la valeur est vraie, le transfert de connexion du client graphique X11 est activé — en d'autre termes, les options @option{-X} et @option{-Y} de @command{ssh} fonctionneront. -@item @code{allow-agent-forwarding?} (default: @code{#t}) -Whether to allow agent forwarding. +@item @code{allow-agent-forwarding?} (par défaut : @code{#t}) +Indique s'il faut autoriser la redirection d'agent. -@item @code{allow-tcp-forwarding?} (default: @code{#t}) -Whether to allow TCP forwarding. +@item @code{allow-tcp-forwarding?} (par défaut : @code{#t}) +Indique s'il faut autoriser la redirection TCP. -@item @code{gateway-ports?} (default: @code{#f}) -Whether to allow gateway ports. +@item @code{gateway-ports?} (par défaut : @code{#f}) +Indique s'il faut autoriser les ports de passerelle. @item @code{challenge-response-authentication?} (par défaut : @code{#f}) -Spécifie si l'authentification par défi est autorisée (p.@: ex.@: via PAM). +Specifies whether challenge response authentication is allowed (e.g.@: via +PAM). @item @code{use-pam?} (par défaut : @code{#t}) Active l'interface avec le module d'authentification greffable, PAM. Si la @@ -12062,8 +12920,7 @@ connexion des utilisateurs lorsqu'un utilisateur se connecte de manière interactive. @item @code{subsystems} (par défaut : @code{'(("sftp" "internal-sftp"))}) -Configure les sous-systèmes externes (p.@: ex.@: le démon de transfert de -fichiers). +Configures external subsystems (e.g.@: file transfer daemon). C'est une liste de paires, composées chacune du nom du sous-système et d'une commande (avec éventuellement des arguments) à exécuter à la demande du @@ -12121,6 +12978,13 @@ Des clefs autorisées supplémentaires peuvent être spécifiées via Remarquez que cela n'interfère @emph{pas} avec l'utilisation de @file{~/.ssh/authorized_keys}. + +@item @code{log-level} (par défaut : @code{'info}) +C'est le symbole qui spécifie le niveau de journalisation : @code{quiet}, +@code{fatal}, @code{error}, @code{info}, @code{verbose}, @code{debug}, etc. +Voir la page de manuel de @file{sshd_config} pour trouver la liste complète +des noms de niveaux. + @end table @end deftp @@ -12563,10 +13427,11 @@ GNOME. Par défaut, la configuration du service CUPS générera un certificat auto-signé si besoin, pour les connexions sécurisée avec le serveur d'impression. -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): +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)}) : @example (service cups-service-type @@ -12576,9 +13441,9 @@ this (you need to use the @code{(gnu packages cups)} module): (list cups-filters escpr hplip-minimal)))) @end example -Note: If you wish to use the Qt5 based GUI which comes with the hplip -package then it is suggested that you install the @code{hplip} package, -either in your OS configuration file or as your user. +Remarque : si vous souhaitez utiliser la GUI basée sur Qt5 qui provient du +paquet hplip, nous vous suggérons d'installer le paquet @code{hplip}, soit +dans votre configuration d'OS, soit en tant qu'utilisateur. Les paramètres de configuration disponibles sont les suivants. Chaque définition des paramètres est précédé par son type ; par exemple, @@ -13731,15 +14596,15 @@ service D-Bus. @cindex ALSA @cindex PulseAudio, support du son -The @code{(gnu services sound)} module provides a service to configure the -Advanced Linux Sound Architecture (ALSA) system, which making PulseAudio the -prefered ALSA output driver. +Le module @code{(gnu services sound)} fournit un service pour configurer le +système ALSA (architecture son linux avancée), qui fait de PulseAudio le +pilote de sortie préféré d'ALSA. @deffn {Variable Scheme} alsa-service-type -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: +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 : @example (service alsa-service-type) @@ -13752,8 +14617,8 @@ Voir plus bas pour des détails sur @code{alsa-configuration}. Type de données représentant la configuration pour @code{alsa-service}. @table @asis -@item @code{alsa-plugins} (default: @var{alsa-plugins}) -@code{alsa-plugins} package to use. +@item @code{alsa-plugins} (par défaut : @var{alsa-plugins}) +Le paquet @code{alsa-plugins} à utiliser. @item @code{pulseaudio?} (par défaut : @var{#t}) Indique si les applications ALSA devraient utiliser le serveur de son @@ -13765,21 +14630,21 @@ produisent du son en même temps et de les contrôler individuellement via @command{pavucontrol} entre autres choses. @item @code{extra-options} (par défaut : @var{""}) -String to append to the @file{/etc/asound.conf} file. +Chaîne à ajouter au fichier @file{/etc/asound.conf}. @end table @end deftp -Individual users who want to override the system configuration of ALSA can -do it with the @file{~/.asoundrc} file: +Les utilisateurs individuels qui veulent modifier la configuration système +d'ALSA peuvent le faire avec le fichier @file{~/.asoundrc} : @example -# In guix, we have to specify the absolute path for plugins. +# Dans guix, il faut spécifier le chemin absolu des greffons. pcm_type.jack @{ lib "/home/alice/.guix-profile/lib/alsa-lib/libasound_module_pcm_jack.so" @} -# Routing ALSA to jack: +# Faire passer ALSA par Jack : # . pcm.rawjack @{ type jack @@ -13802,8 +14667,8 @@ pcm.!default @{ @} @end example -See @uref{https://www.alsa-project.org/main/index.php/Asoundrc} for the -details. +Voir @uref{https://www.alsa-project.org/main/index.php/Asoundrc} pour les +détails. @node Services de bases de données @@ -14110,11 +14975,30 @@ S'il faut utiliser SSL pour ce service ; @samp{yes}, @samp{no} ou @end deftypevr +@deftypevr {paramètre de @code{service-configuration}} non-negative-integer client-limit +Connexions de clients simultanées maximum par processus. Une fois ce nombre +de connections atteint, la connexion suivante fera en sorte que Dovecot +démarre un autre processus. Si la valeur est 0, @code{default-client-limit} +est utilisé à la place. + +La valeur par défaut est @samp{0}. + +@end deftypevr + @deftypevr {paramètre de @code{service-configuration}} non-negative-integer service-count Nombre de connexions à gérer avant de démarrer un nouveau processus. Typiquement les valeurs utiles sont 0 (sans limite) ou 1. 1 est plus sûr, mais 0 est plus rapide. . La valeur par défaut est @samp{1}. + +@end deftypevr + +@deftypevr {paramètre de @code{service-configuration}} non-negative-integer process-limit +Nombre de processus maximum qui peut exister pour ce service. Si la valeur +est 0, @code{default-process-limit} est utilisé à la place. + +La valeur par défaut est @samp{0}. + @end deftypevr @deftypevr {paramètre de @code{service-configuration}} non-negative-integer process-min-avail @@ -14300,24 +15184,21 @@ défaut est @samp{()}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list login-access-sockets -Liste des sockets de vérification d'accès de connexion (p.@: ex.@: -tcpwrap). La valeur par défaut est @samp{()}. +List of login access check sockets (e.g.@: tcpwrap). Defaults to @samp{()}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean verbose-proctitle? -Montre des titres de processus plus verbeux (dans ps). Actuellement, montre -le nom d'utilisateur et l'adresse IP. Utile pour voir qui utilise les -processus IMAP (p.@: ex.@: des boîtes aux lettres partagées ou si le même -uid est utilisé pour plusieurs comptes). La valeur par défaut est -@samp{#f}. +Show more verbose process titles (in ps). Currently shows user name and IP +address. Useful for seeing who is actually using the IMAP processes (e.g.@: +shared mailboxes or if the same uid is used for multiple accounts). +Defaults to @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean shutdown-clients? -Indique si les processus devraient toujours être tués lorsque le processus -maître de Dovecot est éteint. La valeur @code{#f} signifie que Dovecot peut -être mis à jour sans forcer les connexions clientes existantes à se fermer -(bien que cela puisse être un problème si la mise à jour est un correctif de -sécurité par exemple). La valeur par défaut est @samp{#t}. +Should all processes be killed when Dovecot master process shuts down. +Setting this to @code{#f} means that Dovecot can be upgraded without forcing +existing client connections to close (although that could also be a problem +if the upgrade is e.g.@: due to a security fix). Defaults to @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer doveadm-worker-count @@ -14338,19 +15219,17 @@ paires clef=valeur pour toujours spécifier ce paramètre. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean disable-plaintext-auth? -Désactive la commande LOGIN et toutes les autres authentifications en texte -clair à moins que SSL/TLS ne soit utilisé (capacité LOGINDISABLED). -Remarquez que si l'IP distante correspond à l'IP locale (c.-à-d.@: que vous -vous connectez depuis le même ordinateur), la connexion est considérée comme -sécurisée et l'authentification en texte clair est permise. Voir aussi le -paramètre ssl=required. La valeur par défaut est @samp{#t}. +Disable LOGIN command and all other plaintext authentications unless SSL/TLS +is used (LOGINDISABLED capability). Note that if the remote IP matches the +local IP (i.e.@: you're connecting from the same computer), the connection +is considered secure and plaintext authentication is allowed. See also +ssl=required setting. Defaults to @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer auth-cache-size -Taille du cache d'authentification (p.@: ex.@: @samp{#e10e6}). 0 signifie -qu'il est désactivé. Remarquez que bsdauth, PAM et vpopmail ont besoin que -@samp{cache-key} soit indiqué pour que le cache soit utilisé. La valeur par -défaut est @samp{0}. +Authentication cache size (e.g.@: @samp{#e10e6}). 0 means it's disabled. +Note that bsdauth, PAM and vpopmail require @samp{cache-key} to be set for +caching to be used. Defaults to @samp{0}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string auth-cache-ttl @@ -14402,22 +15281,20 @@ exemple @samp{#@@/@@} signifie que @samp{#} et @samp{/} sont traduits en @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string auth-username-format -Format des noms d'utilisateur avant qu'ils ne soient cherchés en base. Vous -pouvez utiliser les variables standard ici, p.@: ex.@: %Lu est le nom -d'utilisateur en minuscule, %n enlève le domaine s'il est donné ou -@samp{%n-AT-%d} changerait le @samp{@@} en @samp{-AT-}. Cette traduction -est faite après les changements de @samp{auth-username-translation}. La -valeur par défaut est @samp{"%Lu"}. +Username formatting before it's looked up from databases. You can use the +standard variables here, e.g.@: %Lu would lowercase the username, %n would +drop away the domain if it was given, or @samp{%n-AT-%d} would change the +@samp{@@} into @samp{-AT-}. This translation is done after +@samp{auth-username-translation} changes. Defaults to @samp{"%Lu"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string auth-master-user-separator -Si vous voulez permettre aux utilisateurs maîtres de se connecter en -spécifiant le nom d'utilisateur maître dans la chaîne de nom d'utilisateur -normal (c.-à-d.@: sans utiliser le support du mécanisme SASL pour cela), -vous pouvez spécifier le caractère de séparation ici. Le format est ensuite -. UW-IMAP utilise -@samp{*} comme séparateur, donc ça pourrait être un bon choix. La valeur -par défaut est @samp{""}. +If you want to allow master users to log in by specifying the master +username within the normal username string (i.e.@: not using SASL +mechanism's support for it), you can specify the separator character here. +The format is then . UW-IMAP uses +@samp{*} as the separator, so that could be a good choice. Defaults to +@samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string auth-anonymous-username @@ -14426,10 +15303,9 @@ mécanisme SASL ANONYMOUS. La valeur par défaut est @samp{"anonymous"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer auth-worker-max-count -Nombre maximum de processus de travail dovecot-auth. Ils sont utilisés pour -exécuter des requêtes passdb et userdb bloquantes (p.@: ex.@: MySQL et -PAM). Ils sont créés automatiquement et détruits au besoin. La valeur par -défaut est @samp{30}. +Maximum number of dovecot-auth worker processes. They're used to execute +blocking passdb and userdb queries (e.g.@: MySQL and PAM). They're +automatically created and destroyed as needed. Defaults to @samp{30}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string auth-gssapi-hostname @@ -14533,103 +15409,114 @@ par défaut est @samp{"mail"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-verbose? -Log unsuccessful authentication attempts and the reasons why they failed. -Defaults to @samp{#f}. +Indique s'il faut enregistrer les tentatives de connexion échouées et la +raison de leur échec. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-verbose-passwords? In case of password mismatches, log the attempted password. Valid values are no, plain and sha1. sha1 can be useful for detecting brute force password attempts vs. user simply trying the same password over and over -again. You can also truncate the value to n chars by appending ":n" -(e.g. sha1:6). Defaults to @samp{#f}. +again. You can also truncate the value to n chars by appending ":n" (e.g.@: +sha1:6). Defaults to @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-debug? -Even more verbose logging for debugging purposes. Shows for example SQL -queries. Defaults to @samp{#f}. +Journaux encore plus verbeux pour le débogage. Cela montre par exemple les +requêtes SQL effectuées. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-debug-passwords? -In case of password mismatches, log the passwords and used scheme so the -problem can be debugged. Enabling this also enables @samp{auth-debug}. -Defaults to @samp{#f}. +Dans le cas où le mot de passe était incorrect, indique s'il faut +enregistrer les mots de passe et les schémas utilisés pour que le problème +puisse être débogué. Activer cette option active aussi @samp{auth-debug}. +La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-debug? -Enable mail process debugging. This can help you figure out why Dovecot -isn't finding your mails. Defaults to @samp{#f}. +Indique s'il faut activer le débogage du traitement des courriels. Cela +peut vous aider à comprendre pourquoi Dovecot ne trouve pas vos courriels. +La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean verbose-ssl? -Show protocol level SSL errors. Defaults to @samp{#f}. +Indique s'il faut montrer les erreurs au niveau SSL. La valeur par défaut +est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string log-timestamp -Prefix for each line written to log file. % codes are in strftime(3) -format. Defaults to @samp{"\"%b %d %H:%M:%S \""}. +Préfixe à utiliser devant chaque ligne écrite dans le fichier journal. Les +codes % sont au format strftime(3). La valeur par défaut est @samp{"\"%b %d +%H:%M:%S \""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list login-log-format-elements -List of elements we want to log. The elements which have a non-empty -variable value are joined together to form a comma-separated string. +Liste des éléments qu'il faut enregistrer. Les éléments qui ont une +variable non vide sont agrégés pour former une chaîne de mots séparés par +des virgules. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string login-log-format -Login log format. %s contains @samp{login-log-format-elements} string, %$ -contains the data we want to log. Defaults to @samp{"%$: %s"}. +Format du journal de connexion. %s contient la chaîne +@samp{login-log-format-elements}, %$ contient la donnée à enregistrer. La +valeur par défaut est @samp{"%$: %s"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-log-prefix -Log prefix for mail processes. See doc/wiki/Variables.txt for list of -possible variables you can use. Defaults to +Préfixe à utiliser devant chaque ligne du fichier de journal pour les +processus traitant les courriels. Voir doc/wiki/Variables.txt pour trouver +la liste des variables que vous pouvez utiliser. La valeur par défaut est @samp{"\"%s(%u)<%@{pid@}><%@{session@}>: \""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string deliver-log-format -Format to use for logging mail deliveries. You can use variables: +Format à utiliser pour enregistrer les livraisons de courriels. Vous pouvez +utiliser ces variables : @table @code @item %$ -Delivery status message (e.g. @samp{saved to INBOX}) +Delivery status message (e.g.@: @samp{saved to INBOX}) @item %m Message-ID @item %s -Subject +Objet @item %f -From address +Adresse « de » @item %p -Physical size +Taille physique @item %w -Virtual size. +Taille virtuelle. @end table La valeur par défaut est @samp{"msgid=%m: %$"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-location -Location for users' mailboxes. The default is empty, which means that -Dovecot tries to find the mailboxes automatically. This won't work if the -user doesn't yet have any mail, so you should explicitly tell Dovecot the -full location. +Emplacement des boîtes à lettre des utilisateurs. La valeur par défaut est +vide, ce qui signifie que Dovecot essaiera de trouver les boîte aux lettres +automatiquement. Cela ne fonctionnera pas si l'utilisateur n'a aucun +courriel, donc il vaut mieux indiquer explicitement le bon emplacement à +Dovecot. -If you're using mbox, giving a path to the INBOX file (e.g. /var/mail/%u) +If you're using mbox, giving a path to the INBOX file (e.g.@: /var/mail/%u) isn't enough. You'll also need to tell Dovecot where the other mailboxes are kept. This is called the "root mail directory", and it must be the first path given in the @samp{mail-location} setting. -There are a few special variables you can use, eg.: +Il y a quelques variables spéciales que vous pouvez utiliser : @table @samp @item %u -username +nom d'utilisateur @item %n -user part in user@@domain, same as %u if there's no domain +la partie « utilisateur » dans « utilisateur@@domaine », comme %u s'il n'y a +pas de domaine. @item %d -domain part in user@@domain, empty if there's no domain +la partie « domaine » dans « utilisateur@@domaine », vide s'il n'y a pas de +domaine @item %h -home director +répertoire personnel @end table -See doc/wiki/Variables.txt for full list. Some examples: +Voir doc/wiki/Variables.txt pour la liste complète. Quelques exemple : @table @samp @item maildir:~/Maildir @item mbox:~/mail:INBOX=/var/mail/%u @@ -14639,9 +15526,10 @@ La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-uid -System user and group used to access mails. If you use multiple, userdb can -override these by returning uid or gid fields. You can use either numbers -or names. . Defaults to @samp{""}. +Utilisateur et groupe système utilisé pour accéder aux courriels. Si vous +utilisez multiple, userdb peut remplacer ces valeurs en renvoyant les champs +uid et gid. Vous pouvez utiliser soit des nombres, soit des noms. +. La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-gid @@ -14650,17 +15538,17 @@ La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-privileged-group -Group to enable temporarily for privileged operations. Currently this is -used only with INBOX when either its initial creation or dotlocking fails. -Typically this is set to "mail" to give access to /var/mail. Defaults to -@samp{""}. +Groupe à activer temporairement pour les opérations privilégiées. +Actuellement cela est utilisé uniquement avec INBOX lors de sa création +initiale et quand le verrouillage échoie. Typiquement, vous pouvez utiliser +« mail » pour donner accès à /var/mail. La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-access-groups Grant access to these supplementary groups for mail processes. Typically these are used to set up access to shared mailboxes. Note that it may be -dangerous to set these if users can create symlinks (e.g. if "mail" group is -set here, ln -s /var/mail ~/mail/var could allow a user to delete others' +dangerous to set these if users can create symlinks (e.g.@: if "mail" group +is set here, ln -s /var/mail ~/mail/var could allow a user to delete others' mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it). Defaults to @samp{""}. @end deftypevr @@ -14668,63 +15556,70 @@ it). Defaults to @samp{""}. @deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-full-filesystem-access? Allow full file system access to clients. There's no access checks other than what the operating system does for the active UID/GID. It works with -both maildir and mboxes, allowing you to prefix mailboxes names with -e.g. /path/ or ~user/. Defaults to @samp{#f}. +both maildir and mboxes, allowing you to prefix mailboxes names with e.g.@: +/path/ or ~user/. Defaults to @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mmap-disable? -Don't use mmap() at all. This is required if you store indexes to shared -file systems (NFS or clustered file system). Defaults to @samp{#f}. +Ne pas du tout utiliser mmap(). Cela est requis si vous stockez les index +dans des systèmes de fichiers partagés (NFS ou clusterfs). La valeur par +défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean dotlock-use-excl? -Rely on @samp{O_EXCL} to work when creating dotlock files. NFS supports -@samp{O_EXCL} since version 3, so this should be safe to use nowadays by -default. Defaults to @samp{#t}. +S'appuyer sur @samp{O_EXCL} lors de la création de fichiers de +verrouillage. NFS supporte @samp{O_EXCL} depuis la version 3, donc cette +option est sûre de nos jours. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-fsync -When to use fsync() or fdatasync() calls: +Quand utiliser les appels à fsync() ou fdatasync() : @table @code @item optimized -Whenever necessary to avoid losing important data +Lorsque cela est nécessaire pour éviter de perdre des données importantes @item always -Useful with e.g. NFS when write()s are delayed +Useful with e.g.@: NFS when write()s are delayed @item never -Never use it (best performance, but crashes can lose data). +Ne l'utilisez pas (ça a de meilleures performances, mais les crashs font +perdre toutes les données). @end table La valeur par défaut est @samp{"optimized"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-nfs-storage? -Mail storage exists in NFS. Set this to yes to make Dovecot flush NFS -caches whenever needed. If you're using only a single mail server this -isn't needed. Defaults to @samp{#f}. +Le stockage des courriels se fait sur NFS. Utilisez cette option pour que +Dovecot vide les caches NFS lorsque c'est nécessaire. Si vous utilisez +seulement un simple serveur de courriel, ce n'est pas nécessaire. La valeur +par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-nfs-index? -Mail index files also exist in NFS. Setting this to yes requires -@samp{mmap-disable? #t} and @samp{fsync-disable? #f}. Defaults to -@samp{#f}. +Les fichiers d'index de courriels sont sur un système de fichiers NFS. Pour +utiliser cette option, vous aurez besoin de @samp{mmap-disable? #t} et +@samp{fsync-disable? #f}. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string lock-method -Locking method for index files. Alternatives are fcntl, flock and dotlock. -Dotlocking uses some tricks which may create more disk I/O than other -locking methods. NFS users: flock doesn't work, remember to change -@samp{mmap-disable}. Defaults to @samp{"fcntl"}. +Méthode de verrouillage des fichiers d'index. Les alternatives sont fcntl, +flock et dotlock. Le verrouillage-point (dotlocking) utilise des astuces +qui peuvent créer plus d'utilisation du disque que les autres méthodes de +verrouillage. Pour les utilisateurs de NFS, flock ne marche pas, et +rappelez-vous de modifier @samp{mmap-disable}. La valeur par défaut est +@samp{"fcntl"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} file-name mail-temp-dir -Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. -Defaults to @samp{"/tmp"}. +Le répertoire dans lequel LDA/LMTP stockent temporairement les courriels de +plus de 128 Ko. La valeur par défaut est @samp{"/tmp"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer first-valid-uid -Valid UID range for users. This is mostly to make sure that users can't log -in as daemons or other system users. Note that denying root logins is -hardcoded to dovecot binary and can't be done even if @samp{first-valid-uid} -is set to 0. Defaults to @samp{500}. +L'intervalle d'UID valides pour les utilisateurs. Cette option est surtout +utile pour s'assurer que les utilisateurs ne peuvent pas s'authentifier en +tant que démon ou qu'un autre utilisateur système. Remarquez que la +connexion en root est interdite en dur dans le binaire de dovecot et qu'on +ne peut pas l'autoriser même si @samp{first-valid-uid} vaut 0. La valeur +par défaut est @samp{500}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer last-valid-uid @@ -14733,9 +15628,10 @@ La valeur par défaut est @samp{0}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer first-valid-gid -Valid GID range for users. Users having non-valid GID as primary group ID -aren't allowed to log in. If user belongs to supplementary groups with -non-valid GIDs, those groups are not set. Defaults to @samp{1}. +Li'ntervalle de GID valides pour les utilisateurs. Les utilisateurs qui ont +un GID non-valide comme numéro de groupe primaire ne peuvent pas se +connecter. Si l'utilisateur appartient à un groupe avec un GID non valide, +ce groupe n'est pas utilisable. La valeur par défaut est @samp{1}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer last-valid-gid @@ -14744,13 +15640,14 @@ La valeur par défaut est @samp{0}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mail-max-keyword-length -Maximum allowed length for mail keyword name. It's only forced when trying -to create new keywords. Defaults to @samp{50}. +Longueur maximale autorisée pour les mots-clefs. Elle n'est utilisée que +lors de la création de nouveaux mots-clefs. La valeur par défaut est +@samp{50}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} colon-separated-file-name-list valid-chroot-dirs List of directories under which chrooting is allowed for mail processes -(i.e. /var/mail will allow chrooting to /var/mail/foo/bar too). This +(i.e.@: /var/mail will allow chrooting to /var/mail/foo/bar too). This setting doesn't affect @samp{login-chroot} @samp{mail-chroot} or auth chroot settings. If this setting is empty, "/./" in home dirs are ignored. WARNING: Never add directories here which local users can modify, that may @@ -14761,95 +15658,104 @@ shell access for users. . Defaults to @samp{()}. @deftypevr {paramètre de @code{dovecot-configuration}} string mail-chroot Default chroot directory for mail processes. This can be overridden for specific users in user database by giving /./ in user's home directory -(e.g. /home/./user chroots into /home). Note that usually there is no real -need to do chrooting, Dovecot doesn't allow users to access files outside -their mail directory anyway. If your home directories are prefixed with the -chroot directory, append "/." to @samp{mail-chroot}. +(e.g.@: /home/./user chroots into /home). Note that usually there is no +real need to do chrooting, Dovecot doesn't allow users to access files +outside their mail directory anyway. If your home directories are prefixed +with the chroot directory, append "/."@: to @samp{mail-chroot}. . Defaults to @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} file-name auth-socket-path -UNIX socket path to master authentication server to find users. This is -used by imap (for shared users) and lda. Defaults to -@samp{"/var/run/dovecot/auth-userdb"}. +Chemin de socket UNIX vers le serveur d'authentification maître pour trouver +les utilisateurs. C'est utilisé par imap (pour les utilisateurs partagés) +et lda. La valeur par défaut est @samp{"/var/run/dovecot/auth-userdb"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} file-name mail-plugin-dir -Directory where to look up mail plugins. Defaults to +Répertoire où trouver les greffons. La valeur par défaut est @samp{"/usr/lib/dovecot"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list mail-plugins List of plugins to load for all services. Plugins specific to IMAP, LDA, -etc. are added to this list in their own .conf files. Defaults to +etc.@: are added to this list in their own .conf files. Defaults to @samp{()}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mail-cache-min-mail-count -The minimum number of mails in a mailbox before updates are done to cache -file. This allows optimizing Dovecot's behavior to do less disk writes at -the cost of more disk reads. Defaults to @samp{0}. +Le nombre minimal de courriels dans une boîte aux lettres avant de mettre à +jour le fichier de cache. Cela permet d'optimiser le comportement de +Dovecot pour qu'il fasse moins d'écriture disque contre plus de lecture +disque. La valeur par défaut est @samp{0}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mailbox-idle-check-interval -When IDLE command is running, mailbox is checked once in a while to see if -there are any new mails or other changes. This setting defines the minimum -time to wait between those checks. Dovecot can also use dnotify, inotify -and kqueue to find out immediately when changes occur. Defaults to -@samp{"30 secs"}. +Lorsque la commande IDLE est lancée, la boîte aux lettres est vérifiée de +temps en temps pour voir s'il y a de nouveaux messages ou d'autres +changements. Ce paramètre défini le temps d'attente minimum entre deux +vérifications. Dovecot peut aussi utilise dnotify, inotify et kqueue pour +trouver immédiatement les changements. La valeur par défaut est @samp{"30 +secs"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-save-crlf? -Save mails with CR+LF instead of plain LF. This makes sending those mails -take less CPU, especially with sendfile() syscall with Linux and FreeBSD. -But it also creates a bit more disk I/O which may just make it slower. Also -note that if other software reads the mboxes/maildirs, they may handle the -extra CRs wrong and cause problems. Defaults to @samp{#f}. +Sauvegarder les courriels avec CR+LF plutôt que seulement LF. Cela permet +de consommer moins de CPU en envoyant ces courriels, surtout avec l'appel +système sendfile() de Linux et FreeBSD. Mais cela crée un peu plus +d'utilisation du disque, ce qui peut aussi le ralentir. Remarquez aussi que +si d'autres logiciels lisent les mbox/maildirs, ils peuvent se tromper dans +leur traitement de ces CR supplémentaires et causer des problèmes. La +valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean maildir-stat-dirs? -By default LIST command returns all entries in maildir beginning with a -dot. Enabling this option makes Dovecot return only entries which are -directories. This is done by stat()ing each entry, so it causes more disk -I/O. (For systems setting struct @samp{dirent->d_type} this check is free -and it's done always regardless of this setting). Defaults to @samp{#f}. +Par défaut la commande LIST renvoie toutes les entrées du maildir qui +commencent par un point. Activer cette option permet à Dovecot de renvoyer +uniquement les entrées qui sont des répertoires. Cela se fait avec stat() +sur chaque entrée, ce qui cause plus d'utilisation du disque. For systems +setting struct @samp{dirent->d_type} this check is free and it's done always +regardless of this setting). La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean maildir-copy-with-hardlinks? -When copying a message, do it with hard links whenever possible. This makes -the performance much better, and it's unlikely to have any side effects. -Defaults to @samp{#t}. +Lors de la copie d'un message, le faire avec des liens en dur si possible. +Cela améliore un peu la performance et n'a que peu de chance d'avoir des +effets secondaires. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean maildir-very-dirty-syncs? -Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only -when its mtime changes unexpectedly or when we can't find the mail -otherwise. Defaults to @samp{#f}. +Suppose que Dovecot est le seul MUA qui accède à Maildir : scanne le +répertoire cur/ seulement lorsque son mtime change de manière inattendue ou +lorsqu'il ne peut pas trouver le courriel autrement. La valeur par défaut +est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list mbox-read-locks -Which locking methods to use for locking mbox. There are four available: +La méthode de verrouillage à utiliser pour verrouiller le boîtes aux lettres +mbox. Il y en a quatre : @table @code @item dotlock -Create .lock file. This is the oldest and most NFS-safe solution. -If you want to use /var/mail/ like directory, the users will need write -access to that directory. +Crée un fichier .lock. C'est la solution la plus ancienne et la +plus sûr pour NFS. Si vous voulez utiliser /var/mail/, les utilisateurs +auront besoin de l'accès en écriture à ce répertoire. @item dotlock-try -Same as dotlock, but if it fails because of permissions or because there -isn't enough disk space, just skip it. +Comme pour dotlock, mais si elle échoue à cause d'un problème de permission +ou parce qu'il n'y a pas assez d'espace disque, l'ignore. @item fcntl -Use this if possible. Works with NFS too if lockd is used. +Utilisez cette méthode si possible. Elle fonctionne aussi avec NFS si vous +utilisez lockd. @item flock -May not exist in all systems. Doesn't work with NFS. +Peut ne pas exister sur tous les systèmes. Ne fonctionne pas avec NFS. @item lockf -May not exist in all systems. Doesn't work with NFS. +Peut ne pas exister sur tous les systèmes. Ne fonctionne pas avec NFS. @end table -You can use multiple locking methods; if you do the order they're declared -in is important to avoid deadlocks if other MTAs/MUAs are using multiple -locking methods as well. Some operating systems don't allow using some of -them simultaneously. +Vous pouvez utiliser plusieurs méthodes de verrouillage ; dans ce cas +l'ordre dans lequel elles sont déclarées est important pour éviter des +interblocages si d'autres MTA/MUA utilisent aussi plusieurs méthodes. +Certains systèmes d'exploitation ne permettent pas d'utiliser certaines +méthodes en même temps. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list mbox-write-locks @@ -14857,88 +15763,100 @@ them simultaneously. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mbox-lock-timeout -Maximum time to wait for lock (all of them) before aborting. Defaults to -@samp{"5 mins"}. +Temps d'attente maximal pour un verrou (tous les verrous) avant +d'abandonner. La valeur par défaut est @samp{"5 mins"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mbox-dotlock-change-timeout -If dotlock exists but the mailbox isn't modified in any way, override the -lock file after this much time. Defaults to @samp{"2 mins"}. +Si le fichier dotlock existe mais que la boîte aux lettres n'est pas +modifiée, remplacer le fichier de verrouillage après ce temps d'attente. La +valeur par défaut est @samp{"2 mins"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mbox-dirty-syncs? -When mbox changes unexpectedly we have to fully read it to find out what -changed. If the mbox is large this can take a long time. Since the change -is usually just a newly appended mail, it'd be faster to simply read the new -mails. If this setting is enabled, Dovecot does this but still safely -fallbacks to re-reading the whole mbox file whenever something in mbox isn't -how it's expected to be. The only real downside to this setting is that if -some other MUA changes message flags, Dovecot doesn't notice it -immediately. Note that a full sync is done with SELECT, EXAMINE, EXPUNGE -and CHECK commands. Defaults to @samp{#t}. +Lorsqu'un mbox change ne manière inattendue, il faut le lire en entier pour +savoir ce qui a changé. Si le mbox est assez grand cela peut prendre +beaucoup de temps. Comme le changement est habituellement un simple +courriel supplémentaire, il serait plus rapide de lire le nouveaux +courriels. Si ce paramètre est activé, Dovecot fait cela mais revient +toujours à relire le fichier mbox complet si le fichier n'est pas comme +attendu. Le seul réel inconvénient à ce paramètre est que certains MUA +changent les drapeaux des messages, et dans ce cas Dovecot ne s'en rend pas +immédiatement compte. Remarquez qu'une synchronisation complète est +effectuée avec les commandes SELECT, EXAMINE, EXPUNGE et CHECK. La valeur +par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mbox-very-dirty-syncs? -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}. +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}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mbox-lazy-writes? -Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK -commands and when closing the mailbox). This is especially useful for POP3 -where clients often delete all mails. The downside is that our changes -aren't immediately visible to other MUAs. Defaults to @samp{#t}. +Attendre avant d'écrire les en-têtes mbox jusqu'à la prochaine +synchronisation des écritures (les commandes EXPUNGE et CHECK et quand on +ferme la boîte aux lettres). C'est surtout utile pour POP3 où les clients +suppriment souvent tous les courriels. L'inconvénient c'est que vos +changements ne sont pas immédiatement visibles pour les autres MUA. La +valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mbox-min-index-size -If mbox size is smaller than this (e.g. 100k), don't write index files. If -an index file already exists it's still read, just not updated. Defaults to -@samp{0}. +If mbox size is smaller than this (e.g.@: 100k), don't write index files. +If an index file already exists it's still read, just not updated. Defaults +to @samp{0}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mdbox-rotate-size -Maximum dbox file size until it's rotated. Defaults to @samp{10000000}. +Taille du fichier dbox maximale avant rotation. La valeur par défaut est +@samp{10000000}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mdbox-rotate-interval -Maximum dbox file age until it's rotated. Typically in days. Day begins -from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled. -Defaults to @samp{"1d"}. +Âge maximum du fichier dbox avant rotation. Typiquement en jours. Les +jours commencent à minuit, donc 1d signifie aujourd'hui, 2d pour hier, etc. +0 pour désactiver la vérification. La valeur par défaut est @samp{"1d"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean mdbox-preallocate-space? -When creating new mdbox files, immediately preallocate their size to -@samp{mdbox-rotate-size}. This setting currently works only in Linux with -some file systems (ext4, xfs). Defaults to @samp{#f}. +Lors de la création des fichiers mdbox, préallouer immédiatement leur taille +à @samp{mdbox-rotate-size}. Ce paramètre ne fonctionne actuellement que +dans Linux avec certains systèmes de fichiers (ext4, xfs). La valeur par +défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-attachment-dir -sdbox and mdbox support saving mail attachments to external files, which -also allows single instance storage for them. Other backends don't support -this for now. +Les formats sdbox et mdbox supportent la sauvegarde des pièces-jointes dans +des fichiers externes, ce qui permet de les stocker une seule fois. Les +autres moteurs ne le supportent pas pour le moment. -WARNING: This feature hasn't been tested much yet. Use at your own risk. +ATTENTION : Cette fonctionnalité n'a pas été beaucoup testée. Utilisez-la à +vos risques et périls. -Directory root where to store mail attachments. Disabled, if empty. -Defaults to @samp{""}. +Racine du répertoire où stocker les pièces-jointes. Désactivé si vide. La +valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mail-attachment-min-size -Attachments smaller than this aren't saved externally. It's also possible -to write a plugin to disable saving specific attachments externally. -Defaults to @samp{128000}. +Les pièces-jointes plus petites que cela ne sont pas enregistrées à part. +Il est aussi possible d'écrire un greffon pour désactiver l'enregistrement +externe de certaines pièces-jointes spécifiques. La valeur par défaut est +@samp{128000}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string mail-attachment-fs -File system backend to use for saving attachments: +Moteur du système de fichier à utiliser pour sauvegarder les pièces-jointes +: @table @code @item posix -No SiS done by Dovecot (but this might help FS's own deduplication) +Pas de SiS (single instance storage) par Dovecot (mais cela peut aider la +déduplication du système de fichier) @item sis posix -SiS with immediate byte-by-byte comparison during saving +SiS avec comparaison bit-à-bit immédiate pendant la sauvegarde @item sis-queue posix -SiS with delayed comparison and deduplication. +SiS avec déduplication et comparaison différées @end table La valeur par défaut est @samp{"sis posix"}. @end deftypevr @@ -14947,8 +15865,8 @@ La valeur par défaut est @samp{"sis posix"}. Hash format to use in attachment filenames. You can add any text and variables: @code{%@{md4@}}, @code{%@{md5@}}, @code{%@{sha1@}}, @code{%@{sha256@}}, @code{%@{sha512@}}, @code{%@{size@}}. Variables can be -truncated, e.g. @code{%@{sha256:80@}} returns only first 80 bits. Defaults -to @samp{"%@{sha1@}"}. +truncated, e.g.@: @code{%@{sha256:80@}} returns only first 80 bits. +Defaults to @samp{"%@{sha1@}"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer default-process-limit @@ -14962,216 +15880,226 @@ La valeur par défaut est @samp{1000}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer default-vsz-limit -Default VSZ (virtual memory size) limit for service processes. This is -mainly intended to catch and kill processes that leak memory before they eat -up everything. Defaults to @samp{256000000}. +Limite VSZ (taille mémoire virtuelle) par défaut pour les processus de +service. C'est surtout pour attraper et tuer les processus qui font fuiter +la mémoire avant qu'ils ne l'utilisent en entier. La valeur par défaut est +@samp{256000000}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string default-login-user -Login user is internally used by login processes. This is the most -untrusted user in Dovecot system. It shouldn't have access to anything at -all. Defaults to @samp{"dovenull"}. +Utilisateur de connexion utilisé en interne par les processus de connexion. +C'est l'utilisateur avec la confiance minimale pour Dovecot. Il ne devrait +avoir accès à rien du tout. La valeur par défaut est @samp{"dovenull"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string default-internal-user -Internal user is used by unprivileged processes. It should be separate from -login user, so that login processes can't disturb other processes. Defaults -to @samp{"dovecot"}. +Utilisateur utilisé en interne par les processus non privilégiés. Il +devrait être différent de l'utilisateur de connexion, pour que les processus +de connexion ne puissent pas perturber les autres processus. La valeur par +défaut est @samp{"dovecot"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string ssl? -SSL/TLS support: yes, no, required. . Defaults to -@samp{"required"}. +Support SSL/TLS : yes, no, required. . La valeur par +défaut est @samp{"required"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string ssl-cert -PEM encoded X.509 SSL/TLS certificate (public key). Defaults to -@samp{" was automatically rejected:%n%r"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string recipient-delimiter -Delimiter character between local-part and detail in email address. -Defaults to @samp{"+"}. +Caractère de délimitation entre la partie locale et le détail des adresses +de courriel. La valeur par défaut est @samp{"+"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string lda-original-recipient-header -Header where the original recipient address (SMTP's RCPT TO: address) is -taken from if not available elsewhere. With dovecot-lda -a parameter -overrides this. A commonly used header for this is X-Original-To. Defaults -to @samp{""}. +En-tête où l'adresse du destinataire d'origine (l'adresse RCPT TO de SMTP) +est récupérée si elle n'est pas disponible ailleurs. Le paramètre -a de +dovecot-lda le remplace. L'en-tête couramment utilisée pour cela est +X-Original-To. La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean lda-mailbox-autocreate? -Should saving a mail to a nonexistent mailbox automatically create it?. -Defaults to @samp{#f}. +Sauvegarder un courriel dans un fichier qui n'existe pas devrait-il le créer +? La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} boolean lda-mailbox-autosubscribe? -Should automatically created mailboxes be also automatically subscribed?. -Defaults to @samp{#f}. +Devrait-on aussi se souscrire aux boîtes aux lettres nouvellement créées ? +La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer imap-max-line-length -Maximum IMAP command line length. Some clients generate very long command -lines with huge mailboxes, so you may need to raise this if you get "Too -long argument" or "IMAP command line too large" errors often. Defaults to -@samp{64000}. +Longueur maximale de la ligne de commande IMAP. Certains clients génèrent +des lignes de commandes très longues avec des boîtes aux lettres énormes, +donc vous pourriez avoir besoin d'augmenter cette limite si vous obtenez les +erreurs « Too long argument » ou « IMAP command line too large ». La valeur +par défaut est @samp{64000}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string imap-logout-format -IMAP logout format string: +Format de la chaîne de déconnexion IMAP : @table @code @item %i -total number of bytes read from client +nombre d'octets lus par le client @item %o -total number of bytes sent to client. +nombre total d'octets envoyés au client. @end table -See @file{doc/wiki/Variables.txt} for a list of all the variables you can -use. Defaults to @samp{"in=%i out=%o deleted=%@{deleted@} -expunged=%@{expunged@} trashed=%@{trashed@} hdr_count=%@{fetch_hdr_count@} -hdr_bytes=%@{fetch_hdr_bytes@} body_count=%@{fetch_body_count@} -body_bytes=%@{fetch_body_bytes@}"}. +Voir @file{doc/wiki/Variables.txt} pour une liste de toutes les variables +utilisables. La valeur par défaut est @samp{"in=%i out=%o +deleted=%@{deleted@} expunged=%@{expunged@} trashed=%@{trashed@} +hdr_count=%@{fetch_hdr_count@} hdr_bytes=%@{fetch_hdr_bytes@} +body_count=%@{fetch_body_count@} body_bytes=%@{fetch_body_bytes@}"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string imap-capability Override the IMAP CAPABILITY response. If the value begins with '+', add -the given capabilities on top of the defaults (e.g. +XFOO XBAR). Defaults +the given capabilities on top of the defaults (e.g.@: +XFOO XBAR). Defaults to @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string imap-idle-notify-interval -How long to wait between "OK Still here" notifications when client is -IDLEing. Defaults to @samp{"2 mins"}. +Temps d'attente entre les notifications « OK Still here » lorsque le client +est en IDLE. La valeur par défaut est @samp{"2 mins"}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string imap-id-send -ID field names and values to send to clients. Using * as the value makes -Dovecot use the default value. The following fields have default values -currently: name, version, os, os-version, support-url, support-email. -Defaults to @samp{""}. +Noms des champs ID et de leur valeur à envoyer aux clients. « * » signifie +la valeur par défaut. Les champs suivants ont actuellement des valeurs par +défaut : name, version, os, os-version, support-url, support-email. La +valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} string imap-id-log -ID fields sent by client to log. * means everything. Defaults to -@samp{""}. +Champs ID envoyés par le client à enregistrer. « * » signifie tout. La +valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list imap-client-workarounds -Workarounds for various client bugs: +Contournements pour divers bogues de certains client : @table @code @item delay-newmail -Send EXISTS/RECENT new mail notifications only when replying to NOOP and -CHECK commands. Some clients ignore them otherwise, for example OSX Mail -(' before setting it here, to get a feel for which cipher suites you -will get. After setting this option, it is recommend that you inspect your -Murmur log to ensure that Murmur is using the cipher suites that you -expected it to. +Nous vous recommandons d'essayer votre chaîne de suites de chiffrements avec +« openssl ciphers » avant de l'indiquer ici, pour avoir une idée +des suites de chiffrement que vous aurez. Après avoir indiqué cette option, +nous vous recommandons d'inspecter les journaux de Murmur pour vous assurer +que Murmur utilise les suites de chiffrements auxquelles vous vous attendez. -Note: Changing this option may impact the backwards compatibility of your -Murmur server, and can remove the ability for older Mumble clients to be -able to connect to it. +Remarque : modifier cette option peut impacter la rétrocompatibilité de +votre serveur Murmur, et peut empêcher que des clients Mumble anciens se +connectent. @item @code{public-registration} (par défaut : @code{#f}) -Must be a @code{} record or -@code{#f}. +Doit être un enregistrement +@code{} ou @code{#f}. -You can optionally register your server in the public server list that the -@code{mumble} client shows on startup. You cannot register your server if -you have set a @code{server-password}, or set @code{allow-ping} to -@code{#f}. +Vous pouvez aussi enregistrer votre serveur dans la liste des serveurs +publiques que le client @code{mumble} affiche au démarrage. Vous ne pouvez +pas enregistrer votre serveur si vous avez un @code{server-password} ou +@code{allow-ping} à @code{#f}. -It might take a few hours until it shows up in the public list. +Cela peut prendre quelques heures avant d'arriver sur la liste publique. @item @code{file} (par défaut : @code{#f}) -Optional alternative override for this configuration. +Version alternative de cette configuration : si vous indiquez quelque chose, +le reste est ignoré. @end table @end deftp @deftp {Type de données} murmur-public-registration-configuration -Configuration for public registration of a murmur service. +Configuration pour l'enregistrement public du service murmur. @table @asis @item @code{name} -This is a display name for your server. Not to be confused with the -hostname. +C'est le nom d'affichage de votre serveur. Ne pas le confondre avec le nom +d'hôte. @item @code{password} -A password to identify your registration. Subsequent updates will need the -same password. Don't lose your password. +Un mot de passe pour identifier votre enregistrement. Les mises à jours +suivantes devront utiliser le même mot de passe. Ne le perdez pas. @item @code{url} -This should be a @code{http://} or @code{https://} link to your web site. +Cela devrait être le lien @code{http://} ou @code{https://} vers votre site +web. @item @code{hostname} (par défaut : @code{#f}) -By default your server will be listed by its IP address. If it is set your -server will be linked by this host name instead. +Par défaut votre serveur sera listé par son adresse IP. Si cette option est +indiquée votre serveur sera listé par son nom d'hôte. @end table @end deftp @@ -16006,20 +16980,21 @@ server will be linked by this host name instead. @node Services de surveillance @subsubsection Services de surveillance -@subsubheading Tailon Service +@subsubheading Service Tailon -@uref{https://tailon.readthedocs.io/, Tailon} is a web application for -viewing and searching log files. +@uref{https://tailon.readthedocs.io/, Tailon} est une application web pour +visualiser et chercher des fichiers de journaux. -The following example will configure the service with default values. By -default, Tailon can be accessed on port 8080 (@code{http://localhost:8080}). +L'exemple suivant configurera le service avec les valeurs par défaut. Par +défaut, on peut accéder à Tailon sur le pour 8080 +(@code{http://localhost:8080}). @example (service tailon-service-type) @end example -The following example customises more of the Tailon configuration, adding -@command{sed} to the list of allowed commands. +L'exemple suivant personnalise un peu plus la configuration de Tailon, en +ajoutant @command{sed} à la liste des commandes autorisées. @example (service tailon-service-type @@ -16031,17 +17006,17 @@ The following example customises more of the Tailon configuration, adding @deftp {Type de données} tailon-configuration -Data type representing the configuration of Tailon. This type has the -following parameters: +Type de données représentant la configuration de Tailon. Ce type a les +paramètres suivants : @table @asis @item @code{config-file} (par défaut : @code{(tailon-configuration-file)}) -The configuration file to use for Tailon. This can be set to a -@dfn{tailon-configuration-file} record value, or any gexp +Le fichier de configuration à utiliser pour Tailon. Ce champ peut contenir +un enregistrement @dfn{tailon-configuration-file} ou n'importe quelle gexp (@pxref{G-Expressions}). -For example, to instead use a local file, the @code{local-file} function can -be used: +Par exemple, pour utiliser un fichier local à la place, on peut utiliser la +fonction @code{local-file} : @example (service tailon-service-type @@ -16056,50 +17031,53 @@ Le paquet tailon à utiliser. @end deftp @deftp {Type de données} tailon-configuration-file -Data type representing the configuration options for Tailon. This type has -the following parameters: +Type de données représentant les options de configuration de Tailon. Ce +type a les paramètres suivants : @table @asis @item @code{files} (par défaut : @code{(list "/var/log")}) -List of files to display. The list can include strings for a single file or -directory, or a list, where the first item is the name of a subsection, and -the remaining items are the files or directories in that subsection. +Liste des fichiers à afficher. La liste peut inclure des chaînes pour des +fichiers simple ou des répertoires, ou une liste, où le premier élément est +le nom d'un sous-section et le reste des fichiers ou des répertoires de +cette sous-section. @item @code{bind} (par défaut : @code{"localhost:8080"}) -Address and port to which Tailon should bind on. +Adresse et port sur lesquels Tailon écoute. @item @code{relative-root} (par défaut : @code{#f}) -URL path to use for Tailon, set to @code{#f} to not use a path. +Chemin de l'URL à utiliser pour Tailon, ou @code{#f} pour ne pas utiliser de +chemin. @item @code{allow-transfers?} (par défaut : @code{#t}) -Allow downloading the log files in the web interface. +Permet de télécharger les journaux dans l'interface web. @item @code{follow-names?} (par défaut : @code{#t}) -Allow tailing of not-yet existent files. +Permet de surveiller des fichiers qui n'existent pas encore. @item @code{tail-lines} (par défaut : @code{200}) -Number of lines to read initially from each file. +Nombre de lignes à lire initialement dans chaque fichier. @item @code{allowed-commands} (par défaut : @code{(list "tail" "grep" "awk")}) -Commands to allow running. By default, @code{sed} is disabled. +Commandes autorisées. Par défaut, @code{sed} est désactivé. @item @code{debug?} (par défaut : @code{#f}) -Set @code{debug?} to @code{#t} to show debug messages. +Configurez @code{debug?} à @code{#t} pour montrer les messages de débogage. @item @code{wrap-lines} (par défaut : @code{#t}) -Initial line wrapping state in the web interface. Set to @code{#t} to -initially wrap lines (the default), or to @code{#f} to initially not wrap -lines. +État initial du retour à la ligne dans l'interface web. Configurez l'option +à @code{#t} pour retourner à la ligne (par défaut) ou à @code{#f} pour ne +pas retourner à la ligne au début. @item @code{http-auth} (par défaut : @code{#f}) -HTTP authentication type to use. Set to @code{#f} to disable authentication -(the default). Supported values are @code{"digest"} or @code{"basic"}. +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"}. @item @code{users} (par défaut : @code{#f}) -If HTTP authentication is enabled (see @code{http-auth}), access will be -restricted to the credentials provided here. To configure users, use a list -of pairs, where the first element of the pair is the username, and the 2nd -element of the pair is the password. +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. @example (tailon-configuration-file @@ -16112,15 +17090,15 @@ element of the pair is the password. @end deftp -@subsubheading Darkstat Service +@subsubheading Service Darkstat @cindex darkstat -Darkstat is a packet sniffer that captures network traffic, calculates -statistics about usage, and serves reports over HTTP. +Darkstat est un « renifleur de paquets » qui capture le trafic réseau, +calcul des statistiques sur l'utilisation et sert des rapport sur HTTP. @defvar {Variable Scheme} darkstat-service-type -This is the service type for the @uref{https://unix4lyfe.org/darkstat/, -darkstat} service, its value must be a @code{darkstat-configuration} record -as in this example: +C'est le type de service pour le service +@uref{https://unix4lyfe.org/darkstat/, darkstat}, sa valeur doit être un +enregistrement @code{darkstat-configuration} comme dans cet exemple : @example (service darkstat-service-type @@ -16130,41 +17108,42 @@ as in this example: @end defvar @deftp {Type de données} darkstat-configuration -Data type representing the configuration of @command{darkstat}. +Type de données représentant la configuration de @command{darkstat}. @table @asis @item @code{package} (par défaut : @code{darkstat}) Le paquet darkstat à utiliser. @item @code{interface} -Capture traffic on the specified network interface. +Capture le trafic sur l'interface réseau spécifiée. @item @code{port} (par défaut : @code{"667"}) -Bind the web interface to the specified port. +Lie l'interface web sur le port spécifié. @item @code{bind-address} (par défaut : @code{"127.0.0.1"}) -Bind the web interface to the specified address. +Lie l'interface web sur l'adresse spécifiée. @item @code{base} (par défaut : @code{"/"}) -Specify the path of the base URL. This can be useful if @command{darkstat} -is accessed via a reverse proxy. +Spécifie le chemin de base des URL. C'est utile si on accède à +@command{darkstat} à travers un proxy inverse. @end table @end deftp -@subsubheading Prometheus Node Exporter Service +@subsubheading Service d'export de nœud de Prometheus @cindex prometheus-node-exporter -The Prometheus ``node exporter'' makes hardware and operating system -statistics provided by the Linux kernel available for the Prometheus -monitoring system. This service should be deployed on all physical nodes -and virtual machines, where monitoring these statistics is desirable. +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. -@defvar {Scheme variable} prometheus-node-exporter-service-type -This is the service type for the +@defvar {Variable Scheme} prometheus-node-exporter-service-type +C'est le type de service pour le service @uref{https://github.com/prometheus/node_exporter/, -prometheus-node-exporter} service, its value must be a -@code{prometheus-node-exporter-configuration} record as in this example: +prometheus-node-exporter}, sa valeur doit être un enregistrement +@code{prometheus-node-exporter-configuration} comme dans cet exemple : @example (service prometheus-node-exporter-service-type @@ -16173,15 +17152,15 @@ prometheus-node-exporter} service, its value must be a @end example @end defvar -@deftp {Data Type} prometheus-node-exporter-configuration -Data type representing the configuration of @command{node_exporter}. +@deftp {Type de données} prometheus-node-exporter-configuration +Type de données représentant la configuration de @command{node_exporter} @table @asis -@item @code{package} (default: @code{go-github-com-prometheus-node-exporter}) -The prometheus-node-exporter package to use. +@item @code{package} (par défaut : @code{go-github-com-prometheus-node-exporter}) +Le paquet prometheus-node-exporter à utiliser. -@item @code{web-listen-address} (default: @code{":9100"}) -Bind the web interface to the specified address. +@item @code{web-listen-address} (par défaut : @code{":9100"}) +Lie l'interface web sur l'adresse spécifiée. @end table @end deftp @@ -16190,26 +17169,27 @@ Bind the web interface to the specified address. @subsubsection Services Kerberos @cindex Kerberos -The @code{(gnu services kerberos)} module provides services relating to the -authentication protocol @dfn{Kerberos}. +Le module @code{(gnu services kerberos)} fournit des services liés au +protocole d'authentification @dfn{Kerberos}. -@subsubheading Krb5 Service +@subsubheading Service Krb5 -Programs using a Kerberos client library normally expect a configuration -file in @file{/etc/krb5.conf}. This service generates such a file from a -definition provided in the operating system declaration. It does not cause -any daemon to be started. +Les programmes qui utilisent une bibliothèque cliente Kerberos s'attendent à +trouver un fichier de configuration dans @file{/etc/krb5.conf}. Ce service +génère un tel fichier à partir d'une définition fournie par la déclaration +de système d'exploitation. Il ne démarre aucun démon. -No ``keytab'' files are provided by this service---you must explicitly -create them. This service is known to work with the MIT client library, -@code{mit-krb5}. Other implementations have not been tested. +Aucun fichier « keytab » n'est fourni par ce service — vous devez les créer +explicitement. Ce service est connu pour fonctionner avec la bibliothèque +cliente MIT, @code{mit-krb5}. Les autres implémentations n'ont pas été +testées. @defvr {Variable Scheme} krb5-service-type -A service type for Kerberos 5 clients. +Un type de service pour les clients Kerberos 5. @end defvr @noindent -Here is an example of its use: +Voici un exemple d'utilisation : @lisp (service krb5-service-type (krb5-configuration @@ -16227,37 +17207,37 @@ Here is an example of its use: @end lisp @noindent -This example provides a Kerberos@tie{}5 client configuration which: +Cet exemple fournit une configuration cliente Kerberos@tie{}5 qui : @itemize -@item Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both -of which have distinct administration servers and key distribution centers; -@item Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly -specified by clients; -@item Accepts services which only support encryption types known to be weak. +@item Reconnais deux domaines : « EXAMPLE.COM » et « ARGREX.EDU », tous deux +aillant des serveurs d'administration et des centres de distribution de +clefs distincts ; +@item Utilisera le domaine « EXAMPLE.COM » pr défaut si le domaine n'est pas spécifié +explicitement par les clients ; +@item Acceptera les services qui ne supportent que des types de chiffrements connus pour être faibles. @end itemize -The @code{krb5-realm} and @code{krb5-configuration} types have many fields. -Only the most commonly used ones are described here. For a full list, and -more detailed explanation of each, see the MIT -@uref{http://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} -documentation. +Les types @code{krb5-realm} et @code{krb5-configuration} ont de nombreux +champs. Seuls les plus communs sont décrits ici. Pour une liste complète, +et plus de détails sur chacun d'entre eux, voir la documentation de MIT +@uref{http://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf}. @deftp {Type de données} krb5-realm -@cindex realm, kerberos +@cindex domaine, kerberos @table @asis @item @code{name} -This field is a string identifying the name of the realm. A common -convention is to use the fully qualified DNS name of your organization, -converted to upper case. +Ce champ est une chaîne identifiant le nom d'un domaine. Une convention +courante est d'utiliser le nom pleinement qualifié de votre organisation, +converti en majuscule. @item @code{admin-server} -This field is a string identifying the host where the administration server -is running. +Ce champ est une chaîne identifiant l'hôte où le serveur d'administration +tourne. @item @code{kdc} -This field is a string identifying the key distribution center for the -realm. +Ce champ est une chaîne identifiant le centre de distribution de clefs pour +ce domaine. @end table @end deftp @@ -16265,45 +17245,47 @@ realm. @table @asis @item @code{allow-weak-crypto?} (par défaut : @code{#f}) -If this flag is @code{#t} then services which only offer encryption -algorithms known to be weak will be accepted. +Si ce drapeau est @code{#t} les services qui n'offrent que des algorithmes +de chiffrement faibles seront acceptés. @item @code{default-realm} (par défaut : @code{#f}) -This field should be a string identifying the default Kerberos realm for the -client. You should set this field to the name of your Kerberos realm. If -this value is @code{#f} then a realm must be specified with every Kerberos -principal when invoking programs such as @command{kinit}. +Ce champ devrait être une chaîne identifiant le domaine Kerberos par défaut +pour le client. Vous devriez mettre le nom de votre domaine Kerberos dans +ce champ. Si cette valeur est @code{#f} alors un domaine doit être spécifié +pour chaque principal Kerberos à l'invocation des programmes comme +@command{kinit}. @item @code{realms} -This should be a non-empty list of @code{krb5-realm} objects, which clients -may access. Normally, one of them will have a @code{name} field matching -the @code{default-realm} field. +Cela doit être une liste non-vide d'objets @code{krb5-realm}, auxquels les +clients peuvent accéder. Normalement, l'un d'entre eux aura un champ +@code{name} qui correspond au champ @code{default-realm}. @end table @end deftp -@subsubheading PAM krb5 Service +@subsubheading Service PAM krb5 @cindex pam-krb5 -The @code{pam-krb5} service allows for login authentication and password -management via Kerberos. You will need this service if you want PAM enabled -applications to authenticate users using Kerberos. +Le service @code{pam-krb5} permet la connexion et la gestion des mots de +passe par Kerberos. Vous aurez besoin de ce service si vous voulez que les +applications qui utilisent PAM puissent authentifier automatiquement les +utilisateurs avec Kerberos. @defvr {Variable Scheme} pam-krb5-service-type -A service type for the Kerberos 5 PAM module. +Un type de service pour le module PAM Kerberos 5. @end defvr @deftp {Type de données} pam-krb5-configuration -Data type representing the configuration of the Kerberos 5 PAM module This -type has the following parameters: +Type de données représentant la configuration du module PAM Kerberos 5. Ce +type a les paramètres suivants : @table @asis @item @code{pam-krb5} (par défaut : @code{pam-krb5}) Le paquet pam-krb5 à utiliser. @item @code{minimum-uid} (par défaut : @code{1000}) -The smallest user ID for which Kerberos authentications should be -attempted. Local accounts with lower values will silently fail to -authenticate. +Le plus petite ID utilisateur pour lequel les authentifications Kerberos +devraient être tentées. Les comptes locaux avec une valeur plus petite +échoueront silencieusement leur authentification Kerberos. @end table @end deftp @@ -16314,17 +17296,17 @@ authenticate. @cindex web @cindex www @cindex HTTP -The @code{(gnu services web)} module provides the Apache HTTP Server, the -nginx web server, and also a fastcgi wrapper daemon. +Le module @code{(gnu services web)} fournit le serveur Apache HTTP, le +serveur web nginx et aussi un démon fastcgi. -@subsubheading Apache HTTP Server +@subsubheading Serveur Apache HTTP @deffn {Variable Scheme} httpd-service-type -Service type for the @uref{https://httpd.apache.org/,Apache HTTP} server -(@dfn{httpd}). The value for this service type is a -@code{https-configuration} record. +Type de service pour le serveur @uref{https://httpd.apache.org/,Apache HTTP} +(@dfn{httpd}). La valeur de ce type de service est un enregistrement +@code{httpd-configuration}. -A simple example configuration is given below. +Un exemple de configuration simple est donné ci-dessous. @example (service httpd-service-type @@ -16335,8 +17317,8 @@ A simple example configuration is given below. (document-root "/srv/http/www.example.com"))))) @end example -Other services can also extend the @code{httpd-service-type} to add to the -configuration. +D'autres services peuvent aussi étendre @code{httpd-service-type} pour être +ajouté à la configuration. @example (simple-service 'my-extra-server httpd-service-type @@ -16349,100 +17331,137 @@ configuration. @end example @end deffn -The details for the @code{httpd-configuration}, @code{httpd-module}, -@code{httpd-config-file} and @code{httpd-virtualhost} record types are given -below. +Les détails des types d'enregistrement @code{httpd-configuration}, +@code{httpd-module}, @code{httpd-config-file} et @code{httpd-virtualhost} +sont donnés plus bas. @deffn {Type de données} httpd-configuration -This data type represents the configuration for the httpd service. +Ce type de données représente la configuration du service httpd. @table @asis @item @code{package} (par défaut : @code{httpd}) Le paquet httpd à utiliser. @item @code{pid-file} (par défaut : @code{"/var/run/httpd"}) -The pid file used by the shepherd-service. +Le fichier de pid utilisé par le service shepherd. @item @code{config} (par défaut : @code{(httpd-config-file)}) -The configuration file to use with the httpd service. The default value is a -@code{httpd-config-file} record, but this can also be a different -G-expression that generates a file, for example a @code{plain-file}. A file -outside of the store can also be specified through a string. +Le fichier de configuration à utiliser avec le service httpd. La valeur par +défaut est un enregistrement @code{httpd-config-file} mais cela peut aussi +être un G-expression qui génère un fichier, par exemple un +@code{plain-file}. Un fichier en dehors du dépôt peut aussi être spécifié +avec une chaîne de caractères. @end table @end deffn @deffn {Type de données} httpd-module -This data type represents a module for the httpd service. +Ce type de données représente un module pour le service httpd. @table @asis @item @code{name} -The name of the module. +Le nom du module. @item @code{file} -The file for the module. This can be relative to the httpd package being -used, the absolute location of a file, or a G-expression for a file within -the store, for example @code{(file-append mod-wsgi "/modules/mod_wsgi.so")}. +Le fichier pour le module. Cela peut être relatif au paquet httpd utilisé, +l'emplacement absolu d'un fichier ou une G-expression pour un fichier dans +le dépôt, par exemple @code{(file-append mod-wsgi "/modules/mod_wsgi.so")}. @end table @end deffn +@defvr {Variable Scheme} %default-httpd-modules +Une liste par défaut des objets @code{httpd-module}. +@end defvr + @deffn {Type de données} httpd-config-file -This data type represents a configuration file for the httpd service. +Ce type de données représente un fichier de configuration pour le service +httpd. @table @asis @item @code{modules} (par défaut : @code{%default-httpd-modules}) -The modules to load. Additional modules can be added here, or loaded by -additional configuration. +Les modules à charger. Les modules supplémentaires peuvent être ajoutés ici +ou chargés par des configuration supplémentaires. + +Par exemple, pour gérer les requêtes pour des fichiers PHP, vous pouvez +utiliser le module @code{mod_proxy_fcgi} d'Apache avec +@code{php-fpm-service-type} : + +@example +(service httpd-service-type + (httpd-configuration + (config + (httpd-config-file + (modules (cons* + (httpd-module + (name "proxy_module") + (file "modules/mod_proxy.so")) + (httpd-module + (name "proxy_fcgi_module") + (file "modules/mod_proxy_fcgi.so")) + %default-httpd-modules)) + (extra-config (list "\ + + SetHandler \"proxy:unix:/var/run/php-fpm.sock|fcgi://localhost/\" +")))))) +(service php-fpm-service-type + (php-fpm-configuration + (socket "/var/run/php-fpm.sock") + (socket-group "httpd"))) +@end example @item @code{server-root} (par défaut : @code{httpd}) -The @code{ServerRoot} in the configuration file, defaults to the httpd -package. Directives including @code{Include} and @code{LoadModule} are taken -as relative to the server root. +Le @code{ServerRoot} dans le fichier de configuration, par défaut le paquet +httpd. Les directives comme @code{Include} et @code{LoadModule} sont prises +relativement à la racine du serveur. @item @code{server-name} (par défaut : @code{#f}) -The @code{ServerName} in the configuration file, used to specify the request -scheme, hostname and port that the server uses to identify itself. +Le @code{ServerName} dans le fichier de configuration, utilisé pour +spécifier le schéma de requête, le nom d'hôte et le port que le serveur +utilise pour s'identifier. -This doesn't need to be set in the server config, and can be specifyed in -virtual hosts. The default is @code{#f} to not specify a @code{ServerName}. +Cela n'a pas besoin d'être dans la configuration du serveur, et peut être +spécifié dans les hôtes virtuels. La valeur par défaut est @code{#f} pour +ne pas spécifier de @code{ServerName}. @item @code{document-root} (par défaut : @code{"/srv/http"}) -The @code{DocumentRoot} from which files will be served. +Le @code{DocumentRoot} depuis lequel les fichiers seront servis. @item @code{listen} (par défaut : @code{'("80")}) -The list of values for the @code{Listen} directives in the config file. The -value should be a list of strings, when each string can specify the port -number to listen on, and optionally the IP address and protocol to use. +La liste des valeurs pour les directives @code{Listen} dans le fichier de +configuration. La valeur devrait être une liste de chaînes, où chacune +spécifie le port sur lequel écouter et éventuellement une adresse IP et un +protocole à utiliser. @item @code{pid-file} (par défaut : @code{"/var/run/httpd"}) -The @code{PidFile} to use. This should match the @code{pid-file} set in the -@code{httpd-configuration} so that the Shepherd service is configured -correctly. +Le @code{PidFile} à utiliser. Cela devrait correspondre à @code{pid-file} +indiqué dans @code{httpd-configuration} pour que le service Shepherd soit +correctement configuré. @item @code{error-log} (par défaut : @code{"/var/log/httpd/error_log"}) -The @code{ErrorLog} to which the server will log errors. +Le @code{ErrorLog} où le serveur écrit les journaux d'erreurs. @item @code{user} (par défaut : @code{"httpd"}) -The @code{User} which the server will answer requests as. +Le @code{User} en tant que lequel le serveur répondra aux requêtes. @item @code{group} (par défaut : @code{"httpd"}) -The @code{Group} which the server will answer requests as. +Le @code{Group} que le serveur utilisera pour répondre aux requêtes. @item @code{extra-config} (par défaut : @code{(list "TypesConfig etc/httpd/mime.types")}) -A flat list of strings and G-expressions which will be added to the end of -the configuration file. +Une liste plate de chaînes et de G-expressions qui seront ajoutées à la fin +du fichier de configuration. -Any values which the service is extended with will be appended to this list. +N'importe quelle valeur avec laquelle le service est étendu sera ajouté à +cette liste. @end table @end deffn @deffn {Type de données} httpd-virtualhost -This data type represents a virtualhost configuration block for the httpd -service. +Ce type de données représente la configuration d'un hôte virtuel pour le +service httpd. -These should be added to the extra-config for the httpd-service. +Ils devraient être ajoutés à extra-config dans httpd-service. @example (simple-service 'my-extra-server httpd-service-type @@ -16456,11 +17475,11 @@ These should be added to the extra-config for the httpd-service. @table @asis @item @code{addresses-and-ports} -The addresses and ports for the @code{VirtualHost} directive. +L'adresse et le port pour la directive @code{VirtualHost}. @item @code{contents} -The contents of the @code{VirtualHost} directive, this should be a list of -strings and G-expressions. +Le contenu de la directive @code{VirtualHost}, cela devrait être une liste +de chaîne et de G-expressions. @end table @end deffn @@ -16468,10 +17487,10 @@ strings and G-expressions. @subsubheading NGINX @deffn {Variable Scheme} nginx-service-type -Service type for the @uref{https://nginx.org/,NGinx} web server. The value -for this service type is a @code{} record. +Type de service pour le serveur web @uref{https://nginx.org/,NGinx}. La +valeur de ce service est un enregistrement @code{}. -A simple example configuration is given below. +Un exemple de configuration simple est donné ci-dessous. @example (service nginx-service-type @@ -16482,9 +17501,9 @@ A simple example configuration is given below. (root "/srv/http/www.example.com")))))) @end example -In addition to adding server blocks to the service configuration directly, -this service can be extended by other services to add server blocks, as in -this example: +En plus d'ajouter des blocs de serveurs dans la configuration du service +directement, ce service peut être étendu par d'autres services pour ajouter +des blocs de serveurs, comme dans cet exemple : @example (simple-service 'my-extra-server nginx-service-type @@ -16494,37 +17513,39 @@ this example: @end example @end deffn -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 changed with -the @var{log-directory} configuration option. +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 dans +@file{/var/log/nginx/error.log}. Ce second emplacement peut être modifié +avec l'option de configuration @var{log-directory}. @deffn {Type de données} nginx-configuration -This data type represents the configuration for NGinx. Some configuration -can be done through this and the other provided record types, or -alternatively, a config file can be provided. +Ce type de données représente la configuration de NGinx. Certaines +configurations peuvent se faire ici et d'autres fournissent des types +d'enregistrement ou éventuellement, on peut fournir un fichier de +configuration. @table @asis @item @code{nginx} (par défaut : @code{nginx}) Le paquet nginx à utiliser. @item @code{log-directory} (par défaut : @code{"/var/log/nginx"}) -The directory to which NGinx will write log files. +Le répertoire dans lequel NGinx écrira ses fichiers journaux. @item @code{run-directory} (par défaut : @code{"/var/run/nginx"}) -The directory in which NGinx will create a pid file, and write temporary -files. +Le répertoire dans lequel NGinx créera un fichier de pid et écrira des +fichiers temporaires. @item @code{server-blocks} (par défaut : @code{'()}) -A list of @dfn{server blocks} to create in the generated configuration file, -the elements should be of type @code{}. +Une liste de @dfn{blocs serveur} à créer dans le fichier de configuration +généré, dont les éléments sont de type @code{}. -The following example would setup NGinx to serve @code{www.example.com} from -the @code{/srv/http/www.example.com} directory, without using HTTPS. +L'exemple suivant paramètre NGinx pour servir @code{www.example.com} depuis +le répertoire @code{/srv/http/www.example.com} sans utiliser HTTPS. @example (service nginx-service-type (nginx-configuration @@ -16535,14 +17556,16 @@ the @code{/srv/http/www.example.com} directory, without using HTTPS. @end example @item @code{upstream-blocks} (par défaut : @code{'()}) -A list of @dfn{upstream blocks} to create in the generated configuration -file, the elements should be of type @code{}. +Une liste de @dfn{blocs amont} à créer dans le fichier de configuration +généré, dont les éléments sont de type +@code{}. -Configuring upstreams through the @code{upstream-blocks} can be useful when -combined with @code{locations} in the @code{} -records. The following example creates a server configuration with one -location configuration, that will proxy requests to a upstream -configuration, which will handle requests with two servers. +Configurer les serveurs amont à travers les @code{upstream-blocks} peut être +utile en combinaison avec @code{locations} dans les enregistrements +@code{}. L'exemple suivant crée une +configuration de serveur avec une configuration « location » qui sera +mandataire pour une configuration amont, qui gérera les requêtes avec deux +serveurs. @example (service @@ -16565,308 +17588,410 @@ configuration, which will handle requests with two servers. @end example @item @code{file} (par défaut : @code{#f}) -If a configuration @var{file} is provided, this will be used, rather than -generating a configuration file from the provided @code{log-directory}, -@code{run-directory}, @code{server-blocks} and @code{upstream-blocks}. For -proper operation, these arguments should match what is in @var{file} to -ensure that the directories are created when the service is activated. +Si un fichier de configuration @var{file} est fourni, il sera utilisé au +lieu de générer un fichier de configuration à partir des +@code{log-directory}, @code{run-directory}, @code{server-blocks} et +@code{upstream-blocks} fournis. Pour un bon fonctionnement, ces arguments +devraient correspondre à ce qui se trouve dans @var{file} pour s'assurer que +les répertoires sont créé lorsque le service est activé. -This can be useful if you have an existing configuration file, or it's not -possible to do what is required through the other parts of the -nginx-configuration record. +Cela peut être utile si vous avez déjà un fichier de configuration existant +ou s'il n'est pas possible de faire ce dont vous avez besoin avec les autres +parties de l'enregistrement nginx-configuration. @item @code{server-names-hash-bucket-size} (par défaut : @code{#f}) -Bucket size for the server names hash tables, defaults to @code{#f} to use -the size of the processors cache line. +Taille du seau pour les tables de hashage des noms de serveurs, par dauft +@code{#f} pour utilise la taille des lignes de cache du processeur. @item @code{server-names-hash-bucket-max-size} (par défaut : @code{#f}) -Maximum bucket size for the server names hash tables. +Taille maximum des seaux pour les tables de hashage des serveurs de noms. @item @code{extra-content} (par défaut : @code{""}) -Extra content for the @code{http} block. Should be string or a string -valued G-expression. +Contenu supplémentaire du bloc @code{http}. Cela devrait être une chaîne ou +un G-expression. @end table @end deffn @deftp {Type de données} nginx-server-configuration -Data type representing the configuration of an nginx server block. This -type has the following parameters: +Type de données représentant la configuration d'un bloc serveur de nginx. +Ce type a les paramètres suivants : @table @asis @item @code{listen} (par défaut : @code{'("80" "443 ssl")}) -Each @code{listen} directive sets the address and port for IP, or the path -for a UNIX-domain socket on which the server will accept requests. Both -address and port, or only address or only port can be specified. An address -may also be a hostname, for example: +Chaque directive @code{listen} indique l'adresse et le port pour le +protocole IP ou le chemin d'un socket UNIX-domain sur lequel le serveur +acceptera les connexions. On peut spécifier l'adresse et le port, ou juste +l'adresse ou juste le port. Une adresse peut aussi être un nom d'hôte, par +exemple : @example '("127.0.0.1:8000" "127.0.0.1" "8000" "*:8000" "localhost:8000") @end example @item @code{server-name} (par défaut : @code{(list 'default)}) -A list of server names this server represents. @code{'default} represents -the default server for connections matching no other server. +Une liste de noms de serveurs que ce serveur représente. @code{'default} +représente le serveur par défaut pour les connexions qui ne correspondent à +aucun autre serveur. @item @code{root} (par défaut : @code{"/srv/http"}) -Root of the website nginx will serve. +Racine du site web que sert nginx. @item @code{locations} (par défaut : @code{'()}) -A list of @dfn{nginx-location-configuration} or -@dfn{nginx-named-location-configuration} records to use within this server -block. +Une liste d'enregistrements @dfn{nginx-location-configuration} ou +@dfn{nginx-named-location-configuration} à utiliser dans ce bloc serveur. @item @code{index} (par défaut : @code{(list "index.html")}) -Index files to look for when clients ask for a directory. If it cannot be -found, Nginx will send the list of files in the directory. +Fichiers d'index à chercher lorsque les clients demandent un répertoire. +S'il ne peut pas être trouvé, Nginx enverra la liste des fichiers dans le +répertoire. @item @code{try-files} (par défaut : @code{'()}) -A list of files whose existence is checked in the specified order. -@code{nginx} will use the first file it finds to process the request. +Une liste de fichiers dont l'existence doit être vérifiée dans l'ordre +spécifié. @code{nginx} utilisera le premier fichier trouvé pour satisfaire +la requête. @item @code{ssl-certificate} (par défaut : @code{#f}) -Where to find the certificate for secure connections. Set it to @code{#f} -if you don't have a certificate or you don't want to use HTTPS. +Où trouver les certificats pour les connexions sécurisées. Indiquez +@code{#f} si vous n'avez pas de certificats et que vous ne voulez pas +utiliser HTTPS. @item @code{ssl-certificate-key} (par défaut : @code{#f}) -Where to find the private key for secure connections. Set it to @code{#f} -if you don't have a key or you don't want to use HTTPS. +Où trouver la clef privée pour les connexions sécurisées. Indiquez +@code{#f} si vous n'avez pas de clef et que vous ne voulez pas utiliser +HTTPS. @item @code{server-tokens?} (par défaut : @code{#f}) -Whether the server should add its configuration to response. +Indique si le serveur devrait ajouter sa configuration dans les réponses. @item @code{raw-content} (par défaut : @code{'()}) -A list of raw lines added to the server block. +Une liste de lignes brutes à ajouter dans le bloc serveur. @end table @end deftp @deftp {Type de données} nginx-upstream-configuration -Data type representing the configuration of an nginx @code{upstream} block. -This type has the following parameters: +Type de données représentant la configuration d'un bloc @code{upstream} +nginx. Ce type a les paramètres suivants : @table @asis @item @code{name} -Name for this group of servers. +Nome de ces groupe de serveurs. -@item @code{servers} +@item @code{serveurs} Specify the addresses of the servers in the group. The address can be -specified as a IP address (e.g. @samp{127.0.0.1}), domain name -(e.g. @samp{backend1.example.com}) or a path to a UNIX socket using the -prefix @samp{unix:}. For addresses using an IP address or domain name, the -default port is 80, and a different port can be specified explicitly. +specified as a IP address (e.g.@: @samp{127.0.0.1}), domain name (e.g.@: +@samp{backend1.example.com}) or a path to a UNIX socket using the prefix +@samp{unix:}. For addresses using an IP address or domain name, the default +port is 80, and a different port can be specified explicitly. @end table @end deftp @deftp {Type de données} nginx-location-configuration -Data type representing the configuration of an nginx @code{location} block. -This type has the following parameters: +Type de données représentant la configuration d'un bloc @code{location} +nginx. Ce type a les paramètres suivants : @table @asis @item @code{uri} -URI which this location block matches. +URI qui correspond à ce bloc. @anchor{nginx-location-configuration body} @item @code{body} -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;")}. +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;")}. @end table @end deftp @deftp {Type de données} nginx-named-location-configuration -Data type representing the configuration of an nginx named location block. -Named location blocks are used for request redirection, and not used for -regular request processing. This type has the following parameters: +Type de données représentant la configuration d'un bloc location nginx +nommé. Les blocs location nommés sont utilisé les redirections de requêtes +et pas pour le traitement des requêtes normales. Ce type a les paramètres +suivants : @table @asis @item @code{name} -Name to identify this location block. +Nom pour identifier ce bloc location. @item @code{body} -@xref{nginx-location-configuration body}, as the body for named location -blocks can be used in a similar way to the -@code{nginx-location-configuration body}. One restriction is that the body -of a named location block cannot contain location blocks. +@xref{nginx-location-configuration body}, comme le corps d'un bloc location +nommé peut être utilisé de la même manière que +@code{nginx-location-configuration body}. Une restriction est que le corps +d'un bloc location nommé ne peut pas contenir de bloc location. @end table @end deftp +@subsubheading Cache Varnish +@cindex Varnish +Varnish est un serveur de cache rapide qui se trouve entre les applications +web et les utilisateurs. Il sert de serveur mandataire pour les requêtes +des clients et met les URL accédées en cache pour que plusieurs requêtes à +la même ressource ne crée qu'une requête au moteur. + +@defvr {Variable Scheme} varnish-service-type +Type de service pour le démon Varnish. +@end defvr + +@deftp {Type de données} varnish-configuration +Type de données représentant la configuration du service @code{varnish}. Ce +type a les paramètres suivants : + +@table @asis +@item @code{package} (par défaut : @code{varnish}) +Le paquet Varnish à utiliser. + +@item @code{name} (par défaut : @code{"default"}) +Un nom pour cet instance de Varnish. Varnish va créer un répertoire dans +@file{/var/varnish/} avec ce nom et gardera des fichiers temporaires à cet +endroit. Si le nom commence par une barre oblique, il est interprété comme +un nom de répertoire absolu. + +Pass the @code{-n} argument to other Varnish programs to connect to the +named instance, e.g.@: @command{varnishncsa -n default}. + +@item @code{backend} (par défaut : @code{"localhost:8080"}) +Le moteur à utiliser. Cette option n'a pas d'effet si @code{vcl} est vrai. + +@item @code{vcl} (par défaut : #f) +Le programme @dfn{VCL} (Varnish Configuration Language) à lancer. Si la +valeur est @code{#f}, Varnsh servira de mandataire pour @code{backend} avec +la configuration par défaut. Sinon, ce doit être un objet simili-fichier +avec une syntaxe VCL valide. + +@c Varnish does not support HTTPS, so keep this URL to avoid confusion. +Par exemple, pour créer un miroir de @url{http://www.gnu.org,www.gnu.org} +avec VCL vous pouvez faire quelque chose comme cela : + +@example +(define %gnu-mirror + (plain-file + "gnu.vcl" + "vcl 4.1; +backend gnu @{ .host = "www.gnu.org"; @}")) + +(operating-system + ... + (services (cons (service varnish-service-type + (varnish-configuration + (listen '(":80")) + (vcl %gnu-mirror))) + %base-services))) +@end example + +On peut inspecter la configuration d'une instance Varnish actuellement +lancée en utilisant le programme @command{varnishadm}. + +Consultez le @url{https://varnish-cache.org/docs/,guide utilisateur de +varnish} et le @url{https://book.varnish-software.com/4.0/,livre varnish} +pour une documentation complète sur Varnish et son langage de configuration. + +@item @code{listen} (par défaut : @code{'("localhost:80")}) +Liste des adresses sur lesquelles écoute Varnish. + +@item @code{storage} (par défaut : @code{'("malloc,128m")}) +Liste de moteurs de stockage qui seront disponibles en VCL. + +@item @code{parameters} (par défaut : @code{'()}) +Liste des paramètres à l'exécution de la forme @code{'(("parameter" +. "value"))}. + +@item @code{extra-options} (par défaut : @code{'()}) +Arguments supplémentaires à passer au processus @command{varnishd}. + +@end table +@end deftp + +@subsubheading FastCGI @cindex fastcgi @cindex fcgiwrap -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. - -To use FastCGI, you configure the front-end web server (e.g., nginx) to -dispatch some subset of its requests to the fastcgi backend, which listens -on a local TCP or UNIX socket. There is an intermediary @code{fcgiwrap} -program that sits between the actual backend process and the web server. -The front-end indicates which backend program to run, passing that -information to the @code{fcgiwrap} process. +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. + +Pour utiliser FastCGI, vous configurez le serveur web frontal (p.@: ex.@: +nginx) pour envoyer un sous-ensemble de ses requêtes au moteur fastcgi, qui +écoute sur un socket UNIX ou TCP local. Il y a un programme @code{fcgiwrap} +intermédiaire qui se trouve entre le processus du moteur et le serveur web. +Le frontal indique quel moteur lancer, en passant cette information au +processus @code{fcgiwrap}. @defvr {Variable Scheme} fcgiwrap-service-type -A service type for the @code{fcgiwrap} FastCGI proxy. +Un type de service pour le mandataire FastCGI @code{fcgiwrap}. @end defvr @deftp {Type de données} fcgiwrap-configuration -Data type representing the configuration of the @code{fcgiwrap} serice. -This type has the following parameters: +Type de données représentant la configuration d'un service @code{fcgiwrap}. +Ce type a les paramètres suivants : @table @asis @item @code{package} (par défaut : @code{fcgiwrap}) Le paquet fcgiwrap à utiliser. @item @code{socket} (par défaut : @code{tcp:127.0.0.1:9000}) -The socket on which the @code{fcgiwrap} process should listen, as a string. -Valid @var{socket} values include @code{unix:@var{/path/to/unix/socket}}, -@code{tcp:@var{dot.ted.qu.ad}:@var{port}} and +Le socket sur lequel le processus @code{fcgiwrap} écoute, en tant que chaîne +de caractères. Les valeurs valides de @var{socket} sont +@code{unix:@var{/path/to/unix/socket}}, +@code{tcp:@var{dot.ted.qu.ad}:@var{port}} et @code{tcp6:[@var{ipv6_addr}]:port}. @item @code{user} (par défaut : @code{fcgiwrap}) @itemx @code{group} (par défaut : @code{fcgiwrap}) -The user and group names, as strings, under which to run the @code{fcgiwrap} -process. The @code{fastcgi} service will ensure that if the user asks for -the specific user or group names @code{fcgiwrap} that the corresponding user -and/or group is present on the system. - -It is possible to configure a FastCGI-backed web service to pass HTTP -authentication information from the front-end to the back-end, and to allow -@code{fcgiwrap} to run the back-end process as a corresponding local user. -To enable this capability on the back-end., run @code{fcgiwrap} as the -@code{root} user and group. Note that this capability also has to be -configured on the front-end as well. +Les noms de l'utilisateur et du groupe, en tant que chaînes de caractères, +sous lesquels lancer le processus @code{fcgiwrap}. Le service +@code{fastcgi} s'assurera que si l'utilisateur demande les noms +d'utilisateurs et de groupes @code{fcgiwrap} l'utilisateur et le groupe +correspondant seront présents sur le système. + +Il est possible de configurer un service web soutenu par FastCGI pour passer +les informations d'authentification HTTP depuis le frontal jusqu'au moteur, +et de permettre à @code{fcgiwrap} dans lancer le processus de moteur avec +l'utilisateur correspondant. Pour activer cette fonctionnalité sur le +moteur, lancez @code{fcgiwrap} en tant qu'utilisateur et groupe +@code{root}. Remarquez que cette fonctionnalité doit aussi être configurée +sur le frontal. @end table @end deftp @cindex php-fpm -PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI -implementation with some additional features useful for sites of any size. +PHP-FPM (FastCGI Process Manager) est une implémentation FastCGI de PHP +alternative avec quelques fonctionnalités supplémentaires utiles pour les +sites de toutes tailles. -These features include: +Ces fonctionnalités comprennent : @itemize @bullet -@item Adaptive process spawning -@item Basic statistics (similar to Apache's mod_status) -@item Advanced process management with graceful stop/start -@item Ability to start workers with different uid/gid/chroot/environment -and different php.ini (replaces safe_mode) -@item Stdout & stderr logging -@item Emergency restart in case of accidental opcode cache destruction -@item Accelerated upload support -@item Support for a "slowlog" -@item Enhancements to FastCGI, such as fastcgi_finish_request() - -a special function to finish request & flush all data while continuing to do -something time-consuming (video converting, stats processing, etc.) +@item La création de processus adaptative +@item Des statistiques de base (comme le mod_status d'Apache) +@item La gestion des processus avancée avec arrêt et démarrage sans heurts +@item La possibilité de démarrer des processus de travail avec différents uid/gid/chroot/environnement +et différents php.ini (à la place de safe_mode) +@item L'enregistrement des journaux sur stdout et stderr +@item Le redémarrage d'urgence dans le cas de la destruction accidentelle du cache des opcodes +@item Le support des téléversements accélérés +@item Le support de « showlog » +@item Des améliorations à FastCGI, comme fastcgi_finish_request() - +une fonction spéciale pour terminer la requête et nettoyer toutes les +données tout en continuant à faire d'autres choses qui prennent du temps +(conversion vidéo, gestion des stats, etc…). @end itemize -... and much more. +...@: and much more. @defvr {Variable Scheme} php-fpm-service-type -A Service type for @code{php-fpm}. +Un type de service pour @code{php-fpm}. @end defvr @deftp {Type de données} php-fpm-configuration -Data Type for php-fpm service configuration. +Type de données pour la configuration du service php-fpm. @table @asis @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")}) -The address on which to accept FastCGI requests. Valid syntaxes are: +L'adresse sur laquelle accepter les requêts FastCGI. Les syntaxes valides +sont : @table @asis @item @code{"ip.add.re.ss:port"} -Listen on a TCP socket to a specific address on a specific port. +Écoute sur un socket TCP sur l'adresse spécifiée sur un port spécifié. @item @code{"port"} -Listen on a TCP socket to all addresses on a specific port. +Écoute sur un socket TCP sur toutes les adresse sur un port spécifique. @item @code{"/path/to/unix/socket"} -Listen on a unix socket. +Écoute sur un socket unix. @end table @item @code{user} (par défaut : @code{php-fpm}) -User who will own the php worker processes. +Utilisateur à qui appartiendra le processus de travail de php. @item @code{group} (par défaut : @code{php-fpm}) -Group of the worker processes. +Groupe du processus de travail. @item @code{socket-user} (par défaut : @code{php-fpm}) -User who can speak to the php-fpm socket. +Utilisateur qui peut parler au socket php-fpm. @item @code{socket-group} (par défaut : @code{php-fpm}) -Group that can speak to the php-fpm socket. +Groupe qui peut parler au socket php-fpm. @item @code{pid-file} (par défaut : @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.pid")}) -The process id of the php-fpm process is written to this file once the -service has started. +Le pid de php-fpm est écrit dans ce fichier une fois que le service a +démarré. @item @code{log-file} (par défaut : @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.log")}) -Log for the php-fpm master process. +Fichier de journal pour le processus maître de php-fpm. @item @code{process-manager} (par défaut : @code{(php-fpm-dynamic-process-manager-configuration)}) -Detailed settings for the php-fpm process manager. Must be either: +Configuration détaillée pour le gestionnaire de processus de php-fpm. Il +doit s'agir soit de : @table @asis -@item @code{} -@item @code{} +@item @code{,} +@item @code{ ou} @item @code{} @end table @item @code{display-errors} (par défaut : @code{#f}) -Determines whether php errors and warning should be sent to clients and -displayed in their browsers. This is useful for local php development, but -a security risk for public sites, as error messages can reveal passwords and -personal data. +Détermine si les erreurs et les avertissements php doivent être envoyés aux +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. @item @code{workers-logfile} (par défaut : @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.www.log")}) -This file will log the @code{stderr} outputs of php worker processes. Can -be set to @code{#f} to disable logging. +Ce fichier enregistrera la sortie @code{stderr} des processus de travail de +php. On peut indiquer @code{#f} pour désactiver la journalisation. @item @code{file} (par défaut : @code{#f}) -An optional override of the whole configuration. You can use the -@code{mixed-text-file} function or an absolute filepath for it. +Une version alternative de la configuration complète. Vous pouvez utiliser +la fonction @code{mixed-text-file} ou un chemin de fichier absolu. @end table @end deftp -@deftp {Data type} php-fpm-dynamic-process-manager-configuration -Data Type for the @code{dynamic} php-fpm process manager. With the -@code{dynamic} process manager, spare worker processes are kept around based -on it's configured limits. +@deftp {Type de données} php-fpm-dynamic-process-manager-configuration +Type de données pour le gestionnaire de processus @code{dynamic} de +php-fpm. Avec le gestionnaire de processus @code{dynamic}, des processus de +travail de secours sont gardés en fonction des limites configurées. @table @asis @item @code{max-children} (par défaut : @code{5}) -Maximum of worker processes. +Nombre maximum de processus de travail. @item @code{start-servers} (par défaut : @code{2}) -How many worker processes should be started on start-up. +Nombre de processus de travail au démarrage. @item @code{min-spare-servers} (par défaut : @code{1}) -How many spare worker processes should be kept around at minimum. +Nombre de processus de travail de secours minimum qui doivent rester à +disposition. @item @code{max-spare-servers} (par défaut : @code{3}) -How many spare worker processes should be kept around at maximum. +Nombre maximum de processus de travail de secours qui peuvent rester à +disposition. @end table @end deftp -@deftp {Data type} php-fpm-static-process-manager-configuration -Data Type for the @code{static} php-fpm process manager. With the -@code{static} process manager, an unchanging number of worker processes are -created. +@deftp {Type de données} php-fpm-static-process-manager-configuration +Type de données pour le gestionnaire de processus @code{static} de php-fpm. +Avec le gestionnaire de processus @code{static}, un nombre constant de +processus de travail est créé. @table @asis @item @code{max-children} (par défaut : @code{5}) -Maximum of worker processes. +Nombre maximum de processus de travail. @end table @end deftp -@deftp {Data type} php-fpm-on-demand-process-manager-configuration -Data Type for the @code{on-demand} php-fpm process manager. With the -@code{on-demand} process manager, worker processes are only created as -requests arrive. +@deftp {Type de données} php-fpm-on-demand-process-manager-configuration +Type de données pour le gestionnaire de processus @code{on-demand} de +php-fpm. Avec le gestionnaire de processus @code{on-demand}, les processus +de travail ne sont créés que lorsque les requêtes arrivent. @table @asis @item @code{max-children} (par défaut : @code{5}) -Maximum of worker processes. +Nombre maximum de processus de travail. @item @code{process-idle-timeout} (par défaut : @code{10}) -The time in seconds after which a process with no requests is killed. +La durée en secondes après laquelle un processus sans requête sera tué. @end table @end deftp @deffn {Procédure Scheme} nginx-php-fpm-location @ - [#:nginx-package nginx] @ [socket (string-append "/var/run/php" @ -(version-major (package-version php)) @ "-fpm.sock")] A helper function to -quickly add php to an @code{nginx-server-configuration}. + [#:nginx-package nginx] @ +[socket (string-append "/var/run/php" @ +(version-major (package-version php)) @ +"-fpm.sock")] +Une fonction d'aide pour ajouter rapidement php à un +@code{nginx-server-configuration}. @end deffn -A simple services setup for nginx with php can look like this: +Une configuration simple de services pour php ressemble à ceci : @example -(services (cons* (dhcp-client-service) +(services (cons* (service dhcp-client-service-type) (service php-fpm-service-type) (service nginx-service-type (nginx-server-configuration @@ -16881,21 +18006,23 @@ A simple services setup for nginx with php can look like this: @end example @cindex cat-avatar-generator -The cat avatar generator is a simple service to demonstrate the use of -php-fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for -instance the hash of a user's email address. +Le générateur d'avatar de chat est un simple service pour démontrer +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. @deffn {Procédure Scheme} cat-avatar-generator-serice @ - [#:cache-dir "/var/cache/cat-avatar-generator"] @ [#:package -cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] -Returns an nginx-server-configuration that inherits @code{configuration}. -It extends the nginx configuration to add a server block that serves -@code{package}, a version of cat-avatar-generator. During execution, -cat-avatar-generator will be able to use @code{cache-dir} as its cache -directory. + [#:cache-dir "/var/cache/cat-avatar-generator"] @ +[#:package cat-avatar-generator] @ +[#:configuration (nginx-server-configuration)] +Renvoie un nginx-server-configuration qui hérite de @code{configuration}. +Il étend la configuration nginx pour ajouter un bloc de serveur qui sert +@code{package}, une version de cat-avatar-generator. Pendant l'exécution, +cat-avatar-generator pourra utiliser @code{cache-dir} comme répertoire de +cache. @end deffn -A simple setup for cat-avatar-generator can look like this: +Une configuration simple de cat-avatar-generator ressemble à ceci : @example (services (cons* (cat-avatar-generator-service #:configuration @@ -16908,21 +18035,22 @@ A simple setup for cat-avatar-generator can look like this: @subsubheading Hpcguix-web @cindex hpcguix-web -The @uref{hpcguix-web, https://github.com/UMCUGenetics/hpcguix-web/} program -is a customizable web interface to browse Guix packages, initially designed -for users of high-performance computing (HPC) clusters. +Le programme @uref{hpcguix-web, +https://github.com/UMCUGenetics/hpcguix-web/} est une interface web +personnalisable pour naviguer dans les paquets Guix, initialement conçue +pour les utilisateurs des grappes de calcul de haute performance (HPC). @defvr {Variable Scheme} hpcguix-web-service-type -The service type for @code{hpcguix-web}. +Le type de service pour @code{hpcguix-web}. @end defvr @deftp {Type de données} hpcguix-web-configuration -Data type for the hpcguix-web service configuration. +Type de données pour la configuration du service hpcguix-web. @table @asis @item @code{specs} -A gexp (@pxref{G-Expressions}) specifying the hpcguix-web service -configuration. The main items available in this spec are: +Une gexp (@pxref{G-Expressions}) spécifiant la configuration du service +hpcguix-web. Les éléments principaux disponibles dans cette spec sont : @table @asis @item @code{title-prefix} (par défaut : @code{"hpcguix | "}) @@ -16935,22 +18063,30 @@ La commande @command{guix} Une procédure qui spécifie comment filtrer les paquets qui seront affichés. @item @code{package-page-extension-proc} (par défaut : @code{(const '())}) -Extension package for @code{hpcguix-web}. +Paquet d'extensions pour @code{hpcguix-web}. @item @code{menu} (par défaut : @code{'()}) -Additional entry in page @code{menu}. +Entrée supplémentaire dans la page @code{menu}. + +@item @code{channels} (par défaut : @code{%default-channels}) +Liste des canaux depuis lesquels la liste des paquets est construite +(@pxref{Canaux}). + +@item @code{package-list-expiration} (par défaut : @code{(* 12 3600)}) +Le temps d'expiration, en secondes, après lequel la liste des paquets est +reconstruite depuis les dernières instance des canaux donnés. @end table -See the hpcguix-web repository for a +Voir le dépôt hpcguix-web pour un @uref{https://github.com/UMCUGenetics/hpcguix-web/blob/master/hpcweb-configuration.scm, -complete example}. +exemple complet} @item @code{package} (par défaut : @code{hpcguix-web}) Le paquet hpcguix-web à utiliser. @end table @end deftp -A typical hpcguix-web service declaration looks like this: +Une déclaration de service hpcguix-web typique ressemble à cela : @example (service hpcguix-web-service-type @@ -16962,47 +18098,62 @@ A typical hpcguix-web service declaration looks like this: (menu '(("/about" "ABOUT")))))))) @end example +@quotation Remarque +Le service hpcguix-web met régulièrement à jour la liste des paquets qu'il +publie en récupérant les canaux depuis Git. Pour cela, il doit accéder aux +certificats X.509 pour qu'il puisse authentifier les serveurs Git quand il +communique en HTTPS, et il suppose que @file{/etc/ssl/certs} contient ces +certificats. + +Ainsi, assurez-vous d'ajouter @code{nss-certs} ou un autre paquet de +certificats dans le champ @code{packages} de votre configuration. +@ref{Certificats X.509} pour plus d'informations sur les certificats X.509. +@end quotation + @node Services de certificats @subsubsection Services de certificats @cindex Web @cindex HTTP, HTTPS @cindex Let's Encrypt -@cindex TLS certificates -The @code{(gnu services certbot)} module provides a service to automatically -obtain a valid TLS certificate from the Let's Encrypt certificate -authority. These certificates can then be used to serve content securely -over HTTPS or other TLS-based protocols, with the knowledge that the client -will be able to verify the server's authenticity. - -@url{https://letsencrypt.org/, Let's Encrypt} provides the @code{certbot} -tool to automate the certification process. This tool first securely -generates a key on the server. It then makes a request to the Let's Encrypt -certificate authority (CA) to sign the key. The CA checks that the request -originates from the host in question by using a challenge-response protocol, -requiring the server to provide its response over HTTP. If that protocol -completes successfully, the CA signs the key, resulting in a certificate. -That certificate is valid for a limited period of time, and therefore to -continue to provide TLS services, the server needs to periodically ask the -CA to renew its signature. +@cindex certificats TLS +Le module @code{(gnu services certbot)} fournit un service qui récupère +automatiquement un certificat TLS valide de l'autorité de certification +Let's Encrypt. Ces certificats peuvent ensuite être utilisés pour servir du +contenu de manière sécurisée sur HTTPS et d'autres protocoles basés sur TLS, +en sachant que le client sera capable de vérifier l'authenticité du serveur. + +@url{https://letsencrypt.org/, Let's Encrypt} fournit l'outil @code{certbot} +pour automatiser le processus de certification. Cet outil génère d'abord un +clef sur le serveur de manière sécurisée. Ensuite il demande à l'autorité +de certification Let's Encrypt de signer la clef. La CA vérifie que la +requête provient de l'hôte en question en utilisant un protocole de +défi-réponse, ce qui requiert que le serveur fournisse sa réponse par HTTP. +Si ce protocole se passe sans encombre, la CA signe la clef et on obtient un +certificat. Ce certificat est valide pour une durée limitée et donc, pour +continuer à fournir des services en TLS, le serveur doit régulièrement +demander à la CA de renouveler sa signature. The certbot service automates this process: the initial key generation, the initial certification request to the Let's Encrypt service, the web server challenge/response integration, writing the certificate to disk, the automated periodic renewals, and the deployment tasks associated with the -renewal (e.g. reloading services, copying keys with different permissions). +renewal (e.g.@: reloading services, copying keys with different +permissions). -Certbot is run twice a day, at a random minute within the hour. It won't do -anything until your certificates are due for renewal or revoked, but running -it regularly would give your service a chance of staying online in case a -Let's Encrypt-initiated revocation happened for some reason. +Certbot est lancé deux fois par jour, à une minute aléatoire dans l'heure. +Il ne fera rien sauf si vos certificats doivent être renouvelés ou sont +révoqués, mais le lancer régulièrement permettra à vos services de rester en +ligne si Let's Encrypt décide de révoquer votre certificat. -By using this service, you agree to the ACME Subscriber Agreement, which can -be found there: @url{https://acme-v01.api.letsencrypt.org/directory}. +En utilisant ce service, vous acceptez le document « ACME Subscriber +Agreement », qu'on peut trouver ici : +@url{https://acme-v01.api.letsencrypt.org/directory}. @defvr {Variable Scheme} certbot-service-type -A service type for the @code{certbot} Let's Encrypt client. Its value must -be a @code{certbot-configuration} record as in this example: +Un type de service pour le client Let's Encrypt @code{certbot}. Sa valeur +doit être un enregistrement @code{certbot-configuration} comme dans cet +exemple : @example (define %nginx-deploy-hook @@ -17023,99 +18174,102 @@ be a @code{certbot-configuration} record as in this example: (domains '("bar.example.net"))))))) @end example -See below for details about @code{certbot-configuration}. +Voir plus bas pour des détails sur @code{certbot-configuration}. @end defvr @deftp {Type de données} certbot-configuration -Data type representing the configuration of the @code{certbot} service. -This type has the following parameters: +Type données représentant la configuration du service @code{certbot}. Ce +type a les paramètres suivants : @table @asis @item @code{package} (par défaut : @code{certbot}) Le paquet certbot à utiliser. @item @code{webroot} (par défaut : @code{/var/www}) -The directory from which to serve the Let's Encrypt challenge/response -files. +Le répertoire depuis lequel servir les fichiers du défi/réponse de Let's +Encrypt. @item @code{certificates} (par défaut : @code{()}) -A list of @code{certificates-configuration}s for which to generate -certificates and request signatures. Each certificate has a @code{name} and -several @code{domains}. +Une liste de @code{certificates-configuration} pour lesquels générer des +certificats et demander des signatures. Chaque certificat a un @code{name} +et plusieurs @code{domains}. @item @code{email} -Mandatory email used for registration, recovery contact, and important -account notifications. +Courriel obligatoire utilisé pour la création de compte, le contact en cas +de problème et des notifications importantes sur le compte. @item @code{rsa-key-size} (par défaut : @code{2048}) -Size of the RSA key. +Taille de la clef RSA. -@item @code{default-location} (default: @i{see below}) -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{Services web}, for more on these nginx configuration data types. +@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 +@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. -Requests to other URL paths will be matched by the @code{default-location}, -which if present is added to all @code{nginx-server-configuration}s. +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}. -By default, the @code{default-location} will issue a redirect from -@code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving -you to define what to serve on your site via @code{https}. +Par défaut, le @code{default-location} sera une redirection de +@code{http://@var{domain}/…} vers @code{https://@var{domain}/…}, en vous +laissant définir ce que vous voulez servir sur votre site en @code{https}. -Pass @code{#f} to not issue a default location. +Passez @code{#f} pour ne pas utiliser de location par défaut. @end table @end deftp @deftp {Type de données} certificate-configuration -Data type representing the configuration of a certificate. This type has -the following parameters: +Type de données représentant la configuration d'un certificat. Ce type a +les paramètres suivants : @table @asis -@item @code{name} (default: @i{see below}) -This name is used by Certbot for housekeeping and in file paths; it doesn't -affect the content of the certificate itself. To see certificate names, run -@code{certbot certificates}. +@item @code{name} (par défaut : @i{voir plus bas}) +Ce nom est utilisé par Certbot pour ses tâches quotidiennes et dans les +chemins de fichiers ; il n'affecte pas le contenu des certificats +eux-mêmes. Pour voir les noms des certificats, lancez @code{certbot +certificates}. -Its default is the first provided domain. +Sa valeur par défaut est le premier domaine spécifié. @item @code{domains} (par défaut : @code{()}) -The first domain provided will be the subject CN of the certificate, and all -domains will be Subject Alternative Names on the certificate. +Le premier domaine spécifié sera le CN du sujet du certificat, et tous les +domaines seront les noms alternatifs du sujet dans le certificat. @item @code{deploy-hook} (par défaut : @code{#f}) -Command to be run in a shell once for each successfully issued certificate. -For this command, the shell variable @code{$RENEWED_LINEAGE} will point to -the config live subdirectory (for example, -@samp{"/etc/letsencrypt/live/example.com"}) containing the new certificates -and keys; the shell variable @code{$RENEWED_DOMAINS} will contain a -space-delimited list of renewed certificate domains (for example, -@samp{"example.com www.example.com"}. +Commande à lancer dans un shell une fois par certificat récupéré avec +succès. Pour cette commande, la variable @code{$RENEWED_LINEAGE} pointera +sur le sous-répertoire live (par exemple, +@samp{"/etc/letsencrypt/live/example.com"}) contenant le nouveau certificat +et la clef ; la variable @code{$RENEWED_DOMAINS} contiendra les noms de +domaines séparés par des espaces (par exemple @samp{"example.com +www.example.com"}). @end table @end deftp -For each @code{certificate-configuration}, the certificate is saved to -@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is saved -to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}. +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 @subsubsection Services DNS @cindex DNS (domain name system) @cindex domain name system (DNS) -The @code{(gnu services dns)} module provides services related to the -@dfn{domain name system} (DNS). It provides a server service for hosting an -@emph{authoritative} DNS server for multiple zones, slave or master. This -service uses @uref{https://www.knot-dns.cz/, Knot DNS}. And also a caching -and forwarding DNS server for the LAN, which uses -@uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq}. +Le module @code{(gnu services dns)} fournit des services liés au +@dfn{système de noms de domaines} (DNS). Il fournit un service de serveur +pour héberger un serveur DNS @emph{faisant autorité} pour plusieurs zones, +en esclave ou en maître. Ce service utilise @uref{https://www.knot-dns.cz/, +Knot DNS}. Il fournit aussi un service de cache et de renvoie DNS pour le +LAN, qui utilise @uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, +dnsmasq}. @subsubheading Service Knot -An example configuration of an authoritative server for two zones, one -master and one slave, is: +Voici un exemple de configuration pour un serveur faisant autorité sur deux +zone, un maître et un esclave : @lisp (define-zone-entries example.org.zone @@ -17153,359 +18307,387 @@ master and one slave, is: @end lisp @deffn {Variable Scheme} knot-service-type -This is the type for the Knot DNS server. - -Knot DNS is an authoritative DNS server, meaning that it can serve multiple -zones, that is to say domain names you would buy from a registrar. This -server is not a resolver, meaning that it can only resolve names for which -it is authoritative. This server can be configured to serve zones as a -master server or a slave server as a per-zone basis. Slave zones will get -their data from masters, and will serve it as an authoritative server. From -the point of view of a resolver, there is no difference between master and -slave. - -The following data types are used to configure the Knot DNS server: +C'est le type pour le serveur DNS Knot. + +Knot DNS est un serveur DNS faisant autorité, ce qui signifie qu'il peut +servir plusieurs zones, c'est-à-dire des noms de domaines que vous achetez à +un registrar. Ce serveur n'est pas un résolveur, ce qui signifie qu'il ne +peut pas résoudre les noms pour lesquels il ne fait pas autorité. Ce +serveur peut être configuré pour servir des zones comme un serveur maître ou +comme un serveur esclave, en fonction des zones. Les zones esclaves +récupèrent leurs données des maîtres, et seront servies comme faisant +autorité. Du point de vue d'un résolveur, il n'y a pas de différence entre +un maître et un esclave@footnote{NdT : Voir la conférence en Français de +Stéphane Bortzmeyer pour en apprendre plus sur le DNS : +@url{https://iletaitunefoisinternet.fr/dns-bortzmeyer/index.html}}. + +Les types de données suivants sont utilisés pour configurer le serveur DNS +Knot : @end deffn @deftp {Type de données} knot-key-configuration -Data type representing a key. This type has the following parameters: +Type de données représentant une clef. Ce type a les paramètres suivants : @table @asis @item @code{id} (par défaut : @code{""}) -An identifier for other configuration fields to refer to this key. IDs must -be unique and must not be empty. +Un identifiant pour d'autres champs de configuration qui se réfèrent à cette +clef. Les ID doivent être uniques et non vides. @item @code{algorithm} (par défaut : @code{#f}) -The algorithm to use. Choose between @code{#f}, @code{'hmac-md5}, +L'algorithme à utiliser. Choisissez entre @code{#f}, @code{'hmac-md5}, @code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, -@code{'hmac-sha384} and @code{'hmac-sha512}. +@code{'hmac-sha384} et @code{'hmac-sha512}. @item @code{secret} (par défaut : @code{""}) -The secret key itself. +La clef secrète elle-même. @end table @end deftp @deftp {Type de données} knot-acl-configuration -Data type representing an Access Control List (ACL) configuration. This -type has the following parameters: +Type de données représentant une configuration de liste de contrôle d'accès +(ACL). Ce type a les paramètres suivants : @table @asis @item @code{id} (par défaut : @code{""}) -An identifier for ether configuration fields to refer to this key. IDs must -be unique and must not be empty. +Un identifiant pour d'autres champs de configuration qui se réfèrent à cette +clef. Les ID doivent être uniques et non vides. @item @code{address} (par défaut : @code{'()}) -An ordered list of IP addresses, network subnets, or network ranges -represented with strings. The query must match one of them. Empty value -means that address match is not required. +Une liste ordonnée d'adresses IP, de sous-réseaux ou d'intervalles de +réseaux représentés par des chaînes de caractères. La requête doit +correspondre à l'une d'entre elles. La valeur vide signifie que l'adresse +n'a pas besoin de correspondre. @item @code{key} (par défaut : @code{'()}) -An ordered list of references to keys represented with strings. The string -must match a key ID defined in a @code{knot-key-configuration}. No key -means that a key is not require to match that ACL. +Une liste ordonnées de références à des clefs représentés par des chaînes. +La chaîne doit correspondre à un ID définie dans un +@code{knot-key-configuration}. Aucune clef signifie qu'une clef n'est pas +nécessaire pour correspondre à l'ACL. @item @code{action} (par défaut : @code{'()}) -An ordered list of actions that are permitted or forbidden by this ACL. -Possible values are lists of zero or more elements from @code{'transfer}, -@code{'notify} and @code{'update}. +Une liste ordonnée d'actions permises ou interdites par cet ACL. Les +valeurs possibles sont une liste de zéro ou plus d'éléments entre +@code{'transfer}, @code{'notify} et @code{'update}. @item @code{deny?} (par défaut : @code{#f}) -When true, the ACL defines restrictions. Listed actions are forbidden. -When false, listed actions are allowed. +Lorsque la valeur est vraie, l'ACL définie des restrictions. Les actions +listées sont interdites. Lorsque la valeur est fausse, les actions listées +sont autorisées. @end table @end deftp @deftp {Type de données} zone-entry -Data type represnting a record entry in a zone file. This type has the -following parameters: +Type de données représentant une entrée dans un fichier de zone. Ce type a +les paramètres suivants : @table @asis @item @code{name} (par défaut : @code{"@@"}) -The name of the record. @code{"@@"} refers to the origin of the zone. -Names are relative to the origin of the zone. For example, in the -@code{example.org} zone, @code{"ns.example.org"} actually refers to -@code{ns.example.org.example.org}. Names ending with a dot are absolute, -which means that @code{"ns.example.org."} refers to @code{ns.example.org}. +Le nom de l'enregistrement. @code{"@@"} se réfère à l'origine de la zone. +Les noms sont relatifs à l'origine de la zone. Par exemple, dans la zone +@code{example.org}, @code{"ns.example.org"} se réfère en fait à +@code{ns.example.org.example.org}. Les noms qui finissent par un point sont +absolus, ce qui signifie que @code{"ns.example.org."} se réfère bien à +@code{ns.example.org}. @item @code{ttl} (par défaut : @code{""}) -The Time-To-Live (TTL) of this record. If not set, the default TTL is used. +La durée de vie (TTL) de cet enregistrement. S'il n'est pas indiqué, le TTL +par défaut est utilisé. @item @code{class} (par défaut : @code{"IN"}) -The class of the record. Knot currently supports only @code{"IN"} and -partially @code{"CH"}. +La classe de l'enregistrement. Knot ne supporte actuellement que +@code{"IN"} et partiellement @code{"CH"}. @item @code{type} (par défaut : @code{"A"}) -The type of the record. Common types include A (IPv4 address), AAAA (IPv6 -address), NS (Name Server) and MX (Mail eXchange). Many other types are -defined. +Le type d'enregistrement. Les types usuels sont A (une adresse IPv4), NS +(serveur de nom) et MX (serveur de courriel). Bien d'autres types sont +définis. @item @code{data} (par défaut : @code{""}) -The data contained in the record. For instance an IP address associated -with an A record, or a domain name associated with an NS record. Remember -that domain names are relative to the origin unless they end with a dot. +Les données contenues dans l'enregistrement. Par exemple une adresse IP +associée à un enregistrement A, ou un nom de domaine associé à un +enregistrement NS. Rappelez-vous que les noms de domaines sont relatifs à +l'origine à moins qu'ils ne finissent par un point. @end table @end deftp @deftp {Type de données} zone-file -Data type representing the content of a zone file. This type has the -following parameters: +Type données représentant le contenu d'un fichier de zone. Ce type a les +paramètres suivants : @table @asis @item @code{entries} (par défaut : @code{'()}) -The list of entries. The SOA record is taken care of, so you don't need to -put it in the list of entries. This list should probably contain an entry -for your primary authoritative DNS server. Other than using a list of -entries directly, you can use @code{define-zone-entries} to define a object -containing the list of entries more easily, that you can later pass to the -@code{entries} field of the @code{zone-file}. +La liste des entrées. On s'occupe de l'enregistrement SOA, donc vous n'avez +pas besoin de l'ajouter dans la liste des entrées. Cette liste devrait +contenir une entrée pour votre serveur DNS primaire faisant autorité. En +plus d'utiliser une liste des entrées directement, vous pouvez utiliser +@code{define-zone-entries} pour définir un objet contenant la liste des +entrées plus facilement, que vous pouvez ensuite passer au champ +@code{entries} de @code{zone-file}. @item @code{origin} (par défaut : @code{""}) -The name of your zone. This parameter cannot be empty. +Le nom de votre zone. Ce paramètre ne peut pas être vide. @item @code{ns} (par défaut : @code{"ns"}) -The domain of your primary authoritative DNS server. The name is relative -to the origin, unless it ends with a dot. It is mandatory that this primary -DNS server corresponds to an NS record in the zone and that it is associated -to an IP address in the list of entries. +Le domaine de votre serveur DNS primaire faisant autorité. Le nom est +relatif à l'origine, à moins qu'il finisse par un point. Il est nécessaire +que ce serveur DNS primaire corresponde à un enregistrement NS dans la zone +et qu'il soit associé à une adresse IP dans la liste des entrées. @item @code{mail} (par défaut : @code{"hostmaster"}) -An email address people can contact you at, as the owner of the zone. This -is translated as @code{@@}. +Une adresse de courriel pour vous contacter en tant que propriétaire de la +zone. Cela se transforme en @code{@@}. @item @code{serial} (par défaut : @code{1}) -The serial number of the zone. As this is used to keep track of changes by -both slaves and resolvers, it is mandatory that it @emph{never} decreases. -Always increment it when you make a change in your zone. +Le numéro de série de la zone. Comme c'est utilisé pour vérifier les +changements à la fois par les esclaves et par les résolveurs, il est +nécessaire qu'il ne décroisse @emph{jamais}. Incrémentez-le toujours quand +vous faites un changement sur votre zone. @item @code{refresh} (par défaut : @code{(* 2 24 3600)}) -The frequency at which slaves will do a zone transfer. This value is a -number of seconds. It can be computed by multiplications or with -@code{(string->duration)}. +La fréquence à laquelle les esclaves demanderont un transfert de zone. +Cette valeur est un nombre de secondes. On peut le calculer avec des +multiplications ou avec @code{(string->duration)}. @item @code{retry} (par défaut : @code{(* 15 60)}) -The period after which a slave will retry to contact its master when it -fails to do so a first time. +La période après laquelle un esclave essaiera de contacter son maître +lorsqu'il échoue à le faire la première fois. @item @code{expiry} (par défaut : @code{(* 14 24 3600)}) -Default TTL of records. Existing records are considered correct for at most -this amount of time. After this period, resolvers will invalidate their -cache and check again that it still exists. +TTL par défaut des enregistrements. Les enregistrements existants sont +considérés corrects pour au moins cette durée. Après cette période, les +résolveurs invalideront leur cache et vérifieront de nouveau qu'ils existent +toujours. @item @code{nx} (par défaut : @code{3600}) -Default TTL of inexistant records. This delay is usually short because you -want your new domains to reach everyone quickly. +TTL par défaut des enregistrement inexistants. Ce TTL est habituellement +court parce que vous voulez que vous nouveaux domaines soient disponibles +pour tout le monde le plus rapidement possible. @end table @end deftp @deftp {Type de données} knot-remote-configuration -Data type representing a remote configuration. This type has the following -parameters: +Type de données représentant une configuration de serveurs distants. Ce +type a les paramètres suivants : @table @asis @item @code{id} (par défaut : @code{""}) -An identifier for other configuration fields to refer to this remote. IDs -must be unique and must not be empty. +Un identifiant pour que les autres champs de configuration se réfèrent à ce +serveur distant. les ID doivent être uniques et non vides. @item @code{address} (par défaut : @code{'()}) -An ordered list of destination IP addresses. Addresses are tried in -sequence. An optional port can be given with the @@ separator. For -instance: @code{(list "1.2.3.4" "2.3.4.5@@53")}. Default port is 53. +Une liste ordonnée d'adresses IP de destination. Ces adresses sont essayées +en séquence. Un port facultatif peut être donné avec le séparateur @@. Par +exemple @code{(list "1.2.3.4" "2.3.4.5@@53")}. Le port par défaut est le +53. @item @code{via} (par défaut : @code{'()}) -An ordered list of source IP addresses. An empty list will have Knot choose -an appropriate source IP. An optional port can be given with the @@ -separator. The default is to choose at random. +Une liste ordonnée d'adresses IP sources. Une liste vide fera choisir une +IP source appropriée à Knot. Un port facultatif peut être donné avec le +séparateur @@. La valeur par défaut est de choisir aléatoirement. @item @code{key} (par défaut : @code{#f}) -A reference to a key, that is a string containing the identifier of a key -defined in a @code{knot-key-configuration} field. +Une référence à une clef, c'est-à-dire une chaîne contenant l'identifiant +d'une clef définie dans un champ @code{knot-key-configuration}. @end table @end deftp @deftp {Type de données} knot-keystore-configuration -Data type representing a keystore to hold dnssec keys. This type has the -following parameters: +Type de données représentant une base de clefs pour garder les clefs +dnssec. Ce type a les paramètres suivants : @table @asis @item @code{id} (par défaut : @code{""}) -The id of the keystore. It must not be empty. +L'id de cette base de clefs. Il ne doit pas être vide. @item @code{backend} (par défaut : @code{'pem}) -The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}. +Le moteur de stockage des clefs. Cela peut être @code{'pem} ou +@code{'pkcs11}. @item @code{config} (par défaut : @code{"/var/lib/knot/keys/keys"}) -The configuration string of the backend. An example for the PKCS#11 is: +La chaîne de configuration pour le moteur. Voici un exemple pour PKCS#11 : @code{"pkcs11:token=knot;pin-value=1234 -/gnu/store/.../lib/pkcs11/libsofthsm2.so"}. For the pem backend, the string -reprensents a path in the file system. +/gnu/store/.../lib/pkcs11/libsofthsm2.so"}. Pour le moteur pem, la chaîne +représente un chemin dans le système de fichiers. @end table @end deftp @deftp {Type de données} knot-policy-configuration -Data type representing a dnssec policy. Knot DNS is able to automatically -sign your zones. It can either generate and manage your keys automatically -or use keys that you generate. - -Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that -is used to sign the second, and a Zone Signing Key (ZSK) that is used to -sign the zone. In order to be trusted, the KSK needs to be present in the -parent zone (usually a top-level domain). If your registrar supports -dnssec, you will have to send them your KSK's hash so they can add a DS -record in their zone. This is not automated and need to be done each time -you change your KSK. - -The policy also defines the lifetime of keys. Usually, ZSK can be changed -easily and use weaker cryptographic functions (they use lower parameters) in -order to sign records quickly, so they are changed often. The KSK however -requires manual interaction with the registrar, so they are changed less -often and use stronger parameters because they sign only one record. - -This type has the following parameters: +Type de données représentant une politique dnssec. Knot DNS est capable de +signer automatiquement vos zones. Il peut soit générer et gérer vos clefs +automatiquement ou utiliser des clefs que vous générez. + +Dnssec est habituellement implémenté avec deux clefs : une KSK (key signing +key) qui est utilisé pour signer une seconde, la ZSK (zone signing key) qui +est utilisée pour signer la zone. Pour pouvoir être de confiance, la KSK +doit être présente dans la zone parente (normalement un domaine de haut +niveau). Si votre registrar supporte dnssec, vous devrez leur envoyer le +hash de votre KSK pour qu'il puisse ajouter un enregistrement DS dans la +zone parente. Ce n'est pas automatique et vous devrez le faire à chaque +fois que vous changerez votre KSK. + +La politique définie aussi la durée de vie des clefs. Habituellement, la +ZSK peut être changée facilement et utilise des fonctions cryptographiques +plus faibles (avec un paramètre plus faible) pour signer les enregistrements +rapidement, donc elles sont changées très régulièrement. La KSK en revanche +requiert une interaction manuelle avec le registrar, donc elle change moins +souvent et utilise des paramètres plus robustes puisqu'elle ne signe qu'un +seul enregistrement. + +Ce type a les paramètres suivants : @table @asis @item @code{id} (par défaut : @code{""}) -The id of the policy. It must not be empty. +L'id de la politique. Il ne doit pas être vide. @item @code{keystore} (par défaut : @code{"default"}) -A reference to a keystore, that is a string containing the identifier of a -keystore defined in a @code{knot-keystore-configuration} field. The -@code{"default"} identifier means the default keystore (a kasp database that -was setup by this service). +Une référence à une base de clefs, c'est-à-dire une chaîne contenant +l'identifiant d'une base de clefs définie dans un champ +@code{knot-keystore-configuration}. L'identifiant @code{"default"} signifie +la base par défaut (une base de données kasp initialisée par ce service). @item @code{manual?} (par défaut : @code{#f}) -Whether the key management is manual or automatic. +Indique si la clef est gérée manuellement ou automatiquement. @item @code{single-type-signing?} (par défaut : @code{#f}) -When @code{#t}, use the Single-Type Signing Scheme. +Lorsque la valeur est @code{#t}, utilise le schéma de signature Single-Type @item @code{algorithm} (par défaut : @code{"ecdsap256sha256"}) -An algorithm of signing keys and issued signatures. +Un algorithme de clef de signature et de signatures. @item @code{ksk-size} (par défaut : @code{256}) -The length of the KSK. Note that this value is correct for the default -algorithm, but would be unsecure for other algorithms. +La longueur de la KSK. Remarquez que cette valeur est correcte pour +l'algorithme par défaut, mais ne serait pas sécurisée pour d'autres +algorithmes. @item @code{zsk-size} (par défaut : @code{256}) -The length of the ZSK. Note that this value is correct for the default -algorithm, but would be unsecure for other algorithms. +La longueur de la ZSK. Remarquez que cette valeur est correcte pour +l'algorithme par défaut, mais ne serait pas sécurisée pour d'autres +algorithmes. @item @code{dnskey-ttl} (par défaut : @code{'default}) -The TTL value for DNSKEY records added into zone apex. The special -@code{'default} value means same as the zone SOA TTL. +La valeur du TTL pour les enregistrements DNSKEY ajoutés au sommet de la +zone. La valeur spéciale @code{'default} signifie la même valeur que le TTL +du SOA de la zone. @item @code{zsk-lifetime} (par défaut : @code{(* 30 24 3600)}) -The period between ZSK publication and the next rollover initiation. +La période entre la publication d'une ZSK et l'initialisation d'un nouveau +changement. @item @code{propagation-delay} (par défaut : @code{(* 24 3600)}) -An extra delay added for each key rollover step. This value should be high -enough to cover propagation of data from the master server to all slaves. +Un délai supplémentaire pour chaque étape du changement. Cette valeur +devrait être assez grande pour couvrir le temps de propagation des données +entre le serveur primaire et tous les secondaires. @item @code{rrsig-lifetime} (par défaut : @code{(* 14 24 3600)}) -A validity period of newly issued signatures. +Une période de validité des nouvelles signatures. @item @code{rrsig-refresh} (par défaut : @code{(* 7 24 3600)}) -A period how long before a signature expiration the signature will be -refreshed. +Une période qui indique combien de temps avant l'expiration d'une signature +elle sera rafraîchie. @item @code{nsec3?} (par défaut : @code{#f}) -When @code{#t}, NSEC3 will be used instead of NSEC. +Lorsque la valeur est @code{#t}, on utilisera NSEC3 au lien de NSEC. @item @code{nsec3-iterations} (par défaut : @code{5}) -The number of additional times the hashing is performed. +Le nombre de fois supplémentaires que le hash est effectué. @item @code{nsec3-salt-length} (par défaut : @code{8}) -The length of a salt field in octets, which is appended to the original -owner name before hashing. +La longueur du champ de sel en octets, ajouté au nom du propriétaire avant +de hasher. @item @code{nsec3-salt-lifetime} (par défaut : @code{(* 30 24 3600)}) -The validity period of newly issued salt field. +La période de validité des nouveaux champs sel. @end table @end deftp @deftp {Type de données} knot-zone-configuration -Data type representing a zone served by Knot. This type has the following -parameters: +Type de données représentant la zone servie par Knot. ce type a les +paramètres suivants : @table @asis @item @code{domain} (par défaut : @code{""}) -The domain served by this configuration. It must not be empty. +Le domaine servi par cette configuration. Il ne doit pas être vide. @item @code{file} (par défaut : @code{""}) -The file where this zone is saved. This parameter is ignored by master -zones. Empty means default location that depends on the domain name. +Le fichier où la zone est sauvegardée. Ce paramètre est ignoré pour les +zones maîtres. La valeur vide signifie l'emplacement par défaut qui dépend +du nom de domaine. @item @code{zone} (par défaut : @code{(zone-file)}) -The content of the zone file. This parameter is ignored by slave zones. It -must contain a zone-file record. +Le contenu du fichier de zone. Ce paramètre est ignoré par les zones +esclaves. Il doit contenir un enregistrement zone-file. @item @code{master} (par défaut : @code{'()}) -A list of master remotes. When empty, this zone is a master. When set, -this zone is a slave. This is a list of remotes identifiers. +Une liste des serveurs distants maîtres. Lorsque la liste est vide, cette +zone est un maître. Lorsque la valeur est indiquée, cette zone est un +esclave. C'est al liste des identifiants des serveurs distants. @item @code{ddns-master} (par défaut : @code{#f}) -The main master. When empty, it defaults to the first master in the list of -masters. +Le maître principal. Lorsque la valeur est vide, la valeur par défaut est +le premier maître de la liste des maîtres. @item @code{notify} (par défaut : @code{'()}) -A list of slave remote identifiers. +Une liste d'identifiants de groupe de serveurs esclaves. @item @code{acl} (par défaut : @code{'()}) -A list of acl identifiers. +Une liste d'identifiants d'ACL. @item @code{semantic-checks?} (par défaut : @code{#f}) -When set, this adds more semantic checks to the zone. +Lorsque la valeur est indiquée, cela ajoute plus de vérifications +sémantiques à la zone. @item @code{disable-any?} (par défaut : @code{#f}) -When set, this forbids queries of the ANY type. +Lorsque la valeur est vraie, cela interdit les requêtes de type ANY. @item @code{zonefile-sync} (par défaut : @code{0}) -The delay between a modification in memory and on disk. 0 means immediate -synchronization. +Le délai entre une modification en mémoire et sur le disque. 0 signifie une +synchronisation immédiate. @item @code{serial-policy} (par défaut : @code{'increment}) -A policy between @code{'increment} and @code{'unixtime}. +Une politique entre @code{'increment} et @code{'unixtime}. @end table @end deftp @deftp {Type de données} knot-configuration -Data type representing the Knot configuration. This type has the following -parameters: +Type de donées représentant la configuration de Knot. Ce type a les +paramètres suivants : @table @asis @item @code{knot} (par défaut : @code{knot}) -The Knot package. +Le paquet Knot. @item @code{run-directory} (par défaut : @code{"/var/run/knot"}) -The run directory. This directory will be used for pid file and sockets. +Le répertoire de travail. Ce répertoire sera utilisé pour le fichier pid et +les sockets. @item @code{listen-v4} (par défaut : @code{"0.0.0.0"}) -An ip address on which to listen. +Une adresse IP sur laquelle écouter. @item @code{listen-v6} (par défaut : @code{"::"}) -An ip address on which to listen. +Une adresse IP sur laquelle écouter. @item @code{listen-port} (par défaut : @code{53}) -A port on which to listen. +Un port sur lequel écouter. @item @code{keys} (par défaut : @code{'()}) -The list of knot-key-configuration used by this configuration. +La liste des knot-key-configuration utilisés par cette configuration. @item @code{acls} (par défaut : @code{'()}) -The list of knot-acl-configuration used by this configuration. +La liste des knot-acl-configuration utilisés par cette configuration. @item @code{remotes} (par défaut : @code{'()}) -The list of knot-remote-configuration used by this configuration. +La liste des knot-remote-configuration utilisés par cette configuration. @item @code{zones} (par défaut : @code{'()}) -The list of knot-zone-configuration used by this configuration. +La liste des knot-zone-configuration utilisés par cette configuration. @end table @end deftp @@ -17513,8 +18695,8 @@ The list of knot-zone-configuration used by this configuration. @subsubheading Services Dnsmasq @deffn {Variable Scheme} dnsmasq-service-type -This is the type of the dnsmasq service, whose value should be an -@code{dnsmasq-configuration} object as in this example: +C'est le type du service dnsmasq, dont la valeur devrait être un objet +@code{dnsmasq-configuration} comme dans cet exemple : @example (service dnsmasq-service-type @@ -17529,64 +18711,176 @@ Type de données qui représente la configuration de dnsmasq. @table @asis @item @code{package} (par défaut : @var{dnsmasq}) -Package object of the dnsmasq server. +L'objet de paquet du serveur dnsmasq. @item @code{no-hosts?} (par défaut : @code{#f}) -When true, don't read the hostnames in /etc/hosts. +Lorsque la valeur est vraie, ne pas lire les noms d'hôte dans /etc/hosts. @item @code{port} (par défaut : @code{53}) -The port to listen on. Setting this to zero completely disables DNS -funtion, leaving only DHCP and/or TFTP. +Le port sur lequel écouter. Le mettre à zéro désactive complètement les +réponses DNS, ce qui ne laisse que les fonctions DHCP et TFTP. @item @code{local-service?} (par défaut : @code{#t}) -Accept DNS queries only from hosts whose address is on a local subnet, ie a -subnet for which an interface exists on the server. +Accepte les requêtes DNS seulement des hôtes dont les adresses sont sur le +sous-réseau local, c.-à-d.@: sur un sous-réseau pour lequel une interface +existe sur le serveur. @item @code{listen-addresses} (par défaut : @code{'()}) -Listen on the given IP addresses. +Écoute sur le adresses IP données. @item @code{resolv-file} (par défaut : @code{"/etc/resolv.conf"}) -The file to read the IP address of the upstream nameservers from. +Le fichier où lire l'adresse IP des serveurs de noms en amont. @item @code{no-resolv?} (par défaut : @code{#f}) -When true, don't read @var{resolv-file}. +Lorsque la valeur est vraie, ne pas lire @var{resolv-file}. @item @code{servers} (par défaut : @code{'()}) -Specify IP address of upstream servers directly. +Spécifiez l'adresse IP des serveurs en amont directement. @item @code{cache-size} (par défaut : @code{150}) -Set the size of dnsmasq's cache. Setting the cache size to zero disables -caching. +Indique la taille du cache de dnsmasq. Indiquer 0 désactive le cache. @item @code{negative-cache?} (par défaut : @code{#t}) -When false, disable negative caching. +Lorsque la valeur est fausse, désactive le cache des réponses négatives. @end table @end deftp +@subsubheading Service ddclient + +@cindex ddclient +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}. + +L'exemple suivant montre comment instantier le service avec sa configuration +par défaut : + +@example +(service ddclient-service-type) +@end example + +Remarquez que ddclient a besoin d'accéder à des identifiants stockés dans un +@dfn{fichier de secrets}, par défaut @file{/etc/ddclient/secrets} (voir +@code{secret-file} plus bas). On s'attend à ce que vous créiez ce fichier +manuellement, de manière externe à guix (vous @emph{pourriez} ajouter ce +fichier dans une partie de votre configuration, par exemple avec +@code{plain-file}, mais il serait lisible pour tout le monde via +@file{/gnu/store}). Vois les exemples dans le répertoire +@file{share/ddclient} du paquet @code{ddclient}. + +@c %start of fragment + +Les champs de @code{ddclient-configuration} disponibles sont : + +@deftypevr {paramètre de @code{ddclient-configuration}} package ddclient +Le paquet ddclient. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} integer daemon +La période après laquelle ddclient réessaiera de vérifier l'IP et le nom de +domaine. + +La valeur par défaut est @samp{300}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} boolean syslog +Utiliser syslog pour la sortie. + +La valeur par défaut est @samp{#t}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} string mail +Courriel de l'utilisateur. + +La valeur par défaut est @samp{"root"}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} string mail-failure +Courriel de l'utilisateur pour les échecs. + +La valeur par défaut est @samp{"root"}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} string pid +Le fichier de PID de ddclient. + +La valeur par défaut est @samp{"/var/run/ddclient/ddclient.pid"}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} boolean ssl +Activer le support de SSL. + +La valeur par défaut est @samp{#t}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} string user +Spécifie le nm d'utilisateur ou l'ID qui est utilisé pour lancer le +programme ddclient. + +La valeur par défaut est @samp{"ddclient"}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} string group +Groupe de l'utilisateur qui lancera le programme ddclient. + +La valeur par défaut est @samp{"ddclient"}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} string secret-file +Fichier de secrets qui sera ajouté au fichier @file{ddclient.conf}. Ce +fichier contient les paramètres d'authentification utilisés par ddclient. +On s'attend à ce que vous le créiez manuellement. + +La valeur par défaut est @samp{"/etc/ddclient/secrets.conf"}. + +@end deftypevr + +@deftypevr {paramètre de @code{ddclient-configuration}} list extra-options +Options supplémentaires qui seront ajoutées au fichier @file{ddclient.conf}. + +La valeur par défaut est @samp{()}. + +@end deftypevr + + +@c %end of fragment + + @node Services VPN @subsubsection Services VPN -@cindex VPN (virtual private network) -@cindex virtual private network (VPN) +@cindex VPN (réseau privé virtuel) +@cindex réseau privé virtuel (VPN) -The @code{(gnu services vpn)} module provides services related to -@dfn{virtual private networks} (VPNs). It provides a @emph{client} service -for your machine to connect to a VPN, and a @emph{servire} service for your -machine to host a VPN. Both services use @uref{https://openvpn.net/, -OpenVPN}. +Le module @code{(gnu services vpn)} fournit des services liés aux +@dfn{réseaux privés virtuels} (VPN). Il fournit un srevice @emph{client} +pour que votre machine se connecte à un VPN et un service @emph{serveur} +pour que votre machine héberge un VPN. Les deux services utilisent +@uref{https://openvpn.net/, OpenVPN}. @deffn {Procédure Scheme} openvpn-client-service @ [#:config (openvpn-client-configuration)] -Return a service that runs @command{openvpn}, a VPN daemon, as a client. +Renvoie un service qui lance @command{openvpn}, un démon VPN, en tant que +client. @end deffn @deffn {Procédure Scheme} openvpn-server-service @ [#:config (openvpn-server-configuration)] -Return a service that runs @command{openvpn}, a VPN daemon, as a server. +Renvoie un service qui lance @command{openvpn}, un démon VPN, en tant que +serveur. -Both can be run simultaneously. +Les deux services peuvent être lancés en même temps. @end deffn @c %automatically generated documentation @@ -17594,129 +18888,130 @@ Both can be run simultaneously. Les champs de @code{openvpn-client-configuration} disponibles sont : @deftypevr {paramètre de @code{openvpn-client-configuration}} package openvpn -The OpenVPN package. +Le paquet OpenVPN. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} string pid-file -The OpenVPN pid file. +Le fichier de PID d'OpenVPN. La valeur par défaut est @samp{"/var/run/openvpn/openvpn.pid"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} proto proto -The protocol (UDP or TCP) used to open a channel between clients and -servers. +Le protocole (UDP ou TCP) utilisé pour ouvrir un canal entre les clients et +les serveurs. La valeur par défaut est @samp{udp}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} dev dev -The device type used to represent the VPN connection. +Le périphérique utilisé pour représenter la connexion VPN. La valeur par défaut est @samp{tun}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} string ca -The certificate authority to check connections against. +L'autorité de certification qui sert à vérifier les connexions. La valeur par défaut est @samp{"/etc/openvpn/ca.crt"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} string cert -The certificate of the machine the daemon is running on. It should be -signed by the authority given in @code{ca}. +Le certificat de la machine sur laquelle tourne le démon. Il devrait être +signé par l'autorité indiquée dans @code{ca}. La valeur par défaut est @samp{"/etc/openvpn/client.crt"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} string key -The key of the machine the daemon is running on. It must be the key whose -certificate is @code{cert}. +La clef de la machine sur laquelle tourne le démon. Elle doit être la clef +dont le certificat est donné dans @code{cert}. La valeur par défaut est @samp{"/etc/openvpn/client.key"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} boolean comp-lzo? -Whether to use the lzo compression algorithm. +Indique s'il faut utiliser l'algorithme de compression lzo. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} boolean persist-key? -Don't re-read key files across SIGUSR1 or --ping-restart. +Ne pas relire les fichiers de clefs entre les SIGUSR1 et les --ping-restart. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} boolean persist-tun? -Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 -or --ping-restart restarts. +Ne pas fermer et rouvrir les périphériques TUN/TAP ou lancer de scripts de +démarrage/d'arrêt entre les SIGUSR1 et les --ping-restart. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} number verbosity -Verbosity level. +Niveau de verbosité. La valeur par défaut est @samp{3}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} tls-auth-client tls-auth -Add an additional layer of HMAC authentication on top of the TLS control -channel to protect against DoS attacks. +Ajoute une couche d'authentification HMAC supplémentaire au dessus du canal +de contrôle TLS pour se protéger contre les attaques DoS. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} key-usage verify-key-usage? -Whether to check the server certificate has server usage extension. +Indique s'il faut vérifier que le certificat du serveur a l'extension +d'utilisation. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} bind bind? -Bind to a specific local port number. +Se lier à un port spécifique. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} resolv-retry resolv-retry? -Retry resolving server address. +Réessayer de résoudre l'adresse du serveur. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-client-configuration}} openvpn-remote-list remote -A list of remote servers to connect to. +Une liste de serveurs distants sur lesquels se connecter. La valeur par défaut est @samp{()}. Les champs de @code{openvpn-remote-configuration} disponibles sont : @deftypevr {paramètre de @code{openvpn-remote-configuration}} string name -Server name. +Nom du serveur. La valeur par défaut est @samp{"my-server"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-remote-configuration}} number port -Port number the server listens to. +Numéro de port sur lequel écoute le serveur. La valeur par défaut est @samp{1194}. @@ -17730,187 +19025,191 @@ La valeur par défaut est @samp{1194}. Les champs de @code{openvpn-server-configuration} disponibles sont : @deftypevr {paramètre de @code{openvpn-server-configuration}} package openvpn -The OpenVPN package. +Le paquet OpenVPN. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} string pid-file -The OpenVPN pid file. +Le fichier de PID d'OpenVPN. La valeur par défaut est @samp{"/var/run/openvpn/openvpn.pid"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} proto proto -The protocol (UDP or TCP) used to open a channel between clients and -servers. +Le protocole (UDP ou TCP) utilisé pour ouvrir un canal entre les clients et +les serveurs. La valeur par défaut est @samp{udp}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} dev dev -The device type used to represent the VPN connection. +Le périphérique utilisé pour représenter la connexion VPN. La valeur par défaut est @samp{tun}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} string ca -The certificate authority to check connections against. +L'autorité de certification qui sert à vérifier les connexions. La valeur par défaut est @samp{"/etc/openvpn/ca.crt"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} string cert -The certificate of the machine the daemon is running on. It should be -signed by the authority given in @code{ca}. +Le certificat de la machine sur laquelle tourne le démon. Il devrait être +signé par l'autorité indiquée dans @code{ca}. La valeur par défaut est @samp{"/etc/openvpn/client.crt"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} string key -The key of the machine the daemon is running on. It must be the key whose -certificate is @code{cert}. +La clef de la machine sur laquelle tourne le démon. Elle doit être la clef +dont le certificat est donné dans @code{cert}. La valeur par défaut est @samp{"/etc/openvpn/client.key"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} boolean comp-lzo? -Whether to use the lzo compression algorithm. +Indique s'il faut utiliser l'algorithme de compression lzo. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} boolean persist-key? -Don't re-read key files across SIGUSR1 or --ping-restart. +Ne pas relire les fichiers de clefs entre les SIGUSR1 et les --ping-restart. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} boolean persist-tun? -Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 -or --ping-restart restarts. +Ne pas fermer et rouvrir les périphériques TUN/TAP ou lancer de scripts de +démarrage/d'arrêt entre les SIGUSR1 et les --ping-restart. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} number verbosity -Verbosity level. +Niveau de verbosité. La valeur par défaut est @samp{3}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} tls-auth-server tls-auth -Add an additional layer of HMAC authentication on top of the TLS control -channel to protect against DoS attacks. +Ajoute une couche d'authentification HMAC supplémentaire au dessus du canal +de contrôle TLS pour se protéger contre les attaques DoS. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} number port -Specifies the port number on which the server listens. +Spécifie le numéro de port sur lequel les serveurs écoutent. La valeur par défaut est @samp{1194}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} ip-mask server -An ip and mask specifying the subnet inside the virtual network. +Une ip et un masque de sous-réseau spécifiant le sous-réseau dans le réseau +virtuel. La valeur par défaut est @samp{"10.8.0.0 255.255.255.0"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} cidr6 server-ipv6 -A CIDR notation specifying the IPv6 subnet inside the virtual network. +Une notation CIDR pour spécifier le sous-réseau IPv6 dans le réseau virtuel. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} string dh -The Diffie-Hellman parameters file. +Le fichier de paramètres Diffie-Hellman. La valeur par défaut est @samp{"/etc/openvpn/dh2048.pem"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} string ifconfig-pool-persist -The file that records client IPs. +Le fichier qui enregistre les IP des clients. La valeur par défaut est @samp{"/etc/openvpn/ipp.txt"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} gateway redirect-gateway? -When true, the server will act as a gateway for its clients. +Lorsque la valeur est vraie, le serveur agira comme une passerelle pour ses +clients. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} boolean client-to-client? -When true, clients are allowed to talk to each other inside the VPN. +Lorsque la valeur est vraie, les clients sont autorisés à se parler entre +eux dans le VPN. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} keepalive keepalive -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. +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. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} number max-clients -The maximum number of clients. +Le nombre maximum de clients. La valeur par défaut est @samp{100}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} string status -The status file. This file shows a small report on current connection. It -is truncated and rewritten every minute. +Le fichier de statut. Ce fichier montre un court rapport sur les connexions +actuelles. Il est tronqué et réécrit toutes les minutes. La valeur par défaut est @samp{"/var/run/openvpn/status"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-server-configuration}} openvpn-ccd-list client-config-dir -The list of configuration for some clients. +La liste des configuration pour certains clients. La valeur par défaut est @samp{()}. Les champs de @code{openvpn-ccd-configuration} disponibles sont : @deftypevr {paramètre de @code{openvpn-ccd-configuration}} string name -Client name. +Nom du client. La valeur par défaut est @samp{"client"}. @end deftypevr @deftypevr {paramètre de @code{openvpn-ccd-configuration}} ip-mask iroute -Client own network +Le réseau du client. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{openvpn-ccd-configuration}} ip-mask ifconfig-push -Client VPN IP. +IP du client sur le VPN. La valeur par défaut est @samp{#f}. @@ -17926,110 +19225,114 @@ La valeur par défaut est @samp{#f}. @subsubsection Système de fichiers en réseau @cindex NFS -The @code{(gnu services nfs)} module provides the following services, which -are most commonly used in relation to mounting or exporting directory trees -as @dfn{network file systems} (NFS). +Le module @code{(gnu services nfs)} fournit les services suivants, qui sont +tous utilisés pour monter et exporter des arborescences de répertoires en +@dfn{network file systems} (NFS). -@subsubheading RPC Bind Service +@subsubheading Service RPC Bind @cindex rpcbind -The RPC Bind service provides a facility to map program numbers into -universal addresses. Many NFS related services use this facility. Hence it -is automatically started when a dependent service starts. +Le service RPC Bind fournit un dispositif pour faire correspondre les +numéros de programmes à des adresses universelles. De nombreux services +liés à NFS utilisent ce dispositif. Donc il est automatiquement démarré +lorsqu'un service qui en dépend est démarré. @defvr {Variable Scheme} rpcbind-service-type -A service type for the RPC portmapper daemon. +Un type de service pour le démon RPC portmapper. @end defvr @deftp {Type de données} rpcbind-configuration -Data type representing the configuration of the RPC Bind Service. This type -has the following parameters: +Type données représentant la configuration du service RPC Bind. Ce type a +les paramètres suivants : @table @asis @item @code{rpcbind} (par défaut : @code{rpcbind}) Le paquet rpcbind à utiliser. @item @code{warm-start?} (par défaut : @code{#t}) -If this parameter is @code{#t}, then the daemon will read a state file on -startup thus reloading state information saved by a previous instance. +Si ce paramètre est @code{#t}, alors le démon lira un fichier d'état au +démarrage ce qui lui fait recharger les informations d'états sauvegardés par +une instance précédente. @end table @end deftp -@subsubheading Pipefs Pseudo File System +@subsubheading Pseudo-système de fichiers Pipefs @cindex pipefs @cindex rpc_pipefs -The pipefs file system is used to transfer NFS related data between the -kernel and user space programs. +Le système de fichiers pipefs est utilisé pour transférer des données liées +à NFS entre le noyau et les programmes en espace utilisateur. @defvr {Variable Scheme} pipefs-service-type -A service type for the pipefs pseudo file system. +Un type de service pour le pseudo-système de fichiers pipefs. @end defvr @deftp {Type de données} pipefs-configuration -Data type representing the configuration of the pipefs pseudo file system -service. This type has the following parameters: +Type de données représentant la configuration du service du pseudo-système +de fichiers pipefs. Ce type a les paramètres suivants : @table @asis @item @code{mount-point} (par défaut : @code{"/var/lib/nfs/rpc_pipefs"}) -The directory to which the file system is to be attached. +Le répertoire dans lequel le système de fichiers est attaché. @end table @end deftp -@subsubheading GSS Daemon Service +@subsubheading Service de démon GSS @cindex GSSD @cindex GSS -@cindex global security system +@cindex système de sécurité global -The @dfn{global security system} (GSS) daemon provides strong security for -RPC based protocols. Before exchanging RPC requests an RPC client must -establish a security context. Typically this is done using the Kerberos -command @command{kinit} or automatically at login time using PAM services -(@pxref{Services Kerberos}). +Le démon du @dfn{système de sécurité global} (GSS) fournit une sécurité +forte pour les protocoles basés sur des RPC. Avant d'échanger des requêtes +RPC, un client RPC doit établir un contexte sécurisé. Typiquement cela se +fait avec la commande Kerberos @command{kinit} ou automatiquement à la +connexion avec les services PAM (@pxref{Services Kerberos}). @defvr {Variable Scheme} gss-service-type -A service type for the Global Security System (GSS) daemon. +Un type de service pour le démon du système de sécurité global (GSS). @end defvr @deftp {Type de données} gss-configuration -Data type representing the configuration of the GSS daemon service. This -type has the following parameters: +Type de données représentant la configuration du service du démon GSS. Ce +type a les paramètres suivants : @table @asis @item @code{nfs-utils} (par défaut : @code{nfs-utils}) -The package in which the @command{rpc.gssd} command is to be found. +Le paquet dans lequel la commande @command{rpc.gssd} se trouve. @item @code{pipefs-directory} (par défaut : @code{"/var/lib/nfs/rpc_pipefs"}) -The directory where the pipefs file system is mounted. +Le répertoire où le système de fichier pipefs doit être monté. @end table @end deftp -@subsubheading IDMAP Daemon Service +@subsubheading Service de démon IDMAP @cindex idmapd -@cindex name mapper +@cindex correspondance de nom -The idmap daemon service provides mapping between user IDs and user names. -Typically it is required in order to access file systems mounted via NFSv4. +Le service du démon idmap fournit une correspondance entre les ID +utilisateur et les noms d'utilisateurs. Typiquement, cela est requis pour +accéder aux systèmes de fichiers montés via NFSv4. @defvr {Variable Scheme} idmap-service-type -A service type for the Identity Mapper (IDMAP) daemon. +Un type de service pour le démon de correspondance d'identité (IDMAP). @end defvr @deftp {Type de données} idmap-configuration -Data type representing the configuration of the IDMAP daemon service. This -type has the following parameters: +Type de données représentant la configuration du service du démon IDMAP. Ce +type a les paramètres suivants : @table @asis @item @code{nfs-utils} (par défaut : @code{nfs-utils}) -The package in which the @command{rpc.idmapd} command is to be found. +Le paquet dans lequel se trouve la commande @command{rpc.idmapd}. @item @code{pipefs-directory} (par défaut : @code{"/var/lib/nfs/rpc_pipefs"}) -The directory where the pipefs file system is mounted. +Le répertoire où le système de fichier pipefs doit être monté. @item @code{domain} (par défaut : @code{#f}) -The local NFSv4 domain name. This must be a string or @code{#f}. If it is -@code{#f} then the daemon will use the host's fully qualified domain name. +Le nom de domaine NFSv4 local. Il faut que ce soit une chaîne de caractères +ou @code{#f}. Si la valeur est @code{#f} le démon utilisera le nom de +domaine pleinement qualifié de l'hôte. @end table @end deftp @@ -18037,125 +19340,157 @@ The local NFSv4 domain name. This must be a string or @code{#f}. If it is @node Intégration continue @subsubsection Intégration continue -@cindex continuous integration -@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} is a -continuous integration tool for Guix. It can be used both for development -and for providing substitutes to others (@pxref{Substituts}). +@cindex intégration continue +@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} est +un outil d'intégration continue pour Guix. On peut l'utiliser aussi bien +pour le développement que pour fournir des substituts à d'autres +(@pxref{Substituts}). -The @code{(gnu services cuirass)} module provides the following service. +Le module @code{(gnu services cuirass)} fournit le service suivant. @defvr {Procédure Scheme} cuirass-service-type -The type of the Cuirass service. Its value must be a -@code{cuirass-configuration} object, as described below. +Le type du service Cuirass. Sa valeur doit être un objet +@code{cuirass-configuration}, décrit ci-dessous. @end defvr -To add build jobs, you have to set the @code{specifications} field of the -configuration. Here is an example of a service defining a build job based -on a specification that can be found in Cuirass source tree. This service -polls the Guix repository and builds a subset of the Guix packages, as -prescribed in the @file{gnu-system.scm} example spec: - -@example -(let ((spec #~((#:name . "guix") - (#:url . "git://git.savannah.gnu.org/guix.git") - (#:load-path . ".") - (#:file . "build-aux/cuirass/gnu-system.scm") - (#:proc . cuirass-jobs) - (#:arguments (subset . "hello")) - (#:branch . "master")))) - (service cuirass-service-type - (cuirass-configuration - (specifications #~(list '#$spec))))) -@end example - -While information related to build jobs is located directly in the -specifications, global settings for the @command{cuirass} process are -accessible in other @code{cuirass-configuration} fields. +Pour ajouter des travaux de construction, vous devez indiquer le champ +@code{specifications} de la configuration. Voici un exemple de service qui +récupère le dépôt Guix et construit les paquets depuis un manifeste. +Certains des paquets sont définis dans l'entrée @code{"custom-packages"}, +qui est l'équivalent de @code{GUIX_PACKAGE_PATH}. + +@example +(define %cuirass-specs + #~(list + '((#:name . "my-manifest") + (#:load-path-inputs . ("guix")) + (#:package-path-inputs . ("custom-packages")) + (#:proc-input . "guix") + (#:proc-file . "build-aux/cuirass/gnu-system.scm") + (#:proc . cuirass-jobs) + (#:proc-args . ((subset . "manifests") + (systems . ("x86_64-linux")) + (manifests . (("config" . "guix/manifest.scm"))))) + (#:inputs . (((#:name . "guix") + (#:url . "git://git.savannah.gnu.org/guix.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t)) + ((#:name . "config") + (#:url . "git://git.example.org/config.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t)) + ((#:name . "custom-packages") + (#:url . "git://git.example.org/custom-packages.git") + (#:load-path . ".") + (#:branch . "master") + (#:no-compile? . #t))))))) + +(service cuirass-service-type + (cuirass-configuration + (specifications %cuirass-specs))) +@end example + +Tandis que les informations liés aux travaux de construction sont +directement dans les spécifications, les paramètres globaux pour le +processus @command{cuirass} sont accessibles dans les autres champs de +@code{cuirass-configuration}. @deftp {Type de données} cuirass-configuration -Data type representing the configuration of Cuirass. +Type de données représentant la configuration de Cuirass. @table @asis @item @code{log-file} (par défaut : @code{"/var/log/cuirass.log"}) -Location of the log file. +Emplacement du fichier de journal. @item @code{cache-directory} (par défaut : @code{"/var/cache/cuirass"}) -Location of the repository cache. +Emplacement du cache du dépôt. @item @code{user} (par défaut : @code{"cuirass"}) -Owner of the @code{cuirass} process. +Propriétaire du processus @code{cuirass}. @item @code{group} (par défaut : @code{"cuirass"}) -Owner's group of the @code{cuirass} process. +Groupe du propriétaire du processus @code{cuirass}. @item @code{interval} (par défaut : @code{60}) -Number of seconds between the poll of the repositories followed by the -Cuirass jobs. +Nombre de secondes entre les mises à jour du dépôt suivis des travaux de +Cuirass. -@item @code{database} (par défaut : @code{"/var/run/cuirass/cuirass.db"}) -Location of sqlite database which contains the build results and previously -added specifications. +@item @code{database} (par défaut : @code{"/var/lib/cuirass/cuirass.db"}) +Emplacement de la base de données sqlite qui contient les résultats de +construction et les spécifications précédemment ajoutées. + +@item @code{ttl} (par défaut : @code{(* 30 24 3600)}) +Spécifie la durée de vie (TTL) en seconde des racines du ramasse-miette qui +sont enregistrés comme des résultats de construction. Cela signifie que les +résultats de construction ne seront pas glanés pendant au moins @var{ttl} +secondes. @item @code{port} (par défaut : @code{8081}) -Port number used by the HTTP server. +Numéro de port utilisé pour le serveur HTTP. @item --listen=@var{hôte} -Listen on the network interface for @var{host}. The default is to accept -connections from localhost. +Écoute sur l'interface réseau de @var{host}. La valeur par défaut est +d'accepter les connexions depuis localhost. @item @code{specifications} (par défaut : @code{#~'()}) -A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, -where a specification is an association list (@pxref{Associations Lists,,, -guile, GNU Guile Reference Manual}) whose keys are keywords -(@code{#:keyword-example}) as shown in the example above. +Une gexp (@pxref{G-Expressions}) qui s'évalue en une liste de +spécifications, où une spécification est une liste d'association +(@pxref{Associations Lists,,, guile, GNU Guile Reference Manual}) dont les +clefs sont des mots-clefs (@code{#:exemple-de-mot-clef}) comme dans +l'exemple plus haut. @item @code{use-substitutes?} (par défaut : @code{#f}) -This allows using substitutes to avoid building every dependencies of a job -from source. +Cela permet d'utiliser des substituts pour éviter de construire toutes les +dépendance d'un travail depuis les sources. @item @code{one-shot?} (par défaut : @code{#f}) -Only evaluate specifications and build derivations once. +N'évaluer les spécification et construire les dérivations qu'une seule fois. @item @code{fallback?} (par défaut : @code{#f}) -When substituting a pre-built binary fails, fall back to building packages -locally. +Lorsque la substitution d'un binaire pré-construit échoue, revenir à la +construction locale du paquet. @item @code{cuirass} (par défaut : @code{cuirass}) Le paquet Cuirass à utiliser. @end table @end deftp -@node Power Management Services -@subsubsection Power Management Services +@node Services de gestion de l'énergie +@subsubsection Services de gestion de l'énergie @cindex tlp -@cindex power management with TLP -@subsubheading TLP daemon +@cindex gestion de l'énergie avec TLP +@subsubheading démon TLP -The @code{(gnu services pm)} module provides a Guix service definition for -the Linux power management tool TLP. +Le module @code{(gnu services pm)} fournit une définition de service Guix +pour l'outil de gestion d'énergie Linux TLP. -TLP enables various powersaving modes in userspace and kernel. Contrary to -@code{upower-service}, it is not a passive, monitoring tool, as it will -apply custom settings each time a new power source is detected. More -information can be found at @uref{http://linrunner.de/en/tlp/tlp.html, TLP -home page}. +TLP active plusieurs modes un espace utilisateur et dans le noyau. +Contrairement à @code{upower-service}, ce n'est pas un outil passif de +surveillance, puisqu'il applique des paramètres personnalisés à chaque fois +qu'il détecte une nouvelle source d'énergie. Vous pouvez trouver plus +d'informations sur @uref{http://linrunner.de/en/tlp/tlp.html, la page +d'accueil de TLP}. @deffn {Variable Scheme} tlp-service-type -The service type for the TLP tool. Its value should be a valid TLP -configuration (see below). To use the default settings, simply write: +Le type de service pour l'outil TLP. Sa valeur devrait être une +configuration valide de TLP (voir plus bas). Pour utiliser les paramètres +par défaut, écrivez simplement : @example (service tlp-service-type) @end example @end deffn -By default TLP does not need much configuration but most TLP parameters can -be tweaked using @code{tlp-configuration}. +Par défaut TLP n'a pas besoin de beaucoup de configuration mais la plupart +des paramètres de TLP peuvent être modifiés avec @code{tlp-configuration}. -Each parameter definition is preceded by its type; for example, -@samp{boolean foo} indicates that the @code{foo} parameter should be -specified as a boolean. Types starting with @code{maybe-} denote parameters -that won't show up in TLP config file when their value is @code{'disabled}. +Chaque définition de paramètre est précédée par son type ; par exemple, +@samp{boolean foo} indique que le paramètre @code{foo} doit être spécifié +comme un booléen. Les types qui commencent par @code{maybe-} dénotent des +paramètres qui n'apparaîtront pas dans la configuration de TLP lorsque leur +valeur est @code{'disabled}. @c The following documentation was initially generated by @c (generate-tlp-documentation) in (gnu services pm). Manually maintained @@ -18168,488 +19503,501 @@ that won't show up in TLP config file when their value is @code{'disabled}. Les champs de @code{tlp-configuration} disponibles sont : @deftypevr {paramètre de @code{tlp-configuration}} package tlp -The TLP package. +Le paquet TLP. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean tlp-enable? -Set to true if you wish to enable TLP. +Indiquez vrai si vous souhaitez activer TLP. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string tlp-default-mode -Default mode when no power supply can be detected. Alternatives are AC and -BAT. +Mode par défaut lorsqu'aucune source d'énergie ne peut être détectée. Les +possibilités sont AC et BAT. La valeur par défaut est @samp{"AC"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer disk-idle-secs-on-ac -Number of seconds Linux kernel has to wait after the disk goes idle, before -syncing on AC. +Nombre de secondes que le noyau Linux doit attendre après que les disques +s'arrêtent pour se synchroniser quand il est sur secteur. La valeur par défaut est @samp{0}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer disk-idle-secs-on-bat -Same as @code{disk-idle-ac} but on BAT mode. +Comme @code{disk-idle-ac} mais en mode batterie. La valeur par défaut est @samp{2}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer max-lost-work-secs-on-ac -Dirty pages flushing periodicity, expressed in seconds. +Périodicité du nettoyage des pages invalidées, en secondes. La valeur par défaut est @samp{15}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer max-lost-work-secs-on-bat -Same as @code{max-lost-work-secs-on-ac} but on BAT mode. +Comme @code{max-lost-work-secs-on-ac} mais en mode batterie. La valeur par défaut est @samp{60}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list cpu-scaling-governor-on-ac -CPU frequency scaling governor on AC mode. With intel_pstate driver, -alternatives are powersave and performance. With acpi-cpufreq driver, -alternatives are ondemand, powersave, performance and conservative. +Gouverneur de fréquence d'horloge sur secteur. Avec le pilote intel_pstate, +les possibilités sont powersave et performance. Avec le pilote +acpi-cpufreq, les possibilités sont ondemand, powersave, performance et +conservative. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list cpu-scaling-governor-on-bat -Same as @code{cpu-scaling-governor-on-ac} but on BAT mode. +Comme @code{cpu-scaling-governor-on-ac} mais en mode batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-min-freq-on-ac -Set the min available frequency for the scaling governor on AC. +Indique la fréquence d'horloge minimale pour le gouverneur sur secteur. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-max-freq-on-ac -Set the max available frequency for the scaling governor on AC. +Indique la fréquence d'horloge maximale pour le gouverneur sur secteur. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-min-freq-on-bat -Set the min available frequency for the scaling governor on BAT. +Indique la fréquence d'horloge minimale pour le gouverneur sur batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-max-freq-on-bat -Set the max available frequency for the scaling governor on BAT. +Indique la fréquence d'horloge maximale pour le gouverneur sur batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-min-perf-on-ac -Limit the min P-state to control the power dissipation of the CPU, in AC -mode. Values are stated as a percentage of the available performance. +Limite le P-état minimum pour contrôler la dissipation de puissance dans le +CPU, sur secteur. Les valeurs sont indiqués comme un pourcentage des +performances disponibles. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-max-perf-on-ac -Limit the max P-state to control the power dissipation of the CPU, in AC -mode. Values are stated as a percentage of the available performance. +Limite le P-état maximum pour contrôler la dissipation de puissance dans le +CPU, sur secteur. Les valeurs sont indiqués comme un pourcentage des +performances disponibles. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-min-perf-on-bat -Same as @code{cpu-min-perf-on-ac} on BAT mode. +Comme @code{cpu-min-perf-on-ac} mais en mode batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-max-perf-on-bat -Same as @code{cpu-max-perf-on-ac} on BAT mode. +Comme @code{cpu-max-perf-on-ac} mais en mode batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-boolean cpu-boost-on-ac? -Enable CPU turbo boost feature on AC mode. +Active la fonctionnalité turbo boost du CPU sur secteur. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-boolean cpu-boost-on-bat? -Same as @code{cpu-boost-on-ac?} on BAT mode. +Comme @code{cpu-boost-on-ac?} mais en mode batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean sched-powersave-on-ac? -Allow Linux kernel to minimize the number of CPU cores/hyper-threads used -under light load conditions. +Permet au noyau Linux de minimiser le nombre de cœurs/hyper-threads CPU +utilisés lorsque la charge est faible. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean sched-powersave-on-bat? -Same as @code{sched-powersave-on-ac?} but on BAT mode. +Comme @code{sched-powersave-on-ac?} mais en mode batterie. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean nmi-watchdog? -Enable Linux kernel NMI watchdog. +Active le chien de garde NMI du noyau Linux. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-string phc-controls -For Linux kernels with PHC patch applied, change CPU voltages. An example -value would be @samp{"F:V F:V F:V F:V"}. +Pour les noyaux Linux avec le correctif PHC, change le voltage du CPU. Une +valeur serait par exemple @samp{"F:V F:V F:V F:V"}. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string energy-perf-policy-on-ac -Set CPU performance versus energy saving policy on AC. Alternatives are -performance, normal, powersave. +Indique le niveau de performance du CPU par rapport à la politique de +gestion de l'énergie sur secteur. Les possibilités sont performance, normal +et powersave. La valeur par défaut est @samp{"performance"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string energy-perf-policy-on-bat -Same as @code{energy-perf-policy-ac} but on BAT mode. +Comme @code{energy-perf-policy-ac} mais en mode batterie. La valeur par défaut est @samp{"powersave"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list disks-devices -Hard disk devices. +Périphériques de disque dur. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list disk-apm-level-on-ac -Hard disk advanced power management level. +Niveau de gestion de l'énergie avancé des disques durs. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list disk-apm-level-on-bat -Same as @code{disk-apm-bat} but on BAT mode. +Comme @code{disk-apm-bat} mais en mode batterie. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list disk-spindown-timeout-on-ac -Hard disk spin down timeout. One value has to be specified for each -declared hard disk. +Délai d'attente pour arrêter de faire tourner les disques. Une valeur doit +être spécifiée pour chaque disque dur déclaré. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list disk-spindown-timeout-on-bat -Same as @code{disk-spindown-timeout-on-ac} but on BAT mode. +Comme @code{disk-spindown-timeout-on-ac} mais en mode batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list disk-iosched -Select IO scheduler for disk devices. One value has to be specified for -each declared hard disk. Example alternatives are cfq, deadline and noop. +Sélectionne l'ordonnanceur d'entrées-sorties pour le disque. Une valeur +doit être spécifiée pour chaque disque déclaré. Les possibilités sont par +exemple cfq, deadline et noop. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string sata-linkpwr-on-ac -SATA aggressive link power management (ALPM) level. Alternatives are -min_power, medium_power, max_performance. +Niveau de gestion de l'énergie des lien SATA aggressive (ALPM). Les +possibilités sont min_power, medium_power et max_performance. La valeur par défaut est @samp{"max_performance"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string sata-linkpwr-on-bat -Same as @code{sata-linkpwr-ac} but on BAT mode. +Comme @code{sata-linkpwr-ac} mais en mode batterie. La valeur par défaut est @samp{"min_power"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-string sata-linkpwr-blacklist -Exclude specified SATA host devices for link power management. +Exclu les périphériques SATA spécifiés de la gestion de l'énergie des liens. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-on-off-boolean ahci-runtime-pm-on-ac? -Enable Runtime Power Management for AHCI controller and disks on AC mode. +Active la gestion de l'énergie à l'exécution pour les contrôleurs AHCI et +les disques, sur secteur La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-on-off-boolean ahci-runtime-pm-on-bat? -Same as @code{ahci-runtime-pm-on-ac} on BAT mode. +Comme @code{ahci-runtime-pm-on-ac} mais en mode batterie. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer ahci-runtime-pm-timeout -Seconds of inactivity before disk is suspended. +Secondes d'inactivités avant de suspendre les disques. La valeur par défaut est @samp{15}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string pcie-aspm-on-ac -PCI Express Active State Power Management level. Alternatives are default, -performance, powersave. +Niveau de gestion de l'énergie des états actifs de PCI Express. Les +possibilités sont default, performance et powersave. La valeur par défaut est @samp{"performance"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string pcie-aspm-on-bat -Same as @code{pcie-aspm-ac} but on BAT mode. +Comme @code{pcie-aspm-ac} mais en mode batterie. La valeur par défaut est @samp{"powersave"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string radeon-power-profile-on-ac -Radeon graphics clock speed level. Alternatives are low, mid, high, auto, -default. +Niveau de vitesse de l'horloge des cartes graphiques Radeon. Les +possibilités sont low, mid, high, auto et default. La valeur par défaut est @samp{"high"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string radeon-power-profile-on-bat -Same as @code{radeon-power-ac} but on BAT mode. +Comme @code{radeon-power-ac} mais en mode batterie. La valeur par défaut est @samp{"low"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-state-on-ac -Radeon dynamic power management method (DPM). Alternatives are battery, -performance. +Méthode de gestion de l'énergie dynamique de Radeon (DPM). Les possibilités +sont battery et performance. La valeur par défaut est @samp{"performance"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-state-on-bat -Same as @code{radeon-dpm-state-ac} but on BAT mode. +Comme @code{radeon-dpm-state-ac} mais en mode batterie. La valeur par défaut est @samp{"battery"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-perf-level-on-ac -Radeon DPM performance level. Alternatives are auto, low, high. +Niveau de performance de DPM. Les possibilités sont auto, low et high. La valeur par défaut est @samp{"auto"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-perf-level-on-bat -Same as @code{radeon-dpm-perf-ac} but on BAT mode. +Comme @code{radeon-dpm-perf-ac} mais en mode batterie. La valeur par défaut est @samp{"auto"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} on-off-boolean wifi-pwr-on-ac? -Wifi power saving mode. +Mode de gestion de l'énergie wifi. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} on-off-boolean wifi-pwr-on-bat? -Same as @code{wifi-power-ac?} but on BAT mode. +Comme @code{wifi-power-ac?} mais en mode batterie. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} y-n-boolean wol-disable? -Disable wake on LAN. +Désactive wake on LAN. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer sound-power-save-on-ac -Timeout duration in seconds before activating audio power saving on Intel -HDA and AC97 devices. A value of 0 disables power saving. +Durée d'attente en secondes avant d'activer la gestion de l'énergie audio +sur les périphériques Intel HDA et AC97. La valeur 0 désactive la gestion +de l'énergie. La valeur par défaut est @samp{0}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer sound-power-save-on-bat -Same as @code{sound-powersave-ac} but on BAT mode. +Comme @code{sound-powersave-ac} mais en mode batterie. La valeur par défaut est @samp{1}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} y-n-boolean sound-power-save-controller? -Disable controller in powersaving mode on Intel HDA devices. +Désactive le contrôleur en mode de gestion de l'énergie sur les +périphériques Intel HDA. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean bay-poweroff-on-bat? -Enable optical drive in UltraBay/MediaBay on BAT mode. Drive can be powered -on again by releasing (and reinserting) the eject lever or by pressing the -disc eject button on newer models. +Active le périphérique optique AltraBay/MediaBay en mode batterie. Le +périphérique peut être de nouveau alimenté en lâchant (et en réinsérant) le +levier d'éjection ou en appuyant sur le bouton d'éjection sur les modèles +plus récents. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string bay-device -Name of the optical drive device to power off. +Nom du périphérique optique à éteindre. La valeur par défaut est @samp{"sr0"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string runtime-pm-on-ac -Runtime Power Management for PCI(e) bus devices. Alternatives are on and -auto. +Gestion de l'énergie à l'exécution sur les bus PCI(e). Les possibilités +sont on et auto. La valeur par défaut est @samp{"on"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} string runtime-pm-on-bat -Same as @code{runtime-pm-ac} but on BAT mode. +Comme @code{runtime-pm-ac} mais en mode batterie. La valeur par défaut est @samp{"auto"}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean runtime-pm-all? -Runtime Power Management for all PCI(e) bus devices, except blacklisted -ones. +Gestion de l'énergie à l'exécution pour tous les bus PCI(e), sauf ceux en +liste noire. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list runtime-pm-blacklist -Exclude specified PCI(e) device addresses from Runtime Power Management. +Exclue les adresses des périphériques PCI(e) spécifiés de la gestion de +l'énergie à l'exécution. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list runtime-pm-driver-blacklist -Exclude PCI(e) devices assigned to the specified drivers from Runtime Power -Management. +Exclue les périphériques PCI(e) assignés aux pilotes spécifiés de la gestion +de l'énergie à l'exécution. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean usb-autosuspend? -Enable USB autosuspend feature. +Active la fonctionnalité de mise en veille automatique de l'USB. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-string usb-blacklist -Exclude specified devices from USB autosuspend. +Exclue les périphériques spécifiés de la mise en veille automatique de +l'USB. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean usb-blacklist-wwan? -Exclude WWAN devices from USB autosuspend. +Exclue les périphériques WWAN de la mise en veille automatique de l'USB. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-string usb-whitelist -Include specified devices into USB autosuspend, even if they are already -excluded by the driver or via @code{usb-blacklist-wwan?}. +Inclue les périphériques spécifiés dans la mise en veille automatique de +l'USB, même s'ils sont déjà exclus par le pilote ou via +@code{usb-blacklist-wwan?}. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} maybe-boolean usb-autosuspend-disable-on-shutdown? -Enable USB autosuspend before shutdown. +Active la mise en veille de l'USB avant l'arrêt. La valeur par défaut est @samp{disabled}. @end deftypevr @deftypevr {paramètre de @code{tlp-configuration}} boolean restore-device-state-on-startup? -Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on -system startup. +Restaure l'état des périphériques radio (bluetooth, wifi, wwan) du dernier +arrêt au démarrage du système. La valeur par défaut est @samp{#f}. @end deftypevr @cindex thermald -@cindex CPU frequency scaling with thermald -@subsubheading Thermald daemon +@cindex gestion de la fréquence du CPU avec thermald +@subsubheading démon Thermald -The @code{(gnu services pm)} module provides an interface to thermald, a CPU -frequency scaling service which helps prevent overheating. +Le module @code{(gnu services pm)} fournit une interface pour thermald, un +service de gestion de l'horloge CPU qui aide à éviter la surchauffe. @defvr {Variable Scheme} thermald-service-type -This is the service type for @uref{https://01.org/linux-thermal-daemon/, -thermald}, the Linux Thermal Daemon, which is responsible for controlling -the thermal state of processors and preventing overheating. +C'est le type de service pour @uref{https://01.org/linux-thermal-daemon/, +thermald}, le démon de température de Linux, responsable du contrôle de +l'état thermique des processeurs et d'éviter la surchauffe. @end defvr @deftp {Type de données} thermald-configuration -Data type representing the configuration of @code{thermald-service-type}. +Type de données représentant la configuration de +@code{thermald-service-type}. @table @asis @item @code{ignore-cpuid-check?} (par défaut : @code{#f}) -Ignore cpuid check for supported CPU models. +Ignore la vérification des modèles CPU supportés avec cpuid. @item @code{thermald} (par défaut : @var{thermald}) -Package object of thermald. +Objet du paquet de thermald. @end table @end deftp @@ -18657,18 +20005,19 @@ Package object of thermald. @node Services audio @subsubsection Services audio -The @code{(gnu services audio)} module provides a service to start MPD (the -Music Player Daemon). +Le module @code{(gnu services audio)} fournit un service qui lance MPD (le +démon de lecture de musique). @cindex mpd @subsubheading Music Player Daemon -The Music Player Daemon (MPD) is a service that can play music while being -controlled from the local machine or over the network by a variety of -clients. +Le démon de lecture de musique (MPD) est un service qui joue de la musique +tout en étant contrôlé depuis la machine locale ou à travers le réseau par +divers clients. -The following example shows how one might run @code{mpd} as user -@code{"bob"} on port @code{6666}. It uses pulseaudio for output. +L'exemple suivant montre comment on peut lancer @code{mpd} en tant +qu'utilisateur @code{"bob"} sur le port @code{6666}. Il utilise pulseaudio +pour la sortie audio. @example (service mpd-service-type @@ -18678,47 +20027,47 @@ The following example shows how one might run @code{mpd} as user @end example @defvr {Variable Scheme} mpd-service-type -The service type for @command{mpd} +Le type de service pour @command{mpd}. @end defvr @deftp {Type de données} mpd-configuration -Data type representing the configuration of @command{mpd}. +Type de données représentant la configuration de @command{mpd}. @table @asis @item @code{user} (par défaut : @code{"mpd"}) -The user to run mpd as. +L'utilisateur qui lance mpd. @item @code{music-dir} (par défaut : @code{"~/Music"}) -The directory to scan for music files. +Le répertoire à scanner pour trouver les fichiers de musique. @item @code{playlist-dir} (par défaut : @code{"~/.mpd/playlists"}) -The directory to store playlists. +Le répertoire où stocker les playlists. @item @code{port} (par défaut : @code{"6600"}) -The port to run mpd on. +Le port sur lequel lancer mpd. @item @code{address} (par défaut : @code{"any"}) -The address that mpd will bind to. To use a Unix domain socket, an absolute -path can be specified here. +L'adresse sur laquelle se lie mpd. Pour utiliser un socket Unix domain, un +chemin absolu peut être spécifié ici. @end table @end deftp @node Services de virtualisation -@subsubsection Virtualization services +@subsubsection services de virtualisation -The @code{(gnu services virtualization)} module provides services for the -libvirt and virtlog daemons, as well as other virtualization-related -services. +Le module @code{(gnu services virtualization)} fournit des services pour les +démons libvirt et virtlog, ainsi que d'autres services liés à la +virtualisation. -@subsubheading Libvirt daemon -@code{libvirtd} is the server side daemon component of the libvirt -virtualization management system. This daemon runs on host servers and -performs required management tasks for virtualized guests. +@subsubheading démon libvirt +@code{libvirtd} est le démon côté serveur du système de gestion de +virtualisation libvirt. Ce démon tourne sur des serveurs hôtes et effectue +les taches de gestion requises pour les clients virtualisés. @deffn {Variable Scheme} libvirt-service-type -This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its -value must be a @code{libvirt-configuration}. +C'est le type du @uref{https://libvirt.org, démon libvirt}. Sa valeur doit +être un @code{libvirt-configuration}. @example (service libvirt-service-type @@ -18732,293 +20081,296 @@ value must be a @code{libvirt-configuration}. Les champs de @code{libvirt-configuration} disponibles sont : @deftypevr {paramètre de @code{libvirt-configuration}} package libvirt -Libvirt package. +Paquet libvirt. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} boolean listen-tls? -Flag listening for secure TLS connections on the public TCP/IP port. must -set @code{listen} for this to have any effect. +Indique s'il faut écouter des connexions TLS sécurisées sur le port TCP/IP +public. Vous devez remplir le champ @code{listen} pour que cela ait un +effet. -It is necessary to setup a CA and issue server certificates before using -this capability. +Il est nécessaire de mettre en place une CA et de créer un certificat +serveur avant d'utiliser cette fonctionnalité. La valeur par défaut est @samp{#t}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} boolean listen-tcp? -Listen for unencrypted TCP connections on the public TCP/IP port. must set -@code{listen} for this to have any effect. +Écoute des connexions non-chiffrées sur le port TCP/IP public. Vous devez +remplir le champ @code{listen} pour que cela ait un effet. -Using the TCP socket requires SASL authentication by default. Only SASL -mechanisms which support data encryption are allowed. This is DIGEST_MD5 -and GSSAPI (Kerberos5) +L'utilisation des sockets TCP requiert une authentification SASL par +défaut. Seuls les mécanismes SASL qui supportent le chiffrement des données +sont permis. Il s'agit de DIGEST_MD5 et GSSAPI (Kerberos5). La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string tls-port -Port for accepting secure TLS connections This can be a port number, or -service name +Pour pour accepter les connexions TLS sécurisées. Il peut s'agir d'un +numéro de port ou d'un nom de service. La valeur par défaut est @samp{"16514"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string tcp-port -Port for accepting insecure TCP connections This can be a port number, or -service name +Pour sur lequel accepter les connexions TCP non sécurisées. Cela peut être +un numéro de port ou un nom de service. La valeur par défaut est @samp{"16509"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string listen-addr -IP address or hostname used for client connections. +Adresse IP ou nom d'hôte utilisé pour les connexions des clients. La valeur par défaut est @samp{"0.0.0.0"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} boolean mdns-adv? -Flag toggling mDNS advertisement of the libvirt service. +Indique s'il faut publier le service libvirt en mDNS. -Alternatively can disable for all services on a host by stopping the Avahi -daemon. +Autrement, vous pouvez désactiver cela pour tous les services en stoppant le +démon Avahi. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string mdns-name -Default mDNS advertisement name. This must be unique on the immediate -broadcast network. +Nom publié par défaut sur mDNS. Cela doit être unique sur le réseau local. La valeur par défaut est @samp{"Virtualization Host "}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-group -UNIX domain socket group ownership. This can be used to allow a 'trusted' -set of users access to management capabilities without becoming root. +Groupe propriétaire du socket Unix domain. Cela peut être utilisé pour +permettre à un ensemble d'utilisateurs « de confiance » de gérer les +fonctionnalités sans devenir root. La valeur par défaut est @samp{"root"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-ro-perms -UNIX socket permissions for the R/O socket. This is used for monitoring VM -status only. +Permission Unix pour le socket en lecture seule. Il est utilisé pour +surveiller le statut des VM uniquement. La valeur par défaut est @samp{"0777"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-rw-perms -UNIX socket permissions for the R/W socket. Default allows only root. If -PolicyKit is enabled on the socket, the default will change to allow -everyone (eg, 0777) +Permission Unix pour le socket en lecture-écriture. La valeur par défaut +n'autorise que root. Si PolicyKit est activé sur le socket, la valeur par +défaut change et permet tout le monde (c.-à-d.@: 0777). La valeur par défaut est @samp{"0770"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-admin-perms -UNIX socket permissions for the admin socket. Default allows only owner -(root), do not change it unless you are sure to whom you are exposing the -access to. +permissions Unix pour le socket d'administration. La valeur par défaut ne +permet que le propriétaire (root), ne la changez pas à moins que vous ne +soyez sûr de savoir à qui vous exposez cet accès. La valeur par défaut est @samp{"0777"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-dir -The directory in which sockets will be found/created. +Le répertoire dans lequel les sockets sont créés. La valeur par défaut est @samp{"/var/run/libvirt"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string auth-unix-ro -Authentication scheme for UNIX read-only sockets. By default socket -permissions allow anyone to connect +Schéma d'authentification pour les socket Unix en lecture-seule. Par défaut +les permissions des socket permettent à n'importe qui de se connecter. La valeur par défaut est @samp{"polkit"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string auth-unix-rw -Authentication scheme for UNIX read-write sockets. By default socket -permissions only allow root. If PolicyKit support was compiled into -libvirt, the default will be to use 'polkit' auth. +Schéma d'authentification pour les socket UNIX en lecture-écriture. Par +défaut les permissions du socket ne permettent que root. Si le support de +PolicyKit a été compilé dans libvirt, la valeur par défaut utilise +l'authentification « polkit ». La valeur par défaut est @samp{"polkit"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string auth-tcp -Authentication scheme for TCP sockets. If you don't enable SASL, then all -TCP traffic is cleartext. Don't do this outside of a dev/test scenario. +Schéma d'authentification pour les sockets TCP. Si vous n'avez pas activé +SASL, alors tout le trafic TCP est en clair. Ne le faites pas en dehors de +scénario de développement ou de test. La valeur par défaut est @samp{"sasl"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string auth-tls -Authentication scheme for TLS sockets. TLS sockets already have encryption -provided by the TLS layer, and limited authentication is done by -certificates. +Schéma d'authentification pour les sockets TLS. Les sockets TLS sont déjà +chiffrés par la couche TLS, et une authentification limitée est effectuée +avec les certificats. -It is possible to make use of any SASL authentication mechanism as well, by -using 'sasl' for this option +Il est possible d'utiliser de n'importe quel mécanisme d'authentification +SASL en utilisant « sasl » pour cette option. La valeur par défaut est @samp{"none"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} optional-list access-drivers -API access control scheme. +Schéma de contrôle d'accès à l'API. -By default an authenticated user is allowed access to all APIs. Access -drivers can place restrictions on this. +Par défaut un utilisateur authentifié peut accéder à toutes les API. Les +pilotes d'accès peuvent placer des restrictions là-dessus. La valeur par défaut est @samp{()}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string key-file -Server key file path. If set to an empty string, then no private key is -loaded. +Chemin de fichier de la clef du serveur. Si la valeur est une chaîne vide, +aucune clef privée n'est chargée. La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string cert-file -Server key file path. If set to an empty string, then no certificate is -loaded. +Chemin de fichier de la clef du serveur. Si la chaîne est vide, aucun +certificat n'est chargé. La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string ca-file -Server key file path. If set to an empty string, then no CA certificate is -loaded. +Chemin de fichier de la clef du serveur. Si la chaîne est vide, aucun +certificat de CA n'est chargé. La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string crl-file -Certificate revocation list path. If set to an empty string, then no CRL is -loaded. +Chemin de la liste de révocation des certificats. Si la chaîne est vide, +aucun CRL n'est chargé. La valeur par défaut est @samp{""}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} boolean tls-no-sanity-cert -Disable verification of our own server certificates. +Désactive la vérification de nos propres certificats serveurs. -When libvirtd starts it performs some sanity checks against its own -certificates. +Lorsque libvirtd démarre il effectue des vérifications de routine sur ses +propres certificats. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} boolean tls-no-verify-cert -Disable verification of client certificates. +Désactive la vérification des certificats clients. -Client certificate verification is the primary authentication mechanism. -Any client which does not present a certificate signed by the CA will be -rejected. +La vérification des certificats clients est le mécanisme d'authentification +principal. Tout client qui ne présent pas de certificat signé par la CA +sera rejeté. La valeur par défaut est @samp{#f}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} optional-list tls-allowed-dn-list -Whitelist of allowed x509 Distinguished Name. +Liste blanche des Distinguished Name x509 autorisés. La valeur par défaut est @samp{()}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} optional-list sasl-allowed-usernames -Whitelist of allowed SASL usernames. The format for username depends on the -SASL authentication mechanism. +Liste blanche des noms d'utilisateur SASL permis. Le format des noms +d'utilisateurs dépend du mécanisme d'authentification SASL. La valeur par défaut est @samp{()}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} string tls-priority -Override the compile time default TLS priority string. The default is -usually "NORMAL" unless overridden at build time. Only set this is it is -desired for libvirt to deviate from the global default settings. +Modifie la chaîne de priorité TLS par défaut fixée à la compilation. La +valeur par défaut est typiquement « NORMAL » à moins qu'elle n'ait été +modifiée à la compilation. Ne l'indiquez que si vous voulez que libvirt +agisse différemment des paramètres par défaut globaux. La valeur par défaut est @samp{"NORMAL"}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} integer max-clients -Maximum number of concurrent client connections to allow over all sockets -combined. +Nombre maximum de connexions clientes en même temps sur tous les sockets. La valeur par défaut est @samp{5000}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} integer max-queued-clients -Maximum length of queue of connections waiting to be accepted by the -daemon. Note, that some protocols supporting retransmission may obey this -so that a later reattempt at connection succeeds. +Longueur maximum de la queue de connexions en attente d'acceptation du +démon. Remarquez que certains protocoles supportant la retransmission +peuvent obéir à ce paramètre pour qu'une connexion ultérieure réussisse. La valeur par défaut est @samp{1000}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} integer max-anonymous-clients -Maximum length of queue of accepted but not yet authenticated clients. Set -this to zero to turn this feature off +Longueur maximum de la queue des clients acceptés mais pas authentifiés. +Indiquez zéro pour désactiver ce paramètre. La valeur par défaut est @samp{20}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} integer min-workers -Number of workers to start up initially. +Nombre de processus de travail démarrés initialement. La valeur par défaut est @samp{5}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} integer max-workers -Maximum number of worker threads. +Nombre maximum de threads de travail. -If the number of active clients exceeds @code{min-workers}, then more -threads are spawned, up to max_workers limit. Typically you'd want -max_workers to equal maximum number of clients allowed. +Si le nombre de clients actifs dépasse @code{min-workers}, plus de threads +seront démarrés, jusqu'à la limite de max_workers. Typiquement vous voulez +que max_workers soit égal au nombre maximum de clients permis. La valeur par défaut est @samp{20}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} integer prio-workers -Number of priority workers. If all workers from above pool are stuck, some -calls marked as high priority (notably domainDestroy) can be executed in -this pool. +Nombre de travailleurs prioritaires. Si tous les threads de travail du +groupe ci-dessus sont bloqués, certains appels marqués comme prioritaires +(notamment domainDestroy) peuvent être exécutés par ce groupe. La valeur par défaut est @samp{5}. @end deftypevr @deftypevr {paramètre de @code{libvirt-configuration}} integer max-requests -Total global limit on concurrent RPC calls. +Limite globale totale sur les appels RPC concurrents. La valeur par défaut est @samp{20}. @@ -19083,10 +20435,10 @@ logs The format for a filter is one of: @itemize @bullet @item -x:name +x:nom @item -x:+name +x:+nom @end itemize @@ -19268,7 +20620,7 @@ La valeur par défaut est @samp{5}. @c %end of autogenerated docs -@subsubheading Virtlog daemon +@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. @@ -19305,10 +20657,10 @@ logs The format for a filter is one of: @itemize @bullet @item -x:name +x:nom @item -x:+name +x:+nom @end itemize @@ -19387,8 +20739,7 @@ La valeur par défaut est @samp{"3:stderr"}. @end deftypevr @deftypevr {paramètre de @code{virtlog-configuration}} integer max-clients -Maximum number of concurrent client connections to allow over all sockets -combined. +Nombre maximum de connexions clientes en même temps sur tous les sockets. La valeur par défaut est @samp{1024}. @@ -19397,20 +20748,20 @@ La valeur par défaut est @samp{1024}. @deftypevr {paramètre de @code{virtlog-configuration}} integer max-size Maximum file size before rolling over. -Defaults to @samp{2MB} +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. -Defaults to @samp{3} +La valeur par défaut est @samp{3}. @end deftypevr -@subsubheading Transparent Emulation with QEMU +@subsubheading Émulation transparente avec QEMU -@cindex emulation +@cindex émulation @cindex @code{binfmt_misc} @code{qemu-binfmt-service-type} provides support for transparent emulation of program binaries built for different architectures---e.g., it allows you @@ -19460,7 +20811,7 @@ service: (guix-support? #t))) @end example -You can run: +Vous pouvez lancer : @example guix build -s armhf-linux inkscape @@ -19525,7 +20876,7 @@ Package object of the Git distributed version control system. Whether to allow access for all Git repositories, even if they do not have the @file{git-daemon-export-ok} file. -@item @code{base-path} (default: @file{/srv/git}) +@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 @@ -19575,14 +20926,14 @@ Data type representing the configuration for @code{git-http-service}. @item @code{package} (par défaut : @var{git}) Package object of the Git distributed version control system. -@item @code{git-root} (default: @file{/srv/git}) +@item @code{git-root} (par défaut : @file{/srv/git}) Directory containing the Git repositories to expose to the world. @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. -@item @code{uri-path} (default: @file{/git/}) +@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 @code{/srv/git/@var{repo}.git}. Requests whose URI paths do not begin with @@ -19628,12 +20979,12 @@ You will also need to add an @code{fcgiwrap} proxy to your system services. @xref{Services web}. @end deffn -@subsubheading Cgit Service +@subsubheading Service Cgit -@cindex Cgit service -@cindex Git, web interface -@uref{https://git.zx2c4.com/cgit/, Cgit} is a web frontend for Git -repositories written in C. +@cindex service cgit +@cindex git, interface web +@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}). @@ -19650,12 +21001,12 @@ The @code{file-object} type designates either a file-like object Les champs de @code{cgit-configuration} disponibles sont : @deftypevr {paramètre de @code{cgit-configuration}} package package -The CGIT package. +Le paquet cgit. @end deftypevr @deftypevr {paramètre de @code{cgit-configuration}} nginx-server-configuration-list nginx -NGINX configuration. +Configuration Nginx. @end deftypevr @@ -19937,8 +21288,8 @@ La valeur par défaut est @samp{"/favicon.ico"}. @deftypevr {paramètre de @code{cgit-configuration}} string footer 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). +at the bottom of all pages (i.e.@: it replaces the standard "generated +by..."@: message). La valeur par défaut est @samp{""}. @@ -20382,7 +21733,7 @@ La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-commit-graph? +@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 @code{enable-commit-graph?}. @@ -20390,7 +21741,7 @@ La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-log-filecount? +@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 @code{enable-log-filecount?}. @@ -20398,7 +21749,7 @@ La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-log-linecount? +@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 @code{enable-log-linecount?}. @@ -20406,7 +21757,7 @@ La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-remote-branches? +@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. @@ -20414,7 +21765,7 @@ La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-subject-links? +@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 @code{enable-subject-links?}. @@ -20422,7 +21773,7 @@ La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} maybe-repo-boolean enable-html-serving? +@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 @code{enable-html-serving?}. @@ -20571,6 +21922,101 @@ instantiate a cgit service like this: (cgitrc ""))) @end example +@subsubheading Service Gitolite + +@cindex service Gitolite +@cindex Git, hébergement +@uref{http://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git +repositories on a central server. + +Gitolite can handle multiple repositories and users, and supports flexible +configuration of the permissions for the users on the repositories. + +The following example will configure Gitolite using the default @code{git} +user, and the provided SSH public key. + +@example +(service gitolite-service-type + (gitolite-configuration + (admin-pubkey (plain-file + "yourname.pub" + "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. + +@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''. + +@deftp {Type de données} gitolite-configuration +Type de données représentant la configuration de +@code{gitolite-service-type}. + +@table @asis +@item @code{package} (par défaut : @var{gitolite}) +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. + +@item @code{group} (par défaut : @var{git}) +Groupe à utiliser pour Gitolite. + +@item @code{home-directory} (par défaut : @var{"/var/lib/gitolite"}) +Répertoire dans lequel stocker la configuration et les dépôts de Gitolite. + +@item @code{rc-file} (par défaut : @var{(gitolite-rc-file)}) +Un objet « simili-fichier » (@pxref{G-Expressions, file-like objects}) +représentant la configuration de Gitolite. + +@item @code{admin-pubkey} (par défaut : @var{#f}) +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. + +@example +(plain-file "yourname.pub" "ssh-rsa AAAA... guix@@example.com") +@end example + +@end table +@end deftp + +@deftp {Type de données} gitolite-rc-file +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. + +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. + +@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. + +@item @code{roles} (par défaut : @code{'(("READERS" . 1) ("WRITERS" . ))}) +Set the role names allowed to be used by users running the perms command. + +@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. + +@end table +@end deftp + @node Services de jeu @subsubsection Services de jeu @@ -20607,12 +22053,12 @@ The port to bind the server to. @subsubsection Services divers @cindex fingerprint -@subsubheading Fingerprint Service +@subsubheading Service d'empreintes digitales -The @code{(gnu services fingerprint)} module provides a DBus service to read -and identify fingerprints via a fingerprint sensor. +Le module @code{(gnu services fingerprint)} fournit un service DBus pour +lire et identifier les empreintes digitales via un lecteur d'empreinte. -@defvr {Scheme Variable} fprintd-service-type +@defvr {Variable Scheme} fprintd-service-type The service type for @command{fprintd}, which provides the fingerprint reading capability. @@ -20661,23 +22107,23 @@ framework. It is a resource manager that coordinates communications with smart card readers, smart cards and cryptographic tokens that are connected to the system. -@defvr {Scheme Variable} pcscd-service-type -Service type for the @command{pcscd} service. Its value must be a -@code{pcscd-configuration} object. To run pcscd in the default -configuration, instantiate it as: +@defvr {Variable Scheme} pcscd-service-type +Le type de service pour le service @command{pcscd}. Sa valeur doit être un +objet @code{pcscd-configuration}. Pour lancer pcscd dans sa configuration +par défaut, instantiez-le avec : @example (service pcscd-service-type) @end example @end defvr -@deftp {Data Type} pcscd-configuration -The data type representing the configuration of @command{pcscd}. +@deftp {Type de données} pcscd-configuration +Type de données représentant la configuration de @command{pcscd}. @table @asis -@item @code{pcsc-lite} (default: @code{pcsc-lite}) -The pcsc-lite package that provides pcscd. -@item @code{usb-drivers} (default: @code{(list ccid)}) +@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. @end table @@ -21155,11 +22601,11 @@ customize it further. @cindex initrd @cindex disque de RAM initial -@deffn {Monadic Procedure} raw-initrd @var{file-systems} @ +@deffn {Procédure Scheme} raw-initrd @var{file-systems} @ [#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] -[#:qemu-networking? #f] [#:volatile-root? #f] Return a monadic 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 +[#: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 @@ -21176,14 +22622,14 @@ When @var{volatile-root?} is true, the root file system is writable but any changes to it are lost. @end deffn -@deffn {Monadic Procedure} base-initrd @var{file-systems} @ +@deffn {Procédure Scheme} base-initrd @var{file-systems} @ [#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ -[#:linux-modules '()] Return a monadic derivation that builds 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. +[#: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. @var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}. @@ -21199,11 +22645,12 @@ 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. -@deffn {Monadic Procedure} expression->initrd @var{exp} @ - [#:guile %guile-static-stripped] [#:name "guile-initrd"] Return a derivation -that builds 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. +@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 +@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. @end deffn @node Configuration du chargeur d'amorçage @@ -21245,8 +22692,8 @@ when you boot it on your system. @code{grub-bootloader} allows you to boot in particular Intel-based machines in ``legacy'' BIOS mode. -@cindex ARM, bootloaders -@cindex AArch64, bootloaders +@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 @@ -21445,8 +22892,9 @@ and @code{roll-back}) are usable only on systems already running GuixSD.}. 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, it does not attempt to upgrade -it since this would not be possible without stopping it first. +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}). @@ -22206,7 +23654,7 @@ when simply looking for ways to customize your @code{operating-system} declaration. @deftp {Type de données} service-type -@cindex service type +@cindex type de service This is the representation of a @dfn{service type} (@pxref{Types service et services}). @table @asis @@ -22325,7 +23773,7 @@ extend it by passing it lists of packages to add to the system profile. @node Services Shepherd @subsubsection Services Shepherd -@cindex shepherd services +@cindex services shepherd @cindex PID 1 @cindex init system The @code{(gnu services shepherd)} module provides a way to define services @@ -22374,8 +23822,8 @@ 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}). -@item @code{actions} (default: @code{'()}) -@cindex actions, of Shepherd services +@item @code{actions} (par défaut : @code{'()}) +@cindex action, des services Shepherd 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 @@ -22402,13 +23850,13 @@ This is the list of modules that must be in scope when @code{start} and @end table @end deftp -@deftp {Data Type} shepherd-action +@deftp {Type de données} shepherd-action This is the data type that defines additional actions implemented by a Shepherd service (see above). @table @code @item name -Symbol naming the action. +Symbole nommant l'action @item documentation This is a documentation string for the action. It can be viewed by running: @@ -22739,14 +24187,24 @@ 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.}. These package definitions will not be visible by default. Users -can invoke commands such as @command{guix package} and @command{guix build} -with the @code{-e} option so that they know where to find the package. -Better yet, they can use the @code{-L} option of these commands to make -those modules visible (@pxref{Invoquer guix build, @code{--load-path}}), or -define the @code{GUIX_PACKAGE_PATH} environment variable. This environment -variable makes it easy to extend or customize the distribution and is -honored by all the user interfaces. +details.}. There are two ways to make these package definitions visible to +the user interfaces: + +@enumerate +@item +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. + +@item +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. +@end enumerate + +@code{GUIX_PACKAGE_PATH} works similarly to other search path variables: @defvr {Environment Variable} GUIX_PACKAGE_PATH This is a colon-separated list of directories to search for additional @@ -23071,7 +24529,7 @@ 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 @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 +starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as described above. @subsubsection Specifying Dependencies @@ -23404,7 +24862,7 @@ 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 do download it for the supported +@file{gnu/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 -- cgit v1.2.3