diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-12-03 19:15:17 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-12-03 19:15:17 +0100 |
commit | 99f63f011df2aab38e98d7ee4608a8c70bf74c4d (patch) | |
tree | 3f224028f30c60f2ed7b9846365ad926192fc7e9 /doc/guix.fr.texi | |
parent | e9a8b603337802a77ff2d68f0d30dc0e67721e3a (diff) | |
parent | 4f03aa23e805bd653de774e1d74ed2f50826899b (diff) | |
download | guix-patches-99f63f011df2aab38e98d7ee4608a8c70bf74c4d.tar guix-patches-99f63f011df2aab38e98d7ee4608a8c70bf74c4d.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'doc/guix.fr.texi')
-rw-r--r-- | doc/guix.fr.texi | 14216 |
1 files changed, 7999 insertions, 6217 deletions
diff --git a/doc/guix.fr.texi b/doc/guix.fr.texi index 6dc7f90555..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,13 +204,13 @@ 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 -* Référence de paquet :: Le type de donnée des paquets. +* Référence de paquet:: Le type de donnée des paquets. * Référence d'origine:: Le type de données d'origine. Utilitaires @@ -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 <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629#134> 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} @@ -3596,7 +4072,7 @@ dérivation est stockée dans un fichier @code{.drv} dans @file{/gnu/store}. Les actions de construction qu'il prescrit peuvent ensuite être réalisées par la procédure @code{build-derivation} (@pxref{Le dépôt}). -@deffn {Procédure Scheme} package-derivation @var{dépôt} @var{paquet} [@var{système}] +@deffn {Procédure Scheme} package-derivation @var{store} @var{package} [@var{system}] Renvoie l'objet @code{<derivation>} du @var{paquet} pour le @var{système} (@pxref{Dérivations}). @@ -3611,7 +4087,7 @@ connexion au démon, qui opère sur les dépôt (@pxref{Le dépôt}). De manière identique, il est possible de calculer une dérivation qui effectue une compilation croisée d'un paquet pour un autre système : -@deffn {Procédure Scheme} package-cross-derivation @var{dépôt} @ +@deffn {Procédure Scheme} package-cross-derivation @var{store} @ @var{paquet} @var{cible} [@var{système}] renvoie l'objet @code{<derivation>} duof @var{paquet} construit depuis @var{système} pour @var{cible}. @@ -3629,7 +4105,7 @@ utile est par exemple la @dfn{réécriture d'entrées} où l'arbre des dépendances d'un paquet est réécrit en replaçant des entrées spécifiques par d'autres : -@deffn {Procédure Scheme} package-input-rewriting @var{remplacements} @ +@deffn {Procédure Scheme} package-input-rewriting @var{replacements} @ [@var{nom-réécrit}] Renvoie une procédure qui, lorsqu'on lui donne un paquet, remplace des dépendances directes et indirectes (mais pas ses entrées implicites) en fonction de @var{remplacements}. @var{remplacements} @@ -3673,7 +4149,7 @@ arrête la récursion là où @var{cut?} renvoie vrai pour un paquet donné. @end deffn @menu -* Référence de paquet :: Le type de donnée des paquets. +* Référence de paquet:: Le type de donnée des paquets. * Référence d'origine:: Le type de données d'origine. @end menu @@ -3684,7 +4160,7 @@ arrête la récursion là où @var{cut?} renvoie vrai pour un paquet donné. Cette section résume toutes les options disponibles dans les déclarations @code{package} (@pxref{Définition des paquets}). -@deftp {Type de donnée} package +@deftp {Type de données} package C'est le type de donnée représentant une recette de paquets @table @asis @@ -3814,7 +4290,7 @@ corrigé. Cette section résume toutes les options disponibles dans le déclarations @code{origin} (@pxref{Définition des paquets}). -@deftp {Type de donnée} origin +@deftp {Type de données} origin C'est le type de donnée qui représente l'origine d'un code source. @table @asis @@ -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 @@ -4648,7 +5187,7 @@ un objet serveur. l'emplacement normal en fonction des options données à @command{configure}. @end deffn -@deffn {Procédure Scheme} close-connection @var{serveur} +@deffn {Procédure Scheme} close-connection @var{server} Ferme la connexion au @var{serveur}. @end deffn @@ -4661,7 +5200,7 @@ journaux de construction et d'erreur envoyés par le démon devraient être Les procédures qui font des RPC prennent toutes un objet serveur comme premier argument. -@deffn {Scheme Procedure} valid-path? @var{server} @var{path} +@deffn {Procédure Scheme} valid-path? @var{server} @var{path} @cindex éléments du dépôt invalides Renvoie @code{#t} lorsque @var{path} désigne un élément du dépôt valide et @code{#f} sinon (un élément invalide peut exister sur le disque mais rester @@ -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{<derivation>} 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{<package>}. @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 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300> @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 @@ -8600,51 +9285,53 @@ comme gestionnaire de paquets par dessus un système GNU/Linux déjà installé (@pxref{Installation}). Pour distinguer ces deux cas, on appelle la distribution autonome « Distribution Système Guix » ou GuixSD. -The distribution provides core GNU packages such as GNU libc, GCC, and -Binutils, as well as many GNU and non-GNU applications. The complete list -of available packages can be browsed -@url{http://www.gnu.org/software/guix/packages,on-line} or by running -@command{guix package} (@pxref{Invoquer guix package}): +la distribution fournit les paquets cœur de GNU comme la GNU libc, GCC et +Binutils, ainsi que de nombreuses applications GNU et non-GNU. La liste +complète des paquets disponibles se trouve +@url{http://www.gnu.org/software/guix/packages,en ligne} ou en lançant +@command{guix package} (@pxref{Invoquer guix package}) : @example guix package --list-available @end example -Our goal is to provide a practical 100% free software distribution of -Linux-based and other variants of GNU, with a focus on the promotion and -tight integration of GNU components, and an emphasis on programs and tools -that help users exert that freedom. +Notre but est de fournir une distribution logicielle entièrement libre de +GNU/Linux et d'autres variantes de GNU, en se concentrant sur la promotion +et l'intégration étroite des composants GNU en insistant sur les programmes +et les outils qui aident l'utilisateur à exercer ses libertés. -Packages are currently available on the following platforms: +Les paquets sont actuellement disponibles pour les plateformes suivantes : @table @code @item x86_64-linux -Intel/AMD @code{x86_64} architecture, Linux-Libre kernel; +l'architecture Intel et AMD @code{x86_64} avec le noyau Linux-libre ; @item i686-linux -Intel 32-bit architecture (IA32), Linux-Libre kernel; +l'architecture Intel 32-bits (IA32) avec le noyau Linux-libre ; @item armhf-linux -ARMv7-A architecture with hard float, Thumb-2 and NEON, using the EABI -hard-float application binary interface (ABI), and Linux-Libre kernel. +l'architecture ARMv7-A avec gestion des flottants matérielle, Thumb-2 et +NEON, avec l'interface binaire applicative (ABI) EABI hard-float et le noyau +Linux-libre ; @item aarch64-linux -little-endian 64-bit ARMv8-A processors, Linux-Libre kernel. This is -currently in an experimental stage, with limited support. -@xref{Contribuer}, for how to help! +les processeurs ARMv8-A 64-bits en little-endian avec le noyau Linux-libre. +Le support est actuellement expérimental et limité. @xref{Contribuer}, +pour savoir comment aider ! @item mips64el-linux -little-endian 64-bit MIPS processors, specifically the Loongson series, n32 -ABI, and Linux-Libre kernel. +les processeurs MIPS 64-bits little-endian, spécifiquement la série +Loongson, ABI n32, avec le noyau Linux-libre. @end table -GuixSD itself is currently only available on @code{i686} and @code{x86_64}. +GuixSD lui-même est actuellement disponible sur @code{i686} et +@code{x86_64}. @noindent -For information on porting to other architectures or kernels, -@pxref{Porter}. +Pour des informations sur comment porter vers d'autres architectures et +d'autres noyau, @pxref{Porter}. @menu * Installation du système:: Installer le système d'exploitation complet. @@ -8660,29 +9347,30 @@ For information on porting to other architectures or kernels, * Porter:: Cibler une autre plateforme ou un autre noyau. @end menu -Building this distribution is a cooperative effort, and you are invited to -join! @xref{Contribuer}, for information about how you can help. +La construction de cette distribution est un effort collaboratif et nous +vous invitons à nous rejoindre ! @xref{Contribuer}, pour des informations +sur la manière de nous aider. @node Installation du système @section Installation du système -@cindex installing GuixSD +@cindex installer GuixSD @cindex Distribution Système Guix -This section explains how to install the Guix System Distribution (GuixSD) -on a machine. The Guix package manager can also be installed on top of a -running GNU/Linux system, @pxref{Installation}. +Cette section explique comment installer la distribution système Guix +(GuixSD) sur votre machine. Le gestionnaire de paquets Guix peut aussi être +installé sur un système GNU/Linux déjà installé, @pxref{Installation}. @ifinfo @quotation Remarque @c This paragraph is for people reading this from tty2 of the @c installation image. -You are reading this documentation with an Info reader. For details on how -to use it, hit the @key{RET} key (``return'' or ``enter'') on the link that -follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Hit -@kbd{l} afterwards to come back here. +Vous lisez cette documentation avec un lecteur Info. Pour des détails sur +son utilisation, appuyez sur la touche @key{ENTRÉE} (« Entrée » ou « à la +ligne ») sur le lien suivant : @pxref{Top, Info reader,, info-stnd, +Stand-alone GNU Info}. Appuyez ensuite sur @kbd{l} pour revenir ici. -Alternately, run @command{info info} in another tty to keep the manual -available. +Autrement, lancez @command{info info} dans un autre tty pour garder ce +manuel ouvert. @end quotation @end ifinfo @@ -8700,100 +9388,104 @@ available. @node Limitations @subsection Limitations -As of version @value{VERSION}, the Guix System Distribution (GuixSD) is not -production-ready. It may contain bugs and lack important features. Thus, -if you are looking for a stable production system that respects your freedom -as a computer user, a good solution at this point is to consider -@url{http://www.gnu.org/distros/free-distros.html, one of the more -established GNU/Linux distributions}. We hope you can soon switch to the -GuixSD without fear, of course. In the meantime, you can also keep using -your distribution and try out the package manager on top of it -(@pxref{Installation}). +À la version @value{VERSION}, la distribution système Guix (GuixSD) n'est +pas prête pour la production. Elle peut contenir des bogues et ne pas avoir +certaines fonctionnalités importantes. Ainsi, si vous cherche un système de +production stable qui respecte votre liberté en tant qu'utilisateur, une +bonne solution consiste à utiliser +@url{http://www.gnu.org/distros/free-distros.html, une des distributions +GNU/Linux mieux établie}. Nous espérons que vous pourrez bientôt passer à +GuixSD sans peur, bien sûr. Pendant ce temps, vous pouvez aussi utiliser +votre distribution actuelle et essayer le gestionnaire de paquet par dessus +celle-ci (@pxref{Installation}). -Before you proceed with the installation, be aware of the following -noteworthy limitations applicable to version @value{VERSION}: +Avant de procéder à l'installation, soyez conscient de ces limitations les +plus importantes qui s'appliquent à la version @value{VERSION} : @itemize @item -The installation process does not include a graphical user interface and -requires familiarity with GNU/Linux (see the following subsections to get a -feel of what that means.) +Le procédé d'installation n'a pas d'interface utilisateur graphique et +requiert une certaine familiarité avec GNU/Linux (voir les sous-sections +suivantes pour avoir un aperçu de ce que cela signifie). @item -Support for the Logical Volume Manager (LVM) is missing. +LVM (gestionnaire de volumes logiques) n'est pas supporté. @item -More and more system services are provided (@pxref{Services}), but some may -be missing. +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, and Enlightenment are available (@pxref{Services de bureaux}), as well as a number of X11 window managers. However, some -graphical applications may be missing, as well as KDE. +GNOME, Xfce, LXDE et Enlightenment sont disponibles (@pxref{Services de bureaux}), ainsi qu'un certain nombre de gestionnaires de fenêtres X11. +cependant, certaines applications graphiques peuvent manquer, ainsi que KDE. @end itemize -You have been warned! But more than a disclaimer, this is an invitation to -report issues (and success stories!), and to join us in improving it. -@xref{Contribuer}, for more info. +Vous êtes avertis ! Mais plus qu'un avertissement, c'est une invitation à +rapporter les problèmes (et vos succès !) et à nous rejoindre pour améliorer +la distribution. @xref{Contribuer}, pour plus d'info. @node Considérations matérielles @subsection Considérations matérielles -@cindex hardware support on GuixSD -GNU@tie{}GuixSD focuses on respecting the user's computing freedom. It -builds around the kernel Linux-libre, which means that only hardware for -which free software drivers and firmware exist is supported. Nowadays, a -wide range of off-the-shelf hardware is supported on GNU/Linux-libre---from -keyboards to graphics cards to scanners and Ethernet controllers. -Unfortunately, there are still areas where hardware vendors deny users -control over their own computing, and such hardware is not supported on +@cindex support matériel sur GuixSD +GNU@tie{}GuixSD se concentre sur le respect des libertés de ses +utilisateurs. Il est construit autour du noyau Linux-libre, ce qui signifie +que seuls les matériels pour lesquels des pilotes logiciels et des +microgiciels libres sont disponibles sont supportés. De nos jours, une +grande gamme de matériel qu'on peut acheter est supporté par GNU/Linux-libre +— des claviers aux cartes graphiques en passant par les scanners et les +contrôleurs Ethernet. Malheureusement, il reste des produit dont les +fabriquants refusent de laisser le contrôle aux utilisateurs sur leur propre +utilisation de l'ordinateur, et ces matériels ne sont pas supportés par GuixSD. -@cindex WiFi, hardware support -One of the main areas where free drivers or firmware are lacking is WiFi -devices. WiFi devices known to work include those using Atheros chips -(AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre -driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core -Revision 5), which corresponds to the @code{b43-open} Linux-libre driver. -Free firmware exists for both and is available out-of-the-box on GuixSD, as -part of @var{%base-firmware} (@pxref{Référence de système d'exploitation, +@cindex WiFi, support matériel +L'un des types de matériels où les pilotes ou les microgiciels sont le moins +disponibles sont les appareils WiFi. Les appareils WiFi connus pour +fonctionner sont ceux qui utilisent des puces Atheros (AR9271 et AR7010) qui +correspondent au pilote @code{ath9k} de Linux-libre, et ceux qui utilisent +des puces Broadcom/AirForce (BCM43xx avec la révision Wireless-Core 5), qui +correspondent au pilote @code{b43-open} de Linux-libre. Des microgiciels +libres existent pour les deux et sont disponibles directement sur GuixSD, +dans @var{%base-firmware} (@pxref{Référence de système d'exploitation, @code{firmware}}). @cindex RYF, Respects Your Freedom -The @uref{https://www.fsf.org/, Free Software Foundation} runs -@uref{https://www.fsf.org/ryf, @dfn{Respects Your Freedom}} (RYF), a -certification program for hardware products that respect your freedom and -your privacy and ensure that you have control over your device. We -encourage you to check the list of RYF-certified devices. +La @uref{https://www.fsf.org/, Free Software Foundation} a un programme de +certification nommé @uref{https://www.fsf.org/ryf, @dfn{Respects Your +Freedom}} (RYF), pour les produits matériels qui respectent votre liberté et +votre vie privée en s'assurant que vous avez le contrôle sur l'appareil. +Nous vous encourageons à vérifier la liste des appareils certifiés par RYF. -Another useful resource is the @uref{https://www.h-node.org/, H-Node} web -site. It contains a catalog of hardware devices with information about -their support in GNU/Linux. +Une autre ressource utile est le site web @uref{https://www.h-node.org/, +H-Node}. Il contient un catalogue d'appareils avec des informations sur +leur support dans GNU/Linux. @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 -for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs; +pour un système GNU/Linux sur un CPU compatible Intel/AMD 64-bits ; @item i686-linux -for a 32-bit GNU/Linux system on Intel-compatible CPUs. +pour un système GNU/Linux sur un CPU compatible Intel 32-bits ; @end table @c start duplication of authentication part from ``Binary Installation'' -Make sure to download the associated @file{.sig} file and to verify the -authenticity of the image against it, along these lines: +Assurez-vous de télécharger les fichiers @file{.sig} associés et de vérifier +l'authenticité de l'image avec, de cette manière : @example $ wget https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig @@ -8804,229 +9496,240 @@ 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 @c end duplication et relancez la commande @code{gpg --verify}. -This image contains the tools necessary for an installation. It is meant to -be copied @emph{as is} to a large-enough USB stick or DVD. +Cette image contient les outils nécessaires à l'installation. Elle est +faite pour être copiée @emph{telle quelle} sur une clef USB assez grosse ou +un DVD. -@unnumberedsubsubsec Copying to a USB Stick +@unnumberedsubsubsec Copie sur une clef USB -To copy the image to a USB stick, follow these steps: +Pour copier l'image sur une clef USB, suivez ces étapes : @enumerate @item -Decompress the image using the @command{xz} command: +Décompressez l'image avec la commande @command{xz} : @example -xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz +xz -d guixsd-install-@value{VERSION}.@var{système}.iso.xz @end example @item -Insert a USB stick of 1@tie{}GiB or more into your machine, and determine -its device name. Assuming that the USB stick is known as @file{/dev/sdX}, -copy the image with: +Insérez la clef USB de 1@tie{}Gio ou plus dans votre machine et déterminez +son nom d'appareil. En supposant que la clef usb est connue sous le nom de +@file{/dev/sdX}, copiez l'image avec : @example dd if=guixsd-install-@value{VERSION}.x86_64-linux.iso of=/dev/sdX sync @end example -Access to @file{/dev/sdX} usually requires root privileges. +Accéder à @file{/dev/sdX} requiert généralement les privilèges +super-utilisateur. @end enumerate -@unnumberedsubsubsec Burning on a DVD +@unnumberedsubsubsec Graver sur un DVD -To copy the image to a DVD, follow these steps: +Pour copier l'image sur un DVD, suivez ces étapes : @enumerate @item -Decompress the image using the @command{xz} command: +Décompressez l'image avec la commande @command{xz} : @example -xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz +xz -d guixsd-install-@value{VERSION}.@var{système}.iso.xz @end example @item -Insert a blank DVD into your machine, and determine its device name. -Assuming that the DVD drive is known as @file{/dev/srX}, copy the image -with: +Insérez un DVD vierge dans votre machine et déterminez son nom d'appareil. +En supposant que le DVD soit connu sont le nom de @file{/dev/srX}, copiez +l'image avec : @example growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.x86_64.iso @end example -Access to @file{/dev/srX} usually requires root privileges. +Accéder à @file{/dev/srX} requiert généralement les privilèges +super-utilisateur. @end enumerate -@unnumberedsubsubsec Booting +@unnumberedsubsubsec Démarrage -Once this is done, you should be able to reboot the system and boot from the -USB stick or DVD. The latter usually requires you to get in the BIOS or -UEFI boot menu, where you can choose to boot from the USB stick. +Une fois que c'est fait, vous devriez pouvoir redémarrer le système et +démarrer depuis la clef USB ou le DVD. Pour cela, vous devrez généralement +entrer dans le menu de démarrage BIOS ou UEFI, où vous pourrez choisir de +démarrer sur la clef USB. -@xref{Installer GuixSD dans une VM}, if, instead, you would like to install -GuixSD in a virtual machine (VM). +@xref{Installer GuixSD dans une VM}, si, à la place, vous souhaitez installer +GuixSD dans une machine virtuelle (VM). @node Préparer l'installation @subsection Préparer l'installation -Once you have successfully booted your computer using the installation -medium, you should end up with a root prompt. Several console TTYs are -configured and can be used to run commands as root. TTY2 shows this -documentation, browsable using the Info reader commands (@pxref{Top,,, -info-stnd, Stand-alone GNU Info}). The installation system runs the GPM -mouse daemon, which allows you to select text with the left mouse button and -to paste it with the middle button. +Une fois que vous avez démarré votre ordinateur sur le média d'installation, +vous devriez vous retrouver sur un prompt en root. Plusieurs TTY sont +configurées et peuvent être utilisés pour lancer des commandes en root. Le +TTY2 affiche cette documentation, dans la quelle vous pouvez naviguer avec +les commandes du lecteur Info (@pxref{Top,,, info-stnd, Stand-alone GNU +Info}). Le démon de souris GPM tourne sur le système d'installation, ce qui +vous permet de sélectionner du texte avec le bouton gauche de la souris et +de le coller en appuyant sur la molette. @quotation Remarque -Installation requires access to the Internet so that any missing -dependencies of your system configuration can be downloaded. See the -``Networking'' section below. +L'installation nécessite un accès au réseau pour que les dépendances +manquantes de votre configuration système puissent être téléchargées. Voyez +la section « réseau » plus bas. @end quotation -The installation system includes many common tools needed for this task. -But it is also a full-blown GuixSD system, which means that you can install -additional packages, should you need it, using @command{guix package} -(@pxref{Invoquer guix package}). +Le système d'installation inclus plusieurs outils usuels pour requis pour +cette tâche. Mais c'est aussi un système GuixSD complet, ce qui signifie +que vous pouvez installer des paquets supplémentaires si vous en avez +besoin, avec @command{guix package} (@pxref{Invoquer guix package}). -@subsubsection Keyboard Layout +@subsubsection Disposition du clavier -@cindex keyboard layout -The installation image uses the US qwerty keyboard layout. If you want to -change it, you can use the @command{loadkeys} command. For example, the -following command selects the Dvorak keyboard layout: +@cindex disposition du clavier +L'image d'installation utilise la disposition clavier qwerty (US). Si vous +voulez la changer, vous pouvez utiliser la commande @command{loadkeys}. Par +exemple, la commande suivante sélectionne la disposition Dvorak : @example loadkeys dvorak @end example -See the files under @file{/run/current-system/profile/share/keymaps} for a -list of available keyboard layouts. Run @command{man loadkeys} for more -information. +Consultez les fichiers dans @file{/run/current-system/profile/share/keymaps} +pour trouver une liste des dispositions disponibles. Lancez @command{man +loadkey} pour plus d'informations. -@subsubsection Networking +@subsubsection Réseau -Run the following command see what your network interfaces are called: +Lancez la commande suivante pour voir comment vos interfaces réseau sont +appelées : @example ifconfig -a @end example @noindent -@dots{} or, using the GNU/Linux-specific @command{ip} command: +@dots{} ou, avec la commande spécifique à GNU/Linux @command{ip} : @example ip a @end example @c http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20 -Wired interfaces have a name starting with @samp{e}; for example, the -interface corresponding to the first on-board Ethernet controller is called -@samp{eno1}. Wireless interfaces have a name starting with @samp{w}, like -@samp{w1p2s0}. +Les interfaces filaires ont un nom qui commence par @samp{e} ; par exemple, +l'interface qui correspond au premier contrôleur Ethernet sur la carte mère +est appelé @samp{eno1}. Les interfaces sans-fil ont un nom qui commence par +@samp{w}, comme @samp{w1p2s0}. @table @asis -@item Wired connection -To configure a wired network run the following command, substituting -@var{interface} with the name of the wired interface you want to use. +@item Connexion filaire +Pour configure une connexion filaire, lancez la commande suivante, en +remplaçant @var{interface} par le nom de l'interface filaire que vous voulez +utiliser. @example ifconfig @var{interface} up @end example -@item Wireless connection -@cindex wireless +@item Connexion sans-fil +@cindex sans-fil @cindex WiFi -To configure wireless networking, you can create a configuration file for -the @command{wpa_supplicant} configuration tool (its location is not -important) using one of the available text editors such as @command{nano}: +Pour configurer le réseau sans-fil, vous pouvez créer un fichier de +configuration pour l'outil de configuration @command{wpa_supplicant} (son +emplacement importe peu) avec l'un des éditeurs de texte disponibles comme +@command{nano} : @example nano wpa_supplicant.conf @end example -As an example, the following stanza can go to this file and will work for -many wireless networks, provided you give the actual SSID and passphrase for -the network you are connecting to: +Par exemple, la déclaration qui suit peut aller dans ce fichier et +fonctionnera pour plusieurs réseaux sans-fil, si vous donnez le vrai SSID et +la phrase de passe pour le réseau auquel vous vous connectez : @example network=@{ - ssid="@var{my-ssid}" + ssid="@var{mon-ssid}" key_mgmt=WPA-PSK - psk="the network's secret passphrase" + psk="la phrase de passe secrète du réseau" @} @end example -Start the wireless service and run it in the background with the following -command (substitute @var{interface} with the name of the network interface -you want to use): +Démarrez le service sans-file et lancez-le en tache de fond avec la commande +suivante (en remplaçant @var{interface} par le nom de l'interface réseau que +vous voulez utiliser) : @example wpa_supplicant -c wpa_supplicant.conf -i @var{interface} -B @end example -Run @command{man wpa_supplicant} for more information. +Lancez @command{man wpa_supplicant} pour plus d'informations. @end table @cindex DHCP -At this point, you need to acquire an IP address. On a network where IP -addresses are automatically assigned @i{via} DHCP, you can run: +À partir de ce moment, vous avez besoin d'une adresse IP. Sur les réseaux +où les IP sont automatiquement attribuée par DHCP, vous pouvez lancer : @example dhclient -v @var{interface} @end example -Try to ping a server to see if networking is up and running: +Essayez de pinger un serveur pour voir si le réseau fonctionne : @example ping -c 3 gnu.org @end example -Setting up network access is almost always a requirement because the image -does not contain all the software and tools that may be needed. +Mettre en place un accès réseau est presque toujours une nécessité parce que +l'image ne contient pas tous les logiciels et les outils dont vous pourriez +avoir besoin. -@cindex installing over SSH -If you want to, you can continue the installation remotely by starting an -SSH server: +@cindex installer par SSH +Si vous le souhaitez, vous pouvez continuer l'installation à distance en +démarrant un serveur SSH : @example herd start ssh-daemon @end example -Make sure to either set a password with @command{passwd}, or configure -OpenSSH public key authentication before logging in. +Assurez-vous soit de définir un mot de passe avec @command{passwd}, soit de +configurer l'authentification par clef OpenSSH avant de vous connecter. -@subsubsection Disk Partitioning +@subsubsection Partitionnement -Unless this has already been done, the next step is to partition, and then -format the target partition(s). +À moins que vous ne l'ayez déjà fait, l'étape suivante consiste à +partitionner le disque puis à formater les partitions cibles. -The installation image includes several partitioning tools, including Parted -(@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, and -@command{cfdisk}. Run it and set up your disk with the partition layout you -want: +L'image d'installation inclus plusieurs outils de partitionnement, dont +Parted (@pxref{Overview,,, parted, GNU Parted User Manual}), +@command{fdisk}, et @command{cfdisk}. Lancez-en un et paramétrez votre +disque avec le partitionnement qui vous convient : @example cfdisk @end example -If your disk uses the GUID Partition Table (GPT) format and you plan to -install BIOS-based GRUB (which is the default), make sure a BIOS Boot -Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual}). +Si votre disque utilise le format des tables de partitions GUID (GPT) et que +vous souhaitez installer un GRUB pour système BIOS (c'est le cas par +défaut), assurez-vous de créer qu'une partition de démarrage BIOS soit bien +disponible (@pxref{BIOS installation,,, grub, GNU GRUB manual}). @cindex EFI, installation @cindex UEFI, installation -@cindex ESP, EFI system partition -If you instead wish to use EFI-based GRUB, a FAT32 @dfn{EFI System -Partition} (ESP) is required. This partition should be mounted at -@file{/boot/efi} and must have the @code{esp} flag set. E.g., for -@command{parted}: +@cindex ESP, partition système EFI +Si vous souhaitez à la place utilise GRUB pour système EFI, vous devrez +avoir une @dfn{partition système EFI} (ESP) en FAT32. Cette partition +devrait être montée dans @file{/boot/efi} et doit avoir le drapeau +@code{esp}. P.@: ex.@: pour @command{parted} : @example parted /dev/sda set 1 esp on @@ -9035,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 encrypted disk -If you are instead planning to encrypt the root partition, you can use the -Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html, +@cindex chiffrement du disque +Si vous voulez plutôt chiffrer la partition racine, vous pouvez utiliser les +utilitaires Cryptsetup et LUKS pour cela (voir @inlinefmtifelse{html, @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 @@ -9078,80 +9783,87 @@ cryptsetup open --type luks /dev/sda2 my-partition mkfs.ext4 -L my-root /dev/mapper/my-partition @end example -Once that is done, mount the target file system under @file{/mnt} with a -command like (again, assuming @code{my-root} is the label of the root file -system): +Une fois cela effectué, montez le système de fichier cible dans @file{/mnt} +avec une commande comme (de nouveau, en supposant que @code{my-root} est +l'étiquette du système de fichiers racine) : @example mount LABEL=my-root /mnt @end example -Also mount any other file systems you would like to use on the target system -relative to this path. If you have @file{/boot} on a separate partition for -example, mount it at @file{/mnt/boot} now so it is found by @code{guix -system init} afterwards. +Montez aussi tous les systèmes de fichiers que vous voudriez utiliser sur le +système cible relativement à ce chemin. Si vous avez un @file{/boot} sur +une partition séparé par exemple, montez-le sur @file{/mnt/boot} maintenant +pour qu'il puisse être trouvé par @code{guix system init} ensuite. -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 swapon /dev/sda3 @end example -Alternatively, you may use a swap file. For example, assuming that in the -new system you want to use the file @file{/swapfile} as a swap file, you -would run@footnote{This example will work for many types of file systems -(e.g., ext4). However, for copy-on-write file systems (e.g., btrfs), the -required steps may be different. For details, see the manual pages for -@command{mkswap} and @command{swapon}.}: +Autrement, vous pouvez utiliser un fichier de swap. Par exemple, en +supposant que dans le nouveau système vous voulez utiliser le fichier +@file{/swapfile} comme fichier de swap, vous lanceriez@footnote{Cet exemple +fonctionnera sur plusieurs types de systèmes de fichiers (p.@: ex.@: ext4). +Cependant, pour les systèmes de fichiers qui utilisent la copie sur écriture +(COW) comme btrfs, les étapes requises peuvent varier. Pour plus de +détails, regardez les pages de manuel de @command{mkswap} et +@command{swapon}.} : @example -# This is 10 GiB of swap space. Adjust "count" to change the size. +# Cela représente 10 Gio d'espace d'échange. Ajustez « count » pour changer la taille. dd if=/dev/zero of=/mnt/swapfile bs=1MiB count=10240 -# For security, make the file readable and writable only by root. +# Par sécurité, laissez le fichier en lecture et en écriture uniquement pour root. chmod 600 /mnt/swapfile mkswap /mnt/swapfile swapon /mnt/swapfile @end example -Note that if you have encrypted the root partition and created a swap file -in its file system as described above, then the encryption also protects the -swap file, just like any other file in that file system. +Remarquez que si vous avez chiffré la partition racine et créé un fichier +d'échange dans son système de fichier comme décrit ci-dessus, alors le +chiffrement protégera aussi le fichier d'échange, comme n'importe quel +fichier de ce système de fichiers. @node Effectuer l'installation @subsection Effectuer l'installation -With the target partitions ready and the target root mounted on @file{/mnt}, -we're ready to go. First, run: +Lorsque la partition cible est prête et que les autres partitions sont +montées, on est prêt à commencer l'installation. Commencez par : @example herd start cow-store /mnt @end example -This makes @file{/gnu/store} copy-on-write, such that packages added to it -during the installation phase are written to the target disk on @file{/mnt} -rather than kept in memory. This is necessary because the first phase of -the @command{guix system init} command (see below) entails downloads or -builds to @file{/gnu/store} which, initially, is an in-memory file system. - -Next, you have to edit a file and provide the declaration of the operating -system to be installed. To that end, the installation system comes with -three text editors. We recommend GNU nano (@pxref{Top,,, nano, GNU nano -Manual}), which supports syntax highlighting and parentheses matching; other -editors include GNU Zile (an Emacs clone), and nvi (a clone of the original -BSD @command{vi} editor). We strongly recommend storing that file on the -target root file system, say, as @file{/mnt/etc/config.scm}. Failing to do -that, you will have lost your configuration file once you have rebooted into -the newly-installed system. +Cela rend @file{/gnu/store} capable de faire de la copie sur écriture, de +sorte que les paquets ajoutés pendant l'installation sont écrits sur le +disque cible sur @file{/mnt} plutôt que gardés en mémoire. Cela est +nécessaire parce que la première phase de la commande @command{guix system +init} (voir plus bas) implique de télécharger ou de construire des éléments +de @file{/gnu/store} qui est initialement un système de fichiers en mémoire. + +Ensuite, vous devrez modifier un fichier et fournir la déclaration du +système à installer. Pour cela, le système d'installation propose trois +éditeurs de texte. Nous recommandons GNU nano (@pxref{Top,,, nano, GNU nano +Manual}), qui supporte la coloration syntaxique la correspondance de +parenthèses ; les autres éditeurs sont GNU Zile (un clone d'Emacs) et nvi +(un clone de l'éditeur @command{vi} original de BSD). Nous recommandons +vivement de stocker ce fichier sur le système de fichier racine cible, +disons en tant que @file{/mnt/etc/config.scm}. Sinon, vous perdrez votre +fichier de configuration une fois que vous aurez redémarré sur votre nouveau +système. -@xref{Utiliser le système de configuration}, for an overview of the configuration -file. The example configurations discussed in that section are available -under @file{/etc/configuration} in the installation image. Thus, to get -started with a system configuration providing a graphical display server (a -``desktop'' system), you can run something along these lines: +@xref{Utiliser le système de configuration}, pour un aperçu de comment créer votre +fichier de configuration. Les exemples de configuration dont on parle dans +cette section sont disponibles dans @file{/etc/configuration} sur l'image +d'installation. Ainsi, pour commencer avec une configuration du système qui +fournit un serveur d'affichage graphique (un système de « bureau »), vous +pouvez lancer ce qui suit : @example # mkdir /mnt/etc @@ -9159,93 +9871,97 @@ started with a system configuration providing a graphical display server (a # nano /mnt/etc/config.scm @end example -You should pay attention to what your configuration file contains, and in -particular: +Vous devriez faire attention à ce que contient votre fichier de +configuration, en particulier : @itemize @item -Make sure the @code{bootloader-configuration} form refers to the target you -want to install GRUB on. It should mention @code{grub-bootloader} if you -are installing GRUB in the legacy way, or @code{grub-efi-bootloader} for -newer UEFI systems. For legacy systems, the @code{target} field names a -device, like @code{/dev/sda}; for UEFI systems it names a path to a mounted -EFI partition, like @code{/boot/efi}, and do make sure the path is actually -mounted. +Assurez-vous que la forme @code{bootloader-configuration} se réfère à la +cible où vous voulez installer GRUB. Elle devrait aussi mentionner +@code{grub-bootloader} si vous installer GRUB en mode BIOS (ou « legacy ») +ou @code{grub-efi-bootloader} pour les système UEFI plus récents. Pour les +anciens systèmes, le champs @code{target} contient un périphérique comme +@code{/dev/sda} ; pour les systèmes UEFI il contient un chemin vers une +partition EFI montée, comme @code{/boot/efi}, et assurez-vous que ce chemin +est bien monté. @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 sets the value of @code{title} to -@code{'label}. +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 -If there are encrypted or RAID partitions, make sure to add a -@code{mapped-devices} field to describe them (@pxref{Périphériques mappés}). +Si vous avez des partitions RAID ou chiffrées, assurez-vous d'ajouter un +champ @code{mapped-device} pour les décrire (@pxref{Périphériques mappés}). @end itemize -Once you are done preparing the configuration file, the new system must be -initialized (remember that the target root file system is mounted under -@file{/mnt}): +Une fois que vous avez fini les préparatifs sur le fichier de configuration, +le nouveau système peut être initialisé (rappelez-vous que le système de +fichiers racine cible est dans @file{/mnt}) : @example guix system init /mnt/etc/config.scm /mnt @end example @noindent -This copies all the necessary files and installs GRUB on @file{/dev/sdX}, -unless you pass the @option{--no-bootloader} option. For more information, -@pxref{Invoquer guix system}. This command may trigger downloads or builds -of missing packages, which can take some time. - -Once that command has completed---and hopefully succeeded!---you can run -@command{reboot} and boot into the new system. The @code{root} password in -the new system is initially empty; other users' passwords need to be -initialized by running the @command{passwd} command as @code{root}, unless -your configuration specifies otherwise (@pxref{user-account-password, user -account passwords}). - -@cindex upgrading GuixSD -From then on, you can update GuixSD whenever you want by running -@command{guix pull} as @code{root} (@pxref{Invoquer guix pull}), and then -running @command{guix system reconfigure} to build a new system generation -with the latest packages and services (@pxref{Invoquer guix system}). We -recommend doing that regularly so that your system includes the latest -security updates (@pxref{Mises à jour de sécurité}). - -Join us on @code{#guix} on the Freenode IRC network or on -@file{guix-devel@@gnu.org} to share your experience---good or not so good. +Cela copie tous les fichiers nécessaires et installe GRUB sur +@file{/dev/sdX} à moins que vous ne passiez l'option +@option{--no-bootloader}. Pour plus d'informations, @pxref{Invoquer guix system}. Cette commande peut engendrer des téléchargements ou des +constructions pour les paquets manquants, ce qui peut prendre du temps. + +Une fois que cette commande a terminée — et on l'espère réussi ! — vous +pouvez lancer @command{reboot} et démarrer sur votre nouveau système. Le +mot de passe @code{root} est d'abord vide ; les mots de passe des autres +utilisateurs doivent être initialisés avec la commande @command{passwd} en +tant que @code{root}, à mois que votre configuration ne spécifie autre chose +(@pxref{user-account-password, mot de passe des comptes utilisateurs}). + +@cindex mettre à jour GuixSD +À partir de maintenant, vous pouvez mettre à jour GuixSD lorsque vous le +souhaitez en lançant @command{guix pull} en tant que @code{root} +(@pxref{Invoquer guix pull}), puis en lançant @command{guix system +reconfigure} pour construire une nouvelle génération du système avec les +derniers paquets et les derniers services (@pxref{Invoquer guix system}). +Nous vous recommandons de le faire régulièrement pour que votre système +inclus les dernières mises à jour de sécurité (@pxref{Mises à jour de sécurité}). + +Rejoignez-nous sur @code{#guix} sur le réseau IRC Freenode ou sur +@file{guix-devel@@gnu.org} pour partager votre expérience — bonne ou +mauvaise. @node Installer GuixSD dans une VM -@subsection Installing GuixSD in a Virtual Machine +@subsection Installer GuixSD sur une machine virtuelle -@cindex virtual machine, GuixSD installation -@cindex virtual private server (VPS) -@cindex VPS (virtual private server) -If you'd like to install GuixSD in a virtual machine (VM) or on a virtual -private server (VPS) rather than on your beloved machine, this section is -for you. +@cindex machine virtuelle, installation de GuixSD +@cindex serveur privé virtuel (VPS) +@cindex VPS (serveur privé virtuel) +Si vous souhaitez installer GuixSD sur une machine virtuelle (VM) ou un +serveur privé virtuel (VPS) plutôt que sur votre machine chérie, cette +section est faite pour vous. -To boot a @uref{http://qemu.org/,QEMU} VM for installing GuixSD in a disk -image, follow these steps: +Pour démarrer une VM @uref{http://qemu.org/,QEMU} pour installer GuixSD sur +une image disque, suivez ces étapes : @enumerate @item -First, retrieve and decompress the GuixSD installation image as described -previously (@pxref{Installation depuis une clef USB ou un DVD}). +Tout d'abord récupérez et décompressez l'image d'installation de GuixSD +comme décrit précédemment (@pxref{Installation depuis une clef USB ou un DVD}). @item -Create a disk image that will hold the installed system. To make a -qcow2-formatted disk image, use the @command{qemu-img} command: +Créez une image disque qui contiendra le système installé. Pour créer une +image qcow2, utilise la commande @command{qemu-img} : @example qemu-img create -f qcow2 guixsd.img 50G @end example -The resulting file will be much smaller than 50 GB (typically less than 1 -MB), but it will grow as the virtualized storage device is filled up. +Le fichier qui en résulte sera bien plus petit que les 50 Go (habituellement +moins de 1 Mo) mais il grossira au fur et à mesure que le stockage virtuel +grossira. @item -Boot the USB installation image in an VM: +Démarrez l'image d'installation USB dans une VM : @example qemu-system-x86_64 -m 1024 -smp 1 \ @@ -9254,74 +9970,80 @@ qemu-system-x86_64 -m 1024 -smp 1 \ -drive file=guixsd.img @end example -The ordering of the drives matters. +L'ordre des périphérique est important -In the VM console, quickly press the @kbd{F12} key to enter the boot menu. -Then press the @kbd{2} key and the @kbd{RET} key to validate your selection. +Dans la console de la VM, appuyez rapidement sur @kbd{F12} pour entrer dans +le menu de démarrage. Ensuite appuyez sur @kbd{2} et la touche @kbd{Entrée} +pour valider votre choix. @item -You're now root in the VM, proceed with the installation process. -@xref{Préparer l'installation}, and follow the instructions. +Vous êtes maintenant root dans la VM, continuez en suivant la procédure +d'installation. @xref{Préparer l'installation}, et suivez les +instructions. @end enumerate -Once installation is complete, you can boot the system that's on your -@file{guixsd.img} image. @xref{Lancer GuixSD dans une VM}, for how to do that. +Une fois l'installation terminée, vous pouvez démarrer le système dans votre +image @file{guixsd.img}. @xref{Lancer GuixSD dans une VM}, pour une manière de +faire. @node Construire l'image d'installation @subsection Construire l'image d'installation -@cindex installation image -The installation image described above was built using the @command{guix -system} command, specifically: +@cindex image d'installation +L'image d'installation décrite plus haut a été construite avec la commande +@command{guix system}, plus précisément : @example guix system disk-image gnu/system/install.scm @end example -Have a look at @file{gnu/system/install.scm} in the source tree, and see -also @ref{Invoquer guix system} for more information about the installation -image. +Regardez le fichier @file{gnu/system/install.scm} dans l'arborescence des +sources et regardez aussi @ref{Invoquer guix system} pour plus +d'informations sur l'image d'installation. @subsection Construire l'image d'installation pour les cartes ARM -Many ARM boards require a specific variant of the -@uref{http://www.denx.de/wiki/U-Boot/, U-Boot} bootloader. +De nombreuses cartes ARM requièrent une variante spécifique du chargeur +d'amorçage @uref{http://www.denx.de/wiki/U-Boot/, U-Boot}. -If you build a disk image and the bootloader is not available otherwise (on -another boot drive etc), it's advisable to build an image that includes the -bootloader, specifically: +Si vous construisez une image disque et que le chargeur d'amorçage n'est pas +disponible autrement (sur un autre périphérique d'amorçage etc), il est +recommandé de construire une image qui inclus le chargeur d'amorçage, plus +précisément : @example guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) "A20-OLinuXino-Lime2")' @end example -@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an -invalid board, a list of possible boards will be printed. +@code{A20-OLinuXino-Lime2} est le nom de la carte. Si vous spécifiez une +carte invalide, une liste de cartes possibles sera affichée. @node Configuration système @section Configuration système -@cindex system configuration -The Guix System Distribution supports a consistent whole-system -configuration mechanism. By that we mean that all aspects of the global -system configuration---such as the available system services, timezone and -locale settings, user accounts---are declared in a single place. Such a -@dfn{system configuration} can be @dfn{instantiated}---i.e., effected. +@cindex configuration du système +La distribution système Guix utilise un mécanisme de configuration du +système cohérent. On veut dire par là que tous les aspects de la +configuration globale du système — comme la disponibilité des services +système, des fuseaux horaires, des paramètres linguistiques, des comptes +utilisateurs — sont déclarés à un seul endroit. Une telle +@dfn{configuration système} peut être @dfn{instanciée}, c'est-à-dire entrer +en vigueur. @c Yes, we're talking of Puppet, Chef, & co. here. ↑ -One of the advantages of putting all the system configuration under the -control of Guix is that it supports transactional system upgrades, and makes -it possible to roll back to a previous system instantiation, should -something go wrong with the new one (@pxref{Fonctionnalités}). Another advantage -is that it makes it easy to replicate the exact same configuration across -different machines, or at different points in time, without having to resort -to additional administration tools layered on top of the own tools of the -system. - -This section describes this mechanism. First we focus on the system -administrator's viewpoint---explaining how the system is configured and -instantiated. Then we show how this mechanism can be extended, for instance -to support new system services. +L'un des avantages de placer toute la configuration du système sous le +contrôle de Guix est de permettre les mises à jour transactionnelles du +système ce qui rend possible le fait de revenir en arrière à une +instanciation précédent du système, si quelque chose se passait mal avec le +nouveau (@pxref{Fonctionnalités}). Un autre avantage est de rendre facile la +réplication de la même configuration sur plusieurs machines différentes ou à +différents moments dans le temps, sans avoir à recourir à des outils +d'administrations supplémentaires au-dessus des outils du système. + +Cette section décrit ce mécanisme. Tout d'abord nous nous concentrons sur +le point de vue de l'administrateur système en expliquant comment le système +est configuré et instancié. Ensuite nous montrons comment ce mécanisme peut +être étendu, par exemple pour supporter de nouveaux services systèmes. @menu * Utiliser le système de configuration:: Personnaliser votre système @@ -9351,39 +10073,40 @@ to support new system services. @node Utiliser le système de configuration @subsection Utiliser le système de configuration -The operating system is configured by providing an @code{operating-system} -declaration in a file that can then be passed to the @command{guix system} -command (@pxref{Invoquer guix system}). A simple setup, with the default -system services, the default Linux-Libre kernel, initial RAM disk, and boot -loader looks like this: +Le système d'exploitation est configuré en fournissant une déclaration +@code{operating-system} dans un fichier qui peut être passé à la command +@command{guix system} (@pxref{Invoquer guix system}). Une configuration +simple, avec les services systèmes par défaut, le noyau Linux-Libre par +défaut, un disque de RAM initial et un chargeur d'amorçage ressemble à ceci +: @findex operating-system @lisp @include os-config-bare-bones.texi @end lisp -This example should be self-describing. Some of the fields defined above, -such as @code{host-name} and @code{bootloader}, are mandatory. Others, such -as @code{packages} and @code{services}, can be omitted, in which case they -get a default value. +Cet exemple devrait se comprendre de lui-même. Certains champs définis +ci-dessus, comme @code{host-name} et @code{bootloader} sont obligatoires. +D'autres comme @code{packages} et @code{services} peuvent être omis auquel +cas ils ont une valeur par défaut. -Below we discuss the effect of some of the most important fields -(@pxref{Référence de système d'exploitation}, for details about all the available -fields), and how to @dfn{instantiate} the operating system using -@command{guix system}. +Ci-dessous nous discutons des effets de certains des champs les plus +importants (@pxref{Référence de système d'exploitation}, pour des détails sur tous +les champs disponibles) et comment @dfn{instancier} le système +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 @@ -9391,22 +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 Globally-Visible Packages +@unnumberedsubsubsec Paquets visibles sur tout le système @vindex %base-packages -The @code{packages} field lists packages that will be globally visible on -the system, for all user accounts---i.e., in every user's @code{PATH} -environment variable---in addition to the per-user profiles (@pxref{Invoquer guix package}). The @var{%base-packages} variable provides all the tools -one would expect for basic user and administrator tasks---including the GNU -Core Utilities, the GNU Networking Utilities, the GNU Zile lightweight text -editor, @command{find}, @command{grep}, etc. The example above adds -GNU@tie{}Screen and OpenSSH to those, taken from the @code{(gnu packages -screen)} and @code{(gnu packages ssh)} modules (@pxref{Modules de paquets}). -The @code{(list package output)} syntax can be used to add a specific output -of a package: +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 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 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)) @@ -9419,13 +10143,14 @@ of a package: @end lisp @findex specification->package -Referring to packages by variable name, like @code{bind} above, has the -advantage of being unambiguous; it also allows typos and such to be -diagnosed right away as ``unbound variables''. The downside is that one -needs to know which module defines which package, and to augment the -@code{use-package-modules} line accordingly. To avoid that, one can use the -@code{specification->package} procedure of the @code{(gnu packages)} module, -which returns the best package for a given name or name and version: +Se référer aux paquets par le nom de leur variable, comme @code{bind} +ci-dessus, a l'avantage d'être sans ambiguïté ; cela permet aussi de se +rendre rapidement compte de coquilles quand on a des « variables non liées +». L'inconvénient est qu'on a besoin de savoir dans quel module est défini +le paquet, et de modifier la ligne @code{use-package-modules} en +conséquence. Pour éviter cela, on peut utiliser la procédure +@code{specification->package} du module @code{(gnu packages)}, qui renvoie +le meilleur paquet pour un nom donné ou un nom et une version : @lisp (use-modules (gnu packages)) @@ -9437,32 +10162,34 @@ which returns the best package for a given name or name and version: %base-packages))) @end lisp -@unnumberedsubsubsec System Services +@unnumberedsubsubsec Services systèmes @cindex services @vindex %base-services -The @code{services} field lists @dfn{system services} to be made available -when the system starts (@pxref{Services}). The @code{operating-system} -declaration above specifies that, in addition to the basic services, we want -the @command{lshd} secure shell daemon listening on port 2222 -(@pxref{Services réseau, @code{lsh-service}}). Under the hood, -@code{lsh-service} arranges so that @code{lshd} is started with the right -command-line options, possibly with supporting configuration files generated -as needed (@pxref{Définir des services}). - -@cindex customization, of services +Le champ @code{services} liste les @dfn{services système} à rendre +disponible lorsque le système démarre (@pxref{Services}). La déclaration +@code{operating-system} au-dessus spécifie que, en plus des services de +base, on veut que le démon ssh @command{lshd} écoute sur le port 2222 +(@pxref{Services réseau, @code{lsh-service}}). Sous le capot, +@code{lsh-service} s'arrange pour que @code{lshd} soit lancé avec les bonnes +options de la ligne de commande, éventuellement en générant des fichiers de +configuration (@pxref{Définir des services}). + +@cindex personnalisation des services @findex modify-services -Occasionally, instead of using the base services as is, you will want to -customize them. To do this, use @code{modify-services} (@pxref{Référence de service, @code{modify-services}}) to modify the list. +Parfois, plutôt que d'utiliser les services de base tels-quels, on peut +vouloir les personnaliser. Pour cela, utilisez @code{modify-services} +(@pxref{Référence de service, @code{modify-services}}) pour modifier la liste. -For example, suppose you want to modify @code{guix-daemon} and Mingetty (the -console log-in) in the @var{%base-services} list (@pxref{Services de base, -@code{%base-services}}). To do that, you can write the following in your -operating system declaration: +Par exemple, supposons que vous souhaitiez modifier @code{guix-daemon} et +Mingetty (l'écran de connexion en console) dans la liste +@var{%base-services} (@pxref{Services de base, @code{%base-services}}). Pour +cela, vous pouvez écrire ce qui suit dans votre déclaration de système +d'exploitation : @lisp (define %my-services - ;; My very own list of services. + ;; Ma propre liste de services. (modify-services %base-services (guix-service-type config => (guix-configuration @@ -9472,54 +10199,53 @@ operating system declaration: (mingetty-service-type config => (mingetty-configuration (inherit config))))) - (operating-system ;; @dots{} (services %my-services)) @end lisp -This changes the configuration---i.e., the service parameters---of the -@code{guix-service-type} instance, and that of all the -@code{mingetty-service-type} instances in the @var{%base-services} list. -Observe how this is accomplished: first, we arrange for the original -configuration to be bound to the identifier @code{config} in the @var{body}, -and then we write the @var{body} so that it evaluates to the desired -configuration. In particular, notice how we use @code{inherit} to create a -new configuration which has the same values as the old configuration, but -with a few modifications. - -@cindex encrypted disk -The configuration for a typical ``desktop'' usage, with an encrypted root -partition, the X11 display server, GNOME and Xfce (users can choose which of -these desktop environments to use at the log-in screen by pressing -@kbd{F1}), network management, power management, and more, would look like -this: +Cela modifie la configuration — c.-à-d.@: les paramètres du service — de +l'instance de @code{guix-service-type}, et de toutes les instances de +@code{mingetty-service-type} dans la liste @var{%base-services}. Remarquez +comment on fait cela : d'abord, on s'arrange pour que la configuration de +départ soit liée à l'identifiant @code{config} dans @var{body} puis on écrit +@var{body} pour qu'il s'évalue en la configuration désirée. En particulier, +remarquez comment on utilise @code{inherit} pour créer une nouvelle +configuration qui a les même valeurs que l'ancienne configuration, avec +seulement quelques modifications. + +@cindex chiffrement du disque +La configuration pour une utilisation de « bureau » typique, avec une +partition racine chiffrée, le serveur d'affichage X11, GNOME et Xfce (les +utilisateurs peuvent choisir l'environnement de bureau sur l'écran de +connexion en appuyant sur @kbd{F1}), la gestion du réseau, la gestion de +l'énergie, et bien plus, ressemblerait à ceci : @lisp @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 @end lisp -This example refers to the @file{/boot/efi} file system by its UUID, -@code{1234-ABCD}. Replace this UUID with the right UUID on your system, as -returned by the @command{blkid} command. +Cet exemple se réfère au système de fichier @file{/boot/efi} par son UUID, +@code{1234-ABCD}. Remplacez cet UUID par le bon UUID de votre système, +renvoyé par la commande @command{blkid}. -@xref{Services de bureaux}, for the exact list of services provided by -@var{%desktop-services}. @xref{Certificats X.509}, for background -information about the @code{nss-certs} package that is used here. +@xref{Services de bureaux}, pour la liste exacte des services fournis par +@var{%desktop-services}. @xref{Certificats X.509}, pour des informations +sur le paquet @code{nss-certs} utilisé ici. -Again, @var{%desktop-services} is just a list of service objects. If you -want to remove services from there, you can do so using the procedures for -list filtering (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile -Reference Manual}). For instance, the following expression returns a list -that contains all the services in @var{%desktop-services} minus the Avahi -service: +Encore une fois, @var{%desktop-services} n'est qu'une liste d'objets +service. Si vous voulez en supprimer des services, vous pouvez le faire +avec des procédures pour les listes (@pxref{SRFI-1 Filtering and +Partitioning,,, guile, GNU Guile Reference Manual}). Par exemple, +l'expression suivante renvoie une liste qui contient tous les services dans +@var{%desktop-services} sauf le service Avahi : @example (remove (lambda (service) @@ -9527,136 +10253,142 @@ service: %desktop-services) @end example -@unnumberedsubsubsec Instantiating the System - -Assuming the @code{operating-system} declaration is stored in the -@file{my-system-config.scm} file, the @command{guix system reconfigure -my-system-config.scm} command instantiates that configuration, and makes it -the default GRUB boot entry (@pxref{Invoquer guix system}). - -The normal way to change the system configuration is by updating this file -and re-running @command{guix system reconfigure}. One should never have to -touch files in @file{/etc} or to run commands that modify the system state -such as @command{useradd} or @command{grub-install}. In fact, you must -avoid that since that would not only void your warranty but also prevent you -from rolling back to previous versions of your system, should you ever need -to. - -@cindex roll-back, of the operating system -Speaking of roll-back, each time you run @command{guix system reconfigure}, -a new @dfn{generation} of the system is created---without modifying or -deleting previous generations. Old system generations get an entry in the -bootloader boot menu, allowing you to boot them in case something went wrong -with the latest generation. Reassuring, no? The @command{guix system -list-generations} command lists the system generations available on disk. -It is also possible to roll back the system via the commands @command{guix -system roll-back} and @command{guix system switch-generation}. - -Although the command @command{guix system reconfigure} will not modify -previous generations, 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}). - -@unnumberedsubsubsec The Programming Interface - -At the Scheme level, the bulk of an @code{operating-system} declaration is -instantiated with the following monadic procedure (@pxref{La monad du dépôt}): - -@deffn {Monadic Procedure} operating-system-derivation os -Return a derivation that builds @var{os}, an @code{operating-system} object -(@pxref{Dérivations}). - -The output of the derivation is a single directory that refers to all the -packages, configuration files, and other supporting files needed to -instantiate @var{os}. +@unnumberedsubsubsec Instancier le système + +En supposant que la déclaration @code{operating-system} est stockée dans le +fichier @file{my-system-config.scm}, la commande @command{guix system +reconfigure my-system-config.scm} instancie cette configuration et en fait +l'entrée par défaut dans GRUB (@pxref{Invoquer guix system}). + +Pour changer la configuration du système, on met normalement à jour ce +fichier et on relance @command{guix system reconfigure}. On ne devrait +jamais avoir à modifier de fichiers dans @file{/etc} ou à lancer des +commandes qui modifient l'état du système comme @command{useradd} ou +@command{grub-install}. En fait, vous devez les éviter parce que non +seulement ça annulerait vos garanties, mais ça empêcherait aussi de revenir +à des versions précédents du système, si vous en avez besoin. + +@cindex revenir en arrière dans la configuration du système +En parlant de revenir en arrière, à chaque fois que vous lancez +@command{guix system reconfigure}, une nouvelle @dfn{génération} du système +est crée — sans modifier ou supprimer les générations précédentes. Les +anciennes générations du système ont une entrée dans le menu du chargeur +d'amorçage, ce qui vous permet de démarrer dessus au cas où quelque chose se +serait mal passé avec la dernière génération. C'est rassurant, non ? La +commande @command{guix system list-generations} liste les générations du +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}. + +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 +Renvoie une dérivation qui construit @var{os}, un objet +@code{operating-system} (@pxref{Dérivations}). + +La sortie de la dérivation est un répertoire qui se réfère à tous les +paquets et d'autres fichiers supports requis pour instancier @var{os}. @end deffn -This procedure is provided by the @code{(gnu system)} module. Along with -@code{(gnu services)} (@pxref{Services}), this module contains the guts of -GuixSD. Make sure to visit it! +Cette procédure est fournie par le module @code{(gnu system)}. Avec +@code{(gnu srevices)} (@pxref{Services}), ce module contient les entrailles +de GuixSD. Ouvrez-le un jour ! @node Référence de système d'exploitation -@subsection @code{operating-system} Reference +@subsection Référence de @code{operating-system} -This section summarizes all the options available in @code{operating-system} -declarations (@pxref{Utiliser le système de configuration}). +Cette section résume toutes les options disponibles dans les déclarations +@code{operating-system} (@pxref{Utiliser le système de configuration}). -@deftp {Data Type} operating-system -This is the data type representing an operating system configuration. By -that, we mean all the global system configuration, not per-user -configuration (@pxref{Utiliser le système de configuration}). +@deftp {Type de données} operating-system +C'est le type de données représentant une configuration d'un système +d'exploitation. On veut dire par là toute la configuration globale du +système, mais pas la configuration par utilisateur (@pxref{Utiliser le système de configuration}). @table @asis -@item @code{kernel} (default: @var{linux-libre}) -The package object of the operating system kernel to use@footnote{Currently -only the Linux-libre kernel is supported. In the future, it will be -possible to use the GNU@tie{}Hurd.}. - -@item @code{kernel-arguments} (default: @code{'()}) -List of strings or gexps representing additional arguments to pass on the -command-line of the kernel---e.g., @code{("console=ttyS0")}. +@item @code{kernel} (par défaut : @var{linux-libre}) +L'objet paquet d'un noyau de système d'exploitation à +utiliser@footnote{Actuellement seul le noyau Linux-libre est supporté. Dans +le futur, il sera possible d'utiliser GNU@tie{}Hurd.}. + +@item @code{kernel-arguments} (par défaut : @code{'()}) +Liste de chaînes ou de gexps représentant des arguments supplémentaires à +passer sur la ligne de commande du noyau — p.@: ex.@: +@code{("console=ttyS0")}. @item @code{bootloader} -The system bootloader configuration object. @xref{Configuration du chargeur d'amorçage}. +L'objet de configuration du chargeur d'amorçage. @xref{Configuration du chargeur d'amorçage}. -@item @code{initrd-modules} (default: @code{%base-initrd-modules}) +@item @code{initrd-modules} (par défaut : @code{%base-initrd-modules}) @cindex initrd -@cindex initial RAM disk -The list of Linux kernel modules that need to be available in the initial -RAM disk. @xref{Disque de RAM initial}. +@cindex disque de RAM initial +La liste des modules du noyau linux requis dans l'image disque de RAM +initiale. @xref{Disque de RAM initial}. -@item @code{initrd} (default: @code{base-initrd}) -A monadic procedure that returns an initial RAM disk for the Linux kernel. -This field is provided to support low-level customization and should rarely -be needed for casual use. @xref{Disque de RAM initial}. +@item @code{initrd} (par défaut : @code{base-initrd}) +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} (default: @var{%base-firmware}) +@item @code{firmware} (par défaut : @var{%base-firmware}) @cindex firmware -List of firmware packages loadable by the operating system kernel. +Liste les paquets de microgiciels chargeables pour le noyau de système +d'exploitation. -The default includes firmware needed for Atheros- and Broadcom-based WiFi -devices (Linux-libre modules @code{ath9k} and @code{b43-open}, -respectively). @xref{Considérations matérielles}, for more info on supported -hardware. +La valeur par défaut contient les microgiciels requis pour les périphériques +WiFi Atheros et Broadcom (modules @code{ath9k} et @code{b43-open} de +Linux-libre, respectivement). @xref{Considérations matérielles}, pour plus +d'info sur les périphériques supportés. @item @code{host-name} -The host name. +Le nom d'hôte. @item @code{hosts-file} -@cindex hosts file -A file-like object (@pxref{G-Expressions, file-like objects}) for use as -@file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference -Manual}). The default is a file with entries for @code{localhost} and -@var{host-name}. +@cindex fichier hosts +Un objet simili-fichier (@pxref{G-Expressions, file-like objects}) à +utiliser comme @file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C +Library Reference Manual}). La valeur par défaut est un fichier avec des +entrées pour @code{localhost} et @var{host-name}. -@item @code{mapped-devices} (default: @code{'()}) -A list of mapped devices. @xref{Périphériques mappés}. +@item @code{mapped-devices} (par défaut : @code{'()}) +Une liste de périphériques mappés. @xref{Périphériques mappés}. @item @code{file-systems} -A list of file systems. @xref{Systèmes de fichiers}. +Une liste de systèmes de fichiers. @xref{Systèmes de fichiers}. -@item @code{swap-devices} (default: @code{'()}) -@cindex swap devices -A list of strings identifying devices or files to be used for ``swap space'' -(@pxref{Memory Concepts,,, libc, The GNU C Library Reference Manual}). For -example, @code{'("/dev/sda3")} or @code{'("/swapfile")}. It is possible to -specify a swap file in a file system on a mapped device, provided that the -necessary device mapping and file system are also specified. @xref{Périphériques mappés} and @ref{Systèmes de fichiers}. +@item @code{swap-devices} (par défaut : @code{'()}) +@cindex espaces d'échange +Une liste de chaînes identifiant les périphériques ou les fichiers utilisé +pour « l'espace d'échange » (@pxref{Memory Concepts,,, libc, The GNU C +Library Reference Manual}). Par exemple, @code{'("/dev/sda3")} ou +@code{'("/swapfile")}. Il est possible de spécifier un fichier d'échange +sur un périphérique mappé, tant que le périphérique nécessaire et le système +de fichiers sont aussi spécifiés. @xref{Périphériques mappés} et @ref{Systèmes de fichiers}. -@item @code{users} (default: @code{%base-user-accounts}) -@itemx @code{groups} (default: @var{%base-groups}) -List of user accounts and groups. @xref{Comptes utilisateurs}. +@item @code{users} (par défaut : @code{%base-user-accounts}) +@itemx @code{groups} (par défaut : @var{%base-groups}) +Liste les comptes utilisateurs et les groupes. @xref{Comptes utilisateurs}. -If the @code{users} list lacks a user account with UID@tie{}0, a ``root'' -account with UID@tie{}0 is automatically added. +Si la liste @code{users} n'a pas de compte lié à l'UID@tie{}0, un compte « +root » avec l'UID@tie{}0 est automatiquement ajouté. -@item @code{skeletons} (default: @code{(default-skeletons)}) -A list target file name/file-like object tuples (@pxref{G-Expressions, -file-like objects}). These are the skeleton files that will be added to the -home directory of newly-created user accounts. +@item @code{skeletons} (par défaut : @code{(default-skeletons)}) +Une liste de couples composés d'un nom de fichier cible et d'un objet +simili-fichier (@pxref{G-Expressions, file-like objects}). Ce sont les +fichiers squelettes qui seront ajoutés au répertoire personnel des comptes +utilisateurs nouvellement créés. -For instance, a valid value may look like this: +Par exemple, un valeur valide ressemblerait à cela : @example `((".bashrc" ,(plain-file "bashrc" "echo Hello\n")) @@ -9665,63 +10397,66 @@ For instance, a valid value may look like this: (activate-readline)"))) @end example -@item @code{issue} (default: @var{%default-issue}) -A string denoting the contents of the @file{/etc/issue} file, which is -displayed when users log in on a text console. +@item @code{issue} (par défaut : @var{%default-issue}) +Une chaîne qui dénote le contenu du fichier @file{/etc/issue} qui est +affiché lorsqu'un utilisateur se connecte sur la console. -@item @code{packages} (default: @var{%base-packages}) -The set of packages installed in the global profile, which is accessible at -@file{/run/current-system/profile}. +@item @code{packages} (par défaut : @var{%base-packages}) +L'ensemble des paquets installés dans le profil global, qui est accessible à +partir de @file{/run/current-system/profile}. -The default set includes core utilities and it is good practice to install -non-core utilities in user profiles (@pxref{Invoquer guix package}). +L'ensemble par défaut contient les utilitaires de base et c'est une bonne +pratique d'installer les utilitaires non essentiels dans les profils +utilisateurs (@pxref{Invoquer guix package}). @item @code{timezone} -A timezone identifying string---e.g., @code{"Europe/Paris"}. +Une chaîne identifiant un fuseau horaire — p.@: ex.@: @code{"Europe/Paris"}. -You can run the @command{tzselect} command to find out which timezone string -corresponds to your region. Choosing an invalid timezone name causes -@command{guix system} to fail. +Vous pouvez lancer la commande @command{tzselect} pour trouver le fuseau +horaire correspondant à votre région. Si vous choisissez un nom de fuseau +horaire invalide, @command{guix system} échouera. -@item @code{locale} (default: @code{"en_US.utf8"}) -The name of the default locale (@pxref{Locale Names,,, libc, The GNU C -Library Reference Manual}). @xref{Régionalisation}, for more information. +@item @code{locale} (par défaut : @code{"en_US.utf8"}) +Le nom du paramètre régional par défaut (@pxref{Locale Names,,, libc, The +GNU C Library Reference Manual}). @xref{Régionalisation}, pour plus d'informations. -@item @code{locale-definitions} (default: @var{%default-locale-definitions}) -The list of locale definitions to be compiled and that may be used at run -time. @xref{Régionalisation}. +@item @code{locale-definitions} (par défaut : @var{%default-locale-definitions}) +La liste des définitions de locales à compiler et qui devraient être +utilisées à l'exécution. @xref{Régionalisation}. -@item @code{locale-libcs} (default: @code{(list @var{glibc})}) -The list of GNU@tie{}libc packages whose locale data and tools are used to -build the locale definitions. @xref{Régionalisation}, for compatibility -considerations that justify this option. +@item @code{locale-libcs} (par défaut : @code{(list @var{glibc})}) +La liste des paquets GNU@tie{}libc dont les données des paramètres +linguistiques sont utilisées pour construire les définitions des paramètres +linguistiques. @xref{Régionalisation}, pour des considérations sur la compatibilité +qui justifient cette option. -@item @code{name-service-switch} (default: @var{%default-nss}) -Configuration of the libc name service switch (NSS)---a -@code{<name-service-switch>} object. @xref{Name Service Switch}, for -details. +@item @code{name-service-switch} (par défaut : @var{%default-nss}) +La configuration de NSS de la libc (name service switch) — un objet +@code{<name-service-switch>}. @xref{Name Service Switch}, pour des détails. -@item @code{services} (default: @var{%base-services}) -A list of service objects denoting system services. @xref{Services}. +@item @code{services} (par défaut : @var{%base-services}) +Une liste d'objets services qui dénotent les services du système. +@xref{Services}. -@item @code{pam-services} (default: @code{(base-pam-services)}) +@item @code{pam-services} (par défaut : @code{(base-pam-services)}) @cindex PAM @cindex pluggable authentication modules @c FIXME: Add xref to PAM services section. -Linux @dfn{pluggable authentication module} (PAM) services. +Services PAM (@dfn{pluggable authentication module}) Linux. -@item @code{setuid-programs} (default: @var{%setuid-programs}) -List of string-valued G-expressions denoting setuid programs. @xref{Programmes setuid}. +@item @code{setuid-programs} (par défaut : @var{%setuid-programs}) +Liste de G-expressions qui s'évaluent en chaînes de caractères qui dénotent +les programmes setuid. @xref{Programmes setuid}. -@item @code{sudoers-file} (default: @var{%sudoers-specification}) -@cindex sudoers file -The contents of the @file{/etc/sudoers} file as a file-like object -(@pxref{G-Expressions, @code{local-file} and @code{plain-file}}). +@item @code{sudoers-file} (par défaut : @var{%sudoers-specification}) +@cindex fichier sudoers +Le contenu du fichier @file{/etc/sudoers} comme un objet simili-fichier +(@pxref{G-Expressions, @code{local-file} et @code{plain-file}}). -This file specifies which users can use the @command{sudo} command, what -they are allowed to do, and what privileges they may gain. The default is -that only @code{root} and members of the @code{wheel} group may use -@code{sudo}. +Ce fichier spécifier quels utilisateurs peuvent utiliser la commande +@command{sudo}, ce qu'ils ont le droit de faire, et quels privilèges ils +peuvent gagner. La valeur par défaut est que seul @code{root} et les +membres du groupe @code{wheel} peuvent utiliser @code{sudo}. @end table @end deftp @@ -9729,9 +10464,10 @@ that only @code{root} and members of the @code{wheel} group may use @node Systèmes de fichiers @subsection Systèmes de fichiers -The list of file systems to be mounted is specified in the -@code{file-systems} field of the operating system declaration (@pxref{Utiliser le système de configuration}). Each file system is declared using the -@code{file-system} form, like this: +La liste des systèmes de fichiers à monter est spécifiée dans le champ +@code{file-systems} de la déclaration de système d'exploitation +(@pxref{Utiliser le système de configuration}). Chaque système de fichier est +déclaré avec la forme @code{file-system}, comme ceci : @example (file-system @@ -9740,36 +10476,39 @@ The list of file systems to be mounted is specified in the (type "ext4")) @end example -As usual, some of the fields are mandatory---those shown in the example -above---while others can be omitted. These are described below. +Comme d'habitude, certains de ces champs sont obligatoire — comme le montre +l'exemple au-dessus — alors que d'autres peuvent être omis. Ils sont +décrits plus bas. -@deftp {Data Type} file-system -Objects of this type represent file systems to be mounted. They contain the -following members: +@deftp {Type de données} file-system +Les objets de ce type représentent des systèmes de fichiers à monter. Ils +contiennent les membres suivants : @table @asis @item @code{type} -This is a string specifying the type of the file system---e.g., -@code{"ext4"}. +C'est une chaîne de caractères spécifiant le type du système de fichier — +p.@: ex.@: @code{"ext4"}. @item @code{mount-point} -This designates the place where the file system is to be mounted. +Désigne l'emplacement où le système de fichier sera monté. @item @code{device} -This names the ``source'' of the file system. It can be one of three -things: a file system label, a file system UUID, or the name of a -@file{/dev} node. Labels and UUIDs offer a way to refer to file systems -without having to hard-code their actual device name@footnote{Note that, -while it is tempting to use @file{/dev/disk/by-uuid} and similar device -names to achieve the same result, this is not recommended: These special -device nodes are created by the udev daemon and may be unavailable at the -time the device is mounted.}. +Ce champ nomme le système de fichier « source ». il peut être l'une de ces +trois choses : une étiquette de système de fichiers, un UUID de système de +fichier ou le nom d'un nœud dans @file{/dev}. Les étiquettes et les UUID +offrent une manière de se référer à des systèmes de fichiers sans avoir à +coder en dur le nom de périphérique@footnote{Remarquez que, s'il est tentant +d'utiliser @file{/dev/disk/by-uuid} et autres chemins similaires pour +obtenir le même résultat, ce n'est pas recommandé : ces nœuds de +périphériques spéciaux sont créés par le démon udev et peuvent ne pas être +disponibles au moment de monter le périphérique.}. @findex file-system-label -File system labels are created using the @code{file-system-label} procedure, -UUIDs are created using @code{uuid}, and @file{/dev} node are plain -strings. Here's an example of a file system referred to by its label, as -shown by the @command{e2label} command: +Les étiquettes de systèmes de fichiers sont crées avec la procédure +@code{file-system-label}, les UUID avec @code{uuid} et les nœuds de +@file{/dev} sont de simples chaînes de caractères. Voici un exemple d'un +système de fichiers référencé par son étiquette, donnée par la commande +@command{e2label} : @example (file-system @@ -9779,13 +10518,14 @@ shown by the @command{e2label} command: @end example @findex uuid -UUIDs are converted from their string representation (as shown by the -@command{tune2fs -l} command) using the @code{uuid} form@footnote{The -@code{uuid} form expects 16-byte UUIDs as defined in -@uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122}. This is the form -of UUID used by the ext2 family of file systems and others, but it is -different from ``UUIDs'' found in FAT file systems, for instance.}, like -this: +Les UUID sont convertis à partir de leur représentation en chaîne de +caractères (montrée par la command @command{tune2fs -l}) en utilisant la +forme @code{uuid}@footnote{La forme @code{uuid} s'attend à des UUID sur 16 +octets définis dans la @uref{https://tools.ietf.org/html/rfc4122, +RFC@tie{}4122}. C'est la forme des UUID utilisées par la famille de +systèmes de fichiers ext2 et d'autres, mais ce n'est pas le même type d'UUID +que ceux qui se trouvent sur les systèmes de fichiers FAT par exemple}, +comme ceci : @example (file-system @@ -9794,165 +10534,179 @@ this: (device (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb"))) @end example -When the source of a file system is a mapped device (@pxref{Périphériques mappés}), its @code{device} field @emph{must} refer to the mapped device -name---e.g., @file{"/dev/mapper/root-partition"}. This is required so that -the system knows that mounting the file system depends on having the -corresponding device mapping established. - -@item @code{flags} (default: @code{'()}) -This is a list of symbols denoting mount flags. Recognized flags include -@code{read-only}, @code{bind-mount}, @code{no-dev} (disallow access to -special files), @code{no-suid} (ignore setuid and setgid bits), and -@code{no-exec} (disallow program execution.) - -@item @code{options} (default: @code{#f}) -This is either @code{#f}, or a string denoting mount options. - -@item @code{mount?} (default: @code{#t}) -This value indicates whether to automatically mount the file system when the -system is brought up. When set to @code{#f}, the file system gets an entry -in @file{/etc/fstab} (read by the @command{mount} command) but is not -automatically mounted. - -@item @code{needed-for-boot?} (default: @code{#f}) -This Boolean value indicates whether the file system is needed when -booting. If that is true, then the file system is mounted when the initial -RAM disk (initrd) is loaded. This is always the case, for instance, for the -root file system. - -@item @code{check?} (default: @code{#t}) -This Boolean indicates whether the file system needs to be checked for -errors before being mounted. - -@item @code{create-mount-point?} (default: @code{#f}) -When true, the mount point is created if it does not exist yet. - -@item @code{dependencies} (default: @code{'()}) -This is a list of @code{<file-system>} or @code{<mapped-device>} objects -representing file systems that must be mounted or mapped devices that must -be opened before (and unmounted or closed after) this one. - -As an example, consider a hierarchy of mounts: @file{/sys/fs/cgroup} is a -dependency of @file{/sys/fs/cgroup/cpu} and @file{/sys/fs/cgroup/memory}. - -Another example is a file system that depends on a mapped device, for -example for an encrypted partition (@pxref{Périphériques mappés}). +Lorsque la source d'un système de fichiers est un périphérique mappé +(@pxref{Périphériques mappés}), sont champ @code{device} @emph{doit} se référer au +nom du périphérique mappé — p.@: ex.@: @file{"/dev/mapper/root-partition"}. +Cela est requis pour que le système sache que monter ce système de fichier +dépend de la présence du périphérique mappé correspondant. + +@item @code{flags} (par défaut : @code{'()}) +C'est une liste de symboles qui dénotent des drapeaux de montage. Les +drapeaux reconnus sont @code{read-only}, @code{bind-mount}, @code{no-dev} +(interdit l'accès aux fichiers spéciaux), @code{no-suid} (ignore les bits +setuid et setgid) et @code{no-exec} (interdit l'exécution de programmes). + +@item @code{options} (par défaut : @code{#f}) +C'est soit @code{#f} soit une chaîne de caractères dénotant des options de +montage. + +@item @code{mount?} (par défaut : @code{#t}) +Cette valeur indique s'il faut monter automatiquement le système de fichier +au démarrage du système. Lorsque la valeur est @code{#f}, le système de +fichier reçoit une entrée dans @file{/etc/fstab} (lue par la commande +@command{mount}) mais n'est pas monté automatiquement. + +@item @code{needed-for-boot?} (par défaut : @code{#f}) +Cette valeur booléenne indique si le système de fichier est nécessaire au +démarrage. Si c'est vrai alors le système de fichier est monté au +chargement du disque de RAM initial. C'est toujours le cas par exemple du +système de fichiers racine. + +@item @code{check?} (par défaut : @code{#t}) +Cette valeur booléenne indique si le système de fichier doit être vérifié +avant de le monter. + +@item @code{create-mount-point?} (par défaut : @code{#f}) +Lorsque cette valeur est vraie, le point de montage est créé s'il n'existe +pas déjà. + +@item @code{dependencies} (par défaut : @code{'()}) +C'est une liste d'objets @code{<file-system>} ou @code{<mapped-device>} qui +représentent les systèmes de fichiers qui doivent être montés ou les +périphériques mappés qui doivent être ouverts avant (et monté ou fermés +après) celui-ci. + +Par exemple, considérons une hiérarchie de montage : @file{/sys/fs/cgroup} +est une dépendance de @file{/sys/fs/cgroup/cpu} et +@file{/sys/fs/cgroup/memory}. + +Un autre exemple est un système de fichier qui dépend d'un périphérique +mappé, par exemple pour une partition chiffrée (@pxref{Périphériques mappés}). @end table @end deftp -The @code{(gnu system file-systems)} exports the following useful variables. +Le module @code{(gnu system file-systems)} exporte les variables utiles +suivantes. -@defvr {Scheme Variable} %base-file-systems -These are essential file systems that are required on normal systems, such -as @var{%pseudo-terminal-file-system} and @var{%immutable-store} (see -below.) Operating system declarations should always contain at least these. +@defvr {Variable Scheme} %base-file-systems +Ce sont les systèmes de fichiers essentiels qui sont requis sur les systèmes +normaux, comme @var{%pseudo-terminal-file-system} et @var{%immutable-store} +(voir plus bas). Les déclarations de systèmes d'exploitation devraient au +moins les contenir. @end defvr -@defvr {Scheme Variable} %pseudo-terminal-file-system -This is the file system to be mounted as @file{/dev/pts}. It supports -@dfn{pseudo-terminals} created @i{via} @code{openpty} and similar functions -(@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). -Pseudo-terminals are used by terminal emulators such as @command{xterm}. +@defvr {Variable Scheme} %pseudo-terminal-file-system +C'est le système de fichier monté sur @file{/dev/pts}. Il supporte les +@dfn{pseudo-terminaux} créés via @code{openpty} et les fonctions similaires +(@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). Les +pseudo-terminaux sont utilisés par les émulateurs de terminaux comme +@command{xterm}. @end defvr -@defvr {Scheme Variable} %shared-memory-file-system -This file system is mounted as @file{/dev/shm} and is used to support memory -sharing across processes (@pxref{Memory-mapped I/O, @code{shm_open},, libc, -The GNU C Library Reference Manual}). +@defvr {Variable Scheme} %shared-memory-file-system +Ce système de fichier est monté dans @file{/dev/shm} et est utilisé pour le +partage de mémoire entre processus (@pxref{Memory-mapped I/O, +@code{shm_open},, libc, The GNU C Library Reference Manual}). @end defvr -@defvr {Scheme Variable} %immutable-store -This file system performs a read-only ``bind mount'' of @file{/gnu/store}, -making it read-only for all the users including @code{root}. This prevents -against accidental modification by software running as @code{root} or by -system administrators. +@defvr {Variable Scheme} %immutable-store +Ce système de fichiers effectue un « montage lié » en lecture-seule de +@file{/gnu/store}, ce qui en fait un répertoire en lecture-seule pour tous +les utilisateurs dont @code{root}. Cela évite que des logiciels qui +tournent en @code{root} ou des administrateurs systèmes ne modifient +accidentellement le dépôt. -The daemon itself is still able to write to the store: it remounts it -read-write in its own ``name space.'' +Le démon lui-même est toujours capable d'écrire dans le dépôt : il est +remonté en lecture-écriture dans son propre « espace de nom ». @end defvr -@defvr {Scheme Variable} %binary-format-file-system -The @code{binfmt_misc} file system, which allows handling of arbitrary -executable file types to be delegated to user space. This requires the -@code{binfmt.ko} kernel module to be loaded. +@defvr {Variable Scheme} %binary-format-file-system +Le système de fichiers @code{binfmt_misc}, qui permet de gérer n'importe +quel type de fichiers exécutables à déléguer en espace utilisateur. Cela +demande que le module du noyau @code{binfmt.ko} soit chargé. @end defvr -@defvr {Scheme Variable} %fuse-control-file-system -The @code{fusectl} file system, which allows unprivileged users to mount and -unmount user-space FUSE file systems. This requires the @code{fuse.ko} -kernel module to be loaded. +@defvr {Variable Scheme} %fuse-control-file-system +Le système de fichiers @code{fusectl}, qui permet à des utilisateurs non +privilégiés de monter et de démonter des systèmes de fichiers FUSE en espace +utilisateur. Cela requiert que le module du noyau @code{fuse.ko} soit +chargé. @end defvr @node Périphériques mappés @subsection Périphériques mappés -@cindex device mapping -@cindex mapped devices -The Linux kernel has a notion of @dfn{device mapping}: a block device, such -as a hard disk partition, can be @dfn{mapped} into another device, usually -in @code{/dev/mapper/}, with additional processing over the data that flows -through it@footnote{Note that the GNU@tie{}Hurd makes no difference between -the concept of a ``mapped device'' and that of a file system: both boil down -to @emph{translating} input/output operations made on a file to operations -on its backing store. Thus, the Hurd implements mapped devices, like file -systems, using the generic @dfn{translator} mechanism (@pxref{Translators,,, -hurd, The GNU Hurd Reference Manual}).}. A typical example is encryption -device mapping: all writes to the mapped device are encrypted, and all reads -are deciphered, transparently. Guix extends this notion by considering any -device or set of devices that are @dfn{transformed} in some way to create a -new device; for instance, RAID devices are obtained by @dfn{assembling} -several other devices, such as hard disks or partitions, into a new one that -behaves as one partition. Other examples, not yet implemented, are LVM -logical volumes. - -Mapped devices are declared using the @code{mapped-device} form, defined as -follows; for examples, see below. - -@deftp {Data Type} mapped-device -Objects of this type represent device mappings that will be made when the -system boots up. +@cindex mappage de périphériques +@cindex périphériques mappés +Le noyau Linux a une notion de @dfn{mappage de périphériques} : un +périphérique bloc, comme une partition sur un disque dur, peut être +@dfn{mappé} sur un autre périphérique, typiquement dans @code{/dev/mapper}, +avec des calculs supplémentaires sur les données qui naviguent entre les +deux@footnote{Remarquez que le Hurd ne fait pas de différence entre le +concept de « périphérique mappé » et celle d'un système de fichiers : les +deux correspondent à la @emph{traduction} des opérations d'entrée-sortie +faites sur un fichier en des opérations sur ce qui le contient. Ainsi, le +Hurd implémente les périphériques mappés, comme les systèmes de fichiers, +avec le mécanisme des @dfn{traducteurs} générique (@pxref{Translators,,, +hurd, The GNU Hurd Reference Manual}).}. Un exemple typique est le mappage +de périphériques chiffrés : toutes les écritures sont sur le périphérique +mappé sont chiffrées, toutes les lectures déchiffrées, de manière +transparente. Guix étend cette notion en considérant que tout périphérique +ou ensemble de périphériques qui sont @dfn{transformés} d'une certaine +manière créent un nouveau périphérique ; par exemple, les périphériques RAID +sont obtenus en @dfn{assemblant} plusieurs autres périphériques, comme des +disque ou des partitions, en un nouveau périphérique en tant qu'unique +partition. Un autre exemple, qui n'est pas encore disponible, sont les +volumes logiques LVM. + +Les périphériques mappés sont déclarés avec la forme @code{mapped-device}, +définie comme suit ; par exemple, voir ci-dessous. + +@deftp {Type de données} mapped-device +Les objets de ce type représentent des mappages de périphériques qui seront +effectués au démarrage du système. @table @code @item source -This is either a string specifying the name of the block device to be -mapped, such as @code{"/dev/sda3"}, or a list of such strings when several -devices need to be assembled for creating a new one. +C'est soit une chaîne qui spécifie le nom d'un périphérique bloc à mapper, +comme @code{"/dev/sda3"}, soit une liste de plusieurs périphériques à +assembler pour en créer un nouveau. @item target -This string specifies the name of the resulting mapped device. For kernel -mappers such as encrypted devices of type @code{luks-device-mapping}, -specifying @code{"my-partition"} leads to the creation of the -@code{"/dev/mapper/my-partition"} device. For RAID devices of type -@code{raid-device-mapping}, the full device name such as @code{"/dev/md0"} -needs to be given. +Cette chaîne spécifie le nom du périphérique mappé qui en résulte. Pour les +mappeurs noyaux comme les périphériques chiffrés de type +@code{luks-device-mapping}, spécifier @code{"ma-partition"} crée le +périphérique @code{"/dev/mapper/ma-partition"}. Pour les périphériques RAID +de type @code{raid-device-mapping}, il faut donner le nom complet comme +@code{"/dev/md0"}. @item type -This must be a @code{mapped-device-kind} object, which specifies how -@var{source} is mapped to @var{target}. +Ce doit être un objets @code{mapped-device-kind}, qui spécifie comment +@var{source} est mappés sur @var{target}. @end table @end deftp -@defvr {Scheme Variable} luks-device-mapping -This defines LUKS block device encryption using the @command{cryptsetup} -command from the package with the same name. It relies on the -@code{dm-crypt} Linux kernel module. +@defvr {Variable Scheme} luks-device-mapping +Cela définie les périphériques blocs chiffrés en LUKS avec +@command{cryptsetup} du paquet du même nom. Elle s'appuie sur le module du +noyau Linux @code{dm-crypt}. @end defvr -@defvr {Scheme Variable} raid-device-mapping -This defines a RAID device, which is assembled using the @code{mdadm} -command from the package with the same name. It requires a Linux kernel -module for the appropriate RAID level to be loaded, such as @code{raid456} -for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10. +@defvr {Variable Scheme} raid-device-mapping +Cela définie un périphérique RAID qui est assemblé avec la commande +@code{mdadm} du paquet du même nom. Elle nécessite un module noyau Linux +approprié pour le niveau RAID chargé, comme @code{raid456} pour RAID-4, +RAID-5 et RAID-6 ou @code{raid10} pour RAID-10. @end defvr -@cindex disk encryption +@cindex chiffrement du disque @cindex LUKS -The following example specifies a mapping from @file{/dev/sda3} to -@file{/dev/mapper/home} using LUKS---the -@url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, a -standard mechanism for disk encryption. The @file{/dev/mapper/home} device -can then be used as the @code{device} of a @code{file-system} declaration -(@pxref{Systèmes de fichiers}). +L'exemple suivant spécifie un mappage de @file{/dev/sda3} vers +@file{/dev/mapper/home} avec LUKS — +@url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, un +mécanisme standard pour chiffrer les disques. Le périphérique +@file{/dev/mapper/home} peut ensuite être utilisé comme @code{device} d'une +déclaration @code{file-system} (@pxref{Systèmes de fichiers}). @example (mapped-device @@ -9961,14 +10715,15 @@ can then be used as the @code{device} of a @code{file-system} declaration (type luks-device-mapping)) @end example -Alternatively, to become independent of device numbering, one may obtain the -LUKS UUID (@dfn{unique identifier}) of the source device by a command like: +Autrement, pour devenir indépendant du numéro de périphérique, on peut +obtenir l'UUID LUKS (@dfn{l'identifiant unique}) du périphérique source avec +une commande comme : @example cryptsetup luksUUID /dev/sda3 @end example -and use it as follows: +et l'utiliser ainsi : @example (mapped-device @@ -9977,14 +10732,16 @@ and use it as follows: (type luks-device-mapping)) @end example -@cindex swap encryption -It is also desirable to encrypt swap space, since swap space may contain -sensitive data. One way to accomplish that is to use a swap file in a file -system on a device mapped via LUKS encryption. In this way, the swap file -is encrypted because the entire device is encrypted. @xref{Préparer l'installation,,Disk Partitioning}, for an example. +@cindex chiffrement de l'espace d'échange +Il est aussi désirable de chiffrer l'espace d'échange, puisque l'espace +d'échange peut contenir des données sensibles. Une manière de faire cela +est d'utiliser un fichier d'échange dans un système de fichiers sur un +périphérique mappé avec un chiffrement LUKS. De cette manière, le fichier +d'échange est chiffré parce que tout le périphérique est chiffré. +@xref{Préparer l'installation,,Disk Partitioning}, pour un exemple. -A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} -may be declared as follows: +Un périphérique RAID formé des partitions @file{/dev/sda1} et +@file{/dev/sdb1} peut être déclaré ainsi : @example (mapped-device @@ -9993,172 +10750,182 @@ may be declared as follows: (type raid-device-mapping)) @end example -The @file{/dev/md0} device can then be used as the @code{device} of a -@code{file-system} declaration (@pxref{Systèmes de fichiers}). Note that the RAID -level need not be given; it is chosen during the initial creation and -formatting of the RAID device and is determined automatically later. +Le périphérique @file{/dev/md0} peut ensuite être utilisé comme +@code{device} d'une déclaration @code{file-system} (@pxref{Systèmes de fichiers}). +Remarquez que le niveau de RAID n'a pas besoin d'être donné ; il est choisi +pendant la création initiale du périphérique RAID et est ensuite déterminé +automatiquement. @node Comptes utilisateurs @subsection Comptes utilisateurs -@cindex users -@cindex accounts -@cindex user accounts -User accounts and groups are entirely managed through the -@code{operating-system} declaration. They are specified with the -@code{user-account} and @code{user-group} forms: +@cindex utilisateurs +@cindex comptes +@cindex comptes utilisateurs +Les comptes utilisateurs et les groupes sont gérés entièrement par la +déclaration @code{operating-system}. Ils sont spécifiés avec les formes +@code{user-account} et @code{user-group} : @example (user-account (name "alice") (group "users") - (supplementary-groups '("wheel" ;allow use of sudo, etc. - "audio" ;sound card - "video" ;video devices such as webcams - "cdrom")) ;the good ol' CD-ROM + (supplementary-groups '("wheel" ;permet d'utiliser sudo, etc. + "audio" ;carte son + "video" ;périphériques réseaux comme les webcams + "cdrom")) ;le bon vieux CD-ROM (comment "Bob's sister") (home-directory "/home/alice")) @end example -When booting or upon completion of @command{guix system reconfigure}, the -system ensures that only the user accounts and groups specified in the -@code{operating-system} declaration exist, and with the specified -properties. Thus, account or group creations or modifications made by -directly invoking commands such as @command{useradd} are lost upon -reconfiguration or reboot. This ensures that the system remains exactly as -declared. +Lors du démarrage ou à la fin de @command{guix system reconfigure}, le +système s'assure que seuls les comptes utilisateurs et les groupes spécifiés +dans la déclaration @code{operating-system} existent, et avec les propriétés +spécifiées. Ainsi, les modifications ou les créations de comptes ou de +groupes effectuées directement en invoquant des commandes comme +@command{useradd} sont perdue à la reconfiguration ou au redémarrage. Cela +permet de s'assurer que le système reste exactement tel que déclaré. -@deftp {Data Type} user-account -Objects of this type represent user accounts. The following members may be -specified: +@deftp {Type de données} user-account +Les objets de se type représentent les comptes utilisateurs. Les membres +suivants peuvent être spécifiés : @table @asis @item @code{name} -The name of the user account. +Le nom du compte utilisateur. @item @code{group} -@cindex groups -This is the name (a string) or identifier (a number) of the user group this -account belongs to. +@cindex groupes +C'est le nom (une chaîne) ou un identifiant (un nombre) du groupe +utilisateur auquel ce compte appartient. -@item @code{supplementary-groups} (default: @code{'()}) -Optionally, this can be defined as a list of group names that this account -belongs to. +@item @code{supplementary-groups} (par défaut : @code{'()}) +Éventuellement, cela peut être définie comme une liste de noms de groupes +auxquels ce compte appartient. -@item @code{uid} (default: @code{#f}) -This is the user ID for this account (a number), or @code{#f}. In the -latter case, a number is automatically chosen by the system when the account -is created. +@item @code{uid} (par défaut : @code{#f}) +C'est l'ID utilisateur de ce compte (un nombre) ou @code{#f}. Dans ce +dernier cas, le nombre est choisi automatiquement par le système à la +création du compte. -@item @code{comment} (default: @code{""}) -A comment about the account, such as the account owner's full name. +@item @code{comment} (par défaut : @code{""}) +Un commentaire à propos du compte, comme le nom complet de l'utilisateur. @item @code{home-directory} -This is the name of the home directory for the account. +C'est le nom du répertoire personnel du compte. -@item @code{create-home-directory?} (default: @code{#t}) -Indicates whether the home directory of this account should be created if it -does not exist yet. +@item @code{create-home-directory?} (par défaut : @code{#t}) +Indique si le répertoire personnel du compte devrait être créé s'il n'existe +pas déjà. -@item @code{shell} (default: Bash) -This is a G-expression denoting the file name of a program to be used as the -shell (@pxref{G-Expressions}). +@item @code{shell} (par défaut : Bash) +C'est une G-expression qui dénote un nom de fichier d'un programme utilisé +comme shell (@pxref{G-Expressions}). -@item @code{system?} (default: @code{#f}) -This Boolean value indicates whether the account is a ``system'' account. -System accounts are sometimes treated specially; for instance, graphical -login managers do not list them. +@item @code{system?} (par défaut : @code{#f}) +C'est une valeur booléenne qui indique si le compte est un compte « système +». Les comptes systèmes sont parfois traités à part ; par exemple, les +gestionnaires de connexion graphiques ne les liste pas. @anchor{user-account-password} -@item @code{password} (default: @code{#f}) -You would normally leave this field to @code{#f}, initialize user passwords -as @code{root} with the @command{passwd} command, and then let users change -it with @command{passwd}. Passwords set with @command{passwd} are of course -preserved across reboot and reconfiguration. - -If you @emph{do} want to have a preset password for an account, then this -field must contain the encrypted password, as a string. @xref{crypt,,, -libc, The GNU C Library Reference Manual}, for more information on password -encryption, and @ref{Encryption,,, guile, GNU Guile Reference Manual}, for -information on Guile's @code{crypt} procedure. +@item @code{password} (par défaut : @code{#f}) +Vous laisseriez normalement ce champ à @code{#f} et initialiseriez les mots +de passe utilisateurs en tant que @code{root} avec la commande +@command{passwd}, puis laisseriez l'utilisateur le changer avec +@command{passwd}. Les mots de passes définis avec @command{passwd} sont +bien sûr préservés après redémarrage et reconfiguration. + +Si vous voulez @emph{vraiment} définir un mot de passe pour un compte, alors +ce champ doit contenir le mot de passe chiffré, comme une chaîne de +caractère. @xref{crypt,,, libc, The GNU C Library Reference Manual}, pour +plus d'information sur le chiffrement des mots de passe et +@ref{Encryption,,, guile, GNU Guile Reference Manual}, pour des informations +sur la procédure @code{crypt} de Guile. @end table @end deftp -@cindex groups -User group declarations are even simpler: +@cindex groupes +Les déclarations de groupes sont encore plus simple : @example (user-group (name "students")) @end example -@deftp {Data Type} user-group -This type is for, well, user groups. There are just a few fields: +@deftp {Type de données} user-group +C'est le type pour, hé bien, les comptes utilisateurs. Il n'y a que +quelques champs : @table @asis @item @code{name} -The name of the group. +Le nom du groupe. -@item @code{id} (default: @code{#f}) -The group identifier (a number). If @code{#f}, a new number is -automatically allocated when the group is created. +@item @code{id} (par défaut : @code{#f}) +L'identifiant du groupe (un nombre). S'il est @code{#f}, un nouveau nombre +est alloué automatiquement lorsque le groupe est créé. -@item @code{system?} (default: @code{#f}) -This Boolean value indicates whether the group is a ``system'' group. -System groups have low numerical IDs. +@item @code{system?} (par défaut : @code{#f}) +Cette valeur booléenne indique si le groupe est un groupe « système ». les +groupes systèmes ont un numéro d'ID bas. -@item @code{password} (default: @code{#f}) -What, user groups can have a password? Well, apparently yes. Unless -@code{#f}, this field specifies the password of the group. +@item @code{password} (par défaut : @code{#f}) +Quoi, les groupes utilisateurs peuvent avoir des mots de passe ? On dirait +bien. À moins que la valeur ne soit @code{#f}, ce champ spécifie le mot de +passe du groupe. @end table @end deftp -For convenience, a variable lists all the basic user groups one may expect: +Par simplicité, une variable liste les groupes utilisateurs de base auxquels +on pourrait s'attendre : -@defvr {Scheme Variable} %base-groups -This is the list of basic user groups that users and/or packages expect to -be present on the system. This includes groups such as ``root'', ``wheel'', -and ``users'', as well as groups used to control access to specific devices -such as ``audio'', ``disk'', and ``cdrom''. +@defvr {Variable Scheme} %base-groups +C'est la liste des groupes utilisateur de base que les utilisateurs et les +paquets s'attendent à trouver sur le système. Cela comprend des groupes +comme « root », « wheel » et « users », ainsi que des groupes utilisés pour +contrôler l'accès à certains périphériques, comme « audio », « disk » et « +cdrom ». @end defvr -@defvr {Scheme Variable} %base-user-accounts -This is the list of basic system accounts that programs may expect to find -on a GNU/Linux system, such as the ``nobody'' account. +@defvr {Variable Scheme} %base-user-accounts +C'est la liste des compte du système de base que les programmes peuvent +s'attendre à trouver sur un système GNU/Linux, comme le compte « nobody ». -Note that the ``root'' account is not included here. It is a special-case -and is automatically added whether or not it is specified. +Remarquez que le compte « root » n'est pas défini ici. C'est un cas +particulier et il est automatiquement ajouté qu'il soit spécifié ou non. @end defvr @node Régionalisation @subsection Régionalisation -@cindex locale -A @dfn{locale} defines cultural conventions for a particular language and -region of the world (@pxref{Régionalisation,,, libc, The GNU C Library Reference -Manual}). Each locale has a name that typically has the form -@code{@var{language}_@var{territory}.@var{codeset}}---e.g., -@code{fr_LU.utf8} designates the locale for the French language, with -cultural conventions from Luxembourg, and using the UTF-8 encoding. - -@cindex locale definition -Usually, you will want to specify the default locale for the machine using -the @code{locale} field of the @code{operating-system} declaration -(@pxref{Référence de système d'exploitation, @code{locale}}). - -The selected locale is automatically added to the @dfn{locale definitions} -known to the system if needed, with its codeset inferred from its -name---e.g., @code{bo_CN.utf8} will be assumed to use the @code{UTF-8} -codeset. Additional locale definitions can be specified in the -@code{locale-definitions} slot of @code{operating-system}---this is useful, -for instance, if the codeset could not be inferred from the locale name. -The default set of locale definitions includes some widely used locales, but -not all the available locales, in order to save space. - -For instance, to add the North Frisian locale for Germany, the value of that -field may be: +@cindex paramètres linguistiques +Un @dfn{paramètre linguistique} définie les conventions culturelles d'une +langue et d'une région particulières (@pxref{Régionalisation,,, libc, The GNU C +Library Reference Manual}). Chaque paramètre linguistique a un nom de la +forme @code{@var{langue}_@var{territoire}.@var{jeudecaractères}} — p.@: +ex.@: @code{fr_LU.utf8} désigne le paramètre linguistique pour le français, +avec les conventions culturelles du Luxembourg, en utilisant l'encodage +UTF-8. + +@cindex définition des paramètres linguistiques +Normalement, vous voudrez spécifier les paramètres linguistiques par défaut +pour la machine en utilisant le champ @code{locale} de la déclaration +@code{operating-system} (@pxref{Référence de système d'exploitation, @code{locale}}). + +Les paramètres régionaux choisis sont automatiquement ajoutés aux +définitions des @dfn{paramètres régionaux} connues par le système au besoin, +avec le jeu de caractères inféré à partir de son nom, p.@: ex.@: +@code{bo_CN.utf8} supposera qu'il faut utiliser le jeu de caractères +@code{UTF-8}. Des définitions supplémentaires peuvent être spécifiées dans +le champ @code{locale-definitions} de @code{operating-system} — c'est utile +par exemple si le jeu de caractères n'a pas été inféré à partir du nom. +L'ensemble par défaut de définitions comprend certains paramètres +linguistiques parmi les plus utilisés, mais pas toutes les variantes +disponibles, pour gagner de la place. + +Par exemple, pour ajouter les paramètres pour le frison septentrional en +Allemagne, la valeur de ce champ serait : @example (cons (locale-definition @@ -10166,8 +10933,9 @@ field may be: %default-locale-definitions) @end example -Likewise, to save space, one might want @code{locale-definitions} to list -only the locales that are actually used, as in: +De me, pour gagner de la place, on peut vouloir lister dans +@code{locale-definitions} seulement les paramètres qui sont vraiment +utilisés, comme dans : @example (list (locale-definition @@ -10176,83 +10944,90 @@ only the locales that are actually used, as in: @end example @vindex LOCPATH -The compiled locale definitions are available at -@file{/run/current-system/locale/X.Y}, where @code{X.Y} is the libc version, -which is the default location where the GNU@tie{}libc provided by Guix looks -for locale data. This can be overridden using the @code{LOCPATH} -environment variable (@pxref{locales-and-locpath, @code{LOCPATH} and locale -packages}). +Les définitions des paramètres linguistiques compilées sont disponibles dans +@file{/run/current-system/locale/X.Y}, où @code{X.Y} est la version de la +libc, ce qui est l'emplacement par défaut où la GNU@tie{}libc fournie par +Guix cherche les données de régionalisation. Cet emplacement peut être +modifié avec la variable d'environnement @code{LOCPATH} +(@pxref{locales-and-locpath, @code{LOCPATH} and locale packages}). -The @code{locale-definition} form is provided by the @code{(gnu system -locale)} module. Details are given below. +La forme @code{locale-definition} est fournie par le module @code{(gnu +system locale)}. Des détails sont disponibles plus bas. -@deftp {Data Type} locale-definition -This is the data type of a locale definition. +@deftp {Type de données} locale-definition +C'est le type de données d'une définition de paramètres linguistiques. @table @asis @item @code{name} -The name of the locale. @xref{Locale Names,,, libc, The GNU C Library -Reference Manual}, for more information on locale names. +Le nom du paramètre linguistique. @xref{Locale Names,,, libc, The GNU C +Library Reference Manual}, pour en savoir plus sur les noms de paramètres +linguistiques. @item @code{source} -The name of the source for that locale. This is typically the -@code{@var{language}_@var{territory}} part of the locale name. +Le nom de la source pour ce paramètre linguistique. C'est typiquement la +partie @code{@var{langue}_@var{territoire}} du nom du paramètre. -@item @code{charset} (default: @code{"UTF-8"}) -The ``character set'' or ``code set'' for that locale, -@uref{http://www.iana.org/assignments/character-sets, as defined by IANA}. +@item @code{charset} (par défaut : @code{"UTF-8"}) +Le « jeu de caractères » d'un paramètre linguistique, +@uref{http://www.iana.org/assignments/character-sets, défini par l'IANA}. @end table @end deftp -@defvr {Scheme Variable} %default-locale-definitions -A list of commonly used UTF-8 locales, used as the default value of the -@code{locale-definitions} field of @code{operating-system} declarations. - -@cindex locale name -@cindex normalized codeset in locale names -These locale definitions use the @dfn{normalized codeset} for the part that -follows the dot in the name (@pxref{Using gettextized software, normalized -codeset,, libc, The GNU C Library Reference Manual}). So for instance it -has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}. +@defvr {Variable Scheme} %default-locale-definitions +Une liste des paramètres linguistiques UTF-8 couramment utilisés, utilisée +comme valeur par défaut pour le champ @code{locale-definitions} des +déclarations @code{operating-system}. + +@cindex nom de paramètre linguistique +@cindex jeu de caractère normalisé dans les noms de paramètres linguistiques +Ces définitions de paramètres linguistiques utilisent le @dfn{jeu de +caractère normalisé} pour la partie qui suit le point dans le nom +(@pxref{Using gettextized software, normalized codeset,, libc, The GNU C +Library Reference Manual}). Donc par exemple il y a @code{uk_UA.utf8} mais +@emph{pas}, disons, @code{uk_UA.UTF-8}. @end defvr -@subsubsection Locale Data Compatibility Considerations +@subsubsection Considérations sur la compatibilité des données linguistiques -@cindex incompatibility, of locale data -@code{operating-system} declarations provide a @code{locale-libcs} field to -specify the GNU@tie{}libc packages that are used to compile locale -declarations (@pxref{Référence de système d'exploitation}). ``Why would I care?'', -you may ask. Well, it turns out that the binary format of locale data is -occasionally incompatible from one libc version to another. +@cindex incompatibilité, des données linguistiques +Les déclaration @code{operating-system} fournissent un champ +@code{locale-libcs} pour spécifier les paquets GNU@tie{}libc à utiliser pour +compiler les déclarations de paramètres linguistiques +(@pxref{Référence de système d'exploitation}). « Pourquoi je devrais m'en soucier ? +», vous demandez-vous sûrement. Hé bien il se trouve que le format binaire +des données linguistique est parfois incompatible d'une version de la libc à +une autre. @c See <https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html> @c and <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00737.html>. -For instance, a program linked against libc version 2.21 is unable to read -locale data produced with libc 2.22; worse, that program @emph{aborts} -instead of simply ignoring the incompatible locale data@footnote{Versions -2.23 and later of GNU@tie{}libc will simply skip the incompatible locale -data, which is already an improvement.}. Similarly, a program linked -against libc 2.22 can read most, but not all, of the locale data from libc -2.21 (specifically, @code{LC_COLLATE} data is incompatible); thus calls to -@code{setlocale} may fail, but programs will not abort. - -The ``problem'' in GuixSD is that users have a lot of freedom: They can -choose whether and when to upgrade software in their profiles, and might be -using a libc version different from the one the system administrator used to -build the system-wide locale data. - -Fortunately, unprivileged users can also install their own locale data and -define @var{GUIX_LOCPATH} accordingly (@pxref{locales-and-locpath, -@code{GUIX_LOCPATH} and locale packages}). - -Still, it is best if the system-wide locale data at -@file{/run/current-system/locale} is built for all the libc versions -actually in use on the system, so that all the programs can access it---this -is especially crucial on a multi-user system. To do that, the administrator -can specify several libc packages in the @code{locale-libcs} field of -@code{operating-system}: +Par exemple, un programme lié à la libc version 2.21 est incapable de lire +les données linguistiques produites par la libc 2.22 ; pire, ce programme +@emph{plante} plutôt que d'ignorer les données linguistiques +incompatibles@footnote{Les version 2.23 et supérieures de la GNU@tie{}libc +sauteront simplement les données linguistiques incompatibles, ce qui est +déjà mieux.}. De même, un programme lié à la libc 2.22 peut lire la plupart +mais pas toutes les données linguistiques de la libc 2.21 (spécifiquement +les données @code{LC_COLLATE} sont incompatibles) ; donc les appels à +@code{setlocale} peuvent échouer, mais les programmes ne plantent pas. + +Le « problème » avec GuixSD c'est que les utilisateurs ont beaucoup de +liberté : ils peuvent choisir s'ils veulent et quand ils veulent mettre à +jour les logiciels de leur profil, et peuvent utiliser une version +différente de la libc de celle que l'administrateur système utilise pour +construire les données linguistiques du système global. + +Heureusement, les utilisateurs non privilégiés peuvent aussi installer leur +propres données linguistiques et définir @var{GUIX_LOCPATH} comme il le faut +(@pxref{locales-and-locpath, @code{GUIX_LOCPATH} and locale packages}). + +Cependant, c'est encore mieux si les données linguistiques du système dans +@file{/run/current-system/locale} étaient construites avec les versions de +la libc utilisées sur le système, pour que tous les programmes puissent y +accéder — c'est surtout crucial sur un système multi-utilisateurs. Pour +cela, l'administrateur peut spécifier plusieurs paquets de la libc dans le +champ @code{locale-libcs} de @code{operating-system} : @example (use-package-modules base) @@ -10262,42 +11037,48 @@ can specify several libc packages in the @code{locale-libcs} field of (locale-libcs (list glibc-2.21 (canonical-package glibc)))) @end example -This example would lead to a system containing locale definitions for both -libc 2.21 and the current version of libc in +cet exemple créera un système contenant les définitions des paramètres +linguistiques pour la libc 2.21 et pour la version actuelle de la libc dans @file{/run/current-system/locale}. @node Services @subsection Services -@cindex system services -An important part of preparing an @code{operating-system} declaration is -listing @dfn{system services} and their configuration (@pxref{Utiliser le système de configuration}). System services are typically daemons launched when -the system boots, or other actions needed at that time---e.g., configuring -network access. - -GuixSD has a broad definition of ``service'' (@pxref{Composition de services}), -but many services are managed by the GNU@tie{}Shepherd (@pxref{Services Shepherd}). On a running system, the @command{herd} command allows you to -list the available services, show their status, start and stop them, or do -other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd -Manual}). For example: +@cindex services systèmes +Une part importante de la préparation d'une déclaration +@code{operating-system} est la liste des @dfn{services systèmes} et de leur +configuration (@pxref{Utiliser le système de configuration}). Les services +systèmes sont typiquement des démons lancés au démarrage ou d'autres actions +requises à ce moment-là — p.@: ex.@: configurer les accès réseaux. + +GuixSD a une définition large de « service » (@pxref{Composition de services}), +mais beaucoup de services sont gérés par le GNU@tie{}Shepherd +(@pxref{Services Shepherd}). Sur un système lancé, la commande +@command{herd} vous permet de lister les services disponibles, montrer leur +statut, les démarrer et les arrêter, ou faire d'autres opérations +spécifiques (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}). Par +exemple : @example # herd status @end example -The above command, run as @code{root}, lists the currently defined -services. The @command{herd doc} command shows a synopsis of the given -service: +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é 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 -The @command{start}, @command{stop}, and @command{restart} sub-commands have -the effect you would expect. For instance, the commands below stop the nscd -service and restart the Xorg display server: +Les sous-commandes @command{start}, @command{stop} et @command{restart} ont +l'effet auquel on s'attend. Par exemple, les commande suivantes stoppent le +service nscd et redémarrent le serveur d'affichage Xorg : @example # herd stop nscd @@ -10307,8 +11088,9 @@ Service xorg-server has been stopped. Service xorg-server has been started. @end example -The following sections document the available services, starting with the -core services, that may be used in an @code{operating-system} declaration. +Les sections suivantes documentent les services disponibles, en commençant +par les services de base qui peuvent être utilisés avec une déclaration +@code{operating-system}. @menu * Services de base:: Services systèmes essentiels. @@ -10332,7 +11114,8 @@ core services, that may be used in an @code{operating-system} declaration. * 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 @@ -10344,58 +11127,64 @@ core services, that may be used in an @code{operating-system} declaration. @node Services de base @subsubsection Services de base -The @code{(gnu services base)} module provides definitions for the basic -services that one expects from the system. The services exported by this -module are listed below. +Le module @code{(gnu services base)} fournit des définitions de services +poru les services de base qu'on peut attendre du système. Les services +exportés par ce module sort listés ci-dessous. -@defvr {Scheme Variable} %base-services -This variable contains a list of basic services (@pxref{Types service et services}, for more information on service objects) one would expect from -the system: a login service (mingetty) on each tty, syslogd, the libc name -service cache daemon (nscd), the udev device manager, and more. +@defvr {Variable Scheme} %base-services +Cette variable contient une liste de services de base (@pxref{Types service et services}, pour plus d'informations sur les objets service) qu'on peut +attendre du système : un service de connexion (mingetty) sur chaque tty, +syslogd, le démon de cache de noms de la libc (nscd), le gestionnaire de +périphériques udev, et plus. -This is the default value of the @code{services} field of -@code{operating-system} declarations. Usually, when customizing a system, -you will want to append services to @var{%base-services}, like this: +C'est la valeur par défaut du champ @code{services} des déclarations +@code{operating-system}. Habituellement, lors de la personnalisation d'un +système, vous voudrez ajouter des services à ceux de @var{%base-services}, +comme ceci : @example (cons* (avahi-service) (lsh-service) %base-services) @end example @end defvr -@defvr {Scheme Variable} special-files-service-type -This is the service that sets up ``special files'' such as @file{/bin/sh}; -an instance of it is part of @code{%base-services}. +@defvr {Variable Scheme} special-files-service-type +C'est le service qui met en place des « fichiers spéciaux » comme +@file{/bin/sh} ; une instance de ce service fait partie de +@code{%base-services}. -The value associated with @code{special-files-service-type} services must be -a list of tuples where the first element is the ``special file'' and the -second element is its target. By default it is: +La valeur associée avec les services @code{special-files-service-type} doit +être une liste de couples dont le premier élément est le « fichier spécial » +et le deuxième sa cible. Par défaut il s'agit de : @cindex @file{/bin/sh} -@cindex @file{sh}, in @file{/bin} +@cindex @file{sh}, dans @file{/bin} @example `(("/bin/sh" ,(file-append @var{bash} "/bin/sh"))) @end example @cindex @file{/usr/bin/env} -@cindex @file{env}, in @file{/usr/bin} -If you want to add, say, @code{/usr/bin/env} to your system, you can change -it to: +@cindex @file{env}, dans @file{/usr/bin} +Si vous voulez ajouter, disons, @code{/usr/bin/env} à votre système, vous +pouvez changer cela en : @example `(("/bin/sh" ,(file-append @var{bash} "/bin/sh")) ("/usr/bin/env" ,(file-append @var{coreutils} "/bin/env"))) @end example -Since this is part of @code{%base-services}, you can use -@code{modify-services} to customize the set of special files (@pxref{Référence de service, @code{modify-services}}). But the simple way to add a special -file is @i{via} the @code{extra-special-file} procedure (see below.) +Comme il fait parti de @code{%base-services}, vous pouvez utiliser +@code{modify-services} pour personnaliser l'ensemble des fichiers spéciaux +(@pxref{Référence de service, @code{modify-services}}). Mais une manière plus +simple d'ajouter un fichier spécial est d'utiliser la procédure +@code{extra-special-file} (voir plus bas). @end defvr -@deffn {Scheme Procedure} extra-special-file @var{file} @var{target} -Use @var{target} as the ``special file'' @var{file}. +@deffn {Procédure Scheme} extra-special-file @var{file} @var{target} +Utilise @var{target} comme « fichier spécial » @var{file}. -For example, adding the following lines to the @code{services} field of your -operating system declaration leads to a @file{/usr/bin/env} symlink: +Par exemple, ajouter l'une des lignes suivantes au champ @code{services} de +votre déclaration de système d'exploitation crée un lien symbolique +@file{/usr/bin/env} : @example (extra-special-file "/usr/bin/env" @@ -10403,345 +11192,392 @@ operating system declaration leads to a @file{/usr/bin/env} symlink: @end example @end deffn -@deffn {Scheme Procedure} host-name-service @var{name} -Return a service that sets the host name to @var{name}. +@deffn {Procédure Scheme} host-name-service @var{name} +Renvoie un service qui paramètre le nom d'hôte à @var{name}. @end deffn -@deffn {Scheme Procedure} login-service @var{config} -Return a service to run login according to @var{config}, a -@code{<login-configuration>} object, which specifies the message of the day, -among other things. +@deffn {Procédure Scheme} login-service @var{config} +Renvoie un service pour lancer login en suivant @var{config}, un objet +@code{<login-configuration>} qui spécifie le message du jour, entre autres +choses. @end deffn -@deftp {Data Type} login-configuration -This is the data type representing the configuration of login. +@deftp {Type de données} login-configuration +Le type de données qui représente la configuration de login. @table @asis @item @code{motd} -@cindex message of the day -A file-like object containing the ``message of the day''. +@cindex message du jour +Un objet simili-fichier contenant le « message du jour ». -@item @code{allow-empty-passwords?} (default: @code{#t}) -Allow empty passwords by default so that first-time users can log in when -the 'root' account has just been created. +@item @code{allow-empty-passwords?} (par défaut : @code{#t}) +Permet les mots de passes vides par défaut pour que les utilisateurs +puissent se connecter au compte « root » la première fois après sa création. @end table @end deftp -@deffn {Scheme Procedure} mingetty-service @var{config} -Return a service to run mingetty according to @var{config}, a -@code{<mingetty-configuration>} object, which specifies the tty to run, -among other things. +@deffn {Procédure Scheme} mingetty-service @var{config} +Renvoie un service qui lance mingetty en suivant @var{config}, un objet +@code{<mingetty-configuration>}, qui spécifie le tty à lancer entre autres +choses. @end deffn -@deftp {Data Type} mingetty-configuration -This is the data type representing the configuration of Mingetty, which -provides the default implementation of virtual console log-in. +@deftp {Type de données} mingetty-configuration +C'est le type de données représentant la configuration de Mingetty, qui +fournit l'implémentation par défaut de l'écran de connexion des consoles +virtuelles. @table @asis @item @code{tty} -The name of the console this Mingetty runs on---e.g., @code{"tty1"}. +Le nom de la console sur laquelle tourne ce Mingetty, p.@: ex.@: +@code{"tty1"}. -@item @code{auto-login} (default: @code{#f}) -When true, this field must be a string denoting the user name under which -the system automatically logs in. When it is @code{#f}, a user name and -password must be entered to log in. +@item @code{auto-login} (par défaut : @code{#f}) +Lorsque la valeur est vraie, ce champ doit être une chaîne de caractère +dénotant le nom d'utilisateur pour lequel le système se connecte +automatiquement. Lorsque la valeur est @code{#f}, il faut entrer un nom +d'utilisateur et un mot de passe pour se connecter. -@item @code{login-program} (default: @code{#f}) -This must be either @code{#f}, in which case the default log-in program is -used (@command{login} from the Shadow tool suite), or a gexp denoting the -name of the log-in program. +@item @code{login-program} (par défaut : @code{#f}) +Ce doit être soit @code{#f}, auquel cas le programme de connexion par défaut +est utilisé (@command{login} de la suite d'outils Shadow), soit une gexp +dénotant le nom d'un programme de connexion. -@item @code{login-pause?} (default: @code{#f}) -When set to @code{#t} in conjunction with @var{auto-login}, the user will -have to press a key before the log-in shell is launched. +@item @code{login-pause?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t} en plus de @var{auto-login}, l'utilisateur +devrai appuyer sur une touche avant que le shell de connexion ne soit lancé. -@item @code{mingetty} (default: @var{mingetty}) -The Mingetty package to use. +@item @code{mingetty} (par défaut : @var{mingetty}) +Le paquet Mingetty à utiliser. @end table @end deftp -@deffn {Scheme Procedure} agetty-service @var{config} -Return a service to run agetty according to @var{config}, an -@code{<agetty-configuration>} object, which specifies the tty to run, among -other things. +@deffn {Procédure Scheme} agetty-service @var{config} +Renvoie un service pour lancer agetty en suivant @var{config}, un objet +@code{<agetty-configuration>}, qui spécifie le tty à lancer, entre autres +choses. @end deffn -@deftp {Data Type} agetty-configuration -This is the data type representing the configuration of agetty, which -implements virtual and serial console log-in. See the @code{agetty(8)} man -page for more information. +@deftp {Type de données} agetty-configuration +Ce type de données représente la configuration de agetty, qui implémente +l'écran de connexion des consoles virtuelles et series. Voir la page de +manuel de @code{agetty(8)} pour plus d'informations. @table @asis @item @code{tty} -The name of the console this agetty runs on, as a string---e.g., -@code{"ttyS0"}. This argument is optional, it will default to a reasonable -default serial port used by the kernel Linux. +Le nom de la console sur laquelle agetty est lancé p.@: ex.@: +@code{"ttyS0"}. Cet argument est facultatif, il aura par défaut une valeur +raisonnable d'un port série utilisé par le noyau Linux. -For this, if there is a value for an option @code{agetty.tty} in the kernel -command line, agetty will extract the device name of the serial port from it -and use that. +Pour cela, s'il y a une valeur pour une option @code{agetty.tty} sur la +ligne de commande du noyau, agetty extraira le nom du périphérique du port +série à partir de cette option. -If not and if there is a value for an option @code{console} with a tty in -the Linux command line, agetty will extract the device name of the serial -port from it and use that. +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. 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} (default: @code{#f}) -A string containing a comma-separated list of one or more baud rates, in -descending order. - -@item @code{term} (default: @code{#f}) -A string containing the value used for the @code{TERM} environment variable. - -@item @code{eight-bits?} (default: @code{#f}) -When @code{#t}, the tty is assumed to be 8-bit clean, and parity detection -is disabled. - -@item @code{auto-login} (default: @code{#f}) -When passed a login name, as a string, the specified user will be logged in -automatically without prompting for their login name or password. - -@item @code{no-reset?} (default: @code{#f}) -When @code{#t}, don't reset terminal cflags (control modes). - -@item @code{host} (default: @code{#f}) -This accepts a string containing the "login_host", which will be written -into the @file{/var/run/utmpx} file. - -@item @code{remote?} (default: @code{#f}) -When set to @code{#t} in conjunction with @var{host}, this will add an -@code{-r} fakehost option to the command line of the login program specified -in @var{login-program}. - -@item @code{flow-control?} (default: @code{#f}) -When set to @code{#t}, enable hardware (RTS/CTS) flow control. - -@item @code{no-issue?} (default: @code{#f}) -When set to @code{#t}, the contents of the @file{/etc/issue} file will not -be displayed before presenting the login prompt. - -@item @code{init-string} (default: @code{#f}) -This accepts a string that will be sent to the tty or modem before sending -anything else. It can be used to initialize a modem. - -@item @code{no-clear?} (default: @code{#f}) -When set to @code{#t}, agetty will not clear the screen before showing the -login prompt. - -@item @code{login-program} (default: (file-append shadow "/bin/login")) -This must be either a gexp denoting the name of a log-in program, or unset, -in which case the default value is the @command{login} from the Shadow tool -suite. - -@item @code{local-line} (default: @code{#f}) -Control the CLOCAL line flag. This accepts one of three symbols as -arguments, @code{'auto}, @code{'always}, or @code{'never}. If @code{#f}, the -default value chosen by agetty is @code{'auto}. - -@item @code{extract-baud?} (default: @code{#f}) -When set to @code{#t}, instruct agetty to try to extract the baud rate from -the status messages produced by certain types of modems. - -@item @code{skip-login?} (default: @code{#f}) -When set to @code{#t}, do not prompt the user for a login name. This can be -used with @var{login-program} field to use non-standard login systems. - -@item @code{no-newline?} (default: @code{#f}) -When set to @code{#t}, do not print a newline before printing the -@file{/etc/issue} file. +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 +des virgules, en ordre décroissant. + +@item @code{term} (par défaut : @code{#f}) +Une chaîne contenant la valeur utilisée pour la variable d'environnement +@code{TERM}. + +@item @code{eight-bits?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, le tty est supposé être propre pour les +caractères 8-bit et la détection de parité est désactivée. + +@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{no-reset?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, ne vide pas les cflags du terminal (modes +de contrôle). + +@item @code{host} (par défaut : @code{#f}) +Cette option accepte une chaîne contenant le « login_host », qui sera écrit +dans le fichier @file{/var/run/utmpx}. + +@item @code{remote?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t} en plus de @var{host}, cette option ajoutera +une option fakehost @code{-r} à la ligne de commande du programme de +connexion spécifié dans @var{login-program}. + +@item @code{flow-control?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, active le contrôle de flux matériel +(RTS/CTS). + +@item @code{no-issue?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, le contenu du fichier @file{/etc/issue} ne +sera pas affiché avant de présenter l'écran de connexion. + +@item @code{init-string} (par défaut : @code{#f}) +Cette option accepte une chaîne de caractères qui sera envoyée au tty ou au +modem avant toute autre chose. Elle peut être utilisée pour initialiser un +modem. + +@item @code{no-clear?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, agetty ne nettoiera pas l'écran avant de +montrer l'écran de connexion. + +@item @code{login-program} (par défaut : (file-append shadow "/bin/login")) +Cette option doit être soit une gexp dénotant le nom d'un programme de +connexion, soit non définie, auquel cas la valeur par défaut est la commande +@command{login} de la suite d'outils Shadow. + +@item @code{local-line} (par défaut : @code{#f}) +Contrôle le drapeau CLOCAL. Cette option accepte l'un des trois symboles +comme argument, @code{'auto}, @code{'always} ou @code{'never}. Si la valeur +est @code{#f}, la valeur par défaut choisie par agetty est @code{'auto}… + +@item @code{extract-baud?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, dit à agetty d'essayer d'extraire la taux +de baud depuis les messages de statut produits par certains modems. + +@item @code{skip-login?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, ne demande par de nom d'utilisateur. Elle +peut être utilisée avec le champ @var{login-program} pour utiliser des +systèmes de connexion non standards. + +@item @code{no-newline?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, n'affiche pas de retour à la ligne avant +d'afficher le fichier @file{/etc/issue}. @c Is this dangerous only when used with login-program, or always? -@item @code{login-options} (default: @code{#f}) -This option accepts a string containing options that are passed to the login -program. When used with the @var{login-program}, be aware that a malicious -user could try to enter a login name containing embedded options that could -be parsed by the login program. - -@item @code{login-pause} (default: @code{#f}) -When set to @code{#t}, wait for any key before showing the login prompt. -This can be used in conjunction with @var{auto-login} to save memory by -lazily spawning shells. - -@item @code{chroot} (default: @code{#f}) -Change root to the specified directory. This option accepts a directory -path as a string. - -@item @code{hangup?} (default: @code{#f}) -Use the Linux system call @code{vhangup} to do a virtual hangup of the -specified terminal. - -@item @code{keep-baud?} (default: @code{#f}) -When set to @code{#t}, try to keep the existing baud rate. The baud rates -from @var{baud-rate} are used when agetty receives a @key{BREAK} character. - -@item @code{timeout} (default: @code{#f}) -When set to an integer value, terminate if no user name could be read within -@var{timeout} seconds. - -@item @code{detect-case?} (default: @code{#f}) -When set to @code{#t}, turn on support for detecting an uppercase-only -terminal. This setting will detect a login name containing only uppercase -letters as indicating an uppercase-only terminal and turn on some -upper-to-lower case conversions. Note that this will not support Unicode -characters. - -@item @code{wait-cr?} (default: @code{#f}) -When set to @code{#t}, wait for the user or modem to send a carriage-return -or linefeed character before displaying @file{/etc/issue} or login prompt. -This is typically used with the @var{init-string} option. - -@item @code{no-hints?} (default: @code{#f}) -When set to @code{#t}, do not print hints about Num, Caps, and Scroll locks. - -@item @code{no-hostname?} (default: @code{#f}) -By default, the hostname is printed. When this option is set to @code{#t}, -no hostname will be shown at all. - -@item @code{long-hostname?} (default: @code{#f}) -By default, the hostname is only printed until the first dot. When this -option is set to @code{#t}, the fully qualified hostname by -@code{gethostname} or @code{getaddrinfo} is shown. - -@item @code{erase-characters} (default: @code{#f}) -This option accepts a string of additional characters that should be -interpreted as backspace when the user types their login name. - -@item @code{kill-characters} (default: @code{#f}) -This option accepts a string that should be interpreted to mean "ignore all -previous characters" (also called a "kill" character) when the types their -login name. - -@item @code{chdir} (default: @code{#f}) -This option accepts, as a string, a directory path that will be changed to -before login. - -@item @code{delay} (default: @code{#f}) -This options accepts, as an integer, the number of seconds to sleep before -opening the tty and displaying the login prompt. - -@item @code{nice} (default: @code{#f}) -This option accepts, as an integer, the nice value with which to run the -@command{login} program. - -@item @code{extra-options} (default: @code{'()}) -This option provides an "escape hatch" for the user to provide arbitrary -command-line arguments to @command{agetty} as a list of strings. +@item @code{login-options} (par défaut : @code{#f}) +Cette option accepte une chaîne de caractères contenant des options passées +au programme login. Lorsqu'utilisé avec @var{login-program}, soyez +conscient qu'un utilisateur malicieux pourrait essayer de rentrer un nom +d'utilisateur contenant des options incluses qui pourraient être analysées +par le programme de connexion. + +@item @code{login-pause} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, attend qu'une touche soit appuyée avant de +montrer l'écran de connexion. Cela peut être utilisé avec @var{auto-login} +pour sauvegarder de la mémoire en lançant les shells de manière fainéante. + +@item @code{chroot} (par défaut : @code{#f}) +Change de racine dans le répertoire donné. Cette option accepte un chemin +en tant que chaîne de caractères. + +@item @code{hangup?} (par défaut : @code{#f}) +Utilise l'appel système Linux @code{vhangup} pour raccrocher virtuellement +le terminal spécifié. + +@item @code{keep-baud?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, essaye de garder le taux de baud existant. +Les taux de baud de @var{baud-rate} sont utilisés lorsque agetty reçoit un +caractères @key{BREAK}. + +@item @code{timeout} (par défaut : @code{#f}) +Lorsque la valeur est un nombre entier, termine la session si aucun nom +d'utilisateur n'a pu être lu après @var{timeout} secondes. + +@item @code{detect-case?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, active le support pour la détection des +terminaux en majuscule uniquement. Ce paramètre détectera qu'un nom +d'utilisateur qui ne contient que des majuscules indique un terminal en +majuscule et effectuera des conversion de majuscule en minuscule. Remarquez +que cela ne fonctionne pas avec les caractères unicode. + +@item @code{wait-cr?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, attend que l'utilisateur ou le modem envoie +un retour chariot ou un saut de ligne avant d'afficher @file{/etc/issue} ou +l'écran de connexion. Cela est typiquement utilisé avec l'option +@var{init-string}. + +@item @code{no-hints?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, n'affiche par les astuces à propos des +verrouillages numériques, majuscule et défilement. + +@item @code{no-hostname?} (par défaut : @code{#f}) +Par défaut, le nom d'hôte est affiché. Lorsque la valeur est @code{#t}, +aucun nom d'hôte ne sera affiché. + +@item @code{long-hostname?} (par défaut : @code{#f}) +Par défaut, le nom d'hôte n'est affiché qu'après le premier point. Lorsque +la valeur est @code{#t}, le nom d'hôte pleinement qualifié renvoyé par +@code{gethostname} ou @code{getaddrinfo} sera affiché. + +@item @code{erase-characters} (par défaut : @code{#f}) +Cette option accepte une chaîne de caractères de caractères supplémentaires +qui devraient être interprétés comme des effacements lorsque l'utilisateur +les tape dans leur nom d'utilisateur. + +@item @code{kill-characters} (par défaut : @code{#f}) +Cette option accepte une chaîne de caractères qui devrait être interprété +comme signifiant « ignore tous les caractères précédent » (aussi appelé un +caractère « kill ») lorsque l'utilisateur tape son nom d'utilisateur. + +@item @code{chdir} (par défaut : @code{#f}) +Cette option accepte, en tant que chaîne de caractères, un chemin vers un +répertoire dans lequel se trouvera la commande avant la connexion. + +@item @code{delay} (par défaut : @code{#f}) +Cette option accepte, en tant qu'entier, le nombre de secondes à attendre +avant d'ouvrir le tty et afficher l'écran de connexion. + +@item @code{nice} (par défaut : @code{#f}) +Cette option accepte, en tant qu'entier, la valeur « nice » avec laquelle le +programme @command{login} tourne. + +@item @code{extra-options} (par défaut : @code{'()}) +Cette option fournie un « mécanisme de secours » pour que l'utilisateur +puisse ajouter des arguments de la ligne de commande arbitraires à +@command{agetty} comme une liste de chaînes de caractères. @end table @end deftp -@deffn {Scheme Procedure} kmscon-service-type @var{config} -Return a service to run -@uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} according to -@var{config}, a @code{<kmscon-configuration>} object, which specifies the -tty to run, among other things. +@deffn {Procédure Scheme} kmscon-service-type @var{config} +Renvoie un service qui lance +@uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} d'après +@var{config}, un objet @code{<kmscon-configuration>}, qui spécifie le tty +sur lequel tourner, entre autres choses. @end deffn -@deftp {Data Type} kmscon-configuration -This is the data type representing the configuration of Kmscon, which -implements virtual console log-in. +@deftp {Type de données} kmscon-configuration +C'est le type de données représentant la configuration de Kscon, qui +implémente l'écran de chargement de la console virtuelle. @table @asis @item @code{virtual-terminal} -The name of the console this Kmscon runs on---e.g., @code{"tty1"}. +Le nom de la console sur laquelle Kmscon tourne, p.@: ex.@: @code{"tty1"}. + +@item @code{login-program} (par défaut : @code{#~(string-append #$shadow "/bin/login")}) +Une gexp qui dénote le nom d'un programme de connexion. le programme de +connexion par défaut est @command{login} de la suite d'outils Shadow. -@item @code{login-program} (default: @code{#~(string-append #$shadow "/bin/login")}) -A gexp denoting the name of the log-in program. The default log-in program -is @command{login} from the Shadow tool suite. +@item @code{login-arguments} (par défaut : @code{'("-p")}) +Une liste d'arguments à passer à @command{login}. -@item @code{login-arguments} (default: @code{'("-p")}) -A list of arguments to pass to @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?} (default: #f) -Whether to use hardware acceleration. +@item @code{hardware-acceleration?} (par défaut : #f) +S'il faut utiliser l'accélération matérielle. -@item @code{kmscon} (default: @var{kmscon}) -The Kmscon package to use. +@item @code{kmscon} (par défaut : @var{kmscon}) +Le paquet Kmscon à utiliser. @end table @end deftp @cindex name service cache daemon @cindex nscd -@deffn {Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @ - [#:name-services '()] Return a service that runs the libc name service cache -daemon (nscd) with the given @var{config}---an @code{<nscd-configuration>} -object. @xref{Name Service Switch}, for an example. +@deffn {Procédure Scheme} nscd-service [@var{config}] [#:glibc glibc] @ + [#:name-services '()] +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{<nscd-configuration>}. @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 {Scheme Variable} %nscd-default-configuration -This is the default @code{<nscd-configuration>} value (see below) used by -@code{nscd-service}. It uses the caches defined by -@var{%nscd-default-caches}; see below. +@defvr {Variable Scheme} %nscd-default-configuration +C'est la valeur par défaut de @code{<nscd-configuration>} (voir plus bas) +utilisée par @code{nscd-service}. Elle utilise les caches définis par +@var{%nscd-default-caches} ; voir plus bas. @end defvr -@deftp {Data Type} nscd-configuration -This is the data type representing the name service cache daemon (nscd) -configuration. +@deftp {Type de données} nscd-configuration +C'est le type de données qui représente la configuration du démon de cache +de services de noms (nscd). @table @asis -@item @code{name-services} (default: @code{'()}) -List of packages denoting @dfn{name services} that must be visible to the -nscd---e.g., @code{(list @var{nss-mdns})}. +@item @code{name-services} (par défaut : @code{'()}) +Liste des paquets dénotant des @dfn{services de noms} qui doivent être +visible pour nscd, p.@: ex.@: @code{(list @var{nss-mdns})}. -@item @code{glibc} (default: @var{glibc}) -Package object denoting the GNU C Library providing the @command{nscd} -command. +@item @code{glibc} (par défaut : @var{glibc}) +Objet de paquet qui dénote la Biblothèque C de GNU qui fournit la commande +@command{nscd}. -@item @code{log-file} (default: @code{"/var/log/nscd.log"}) -Name of the nscd log file. This is where debugging output goes when -@code{debug-level} is strictly positive. +@item @code{log-file} (par défaut : @code{"/var/log/nscd.log"}) +Nom du fichier journal de nscd. C'est là que les sorties de débogage sont +envoyée lorsque @code{debug-level} est strictement positif. -@item @code{debug-level} (default: @code{0}) -Integer denoting the debugging levels. Higher numbers mean that more -debugging output is logged. +@item @code{debug-level} (par défaut : @code{0}) +Entier qui dénote le niveau de débogage. Les entiers les plus grands +signifient plus de sortie de débogage. -@item @code{caches} (default: @var{%nscd-default-caches}) -List of @code{<nscd-cache>} objects denoting things to be cached; see below. +@item @code{caches} (par défaut : @var{%nscd-default-caches}) +Liste d'objets @code{<nscd-cache>} qui dénotent des choses à mettre en cache +; voir plus bas. @end table @end deftp -@deftp {Data Type} nscd-cache -Data type representing a cache database of nscd and its parameters. +@deftp {Type de données} nscd-cache +Type de données représentant une base de données de cache de nscd et ses +paramètres. @table @asis @item @code{database} -This is a symbol representing the name of the database to be cached. Valid -values are @code{passwd}, @code{group}, @code{hosts}, and @code{services}, -which designate the corresponding NSS database (@pxref{NSS Basics,,, libc, -The GNU C Library Reference Manual}). +C'est un symbole qui représente le nom de la base de donnée à mettre en +cache. Les valeurs valide sont @code{passwd}, @code{group}, @code{hosts} et +@code{services} qui désignent les bases de données NSS correspondantes +(@pxref{NSS Basics,,, libc, The GNU C Library Reference Manual}). @item @code{positive-time-to-live} -@itemx @code{negative-time-to-live} (default: @code{20}) -A number representing the number of seconds during which a positive or -negative lookup result remains in cache. +@itemx @code{negative-time-to-live} (par défaut : @code{20}) +Un entier qui représente le nombre de secondes pendant lesquelles un +résultat positif ou négatif reste en cache. -@item @code{check-files?} (default: @code{#t}) -Whether to check for updates of the files corresponding to @var{database}. +@item @code{check-files?} (par défaut : @code{#t}) +Indique s'il faut vérifier des mises à jours dans les fichiers correspondant +à @var{database}. -For instance, when @var{database} is @code{hosts}, setting this flag -instructs nscd to check for updates in @file{/etc/hosts} and to take them -into account. +Par exemple, lorsque @var{database} est @code{hosts}, ce drapeau indique à +nscd de vérifier s'il y a des mises à jour de @file{/etc/hosts} et de les +prendre en compte. -@item @code{persistent?} (default: @code{#t}) -Whether the cache should be stored persistently on disk. +@item @code{persistent?} (par défaut : @code{#t}) +Indique si le cache devrait être stocké de manière persistante sur le +disque. -@item @code{shared?} (default: @code{#t}) -Whether the cache should be shared among users. +@item @code{shared?} (par défaut : @code{#t}) +Indique si le cache devrait être partagé entre les utilisateurs. -@item @code{max-database-size} (default: 32@tie{}MiB) -Maximum size in bytes of the database cache. +@item @code{max-database-size} (par défaut : 32@tie{}MiB) +Taille maximale en octets de la base de données en cache. @c XXX: 'suggested-size' and 'auto-propagate?' seem to be expert @c settings, so leave them out. @@ -10749,118 +11585,123 @@ Maximum size in bytes of the database cache. @end table @end deftp -@defvr {Scheme Variable} %nscd-default-caches -List of @code{<nscd-cache>} objects used by default by -@code{nscd-configuration} (see above). +@defvr {Variable Scheme} %nscd-default-caches +Liste d'objets @code{<nscd-cache>} utilisés par défaut par +@code{nscd-configuration} (voir plus haut). -It enables persistent and aggressive caching of service and host name -lookups. The latter provides better host name lookup performance, -resilience in the face of unreliable name servers, and also better -privacy---often the result of host name lookups is in local cache, so -external name servers do not even need to be queried. +Elle active la mise en cache persistante et agressive des recherches de +services et de noms d'hôtes. Ces derniers fournissent une recherche de noms +d'hôtes plus performante, résiliente face à des serveurs de noms peu fiables +et une protection de votre vie privée plus efficace — souvent le résultat +des recherches de noms d'hôtes sont dans le cache local, donc les serveurs +de nom externes n'ont même pas besoin d'être questionnés. @end defvr @anchor{syslog-configuration-type} @cindex syslog @cindex logging -@deftp {Data Type} syslog-configuration -This data type represents the configuration of the syslog daemon. +@deftp {Type de données} syslog-configuration +Ce type de données représente la configuration du démon syslog. @table @asis -@item @code{syslogd} (default: @code{#~(string-append #$inetutils "/libexec/syslogd")}) -The syslog daemon to use. +@item @code{syslogd} (par défaut : @code{#~(string-append #$inetutils "/libexec/syslogd")}) +Le démon syslog à utiliser. -@item @code{config-file} (default: @code{%default-syslog.conf}) -The syslog configuration file to use. +@item @code{config-file} (par défaut : @code{%default-syslog.conf}) +Le fichier de configuration de syslog à utiliser. @end table @end deftp @anchor{syslog-service} @cindex syslog -@deffn {Scheme Procedure} syslog-service @var{config} -Return a service that runs a syslog daemon according to @var{config}. +@deffn {Procédure Scheme} syslog-service @var{config} +Renvoie un service qui lance un démon syslog en suivant @var{config}. -@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information -on the configuration file syntax. +@xref{syslogd invocation,,, inetutils, GNU Inetutils}, pour plus +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 {Data Type} guix-configuration -This data type represents the configuration of the Guix build daemon. -@xref{Invoquer guix-daemon}, for more information. +@deftp {Type de données} guix-configuration +Ce type de données représente la configuration du démon de construction de +Guix. @xref{Invoquer guix-daemon} pour plus d'informations. @table @asis -@item @code{guix} (default: @var{guix}) -The Guix package to use. +@item @code{guix} (par défaut : @var{guix}) +Le paquet Guix à utiliser. -@item @code{build-group} (default: @code{"guixbuild"}) -Name of the group for build user accounts. +@item @code{build-group} (par défaut : @code{"guixbuild"}) +Nom du groupe des comptes utilisateurs de construction. -@item @code{build-accounts} (default: @code{10}) -Number of build user accounts to create. +@item @code{build-accounts} (par défaut : @code{10}) +Nombre de comptes utilisateurs de construction à créer. -@item @code{authorize-key?} (default: @code{#t}) +@item @code{authorize-key?} (par défaut : @code{#t}) @cindex substituts, autorisations Autoriser ou non les clefs de substituts listées dans @code{authorize-keys} — par défaut celle de @code{hydra.gny.org} (@pxref{Substituts}). @vindex %default-authorized-guix-keys -@item @code{authorized-keys} (default: @var{%default-authorized-guix-keys}) +@item @code{authorized-keys} (par défaut : @var{%default-authorized-guix-keys}) La liste des fichiers de clefs autorisées pour les imports d'archives, en tant que liste de gexps sous forme de chaînes (@pxref{Invoquer guix archive}). Par défaut, elle contient celle de @code{hydra.gnu.org} (@pxref{Substituts}). -@item @code{use-substitutes?} (default: @code{#t}) -Whether to use substitutes. +@item @code{use-substitutes?} (par défaut : @code{#t}) +S'il faut utiliser les substituts. -@item @code{substitute-urls} (default: @var{%default-substitute-urls}) -The list of URLs where to look for substitutes by default. +@item @code{substitute-urls} (par défaut : @var{%default-substitute-urls}) +La liste des URL où trouver des substituts par défaut. -@item @code{max-silent-time} (default: @code{0}) -@itemx @code{timeout} (default: @code{0}) -The number of seconds of silence and the number of seconds of activity, -respectively, after which a build process times out. A value of zero -disables the timeout. +@item @code{max-silent-time} (par défaut : @code{0}) +@itemx @code{timeout} (par défaut : @code{0}) +Le nombre de secondes de silence et le nombre de secondes d'inactivité, +respectivement, après lesquelles un processus de construction son délai +d'attente. Une valeur de zéro désactive le délai d'attente. -@item @code{log-compression} (default: @code{'bzip2}) -The type of compression used for build logs---one of @code{gzip}, -@code{bzip2}, or @code{none}. +@item @code{log-compression} (par défaut : @code{'bzip2}) +Le type de compression utilisé par les journaux de construction — parmi +@code{gzip}, @code{bzip2} et @code{none}. -@item @code{extra-options} (default: @code{'()}) -List of extra command-line options for @command{guix-daemon}. +@item @code{extra-options} (par défaut : @code{'()}) +Liste d'options supplémentaires de la ligne de commande pour +@command{guix-daemon}. -@item @code{log-file} (default: @code{"/var/log/guix-daemon.log"}) -File where @command{guix-daemon}'s standard output and standard error are -written. +@item @code{log-file} (par défaut : @code{"/var/log/guix-daemon.log"}) +Le fichier où les sorties standard et d'erreur de @command{guix-daemon} sont +écrites. -@item @code{http-proxy} (default: @code{#f}) -The HTTP proxy used for downloading fixed-output derivations and -substitutes. +@item @code{http-proxy} (par défaut : @code{#f}) +Le serveur mandataire HTTP à utiliser pour télécharger les dérivations à +sortie fixe et les substituts. -@item @code{tmpdir} (default: @code{#f}) -A directory path where the @command{guix-daemon} will perform builds. +@item @code{tmpdir} (par défaut : @code{#f}) +Un répertoire où @command{guix-daemon} effectuera ses constructions. @end table @end deftp -@deffn {Scheme Procedure} guix-service @var{config} -Return a service that runs the Guix build daemon according to @var{config}. -@end deffn - -@deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}] -Run @var{udev}, which populates the @file{/dev} directory dynamically. udev -rules can be provided as a list of files through the @var{rules} variable. -The procedures @var{udev-rule} and @var{file->udev-rule} from @code{(gnu -services base)} simplify the creation of such rule files. +@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 +@var{rules}. Les procédures @var{udev-rule} et @var{file->udev-rule} de +@code{(gnu services base)} simplifient la création de ces fichiers de règle. -@deffn {Scheme Procedure} udev-rule [@var{file-name} @var{contents}] -Return a udev-rule file named @var{file-name} containing the rules defined -by the @var{contents} literal. +@deffn {Procédure Scheme} udev-rule [@var{file-name} @var{contents}] +Renvoie un fichier de règle udev nommé @var{file-name} contenant les règles +définie par le litéral @var{contents}. -In the following example, a rule for a USB device is defined to be stored in -the file @file{90-usb-thing.rules}. The rule runs a script upon detecting a -USB device with a given product identifier. +Dans l'exemple suivant, on définie une règle pour un périphérique USB qui +sera stockée dans le fichier @file{90-usb-thing.rules}. La règle lance un +script à la détection du périphérique USB avec l'identifiant de produit +donné. @example (define %example-udev-rule @@ -10872,7 +11713,8 @@ USB device with a given product identifier. @end example @end deffn -Here we show how the default @var{udev-service} can be extended with it. +Ici on montre comment le service @var{udev-service} par défaut peut être +étendu avec cette règle. @example (operating-system @@ -10885,15 +11727,15 @@ Here we show how the default @var{udev-service} can be extended with it. (list %example-udev-rule)))))))) @end example -@deffn {Scheme Procedure} file->udev-rule [@var{file-name} @var{file}] -Return a udev file named @var{file-name} containing the rules defined within -@var{file}, a file-like object. +@deffn {Procédure Scheme} file->udev-rule [@var{file-name} @var{file}] +Renvoie un fichier udev nommé @var{file-name} contenant les règles définies +dans @var{file}, un objet simili-fichier. -The following example showcases how we can use an existing rule file. +L'exemple suivant montre comment utiliser un fichier de règles existant. @example -(use-modules (guix download) ;for url-fetch - (guix packages) ;for origin +(use-modules (guix download) ;pour url-fetch + (guix packages) ;pour origin ;; @dots{}) (define %android-udev-rules @@ -10909,21 +11751,20 @@ The following example showcases how we can use an existing rule file. @end example @end deffn -Additionally, Guix package definitions can be included in @var{rules} in -order to extend the udev rules with the definitions found under their -@file{lib/udev/rules.d} sub-directory. In lieu of the previous -@var{file->udev-rule} example, we could have used the -@var{android-udev-rules} package which exists in Guix in the @code{(gnu -packages android)} module. +En plus, les définitions des paquets de Guix peuvent être inclus dans +@var{rules} pour étendre les règles avec les définitions trouvées dans leur +sous-répertoire @file{lib/udev/rules.d}. Au lieu de l'exemple +@var{file->udev-rule} précédent, on aurait pu utiliser le paquet +@var{android-udev-rules} qui existe dans le module @code{(gnu packages +android)}. -The following example shows how to use the @var{android-udev-rules} package -so that the Android tool @command{adb} can detect devices without root -privileges. It also details how to create the @code{adbusers} group, which -is required for the proper functioning of the rules defined within the -@var{android-udev-rules} package. To create such a group, we must define it -both as part of the @var{supplementary-groups} of our @var{user-account} -declaration, as well as in the @var{groups} field of the -@var{operating-system} record. +L'exemple suivant montre comment utiliser le paquet @var{android-udev-rules} +pour que l'outil Android @command{adb} puisse détecter les appareils sans +privilège root. Il détaille aussi comment créer le grope @code{adbusers}, +requis pour le bon fonctionnement des règles définies dans le paquet +@var{android-udev-rules}. Pour créer ce groupe, on doit le définir dans les +@var{supplementary-groups} de la déclaration @var{user-account} ainsi que +dans le champ @var{groups} de l'enregistrement @var{operating-system}. @example (use-modules (gnu packages android) ;for android-udev-rules @@ -10953,62 +11794,63 @@ declaration, as well as in the @var{groups} field of the @end example @end deffn -@defvr {Scheme Variable} urandom-seed-service-type -Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom} -when rebooting. It also tries to seed @file{/dev/urandom} from -@file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is -readable. +@defvr {Variable Scheme} urandom-seed-service-type +Garde de l'entropie dans @var{%random-seed-file} pour démarrer +@file{/dev/urandom} au redémarrage. Ce service essaye aussi de démarrer +@file{/dev/urandom} à partir de @file{/dev/hwrng} au démarrage si +@file{/dev/hwrng} existe et peut être lu. @end defvr -@defvr {Scheme Variable} %random-seed-file -This is the name of the file where some random bytes are saved by -@var{urandom-seed-service} to seed @file{/dev/urandom} when rebooting. It -defaults to @file{/var/lib/random-seed}. +@defvr {Variable Scheme} %random-seed-file +C'est le nom du fichier où des octets aléatoires sont sauvegardés par +@var{urandom-seed-service} pour démarrer @file{/dev/urandom} au +redémarrage. Sa valeur par défaut est @file{/var/lib/random-seed}. @end defvr -@cindex keymap -@cindex keyboard -@deffn {Scheme Procedure} console-keymap-service @var{files} ... -@cindex keyboard layout -Return a service to load console keymaps from @var{files} using -@command{loadkeys} command. Most likely, you want to load some default -keymap, which can be done like this: +@cindex disposition clavier +@cindex clavier +@deffn {Procédure Scheme} console-keymap-service @var{files} ... +@cindex disposition du clavier +Renvoie un service qui charge les dispositions claviers de @var{files} avec +la commande @command{loadkeys}. Vraisemblablement, vous voudrez charger une +disposition par défaut, ce qui se fait ainsi : @example (console-keymap-service "dvorak") @end example -Or, for example, for a Swedish keyboard, you may need to combine the -following keymaps: +Ou par exemple pour un clavier suédois, vous pourriez avoir besoin de +combiner les dispositions suivantes : @example (console-keymap-service "se-lat6" "se-fi-lat6") @end example -Also you can specify a full file name (or file names) of your keymap(s). -See @code{man loadkeys} for details. +Vous pouvez aussi spécifier le nom de fichier (ou les noms de fichiers) +complets de vos dispositions. Voir @code{man loadkeys} pour des détails. @end deffn -@cindex mouse +@cindex souris @cindex gpm @defvr {Variable Scheme} gpm-service-type -This is the type of the service that runs GPM, the @dfn{general-purpose -mouse daemon}, which provides mouse support to the Linux console. GPM -allows users to use the mouse in the console, notably to select, copy, and -paste text. +C'est le type du service qui lance GPM, le @dfn{démon de souris à but +général}, qui fournit le support de la souris sur la console Linux. GPM +permet aux utilisateurs d'utiliser la souris dans la console, entre autres +pour sélectionner, copier et coller du texte. -The value for services of this type must be a @code{gpm-configuration} (see -below). This service is not part of @var{%base-services}. +La valeur pour les services de ce type doit être un @code{gpm-configuration} +(voir plus bas). Ce service ne fait pas partie de @var{%base-services}. @end defvr -@deftp {Type de donnée} gpm-configuration +@deftp {Type de données} gpm-configuration Type de données représentant la configuration de GPM. @table @asis @item @code{options} (par défaut : @code{%default-gpm-options}) -Command-line options passed to @command{gpm}. The default set of options -instruct @command{gpm} to listen to mouse events on @file{/dev/input/mice}. -@xref{Command Line,,, gpm, gpm manual}, for more information. +Les options de la ligne de commande à passer à @command{gpm}. L'ensemble +des options par défaut dit à @command{gpm} d'écouter les événements de la +souris dans @file{/dev/input/mice}. @xref{Command Line,,, gpm, gpm manual}, +pour plus d'informations. @item @code{gpm} (par défaut : @code{gpm}) Le paquet GPM à utiliser. @@ -11017,78 +11859,84 @@ Le paquet GPM à utiliser. @end deftp @anchor{guix-publish-service-type} -@deffn {Scheme Variable} guix-publish-service-type -This is the service type for @command{guix publish} (@pxref{Invoquer guix publish}). Its value must be a @code{guix-configuration} object, as -described below. +@deffn {Variable Scheme} guix-publish-service-type +C'est le type de service pour @command{guix publish} (@pxref{Invoquer guix publish}). Sa valeur doit être un objet @code{guix-configuration} décrit +plus bas. -This assumes that @file{/etc/guix} already contains a signing key pair as -created by @command{guix archive --generate-key} (@pxref{Invoquer guix archive}). If that is not the case, the service will fail to start. +Ce service suppose que @file{/etc/guix} contient déjà une paire de clefs +créée par @command{guix archive --generate-key} (@pxref{Invoquer guix archive}). Si ce n'est pas le cas, le service ne démarrera pas. @end deffn -@deftp {Data Type} guix-publish-configuration -Data type representing the configuration of the @code{guix publish} service. +@deftp {Type de données} guix-publish-configuration +Le type de données représentant la configuration du service @code{guix +publish}. @table @asis -@item @code{guix} (default: @code{guix}) -The Guix package to use. +@item @code{guix} (par défaut : @code{guix}) +Le paquet Guix à utiliser. -@item @code{port} (default: @code{80}) -The TCP port to listen for connections. +@item @code{port} (par défaut : @code{80}) +Le port TCP sur lequel écouter les connexions. -@item @code{host} (default: @code{"localhost"}) -The host (and thus, network interface) to listen to. Use @code{"0.0.0.0"} -to listen on all the network interfaces. +@item @code{host} (par défaut : @code{"localhost"}) +L'hôte (et donc, l'interface réseau) sur lequel écouter. Utilisez +@code{"0.0.0.0"} pour écouter sur toutes les interfaces réseaux. @item @code{compression-level} (par défaut : @code{3}) -The gzip compression level at which substitutes are compressed. Use -@code{0} to disable compression altogether, and @code{9} to get the best -compression ratio at the expense of increased CPU usage. - -@item @code{nar-path} (default: @code{"nar"}) -The URL path at which ``nars'' can be fetched. @xref{Invoquer guix publish, -@code{--nar-path}}, for details. - -@item @code{cache} (default: @code{#f}) -When it is @code{#f}, disable caching and instead generate archives on -demand. Otherwise, this should be the name of a directory---e.g., -@code{"/var/cache/guix/publish"}---where @command{guix publish} caches -archives and meta-data ready to be sent. @xref{Invoquer guix publish, -@option{--cache}}, for more information on the tradeoffs involved. - -@item @code{workers} (default: @code{#f}) -When it is an integer, this is the number of worker threads used for -caching; when @code{#f}, the number of processors is used. @xref{Invoquer guix publish, @option{--workers}}, for more information. - -@item @code{ttl} (default: @code{#f}) -When it is an integer, this denotes the @dfn{time-to-live} in seconds of the -published archives. @xref{Invoquer guix publish, @option{--ttl}}, for more -information. +Le niveau de compression gzip auquel les substituts sont compressés. +Utilisez @code{0} pour désactiver complètement la compression, et @code{9} +pour avoir le meilleur taux de compression contre une plus grande +utilisation du CPU. + +@item @code{nar-path} (par défaut : @code{"nar"}) +Le chemin d'URL où les « nars » se trouvent. @xref{Invoquer guix publish, +@code{--nar-path}}, pour des détails. + +@item @code{cache} (par défaut : @code{#f}) +Lorsque la valeur est @code{#f}, désactive le cache et génère les archives à +la demande. Sinon, cela devrait être le nom d'un répertoire — p.@: ex.@: +@code{"/var/cache/guix/publish"} — où @command{guix publish} gère le cache +des archives et des métadonnées prêtes à être envoyées. @xref{Invoquer guix publish, @option{--cache}}, pour plus d'informations sur les compromis +impliqués. + +@item @code{workers} (par défaut : @code{#f}) +Lorsque la valeur est un entier, c'est le nombre de threads de travail +utilisés pour le cache ; lorsque la valeur est @code{#f}, le nombre de +processeurs est utilisé. @xref{Invoquer guix publish, @option{--workers}}, +pour plus d'informations. + +@item @code{ttl} (par défaut : @code{#f}) +Lorsque la valeur est un entier, il dénote la @dfn{durée de vie} en secondes +des archives publiées. @xref{Invoquer guix publish, @option{--ttl}}, pour +plus d'informations. @end table @end deftp @anchor{rngd-service} -@deffn {Scheme Procedure} rngd-service [#:rng-tools @var{rng-tools}] @ - [#:device "/dev/hwrng"] Return a service that runs the @command{rngd} -program from @var{rng-tools} to add @var{device} to the kernel's entropy -pool. The service will fail if @var{device} does not exist. +@deffn {Procédure Scheme} rngd-service [#:rng-tools @var{rng-tools}] @ + [#:device "/dev/hwrng"] +Renvoie un service qui lance le programme @command{rngd} de @var{rng-tools} +pour ajouter @var{device} à la réserve d'entropie du noyau. Le service +échouera si @var{device} n'existe pas. @end deffn @anchor{pam-limits-service} -@cindex session limits +@cindex limites de session @cindex ulimit -@cindex priority -@cindex realtime +@cindex priorités +@cindex temps réel @cindex jackd -@deffn {Scheme Procedure} pam-limits-service [#:limits @code{'()}] +@deffn {Procédure Scheme} pam-limits-service [#:limits @code{'()}] -Return a service that installs a configuration file for the -@uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, -@code{pam_limits} module}. The procedure optionally takes a list of -@code{pam-limits-entry} values, which can be used to specify @code{ulimit} -limits and nice priority limits to user sessions. +Renvoie un service qui installe un fichier de configuration pour le +@uref{http://linux-pam.org/Linux-PAM-html/sag-pam_limits.html, module +@code{pam_limits}}. La procédure prend éventuellement une liste de valeurs +@code{pam-limits-entry} qui peuvent être utilisées pour spécifier les +limites @code{ulimit} et les priorités des sessions utilisateurs. -The following limits definition sets two hard and soft limits for all login -sessions of users in the @code{realtime} group: +La définition de limites suivante défini deux limites matérielles et +logicielles pour toutes les sessions connectées des utilisateurs du groupe +@code{realtime} : @example (pam-limits-service @@ -11097,10 +11945,10 @@ sessions of users in the @code{realtime} group: (pam-limits-entry "@@realtime" 'both 'memlock 'unlimited))) @end example -The first entry increases the maximum realtime priority for non-privileged -processes; the second entry lifts any restriction of the maximum address -space that can be locked in memory. These settings are commonly used for -real-time audio systems. +La première entrée augment la priorité en temps réel maximale des processus +non privilégiés ; la deuxième entrée abandonne les restrictions sur l'espace +d'adressage maximal qui peut être verrouillé en mémoire. Ces paramètres +sont souvent utilisés sur les systèmes audio temps-réel. @end deffn @node Exécution de tâches planifiées @@ -11108,28 +11956,29 @@ real-time audio systems. @cindex cron @cindex mcron -@cindex scheduling jobs -The @code{(gnu services mcron)} module provides an interface to -GNU@tie{}mcron, a daemon to run jobs at scheduled times (@pxref{Top,,, -mcron, GNU@tie{}mcron}). GNU@tie{}mcron is similar to the traditional Unix -@command{cron} daemon; the main difference is that it is implemented in -Guile Scheme, which provides a lot of flexibility when specifying the -scheduling of jobs and their actions. - -The example below defines an operating system that runs the -@command{updatedb} (@pxref{Invoking updatedb,,, find, Finding Files}) and -the @command{guix gc} commands (@pxref{Invoquer guix gc}) daily, as well as -the @command{mkid} command on behalf of an unprivileged user (@pxref{mkid -invocation,,, idutils, ID Database Utilities}). It uses gexps to introduce -job definitions that are passed to mcron (@pxref{G-Expressions}). +@cindex tâches planifiées +Le module @code{(gnu services mcron)} fournit une interface pour +GNU@tie{}mcron, un démon qui lance des tâches planifiées (@pxref{Top,,, +mcron, GNU@tie{}mcron}). GNU@tie{}mcron est similaire au démon Unix +traditionel @command{cron} ; la principale différence est qu'il est +implémenté en Guile Scheme, qui fournit beaucoup de flexibilité lors de la +spécification de la planification des tâches et de leurs actions. + +L'exemple en dessous définit un système d'exploitation qu lance les +commandes @command{updatebd} (@pxref{Invoking updatedb,,, find, Finding +Files}) et @command{guix gc} (@pxref{Invoquer guix gc}) tous les jours, +ainsi que la commande @command{mkid} en tant qu'utilisateur non privilégié +(@pxref{mkid invocation,,, idutils, ID Database Utilities}). Il utilise des +gexps pour introduire des définitions de tâches qui sont passées à mcron +(@pxref{G-Expressions}). @lisp (use-modules (guix) (gnu) (gnu services mcron)) (use-package-modules base idutils) (define updatedb-job - ;; Run 'updatedb' at 3AM every day. Here we write the - ;; job's action as a Scheme procedure. + ;; Lance « updatedb » à 3h du matin chaque jour. Ici nous spécifions + ;; l'action de la tâche comme une procédure Scheme. #~(job '(next-hour '(3)) (lambda () (execl (string-append #$findutils "/bin/updatedb") @@ -11137,14 +11986,14 @@ job definitions that are passed to mcron (@pxref{G-Expressions}). "--prunepaths=/tmp /var/tmp /gnu/store")))) (define garbage-collector-job - ;; Collect garbage 5 minutes after midnight every day. - ;; The job's action is a shell command. + ;; Lance le ramasse-miettes tous les jours à minuit cinq. + ;; L'action de la tâche est une commande shell. #~(job "5 0 * * *" ;Vixie cron syntax "guix gc -F 1G")) (define idutils-job - ;; Update the index database as user "charlie" at 12:15PM - ;; and 19:15PM. This runs from the user's home directory. + ;; Met à jour la base de données d'index en tant que « charlie » à 12h15 + ;; et 19h15. La commande est lancée depuis le répertoire personnel de l'utilisateur. #~(job '(next-minute-from (next-hour '(12 19)) '(15)) (string-append #$idutils "/bin/mkid src") #:user "charlie")) @@ -11157,57 +12006,57 @@ job definitions that are passed to mcron (@pxref{G-Expressions}). %base-services))) @end lisp -@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for -more information on mcron job specifications. Below is the reference of the -mcron service. +@xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, pour +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 @end example -@deffn {Scheme Procedure} mcron-service @var{jobs} [#:mcron @var{mcron}] -Return an mcron service running @var{mcron} that schedules @var{jobs}, a -list of gexps denoting mcron job specifications. +@deffn {Procédure Scheme} mcron-service @var{jobs} [#:mcron @var{mcron}] +Renvoie un service mcron qui lance @var{mcron} qui planifie les tâches +@var{jobs}, une liste de gexps qui dénotent des spécifications de tâches de +mcron. -This is a shorthand for: +C'est un raccourci pour : @example (service mcron-service-type (mcron-configuration (mcron mcron) (jobs jobs))) @end example @end deffn -@defvr {Scheme Variable} mcron-service-type -This is the type of the @code{mcron} service, whose value is an -@code{mcron-configuration} object. +@defvr {Variable Scheme} mcron-service-type +C'est le type du service @code{mcron}, dont la valeur est un objet +@code{mcron-configuration} -This service type can be the target of a service extension that provides it -additional job specifications (@pxref{Composition de services}). In other -words, it is possible to define services that provide additional mcron jobs -to run. +Ce type de service peut être la cible d'une extension de service qui lui +fournit des spécifications de tâches supplémentaires (@pxref{Composition de services}). En d'autres termes, il est possible de définir des services +qui fournissent des tâches mcron à lancer. @end defvr -@deftp {Data Type} mcron-configuration -Data type representing the configuration of mcron. +@deftp {Type de données} mcron-configuration +Type données qui représente la configuration de mcron. @table @asis -@item @code{mcron} (default: @var{mcron}) -The mcron package to use. +@item @code{mcron} (par défaut : @var{mcron}) +Le paquet mcron à utiliser. @item @code{jobs} -This is a list of gexps (@pxref{G-Expressions}), where each gexp corresponds -to an mcron job specification (@pxref{Syntax, mcron job specifications,, -mcron, GNU@tie{}mcron}). +C'est la liste des gexps (@pxref{G-Expressions}), où chaque gexp correspond +à une spécification de tâche de mcron (@pxref{Syntax, mcron job +specifications,, mcron, GNU@tie{}mcron}). @end table @end deftp @@ -11216,16 +12065,18 @@ mcron, GNU@tie{}mcron}). @subsubsection Rotation des journaux @cindex rottlog -@cindex log rotation +@cindex journaux, rotation @cindex logging -Log files such as those found in @file{/var/log} tend to grow endlessly, so -it's a good idea to @dfn{rotate} them once in a while---i.e., archive their -contents in separate files, possibly compressed. The @code{(gnu services -admin)} module provides an interface to GNU@tie{}Rot[t]log, a log rotation -tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual}). +Les fichiers journaux comme ceux qui se trouvent dans @file{/var/log} ont +tendance à grandir sans fin, donc c'est une bonne idée de le @dfn{faire +tourner} de temps à autres — c.-à-d.@: archiver leur contenu dans des +fichiers séparés, potentiellement compressés. Le module @code{(gnu services +admin)} fournit une interface pour GNU@tie{}Rot[t]log, un outil de rotation +de journaux (@pxref{Top,,, rottlog, GNU Rot[t]log Manual}). -The example below defines an operating system that provides log rotation -with the default settings, for commonly encountered log files. +L'exemple ci-dessous définit un système d'exploitation qui fournit la +rotation des journaux avec les paramètres par défaut, pour les journaux les +plus courants. @lisp (use-modules (guix) (gnu)) @@ -11238,43 +12089,44 @@ with the default settings, for commonly encountered log files. %base-services))) @end lisp -@defvr {Scheme Variable} rottlog-service-type -This is the type of the Rottlog service, whose value is a -@code{rottlog-configuration} object. +@defvr {Variable Scheme} rottlog-service-type +C'est le type du service Rotlog, dont la valeur est un objet +@code{rottlog-configuration}. -Other services can extend this one with new @code{log-rotation} objects (see -below), thereby augmenting the set of files to be rotated. +D'autres services peuvent étendre celui-ci avec de nouveaux objets +@code{log-rotation} (voir plus bas), en augmentant ainsi l'ensemble des +fichiers à faire tourner. -This service type can define mcron jobs (@pxref{Exécution de tâches planifiées}) to -run the rottlog service. +Ce type de service peut définir des taches (@pxref{Exécution de tâches planifiées}) +pour lancer le service rottlog. @end defvr -@deftp {Data Type} rottlog-configuration -Data type representing the configuration of rottlog. +@deftp {Type de données} rottlog-configuration +Type de données représentant la configuration de rottlog. @table @asis -@item @code{rottlog} (default: @code{rottlog}) -The Rottlog package to use. +@item @code{rottlog} (par défaut : @code{rottlog}) +Le paquet Rottlog à utiliser. -@item @code{rc-file} (default: @code{(file-append rottlog "/etc/rc")}) -The Rottlog configuration file to use (@pxref{Mandatory RC Variables,,, -rottlog, GNU Rot[t]log Manual}). +@item @code{rc-file} (par défaut : @code{(file-append rottlog "/etc/rc")}) +Le fichier de configuration Rottlog à utiliser (@pxref{Mandatory RC +Variables,,, rottlog, GNU Rot[t]log Manual}). -@item @code{rotations} (default: @code{%default-rotations}) -A list of @code{log-rotation} objects as defined below. +@item @code{rotations} (par défaut : @code{%default-rotations}) +Une liste d'objets @code{log-rotation} définis plus bas. @item @code{jobs} -This is a list of gexps where each gexp corresponds to an mcron job -specification (@pxref{Exécution de tâches planifiées}). +C'est une liste de gexps où chaque gexp correspond à une spécification de +tache de mcron (@pxref{Exécution de tâches planifiées}). @end table @end deftp -@deftp {Data Type} log-rotation -Data type representing the rotation of a group of log files. +@deftp {Type de données} log-rotation +Type de données représentant la rotation d'un groupe de fichiers journaux. -Taking an example from the Rottlog manual (@pxref{Period Related File -Examples,,, rottlog, GNU Rot[t]log Manual}), a log rotation might be defined -like this: +En reprenant un exemple du manuel de Rottlog (@pxref{Period Related File +Examples,,, rottlog, GNU Rot[t]log Manual}), on peut définir la rotation +d'un journal de cette manière : @example (log-rotation @@ -11286,49 +12138,52 @@ like this: "nocompress"))) @end example -The list of fields is as follows: +La liste des champs est la suivante : @table @asis -@item @code{frequency} (default: @code{'weekly}) -The log rotation frequency, a symbol. +@item @code{frequency} (par défaut : @code{'weekly}) +La fréquence de rotation, un symbole. @item @code{files} -The list of files or file glob patterns to rotate. +La liste des fichiers ou des motifs de noms de fichiers à faire tourner. -@item @code{options} (default: @code{'()}) -The list of rottlog options for this rotation (@pxref{Configuration +@item @code{options} (par défaut : @code{'()}) +La liste des options de rottlog pour cette rotation (@pxref{Configuration parameters,,, rottlog, GNU Rot[t]lg Manual}). -@item @code{post-rotate} (default: @code{#f}) -Either @code{#f} or a gexp to execute once the rotation has completed. +@item @code{post-rotate} (par défaut : @code{#f}) +Soit @code{#f}, soit une gexp à exécuter une fois la rotation terminée. @end table @end deftp -@defvr {Scheme Variable} %default-rotations -Specifies weekly rotation of @var{%rotated-files} and a couple of other -files. +@defvr {Variable Scheme} %default-rotations +Spécifie la rotation hebdomadaire de @var{%rotated-files} et de quelques +autres fichiers. @end defvr -@defvr {Scheme Variable} %rotated-files -The list of syslog-controlled files to be rotated. By default it is: -@code{'("/var/log/messages" "/var/log/secure")}. +@defvr {Variable Scheme} %rotated-files +La liste des fichiers contrôlés par syslog à faire tourner. Par défaut il +s'agit de : @code{'("/var/log/messages" "/var/log/secure")} @end defvr @node Services réseau @subsubsection Services réseau -The @code{(gnu services networking)} module provides services to configure -the network interface. +Le module @code{(gnu services networking)} fournit des services pour +configurer les interfaces réseaux. -@cindex DHCP, networking service -@deffn {Scheme Procedure} dhcp-client-service [#:dhcp @var{isc-dhcp}] -Return a service that runs @var{dhcp}, a Dynamic Host Configuration Protocol -(DHCP) client, on all the non-loopback network interfaces. -@end deffn +@cindex DHCP, service réseau +@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 {Scheme Procedure} dhcpd-service-type -This type defines a service that runs a DHCP daemon. To create a service of -this type, you must supply a @code{<dhcpd-configuration>}. For example: +@deffn {Procédure Scheme} dhcpd-service-type +Ce type définie un service qui lance un démon DHCP. Pour créer un service +de ce type, vous devez appliquer un objet @code{<dhcpd-configuration>}. Par +exemple : @example (service dhcpd-service-type @@ -11338,82 +12193,94 @@ this type, you must supply a @code{<dhcpd-configuration>}. For example: @end example @end deffn -@deftp {Data Type} dhcpd-configuration +@deftp {Type de données} dhcpd-configuration @table @asis -@item @code{package} (default: @code{isc-dhcp}) -The package that provides the DHCP daemon. This package is expected to -provide the daemon at @file{sbin/dhcpd} relative to its output directory. -The default package is the @uref{http://www.isc.org/products/DHCP, ISC's -DHCP server}. -@item @code{config-file} (default: @code{#f}) -The configuration file to use. This is required. It will be passed to -@code{dhcpd} via its @code{-cf} option. This may be any ``file-like'' -object (@pxref{G-Expressions, file-like objects}). See @code{man -dhcpd.conf} for details on the configuration file syntax. -@item @code{version} (default: @code{"4"}) -The DHCP version to use. The ISC DHCP server supports the values ``4'', -``6'', and ``4o6''. These correspond to the @code{dhcpd} program options -@code{-4}, @code{-6}, and @code{-4o6}. See @code{man dhcpd} for details. -@item @code{run-directory} (default: @code{"/run/dhcpd"}) -The run directory to use. At service activation time, this directory will -be created if it does not exist. -@item @code{pid-file} (default: @code{"/run/dhcpd/dhcpd.pid"}) -The PID file to use. This corresponds to the @code{-pf} option of -@code{dhcpd}. See @code{man dhcpd} for details. -@item @code{interfaces} (default: @code{'()}) -The names of the network interfaces on which dhcpd should listen for -broadcasts. If this list is not empty, then its elements (which must be -strings) will be appended to the @code{dhcpd} invocation when starting the -daemon. It may not be necessary to explicitly specify any interfaces here; -see @code{man dhcpd} for details. +@item @code{package} (par défaut : @code{isc-dhcp}) +Le paquet qui fournit le démon DHCP. ce paquet doit fournir le démon +@file{sbin/dhcpd} relativement à son répertoire de sortie. Le paquet par +défaut est le @uref{http://www.isc.org/products/DHCP, serveur DHCP d'ISC} +@item @code{config-file} (par défaut : @code{#f}) +Le fichier de configuration à utiliser. Il est requis. Il sera passé à +@code{dhcpd} via son option @code{-cf}. La valeur peut être n'importe quel +objet « simili-fichier » (@pxref{G-Expressions, file-like objects}). Voir +@code{man dhcpd.conf} pour des détails sur la syntaxe du fichier de +configuration. +@item @code{version} (par défaut : @code{"4"}) +La version de DHCP à utiliser. Le serveur DHCP d'ISC supporte les valeur « +4 », « 6 » et « 4o6 ». Elles correspondent aux options @code{-4}, @code{-6} +et @code{-4o6} du programme @code{dhcpd}. Voir @code{man dhcpd} pour plus +de détails. +@item @code{run-directory} (par défaut : @code{"/run/dhcpd"}) +Le répertoire d'exécution à utiliser. Au moment de l'activation du service, +ce répertoire sera créé s'il n'existe pas. +@item @code{pid-file} (par défaut : @code{"/run/dhcpd/dhcpd.pid"}) +Le fichier de PID à utiliser. Cela correspond à l'option @code{-pf} de +@code{dhcpd}. Voir @code{man dhcpd} pour plus de détails. +@item @code{interfaces} (par défaut : @code{'()}) +Les noms des interfaces réseaux sur lesquelles dhcpd écoute. Si cette liste +n'est pas vide, alors ses éléments (qui doivent être des chaînes de +caractères) seront ajoutés à l'invocation de @code{dhcpd} lors du démarrage +du démon. Il n'est pas forcément nécessaire de spécifier des interfaces ici +; voir @code{man dhcpd} pour plus de détails. @end table @end deftp -@defvr {Scheme Variable} static-networking-service-type +@defvr {Variable Scheme} static-networking-service-type @c TODO Document <static-networking> data structures. -This is the type for statically-configured network interfaces. +C'est le type des interfaces réseaux configurés statiquement. @end defvr -@deffn {Scheme Procedure} 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. - -This procedure can be called several times, one for each network interface -of interest. Behind the scenes what it does is extend -@code{static-networking-service-type} with additional network interfaces to -handle. +@deffn {Procédure Scheme} static-networking-service @var{interface} @var{ip} @ + [#: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 -@cindex wireless +@cindex sans-fil @cindex WiFi -@cindex network management -@deffn {Scheme Procedure} wicd-service [#:wicd @var{wicd}] -Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network -management daemon that aims to simplify wired and wireless networking. - -This service adds the @var{wicd} package to the global profile, providing -several commands to interact with the daemon and configure networking: -@command{wicd-client}, a graphical user interface, and the -@command{wicd-cli} and @command{wicd-curses} user interfaces. +@cindex gestion du réseau +@deffn {Procédure Scheme} wicd-service [#:wicd @var{wicd}] +Renvoie un service qui lance @url{https://launchpad.net/wicd,Wicd}, un démon +de gestion réseau qui cherche à simplifier la configuration des résaux +filaires et sans fil. + +Ce service ajoute le paquet @var{wicd} au profil global, pour fournir des +commandes pour interagir avec le démon et configurer le réseau : +@command{wicd-client}, une interface graphique et les interfaces +utilisateurs @command{wicd-cli} et @command{wicd-curses}. @end deffn @cindex ModemManager @defvr {Variable Scheme} modem-manager-service-type -This is the service type for the -@uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager} -service. The value for this service type is a -@code{modem-manager-configuration} record. +C'est le type de service pour le service +@uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager}. La +valeur de ce type de service est un enregistrement +@code{modem-manager-configuration}. -This service is part of @code{%desktop-services} (@pxref{Services de bureaux}). +Ce service fait partie de @code{%desktop-services} (@pxref{Services de bureaux}). @end defvr -@deftp {Type de donnée} modem-manager-configuration +@deftp {Type de données} modem-manager-configuration Type de donnée représentant la configuration de ModemManager. @table @asis @@ -11425,54 +12292,56 @@ Le paquet ModemManager à utiliser. @cindex NetworkManager -@defvr {Scheme Variable} network-manager-service-type -This is the service type for the -@uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager} -service. The value for this service type is a -@code{network-manager-configuration} record. +@defvr {Variable Scheme} network-manager-service-type +C'est le type de service pour le service +@uref{https://wiki.gnome.org/Projects/NetworkManager, NetworkManager}. La +valeur pour ce type de service est un enregistrement +@code{network-manager-configuration}. -This service is part of @code{%desktop-services} (@pxref{Services de bureaux}). +Ce service fait partie de @code{%desktop-services} (@pxref{Services de bureaux}). @end defvr -@deftp {Data Type} network-manager-configuration -Data type representing the configuration of NetworkManager. +@deftp {Type de données} network-manager-configuration +Type de données représentant la configuration de NetworkManager. @table @asis -@item @code{network-manager} (default: @code{network-manager}) -The NetworkManager package to use. +@item @code{network-manager} (par défaut : @code{network-manager}) +Le paquet NetworkManager à utiliser. -@item @code{dns} (default: @code{"default"}) -Processing mode for DNS, which affects how NetworkManager uses the -@code{resolv.conf} configuration file. +@item @code{dns} (par défaut : @code{"default"}) +Mode de gestion pour le DNS, qui affecte la manière dont NetworkManager +utilise le fichier de configuration @code{resolv.conf} @table @samp @item default -NetworkManager will update @code{resolv.conf} to reflect the nameservers -provided by currently active connections. +NetworkManager mettra à jour @code{resolv.conf} pour refléter les serveurs +de noms fournis par les connexions actives. @item dnsmasq -NetworkManager will run @code{dnsmasq} as a local caching nameserver, using -a "split DNS" configuration if you are connected to a VPN, and then update -@code{resolv.conf} to point to the local nameserver. +NetworkManager lancera @code{dnsmasq} en tant que serveur de cache local, en +utilisant une configuration « DNS disjointe » si vous êtes connecté par un +VPN puis mettra à jour @code{resolv.conf} pour pointer vers le serveur de +nom local. @item none -NetworkManager will not modify @code{resolv.conf}. +NetworkManager ne modifiera pas @code{resolv.conf}. @end table -@item @code{vpn-plugins} (default: @code{'()}) -This is the list of available plugins for virtual private networks (VPNs). -An example of this is the @code{network-manager-openvpn} package, which -allows NetworkManager to manage VPNs @i{via} OpenVPN. +@item @code{vpn-plugins} (par défaut : @code{'()}) +C'est la liste des greffons disponibles pour les VPN (réseaux privés +virtuels). Un exemple est le paquet @code{network-manager-openvpn}, qui +permet à NetworkManager de gérer des VPN via OpenVPN. @end table @end deftp @cindex Connman -@deffn {Scheme Variable} connman-service-type -This is the service type to run @url{https://01.org/connman,Connman}, a -network connection manager. +@deffn {Variable Scheme} connman-service-type +C'est le type de service pour lancer @url{https://01.org/connman,Connman}, +un gestionnaire de connexions réseaux. -Its value must be an @code{connman-configuration} record as in this example: +Sa valeur doit être un enregistrement @code{connman-configuration} comme +dans cet exemple : @example (service connman-service-type @@ -11480,58 +12349,141 @@ Its value must be an @code{connman-configuration} record as in this example: (disable-vpn? #t))) @end example -See below for details about @code{connman-configuration}. +Voir plus bas pour des détails sur @code{connman-configuration}. @end deffn -@deftp {Data Type} connman-configuration -Data Type representing the configuration of connman. +@deftp {Type de données} connman-configuration +Type de données représentant la configuration de connman. @table @asis -@item @code{connman} (default: @var{connman}) -The connman package to use. +@item @code{connman} (par défaut : @var{connman}) +Le paquet connman à utiliser. -@item @code{disable-vpn?} (default: @code{#f}) -When true, enable connman's vpn plugin. +@item @code{disable-vpn?} (par défaut : @code{#f}) +Lorsque la valeur est vraie, désactive le greffon vpn de connman. @end table @end deftp @cindex WPA Supplicant -@defvr {Scheme Variable} wpa-supplicant-service-type -This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA -supplicant}, an authentication daemon required to authenticate against -encrypted WiFi or ethernet networks. It is configured to listen for -requests on D-Bus. +@defvr {Variable Scheme} wpa-supplicant-service-type +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. +@end defvr -The value of this service is the @code{wpa-supplicant} package to use. -Thus, it can be instantiated like this: +@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. -(service wpa-supplicant-service-type) +@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. + +@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 -@cindex real time clock -@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @ - [#:servers @var{%ntp-servers}] @ [#:allow-large-adjustment? #f] Return a -service that runs the daemon from @var{ntp}, the @uref{http://www.ntp.org, -Network Time Protocol package}. The daemon will keep the system clock -synchronized with that of @var{servers}. @var{allow-large-adjustment?} -determines whether @command{ntpd} is allowed to make an initial adjustment -of more than 1,000 seconds. -@end deffn +@deftp {Type de données} iptables-configuration +Type de données représentant la configuration d'iptables. -@defvr {Scheme Variable} %ntp-servers -List of host names used as the default NTP servers. +@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 +@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 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 -@deffn {Scheme Procedure} openntpd-service-type -Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as -implemented by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will -keep the system clock synchronized with that of the given servers. +@deffn {Procédure Scheme} openntpd-service-type +Lance le démon NTP @command{ntpd}, implémenté par +@uref{http://www.openntpd.org, OpenNTPD}. Le démon gardera l'horloge +système synchronisée avec celle des serveurs donnés. @example (service @@ -11546,53 +12498,57 @@ keep the system clock synchronized with that of the given servers. @end example @end deffn -@deftp {Data Type} openntpd-configuration +@deftp {Type de données} openntpd-configuration @table @asis -@item @code{openntpd} (default: @code{(file-append openntpd "/sbin/ntpd")}) -The openntpd executable to use. -@item @code{listen-on} (default: @code{'("127.0.0.1" "::1")}) -A list of local IP addresses or hostnames the ntpd daemon should listen on. -@item @code{query-from} (default: @code{'()}) -A list of local IP address the ntpd daemon should use for outgoing queries. -@item @code{sensor} (default: @code{'()}) -Specify a list of timedelta sensor devices ntpd should use. @code{ntpd} -will listen to each sensor that acutally exists and ignore non-existant -ones. See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} -for more information. -@item @code{server} (default: @var{%ntp-servers}) -Specify a list of IP addresses or hostnames of NTP servers to synchronize -to. -@item @code{servers} (default: @code{'()}) -Specify a list of IP addresses or hostnames of NTP pools to synchronize to. -@item @code{constraint-from} (default: @code{'()}) -@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers -via TLS. This time information is not used for precision but acts as an -authenticated constraint, thereby reducing the impact of unauthenticated NTP -man-in-the-middle attacks. Specify a list of URLs, IP addresses or -hostnames of HTTPS servers to provide a constraint. -@item @code{constraints-from} (default: @code{'()}) -As with constraint from, specify a list of URLs, IP addresses or hostnames -of HTTPS servers to provide a constraint. Should the hostname resolve to -multiple IP addresses, @code{ntpd} will calculate a median constraint from -all of them. -@item @code{allow-large-adjustment?} (default: @code{#f}) -Determines if @code{ntpd} is allowed to make an initial adjustment of more -than 180 seconds. +@item @code{openntpd} (par défaut : @code{(file-append openntpd "/sbin/ntpd")}) +L'exécutable openntpd à utiliser. +@item @code{listen-on} (par défaut : @code{'("127.0.0.1" "::1")}) +Une liste d'adresses IP locales ou de noms d'hôtes que devrait écouter le +démon ntpd. +@item @code{query-from} (par défaut : @code{'()}) +Une liste d'adresses IP que le démon devrait utiliser pour les requêtes +sortantes. +@item @code{sensor} (par défaut : @code{'()}) +Spécifie une liste de senseurs de différences de temps que ntpd devrait +utiliser. @code{ntpd} écoutera chaque senseur qui existe et ignorera ceux +qui n'existent pas. Voir @uref{https://man.openbsd.org/ntpd.conf, la +documentation en amont} pour plus d'informations. +@item @code{server} (par défaut : @var{%ntp-servers}) +Spécifie une liste d'adresses IP ou de noms d'hôtes de serveurs NTP avec +lesquels se synchroniser. +@item @code{servers} (par défaut : @code{'()}) +Spécifie une liste d'adresses IP ou de noms d'hôtes de banques de serveurs +NTP avec lesquelles se synchroniser. +@item @code{constraint-from} (par défaut : @code{'()}) +@code{ntpd} peut être configuré pour demander la « Date » à des serveurs +HTTPS de confiance via TLS. Cette information de temps n'est pas utilisée +pour sa précision mais agit comme une contrainte authentifiée, ce qui réduit +l'impact d'une attaque par l'homme du milieu sur le protocole NTP non +authentifié. Spécifie une liste d'URL, d'adresses IP ou de noms d'hôtes de +serveurs HTTPS qui fournissent cette contrainte. +@item @code{constraints-from} (par défaut : @code{'()}) +Comme pour @code{constraint-from}, spécifie une liste d'URL, d'adresses IP +ou de noms d'hôtes de serveurs HTTPS qui fournissent une contrainte. Si les +noms d'hôtes sont résolus en plusieurs adresses IP, @code{ntpd} calculera la +contrainte médiane. +@item @code{allow-large-adjustment?} (par défaut : @code{#f}) +Détermine si @code{ntpd} peut faire un ajustement initial de plus de 180 +secondes. @end table @end deftp @cindex inetd -@deffn {Scheme variable} inetd-service-type -This service runs the @command{inetd} (@pxref{inetd invocation,,, inetutils, -GNU Inetutils}) daemon. @command{inetd} listens for connections on internet -sockets, and lazily starts the specified server program when a connection is -made on one of these sockets. - -The value of this service is an @code{inetd-configuration} object. The -following example configures the @command{inetd} daemon to provide the -built-in @command{echo} service, as well as an smtp service which forwards -smtp traffic over ssh to a server @code{smtp-server} behind a gateway -@code{hostname}: +@deffn {Variable Scheme} inetd-service-type +Ce service lance le démon @command{inetd} (@pxref{inetd invocation,,, +inetutils, GNU Inetutils}). @command{inetd} écoute des connexionssur des +sockets internet et démarre le programme spécifié uniquement lorsqu'une +connexion arrive sur l'un de ces sockets. + +La valeur de ce service est un objet @code{inetd-configuration}. L'exemple +suivant configure le démon @command{inetd} pour qu'il fournisse le service +@command{echo}, ainsi qu'in service smtp qui transfère le trafic smtp par +ssh à un serveur @code{smtp-server} derrière une passerelle @code{hostname} +: @example (service @@ -11618,206 +12574,257 @@ smtp traffic over ssh to a server @code{smtp-server} behind a gateway "-W" "smtp-server:25" "user@@hostname"))))) @end example -See below for more details about @code{inetd-configuration}. +Voir plus bas pour plus de détails sur @code{inetd-configuration}. @end deffn -@deftp {Data Type} inetd-configuration -Data type representing the configuration of @command{inetd}. +@deftp {Type de données} inetd-configuration +Type de données représentant la configuration de @command{inetd}. @table @asis -@item @code{program} (default: @code{(file-append inetutils "/libexec/inetd")}) -The @command{inetd} executable to use. +@item @code{program} (par défaut : @code{(file-append inetutils "/libexec/inetd")}) +L'exécutable @command{inetd} à utiliser. -@item @code{entries} (default: @code{'()}) -A list of @command{inetd} service entries. Each entry should be created by -the @code{inetd-entry} constructor. +@item @code{entries} (par défaut : @code{'()}) +Une liste d'entrées de services @command{inetd}. Chaque entrée devrait être +crée avec le constructeur @code{inetd-entry}. @end table @end deftp -@deftp {Data Type} inetd-entry -Data type representing an entry in the @command{inetd} configuration. Each -entry corresponds to a socket where @command{inetd} will listen for -requests. +@deftp {Type de données} inetd-entry +Type de données représentant une entrée dans la configuration +d'@command{inetd}. Chaque entrée correspond à un socket sur lequel +@command{inetd} écoutera les requêtes. @table @asis -@item @code{node} (default: @code{#f}) -Optional string, a comma-separated list of local addresses @command{inetd} -should use when listening for this service. @xref{Configuration file,,, -inetutils, GNU Inetutils} for a complete description of all options. +@item @code{node} (par défaut : @code{#f}) +Chaîne de caractères facultative, un liste d'adresses locales séparées par +des virgules que @command{inetd} devrait utiliser pour écouter ce service. +@xref{Configuration file,,, inetutils, GNU Inetutils} pour une description +complète de toutes les options. @item @code{name} -A string, the name must correspond to an entry in @code{/etc/services}. +Une chaîne de caractères dont le nom doit correspondre à une entrée de +@code{/etc/services}. @item @code{socket-type} -One of @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} or +Un symbole parmi @code{'stream}, @code{'dgram}, @code{'raw}, @code{'rdm} ou @code{'seqpacket}. @item @code{protocol} -A string, must correspond to an entry in @code{/etc/protocols}. -@item @code{wait?} (default: @code{#t}) -Whether @command{inetd} should wait for the server to exit before listening -to new service requests. +Une chaîne de caractères qui doit correspondre à une entrée dans +@code{/etc/protocols}. +@item @code{wait?} (par défaut : @code{#t}) +Indique si @command{inetd} devrait attendre que le serveur ait quitté avant +d'écouter de nouvelles demandes de service. @item @code{user} 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 +separated by a colon or period, i.e.@: @code{"user"}, @code{"user:group"} or @code{"user.group"}. -@item @code{program} (default: @code{"internal"}) -The server program which will serve the requests, or @code{"internal"} if -@command{inetd} should use a built-in service. +@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{'()}) 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 +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} for a more detailed -discussion of each configuration field. +@xref{Configuration file,,, inetutils, GNU Inetutils} pour trouver une +discussion plus détaillée de chaque champ de configuration. @end deftp @cindex Tor -@deffn {Scheme Procedure} tor-service [@var{config-file}] [#:tor @var{tor}] -Return a service to run the @uref{https://torproject.org, Tor} anonymous -networking daemon. - -The daemon runs as the @code{tor} unprivileged user. It is passed -@var{config-file}, a file-like object, with an additional @code{User tor} -line and lines for hidden services added via @code{tor-hidden-service}. Run -@command{man tor} for information about the configuration file. +@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{<tor-configuration>}. 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}] +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{<tor-configuration>}. @end deffn -@cindex hidden service -@deffn {Scheme Procedure} tor-hidden-service @var{name} @var{mapping} -Define a new Tor @dfn{hidden service} called @var{name} and implementing -@var{mapping}. @var{mapping} is a list of port/host tuples, such as: +@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{<hidden-service>} à 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{<hidden-service>} 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 +@var{mapping}. @var{mapping} est une liste de paires de port et d'hôte, +comme dans : @example '((22 "127.0.0.1:22") (80 "127.0.0.1:8080")) @end example -In this example, port 22 of the hidden service is mapped to local port 22, -and port 80 is mapped to local port 8080. +Dans cet exemple, le port 22 du service caché est relié au port local 22 et +le port 80 est relié au port local 8080. -This creates a @file{/var/lib/tor/hidden-services/@var{name}} directory, -where the @file{hostname} file contains the @code{.onion} host name for the -hidden service. +Cela crée un répertoire @file{/var/lib/tor/hidden-services/@var{name}} où le +fichier @file{hostname} contient le nom d'hôte @code{.onion} pour le service +caché. -See @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the -Tor project's documentation} for more information. +Voir @uref{https://www.torproject.org/docs/tor-hidden-service.html.en, the +Tor project's documentation} pour trouver plus d'information. @end deffn -The @code{(gnu services rsync)} module provides the following services: +Le module @code{(gnu services rsync)} fournit les services suivant : -You might want an rsync daemon if you have files that you want available so -anyone (or just yourself) can download existing files or upload new files. +Vous pourriez vouloir un démon rsync si vous voulez que des fichiers soient +disponibles pour que n'importe qui (ou juste vous) puisse télécharger des +fichiers existants ou en téléverser des nouveaux. -@deffn {Scheme Variable} rsync-service-type -This is the type for the @uref{https://rsync.samba.org, rsync} rsync daemon, -@command{rsync-configuration} record as in this example: +@deffn {Variable Scheme} rsync-service-type +C'est le type pour le démon @uref{https://rsync.samba.org, rsync}, qui prend +un enregistrement @command{rsync-configuration} comme dans cet exemple : @example (service rsync-service-type) @end example -See below for details about @code{rsync-configuration}. +Voir plus pas pour trouver des détails à propos de +@code{rsync-configuration}. @end deffn -@deftp {Data Type} rsync-configuration -Data type representing the configuration for @code{rsync-service}. +@deftp {Type de données} rsync-configuration +Type de données représentant la configuration de @code{rsync-service}. @table @asis -@item @code{package} (default: @var{rsync}) -@code{rsync} package to use. +@item @code{package} (par défaut : @var{rsync}) +Le paquet @code{rsync} à utiliser. -@item @code{port-number} (default: @code{873}) -TCP port on which @command{rsync} listens for incoming connections. If port -is less than @code{1024} @command{rsync} needs to be started as the -@code{root} user and group. +@item @code{port-number} (par défaut : @code{873}) +Le port TCP sur lequel @command{rsync} écoute les connexions entrantes. Si +le port est inférieur à @code{1024}, @command{rsync} doit être démarré en +tant qu'utilisateur et groupe @code{root}. -@item @code{pid-file} (default: @code{"/var/run/rsyncd/rsyncd.pid"}) -Name of the file where @command{rsync} writes its PID. +@item @code{pid-file} (par défaut : @code{"/var/run/rsyncd/rsyncd.pid"}) +Nom du fichier où @command{rsync} écrit son PID. -@item @code{lock-file} (default: @code{"/var/run/rsyncd/rsyncd.lock"}) -Name of the file where @command{rsync} writes its lock file. +@item @code{lock-file} (par défaut : @code{"/var/run/rsyncd/rsyncd.lock"}) +Nom du fichier où @command{rsync} écrit son fichier de verrouillage. -@item @code{log-file} (default: @code{"/var/log/rsyncd.log"}) -Name of the file where @command{rsync} writes its log file. +@item @code{log-file} (par défaut : @code{"/var/log/rsyncd.log"}) +Nom du fichier où @command{rsync} écrit son fichier de journal. -@item @code{use-chroot?} (default: @var{#t}) -Whether to use chroot for @command{rsync} shared directory. +@item @code{use-chroot?} (par défaut : @var{#t}) +S'il faut utiliser un chroot pour le répertoire partagé de @command{rsync}. -@item @code{share-path} (default: @file{/srv/rsync}) -Location of the @command{rsync} shared directory. +@item @code{share-path} (par défaut : @file{/srv/rsync}) +Emplacement du répertoire partagé de @command{rsync}. -@item @code{share-comment} (default: @code{"Rsync share"}) -Comment of the @command{rsync} shared directory. +@item @code{share-comment} (par défaut : @code{"Rsync share"}) +Commentaire du répertoire partagé de @command{rsync}. -@item @code{read-only?} (default: @var{#f}) -Read-write permissions to shared directory. +@item @code{read-only?} (par défaut : @var{#f}) +Permission en écriture sur le répertoire partagé. -@item @code{timeout} (default: @code{300}) -I/O timeout in seconds. +@item @code{timeout} (par défaut : @code{300}) +Délai d'attente d'entrée-sortie en secondes. -@item @code{user} (default: @var{"root"}) -Owner of the @code{rsync} process. +@item @code{user} (par défaut : @var{"root"}) +Propriétaire du processus @code{rsync}. -@item @code{group} (default: @var{"root"}) -Group of the @code{rsync} process. +@item @code{group} (par défaut : @var{"root"}) +Groupe du processus @code{rsync}. -@item @code{uid} (default: @var{"rsyncd"}) -User name or user ID that file transfers to and from that module should take -place as when the daemon was run as @code{root}. +@item @code{uid} (par défaut : @var{"rsyncd"}) +Nom d'utilisateur ou ID utilisateur en tant que lequel les transferts de +fichiers ont lieu si le démon a été lancé en @code{root}. -@item @code{gid} (default: @var{"rsyncd"}) -Group name or group ID that will be used when accessing the module. +@item @code{gid} (par défaut : @var{"rsyncd"}) +Nom du groupe ou ID du groupe qui sera utilisé lors de l'accès au module. @end table @end deftp -Furthermore, @code{(gnu services ssh)} provides the following services. +En plus, @code{(gnu services ssh)} fournit les services suivant. @cindex SSH -@cindex SSH server +@cindex serveur SSH -@deffn {Scheme Procedure} lsh-service [#:host-key "/etc/lsh/host-key"] @ +@deffn {Procédure Scheme} lsh-service [#:host-key "/etc/lsh/host-key"] @ [#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @ -[#:allow-empty-passwords? #f] [#:root-login? #f] @ [#:syslog-output? #t] -[#:x11-forwarding? #t] @ [#:tcp/ip-forwarding? #t] -[#:password-authentication? #t] @ [#:public-key-authentication? #t] -[#:initialize? #t] Run the @command{lshd} program from @var{lsh} to listen -on port @var{port-number}. @var{host-key} must designate a file containing -the host key, and readable only by root. - -When @var{daemonic?} is true, @command{lshd} will detach from the -controlling terminal and log its output to syslogd, unless one sets -@var{syslog-output?} to false. Obviously, it also makes lsh-service depend -on existence of syslogd service. When @var{pid-file?} is true, -@command{lshd} writes its PID to the file called @var{pid-file}. - -When @var{initialize?} is true, automatically create the seed and host key -upon service activation if they do not exist yet. This may take long and -require interaction. - -When @var{initialize?} is false, it is up to the user to initialize the -randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to -create a key pair with the private key stored in file @var{host-key} -(@pxref{lshd basics,,, lsh, LSH Manual}). - -When @var{interfaces} is empty, lshd listens for connections on all the -network interfaces; otherwise, @var{interfaces} must be a list of host names -or addresses. - -@var{allow-empty-passwords?} specifies whether to accept log-ins with empty -passwords, and @var{root-login?} specifies whether to accept log-ins as -root. - -The other options should be self-descriptive. +[#:allow-empty-passwords? #f] [#:root-login? #f] @ +[#:syslog-output? #t] [#:x11-forwarding? #t] @ +[#:tcp/ip-forwarding? #t] [#:password-authentication? #t] @ +[#:public-key-authentication? #t] [#:initialize? #t] +Lance le programme @command{lshd} de @var{lsh} pour écouter sur le port +@var{port-number}. @var{host-key} doit désigner un fichier contenant la +clef d'hôte et ne doit être lisible que par root. + +Lorsque @var{daemonic?} est vrai, @command{lshd} se détachera du terminal +qui le contrôle et enregistrera ses journaux avec syslogd, à moins que +@var{syslog-output?} ne soit faux. Évidemment, cela rend aussi lsh-service +dépendant de l'existence d'un service syslogd. Lorsque @var{pid-file?} est +vrai, @command{lshd} écrit son PID dans le fichier @var{pid-file}. + +Lorsque @var{initialize?} est vrai, la graine et la clef d'hôte seront créés +lors de l'activation du service s'ils n'existent pas encore. Cela peut +prendre du temps et demande une interaction. + +Lorsque @var{initialize?} est faux, c'est à l'utilisateur d'initialiser le +générateur d'aléatoire (@pxref{lsh-make-seed,,, lsh, LSH Manual}) et de crée +une paire de clefs dont la clef privée sera stockée dans le fichier +@var{host-key} (@pxref{lshd basics,,, lsh, LSH Manual}). + +Lorsque @var{interfaces} est vide, lshd écoute les connexions sur toutes les +interfaces réseau ; autrement, @var{interfaces} doit être une liste de noms +d'hôtes et d'adresses. + +@var{allow-empty-passwords?} spécifie si les connexions avec des mots de +passes vides sont acceptés et @var{root-login?} spécifie si la connexion en +root est acceptée. + +Les autres options devraient être évidentes. @end deffn @cindex SSH -@cindex SSH server -@deffn {Scheme Variable} openssh-service-type -This is the type for the @uref{http://www.openssh.org, OpenSSH} secure shell -daemon, @command{sshd}. Its value must be an @code{openssh-configuration} -record as in this example: +@cindex serveur SSH +@deffn {Variable Scheme} openssh-service-type +C'est le type pour le démon ssh @uref{http://www.openssh.org, OpenSSH}, +@command{sshd}. Sa valeur doit être un enregistrement +@code{openssh-configuration} comme dans cet exemple : @example (service openssh-service-type @@ -11829,9 +12836,10 @@ record as in this example: ("bob" ,(local-file "bob.pub")))))) @end example -See below for details about @code{openssh-configuration}. +Voir plus bas pour trouver des détails sur @code{openssh-configuration}. -This service can be extended with extra authorized keys, as in this example: +Ce service peut être étendu avec des clefs autorisées supplémentaires, comme +dans cet exemple : @example (service-extension openssh-service-type @@ -11840,78 +12848,86 @@ This service can be extended with extra authorized keys, as in this example: @end example @end deffn -@deftp {Data Type} openssh-configuration -This is the configuration record for OpenSSH's @command{sshd}. +@deftp {Type de données} openssh-configuration +C'est l'enregistrement de la configuration de la commande @command{sshd} +d'OpenSSH. @table @asis -@item @code{pid-file} (default: @code{"/var/run/sshd.pid"}) -Name of the file where @command{sshd} writes its PID. +@item @code{pid-file} (par défaut : @code{"/var/run/sshd.pid"}) +Nom du fichier où @command{sshd} écrit son PID. -@item @code{port-number} (default: @code{22}) -TCP port on which @command{sshd} listens for incoming connections. +@item @code{port-number} (par défaut : @code{22}) +Port TCP sur lequel @command{sshd} écoute les connexions entrantes. -@item @code{permit-root-login} (default: @code{#f}) -This field determines whether and when to allow logins as root. If -@code{#f}, root logins are disallowed; if @code{#t}, they are allowed. If -it's the symbol @code{'without-password}, then root logins are permitted but -not with password-based authentication. +@item @code{permit-root-login} (par défaut : @code{#f}) +Ce champ détermine si et quand autoriser les connexions en root. Si la +valeur est @code{#f}, les connexions en root sont désactivées ; si la valeur +est @code{#t}, elles sont autorisées. S'il s'agit du symbole +@code{'without-password}, alors les connexions root sont autorisées mais pas +par une authentification par mot de passe. -@item @code{allow-empty-passwords?} (default: @code{#f}) -When true, users with empty passwords may log in. When false, they may not. +@item @code{allow-empty-passwords?} (par défaut : @code{#f}) +Lorsque la valeur est vraie, les utilisateurs avec un mot de passe vide +peuvent se connecter. Sinon, ils ne peuvent pas. -@item @code{password-authentication?} (default: @code{#t}) -When true, users may log in with their password. When false, they have -other authentication methods. +@item @code{password-authentication?} (par défaut : @code{#t}) +Lorsque la valeur est vraie, les utilisateurs peuvent se connecter avec leur +mot de passe. Sinon, ils doivent utiliser une autre méthode +d'authentification. -@item @code{public-key-authentication?} (default: @code{#t}) -When true, users may log in using public key authentication. When false, -users have to use other authentication method. +@item @code{public-key-authentication?} (par défaut : @code{#t}) +Lorsque la valeur est vraie, les utilisateurs peuvent se connecter avec leur +clef publique. Sinon, les utilisateurs doivent utiliser une autre méthode +d'authentification. -Authorized public keys are stored in @file{~/.ssh/authorized_keys}. This is -used only by protocol version 2. +Les clefs publiques autorisées sont stockées dans +@file{~/.ssh/authorized_keys}. Ce n'est utilisé que par le protocole +version 2. -@item @code{x11-forwarding?} (default: @code{#f}) -When true, forwarding of X11 graphical client connections is enabled---in -other words, @command{ssh} options @option{-X} and @option{-Y} will work. +@item @code{x11-forwarding?} (par défaut : @code{#f}) +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?} (default: @code{#f}) -Specifies whether challenge response authentication is allowed (e.g. via +@item @code{challenge-response-authentication?} (par défaut : @code{#f}) +Specifies whether challenge response authentication is allowed (e.g.@: via PAM). -@item @code{use-pam?} (default: @code{#t}) -Enables the Pluggable Authentication Module interface. If set to @code{#t}, -this will enable PAM authentication using -@code{challenge-response-authentication?} and -@code{password-authentication?}, in addition to PAM account and session -module processing for all authentication types. +@item @code{use-pam?} (par défaut : @code{#t}) +Active l'interface avec le module d'authentification greffable, PAM. Si la +valeur est @code{#t}, cela activera l'authentification PAM avec +@code{challenge-response-authentication?} et +@code{password-authentication?}, en plus des modules de compte et de session +de PAM pour tous les types d'authentification. -Because PAM challenge response authentication usually serves an equivalent -role to password authentication, you should disable either -@code{challenge-response-authentication?} or +Comme l'authentification par défi de PAM sert généralement un rôle +équivalent à l'authentification par mot de passe, vous devriez désactiver +soit @code{challenge-response-authentication?}, soit @code{password-authentication?}. -@item @code{print-last-log?} (default: @code{#t}) -Specifies whether @command{sshd} should print the date and time of the last -user login when a user logs in interactively. +@item @code{print-last-log?} (par défaut : @code{#t}) +Spécifie si @command{sshd} devrait afficher la date et l'heure de dernière +connexion des utilisateurs lorsqu'un utilisateur se connecte de manière +interactive. -@item @code{subsystems} (default: @code{'(("sftp" "internal-sftp"))}) -Configures external subsystems (e.g. file transfer daemon). +@item @code{subsystems} (par défaut : @code{'(("sftp" "internal-sftp"))}) +Configures external subsystems (e.g.@: file transfer daemon). -This is a list of two-element lists, each of which containing the subsystem -name and a command (with optional arguments) to execute upon subsystem -request. +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 +sous-système. -The command @command{internal-sftp} implements an in-process SFTP server. -Alternately, one can specify the @command{sftp-server} command: +La commande @command{internal-sftp} implémente un serveur SFTP dans le +processus. Autrement, on peut spécifier la commande @command{sftp-server} : @example (service openssh-service-type (openssh-configuration @@ -11919,16 +12935,18 @@ Alternately, one can specify the @command{sftp-server} command: `(("sftp" ,(file-append openssh "/libexec/sftp-server")))))) @end example -@item @code{accepted-environment} (default: @code{'()}) -List of strings describing which environment variables may be exported. +@item @code{accepted-environment} (par défaut : @code{'()}) +Liste de chaînes de caractères qui décrivent les variables d'environnement +qui peuvent être exportées. -Each string gets on its own line. See the @code{AcceptEnv} option in +Chaque chaîne a sa propre ligne. Voir l'option @code{AcceptEnv} dans @code{man sshd_config}. -This example allows ssh-clients to export the @code{COLORTERM} variable. It -is set by terminal emulators, which support colors. You can use it in your -shell's ressource file to enable colors for the prompt and commands if this -variable is set. +Cet exemple permet aux clients ssh d'exporter la variable @code{COLORTERM}. +Elle est initialisée par les émulateurs de terminaux qui supportent les +couleurs. Vous pouvez l'utiliser dans votre fichier de ressource de votre +shell pour activer les couleurs sur la ligne de commande si cette variable +est initialisée. @example (service openssh-service-type @@ -11936,12 +12954,12 @@ variable is set. (accepted-environment '("COLORTERM")))) @end example -@item @code{authorized-keys} (default: @code{'()}) -@cindex authorized keys, SSH -@cindex SSH authorized keys -This is the list of authorized keys. Each element of the list is a user -name followed by one or more file-like objects that represent SSH public -keys. For example: +@item @code{authorized-keys} (par défaut : @code{'()}) +@cindex clefs autorisées, SSH +@cindex SSH, clefs autorisées +C'est la liste des clefs autorisées. Chaque élément de la liste est un nom +d'utilisateur suivit d'un ou plusieurs objets simili-fichiers qui +représentent les clefs publiques SSH. Par exemple : @example (openssh-configuration @@ -11952,24 +12970,31 @@ keys. For example: @end example @noindent -registers the specified public keys for user accounts @code{rekado}, -@code{chris}, and @code{root}. +enregistre les clefs publiques spécifiées pour les comptes @code{rekado}, +@code{chris} et @code{root}. -Additional authorized keys can be specified @i{via} +Des clefs autorisées supplémentaires peuvent être spécifiées via @code{service-extension}. -Note that this does @emph{not} interfere with the use of +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 -@deffn {Scheme Procedure} dropbear-service [@var{config}] -Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH -daemon} with the given @var{config}, a @code{<dropbear-configuration>} -object. +@deffn {Procédure Scheme} dropbear-service [@var{config}] +Lance le @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,démon SSH +Dropbear} avec la configuration @var{config} donnée, un objet +@code{<dropbear-configuration>}. -For example, to specify a Dropbear service listening on port 1234, add this -call to the operating system's @code{services} field: +Par exemple, pour spécifier un service Dropbear qui écoute sur le port 1234, +ajoutez cet appel au champ @code{services} d evotre système d'exploitation : @example (dropbear-service (dropbear-configuration @@ -11977,101 +13002,106 @@ call to the operating system's @code{services} field: @end example @end deffn -@deftp {Data Type} dropbear-configuration -This data type represents the configuration of a Dropbear SSH daemon. +@deftp {Type de données} dropbear-configuration +Ce type de données représente la configuration d'un démon SSH Dropbear. @table @asis -@item @code{dropbear} (default: @var{dropbear}) -The Dropbear package to use. +@item @code{dropbear} (par défaut : @var{dropbear}) +Le paquet Dropbear à utiliser. -@item @code{port-number} (default: 22) -The TCP port where the daemon waits for incoming connections. +@item @code{port-number} (par défaut : 22) +Le port TCP sur lequel le démon attend des connexions entrantes. -@item @code{syslog-output?} (default: @code{#t}) -Whether to enable syslog output. +@item @code{syslog-output?} (par défaut : @code{#t}) +Indique s'il faut activer la sortie vers syslog. -@item @code{pid-file} (default: @code{"/var/run/dropbear.pid"}) -File name of the daemon's PID file. +@item @code{pid-file} (par défaut : @code{"/var/run/dropbear.pid"}) +Nom du fichier de PID du démon. -@item @code{root-login?} (default: @code{#f}) -Whether to allow @code{root} logins. +@item @code{root-login?} (par défaut : @code{#f}) +Indique s'il faut autoriser les connexions en @code{root}. -@item @code{allow-empty-passwords?} (default: @code{#f}) -Whether to allow empty passwords. +@item @code{allow-empty-passwords?} (par défaut : @code{#f}) +Indique s'il faut autoriser les mots de passes vides. -@item @code{password-authentication?} (default: @code{#t}) -Whether to enable password-based authentication. +@item @code{password-authentication?} (par défaut : @code{#t}) +Indique s'il faut autoriser l'authentification par mot de passe. @end table @end deftp -@defvr {Scheme Variable} %facebook-host-aliases -This variable contains a string for use in @file{/etc/hosts} (@pxref{Host -Names,,, libc, The GNU C Library Reference Manual}). Each line contains a -entry that maps a known server name of the Facebook on-line service---e.g., -@code{www.facebook.com}---to the local host---@code{127.0.0.1} or its IPv6 -equivalent, @code{::1}. +@defvr {Variable Scheme} %facebook-host-aliases +Cette variable contient une chaîne de caractères à utiliser dans +@file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference +Manual}). Chaque ligne contient une entrée qui fait correspondre les noms +des serveurs connus du service en ligne Facebook — p.@: ex.@: +@code{www.facebook.com} — à l'hôte local — @code{127.0.0.1} ou son +équivalent en IPv6, @code{::1}. -This variable is typically used in the @code{hosts-file} field of an -@code{operating-system} declaration (@pxref{Référence de système d'exploitation, -@file{/etc/hosts}}): +Cette variable est typiquement utilisée dans le champ @code{hosts-file} +d'une déclaration @code{operating-system} (@pxref{Référence de système d'exploitation, @file{/etc/hosts}}) : @example (use-modules (gnu) (guix)) (operating-system - (host-name "mymachine") + (host-name "mamachine") ;; ... (hosts-file - ;; Create a /etc/hosts file with aliases for "localhost" - ;; and "mymachine", as well as for Facebook servers. + ;; Crée un fichier /etc/hosts avec des alias pour « localhost » + ;; et « mamachine », ainsi que pour les serveurs de Facebook. (plain-file "hosts" (string-append (local-host-aliases host-name) %facebook-host-aliases)))) @end example -This mechanism can prevent programs running locally, such as Web browsers, -from accessing Facebook. +Ce mécanisme peut éviter que des programmes qui tournent localement, comme +des navigateurs Web, ne se connectent à Facebook. @end defvr -The @code{(gnu services avahi)} provides the following definition. - -@deffn {Scheme Procedure} avahi-service [#:avahi @var{avahi}] @ - [#:host-name #f] [#:publish? #t] [#:ipv4? #t] @ [#:ipv6? #t] [#:wide-area? -#f] @ [#:domains-to-browse '()] [#:debug? #f] Return a service that runs -@command{avahi-daemon}, a system-wide mDNS/DNS-SD responder that allows for -service discovery and "zero-configuration" host name lookups (see -@uref{http://avahi.org/}), and extends the name service cache daemon (nscd) -so that it can resolve @code{.local} host names using -@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}. -Additionally, add the @var{avahi} package to the system profile so that -commands such as @command{avahi-browse} are directly usable. - -If @var{host-name} is different from @code{#f}, use that as the host name to -publish for this machine; otherwise, use the machine's actual host name. - -When @var{publish?} is true, publishing of host names and services is -allowed; in particular, avahi-daemon will publish the machine's host name -and IP address via mDNS on the local network. - -When @var{wide-area?} is true, DNS-SD over unicast DNS is enabled. - -Boolean values @var{ipv4?} and @var{ipv6?} determine whether to use -IPv4/IPv6 sockets. +Le module @code{(gnu services avahi)} fourni la définition suivante. + +@deffn {Procédure Scheme} avahi-service [#:avahi @var{avahi}] @ + [#:host-name #f] [#:publish? #t] [#:ipv4? #t] @ +[#:ipv6? #t] [#:wide-area? #f] @ +[#:domains-to-browse '()] [#:debug? #f] +Renvoie un service qui lance @command{avahi-daemon}, un serveur qui répond +aux requêtes mDNS/DNS-SD qui permet de découvrir des services et de chercher +des noms d'hôtes « sans configuration » (voir @uref{http://avahi.org/}) et +qui étend le démon de cache de services de noms (nscd) pour qu'il puisse +résoudre des noms en @code{.local} avec +@uref{http://0pointer.de/lennart/projects/nss-mdns/, nss-mdns}. En plus, +ajoute le paquet @var{avahi} au profil du système pour que les commandes +comme @command{avahi-browse} soient directement utilisables. + +Si @var{host-name} n'est pas @code{#f}, utilise cette valeur comme nom +d'hôte à publier pour la machine ; sinon, utilise le vrai nom d'hôte de la +machine. + +Lorsque la valeur de @var{publish?} est vraie, la publication des noms +d'hôtes et des domaines sont autorisés ; en particulier, avahi-daemon +publiera le nom d'hôte et l'adresse IP de la machine via mDNS sur le réseau +local. + +Lorsque la valeur de @var{wide-area?} est vraie, DNS-SD sur DNS unicast est +activé. + +Les valeurs booléennes @var{ipv4?} et @var{ipv6?} déterminent s'il faut +utiliser un socket IPv4 ou IPv6 respectivement. @end deffn -@deffn {Scheme Variable} openvswitch-service-type -This is the type of the @uref{http://www.openvswitch.org, Open vSwitch} -service, whose value should be an @code{openvswitch-configuration} object. +@deffn {Variable Scheme} openvswitch-service-type +C'est le type du service @uref{http://www.openvswitch.org, Open vSwitch}, +dont la valeur devrait être un objet @code{openvswitch-configuration}. @end deffn -@deftp {Data Type} openvswitch-configuration -Data type representing the configuration of Open vSwitch, a multilayer -virtual switch which is designed to enable massive network automation -through programmatic extension. +@deftp {Type de données} openvswitch-configuration +Type de données représentant la configuration de Open vSwitch, un +commutateur virtuel multiniveaux conçu pour rendre possible l'automatisation +massive des réseaux avec des extensions programmables. @table @asis -@item @code{package} (default: @var{openvswitch}) -Package object of the Open vSwitch. +@item @code{package} (par défaut : @var{openvswitch}) +Objet de paquet de Open vSwitch. @end table @end deftp @@ -12080,188 +13110,196 @@ Package object of the Open vSwitch. @subsubsection Système de fenêtrage X @cindex X11 -@cindex X Window System -@cindex login manager -Support for the X Window graphical display system---specifically Xorg---is -provided by the @code{(gnu services xorg)} module. Note that there is no -@code{xorg-service} procedure. Instead, the X server is started by the -@dfn{login manager}, by default SLiM. - -@cindex window manager -To use X11, you must install at least one @dfn{window manager}---for example -the @code{windowmaker} or @code{openbox} packages---preferably by adding it -to the @code{packages} field of your operating system definition -(@pxref{Référence de système d'exploitation, system-wide packages}). - -@defvr {Scheme Variable} slim-service-type -This is the type for the SLiM graphical login manager for X11. - -@cindex session types (X11) -@cindex X11 session types -SLiM looks for @dfn{session types} described by the @file{.desktop} files in -@file{/run/current-system/profile/share/xsessions} and allows users to -choose a session from the log-in screen using @kbd{F1}. Packages such as -@code{xfce}, @code{sawfish}, and @code{ratpoison} provide @file{.desktop} -files; adding them to the system-wide set of packages automatically makes -them available at the log-in screen. - -In addition, @file{~/.xsession} files are honored. When available, -@file{~/.xsession} must be an executable that starts a window manager and/or -other X clients. +@cindex Système de fenêtrage X +@cindex gestionnaire de connexion +Le support pour le système d'affichage graphique X Window — en particulier +Xorg — est fournit par le module @code{(gnu services xorg)}. Remarquez +qu'il n'y a pas de procédure @code{xorg-service}. À la place, le serveur X +est démarré par le @dfn{gestionnaire de connexion}, par défaut SLiM. + +@cindex gestionnaire de fenêtre +Pour utiliser X11, vous devez installer au moins un @dfn{gestionnaire de +fenêtre} — par exemple les paquets @code{windowmaker} ou @code{openbox} — de +préférence en l'ajoutant au champ @code{packages} de votre définition de +système d'exploitation (@pxref{Référence de système d'exploitation, system-wide +packages}). + +@defvr {Variable Scheme} slim-service-type +C'est de type pour le gestionnaire de connexion graphique SLiM pour X11. + +@cindex types de sessions (X11) +@cindex X11, types de sessions +SLiM cherche des @dfn{types de sessions} définies par les fichiers +@file{.desktop} dans @file{/run/current-system/profile/share/xsessions} et +permet aux utilisateurs de choisir une session depuis l'écran de connexion +avec @kbd{F1}. Les paquets comme @code{xfce}, @code{sawfish} et +@code{ratpoison} fournissent des fichiers @file{.desktop} ; les ajouter à +l'ensemble des paquets du système les rendra automatiquement disponibles sur +l'écran de connexion. + +En plus, les fichiers @file{~/.xsession} sont honorées. Lorsqu'il est +disponible, @file{~/.xsession} doit être un fichier exécutable qui démarre +un gestionnaire de fenêtre au un autre client X. @end defvr -@deftp {Data Type} slim-configuration -Data type representing the configuration of @code{slim-service-type}. +@deftp {Type de données} slim-configuration +Type de données représentant la configuration de @code{slim-service-type}. @table @asis -@item @code{allow-empty-passwords?} (default: @code{#t}) -Whether to allow logins with empty passwords. +@item @code{allow-empty-passwords?} (par défaut : @code{#t}) +S'il faut autoriser les connexions avec un mot de passe vide. -@item @code{auto-login?} (default: @code{#f}) -@itemx @code{default-user} (default: @code{""}) -When @code{auto-login?} is false, SLiM presents a log-in screen. +@item @code{auto-login?} (par défaut : @code{#f}) +@itemx @code{default-user} (par défaut : @code{""}) +Lorsque @code{auto-login?} est faux, SLiM présent un écran de connexion. -When @code{auto-login?} is true, SLiM logs in directly as -@code{default-user}. +Lorsque @code{auto-login?} est vrai, SLiM se connecte directement en tant +que @code{default-user}. -@item @code{theme} (default: @code{%default-slim-theme}) -@itemx @code{theme-name} (default: @code{%default-slim-theme-name}) -The graphical theme to use and its name. +@item @code{theme} (par défaut : @code{%default-slim-theme}) +@itemx @code{theme-name} (par défaut : @code{%default-slim-theme-name}) +Le thème graphique à utiliser et son nom. -@item @code{auto-login-session} (default: @code{#f}) -If true, this must be the name of the executable to start as the default -session---e.g., @code{(file-append windowmaker "/bin/windowmaker")}. +@item @code{auto-login-session} (par défaut : @code{#f}) +Si la valeur est vraie, elle doit être le nom d'un exécutable à démarrer +comme session par défaut — p.@: ex.@: @code{(file-append windowmaker +"/bin/windowmaker")}. -If false, a session described by one of the available @file{.desktop} files -in @code{/run/current-system/profile} and @code{~/.guix-profile} will be -used. +Si la valeur est fausse, une session décrite par l'un des fichiers +@file{.desktop} disponibles dans @code{/run/current-system/profile} et +@code{~/.guix-profile} sera utilisée. @quotation Remarque -You must install at least one window manager in the system profile or in -your user profile. Failing to do that, if @code{auto-login-session} is -false, you will be unable to log in. +Vous devez installer au moins un gestionnaire de fenêtres dans le profil du +système ou dans votre profil utilisateur. Sinon, si +@code{auto-login-session} est faux, vous ne serez jamais capable de vous +connecter. @end quotation -@item @code{startx} (default: @code{(xorg-start-command)}) -The command used to start the X11 graphical server. +@item @code{startx} (par défaut : @code{(xorg-start-command)}) +La commande utilisée pour démarrer le serveur graphique X11. -@item @code{xauth} (default: @code{xauth}) -The XAuth package to use. +@item @code{xauth} (par défaut : @code{xauth}) +Le paquet XAuth à utiliser. -@item @code{shepherd} (default: @code{shepherd}) -The Shepherd package used when invoking @command{halt} and @command{reboot}. +@item @code{shepherd} (par défaut : @code{shepherd}) +Le paquet Shepherd à utiliser pour invoquer @command{halt} et +@command{reboot}. -@item @code{sessreg} (default: @code{sessreg}) -The sessreg package used in order to register the session. +@item @code{sessreg} (par défaut : @code{sessreg}) +Le paquet sessreg à utiliser pour enregistrer la session. -@item @code{slim} (default: @code{slim}) -The SLiM package to use. +@item @code{slim} (par défaut : @code{slim}) +Le paquet SLiM à utiliser. @end table @end deftp -@defvr {Scheme Variable} %default-theme -@defvrx {Scheme Variable} %default-theme-name -The default SLiM theme and its name. +@defvr {Variable Scheme} %default-theme +@defvrx {Variable Scheme} %default-theme-name +Le thème SLiM par défaut et son nom. @end defvr -@deftp {Data Type} sddm-configuration -This is the data type representing the sddm service configuration. +@deftp {Type de données} sddm-configuration +C'est le type de données représentant la configuration du service sddm. @table @asis -@item @code{display-server} (default: "x11") -Select display server to use for the greeter. Valid values are "x11" or -"wayland". +@item @code{display-server} (par défaut : "x11") +Choisit le serveur d'affichage à utiliser pour l'écran d'accueil. Les +valeurs valides sont « x11 » et « wayland ». -@item @code{numlock} (default: "on") -Valid values are "on", "off" or "none". +@item @code{numlock} (par défaut : "on") +Les valeurs valides sont « on », « off » ou « none ». -@item @code{halt-command} (default @code{#~(string-apppend #$shepherd "/sbin/halt")}) -Command to run when halting. +@item @code{halt-command} (par défaut : @code{#~(string-apppend #$shepherd "/sbin/halt")}) +La commande à lancer à l'arrêt du système. -@item @code{reboot-command} (default @code{#~(string-append #$shepherd "/sbin/reboot")}) -Command to run when rebooting. +@item @code{reboot-command} (par défaut : @code{#~(string-append #$shepherd "/sbin/reboot")}) +La commande à lancer lors du redémarrage du système. -@item @code{theme} (default "maldives") -Theme to use. Default themes provided by SDDM are "elarun" or "maldives". +@item @code{theme} (par défaut : "maldives") +Le thème à utiliser. Les thèmes par défaut fournis par SDDM sont « elarun » +et « maldives ». -@item @code{themes-directory} (default "/run/current-system/profile/share/sddm/themes") -Directory to look for themes. +@item @code{themes-directory} (par défaut : "/run/current-system/profile/share/sddm/themes") +Le répertoire où se trouvent les thèmes. -@item @code{faces-directory} (default "/run/current-system/profile/share/sddm/faces") -Directory to look for faces. +@item @code{faces-directory} (par défaut : "/run/current-system/profile/share/sddm/faces") +Répertoire où se trouvent les avatars. -@item @code{default-path} (default "/run/current-system/profile/bin") -Default PATH to use. +@item @code{default-path} (par défaut : "/run/current-system/profile/bin") +Le PATH par défaut à utiliser. -@item @code{minimum-uid} (default 1000) -Minimum UID to display in SDDM. +@item @code{minimum-uid} (par défaut : 1000) +UID minimum pour être affiché dans SDDM. -@item @code{maximum-uid} (default 2000) -Maximum UID to display in SDDM +@item @code{maximum-uid} (par défaut : 2000) +UID maximum pour être affiché dans SDDM. -@item @code{remember-last-user?} (default #t) -Remember last user. +@item @code{remember-last-user?} (par défaut : #t) +S'il faut se rappeler le dernier utilisateur connecté. -@item @code{remember-last-session?} (default #t) -Remember last session. +@item @code{remember-last-session?} (par défaut : #t) +S'il faut se rappeler la dernière session. -@item @code{hide-users} (default "") -Usernames to hide from SDDM greeter. +@item @code{hide-users} (par défaut : "") +Les noms d'utilisateurs à cacher sur l'écran d'accueil de SDDM. -@item @code{hide-shells} (default @code{#~(string-append #$shadow "/sbin/nologin")}) -Users with shells listed will be hidden from the SDDM greeter. +@item @code{hide-shells} (par défaut : @code{#~(string-append #$shadow "/sbin/nologin")}) +Les utilisateurs avec les shells listés seront cachés sur l'écran d'accueil +de SDDM. -@item @code{session-command} (default @code{#~(string-append #$sddm "/share/sddm/scripts/wayland-session")}) -Script to run before starting a wayland session. +@item @code{session-command} (par défaut : @code{#~(string-append #$sddm "/share/sddm/scripts/wayland-session")}) +Le script à lancer avant de démarrer une session wayland. -@item @code{sessions-directory} (default "/run/current-system/profile/share/wayland-sessions") -Directory to look for desktop files starting wayland sessions. +@item @code{sessions-directory} (par défaut : "/run/current-system/profile/share/wayland-sessions") +Le répertoire où trouver les fichiers .desktop qui démarrent des sessions +wayland. -@item @code{xorg-server-path} (default @code{xorg-start-command}) -Path to xorg-server. +@item @code{xorg-server-path} (par défaut : @code{xorg-start-command}) +Chemin vers xorg-server. -@item @code{xauth-path} (default @code{#~(string-append #$xauth "/bin/xauth")}) -Path to xauth. +@item @code{xauth-path} (par défaut : @code{#~(string-append #$xauth "/bin/xauth")}) +Chemin vers xauth. -@item @code{xephyr-path} (default @code{#~(string-append #$xorg-server "/bin/Xephyr")}) -Path to Xephyr. +@item @code{xephyr-path} (par défaut : @code{#~(string-append #$xorg-server "/bin/Xephyr")}) +Chemin vers Xephyr. -@item @code{xdisplay-start} (default @code{#~(string-append #$sddm "/share/sddm/scripts/Xsetup")}) -Script to run after starting xorg-server. +@item @code{xdisplay-start} (par défaut : @code{#~(string-append #$sddm "/share/sddm/scripts/Xsetup")}) +Le script à lancer après avoir démarré xorg-server. -@item @code{xdisplay-stop} (default @code{#~(string-append #$sddm "/share/sddm/scripts/Xstop")}) -Script to run before stopping xorg-server. +@item @code{xdisplay-stop} (par défaut : @code{#~(string-append #$sddm "/share/sddm/scripts/Xstop")}) +Le script à lancer avant d'arrêter xorg-server. @item @code{xsession-command} (par défaut : @code{xinitrc}) -Script to run before starting a X session. +Le script à lancer avant de démarrer une session X. -@item @code{xsessions-directory} (default: "/run/current-system/profile/share/xsessions") -Directory to look for desktop files starting X sessions. +@item @code{xsessions-directory} (par défaut : "/run/current-system/profile/share/xsessions") +Répertoire où trouver les fichiers .desktop pour les sessions X. -@item @code{minimum-vt} (default: 7) -Minimum VT to use. +@item @code{minimum-vt} (par défaut : 7) +VT minimal à utiliser. -@item @code{xserver-arguments} (default "-nolisten tcp") -Arguments to pass to xorg-server. +@item @code{xserver-arguments} (par défaut : "-nolisten tcp") +Arguments à passer à xorg-server. -@item @code{auto-login-user} (default "") -User to use for auto-login. +@item @code{auto-login-user} (par défaut : "") +Utilisateur à utiliser pour la connexion automatique. -@item @code{auto-login-session} (default "") -Desktop file to use for auto-login. +@item @code{auto-login-session} (par défaut : "") +Le fichier desktop à utiliser pour la connexion automatique. -@item @code{relogin?} (default #f) -Relogin after logout. +@item @code{relogin?} (par défaut : #f) +S'il faut se reconnecter après la déconnexion. @end table @end deftp -@cindex login manager -@cindex X11 login -@deffn {Scheme Procedure} sddm-service config -Return a service that spawns the SDDM graphical login manager for config of -type @code{<sddm-configuration>}. +@cindex gestionnaire de connexion +@cindex connexion X11 +@deffn {Procédure Scheme} sddm-service config +Renvoie un service qui démarre le gestionnaire de connexion graphique SDDM +avec une configuration de type @code{<sddm-configuration>}. @example (sddm-service (sddm-configuration @@ -12270,45 +13308,49 @@ type @code{<sddm-configuration>}. @end example @end deffn -@deffn {Scheme Procedure} xorg-start-command [#:guile] @ - [#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ -[#:configuration-file (xorg-configuration-file @dots{})] @ [#:xorg-server -@var{xorg-server}] Return a @code{startx} script in which @var{modules}, a -list of X module packages, and @var{fonts}, a list of X font directories, -are available. See @code{xorg-wrapper} for more details on the arguments. -The result should be used in place of @code{startx}. - -Usually the X server is started by a login manager. +@deffn {Procédure Scheme} xorg-start-command [#:guile] @ + [#:modules %default-xorg-modules] @ +[#:fonts %default-xorg-fonts] @ +[#:configuration-file (xorg-configuration-file @dots{})] @ +[#:xorg-server @var{xorg-server}] +Renvoie un script @code{startx} dans lequel @var{modules}, une liste de +paquets de modules X et @var{fonts}, une liste de répertoires de polices X, +sont disponibles. Voir @code{xorg-wrapper} pour plus de détails sur les +arguments. Le résultat devrait être utilisé à la place de @code{startx}. + +Habituellement le serveur X est démarré par un gestionnaire de connexion. @end deffn -@deffn {Scheme Procedure} xorg-configuration-file @ - [#:modules %default-xorg-modules] @ [#:fonts %default-xorg-fonts] @ -[#:drivers '()] [#:resolutions '()] [#:extra-config '()] Return a -configuration file for the Xorg server containing search paths for all the -common drivers. - -@var{modules} must be a list of @dfn{module packages} loaded by the Xorg -server---e.g., @code{xf86-video-vesa}, @code{xf86-input-keyboard}, and so -on. @var{fonts} must be a list of font directories to add to the server's -@dfn{font path}. - -@var{drivers} must be either the empty list, in which case Xorg chooses a -graphics driver automatically, or a list of driver names that will be tried -in this order---e.g., @code{("modesetting" "vesa")}. - -Likewise, when @var{resolutions} is the empty list, Xorg chooses an -appropriate screen resolution; otherwise, it must be a list of -resolutions---e.g., @code{((1024 768) (640 480))}. - -Last, @var{extra-config} is a list of strings or objects appended to the -configuration file. It is used to pass extra text to be added verbatim to -the configuration file. - -@cindex keymap -@cindex keyboard layout -This procedure is especially useful to configure a different keyboard layout -than the default US keymap. For instance, to use the ``bépo'' keymap by -default on the display manager: +@deffn {Procédure Scheme} xorg-configuration-file @ + [#:modules %default-xorg-modules] @ +[#:fonts %default-xorg-fonts] @ +[#:drivers '()] [#:resolutions '()] [#:extra-config '()] +Renvoie un fichier de configuration pour le serveur Xorg qui contient des +chemins de recherche pour tous les pilotes communs. + +@var{modules} doit être une liste de @dfn{paquets de modules} chargés par le +serveur Xorg — p.@: ex.@: @code{xf86-video-vesa}, @code{xf86-input-keyboard} +etc. @var{fonts} doit être une liste de répertoires de polices à ajouter au +@dfn{chemin de polices} du serveur. + +@var{drivers} doit être soit la liste vide, auquel cas Xorg choisis un +pilote graphique automatiquement, soit une liste de noms de pilotes qui +seront essayés dans cet ordre — p.@: ex.@: @code{("modesetting" "vesa")}. + +De même, lorsque @var{resolutions} est la liste vide, Xorg choisis une +résolution d'écran appropriée ; autrement, ce doit être une liste de +résolutions — p.@: ex.@: @code{((1024 768) (640 480))}. + +Enfin, @var{extra-config} est une liste de chaînes de caractères ou d'objets +ajoutés au fichier de configuration. Elle est utilisée pour passer du texte +supplémentaire à être ajouté directement au fichier de configuration. + +@cindex disposition clavier +@cindex disposition du clavier +Cette procédure est particulièrement utile pour configurer une disposition +de clavier différente de la disposition US par défaut. Par exemple, pour +utiliser la disposition « bépo » par défaut sur le gestionnaire d'affichage +: @example (define bepo-evdev @@ -12334,56 +13376,62 @@ EndSection") (list bepo-evdev))))))))) @end example -The @code{MatchIsKeyboard} line specifies that we only apply the -configuration to keyboards. Without this line, other devices such as -touchpad may not work correctly because they will be attached to the wrong -driver. In this example, the user typically used @code{setxkbmap fr bepo} -to set their favorite keymap once logged in. The first argument corresponds -to the layout, while the second argument corresponds to the variant. The -@code{xkb_variant} line can be omitted to select the default variant. +La ligne @code{MatchIsKeyboard} spécifie que nous n'appliquons la +configuration qu'aux claviers. Sans cette ligne, d'autres périphériques +comme les pavés tactiles ne fonctionneront pas correctement parce qu'ils +seront associés au mauvais pilote. Dans cet exemple, l'utilisateur +utiliserait typiquement @code{setxkbmap fr bepo} pour utiliser sa +disposition de clavier préférée une fois connecté. Le premier argument +correspond à la disposition, tandis que le second argument correspond à la +variante. La ligne @code{xkb_variant} peut être omise pour choisir la +variante par défaut. @end deffn -@deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}] -Add @var{package}, a package for a screen locker or screen saver whose -command is @var{program}, to the set of setuid programs and add a PAM entry -for it. For example: +@deffn {Procédure Scheme} screen-locker-service @var{package} [@var{program}] +Ajoute @var{package}, un paquet pour un verrouiller l'écran ou un +économiseur d'écran dont la commande est @var{program}, à l'ensemble des +programmes setuid et lui ajoute une entrée PAM. Par exemple : @lisp (screen-locker-service xlockmore "xlock") @end lisp -makes the good ol' XlockMore usable. +rend utilisable le bon vieux XlockMore. @end deffn @node Services d'impression @subsubsection Services d'impression -@cindex printer support with CUPS -The @code{(gnu services cups)} module provides a Guix service definition for -the CUPS printing service. To add printer support to a GuixSD system, add a -@code{cups-service} to the operating system definition: +@cindex support des imprimantes avec CUPS +Le module @code{(gnu services cups)} fournit une définition de service Guix +pour le service d'impression CUPS. Pour ajouter le support d'une imprimante +à un système GuixSD, ajoutez un @code{cups-service} à la définition du +système d'exploitation : -@deffn {Scheme Variable} cups-service-type -The service type for the CUPS print server. Its value should be a valid -CUPS configuration (see below). To use the default settings, simply write: +@deffn {Variable Scheme} cups-service-type +Le type de service pour un serveur d'impression CUPS. Sa valeur devrait +être une configuration CUPS valide (voir plus bas). Pour utiliser les +paramètres par défaut, écrivez simplement : @example (service cups-service-type) @end example @end deffn -The CUPS configuration controls the basic things about your CUPS -installation: what interfaces it listens on, what to do if a print job -fails, how much logging to do, and so on. To actually add a printer, you -have to visit the @url{http://localhost:631} URL, or use a tool such as -GNOME's printer configuration services. By default, configuring a CUPS -service will generate a self-signed certificate if needed, for secure -connections to the print server. +La configuration de CUPS contrôle les paramètres de base de votre +installation CUPS : sur quelles interfaces il doit écouter, que faire si un +travail échoue, combien de journalisation il faut faire, etc. Pour ajouter +une imprimante, vous devrez visiter l'URL @url{http://localhost:631} ou +utiliser un outil comme les services de configuration d'imprimante de +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 @@ -12393,16 +13441,17 @@ 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. -The available configuration parameters follow. Each parameter definition is -preceded by its type; for example, @samp{string-list foo} indicates that the -@code{foo} parameter should be specified as a list of strings. There is -also a way to specify the configuration as a string, if you have an old -@code{cupsd.conf} file that you want to port over from some other system; -see the end for more details. +Les paramètres de configuration disponibles sont les suivants. Chaque +définition des paramètres est précédé par son type ; par exemple, +@samp{string-list foo} indique que le paramètre @code{foo} devrait être +spécifié comme une liste de chaînes de caractères. Il y a aussi une manière +de spécifier la configuration comme une chaîne de caractères, si vous avez +un vieux fichier @code{cupsd.conf} que vous voulez porter depuis un autre +système ; voir la fin pour plus de détails. @c The following documentation was initially generated by @c (generate-documentation) in (gnu services cups). Manually maintained @@ -12413,770 +13462,809 @@ see the end for more details. @c the churn as CUPS updates. -Available @code{cups-configuration} fields are: +Les champs de @code{cups-configuration} disponibles sont : -@deftypevr {@code{cups-configuration} parameter} package cups -The CUPS package. +@deftypevr {paramètre de @code{cups-configuration}} package cups +Le paquet CUPS. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} package-list extensions -Drivers and other extensions to the CUPS package. +@deftypevr {paramètre de @code{cups-configuration}} package-list extensions +Pilotes et autres extensions du paquet CUPS. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} files-configuration files-configuration -Configuration of where to write logs, what directories to use for print -spools, and related privileged configuration parameters. +@deftypevr {paramètre de @code{cups-configuration}} files-configuration files-configuration +Configuration de l'emplacement où écrire les journaux, quels répertoires +utiliser pour les travaux d'impression et les paramètres de configuration +privilégiés liés. -Available @code{files-configuration} fields are: +Les champs @code{files-configuration} disponibles sont : -@deftypevr {@code{files-configuration} parameter} log-location access-log -Defines the access log filename. Specifying a blank filename disables -access log generation. The value @code{stderr} causes log entries to be -sent to the standard error file when the scheduler is running in the -foreground, or to the system log daemon when run in the background. The -value @code{syslog} causes log entries to be sent to the system log daemon. -The server name may be included in filenames using the string @code{%s}, as -in @code{/var/log/cups/%s-access_log}. +@deftypevr {paramètre de @code{files-configuration}} log-location access-log +Définit le fichier de journal d'accès. Spécifier un nom de fichier vide +désactive la génération de journaux d'accès. La valeur @code{stderr} fait +que les entrées du journal seront envoyés sur l'erreur standard lorsque +l'ordonnanceur est lancé au premier plan ou vers le démon de journal système +lorsqu'il tourne en tache de fond. La valeur @code{syslog} fait que les +entrées du journal sont envoyées au démon de journalisation du système. Le +nom du serveur peut être inclus dans les noms de fichiers avec la chaîne +@code{%s}, comme dans @code{/var/log/cups/%s-access_log}. -Defaults to @samp{"/var/log/cups/access_log"}. +La valeur par défaut est @samp{"/var/log/cups/access_log"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} file-name cache-dir -Where CUPS should cache data. +@deftypevr {paramètre de @code{files-configuration}} file-name cache-dir +L'emplacement où CUPS devrait mettre les données en cache. -Defaults to @samp{"/var/cache/cups"}. +La valeur par défaut est @samp{"/var/cache/cups"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} string config-file-perm -Specifies the permissions for all configuration files that the scheduler -writes. +@deftypevr {paramètre de @code{files-configuration}} string config-file-perm +Spécifie les permissions pour tous les fichiers de configuration que +l'ordonnanceur écrit. -Note that the permissions for the printers.conf file are currently masked to -only allow access from the scheduler user (typically root). This is done -because printer device URIs sometimes contain sensitive authentication -information that should not be generally known on the system. There is no -way to disable this security feature. +Remarquez que les permissions pour le fichier printers.conf sont +actuellement masqués pour ne permettre que l'accès par l'utilisateur de +l'ordonnanceur (typiquement root). La raison est que les URI des +imprimantes contiennent des informations d'authentification sensibles qui ne +devraient pas être connues sur le système. Il n'est pas possible de +désactiver cette fonctionnalité de sécurité. -Defaults to @samp{"0640"}. +La valeur par défaut est @samp{"0640"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} log-location error-log -Defines the error log filename. Specifying a blank filename disables access -log generation. The value @code{stderr} causes log entries to be sent to -the standard error file when the scheduler is running in the foreground, or -to the system log daemon when run in the background. The value -@code{syslog} causes log entries to be sent to the system log daemon. The -server name may be included in filenames using the string @code{%s}, as in -@code{/var/log/cups/%s-error_log}. +@deftypevr {paramètre de @code{files-configuration}} log-location error-log +Définit le fichier de journal d'erreur. Spécifier un nom de fichier vide +désactive la génération de journaux d'erreur. La valeur @code{stderr} fait +que les entrées du journal seront envoyés sur l'erreur standard lorsque +l'ordonnanceur est lancé au premier plan ou vers le démon de journal système +lorsqu'il tourne en tache de fond. La valeur @code{syslog} fait que les +entrées du journal sont envoyées au démon de journalisation du système. Le +nom du serveur peut être inclus dans les noms de fichiers avec la chaîne +@code{%s}, comme dans @code{/var/log/cups/%s-error_log}. -Defaults to @samp{"/var/log/cups/error_log"}. +La valeur par défaut est @samp{"/var/log/cups/error_log"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} string fatal-errors -Specifies which errors are fatal, causing the scheduler to exit. The kind -strings are: +@deftypevr {paramètre de @code{files-configuration}} string fatal-errors +Spécifie quelles erreurs sont fatales, qui font terminer l'ordonnanceur. +Les types de chaînes sont : @table @code @item none -No errors are fatal. +Aucune erreur n'est fatale. @item all -All of the errors below are fatal. +Toutes les erreurs ci-dessous sont fatales. @item browse -Browsing initialization errors are fatal, for example failed connections to -the DNS-SD daemon. +Les erreurs d'initialisation de la navigation sont fatales, par exemple les +connexion échouées au démon DNS-SD. @item config -Configuration file syntax errors are fatal. +Les erreurs de syntaxe du fichier de configuration sont fatale. @item listen -Listen or Port errors are fatal, except for IPv6 failures on the loopback or -@code{any} addresses. +Les erreurs d'écoute ou de port sont fatales, sauf pour les erreurs d'IPv6 +sur la boucle locale ou les adresses @code{any}. @item log -Log file creation or write errors are fatal. +Les erreurs de création ou d'écriture des fichiers de journal sont fatales. @item permissions -Bad startup file permissions are fatal, for example shared TLS certificate -and key files with world-read permissions. +Les mauvaises permissions des fichiers de démarrage sont fatales, par +exemple un certificat TLS et des fichiers de clefs avec des permissions +permettant la lecture à tout le monde. @end table -Defaults to @samp{"all -browse"}. +La valeur par défaut est @samp{"all -browse"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} boolean file-device? -Specifies whether the file pseudo-device can be used for new printer -queues. The URI @uref{file:///dev/null} is always allowed. +@deftypevr {paramètre de @code{files-configuration}} boolean file-device? +Spécifie si le fichier de pseudo-périphérique peut être utilisé pour de +nouvelles queues d'impression. L'URI @uref{file:///dev/null} est toujours +permise. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} string group -Specifies the group name or ID that will be used when executing external -programs. +@deftypevr {paramètre de @code{files-configuration}} string group +Spécifie le nom ou l'ID du groupe qui sera utilisé lors de l'exécution de +programmes externes. -Defaults to @samp{"lp"}. +La valeur par défaut est @samp{"lp"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} string log-file-perm -Specifies the permissions for all log files that the scheduler writes. +@deftypevr {paramètre de @code{files-configuration}} string log-file-perm +Spécifie les permissions pour tous les fichiers de journal que +l'ordonnanceur écrit. -Defaults to @samp{"0644"}. +La valeur par défaut est @samp{"0644"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} log-location page-log -Defines the page log filename. Specifying a blank filename disables access -log generation. The value @code{stderr} causes log entries to be sent to -the standard error file when the scheduler is running in the foreground, or -to the system log daemon when run in the background. The value -@code{syslog} causes log entries to be sent to the system log daemon. The -server name may be included in filenames using the string @code{%s}, as in -@code{/var/log/cups/%s-page_log}. +@deftypevr {paramètre de @code{files-configuration}} log-location page-log +Définit le fichier de journal de page. Spécifier un nom de fichier vide +désactive la génération de journaux de pages. La valeur @code{stderr} fait +que les entrées du journal seront envoyés sur l'erreur standard lorsque +l'ordonnanceur est lancé au premier plan ou vers le démon de journal système +lorsqu'il tourne en tache de fond. La valeur @code{syslog} fait que les +entrées du journal sont envoyées au démon de journalisation du système. Le +nom du serveur peut être inclus dans les noms de fichiers avec la chaîne +@code{%s}, comme dans @code{/var/log/cups/%s-page_log}. -Defaults to @samp{"/var/log/cups/page_log"}. +La valeur par défaut est @samp{"/var/log/cups/page_log"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} string remote-root -Specifies the username that is associated with unauthenticated accesses by -clients claiming to be the root user. The default is @code{remroot}. +@deftypevr {paramètre de @code{files-configuration}} string remote-root +Spécifie le nom d'utilisateur associé aux accès non authentifiés par des +clients qui se disent être l'utilisateur root. La valeur par défaut est +@code{remroot}. -Defaults to @samp{"remroot"}. +La valeur par défaut est @samp{"remroot"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} file-name request-root -Specifies the directory that contains print jobs and other HTTP request -data. +@deftypevr {paramètre de @code{files-configuration}} file-name request-root +Spécifie le répertoire qui contient les travaux d'impression et d'autres +données des requêtes HTTP. -Defaults to @samp{"/var/spool/cups"}. +La valeur par défaut est @samp{"/var/spool/cups"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} sandboxing sandboxing -Specifies the level of security sandboxing that is applied to print filters, -backends, and other child processes of the scheduler; either @code{relaxed} -or @code{strict}. This directive is currently only used/supported on macOS. +@deftypevr {paramètre de @code{files-configuration}} sandboxing sandboxing +Spécifie le niveau d'isolation de sécurité appliqué aux filtres +d'impression, aux moteurs et aux autres processus fils de l'ordonnanceur ; +soit @code{relaxed} soit @code{strict}. Cette directive n'est actuellement +utilisée et supportée que sur macOS. -Defaults to @samp{strict}. +La valeur par défaut est @samp{strict}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} file-name server-keychain -Specifies the location of TLS certificates and private keys. CUPS will look -for public and private keys in this directory: a @code{.crt} files for -PEM-encoded certificates and corresponding @code{.key} files for PEM-encoded -private keys. +@deftypevr {paramètre de @code{files-configuration}} file-name server-keychain +Spécifie l'emplacement des certifications TLS et des clefs privées. CUPS +cherchera les clefs publiques et privées dans ce répertoire : un fichier +@code{.crt} pour un certificat encodé en PEM et le fichier @code{.key} +correspondant pour la clef privée encodée en PEM. -Defaults to @samp{"/etc/cups/ssl"}. +La valeur par défaut est @samp{"/etc/cups/ssl"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} file-name server-root -Specifies the directory containing the server configuration files. +@deftypevr {paramètre de @code{files-configuration}} file-name server-root +Spécifie le répertoire contenant les fichiers de configuration du serveur. -Defaults to @samp{"/etc/cups"}. +La valeur par défaut est @samp{"/etc/cups"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} boolean sync-on-close? -Specifies whether the scheduler calls fsync(2) after writing configuration -or state files. +@deftypevr {paramètre de @code{files-configuration}} boolean sync-on-close? +Spécifie si l'ordonnanceur appelle fsync(2) après avoir écrit la +configuration ou les fichiers d'état. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} space-separated-string-list system-group -Specifies the group(s) to use for @code{@@SYSTEM} group authentication. +@deftypevr {paramètre de @code{files-configuration}} space-separated-string-list system-group +Spécifie le groupe ou les groupes à utiliser pour l'authentification du +groupe @code{@@SYSTEM}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} file-name temp-dir -Specifies the directory where temporary files are stored. +@deftypevr {paramètre de @code{files-configuration}} file-name temp-dir +Spécifie le répertoire où les fichiers temporaires sont stockés. -Defaults to @samp{"/var/spool/cups/tmp"}. +La valeur par défaut est @samp{"/var/spool/cups/tmp"}. @end deftypevr -@deftypevr {@code{files-configuration} parameter} string user -Specifies the user name or ID that is used when running external programs. +@deftypevr {paramètre de @code{files-configuration}} string user +Spécifie le nom d'utilisateur ou l'ID utilisé pour lancer des programmes +externes. -Defaults to @samp{"lp"}. +La valeur par défaut est @samp{"lp"}. @end deftypevr @end deftypevr -@deftypevr {@code{cups-configuration} parameter} access-log-level access-log-level -Specifies the logging level for the AccessLog file. The @code{config} level -logs when printers and classes are added, deleted, or modified and when -configuration files are accessed or updated. The @code{actions} level logs -when print jobs are submitted, held, released, modified, or canceled, and -any of the conditions for @code{config}. The @code{all} level logs all -requests. +@deftypevr {paramètre de @code{cups-configuration}} access-log-level access-log-level +Spécifie le niveau de journalisation pour le fichier AccessLog. Le niveau +@code{config} enregistre les ajouts, suppressions et modifications +d'imprimantes et de classes et lorsque les fichiers de configuration sont +accédés ou mis à jour. Le niveau @code{actions} enregistre la soumission, +la suspension, la libération, la modification et l'annulation des travaux et +toutes les conditions de @code{config}. Le niveau @code{all} enregistre +toutes les requêtes. -Defaults to @samp{actions}. +La valeur par défaut est @samp{actions}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean auto-purge-jobs? -Specifies whether to purge job history data automatically when it is no -longer required for quotas. +@deftypevr {paramètre de @code{cups-configuration}} boolean auto-purge-jobs? +Spécifie s'il faut vider l'historique des travaux automatiquement lorsqu'il +n'est plus nécessaire pour les quotas. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} browse-local-protocols browse-local-protocols -Specifies which protocols to use for local printer sharing. +@deftypevr {paramètre de @code{cups-configuration}} browse-local-protocols browse-local-protocols +Spécifie les protocoles à utiliser pour partager les imprimantes sur le +réseau local. -Defaults to @samp{dnssd}. +La valeur par défaut est @samp{dnssd}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean browse-web-if? -Specifies whether the CUPS web interface is advertised. +@deftypevr {paramètre de @code{cups-configuration}} boolean browse-web-if? +Spécifie si l'interface web de CUPS est publiée. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean browsing? -Specifies whether shared printers are advertised. +@deftypevr {paramètre de @code{cups-configuration}} boolean browsing? +Spécifie si les imprimantes partagées sont publiées. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string classification -Specifies the security classification of the server. Any valid banner name -can be used, including "classified", "confidential", "secret", "topsecret", -and "unclassified", or the banner can be omitted to disable secure printing -functions. +@deftypevr {paramètre de @code{cups-configuration}} string classification +Spécifie la classification de sécurité du serveur. N'importe quel nom de +bannière peut être utilisé, comme « classifié », « confidentiel », « secret +», « top secret » et « déclassifié » ou la bannière peut être omise pour +désactiver les fonctions d'impression sécurisées. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean classify-override? -Specifies whether users may override the classification (cover page) of -individual print jobs using the @code{job-sheets} option. +@deftypevr {paramètre de @code{cups-configuration}} boolean classify-override? +Spécifie si les utilisateurs peuvent remplacer la classification (page de +couverture) des travaux d'impression individuels avec l'option +@code{job-sheets}. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} default-auth-type default-auth-type -Specifies the default type of authentication to use. +@deftypevr {paramètre de @code{cups-configuration}} default-auth-type default-auth-type +Spécifie le type d'authentification par défaut à utiliser. -Defaults to @samp{Basic}. +La valeur par défaut est @samp{Basic}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} default-encryption default-encryption -Specifies whether encryption will be used for authenticated requests. +@deftypevr {paramètre de @code{cups-configuration}} default-encryption default-encryption +Spécifie si le chiffrement sera utilisé pour les requêtes authentifiées. -Defaults to @samp{Required}. +La valeur par défaut est @samp{Required}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string default-language -Specifies the default language to use for text and web content. +@deftypevr {paramètre de @code{cups-configuration}} string default-language +Spécifie la langue par défaut à utiliser pour le contenu textuel et web. -Defaults to @samp{"en"}. +La valeur par défaut est @samp{"en"}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string default-paper-size -Specifies the default paper size for new print queues. @samp{"Auto"} uses a -locale-specific default, while @samp{"None"} specifies there is no default -paper size. Specific size names are typically @samp{"Letter"} or -@samp{"A4"}. +@deftypevr {paramètre de @code{cups-configuration}} string default-paper-size +Spécifie la taille de papier par défaut pour les nouvelles queues +d'impression. @samp{"Auto"} utilise la valeur par défaut du paramètre de +régionalisation, tandis que @samp{"None"} spécifie qu'il n'y a pas de taille +par défaut. Des noms de tailles spécifique sont par exemple @samp{"Letter"} +et @samp{"A4"}. -Defaults to @samp{"Auto"}. +La valeur par défaut est @samp{"Auto"}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string default-policy -Specifies the default access policy to use. +@deftypevr {paramètre de @code{cups-configuration}} string default-policy +Spécifie la politique d'accès par défaut à utiliser. -Defaults to @samp{"default"}. +La valeur par défaut est @samp{"default"}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean default-shared? -Specifies whether local printers are shared by default. +@deftypevr {paramètre de @code{cups-configuration}} boolean default-shared? +Spécifie si les imprimantes locales sont partagées par défaut. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer dirty-clean-interval -Specifies the delay for updating of configuration and state files, in -seconds. A value of 0 causes the update to happen as soon as possible, -typically within a few milliseconds. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer dirty-clean-interval +Spécifie le délai pour mettre à jour les fichiers de configuration et +d'état. Une valeur de 0 fait que la mise à jour arrive aussi vite que +possible, typiquement en quelques millisecondes. -Defaults to @samp{30}. +La valeur par défaut est @samp{30}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} error-policy error-policy -Specifies what to do when an error occurs. Possible values are -@code{abort-job}, which will discard the failed print job; @code{retry-job}, -which will retry the job at a later time; @code{retry-this-job}, which -retries the failed job immediately; and @code{stop-printer}, which stops the -printer. +@deftypevr {paramètre de @code{cups-configuration}} error-policy error-policy +Spécifie ce qu'il faut faire si une erreur a lieu. Les valeurs possibles +sont @code{abort-job}, qui supprimera les travaux d'impression en échec ; +@code{retry-job}, qui tentera de nouveau l'impression plus tard ; +@code{retry-this-job}, qui retentera l'impression immédiatement ; et +@code{stop-printer} qui arrête l'imprimante. -Defaults to @samp{stop-printer}. +La valeur par défaut est @samp{stop-printer}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer filter-limit -Specifies the maximum cost of filters that are run concurrently, which can -be used to minimize disk, memory, and CPU resource problems. A limit of 0 -disables filter limiting. An average print to a non-PostScript printer -needs a filter limit of about 200. A PostScript printer needs about half -that (100). Setting the limit below these thresholds will effectively limit -the scheduler to printing a single job at any time. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer filter-limit +Spécifie le coût maximum des filtres qui sont lancés en même temps, pour +minimiser les problèmes de ressources de disque, de mémoire et de CPU. Une +limite de 0 désactive la limite de filtrage. Une impression standard vers +une imprimante non-PostScript requirt une limite de filtre d'environ 200. +Une imprimante PostScript requiert environ la moitié (100). Mettre en place +la limite en dessous de ces valeurs limitera l'ordonnanceur à un seul +travail d'impression à la fois. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer filter-nice -Specifies the scheduling priority of filters that are run to print a job. -The nice value ranges from 0, the highest priority, to 19, the lowest -priority. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer filter-nice +Spécifie la priorité des filtres de l'ordonnanceur qui sont lancés pour +imprimer un travail. La valeur va de 0, la plus grande priorité, à 19, la +plus basse priorité. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} host-name-lookups host-name-lookups -Specifies whether to do reverse lookups on connecting clients. The -@code{double} setting causes @code{cupsd} to verify that the hostname -resolved from the address matches one of the addresses returned for that -hostname. Double lookups also prevent clients with unregistered addresses -from connecting to your server. Only set this option to @code{#t} or -@code{double} if absolutely required. +@deftypevr {paramètre de @code{cups-configuration}} host-name-lookups host-name-lookups +Spécifie s'il faut faire des résolutions inverses sur les clients qui se +connectent. Le paramètre @code{double} fait que @code{cupsd} vérifie que le +nom d'hôte résolu depuis l'adresse correspond à l'une des adresses renvoyées +par ce nom d'hôte. Les résolutions doubles évitent aussi que des clients +avec des adresses non enregistrées ne s'adressent à votre serveur. +N'initialisez cette valeur qu'à @code{#t} ou @code{double} que si c'est +absolument nécessaire. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer job-kill-delay -Specifies the number of seconds to wait before killing the filters and -backend associated with a canceled or held job. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer job-kill-delay +Spécifie le nombre de secondes à attendre avant de tuer les filtres et les +moteurs associés avec un travail annulé ou suspendu. -Defaults to @samp{30}. +La valeur par défaut est @samp{30}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer job-retry-interval -Specifies the interval between retries of jobs in seconds. This is -typically used for fax queues but can also be used with normal print queues -whose error policy is @code{retry-job} or @code{retry-current-job}. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer job-retry-interval +Spécifie l'intervalle des nouvelles tentatives en secondes. C'est +typiquement utilisé pour les queues de fax mais peut aussi être utilisé avec +des queues d'impressions normales dont la politique d'erreur est +@code{retry-job} ou @code{retry-current-job}. -Defaults to @samp{30}. +La valeur par défaut est @samp{30}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer job-retry-limit -Specifies the number of retries that are done for jobs. This is typically -used for fax queues but can also be used with normal print queues whose -error policy is @code{retry-job} or @code{retry-current-job}. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer job-retry-limit +Spécifie le nombre de nouvelles tentatives pour les travaux. C'est +typiquement utilisé pour les queues de fax mais peut aussi être utilisé pour +les queues d'impressions dont la politique d'erreur est @code{retry-job} ou +@code{retry-current-job}. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean keep-alive? -Specifies whether to support HTTP keep-alive connections. +@deftypevr {paramètre de @code{cups-configuration}} boolean keep-alive? +Spécifie s'il faut supporter les connexion HTTP keep-alive. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer keep-alive-timeout -Specifies how long an idle client connection remains open, in seconds. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer keep-alive-timeout +Spécifie combien de temps les connexions inactives avec les clients restent +ouvertes, en secondes. -Defaults to @samp{30}. +La valeur par défaut est @samp{30}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer limit-request-body -Specifies the maximum size of print files, IPP requests, and HTML form -data. A limit of 0 disables the limit check. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer limit-request-body +Spécifie la taille maximale des fichiers à imprimer, des requêtes IPP et des +données de formulaires HTML. Une limite de 0 désactive la vérification de +la limite. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} multiline-string-list listen -Listens on the specified interfaces for connections. Valid values are of -the form @var{address}:@var{port}, where @var{address} is either an IPv6 -address enclosed in brackets, an IPv4 address, or @code{*} to indicate all -addresses. Values can also be file names of local UNIX domain sockets. The -Listen directive is similar to the Port directive but allows you to restrict -access to specific interfaces or networks. +@deftypevr {paramètre de @code{cups-configuration}} multiline-string-list listen +Écoute sur les interfaces spécifiées. Les valeurs valides sont de la forme +@var{adresse}:@var{port}, où @var{adresse} est sotit une daresse IPv6 dans +des crochets, soit une adresse IPv4, soit @code{*} pour indiquer toutes les +adresses. Les valeurs peuvent aussi être des noms de fichiers de socket +UNIX domain. La directive Listen est similaire à la directive Port mais +vous permet de restreindre l'accès à des interfaces ou des réseaux +spécifiques. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer listen-back-log -Specifies the number of pending connections that will be allowed. This -normally only affects very busy servers that have reached the MaxClients -limit, but can also be triggered by large numbers of simultaneous -connections. When the limit is reached, the operating system will refuse -additional connections until the scheduler can accept the pending ones. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer listen-back-log +Spécifie le nombre de connexions en attente qui seront permises. Ça +n'affecte normalement que les serveurs très actifs qui ont atteint la limite +MaxClients, mais peut aussi être déclenché par un grand nombre de connexions +simultanées. Lorsque la limite est atteinte, le système d'exploitation +refusera les connexions supplémentaires jusqu'à ce que l'ordonnanceur +accepte les connexions en attente. -Defaults to @samp{128}. +La valeur par défaut est @samp{128}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} location-access-control-list location-access-controls -Specifies a set of additional access controls. +@deftypevr {paramètre de @code{cups-configuration}} location-access-control-list location-access-controls +Spécifie un ensemble de contrôles d'accès supplémentaires. -Available @code{location-access-controls} fields are: +Les champs de @code{location-access-controls} disponibles sont : -@deftypevr {@code{location-access-controls} parameter} file-name path -Specifies the URI path to which the access control applies. +@deftypevr {paramètre de @code{location-access-controls}} file-name path +Spécifie le chemin d'URI auquel les contrôles d'accès s'appliquent. @end deftypevr -@deftypevr {@code{location-access-controls} parameter} access-control-list access-controls -Access controls for all access to this path, in the same format as the -@code{access-controls} of @code{operation-access-control}. +@deftypevr {paramètre de @code{location-access-controls}} access-control-list access-controls +Les contrôles d'accès pour tous les accès à ce chemin, dans le même format +que le champ @code{access-controls} de @code{operation-access-control}. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{location-access-controls} parameter} method-access-control-list method-access-controls -Access controls for method-specific access to this path. +@deftypevr {paramètre de @code{location-access-controls}} method-access-control-list method-access-controls +Contrôles d'accès pour les accès spécifiques à la méthode à ce chemin. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. -Available @code{method-access-controls} fields are: +Les champs de @code{method-access-controls} disponibles sont : -@deftypevr {@code{method-access-controls} parameter} boolean reverse? -If @code{#t}, apply access controls to all methods except the listed -methods. Otherwise apply to only the listed methods. +@deftypevr {paramètre de @code{method-access-controls}} boolean reverse? +Si la valeur est @code{#t}, applique les contrôles d'accès à toutes les +méthodes sauf les méthodes listées. Sinon, applique le contrôle uniquement +aux méthodes listées. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{method-access-controls} parameter} method-list methods -Methods to which this access control applies. +@deftypevr {paramètre de @code{method-access-controls}} method-list methods +Les méthodes auxquelles ce contrôle d'accès s'applique. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{method-access-controls} parameter} access-control-list access-controls -Access control directives, as a list of strings. Each string should be one -directive, such as "Order allow,deny". +@deftypevr {paramètre de @code{method-access-controls}} access-control-list access-controls +Directives de contrôle d'accès, comme une liste de chaînes de caractères. +Chaque chaîne devrait être une directive, comme « Order allow, deny ». -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr @end deftypevr @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer log-debug-history -Specifies the number of debugging messages that are retained for logging if -an error occurs in a print job. Debug messages are logged regardless of the -LogLevel setting. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer log-debug-history +Spécifie le nombre de messages de débogage qui sont retenu pour la +journalisation si une erreur arrive dans un travail d'impression. Les +messages de débogage sont journalisés indépendamment du paramètre LogLevel. -Defaults to @samp{100}. +La valeur par défaut est @samp{100}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} log-level log-level -Specifies the level of logging for the ErrorLog file. The value @code{none} -stops all logging while @code{debug2} logs everything. +@deftypevr {paramètre de @code{cups-configuration}} log-level log-level +Spécifie le niveau de journalisation du fichier ErrorLog. La valeur +@code{none} arrête toute journalisation alors que que @code{debug2} +enregistre tout. -Defaults to @samp{info}. +La valeur par défaut est @samp{info}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} log-time-format log-time-format -Specifies the format of the date and time in the log files. The value -@code{standard} logs whole seconds while @code{usecs} logs microseconds. +@deftypevr {paramètre de @code{cups-configuration}} log-time-format log-time-format +Spécifie le format de la date et de l'heure dans les fichiers de journaux. +La valeur @code{standard} enregistre les secondes entières alors que +@code{usecs} enregistre les microsecondes. -Defaults to @samp{standard}. +La valeur par défaut est @samp{standard}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-clients -Specifies the maximum number of simultaneous clients that are allowed by the -scheduler. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-clients +Spécifie le nombre maximum de clients simultanés qui sont autorisés par +l'ordonnanceur. -Defaults to @samp{100}. +La valeur par défaut est @samp{100}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-clients-per-host -Specifies the maximum number of simultaneous clients that are allowed from a -single address. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-clients-per-host +Spécifie le nombre maximum de clients simultanés permis depuis une même +adresse. -Defaults to @samp{100}. +La valeur par défaut est @samp{100}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-copies -Specifies the maximum number of copies that a user can print of each job. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-copies +Spécifie le nombre maximum de copies qu'un utilisateur peut imprimer pour +chaque travail. -Defaults to @samp{9999}. +La valeur par défaut est @samp{9999}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-hold-time -Specifies the maximum time a job may remain in the @code{indefinite} hold -state before it is canceled. A value of 0 disables cancellation of held -jobs. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-hold-time +Spécifie la durée maximum qu'un travail peut rester dans l'état de +suspension @code{indefinite} avant qu'il ne soit annulé. La valeur 0 +désactive l'annulation des travaux suspendus. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-jobs -Specifies the maximum number of simultaneous jobs that are allowed. Set to -0 to allow an unlimited number of jobs. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-jobs +Spécifie le nombre maximum de travaux simultanés autorisés. La valeur 0 +permet un nombre illimité de travaux. -Defaults to @samp{500}. +La valeur par défaut est @samp{500}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-jobs-per-printer -Specifies the maximum number of simultaneous jobs that are allowed per -printer. A value of 0 allows up to MaxJobs jobs per printer. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-jobs-per-printer +Spécifie le nombre maximum de travaux simultanés autorisés par imprimante. +La valeur 0 permet au plus MaxJobs travaux par imprimante. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-jobs-per-user -Specifies the maximum number of simultaneous jobs that are allowed per -user. A value of 0 allows up to MaxJobs jobs per user. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-jobs-per-user +Spécifie le nombre maximum de travaux simultanés permis par utilisateur. La +valeur 0 permet au plus MaxJobs travaux par utilisateur. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-job-time -Specifies the maximum time a job may take to print before it is canceled, in -seconds. Set to 0 to disable cancellation of "stuck" jobs. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-job-time +Spécifie la durée maximum qu'un travail peut prendre avant qu'il ne soit +annulé, en secondes. Indiquez 0 pour désactiver l'annulation des travaux « +coincés ». -Defaults to @samp{10800}. +La valeur par défaut est @samp{10800}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-log-size -Specifies the maximum size of the log files before they are rotated, in -bytes. The value 0 disables log rotation. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer max-log-size +Spécifie la taille maximale des fichiers de journaux avant qu'on ne les +fasse tourner, en octets. La valeur 0 désactive la rotation. -Defaults to @samp{1048576}. +La valeur par défaut est @samp{1048576}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer multiple-operation-timeout -Specifies the maximum amount of time to allow between files in a multiple -file print job, in seconds. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer multiple-operation-timeout +Spécifie la durée maximale à permettre entre les fichiers d'un travail en +contenant plusieurs, en secondes. -Defaults to @samp{300}. +La valeur par défaut est @samp{300}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string page-log-format -Specifies the format of PageLog lines. Sequences beginning with percent -(@samp{%}) characters are replaced with the corresponding information, while -all other characters are copied literally. The following percent sequences -are recognized: +@deftypevr {paramètre de @code{cups-configuration}} string page-log-format +Spécifie le format des lignes PageLog. Les séquences qui commencent par un +pourcent (@samp{%}) sont remplacées par l'information correspondante, tandis +que les autres caractères sont copiés littéralement. Les séquences pourcent +suivantes sont reconnues : @table @samp @item %% -insert a single percent character +insère un seul caractères pourcent @item %@{name@} -insert the value of the specified IPP attribute +insère la valeur de l'attribut IPP spécifié @item %C -insert the number of copies for the current page +insère le nombre de copies pour la page actuelle @item %P -insert the current page number +insère le numéro de page actuelle @item %T -insert the current date and time in common log format +insère la date et l'heure actuelle dans un format de journal commun @item %j -insert the job ID +insère l'ID du travail @item %p -insert the printer name +insère le nom de l'imprimante @item %u -insert the username +insère le nom d'utilisateur @end table -A value of the empty string disables page logging. The string @code{%p %u -%j %T %P %C %@{job-billing@} %@{job-originating-host-name@} %@{job-name@} -%@{media@} %@{sides@}} creates a page log with the standard items. +Si la valeur est la chaîne vide, le PageLog est désactivée. La chaîne +@code{%p %u %j %T %P %C %@{job-billing@} %@{job-originating-host-name@} +%@{job-name@} %@{media@} %@{sides@}} crée un PageLog avec les entrées +standards. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} environment-variables environment-variables -Passes the specified environment variable(s) to child processes; a list of -strings. +@deftypevr {paramètre de @code{cups-configuration}} environment-variables environment-variables +Passe les variables d'environnement spécifiées aux processus fils ; une +liste de chaînes de caractères. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} policy-configuration-list policies -Specifies named access control policies. +@deftypevr {paramètre de @code{cups-configuration}} policy-configuration-list policies +Spécifie des politiques de contrôle d'accès nommées. -Available @code{policy-configuration} fields are: +Les champs de @code{policy-configuration} disponibles sont : -@deftypevr {@code{policy-configuration} parameter} string name -Name of the policy. +@deftypevr {paramètre de @code{policy-configuration}} string name +Nom de la politique. @end deftypevr -@deftypevr {@code{policy-configuration} parameter} string job-private-access -Specifies an access list for a job's private values. @code{@@ACL} maps to -the printer's requesting-user-name-allowed or requesting-user-name-denied -values. @code{@@OWNER} maps to the job's owner. @code{@@SYSTEM} maps to -the groups listed for the @code{system-group} field of the -@code{files-config} configuration, which is reified into the -@code{cups-files.conf(5)} file. Other possible elements of the access list -include specific user names, and @code{@@@var{group}} to indicate members of -a specific group. The access list may also be simply @code{all} or -@code{default}. +@deftypevr {paramètre de @code{policy-configuration}} string job-private-access +Spécifie une liste d'accès pour les valeurs privées du travail. +@code{@@ACL} correspond aux valeurs requesting-user-name-allowed ou +requesting-user-name-denied de l'imprimante. @code{@@OWNER} correspond au +propriétaire du travail. @code{@@SYSTEM} correspond aux groupes listés dans +le champ @code{system-group} de la configuration @code{files-config}, qui +est réifié dans le fichier @code{cups-files.conf(5)}. Les autres éléments +possibles de la liste d'accès sont des noms d'utilisateurs spécifiques et +@code{@@@var{group}} pour indiquer les membres d'un groupe spécifique. La +liste d'accès peut aussi être simplement @code{all} ou @code{default}. -Defaults to @samp{"@@OWNER @@SYSTEM"}. +La valeur par défaut est @samp{"@@OWNER @@SYSTEM"}. @end deftypevr -@deftypevr {@code{policy-configuration} parameter} string job-private-values -Specifies the list of job values to make private, or @code{all}, -@code{default}, or @code{none}. +@deftypevr {paramètre de @code{policy-configuration}} string job-private-values +Spécifie la liste des valeurs de travaux à rendre privée, ou @code{all}, +@code{default}, ou @code{none}. -Defaults to @samp{"job-name job-originating-host-name +La valeur par défaut est @samp{"job-name job-originating-host-name job-originating-user-name phone"}. @end deftypevr -@deftypevr {@code{policy-configuration} parameter} string subscription-private-access -Specifies an access list for a subscription's private values. @code{@@ACL} -maps to the printer's requesting-user-name-allowed or -requesting-user-name-denied values. @code{@@OWNER} maps to the job's -owner. @code{@@SYSTEM} maps to the groups listed for the -@code{system-group} field of the @code{files-config} configuration, which is -reified into the @code{cups-files.conf(5)} file. Other possible elements of -the access list include specific user names, and @code{@@@var{group}} to -indicate members of a specific group. The access list may also be simply -@code{all} or @code{default}. +@deftypevr {paramètre de @code{policy-configuration}} string subscription-private-access +Spécifie un liste d'accès pour les valeurs privées de la souscription. +@code{@@ACL} correspond aux valeurs requesting-user-name-allowed ou +requesting-user-name-denied de l'imprimante. @code{@@OWNER} correspond au +propriétaire du travail. @code{@@SYSTEM} correspond aux groupes listés dans +le champ @code{system-group} de la configuration @code{files-config}, qui +est réifié dans le fichier @code{cups-files.conf(5)}. Les autres éléments +possibles de la liste d'accès sont des noms d'utilisateurs spécifiques et +@code{@@@var{group}} pour indiquer les membres d'un groupe spécifique. La +liste d'accès peut aussi être simplement @code{all} ou @code{default}. -Defaults to @samp{"@@OWNER @@SYSTEM"}. +La valeur par défaut est @samp{"@@OWNER @@SYSTEM"}. @end deftypevr -@deftypevr {@code{policy-configuration} parameter} string subscription-private-values -Specifies the list of job values to make private, or @code{all}, -@code{default}, or @code{none}. +@deftypevr {paramètre de @code{policy-configuration}} string subscription-private-values +Spécifie la liste des valeurs de travaux à rendre privée, ou @code{all}, +@code{default}, ou @code{none}. -Defaults to @samp{"notify-events notify-pull-method notify-recipient-uri -notify-subscriber-user-name notify-user-data"}. +La valeur par défaut est @samp{"notify-events notify-pull-method +notify-recipient-uri notify-subscriber-user-name notify-user-data"}. @end deftypevr -@deftypevr {@code{policy-configuration} parameter} operation-access-control-list access-controls -Access control by IPP operation. +@deftypevr {paramètre de @code{policy-configuration}} operation-access-control-list access-controls +Contrôle d'accès par les actions IPP. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-files -Specifies whether job files (documents) are preserved after a job is -printed. If a numeric value is specified, job files are preserved for the -indicated number of seconds after printing. Otherwise a boolean value -applies indefinitely. +@deftypevr {paramètre de @code{cups-configuration}} boolean-or-non-negative-integer preserve-job-files +Spécifie si les fichiers de travaux (les documents) sont préservés après +qu'un travail est imprimé. Si une valeur numérique est spécifiée, les +fichiers de travaux sont préservés pour le nombre de secondes indiquées +après l'impression. Sinon, une valeur booléenne s'applique indéfiniment. -Defaults to @samp{86400}. +La valeur par défaut est @samp{86400}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean-or-non-negative-integer preserve-job-history -Specifies whether the job history is preserved after a job is printed. If a -numeric value is specified, the job history is preserved for the indicated -number of seconds after printing. If @code{#t}, the job history is -preserved until the MaxJobs limit is reached. +@deftypevr {paramètre de @code{cups-configuration}} boolean-or-non-negative-integer preserve-job-history +Spécifie si l'historique des travaux est préservé après qu'un travail est +imprimé. Si une valeur numérique est spécifiée, l'historique des travaux +est préservé pour le nombre de secondes indiquées après l'impression. Si la +valeur est @code{#t}, l'historique des travaux est préservé jusqu'à +atteindre la limite MaxJobs. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer reload-timeout -Specifies the amount of time to wait for job completion before restarting -the scheduler. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer reload-timeout +Spécifie la durée d'attente pour la fin des travaux avant de redémarrer +l'ordonnanceur. -Defaults to @samp{30}. +La valeur par défaut est @samp{30}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string rip-cache -Specifies the maximum amount of memory to use when converting documents into -bitmaps for a printer. +@deftypevr {paramètre de @code{cups-configuration}} string rip-cache +Spécifie la quantité de mémoire maximale à utiliser pour convertir des +documents en bitmaps pour l'imprimante. -Defaults to @samp{"128m"}. +La valeur par défaut est @samp{"128m"}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string server-admin -Specifies the email address of the server administrator. +@deftypevr {paramètre de @code{cups-configuration}} string server-admin +Spécifie l'adresse de courriel de l'administrateur système. -Defaults to @samp{"root@@localhost.localdomain"}. +La valeur par défaut est @samp{"root@@localhost.localdomain"}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} host-name-list-or-* server-alias -The ServerAlias directive is used for HTTP Host header validation when -clients connect to the scheduler from external interfaces. Using the -special name @code{*} can expose your system to known browser-based DNS -rebinding attacks, even when accessing sites through a firewall. If the -auto-discovery of alternate names does not work, we recommend listing each -alternate name with a ServerAlias directive instead of using @code{*}. +@deftypevr {paramètre de @code{cups-configuration}} host-name-list-or-* server-alias +La directive ServerAlias est utilisée pour la validation des en-tête HTTP +Host lorsque les clients se connectent à l'ordonnanceur depuis des +interfaces externes. Utiliser le nom spécial @code{*} peut exposer votre +système à des attaques connues de recombinaison DNS dans le navigateur, même +lorsque vous accédez au site à travers un pare-feu. Si la découverte +automatique des autres noms ne fonctionne pas, nous vous recommandons de +lister chaque nom alternatif avec une directive SeverAlias plutôt que +d'utiliser @code{*}. -Defaults to @samp{*}. +La valeur par défaut est @samp{*}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string server-name -Specifies the fully-qualified host name of the server. +@deftypevr {paramètre de @code{cups-configuration}} string server-name +Spécifie le nom d'hôte pleinement qualifié du serveur. -Defaults to @samp{"localhost"}. +La valeur par défaut est @samp{"localhost"}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} server-tokens server-tokens -Specifies what information is included in the Server header of HTTP -responses. @code{None} disables the Server header. @code{ProductOnly} -reports @code{CUPS}. @code{Major} reports @code{CUPS 2}. @code{Minor} -reports @code{CUPS 2.0}. @code{Minimal} reports @code{CUPS 2.0.0}. -@code{OS} reports @code{CUPS 2.0.0 (@var{uname})} where @var{uname} is the -output of the @code{uname} command. @code{Full} reports @code{CUPS 2.0.0 -(@var{uname}) IPP/2.0}. +@deftypevr {paramètre de @code{cups-configuration}} server-tokens server-tokens +Spécifie les informations incluses dans les en-têtes Server des réponses +HTTP. @code{None} désactive l'en-tête Server. @code{ProductOnly} rapporte +@code{CUPS}. @code{Major} rapporte @code{CUPS 2}. @code{Minor} rapporte +@code{CUPS 2.0}. @code{Minimal} rapporte @code{CUPS 2.0.0}. @code{OS} +rapporte @code{CUPS 2.0.0 (@var{uname})} où @var{uname} est la sortie de la +commande @code{uname}. @code{Full} rapporte @code{CUPS 2.0.0 (@var{uname}) +IPP/2.0}. -Defaults to @samp{Minimal}. +La valeur par défaut est @samp{Minimal}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} string set-env -Set the specified environment variable to be passed to child processes. +@deftypevr {paramètre de @code{cups-configuration}} string set-env +Indique que la variable d'environnement spécifiée doit être passée aux +processus fils. -Defaults to @samp{"variable value"}. +La valeur par défaut est @samp{"variable value"}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} multiline-string-list ssl-listen -Listens on the specified interfaces for encrypted connections. Valid values -are of the form @var{address}:@var{port}, where @var{address} is either an -IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate -all addresses. +@deftypevr {paramètre de @code{cups-configuration}} multiline-string-list ssl-listen +Écoute des connexions chiffrées sur les interfaces spécifiées. Les valeurs +valides sont de la forme @var{adresse}:@var{port}, où @var{adresse} est soit +une adresse IPv6 dans des crochets, soit une adresse IPv4, soit @code{*} +pour indiquer toutes les interfaces. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} ssl-options ssl-options -Sets encryption options. By default, CUPS only supports encryption using -TLS v1.0 or higher using known secure cipher suites. The @code{AllowRC4} -option enables the 128-bit RC4 cipher suites, which are required for some -older clients that do not implement newer ones. The @code{AllowSSL3} option -enables SSL v3.0, which is required for some older clients that do not -support TLS v1.0. +@deftypevr {paramètre de @code{cups-configuration}} ssl-options ssl-options +Indique les options de chiffrement. Par défaut, CUPS ne supporte que le +chiffrement avec TLS 1.0 ou plus avec des suites de chiffrement connues pour +être sures. L'option @code{AllowRC4} active les suites de chiffrement +128-bits RC4, qui sont requises pour certains vieux clients qui +n'implémentent pas les nouvelles. L'option @code{AllowSSL3} active SSL +v3.0, qui est requis par certains vieux clients qui ne supportent pas TLS +v1.0. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean strict-conformance? -Specifies whether the scheduler requires clients to strictly adhere to the -IPP specifications. +@deftypevr {paramètre de @code{cups-configuration}} boolean strict-conformance? +Spécifie si l'ordonnanceur demande aux clients d'adhérer aux spécifications +IPP. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} non-negative-integer timeout -Specifies the HTTP request timeout, in seconds. +@deftypevr {paramètre de @code{cups-configuration}} non-negative-integer timeout +Spécifie le délai d'attente des requêtes HTTP, en secondes. -Defaults to @samp{300}. +La valeur par défaut est @samp{300}. @end deftypevr -@deftypevr {@code{cups-configuration} parameter} boolean web-interface? -Specifies whether the web interface is enabled. +@deftypevr {paramètre de @code{cups-configuration}} boolean web-interface? +Spécifie si l'interface web est activée. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -At this point you're probably thinking ``oh dear, Guix manual, I like you -but you can stop already with the configuration options''. Indeed. -However, one more point: it could be that you have an existing -@code{cupsd.conf} that you want to use. In that case, you can pass an -@code{opaque-cups-configuration} as the configuration of a -@code{cups-service-type}. +Maintenant, vous vous dîtes peut-être « oh la la, cher manuel de Guix, je +t'aime bien mais arrête maintenant avec ces options de configuration +»@footnote{NdT : je vous rassure, c'est aussi mon sentiment au moment de +traduire ces lignes. Et pour moi, c'est encore loin d'être fini.}. En +effet. cependant, encore un point supplémentaire : vous pouvez avoir un +fichier @code{cupsd.conf} existant que vous pourriez vouloir utiliser. Dans +ce cas, vous pouvez passer un @code{opaque-cups-configuration} en +configuration d'un @code{cups-service-type}. -Available @code{opaque-cups-configuration} fields are: +Les champs de @code{opaque-cups-configuration} disponibles sont : -@deftypevr {@code{opaque-cups-configuration} parameter} package cups -The CUPS package. +@deftypevr {paramètre de @code{opaque-cups-configuration}} package cups +Le paquet CUPS. @end deftypevr -@deftypevr {@code{opaque-cups-configuration} parameter} string cupsd.conf -The contents of the @code{cupsd.conf}, as a string. +@deftypevr {paramètre de @code{opaque-cups-configuration}} string cupsd.conf +Le contenu de @code{cupsd.conf}, en tant que chaîne de caractères. @end deftypevr -@deftypevr {@code{opaque-cups-configuration} parameter} string cups-files.conf -The contents of the @code{cups-files.conf} file, as a string. +@deftypevr {paramètre de @code{opaque-cups-configuration}} string cups-files.conf +Le contenu du fichier @code{cups-files.conf}, en tant que chaîne de +caractères. @end deftypevr -For example, if your @code{cupsd.conf} and @code{cups-files.conf} are in -strings of the same name, you could instantiate a CUPS service like this: +Par exemple, si vos fichiers @code{cupsd.conf} et @code{cups-files.conf} +sont dans des chaînes du même nom, pouvez instancier un service CUPS de +cette manière : @example (service cups-service-type @@ -13189,149 +14277,154 @@ strings of the same name, you could instantiate a CUPS service like this: @node Services de bureaux @subsubsection Services de bureaux -The @code{(gnu services desktop)} module provides services that are usually -useful in the context of a ``desktop'' setup---that is, on a machine running -a graphical display server, possibly with graphical user interfaces, etc. -It also defines services that provide specific desktop environments like -GNOME, XFCE or MATE. - -To simplify things, the module defines a variable containing the set of -services that users typically expect on a machine with a graphical -environment and networking: - -@defvr {Scheme Variable} %desktop-services -This is a list of services that builds upon @var{%base-services} and adds or -adjusts services for a typical ``desktop'' setup. - -In particular, it adds a graphical login manager (@pxref{Système de fenêtrage X, -@code{slim-service}}), screen lockers, a network management tool -(@pxref{Services réseau, @code{network-manager-service-type}}), energy -and color management services, the @code{elogind} login and seat manager, -the Polkit privilege service, the GeoClue location service, the -AccountsService daemon that allows authorized users change system passwords, -an NTP client (@pxref{Services réseau}), the Avahi daemon, and has the -name service switch service configured to be able to use @code{nss-mdns} -(@pxref{Name Service Switch, mDNS}). +Le module @code{(gnu services desktop)} fournit des services qui sont +habituellement utiles dans le contexte d'une installation « de bureau » — +c'est-à-dire sur une machine qui fait tourner un service d'affichage +graphique, éventuellement avec des interfaces utilisateurs graphiques, etc. +Il définit aussi des services qui fournissent des environnements de bureau +spécifiques comme GNOME, XFCE et MATE. + +Pour simplifier les choses, le module définit une variable contenant +l'ensemble des services que les utilisateurs s'attendent en général à avoir +sur une machine avec un environnement graphique et le réseau : + +@defvr {Variable Scheme} %desktop-services +C'est la liste des services qui étend @var{%base-services} en ajoutant ou en +ajustant des services pour une configuration « de bureau » typique. + +En particulier, il ajoute un gestionnaire de connexion graphique (@pxref{Système de fenêtrage X, @code{slim-service}}), des verrouilleurs d'écran, un outil de +gestion réseau (@pxref{Services réseau, +@code{network-manager-service-type}}), des services de gestion de l'énergie +et des couleurs, le gestionnaire de connexion et de session @code{elogind}, +le service de privilèges Polkit, le service de géolocalisation GeoClue, le +démon Accounts Service qui permet aux utilisateurs autorisés de changer leur +mot de passe, un client NTP (@pxref{Services réseau}), le démon Avahi, +et le service name service switch est configuré pour pouvoir utiliser +@code{nss-mdns} (@pxref{Name Service Switch, mDNS}). @end defvr -The @var{%desktop-services} variable can be used as the @code{services} -field of an @code{operating-system} declaration (@pxref{Référence de système d'exploitation, @code{services}}). - -Additionally, the @code{gnome-desktop-service}, @code{xfce-desktop-service}, -@code{mate-desktop-service} and @code{enlightenment-desktop-service-type} -procedures can add GNOME, XFCE, MATE and/or Enlightenment to a system. To -``add GNOME'' means that system-level services like the backlight adjustment -helpers and the power management utilities are added to the system, -extending @code{polkit} and @code{dbus} appropriately, allowing GNOME to -operate with elevated privileges on a limited number of special-purpose -system interfaces. Additionally, adding a service made by -@code{gnome-desktop-service} adds the GNOME metapackage to the system -profile. Likewise, adding the XFCE service not only adds the @code{xfce} -metapackage to the system profile, but it also gives the Thunar file manager -the ability to open a ``root-mode'' file management window, if the user -authenticates using the administrator's password via the standard polkit -graphical interface. To ``add MATE'' means that @code{polkit} and -@code{dbus} are extended appropriately, allowing MATE to operate with -elevated privileges on a limited number of special-purpose system -interfaces. Additionally, adding a service made by -@code{mate-desktop-service} adds the MATE metapackage to the system -profile. ``Adding ENLIGHTENMENT'' means that @code{dbus} is extended -appropriately, and several of Enlightenment's binaries are set as setuid, -allowing Enlightenment's screen locker and other functionality to work as -expetected. - -The desktop environments in Guix use the Xorg display server by default. If -you'd like to use the newer display server protocol called Wayland, you need -to use the @code{sddm-service} instead of the @code{slim-service} for the -graphical login manager. You should then select the ``GNOME (Wayland)'' -session in SDDM. Alternatively you can also try starting GNOME on Wayland -manually from a TTY with the command ``XDG_SESSION_TYPE=wayland exec -dbus-run-session gnome-session``. Currently only GNOME has support for -Wayland. - -@deffn {Scheme Procedure} gnome-desktop-service -Return a service that adds the @code{gnome} package to the system profile, -and extends polkit with the actions from @code{gnome-settings-daemon}. +La variable @var{%desktop-services} peut être utilisée comme champ +@code{services} d'une déclaration @code{operating-system} +(@pxref{Référence de système d'exploitation, @code{services}}). + +En plus, les procédures @code{gnome-desktop-service}, +@code{xfce-desktop-service}, @code{mate-desktop-service} et +@code{enlightenment-desktop-service-type} peuvent ajouter GNOME, XFCE, MATE +ou Enlightenment à un système. « Ajouter GNOME » signifie que les services +du système comme les utilitaires d'ajustement de la luminosité et de gestion +de l'énergie sont ajoutés au système, en étendant @code{polkit} et +@code{dbus} de la bonne manière, ce qui permet à GNOME d'opérer avec des +privilèges plus élevés sur un nombre limité d'interfaces systèmes +spécialisées. En plus, ajouter un service construit par +@code{gnome-desktop-service} ajoute le métapaquet GNOME au profil du +système. de même, ajouter le service XFCE ajoute le métapaquet @code{xfce} +au profil système, mais il permet aussi au gestionnaire de fichiers Thunar +d'ouvrir une fenêtre de gestion des fichier « en mode root », si +l'utilisateur s'authentifie avec le mot de passe administrateur via +l'interface graphique polkit standard. « Ajouter MATE » signifie que +@code{polkit} et @code{dbus} sont étendue de la bonne manière, ce qui permet +à MATE d'opérer avec des privilèges plus élevés sur un nombre limité +d'interface systèmes spécialisées. « Ajouter ENLIGHTENMENT » signifie que +@code{dbus} est étendu comme il faut et que plusieurs binaires +d'Enlightenment récupèrent le bit setuid, ce qui permet au verrouilleur +d'écran d'Enlightenment et à d'autres fonctionnalités de fonctionner +correctement. + +Les environnement de bureau dans Guix utilisent le service d'affichage Xorg +par défaut. Si vous voulez utiliser le protocol de serveur d'affichage plus +récent Wayland, vous devez utiliser @code{sddm-service} à la place de +@code{slim-service} comme gestionnaire de connexion graphique. Vous devriez +ensuite sélectionner la session « GNOME (Wayland) » dans SDDM. Autrement, +vous pouvez essayer de démarrer GNOME sur Wayland manuellement depuis un TTY +avec la commande @command{XDG_SESSION_TYPE=wayland exec dbus-run-session +gnome-session}. Actuellement seul GNOME support Wayland. + +@deffn {Procédure Scheme} gnome-desktop-service +Renvoie un service qui ajoute le paquet @code{gnome} au profil système et +étend polkit avec des actions de @code{gnome-settings-daemon}. @end deffn -@deffn {Scheme Procedure} xfce-desktop-service -Return a service that adds the @code{xfce} package to the system profile, -and extends polkit with the ability for @code{thunar} to manipulate the file -system as root from within a user session, after the user has authenticated -with the administrator's password. +@deffn {Procédure Scheme} xfce-desktop-service +Renvoie un service qui ajoute le paquet @code{xfce} au profil du système et +étend polkit avec la capacité pour @code{thunar} de manipuler le système de +fichier en tant que root depuis une session utilisateur, après que +l'utilisateur s'est authentifié avec le mot de passe administrateur. @end deffn -@deffn {Scheme Procedure} mate-desktop-service -Return a service that adds the @code{mate} package to the system profile, -and extends polkit with the actions from @code{mate-settings-daemon}. +@deffn {Procédure Scheme} mate-desktop-service +Renvoie un service qui ajoute le paquet @code{mate} au profil du système et +étend polkit avec les actions de @code{mate-settings-daemon}. @end deffn @deffn {Procédure Scheme} enlightenment-desktop-service-type -Return a service that adds the @code{enlightenment} package to the system -profile, and extends dbus with actions from @code{efl}. +Renvoie un service qui ajoute le paquet @code{enlightenment} et étend dbus +avec les actions de @code{efl} @end deffn -@deftp {Data Type} enlightenment-desktop-service-configuration +@deftp {Type de données} enlightenment-desktop-service-configuration @table @asis @item @code{enlightenment} (par défaut : @code{enlightenment}) Le paquet enlightenment à utiliser. @end table @end deftp -Because the GNOME, XFCE and MATE desktop services pull in so many packages, -the default @code{%desktop-services} variable doesn't include any of them by -default. To add GNOME, XFCE or MATE, just @code{cons} them onto -@code{%desktop-services} in the @code{services} field of your -@code{operating-system}: +Comme les services de bureau GNOME, XFCE et MATE récupèrent tant de paquet, +la variable @code{%desktop-services} par défaut n'inclut aucun d'entre eux. +Pour ajouter GNOME, XFCE ou MATE, utilisez @code{cons} pour les ajouter à +@code{%desktop-services} dans le champ @code{services} de votre +@code{operating-system}. @example (use-modules (gnu)) (use-service-modules desktop) (operating-system ... - ;; cons* adds items to the list given as its last argument. + ;; cons* ajoute les élément à la liste donnée en dernier argument (services (cons* (gnome-desktop-service) (xfce-desktop-service) %desktop-services)) ...) @end example -These desktop environments will then be available as options in the -graphical login window. +Ces environnements de bureau seront alors disponibles comme une option dans +la fenêtre de connexion graphique. -The actual service definitions included in @code{%desktop-services} and -provided by @code{(gnu services dbus)} and @code{(gnu services desktop)} are -described below. +Les définitions de service qui sont vraiment incluses dans +@code{%desktop-services} et fournies par @code{(gnu services dbus)} et +@code{(gnu services desktop)} sont décrites plus bas. -@deffn {Scheme Procedure} dbus-service [#:dbus @var{dbus}] [#:services '()] -Return a service that runs the ``system bus'', using @var{dbus}, with -support for @var{services}. +@deffn {Procédure Scheme} dbus-service [#:dbus @var{dbus}] [#:services '()] +Renvoie un service qui lance le « bus système », @var{dbus}, avec le support +de @var{services}. -@uref{http://dbus.freedesktop.org/, D-Bus} is an inter-process communication -facility. Its system bus is used to allow system services to communicate -and to be notified of system-wide events. +@uref{http://dbus.freedesktop.org/, D-Bus} est un utilitaire de +communication inter-processus. Son bus système est utilisé pour permettre à +des services systèmes de communiquer et d'être notifiés d'événements +systèmes. -@var{services} must be a list of packages that provide an -@file{etc/dbus-1/system.d} directory containing additional D-Bus -configuration and policy files. For example, to allow avahi-daemon to use -the system bus, @var{services} must be equal to @code{(list avahi)}. +@var{services} doit être une liste de paquets qui fournissent un répertoire +@file{etc/dbus-1/system.d} contenant de la configuration D-Bus +supplémentaire et des fichiers de politiques. Par exemple, pour permettre à +avahi-daemon d'utiliser le bus système, @var{services} doit être égal à +@code{(list avahi)}. @end deffn -@deffn {Scheme Procedure} elogind-service [#:config @var{config}] -Return a service that runs the @code{elogind} login and seat management -daemon. @uref{https://github.com/elogind/elogind, Elogind} exposes a D-Bus -interface that can be used to know which users are logged in, know what kind -of sessions they have open, suspend the system, inhibit system suspend, -reboot the system, and other tasks. +@deffn {Procédure Scheme} elogind-service [#:config @var{config}] +Renvoie un service qui lance le démon de gestion de connexion et de session +@code{elogind}. @uref{https://github.com/elogind/elogind, Elogind} expose +une interface D-Bus qui peut être utilisée pour connaître quels utilisateurs +sont connectés, le type de session qu'ils sont ouverte, suspendre le +système, désactiver la veille système, redémarrer le système et d'autre +taches. -Elogind handles most system-level power events for a computer, for example -suspending the system when a lid is closed, or shutting it down when the -power button is pressed. +Elogind gère la plupart des événements liés à l'énergie du système, par +exemple mettre en veille le système quand l'écran est rabattu ou en +l'éteignant quand le bouton de démarrage est appuyé. -The @var{config} keyword argument specifies the configuration for elogind, -and should be the result of an @code{(elogind-configuration (@var{parameter} -@var{value})...)} invocation. Available parameters and their default values -are: +L'argument @var{config} spécifie la configuration d'elogind et devrait être +le résultat d'une invocation de @code{(elogind-configuration +(@var{parameter} @var{value})...)}. Les paramètres disponibles et leur +valeur par défaut sont : @table @code @item kill-user-processes? @@ -13387,155 +14480,171 @@ are: @end table @end deffn -@deffn {Scheme Procedure} accountsservice-service @ - [#:accountsservice @var{accountsservice}] Return a service that runs -AccountsService, a system service that can list available accounts, change -their passwords, and so on. AccountsService integrates with PolicyKit to -enable unprivileged users to acquire the capability to modify their system -configuration. -@uref{https://www.freedesktop.org/wiki/Software/AccountsService/, the -accountsservice web site} for more information. - -The @var{accountsservice} keyword argument is the @code{accountsservice} -package to expose as a service. +@deffn {Procédure Scheme} accountsservice-service @ + [#:accountsservice @var{accountsservice}] +Renvoie un service qui lance AccountsService, un service système qui peut +lister les comptes disponibles, changer leur mot de passe, etc. +AccountsService s'intègre à Polkit pour permettre aux utilisateurs non +privilégiés de pouvoir modifier la configuration de leur système. +@uref{https://www.freedesktop.org/wiki/Software/AccountsService/, le site de +accountsservice} pour trouver plus d'informations. + +L'argument @var{accountsservice} est le paquet @code{accountsservice} à +exposer comme un service. @end deffn -@deffn {Scheme Procedure} polkit-service @ - [#:polkit @var{polkit}] Return a service that runs the -@uref{http://www.freedesktop.org/wiki/Software/polkit/, Polkit privilege -management service}, which allows system administrators to grant access to -privileged operations in a structured way. By querying the Polkit service, -a privileged system component can know when it should grant additional -capabilities to ordinary users. For example, an ordinary user can be -granted the capability to suspend the system if the user is logged in -locally. +@deffn {Procédure Scheme} polkit-service @ + [#:polkit @var{polkit}] +Renvoie un service qui lance le +@uref{http://www.freedesktop.org/wiki/Software/polkit/, service de gestion +des privilèges Polkit}, qui permet aux administrateurs systèmes de permettre +l'accès à des opération privilégiées d'une manière structurée. En demandant +au service Polkit, un composant système privilégié peut savoir lorsqu'il +peut donner des privilèges supplémentaires à des utilisateurs normaux. Par +exemple, un utilisateur normal peut obtenir le droit de mettre le système en +veille si l'utilisateur est connecté localement. @end deffn -@deffn {Scheme Procedure} upower-service [#:upower @var{upower}] @ - [#:watts-up-pro? #f] @ [#:poll-batteries? #t] @ [#:ignore-lid? #f] @ -[#:use-percentage-for-policy? #f] @ [#:percentage-low 10] @ -[#:percentage-critical 3] @ [#:percentage-action 2] @ [#:time-low 1200] @ -[#:time-critical 300] @ [#:time-action 120] @ [#:critical-power-action -'hybrid-sleep] Return a service that runs -@uref{http://upower.freedesktop.org/, @command{upowerd}}, a system-wide -monitor for power consumption and battery levels, with the given -configuration settings. It implements the @code{org.freedesktop.UPower} -D-Bus interface, and is notably used by GNOME. +@deffn {Procédure Scheme} upower-service [#:upower @var{upower}] @ + [#:watts-up-pro? #f] @ +[#:poll-batteries? #t] @ +[#:ignore-lid? #f] @ +[#:use-percentage-for-policy? #f] @ +[#:percentage-low 10] @ +[#:percentage-critical 3] @ +[#:percentage-action 2] @ +[#:time-low 1200] @ +[#:time-critical 300] @ +[#:time-action 120] @ +[#:critical-power-action 'hybrid-sleep] +Renvoie un service qui lance @uref{http://upower.freedesktop.org/, +@command{upowerd}}, un moniteur système pour la consommation électrique et +le niveau de batterie, avec les paramètres de configuration données. Il +implémente l'interface D-Bus @code{org.freedesktop.UPower} et est notamment +utilisé par GNOME. @end deffn -@deffn {Scheme Procedure} udisks-service [#:udisks @var{udisks}] -Return a service for @uref{http://udisks.freedesktop.org/docs/latest/, -UDisks}, a @dfn{disk management} daemon that provides user interfaces with -notifications and ways to mount/unmount disks. Programs that talk to UDisks -include the @command{udisksctl} command, part of UDisks, and GNOME Disks. +@deffn {Procédure Scheme} udisks-service [#:udisks @var{udisks}] +Renvoie un service pour @uref{http://udisks.freedesktop.org/docs/latest/, +UDisks}, un démon de @dfn{gestion de disques} qui fournit des notifications +et la capacité de monter et démonter des disques à des interfaces +utilisateurs. Les programmes qui parlent à UDisks sont par exemple la +commande @command{udisksctl}, qui fait partie de UDisks et GNOME Disks. @end deffn -@deffn {Scheme Procedure} colord-service [#:colord @var{colord}] -Return a service that runs @command{colord}, a system service with a D-Bus -interface to manage the color profiles of input and output devices such as -screens and scanners. It is notably used by the GNOME Color Manager -graphical tool. See @uref{http://www.freedesktop.org/software/colord/, the -colord web site} for more information. +@deffn {Procédure Scheme} colord-service [#:colord @var{colord}] +Renvoie un service qui lance @command{colord}, un service système avec une +interface D-Bus pour gérer les profils de couleur des périphériques +d'entrées et de sorties comme les écrans et les scanners. Il est notamment +utilisé par l'outil graphique GNOME Color Manager. Voir +@uref{http://www.freedesktop.org/software/colord/, le site web de colord} +pour plus d'informations. @end deffn -@deffn {Scheme Procedure} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()] -Return a configuration allowing an application to access GeoClue location -data. @var{name} is the Desktop ID of the application, without the -@code{.desktop} part. If @var{allowed?} is true, the application will have -access to location information by default. The boolean @var{system?} value -indicates whether an application is a system component or not. Finally -@var{users} is a list of UIDs of all users for which this application is -allowed location info access. An empty users list means that all users are -allowed. +@deffn {Procédure Scheme} geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()] +Renvoie une configuration qui permet d'accéder aux données de localisation +de GeoClue. @var{name} est l'ID Desktop de l'application, sans la partie en +@code{.desktop}. Si @var{allowed?} est vraie, l'application aura droit +d'accéder aux informations de localisation par défaut. Le booléen +@var{system?} indique si une application est un composant système ou non. +Enfin @var{users} est la liste des UID des utilisateurs pour lesquels cette +application a le droit d'accéder aux informations de géolocalisation. Une +liste d'utilisateurs vide indique que tous les utilisateurs sont autorisés. @end deffn -@defvr {Scheme Variable} %standard-geoclue-applications -The standard list of well-known GeoClue application configurations, granting -authority to the GNOME date-and-time utility to ask for the current location -in order to set the time zone, and allowing the IceCat and Epiphany web -browsers to request location information. IceCat and Epiphany both query -the user before allowing a web page to know the user's location. +@defvr {Variable Scheme} %standard-geoclue-applications +la liste standard de configuration des application GeoClue connues, qui +permet à l'utilitaire date-and-time de GNOME de demander l'emplacement +actuel pour initialiser le fuseau horaire et aux navigateurs web IceCat et +Epiphany de demander les informations de localisation. IceCat et Epiphany +demandent tous deux à l'utilisateur avant de permettre à une page web de +connaître l'emplacement de l'utilisateur. @end defvr -@deffn {Scheme Procedure} geoclue-service [#:colord @var{colord}] @ - [#:whitelist '()] @ [#:wifi-geolocation-url +@deffn {Procédure Scheme} geoclue-service [#:colord @var{colord}] @ + [#:whitelist '()] @ +[#:wifi-geolocation-url "https://location.services.mozilla.com/v1/geolocate?key=geoclue"] @ [#:submit-data? #f] [#:wifi-submission-url "https://location.services.mozilla.com/v1/submit?key=geoclue"] @ -[#:submission-nick "geoclue"] @ [#:applications -%standard-geoclue-applications] Return a service that runs the GeoClue -location service. This service provides a D-Bus interface to allow -applications to request access to a user's physical location, and optionally -to add information to online location databases. See -@uref{https://wiki.freedesktop.org/www/Software/GeoClue/, the GeoClue web -site} for more information. +[#:submission-nick "geoclue"] @ +[#:applications %standard-geoclue-applications] +Renvoie un service qui lance le service de géolocalisation GeoClue. Ce +service fournit une interface D-Bus pour permettre aux applications de +demande l'accès à la position de l'utilisateur et éventuellement d'ajouter +des informations à des bases de données de géolocalisation en ligne. Voir +@uref{https://wiki.freedesktop.org/www/Software/GeoClue/, le site web de +GeoClue} pour plus d'informations. @end deffn -@deffn {Scheme Procedure} bluetooth-service [#:bluez @var{bluez}] @ - [@w{#:auto-enable? #f}] Return a service that runs the @command{bluetoothd} -daemon, which manages all the Bluetooth devices and provides a number of -D-Bus interfaces. When AUTO-ENABLE? is true, the bluetooth controller is -powered automatically at boot, which can be useful when using a bluetooth -keyboard or mouse. +@deffn {Procédure Scheme} bluetooth-service [#:bluez @var{bluez}] @ + [@w{#:auto-enable? #f}] +Renvoie un service qui lance le démon @command{bluetoothd} qui gère tous les +appareils Bluetooth et fournit un certain nombre d'interfaces D-Bus. +Lorsque @var{auto-enable?} est vraie, le contrôler bluetooth est +automatiquement alimenté au démarrage, ce qui peut être utile lorsque vous +utilisez un clavier ou une souris bluetooth. -Users need to be in the @code{lp} group to access the D-Bus service. +Les utilisateurs doivent être dans le groupe @code{lp} pour accéder au +service D-Bus. @end deffn @node Services de son @subsubsection Services de son -@cindex sound support +@cindex support du son @cindex ALSA -@cindex PulseAudio, sound support +@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) @end example -See below for details about @code{alsa-configuration}. +Voir plus bas pour des détails sur @code{alsa-configuration}. @end deffn -@deftp {Type de donnée} alsa-configuration -Data type representing the configuration for @code{alsa-service}. +@deftp {Type de données} 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 : @code{#t}) -Whether ALSA applications should transparently be made to use the -@uref{http://www.pulseaudio.org/, PulseAudio} sound server. +@item @code{pulseaudio?} (par défaut : @var{#t}) +Indique si les applications ALSA devraient utiliser le serveur de son +@uref{http://www.pulseaudio.org/, PulseAudio} de manière transparente pour +elles. -Using PulseAudio allows you to run several sound-producing applications at -the same time and to individual control them @i{via} @command{pavucontrol}, -among other things. +Utiliser PulseAudio vous permet dans lancer plusieurs applications qui +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 : @code{""}) -String to append to the @file{/etc/asound.conf} file. +@item @code{extra-options} (par défaut : @var{""}) +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 : # <http://jackaudio.org/faq/routing_alsa.html>. pcm.rawjack @{ type jack @@ -13558,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 @@ -13567,152 +14676,155 @@ details. @cindex database @cindex SQL -The @code{(gnu services databases)} module provides the following services. - -@deffn {Scheme Procedure} postgresql-service [#:postgresql postgresql] @ - [#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ [#:port -5432] [#:locale ``en_US.utf8''] Return a service that runs @var{postgresql}, -the PostgreSQL database server. - -The PostgreSQL daemon loads its runtime configuration from -@var{config-file}, creates a database cluster with @var{locale} as the -default locale, stored in @var{data-directory}. It then listens on -@var{port}. +Le module @code{(gnu services databases)} fournit les services suivants. + +@deffn {Procédure Scheme} postgresql-service [#:postgresql postgresql] @ + [#:config-file] [#:data-directory ``/var/lib/postgresql/data''] @ +[#:port 5432] [#:locale ``en_US.utf8''] +Renvoie un service qui lance @var{postgresql}, le service de bases de +données PostgreSQL. + +Le démon PostgreSQL charge sa configuration à l'exécution depuis +@var{config-file}, crée une grappe de bases de données avec @var{locale} +comme paramètre de régionalisation par défaut, stockée dans +@var{data-directory}. Il écoute ensuite sur @var{port}. @end deffn -@deffn {Scheme Procedure} mysql-service [#:config (mysql-configuration)] -Return a service that runs @command{mysqld}, the MySQL or MariaDB database -server. +@deffn {Procédure Scheme} mysql-service [#:config (mysql-configuration)] +Renvoie un service qui lance @command{mysqld}, le service de bases de +données MySQL ou MariaDB. -The optional @var{config} argument specifies the configuration for -@command{mysqld}, which should be a @code{<mysql-configuration>} object. +L'argument @var{config} facultatif spécifie la configuration de +@command{mysqld}, qui devrait être un objet @code{<mysql-configuration>}. @end deffn -@deftp {Data Type} mysql-configuration -Data type representing the configuration of @var{mysql-service}. +@deftp {Type de données} mysql-configuration +Type de données représentant la configuration de @var{mysql-service}. @table @asis -@item @code{mysql} (default: @var{mariadb}) -Package object of the MySQL database server, can be either @var{mariadb} or -@var{mysql}. +@item @code{mysql} (par défaut : @var{mariadb}) +Objet paquet du serveur de base de données MySQL, qui peut être soit +@var{mariadb}, soit @var{mysql}. -For MySQL, a temporary root password will be displayed at activation time. -For MariaDB, the root password is empty. +Pour MySQL, un mot de passe root temporaire sera affiché à l'activation. +Pour MariaDB, le mot de passe root est vide. -@item @code{port} (default: @code{3306}) -TCP port on which the database server listens for incoming connections. +@item @code{port} (par défaut : @code{3306}) +Port TCP sur lequel le serveur de base de données écoute les connexions +entrantes. @end table @end deftp -@defvr {Scheme Variable} memcached-service-type -This is the service type for the @uref{https://memcached.org/, Memcached} -service, which provides a distributed in memory cache. The value for the -service type is a @code{memcached-configuration} object. +@defvr {Variable Scheme} memcached-service-type +C'est le type de service pour le service @uref{https://memcached.org/, +Memcached} qui fournit un cache en mémoire distribué. La valeur pour le +type de service est un objet @code{memcached-configuration}. @end defvr @example (service memcached-service-type) @end example -@deftp {Data Type} memcached-configuration -Data type representing the configuration of memcached. +@deftp {Type de données} memcached-configuration +Type de données représentant la configuration de memcached. @table @asis -@item @code{memcached} (default: @code{memcached}) -The Memcached package to use. +@item @code{memcached} (par défaut : @code{memcached}) +Le paquet Memcached à utiliser. -@item @code{interfaces} (default: @code{'("0.0.0.0")}) -Network interfaces on which to listen. +@item @code{interfaces} (par défaut : @code{'("0.0.0.0")}) +Les interfaces réseaux sur lesquelles écouter. -@item @code{tcp-port} (default: @code{11211}) -Port on which to accept connections on, +@item @code{tcp-port} (par défaut : @code{11211}) +Port sur lequel accepter les connexions. -@item @code{udp-port} (default: @code{11211}) -Port on which to accept UDP connections on, a value of 0 will disable -listening on a UDP socket. +@item @code{udp-port} (par défaut : @code{11211}) +Port sur lequel accepter les connexions UDP, une valeur de 0 désactive +l'écoute en UDP. -@item @code{additional-options} (default: @code{'()}) -Additional command line options to pass to @code{memcached}. +@item @code{additional-options} (par défaut : @code{'()}) +Options de la ligne de commande supplémentaires à passer à @code{memcached}. @end table @end deftp -@defvr {Scheme Variable} mongodb-service-type -This is the service type for @uref{https://www.mongodb.com/, MongoDB}. The -value for the service type is a @code{mongodb-configuration} object. +@defvr {Variable Scheme} mongodb-service-type +C'est le type de service pour @uref{https://www.mongodb.com/, MongoDB}. La +valeur de ce service est un objet @code{mongodb-configuration}. @end defvr @example (service mongodb-service-type) @end example -@deftp {Data Type} mongodb-configuration -Data type representing the configuration of mongodb. +@deftp {Type de données} mongodb-configuration +Type de données représentant la configuration de mongodb. @table @asis -@item @code{mongodb} (default: @code{mongodb}) -The MongoDB package to use. +@item @code{mongodb} (par défaut : @code{mongodb}) +Le paquet MongoDB à utiliser. -@item @code{config-file} (default: @code{%default-mongodb-configuration-file}) -The configuration file for MongoDB. +@item @code{config-file} (par défaut : @code{%default-mongodb-configuration-file}) +Le fichier de configuration pour MongoDB. -@item @code{data-directory} (default: @code{"/var/lib/mongodb"}) -This value is used to create the directory, so that it exists and is owned -by the mongodb user. It should match the data-directory which MongoDB is -configured to use through the configuration file. +@item @code{data-directory} (par défaut : @code{"/var/lib/mongodb"}) +Cette valeur est utilisée pour créer le répertoire, pour qu'il existe et +appartienne à l'utilisateur mongodb. Il devrait correspondre au +data-directory que MongoDB est configuré pour utiliser dans son fichier de +configuration. @end table @end deftp -@defvr {Scheme Variable} redis-service-type -This is the service type for the @uref{https://redis.io/, Redis} key/value -store, whose value is a @code{redis-configuration} object. +@defvr {Variable Scheme} redis-service-type +C'est le type de service pour la base clef-valeur @uref{https://redis.io/, +Redis} dont la valeur est un objet @code{redis-configuration}. @end defvr -@deftp {Data Type} redis-configuration -Data type representing the configuration of redis. +@deftp {Type de données} redis-configuration +Type de données représentant la configuration de redis. @table @asis -@item @code{redis} (default: @code{redis}) -The Redis package to use. +@item @code{redis} (par défaut : @code{redis}) +Le paquet Redis à utiliser. -@item @code{bind} (default: @code{"127.0.0.1"}) -Network interface on which to listen. +@item @code{bind} (par défaut : @code{"127.0.0.1"}) +Interface réseau sur laquelle écouter. -@item @code{port} (default: @code{6379}) -Port on which to accept connections on, a value of 0 will disable listening -on a TCP socket. +@item @code{port} (par défaut : @code{6379}) +Port sur lequel accepter les connexions, une valeur de 0 désactive l'écoute +sur un socket TCP. -@item @code{working-directory} (default: @code{"/var/lib/redis"}) -Directory in which to store the database and related files. +@item @code{working-directory} (par défaut : @code{"/var/lib/redis"}) +Répertoire dans lequel stocker la base de données et les fichiers liés. @end table @end deftp @node Services de courriels @subsubsection Services de courriels -@cindex mail +@cindex courriel @cindex email -The @code{(gnu services mail)} module provides Guix service definitions for -email services: IMAP, POP3, and LMTP servers, as well as mail transport -agents (MTAs). Lots of acronyms! These services are detailed in the -subsections below. +Le module @code{(gnu services mail)} fournit des définitions de services +Guix pour les services de courriel : des serveurs IMAP, POP3 et LMTP ainsi +que des MTA (Mail Transport Agent). Que d'acronymes ! Ces services sont +détaillés dans les sous-sections ci-dessous. -@subsubheading Dovecot Service +@subsubheading Service Dovecot -@deffn {Scheme Procedure} dovecot-service [#:config (dovecot-configuration)] -Return a service that runs the Dovecot IMAP/POP3/LMTP mail server. +@deffn {Procédure Scheme} dovecot-service [#:config (dovecot-configuration)] +Renvoie un service qui lance le serveur de courriel IMAP/POP3/LMTP Dovecot. @end deffn -By default, Dovecot does not need much configuration; the default -configuration object created by @code{(dovecot-configuration)} will suffice -if your mail is delivered to @code{~/Maildir}. A self-signed certificate -will be generated for TLS-protected connections, though Dovecot will also -listen on cleartext ports by default. There are a number of options, -though, which mail administrators might need to change, and as is the case -with other services, Guix allows the system administrator to specify these -parameters via a uniform Scheme interface. +Par défaut, Dovecot n'a pas besoin de beaucoup de configuration ; l'objet de +configuration par défaut créé par @code{(dovecot-configuration)} suffira si +votre courriel est livré dans @code{~/Maildir}. Un certificat auto-signé +sera généré pour les connexions TLS, bien que Dovecot écoutera aussi sur les +ports non chiffrés par défaut. Il y a quelques options cependant, que les +administrateurs peuvent avoir besoin de changer et comme c'est le cas avec +d'autres services, Guix permet aux administrateurs systèmes de spécifier ces +paramètres via une interface Scheme unifiée. -For example, to specify that mail is located at @code{maildir~/.mail}, one -would instantiate the Dovecot service like this: +Par exemple, pour spécifier que les courriels se trouvent dans +@code{maildir~/.mail}, on peut instancier Dovecot de cette manière : @example (dovecot-service #:config @@ -13720,12 +14832,13 @@ would instantiate the Dovecot service like this: (mail-location "maildir:~/.mail"))) @end example -The available configuration parameters follow. Each parameter definition is -preceded by its type; for example, @samp{string-list foo} indicates that the -@code{foo} parameter should be specified as a list of strings. There is -also a way to specify the configuration as a string, if you have an old -@code{dovecot.conf} file that you want to port over from some other system; -see the end for more details. +Les paramètres de configuration disponibles sont les suivants. Chaque +définition des paramètres est précédé par son type ; par exemple, +@samp{string-list foo} indique que le paramètre @code{foo} devrait être +spécifié comme une liste de chaînes de caractères. Il y a aussi une manière +de spécifier la configuration comme une chaîne de caractères, si vous avez +un vieux fichier @code{dovecot.conf} que vous voulez porter depuis un autre +système ; voir la fin pour plus de détails. @c The following documentation was initially generated by @c (generate-documentation) in (gnu services mail). Manually maintained @@ -13735,732 +14848,806 @@ see the end for more details. @c (generate-documentation) than to make it below and have to deal with @c the churn as dovecot updates. -Available @code{dovecot-configuration} fields are: +Les champs de @code{dovecot-configuration} disponibles sont : -@deftypevr {@code{dovecot-configuration} parameter} package dovecot -The dovecot package. +@deftypevr {paramètre de @code{dovecot-configuration}} package dovecot +Le paquet dovecot @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} comma-separated-string-list listen -A list of IPs or hosts where to listen for connections. @samp{*} listens on -all IPv4 interfaces, @samp{::} listens on all IPv6 interfaces. If you want -to specify non-default ports or anything more complex, customize the address -and port fields of the @samp{inet-listener} of the specific services you are -interested in. +@deftypevr {paramètre de @code{dovecot-configuration}} comma-separated-string-list listen +Une liste d'IP ou d'hôtes à écouter pour les connexions. @samp{*} écoute +sur toutes les interfaces IPv4, @samp{::} écoute sur toutes les interfaces +IPv6. Si vous voulez spécifier des ports différents de la valeur par défaut +ou quelque chose de plus complexe, complétez les champs d'adresse et de port +de @samp{inet-listener} des services spécifiques qui vous intéressent. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} protocol-configuration-list protocols -List of protocols we want to serve. Available protocols include -@samp{imap}, @samp{pop3}, and @samp{lmtp}. +@deftypevr {paramètre de @code{dovecot-configuration}} protocol-configuration-list protocols +Liste des protocoles que vous voulez servir. Les protocoles disponibles +comprennent @samp{imap}, @samp{pop3} et @samp{lmtp}. -Available @code{protocol-configuration} fields are: +Les champs @code{protocol-configuration} disponibles sont : -@deftypevr {@code{protocol-configuration} parameter} string name -The name of the protocol. +@deftypevr {paramètre de @code{protocol-configuration}} string name +Le nom du protocole. @end deftypevr -@deftypevr {@code{protocol-configuration} parameter} string auth-socket-path -UNIX socket path to the master authentication server to find users. This is -used by imap (for shared users) and lda. It defaults to +@deftypevr {paramètre de @code{protocol-configuration}} string auth-socket-path +Le chemin d'un 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. Sa valeur par défaut est @samp{"/var/run/dovecot/auth-userdb"}. @end deftypevr -@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins -Space separated list of plugins to load. +@deftypevr {paramètre de @code{protocol-configuration}} space-separated-string-list mail-plugins +Liste de greffons à charger séparés par des espaces. @end deftypevr -@deftypevr {@code{protocol-configuration} parameter} non-negative-integer mail-max-userip-connections -Maximum number of IMAP connections allowed for a user from each IP address. -NOTE: The username is compared case-sensitively. Defaults to @samp{10}. +@deftypevr {paramètre de @code{protocol-configuration}} non-negative-integer mail-max-userip-connections +Nombre maximum de connexions IMAP permises pour un utilisateur depuis chaque +adresse IP. Remarque : la comparaison du nom d'utilisateur est sensible à +la casse. Par défaut @samp{10}. @end deftypevr @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} service-configuration-list services -List of services to enable. Available services include @samp{imap}, -@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and -@samp{lmtp}. +@deftypevr {paramètre de @code{dovecot-configuration}} service-configuration-list services +Liste des services à activer. Les services disponibles comprennent +@samp{imap}, @samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth} +et @samp{lmtp}. -Available @code{service-configuration} fields are: +Les champs de @code{service-configuration} disponibles sont : -@deftypevr {@code{service-configuration} parameter} string kind -The service kind. Valid values include @code{director}, @code{imap-login}, -@code{pop3-login}, @code{lmtp}, @code{imap}, @code{pop3}, @code{auth}, -@code{auth-worker}, @code{dict}, @code{tcpwrap}, @code{quota-warning}, or -anything else. +@deftypevr {paramètre de @code{service-configuration}} string kind +Le type de service. Les valeurs valides comprennent @code{director}, +@code{imap-login}, @code{pop3-login}, @code{lmtp}, @code{imap}, @code{pop3}, +@code{auth}, @code{auth-worker}, @code{dict}, @code{tcpwrap}, +@code{quota-warning} ou n'importe quoi d'autre. @end deftypevr -@deftypevr {@code{service-configuration} parameter} listener-configuration-list listeners -Listeners for the service. A listener is either a -@code{unix-listener-configuration}, a @code{fifo-listener-configuration}, or -an @code{inet-listener-configuration}. Defaults to @samp{()}. +@deftypevr {paramètre de @code{service-configuration}} listener-configuration-list listeners +Les auditeurs du service. Un auditeur est soit un +@code{unix-listener-configuration}, soit un +@code{fifo-listener-configuration}, soit un +@code{inet-listener-configuration}. La valeur par défaut est @samp{()}. -Available @code{unix-listener-configuration} fields are: +Les champs de @code{unix-listener-configuration} disponibles sont : -@deftypevr {@code{unix-listener-configuration} parameter} string path -Path to the file, relative to @code{base-dir} field. This is also used as -the section name. +@deftypevr {paramètre de @code{unix-listener-configuration}} string path +Chemin vers le fichier, relativement au champ @code{base-dir}. C'est aussi +utilisé comme nom de section. @end deftypevr -@deftypevr {@code{unix-listener-configuration} parameter} string mode -The access mode for the socket. Defaults to @samp{"0600"}. +@deftypevr {paramètre de @code{unix-listener-configuration}} string mode +Le mode d'accès pour le socket. La valeur par défaut est @samp{"0600"}. @end deftypevr -@deftypevr {@code{unix-listener-configuration} parameter} string user -The user to own the socket. Defaults to @samp{""}. +@deftypevr {paramètre de @code{unix-listener-configuration}} string user +L'utilisateur à qui appartient le socket. La valeur par défaut est +@samp{""} @end deftypevr -@deftypevr {@code{unix-listener-configuration} parameter} string group -The group to own the socket. Defaults to @samp{""}. +@deftypevr {paramètre de @code{unix-listener-configuration}} string group +Le groupe auquel appartient le socket. La valeur par défaut est @samp{""}. @end deftypevr -Available @code{fifo-listener-configuration} fields are: +Les champs de @code{fifo-listener-configuration} disponibles sont : -@deftypevr {@code{fifo-listener-configuration} parameter} string path -Path to the file, relative to @code{base-dir} field. This is also used as -the section name. +@deftypevr {paramètre de @code{fifo-listener-configuration}} string path +Chemin vers le fichier, relativement au champ @code{base-dir}. C'est aussi +utilisé comme nom de section. @end deftypevr -@deftypevr {@code{fifo-listener-configuration} parameter} string mode -The access mode for the socket. Defaults to @samp{"0600"}. +@deftypevr {paramètre de @code{fifo-listener-configuration}} string mode +Le mode d'accès pour le socket. La valeur par défaut est @samp{"0600"}. @end deftypevr -@deftypevr {@code{fifo-listener-configuration} parameter} string user -The user to own the socket. Defaults to @samp{""}. +@deftypevr {paramètre de @code{fifo-listener-configuration}} string user +L'utilisateur à qui appartient le socket. La valeur par défaut est +@samp{""} @end deftypevr -@deftypevr {@code{fifo-listener-configuration} parameter} string group -The group to own the socket. Defaults to @samp{""}. +@deftypevr {paramètre de @code{fifo-listener-configuration}} string group +Le groupe auquel appartient le socket. La valeur par défaut est @samp{""}. @end deftypevr -Available @code{inet-listener-configuration} fields are: +Les champs de @code{inet-listener-configuration} disponibles sont : -@deftypevr {@code{inet-listener-configuration} parameter} string protocol -The protocol to listen for. +@deftypevr {paramètre de @code{inet-listener-configuration}} string protocol +Le protocole à écouter. @end deftypevr -@deftypevr {@code{inet-listener-configuration} parameter} string address -The address on which to listen, or empty for all addresses. Defaults to -@samp{""}. +@deftypevr {paramètre de @code{inet-listener-configuration}} string address +L'adresse sur laquelle écouter, ou la chaîne vide pour toutes les adresses. +La valeur par défaut est @samp{""}. +@end deftypevr + +@deftypevr {paramètre de @code{inet-listener-configuration}} non-negative-integer port +Le port sur lequel écouter. @end deftypevr -@deftypevr {@code{inet-listener-configuration} parameter} non-negative-integer port -The port on which to listen. +@deftypevr {paramètre de @code{inet-listener-configuration}} boolean ssl? +S'il faut utiliser SSL pour ce service ; @samp{yes}, @samp{no} ou +@samp{required}. La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{inet-listener-configuration} parameter} boolean ssl? -Whether to use SSL for this service; @samp{yes}, @samp{no}, or -@samp{required}. Defaults to @samp{#t}. @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 {@code{service-configuration} parameter} non-negative-integer service-count -Number of connections to handle before starting a new process. Typically -the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0 is -faster. <doc/wiki/LoginProcess.txt>. Defaults to @samp{1}. +@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. <doc/wiki/LoginProcess.txt>. La valeur par défaut +est @samp{1}. + @end deftypevr -@deftypevr {@code{service-configuration} parameter} non-negative-integer process-min-avail -Number of processes to always keep waiting for more connections. Defaults -to @samp{0}. +@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 {@code{service-configuration} parameter} non-negative-integer vsz-limit -If you set @samp{service-count 0}, you probably need to grow this. Defaults -to @samp{256000000}. +@deftypevr {paramètre de @code{service-configuration}} non-negative-integer process-min-avail +Nombre de processus à toujours garder en attente de connexions. La valeur +par défaut est @samp{0}. @end deftypevr +@deftypevr {paramètre de @code{service-configuration}} non-negative-integer vsz-limit +Si vous mettez @samp{service-count 0}, vous avez sans doute besoin +d'augmenter ce paramètre. La valeur par défaut est @samp{256000000}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} dict-configuration dict -Dict configuration, as created by the @code{dict-configuration} constructor. +@end deftypevr -Available @code{dict-configuration} fields are: +@deftypevr {paramètre de @code{dovecot-configuration}} dict-configuration dict +Configuration du dictionnaire, créé par le constructeur +@code{dict-configuration}. -@deftypevr {@code{dict-configuration} parameter} free-form-fields entries -A list of key-value pairs that this dict should hold. Defaults to -@samp{()}. +Les champs de @code{dict-configuration} disponibles sont : + +@deftypevr {paramètre de @code{dict-configuration}} free-form-fields entries +Une liste de paires de clefs-valeurs que ce dictionnaire contient. La +valeur par défaut est @samp{()}. @end deftypevr @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} passdb-configuration-list passdbs -A list of passdb configurations, each one created by the -@code{passdb-configuration} constructor. +@deftypevr {paramètre de @code{dovecot-configuration}} passdb-configuration-list passdbs +Une liste de configurations passdb, chacune créée par le constructeur +@code{passdb-configuration}. -Available @code{passdb-configuration} fields are: +Les champs de @code{passdb-configuration} disponibles sont : -@deftypevr {@code{passdb-configuration} parameter} string driver -The driver that the passdb should use. Valid values include @samp{pam}, -@samp{passwd}, @samp{shadow}, @samp{bsdauth}, and @samp{static}. Defaults -to @samp{"pam"}. +@deftypevr {paramètre de @code{passdb-configuration}} string driver +Le pilote à utiliser par passdb. Les valeur valides comprennent @samp{pam}, +@samp{passwd}, @samp{shadow}, @samp{bsdauth} et @samp{static}. La valeur +par défaut est @samp{"pam"}. @end deftypevr -@deftypevr {@code{passdb-configuration} parameter} space-separated-string-list args -Space separated list of arguments to the passdb driver. Defaults to -@samp{""}. +@deftypevr {paramètre de @code{passdb-configuration}} space-separated-string-list args +Liste d'arguments pour le pilote passdb séparés par des espaces. La valeur +par défaut est @samp{""}. @end deftypevr @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} userdb-configuration-list userdbs -List of userdb configurations, each one created by the -@code{userdb-configuration} constructor. +@deftypevr {paramètre de @code{dovecot-configuration}} userdb-configuration-list userdbs +Liste des configurations userdb, chacune créée par le constructeur +@code{userdb-configuration}. -Available @code{userdb-configuration} fields are: +Les champs de @code{userdb-configuration} disponibles sont : -@deftypevr {@code{userdb-configuration} parameter} string driver -The driver that the userdb should use. Valid values include @samp{passwd} -and @samp{static}. Defaults to @samp{"passwd"}. +@deftypevr {paramètre de @code{userdb-configuration}} string driver +Le pilote que userdb devrait utiliser. Les valeurs valides comprennent +@samp{passwd} et @samp{static}. La valeur par défaut est @samp{"passwd"}. @end deftypevr -@deftypevr {@code{userdb-configuration} parameter} space-separated-string-list args -Space separated list of arguments to the userdb driver. Defaults to -@samp{""}. +@deftypevr {paramètre de @code{userdb-configuration}} space-separated-string-list args +Liste des arguments du pilote userdb séparés par des espaces. La valeur par +défaut est @samp{""}. @end deftypevr -@deftypevr {@code{userdb-configuration} parameter} free-form-args override-fields -Override fields from passwd. Defaults to @samp{()}. +@deftypevr {paramètre de @code{userdb-configuration}} free-form-args override-fields +Remplace des champs de passwd. La valeur par défaut est @samp{()}. @end deftypevr @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} plugin-configuration plugin-configuration -Plug-in configuration, created by the @code{plugin-configuration} -constructor. +@deftypevr {paramètre de @code{dovecot-configuration}} plugin-configuration plugin-configuration +Configuration du greffon, créé par le constructeur +@code{plugin-configuration}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} list-of-namespace-configuration namespaces -List of namespaces. Each item in the list is created by the -@code{namespace-configuration} constructor. +@deftypevr {paramètre de @code{dovecot-configuration}} list-of-namespace-configuration namespaces +Liste d'espaces de noms. Chaque élément de la liste est créé par le +constructeur @code{namespace-configuration}. -Available @code{namespace-configuration} fields are: +Les champs de @code{namespace-configuration} disponibles sont : -@deftypevr {@code{namespace-configuration} parameter} string name -Name for this namespace. +@deftypevr {paramètre de @code{namespace-configuration}} string name +Nom de cet espace de nom. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} string type -Namespace type: @samp{private}, @samp{shared} or @samp{public}. Defaults to -@samp{"private"}. +@deftypevr {paramètre de @code{namespace-configuration}} string type +Type d'espace de nom : @samp{private}, @samp{shared} ou @samp{public}. La +valeur par défaut est @samp{"private"}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} string separator -Hierarchy separator to use. You should use the same separator for all -namespaces or some clients get confused. @samp{/} is usually a good one. -The default however depends on the underlying mail storage format. Defaults -to @samp{""}. +@deftypevr {paramètre de @code{namespace-configuration}} string separator +Séparateur de hiérarchie à utiliser. Vous devriez utiliser le même +séparateur pour tous les espaces de noms ou certains clients seront confus. +@samp{/} est généralement une bonne valeur. La valeur par défaut dépend +cependant du format de stockage sous-jacent. La valeur par défaut est +@samp{""}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} string prefix -Prefix required to access this namespace. This needs to be different for -all namespaces. For example @samp{Public/}. Defaults to @samp{""}. +@deftypevr {paramètre de @code{namespace-configuration}} string prefix +Préfixe requis pour accéder à cet espace de nom. Ce paramètres doit être +différent pour tous les espaces de noms. Par exemple @samp{Public/}. La +valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} string location -Physical location of the mailbox. This is in the same format as -mail_location, which is also the default for it. Defaults to @samp{""}. +@deftypevr {paramètre de @code{namespace-configuration}} string location +Emplacement physique de la boîte aux lettres. C'est le même format que +mail_location, qui est aussi la valeur par défaut. La valeur par défaut est +@samp{""}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} boolean inbox? -There can be only one INBOX, and this setting defines which namespace has -it. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{namespace-configuration}} boolean inbox? +Il ne peut y avoir qu'un INBOX, et ce paramètre définit l'espace de nom qui +le possède. La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} boolean hidden? -If namespace is hidden, it's not advertised to clients via NAMESPACE -extension. You'll most likely also want to set @samp{list? #f}. This is -mostly useful when converting from another server with different namespaces -which you want to deprecate but still keep working. For example you can -create hidden namespaces with prefixes @samp{~/mail/}, @samp{~%u/mail/} and -@samp{mail/}. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{namespace-configuration}} boolean hidden? +Si l'espace de nom est caché, il n'est pas publié auprès des clients par +l'extension NAMESPACE. Vous voudrez aussi sans doute indiquer @samp{list? +#f}. C'est surtout utile lors de la conversion depuis un autre serveur avec +des espaces de noms différents que vous voulez rendre obsolètes sans les +casser. Par exemple vous pouvez cacher les espaces de noms avec les +préfixes @samp{~/mail/}, @samp{~%u/mail/} et @samp{mail/}. La valeur par +défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} boolean list? -Show the mailboxes under this namespace with the LIST command. This makes -the namespace visible for clients that do not support the NAMESPACE -extension. The special @code{children} value lists child mailboxes, but -hides the namespace prefix. Defaults to @samp{#t}. +@deftypevr {paramètre de @code{namespace-configuration}} boolean list? +Montre les boîtes aux lettres sons cet espace de nom avec la commande LIST. +Cela rend l'espace de nom visible pour les clients qui ne supportent pas +l'extension NAMESPACE. La valeur spéciale @code{children} liste les boîtes +aux lettres filles mais cache le préfixe de l'espace de nom. La valeur par +défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} boolean subscriptions? -Namespace handles its own subscriptions. If set to @code{#f}, the parent -namespace handles them. The empty prefix should always have this as -@code{#t}). Defaults to @samp{#t}. +@deftypevr {paramètre de @code{namespace-configuration}} boolean subscriptions? +Les espaces de noms gèrent leur propre souscription. Si la valeur est +@code{#f}, l'espace de nom parent s'en charge. Le préfixe vide devrait +toujours avoir cette valeur à @code{#t}. La valeur par défaut est +@samp{#t}. @end deftypevr -@deftypevr {@code{namespace-configuration} parameter} mailbox-configuration-list mailboxes -List of predefined mailboxes in this namespace. Defaults to @samp{()}. +@deftypevr {paramètre de @code{namespace-configuration}} mailbox-configuration-list mailboxes +Liste des boîtes aux lettres prédéfinies dans cet espace de nom. La valeur +par défaut est @samp{()}. -Available @code{mailbox-configuration} fields are: +Les champs de @code{mailbox-configuration} disponibles sont : -@deftypevr {@code{mailbox-configuration} parameter} string name -Name for this mailbox. +@deftypevr {paramètre de @code{mailbox-configuration}} string name +Nom de cette boîte aux lettres. @end deftypevr -@deftypevr {@code{mailbox-configuration} parameter} string auto -@samp{create} will automatically create this mailbox. @samp{subscribe} will -both create and subscribe to the mailbox. Defaults to @samp{"no"}. +@deftypevr {paramètre de @code{mailbox-configuration}} string auto +@samp{create} créera automatiquement cette boîte aux lettres. +@samp{subscribe} créera et souscrira à la boîte aux lettres. La valeur par +défaut est @samp{"no"}. @end deftypevr -@deftypevr {@code{mailbox-configuration} parameter} space-separated-string-list special-use -List of IMAP @code{SPECIAL-USE} attributes as specified by RFC 6154. Valid -values are @code{\All}, @code{\Archive}, @code{\Drafts}, @code{\Flagged}, -@code{\Junk}, @code{\Sent}, and @code{\Trash}. Defaults to @samp{()}. +@deftypevr {paramètre de @code{mailbox-configuration}} space-separated-string-list special-use +Liste des attributs @code{SPECIAL-USE} IMAP spécifiés par la RFC 6154. Les +valeurs valides sont @code{\All}, @code{\Archive}, @code{\Drafts}, +@code{\Flagged}, @code{\Junk}, @code{\Sent} et @code{\Trash}. La valeur par +défaut est @samp{()}. @end deftypevr @end deftypevr @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} file-name base-dir -Base directory where to store runtime data. Defaults to -@samp{"/var/run/dovecot/"}. +@deftypevr {paramètre de @code{dovecot-configuration}} file-name base-dir +Répertoire de base où stocker les données d'exécution. La valeur par défaut +est @samp{"/var/run/dovecot/"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string login-greeting -Greeting message for clients. Defaults to @samp{"Dovecot ready."}. +@deftypevr {paramètre de @code{dovecot-configuration}} string login-greeting +Message d'accueil pour les clients. La valeur par défaut est @samp{"Dovecot +ready."}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list login-trusted-networks -List of trusted network ranges. Connections from these IPs are allowed to -override their IP addresses and ports (for logging and for authentication -checks). @samp{disable-plaintext-auth} is also ignored for these networks. -Typically you would specify your IMAP proxy servers here. Defaults to -@samp{()}. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list login-trusted-networks +Liste des groupes d'adresses de confiance. Les connexions depuis ces IP +sont autorisées à modifier leurs adresses IP et leurs ports (pour la +connexion et la vérification d'authentification). +@samp{disable-plaintext-auth} est aussi ignoré pour ces réseaux. +Typiquement vous voudrez spécifier votre mandataire IMAP ici. La valeur par +défaut est @samp{()}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list login-access-sockets -List of login access check sockets (e.g. tcpwrap). Defaults to @samp{()}. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list login-access-sockets +List of login access check sockets (e.g.@: tcpwrap). Defaults to @samp{()}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean verbose-proctitle? +@deftypevr {paramètre de @code{dovecot-configuration}} boolean verbose-proctitle? 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). +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 {@code{dovecot-configuration} parameter} boolean shutdown-clients? +@deftypevr {paramètre de @code{dovecot-configuration}} boolean shutdown-clients? 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}. +if the upgrade is e.g.@: due to a security fix). Defaults to @samp{#t}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} non-negative-integer doveadm-worker-count -If non-zero, run mail commands via this many connections to doveadm server, -instead of running them directly in the same process. Defaults to @samp{0}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer doveadm-worker-count +Si la valeur n'est pas zéro, lance les commandes de courriel via ce nombre +de connexions au serveur doveadm au lieu de les lancer dans le même +processus. La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string doveadm-socket-path -UNIX socket or host:port used for connecting to doveadm server. Defaults to -@samp{"doveadm-server"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string doveadm-socket-path +Socket UNIX ou hôte:port utilisé pour se connecter au serveur doveadm. La +valeur par défaut est @samp{"doveadm-server"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list import-environment -List of environment variables that are preserved on Dovecot startup and -passed down to all of its child processes. You can also give key=value -pairs to always set specific settings. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list import-environment +Liste des variables d'environnement qui sont préservées au démarrage de +Dovecot et passées à tous ses processus fils. Vous pouvez aussi donner des +paires clef=valeur pour toujours spécifier ce paramètre. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean disable-plaintext-auth? +@deftypevr {paramètre de @code{dovecot-configuration}} boolean disable-plaintext-auth? 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 +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 {@code{dovecot-configuration} parameter} non-negative-integer auth-cache-size -Authentication cache size (e.g. @samp{#e10e6}). 0 means it's disabled. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer auth-cache-size +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 {@code{dovecot-configuration} parameter} string auth-cache-ttl -Time to live for cached data. After TTL expires the cached record is no -longer used, *except* if the main database lookup returns internal failure. -We also try to handle password changes automatically: If user's previous -authentication was successful, but this one wasn't, the cache isn't used. -For now this works only with plaintext authentication. Defaults to @samp{"1 -hour"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-cache-ttl +Durée de vie des données en cache. Après l'expiration du TTL +l'enregistrement en cache n'est plus utilisé *sauf* si la requête à la base +de données principale revoie une erreur interne. Nous essayons aussi de +gérer les changements de mot de passe automatiquement : si +l'authentification précédente de l'utilisateur était réussie mais pas +celle-ci, le cache n'est pas utilisé. Pour l'instant cela fonctionne avec +l'authentification en texte clair uniquement. La valeur par défaut est +@samp{"1 hour"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-cache-negative-ttl -TTL for negative hits (user not found, password mismatch). 0 disables -caching them completely. Defaults to @samp{"1 hour"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-cache-negative-ttl +TTL pour les résultats négatifs (l'utilisateur n'est pas trouvé ou le mot de +passe ne correspond pas). 0 désactive la mise en cache complètement. La +valeur par défaut est @samp{"1 hour"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list auth-realms -List of realms for SASL authentication mechanisms that need them. You can -leave it empty if you don't want to support multiple realms. Many clients -simply use the first one listed here, so keep the default realm first. -Defaults to @samp{()}. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list auth-realms +Liste des domaines pour les mécanismes d'authentification SASL qui en ont +besoin. Vous pouvez laisser ce paramètre vide si vous ne voulez pas +utiliser plusieurs domaines. Beaucoup de clients utilisent le premier +domaine listé ici, donc gardez celui par défaut en premier. La valeur par +défaut est @samp{()} @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-default-realm -Default realm/domain to use if none was specified. This is used for both -SASL realms and appending @@domain to username in plaintext logins. -Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-default-realm +Domaine par défaut à utiliser si aucun n'est spécifié. C'est utilisé pour +les domaines SASL et pour ajouter @@domaine au nom d'utilisateur dans les +authentification en texte clair. La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-username-chars -List of allowed characters in username. If the user-given username contains -a character not listed in here, the login automatically fails. This is just -an extra check to make sure user can't exploit any potential quote escaping -vulnerabilities with SQL/LDAP databases. If you want to allow all -characters, set this value to empty. Defaults to -@samp{"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@@"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-username-chars +Liste des caractères autorisés dans les noms d'utilisateur. Si le nom +d'utilisateur donné par l'utilisateur contient un caractère qui n'est pas +listé ici, la connexion échoue automatiquement. C'est juste une +vérification supplémentaire pour s'assure que l'utilisateur ne puisse pas +exploiter des vulnérabilités potentielles d'échappement de guillemets avec +les bases de données SQL/LDAP. Si vous voulez autoriser tous les +caractères, indiquez la liste vide. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-username-translation -Username character translations before it's looked up from databases. The -value contains series of from -> to characters. For example @samp{#@@/@@} -means that @samp{#} and @samp{/} characters are translated to @samp{@@}. -Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-username-translation +Traduction de caractères dans les noms d'utilisateur avant qu'ils ne soient +cherchés en base. La valeur contient une série de caractère de -> à. Par +exemple @samp{#@@/@@} signifie que @samp{#} et @samp{/} sont traduits en +@samp{@@}. La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-username-format +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-username-format 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 +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 {@code{dovecot-configuration} parameter} string auth-master-user-separator +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-master-user-separator 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 <username><separator><master username>. UW-IMAP uses @samp{*} as -the separator, so that could be a good choice. Defaults to @samp{""}. +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 <username><separator><master username>. UW-IMAP uses +@samp{*} as the separator, so that could be a good choice. Defaults to +@samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-anonymous-username -Username to use for users logging in with ANONYMOUS SASL mechanism. -Defaults to @samp{"anonymous"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-anonymous-username +Nom d'utilisateur à utiliser pour les utilisateurs qui se connectent avec le +mécanisme SASL ANONYMOUS. La valeur par défaut est @samp{"anonymous"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} non-negative-integer auth-worker-max-count +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer auth-worker-max-count Maximum number of dovecot-auth worker processes. They're used to execute -blocking passdb and userdb queries (e.g. MySQL and PAM). They're +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 {@code{dovecot-configuration} parameter} string auth-gssapi-hostname -Host name to use in GSSAPI principal names. The default is to use the name -returned by gethostname(). Use @samp{$ALL} (with quotes) to allow all -keytab entries. Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-gssapi-hostname +Nom d'hôte à utiliser dans les noms GSSAPI principaux. La valeur par défaut +est d'utiliser le nom renvoyé par gethostname(). Utilisez @samp{$ALL} (avec +des guillemets) pour permettre toutes les entrées keytab. La valeur par +défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-krb5-keytab -Kerberos keytab to use for the GSSAPI mechanism. Will use the system -default (usually @file{/etc/krb5.keytab}) if not specified. You may need to -change the auth service to run as root to be able to read this file. -Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-krb5-keytab +Keytab Kerberos à utiliser pour le mécanisme GSSAPI. Utilisera la valeur +par défaut du système (typiquement @file{/etc/krb5.keytab}) s'il n'est pas +spécifié. Vous pourriez avoir besoin de faire en sorte que le service +d'authentification tourne en root pour pouvoir lire ce fichier. La valeur +par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean auth-use-winbind? -Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and -@samp{ntlm-auth} helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>. -Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-use-winbind? +Effectue l'authentification NTLM et GSS-SPNEGO avec le démon winbind de +Samba et l'utilitaire @samp{ntlm-auth}. +<doc/wiki/Authentication/Mechanisms/Winbind.txt>. La valeur par défaut est +@samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} file-name auth-winbind-helper-path -Path for Samba's @samp{ntlm-auth} helper binary. Defaults to +@deftypevr {paramètre de @code{dovecot-configuration}} file-name auth-winbind-helper-path +Chemin du binaire @samp{ntlm-auth} de samba. La valeur par défaut est @samp{"/usr/bin/ntlm_auth"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string auth-failure-delay -Time to delay before replying to failed authentications. Defaults to -@samp{"2 secs"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string auth-failure-delay +Durée d'attente avant de répondre à des authentifications échouées. La +valeur par défaut est @samp{"2 secs"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean auth-ssl-require-client-cert? -Require a valid SSL client certificate or the authentication fails. -Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-ssl-require-client-cert? +Requiert un certification client SSL valide ou l'authentification échoue. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean auth-ssl-username-from-cert? -Take the username from client's SSL certificate, using -@code{X509_NAME_get_text_by_NID()} which returns the subject's DN's -CommonName. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-ssl-username-from-cert? +Prend le nom d'utilisateur du certificat SSL client, avec +@code{X509_NAME_get_text_by_NID()} qui renvoie le CommonName du DN du +sujet. La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list auth-mechanisms -List of wanted authentication mechanisms. Supported mechanisms are: -@samp{plain}, @samp{login}, @samp{digest-md5}, @samp{cram-md5}, @samp{ntlm}, -@samp{rpa}, @samp{apop}, @samp{anonymous}, @samp{gssapi}, @samp{otp}, -@samp{skey}, and @samp{gss-spnego}. NOTE: See also -@samp{disable-plaintext-auth} setting. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list auth-mechanisms +Liste des mécanismes d'authentification souhaités. Les mécanismes supportés +sont : @samp{plain}, @samp{login}, @samp{digest-md5}, @samp{cram-md5}, +@samp{ntlm}, @samp{rpa}, @samp{apop}, @samp{anonymous}, @samp{gssapi}, +@samp{otp}, @samp{skey} et @samp{gss-spnego}. Remarquez : Voir aussi le +paramètre @samp{disable-plaintext-auth}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list director-servers -List of IPs or hostnames to all director servers, including ourself. Ports -can be specified as ip:port. The default port is the same as what director -service's @samp{inet-listener} is using. Defaults to @samp{()}. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list director-servers +Liste des IP ou des noms d'hôtes des serveurs directeurs, dont soi-même. +Les ports peuvent être spécifiés avec ip:port. Le port par défaut est le +même que le @samp{inet-listener} du service directeur. La valeur par défaut +est @samp{()}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list director-mail-servers -List of IPs or hostnames to all backend mail servers. Ranges are allowed -too, like 10.0.0.10-10.0.0.30. Defaults to @samp{()}. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list director-mail-servers +Liste des IP ou des noms d'hôtes de tous les serveurs de courriel de la +grappe. Les intervalles sont aussi permis, comme 10.0.0.10-10.0.0.30. La +valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string director-user-expire -How long to redirect users to a specific server after it no longer has any -connections. Defaults to @samp{"15 min"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string director-user-expire +Combien de temps avant de rediriger les utilisateurs à un serveur spécifique +après qu'il n'y a plus de connexion. La valeur par défaut est @samp{"15 +min"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string director-username-hash -How the username is translated before being hashed. Useful values include -%Ln if user can log in with or without @@domain, %Ld if mailboxes are shared -within domain. Defaults to @samp{"%Lu"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string director-username-hash +La manière de traduire le nom d'utilisateur avant de le hasher. Les valeurs +utiles comprennent %Ln si l'utilisateur peut se connecter avec ou sans +@@domain, %Ld si les boîtes aux lettres sont partagées dans le domaine. La +valeur par défaut est @samp{"%Lu"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string log-path -Log file to use for error messages. @samp{syslog} logs to syslog, -@samp{/dev/stderr} logs to stderr. Defaults to @samp{"syslog"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string log-path +Fichier de journal à utiliser pour les messages d'erreur. @samp{syslog} +journalise vers syslog, @samp{/dev/stderr} vers la sortie d'erreur. La +valeur par défaut est @samp{"syslog"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string info-log-path -Log file to use for informational messages. Defaults to @samp{log-path}. -Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string info-log-path +Fichier de journal à utiliser pour les messages d'information. La valeur +par défaut est @samp{log-path}. La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string debug-log-path -Log file to use for debug messages. Defaults to @samp{info-log-path}. -Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string debug-log-path +Fichier de journal à utiliser pour les messages de débogage. La valeur par +défaut est @samp{info-log-path}. La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string syslog-facility -Syslog facility to use if you're logging to syslog. Usually if you don't -want to use @samp{mail}, you'll use local0..local7. Also other standard -facilities are supported. Defaults to @samp{"mail"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string syslog-facility +Dispositif syslog à utiliser si vous journalisez avec syslog. Normalement +si vous ne voulez pas utiliser @samp{mail}, vous voudrez utiliser +local0..local7. D'autres dispositifs standard sont supportés. La valeur +par défaut est @samp{"mail"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean auth-verbose? -Log unsuccessful authentication attempts and the reasons why they failed. -Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-verbose? +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 {@code{dovecot-configuration} parameter} boolean auth-verbose-passwords? +@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 {@code{dovecot-configuration} parameter} boolean auth-debug? -Even more verbose logging for debugging purposes. Shows for example SQL -queries. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-debug? +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean auth-debug-passwords? +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 {@code{dovecot-configuration} parameter} boolean mail-debug? -Enable mail process debugging. This can help you figure out why Dovecot -isn't finding your mails. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-debug? +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 {@code{dovecot-configuration} parameter} boolean verbose-ssl? -Show protocol level SSL errors. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean verbose-ssl? +Indique s'il faut montrer les erreurs au niveau SSL. La valeur par défaut +est @samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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 \""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string log-timestamp +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 {@code{dovecot-configuration} parameter} 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. +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list login-log-format-elements +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 {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string login-log-format +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 {@code{dovecot-configuration} parameter} string mail-log-prefix -Log prefix for mail processes. See doc/wiki/Variables.txt for list of -possible variables you can use. Defaults to +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-log-prefix +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 {@code{dovecot-configuration} parameter} string deliver-log-format -Format to use for logging mail deliveries. You can use variables: +@deftypevr {paramètre de @code{dovecot-configuration}} string deliver-log-format +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 -Defaults to @samp{"msgid=%m: %$"}. +La valeur par défaut est @samp{"msgid=%m: %$"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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. +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-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 @item mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/% @end table -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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. <doc/wiki/UserIds.txt>. Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-uid +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. +<doc/wiki/UserIds.txt>. La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string mail-gid +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-gid -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-privileged-group +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 {@code{dovecot-configuration} parameter} string mail-access-groups +@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 -@deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access? +@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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mmap-disable? +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean dotlock-use-excl? +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 {@code{dovecot-configuration} parameter} string mail-fsync -When to use fsync() or fdatasync() calls: +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-fsync +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 -Defaults to @samp{"optimized"}. +La valeur par défaut est @samp{"optimized"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-nfs-storage? +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-nfs-index? +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 {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string lock-method +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 {@code{dovecot-configuration} parameter} file-name mail-temp-dir -Directory in which LDA/LMTP temporarily stores incoming mails >128 kB. -Defaults to @samp{"/tmp"}. +@deftypevr {paramètre de @code{dovecot-configuration}} file-name mail-temp-dir +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer first-valid-uid +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 {@code{dovecot-configuration} parameter} non-negative-integer last-valid-uid +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer last-valid-uid -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer first-valid-gid +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 {@code{dovecot-configuration} parameter} non-negative-integer last-valid-gid +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer last-valid-gid -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mail-max-keyword-length +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 {@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs +@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 @@ -14468,455 +15655,487 @@ lead to root exploit. Usually this should be done only if you don't allow shell access for users. <doc/wiki/Chrooting.txt>. Defaults to @samp{()}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string mail-chroot +@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}. <doc/wiki/Chrooting.txt>. Defaults to @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} file-name auth-socket-path +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 {@code{dovecot-configuration} parameter} file-name mail-plugin-dir -Directory where to look up mail plugins. Defaults to +@deftypevr {paramètre de @code{dovecot-configuration}} file-name mail-plugin-dir +Répertoire où trouver les greffons. La valeur par défaut est @samp{"/usr/lib/dovecot"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins +@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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mail-cache-min-mail-count +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 {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string mailbox-idle-check-interval +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mail-save-crlf? +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean maildir-stat-dirs? +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean maildir-copy-with-hardlinks? +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean maildir-very-dirty-syncs? +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 {@code{dovecot-configuration} parameter} space-separated-string-list mbox-read-locks -Which locking methods to use for locking mbox. There are four available: +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list mbox-read-locks +La méthode de verrouillage à utiliser pour verrouiller le boîtes aux lettres +mbox. Il y en a quatre : @table @code @item dotlock -Create <mailbox>.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 <mailbox>.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 {@code{dovecot-configuration} parameter} space-separated-string-list mbox-write-locks +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list mbox-write-locks @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string mbox-lock-timeout -Maximum time to wait for lock (all of them) before aborting. Defaults to -@samp{"5 mins"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string mbox-lock-timeout +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 {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string mbox-dotlock-change-timeout +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mbox-dirty-syncs? +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mbox-very-dirty-syncs? +Comme @samp{mbox-dirty-syncs}, mais ne synchronise pas complètement même +avec les commandes SELECT, EXAMINE, EXPUNGE ou CHECK. Si l'option n'est pas +actifée, @samp{mbox-dirty-syncs} est ignorée. La valeur par défaut est +@samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mbox-lazy-writes? +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 {@code{dovecot-configuration} parameter} 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}. +@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}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} non-negative-integer mdbox-rotate-size -Maximum dbox file size until it's rotated. Defaults to @samp{10000000}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mdbox-rotate-size +Taille du fichier dbox maximale avant rotation. La valeur par défaut est +@samp{10000000}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string mdbox-rotate-interval +Â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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean mdbox-preallocate-space? +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 {@code{dovecot-configuration} parameter} 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. +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-attachment-dir +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 {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer mail-attachment-min-size +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 {@code{dovecot-configuration} parameter} string mail-attachment-fs -File system backend to use for saving attachments: +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-attachment-fs +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 -Defaults to @samp{"sis posix"}. +La valeur par défaut est @samp{"sis posix"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string mail-attachment-hash +@deftypevr {paramètre de @code{dovecot-configuration}} string mail-attachment-hash 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 {@code{dovecot-configuration} parameter} non-negative-integer default-process-limit +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer default-process-limit -Defaults to @samp{100}. +La valeur par défaut est @samp{100}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} non-negative-integer default-client-limit +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer default-client-limit -Defaults to @samp{1000}. +La valeur par défaut est @samp{1000}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer default-vsz-limit +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 {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string default-login-user +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 {@code{dovecot-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string default-internal-user +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 {@code{dovecot-configuration} parameter} string ssl? -SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>. Defaults to -@samp{"required"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl? +Support SSL/TLS : yes, no, required. <doc/wiki/SSL.txt>. La valeur par +défaut est @samp{"required"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-cert -PEM encoded X.509 SSL/TLS certificate (public key). Defaults to -@samp{"</etc/dovecot/default.pem"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-cert +Certificat SSL/TLS X.509 encodé en PEM (clef publique). La valeur par +défaut est @samp{"</etc/dovecot/default.pem"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-key -PEM encoded SSL/TLS private key. The key is opened before dropping root -privileges, so keep the key file unreadable by anyone but root. Defaults to -@samp{"</etc/dovecot/private/default.pem"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-key +Clef privée SSL/TLS encodée en PEM. La clef est ouverte avant l'abandon des +privilèges root, donc laissez-la non-lisible pour les utilisateurs. La +valeur par défaut est @samp{"</etc/dovecot/private/default.pem"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-key-password -If key file is password protected, give the password here. Alternatively -give it when starting dovecot with -p parameter. Since this file is often -world-readable, you may want to place this setting instead to a different. -Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-key-password +Si le fichier de clef est protégé par un mot de passe, donnez-le ici. +Autrement, donnez-le en démarrant dovecot avec le paramètre -p. Comme ce +fichier est souvent lisible pour tout le monde, vous pourriez vouloir placer +ce paramètre dans un autre fichier. La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-ca +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-ca PEM encoded trusted certificate authority. Set this only if you intend to use @samp{ssl-verify-client-cert? #t}. The file should contain the CA -certificate(s) followed by the matching CRL(s). (e.g. @samp{ssl-ca +certificate(s) followed by the matching CRL(s). (e.g.@: @samp{ssl-ca </etc/ssl/certs/ca.pem}). Defaults to @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean ssl-require-crl? -Require that CRL check succeeds for client certificates. Defaults to -@samp{#t}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean ssl-require-crl? +Indique si les certificats clients doivent réussir la vérification du CRL. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean ssl-verify-client-cert? -Request client to send a certificate. If you also want to require it, set -@samp{auth-ssl-require-client-cert? #t} in auth section. Defaults to -@samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean ssl-verify-client-cert? +Demande aux clients d'envoyer un certificat. Si vous voulez aussi le +requérir, indiquez @samp{auth-ssl-require-client-cert? #t} dans la section +auth. La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-cert-username-field -Which field from certificate to use for username. commonName and -x500UniqueIdentifier are the usual choices. You'll also need to set -@samp{auth-ssl-username-from-cert? #t}. Defaults to @samp{"commonName"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-cert-username-field +Le champ du certificat à utiliser pour le nom d'utilisateur. Les choix +habituels sont commonName et X500UniqueIdentifier. Vous devrez aussi +indiquer @samp{auth-ssl-username-from-cert? #t}. La valeur par défaut est +@samp{"commonName"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-min-protocol -Minimum SSL protocol version to accept. Defaults to @samp{"TLSv1"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-min-protocol +Version minimale de SSL à accepter. La valeur par défaut est +@samp{"TLSv1"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-cipher-list -SSL ciphers to use. Defaults to +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-cipher-list +Méthodes de chiffrement à utiliser. La valeur par défaut est @samp{"ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@@STRENGTH"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string ssl-crypto-device -SSL crypto device to use, for valid values run "openssl engine". Defaults -to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string ssl-crypto-device +Moteur cryptographique SSL à utiliser. Pour les valeur valides, lancez « +openssl engine ». La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string postmaster-address -Address to use when sending rejection mails. %d expands to recipient -domain. Defaults to @samp{"postmaster@@%d"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string postmaster-address +Adresse à utiliser pour envoyer les courriels de rejet. %d correspond au +domaine du destinataire. La valeur par défaut est @samp{"postmaster@@%d"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string hostname -Hostname to use in various parts of sent mails (e.g. in Message-Id) and in -LMTP replies. Default is the system's real hostname@@domain. Defaults to -@samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string hostname +Hostname to use in various parts of sent mails (e.g.@: in Message-Id) and +in LMTP replies. Default is the system's real hostname@@domain. Defaults +to @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} boolean quota-full-tempfail? -If user is over quota, return with temporary failure instead of bouncing the -mail. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean quota-full-tempfail? +Si l'utilisateur dépasse le quota, renvoie un échec temporaire au lieu de +rejeter le courriel. La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} file-name sendmail-path -Binary to use for sending mails. Defaults to @samp{"/usr/sbin/sendmail"}. +@deftypevr {paramètre de @code{dovecot-configuration}} file-name sendmail-path +Binaire à utiliser pour envoyer des courriels. La valeur par défaut est +@samp{"/usr/sbin/sendmail"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string submission-host -If non-empty, send mails via this SMTP host[:port] instead of sendmail. -Defaults to @samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string submission-host +Si la valeur est non vide, envoyer les courriels à ce serveur SMTP +hôte[:port] au lieu de sendmail. La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string rejection-subject -Subject: header to use for rejection mails. You can use the same variables -as for @samp{rejection-reason} below. Defaults to @samp{"Rejected: %s"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string rejection-subject +En-tête d'objet à utiliser pour les courriels de rejet. Vous pouvez +utiliser les mêmes variables que pour @samp{rejection-reason} ci-dessous. +La valeur par défaut est @samp{"Rejected: %s"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string rejection-reason -Human readable error message for rejection mails. You can use variables: +@deftypevr {paramètre de @code{dovecot-configuration}} string rejection-reason +Message d'erreur pour les humains dans les courriels de rejet. Vous pouvez +utiliser ces variables : @table @code @item %n CRLF @item %r -reason +raison @item %s -original subject +objet du courriel de départ @item %t -recipient +destinataire @end table -Defaults to @samp{"Your message to <%t> was automatically rejected:%n%r"}. +La valeur par défaut est @samp{"Your message to <%t> was automatically +rejected:%n%r"}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string recipient-delimiter -Delimiter character between local-part and detail in email address. -Defaults to @samp{"+"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string recipient-delimiter +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 {@code{dovecot-configuration} parameter} 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{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string lda-original-recipient-header +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 {@code{dovecot-configuration} parameter} boolean lda-mailbox-autocreate? -Should saving a mail to a nonexistent mailbox automatically create it?. -Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean lda-mailbox-autocreate? +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 {@code{dovecot-configuration} parameter} boolean lda-mailbox-autosubscribe? -Should automatically created mailboxes be also automatically subscribed?. -Defaults to @samp{#f}. +@deftypevr {paramètre de @code{dovecot-configuration}} boolean lda-mailbox-autosubscribe? +Devrait-on aussi se souscrire aux boîtes aux lettres nouvellement créées ? +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} 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}. +@deftypevr {paramètre de @code{dovecot-configuration}} non-negative-integer imap-max-line-length +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 {@code{dovecot-configuration} parameter} string imap-logout-format -IMAP logout format string: +@deftypevr {paramètre de @code{dovecot-configuration}} string imap-logout-format +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 {@code{dovecot-configuration} parameter} string imap-capability +@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 {@code{dovecot-configuration} parameter} string imap-idle-notify-interval -How long to wait between "OK Still here" notifications when client is -IDLEing. Defaults to @samp{"2 mins"}. +@deftypevr {paramètre de @code{dovecot-configuration}} string imap-idle-notify-interval +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 {@code{dovecot-configuration} parameter} 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{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string imap-id-send +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 {@code{dovecot-configuration} parameter} string imap-id-log -ID fields sent by client to log. * means everything. Defaults to -@samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string imap-id-log +Champs ID envoyés par le client à enregistrer. « * » signifie tout. La +valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list imap-client-workarounds -Workarounds for various client bugs: +@deftypevr {paramètre de @code{dovecot-configuration}} space-separated-string-list imap-client-workarounds +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 -(<v2.1). Outlook Express breaks more badly though, without this it may show -user "Message no longer in server" errors. Note that OE6 still breaks even -with this workaround if synchronization is set to "Headers Only". +Envoie des notifications de nouveau message EXISTS/RECENT seulement en +réponse aux commandes NOOP et CHECK. Certains clients les ignorent +autrement, par exemple OSX Mail (< v2.1). Outlook Express est encore plus +cassé, sans cela il peut montrer des erreurs de type « Le message n'est plus +sur le serveur ». Remarquez que OE6 est toujours cassé même avec ce +contournement si la synchronisation est à « En-têtes seulement ». @item tb-extra-mailbox-sep -Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and adds -extra @samp{/} suffixes to mailbox names. This option causes Dovecot to -ignore the extra @samp{/} instead of treating it as invalid mailbox name. +Thunderbird se mélange les pinceaux avec LAYOUT=fs (mbox et dbox) et ajoute +un suffixe @samp{/} supplémentaire sur les noms des boîtes aux lettres. +Cette option fait que dovecot ignore le @samp{/} supplémentaire au lieu de +le traiter comme un nom de boîte aux lettres invalide. @item tb-lsub-flags -Show \Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox). This +Show \Noselect flags for LSUB replies with LAYOUT=fs (e.g.@: mbox). This makes Thunderbird realize they aren't selectable and show them greyed out, instead of only later giving "not selectable" popup error. @end table -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{dovecot-configuration} parameter} string imap-urlauth-host -Host allowed in URLAUTH URLs sent by client. "*" allows all. Defaults to -@samp{""}. +@deftypevr {paramètre de @code{dovecot-configuration}} string imap-urlauth-host +Hôte autorisé dans les URL URLAUTH envoyés par les clients. « * » les +autorise tous. La valeur par défaut est @samp{""}. @end deftypevr -Whew! Lots of configuration options. The nice thing about it though is that -GuixSD has a complete interface to Dovecot's configuration language. This -allows not only a nice way to declare configurations, but also offers -reflective capabilities as well: users can write code to inspect and -transform configurations from within Scheme. +Ouf ! Tant d'options de configuration. La bonne nouvelle, c'est que GuixSD +a une interface complète avec le langage de configuration de Dovecot. Cela +permet non seulement de déclarer la configuration de manière agréable, mais +aussi d'offrir des capacités de réflexion : les utilisateurs peuvent écrire +du code pour inspecter et transformer les configuration depuis Scheme. -However, it could be that you just want to get a @code{dovecot.conf} up and -running. In that case, you can pass an @code{opaque-dovecot-configuration} -as the @code{#:config} parameter to @code{dovecot-service}. As its name -indicates, an opaque configuration does not have easy reflective -capabilities. +Cependant, vous pourriez avoir un fichier @code{dovecot.conf} déjà tout +prêt. Dans ce cas, vous pouvez passer un objet +@code{opaque-dovecot-configuration} comme paramètre @code{#:config} à +@code{dovecot-service}. Comme son nom l'indique, une configuration opaque +n'a pas les capacités de réflexions. -Available @code{opaque-dovecot-configuration} fields are: +Les champs de @code{opaque-dovecot-configuration} disponibles sont : -@deftypevr {@code{opaque-dovecot-configuration} parameter} package dovecot -The dovecot package. +@deftypevr {paramètre de @code{opaque-dovecot-configuration}} package dovecot +Le paquet dovecot @end deftypevr -@deftypevr {@code{opaque-dovecot-configuration} parameter} string string -The contents of the @code{dovecot.conf}, as a string. +@deftypevr {paramètre de @code{opaque-dovecot-configuration}} string string +Le contenu de @code{dovecot.conf}, en tant que chaîne de caractères. @end deftypevr -For example, if your @code{dovecot.conf} is just the empty string, you could -instantiate a dovecot service like this: +Par exemple, si votre @code{dovecot.conf} est simplement la chaîne vide, +vous pouvez instancier un service dovecot comme cela : @example (dovecot-service #:config @@ -14924,12 +16143,12 @@ instantiate a dovecot service like this: (string ""))) @end example -@subsubheading OpenSMTPD Service +@subsubheading Service OpenSMTPD -@deffn {Scheme Variable} opensmtpd-service-type -This is the type of the @uref{https://www.opensmtpd.org, OpenSMTPD} service, -whose value should be an @code{opensmtpd-configuration} object as in this -example: +@deffn {Variable Scheme} opensmtpd-service-type +C'est le type de service de @uref{https://www.opensmtpd.org, OpenSMTPD}, +dont la valeur devrait être un objet @code{opensmtpd-configuration} comme +dans cet exemple : @example (service opensmtpd-service-type @@ -14938,32 +16157,33 @@ example: @end example @end deffn -@deftp {Data Type} opensmtpd-configuration -Data type representing the configuration of opensmtpd. +@deftp {Type de données} opensmtpd-configuration +Type de données représentant la configuration de opensmtpd. @table @asis -@item @code{package} (default: @var{opensmtpd}) -Package object of the OpenSMTPD SMTP server. +@item @code{package} (par défaut : @var{opensmtpd}) +Objet de paquet du serveur SMTP OpenSMTPD. -@item @code{config-file} (default: @var{%default-opensmtpd-file}) -File-like object of the OpenSMTPD configuration file to use. By default it -listens on the loopback network interface, and allows for mail from users -and daemons on the local machine, as well as permitting email to remote -servers. Run @command{man smtpd.conf} for more information. +@item @code{config-file} (par défaut : @var{%default-opensmtpd-file}) +Objet simili-fichier du fichier de configuration de OpenSMTPD à utiliser. +Par défaut il écoute sur l'interface de boucle locale et accepte les +courriels des utilisateurs et des démons de la machine locale, et autorise +l'envoie de courriels à des serveurs distants. Lancez @command{man +smtpd.conf} pour plus d'information. @end table @end deftp -@subsubheading Exim Service +@subsubheading Service Exim -@cindex mail transfer agent (MTA) -@cindex MTA (mail transfer agent) +@cindex agent de transfert de courriel (MTA) +@cindex MTA (agent de transfert de courriel) @cindex SMTP -@deffn {Scheme Variable} exim-service-type -This is the type of the @uref{https://exim.org, Exim} mail transfer agent -(MTA), whose value should be an @code{exim-configuration} object as in this -example: +@deffn {Variable Scheme} exim-service-type +C'est le type de l'agent de transfert de courriel (MTA) +@uref{https://exim.org, Exim}, dont la valeur devrait être un objet +@code{exim-configuration} comme dans cet exemple : @example (service exim-service-type @@ -14972,34 +16192,35 @@ example: @end example @end deffn -In order to use an @code{exim-service-type} service you must also have a -@code{mail-aliases-service-type} service present in your -@code{operating-system} (even if it has no aliases). +Pour utilise le service @code{exim-service-type} vous devez aussi avoir un +service @code{mail-aliases-service-type} dans votre @code{operating-system} +(même sans alias). -@deftp {Data Type} exim-configuration -Data type representing the configuration of exim. +@deftp {Type de données} exim-configuration +Type de données représentant la configuration d'exim. @table @asis -@item @code{package} (default: @var{exim}) -Package object of the Exim server. +@item @code{package} (par défaut : @var{exim}) +Objet de paquet du serveur Exim. -@item @code{config-file} (default: @code{#f}) -File-like object of the Exim configuration file to use. If its value is -@code{#f} then use the default configuration file from the package provided -in @code{package}. The resulting configuration file is loaded after setting -the @code{exim_user} and @code{exim_group} configuration variables. +@item @code{config-file} (par défaut : @code{#f}) +Objet simili-fichier du fichier de configuration d'Exim à utiliser. Si sa +valeur est @code{#f} alors le service utilisera la configuration par défaut +du paquet fournit dans @code{package}. Le fichier de configuration qui en +résulte est chargé après avoir mis en place les variables de configuration +@code{exim_user} et @code{exim_group}. @end table @end deftp -@subsubheading Mail Aliases Service +@subsubheading Service d'alias de courriel -@cindex email aliases -@cindex aliases, for email addresses +@cindex alias de courriel +@cindex alias, pour les adresses de courriel -@deffn {Scheme Variable} mail-aliases-service-type -This is the type of the service which provides @code{/etc/aliases}, -specifying how to deliver mail to users on this system. +@deffn {Variable Scheme} mail-aliases-service-type +C'est le type de service qui fournit @code{/etc/aliases} et qui spécifie +comment délivrer les courriels aux utilisateurs du système. @example (service mail-aliases-service-type @@ -15008,33 +16229,35 @@ specifying how to deliver mail to users on this system. @end example @end deffn -The configuration for a @code{mail-aliases-service-type} service is an -association list denoting how to deliver mail that comes to this -system. Each entry is of the form @code{(alias addresses ...)}, with -@code{alias} specifying the local alias and @code{addresses} specifying -where to deliver this user's mail. +La configuration pour un service @code{mail-aliases-service-type} est une +liste associative qui dénote comment délivrer les courriels qui arrivent au +système. Chaque entrée est de la forme @code{(alias adresses ...)} avec +@code{alias} qui spécifie l'alias local et @code{adresses} qui spécifie où +délivrer les courriels de cet utilisateur. -The aliases aren't required to exist as users on the local system. In the -above example, there doesn't need to be a @code{postmaster} entry in the -@code{operating-system}'s @code{user-accounts} in order to deliver the -@code{postmaster} mail to @code{bob} (which subsequently would deliver mail -to @code{bob@@example.com} and @code{bob@@example2.com}). +Les alias n'ont pas besoin de correspondre à des utilisateurs locaux du +système. Dans l'exemple au-dessus, il n'y a pas besoin d'une entrée +@code{postmaster} dans la liste @code{user-accounts} du +@code{operating-system} pour délivrer les courriels à destination de +@code{postmaster} à @code{bob} (qui ensuite délivrerait le courriel à +@code{bob@@example.com} et @code{bob@@example2.com}). @node Services de messagerie @subsubsection Services de messagerie -@cindex messaging +@cindex messagerie intantanée @cindex jabber @cindex XMPP -The @code{(gnu services messaging)} module provides Guix service definitions -for messaging services: currently only Prosody is supported. +Le module @code{(gnu services messaging)} fournit des définitions de +services Guix pour les services de messageries instantanées : actuellement +seul Prosody est supporté. -@subsubheading Prosody Service +@subsubheading Service Prosody -@deffn {Scheme Variable} prosody-service-type -This is the type for the @uref{https://prosody.im, Prosody XMPP -communication server}. Its value must be a @code{prosody-configuration} -record as in this example: +@deffn {Variable Scheme} prosody-service-type +C'est le type pour le @uref{https://prosody.im, le serveur de communication +XMPP Prosody}. Sa valeur doit être un enregistrement +@code{prosody-configuration} comme dans cet exemple : @example (service prosody-service-type @@ -15052,37 +16275,38 @@ record as in this example: (domain "example.net")))))) @end example -See below for details about @code{prosody-configuration}. +Voir plus bas pour des détails sur @code{prosody-configuration}. @end deffn -By default, Prosody does not need much configuration. Only one -@code{virtualhosts} field is needed: it specifies the domain you wish -Prosody to serve. +Par défaut, Prosody n'a pas besoin de beaucoup de configuration. Seul un +champ @code{virtualhosts} est requis : il spécifie le domaine que vous +voulez voir Prosody servir. -You can perform various sanity checks on the generated configuration with -the @code{prosodyctl check} command. +Vous pouvez effectuer plusieurs vérifications de la configuration générée +avec la commande @code{prosodyctl check}. -Prosodyctl will also help you to import certificates from the -@code{letsencrypt} directory so that the @code{prosody} user can access -them. See @url{https://prosody.im/doc/letsencrypt}. +Prosodyctl vous aidera aussi à importer des certificats du répertoire +@code{letsencrypt} pour que l'utilisateur @code{prosody} puisse y accéder. +Voir @url{https://prosody.im/doc/letsencrypt}. @example prosodyctl --root cert import /etc/letsencrypt/live @end example -The available configuration parameters follow. Each parameter definition is -preceded by its type; for example, @samp{string-list foo} indicates that the -@code{foo} parameter should be specified as a list of strings. Types -starting with @code{maybe-} denote parameters that won't show up in -@code{prosody.cfg.lua} when their value is @code{'disabled}. +Les paramètres de configuration disponibles sont les suivants. Chaque +définition des paramètres est précédé par son type ; par exemple, +@samp{string-list foo} indique que le paramètre @code{foo} devrait être +spécifié comme une liste de chaînes de caractères. Les types précédés de +@code{maybe-} signifient que le paramètre n'apparaîtra pas dans +@code{prosody.cfg.lua} lorsque sa valeur est @code{'disabled}. -There is also a way to specify the configuration as a string, if you have an -old @code{prosody.cfg.lua} file that you want to port over from some other -system; see the end for more details. +Il y a aussi une manière de spécifier la configuration en tant que chaîne de +caractères si vous avez un vieux fichier @code{prosody.cfg.lua} que vous +voulez porter depuis un autre système ; voir la fin pour plus de détails. -The @code{file-object} type designates either a file-like object -(@pxref{G-Expressions, file-like objects}) or a file name. +Le type @code{file-object} désigne soit un objet simili-fichier +(@pxref{G-Expressions, file-like objects}), soit un nom de fichier. @c The following documentation was initially generated by @c (generate-documentation) in (gnu services messaging). Manually maintained @@ -15092,363 +16316,386 @@ The @code{file-object} type designates either a file-like object @c (generate-documentation) than to make it below and have to deal with @c the churn as Prosody updates. -Available @code{prosody-configuration} fields are: +Les champs de @code{prosody-configuration} disponibles sont : -@deftypevr {@code{prosody-configuration} parameter} package prosody -The Prosody package. +@deftypevr {paramètre de @code{prosody-configuration}} package prosody +Le paquet Prosody. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} file-name data-path -Location of the Prosody data storage directory. See -@url{https://prosody.im/doc/configure}. Defaults to +@deftypevr {paramètre de @code{prosody-configuration}} file-name data-path +Emplacement du répertoire de stockage des données de Prosody. Voir +@url{https://prosody.im/doc/configure}. La valeur par défaut est @samp{"/var/lib/prosody"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} file-object-list plugin-paths -Additional plugin directories. They are searched in all the specified paths -in order. See @url{https://prosody.im/doc/plugins_directory}. Defaults to -@samp{()}. +@deftypevr {paramètre de @code{prosody-configuration}} file-object-list plugin-paths +Répertoires de greffons supplémentaires. Ils sont analysés dans l'ordre +spécifié. Voir @url{https://prosody.im/doc/plugins_directory}. La valeur +par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} file-name certificates -Every virtual host and component needs a certificate so that clients and -servers can securely verify its identity. Prosody will automatically load -certificates/keys from the directory specified here. Defaults to -@samp{"/etc/prosody/certs"}. +@deftypevr {paramètre de @code{prosody-configuration}} file-name certificates +Chaque hôte virtuel et composant a besoin d'un certificat pour que les +clients et les serveurs puissent vérifier son identité. Prosody chargera +automatiquement les clefs et les certificats dans le répertoire spécifié +ici. La valeur par défaut est @samp{"/etc/prosody/certs"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} string-list admins -This is a list of accounts that are admins for the server. Note that you -must create the accounts separately. See -@url{https://prosody.im/doc/admins} and -@url{https://prosody.im/doc/creating_accounts}. Example: @code{(admins -'("user1@@example.com" "user2@@example.net"))} Defaults to @samp{()}. +@deftypevr {paramètre de @code{prosody-configuration}} string-list admins +C'est une liste des comptes administrateurs de ce serveur. Remarquez que +vous devez créer les comptes séparément. Voir +@url{https://prosody.im/doc/admins} et +@url{https://prosody.im/doc/creating_accounts}. Par exemple : @code{(admins +'("user1@@example.com" "user2@@example.net"))}. La valeur par défaut est +@samp{()}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} boolean use-libevent? -Enable use of libevent for better performance under high load. See -@url{https://prosody.im/doc/libevent}. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{prosody-configuration}} boolean use-libevent? +Active l'utilisation de libevent pour de meilleures performances sous une +forte charge. Voir @url{https://prosody.im/doc/libevent}. La valeur par +défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} module-list modules-enabled -This is the list of modules Prosody will load on startup. It looks for -@code{mod_modulename.lua} in the plugins folder, so make sure that exists -too. Documentation on modules can be found at: -@url{https://prosody.im/doc/modules}. Defaults to @samp{("roster" -"saslauth" "tls" "dialback" "disco" "carbons" "private" "blocklist" "vcard" -"version" "uptime" "time" "ping" "pep" "register" "admin_adhoc")}. +@deftypevr {paramètre de @code{prosody-configuration}} module-list modules-enabled +C'est la liste des modules que Prosody chargera au démarrage. Il cherchera +@code{mod_modulename.lua} dans le répertoire des greffons, donc assurez-vous +qu'il existe aussi. La documentation des modules se trouve sur +@url{https://prosody.im/doc/modules}. La valeur par défaut est +@samp{("roster" "saslauth" "tls" "dialback" "disco" "carbons" "private" +"blocklist" "vcard" "version" "uptime" "time" "ping" "pep" "register" +"admin_adhoc")}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} string-list modules-disabled -@samp{"offline"}, @samp{"c2s"} and @samp{"s2s"} are auto-loaded, but should -you want to disable them then add them to this list. Defaults to @samp{()}. +@deftypevr {paramètre de @code{prosody-configuration}} string-list modules-disabled +@samp{"offline"},@samp{"c2s"} et @samp{"s2s"} sont chargés automatiquement, +mais si vous voulez les désactiver, ajoutez-les à cette liste. La valeur +par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} file-object groups-file -Path to a text file where the shared groups are defined. If this path is -empty then @samp{mod_groups} does nothing. See -@url{https://prosody.im/doc/modules/mod_groups}. Defaults to +@deftypevr {paramètre de @code{prosody-configuration}} file-object groups-file +Chemin vers un fichier texte où les groupes partagés sont définis. Si ce +chemin est vide alors @samp{mod_groups} ne fait rien. Voir +@url{https://prosody.im/doc/modules/mod_groups}. La valeur par défaut est @samp{"/var/lib/prosody/sharedgroups.txt"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} boolean allow-registration? -Disable account creation by default, for security. See -@url{https://prosody.im/doc/creating_accounts}. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{prosody-configuration}} boolean allow-registration? +Désactive la création de compte par défaut, pour la sécurité. Voir +@url{https://prosody.im/doc/creating_accounts}. La valeur par défaut est +@samp{#f}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} maybe-ssl-configuration ssl -These are the SSL/TLS-related settings. Most of them are disabled so to use -Prosody's defaults. If you do not completely understand these options, do -not add them to your config, it is easy to lower the security of your server -using them. See @url{https://prosody.im/doc/advanced_ssl_config}. +@deftypevr {paramètre de @code{prosody-configuration}} maybe-ssl-configuration ssl +Ce sont les paramètres liés à SSL/TLS. La plupart sont désactivés pour +pouvoir utiliser les paramètres par défaut de Prosody. Si vous ne comprenez +pas complètement ces options, ne les ajoutez pas à votre configuration, il +est aisé de diminuer la sécurité de votre serveur en les modifiant. Voir +@url{https://prosody.im/doc/advanced_ssl_config}. -Available @code{ssl-configuration} fields are: +Les champs de @code{ssl-configuration} disponibles sont : -@deftypevr {@code{ssl-configuration} parameter} maybe-string protocol -This determines what handshake to use. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-string protocol +Cela détermine la poignée de main à utiliser. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-file-name key -Path to your private key file. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-file-name key +Chemin vers votre fichier de clef privée. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-file-name certificate -Path to your certificate file. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-file-name certificate +Chemin vers votre fichier de certificat. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} file-object capath -Path to directory containing root certificates that you wish Prosody to -trust when verifying the certificates of remote servers. Defaults to -@samp{"/etc/ssl/certs"}. +@deftypevr {paramètre de @code{ssl-configuration}} file-object capath +Chemin vers le répertoire contenant les certificats racines que vous voulez +voir Prosody utiliser lors de la vérification des certificats des serveurs +distants. La valeur par défaut est @samp{"/etc/ssl/certs"}. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-file-object cafile -Path to a file containing root certificates that you wish Prosody to trust. -Similar to @code{capath} but with all certificates concatenated together. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-file-object cafile +Chemin vers un fichier contenant les certificats racines auxquels Prosody +devra faire confiance. Comme @code{capath} mais avec les certificats +concaténés ensemble. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-string-list verify -A list of verification options (these mostly map to OpenSSL's -@code{set_verify()} flags). +@deftypevr {paramètre de @code{ssl-configuration}} maybe-string-list verify +Une liste d'options de vérification (qui correspondent globalement aux +drapeaux @code{set_verify()} d'OpenSSL). @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-string-list options -A list of general options relating to SSL/TLS. These map to OpenSSL's -@code{set_options()}. For a full list of options available in LuaSec, see -the LuaSec source. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-string-list options +Une liste d'options générales liées à SSL/TLS. Elles correspondent +globalement à @code{set_options()} d'OpenSSL. Pour une liste complète des +options disponibles dans LuaSec, voir les sources de LuaSec. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-non-negative-integer depth -How long a chain of certificate authorities to check when looking for a -trusted root certificate. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-non-negative-integer depth +Longueur maximale d'une chaîne d'autorités de certifications avant la +racine. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-string ciphers -An OpenSSL cipher string. This selects what ciphers Prosody will offer to -clients, and in what order. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-string ciphers +Une chaîne de méthodes de chiffrement OpenSSL. Cela choisi les méthodes de +chiffrement que Prosody offrira aux clients, et dans quel ordre de +préférence. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-file-name dhparam -A path to a file containing parameters for Diffie-Hellman key exchange. You -can create such a file with: @code{openssl dhparam -out -/etc/prosody/certs/dh-2048.pem 2048} +@deftypevr {paramètre de @code{ssl-configuration}} maybe-file-name dhparam +Un chemin vers un fichier contenant les paramètres pour l'échange de clef +Diffie-Hellman. Vous pouvez créer un tel fichier avec : @code{openssl +dhparam -out /etc/prosody/certs/dh-2048.pem 2048} @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-string curve -Curve for Elliptic curve Diffie-Hellman. Prosody's default is -@samp{"secp384r1"}. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-string curve +Courbe pour Diffie-Hellman sur courbe elliptique. La valeur par défaut de +Prosody est @samp{"secp384r1"}. @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-string-list verifyext -A list of "extra" verification options. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-string-list verifyext +Une liste d'options de vérification « supplémentaires ». @end deftypevr -@deftypevr {@code{ssl-configuration} parameter} maybe-string password -Password for encrypted private keys. +@deftypevr {paramètre de @code{ssl-configuration}} maybe-string password +Mot de passe pour les clefs privées chiffrées. @end deftypevr @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} boolean c2s-require-encryption? -Whether to force all client-to-server connections to be encrypted or not. -See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{prosody-configuration}} boolean c2s-require-encryption? +S'il faut forcer toutes les connexions client-serveur à être chiffrées ou +non. Voir @url{https://prosody.im/doc/modules/mod_tls}. La valeur par +défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms -Set of mechanisms that will never be offered. See -@url{https://prosody.im/doc/modules/mod_saslauth}. Defaults to +@deftypevr {paramètre de @code{prosody-configuration}} string-list disable-sasl-mechanisms +Ensemble de mécanismes qui ne seront jamais offerts. Voir +@url{https://prosody.im/doc/modules/mod_saslauth}. La valeur par défaut est @samp{("DIGEST-MD5")}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} boolean s2s-require-encryption? -Whether to force all server-to-server connections to be encrypted or not. -See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{prosody-configuration}} boolean s2s-require-encryption? +S'il faut forcer toutes les connexion serveur-serveur à être chiffrées ou +non. Voir @url{https://prosody.im/doc/modules/mod_tls}. La valeur par +défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} boolean s2s-secure-auth? -Whether to require encryption and certificate authentication. This provides -ideal security, but requires servers you communicate with to support -encryption AND present valid, trusted certificates. See -@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{#f}. +@deftypevr {paramètre de @code{prosody-configuration}} boolean s2s-secure-auth? +S'il faut requérir le chiffrement et l'authentification du certificat. Cela +fournit une sécurité idéale, mais demande que les serveurs avec lesquels +vous communiquez supportent le chiffrement ET présentent un certificat +valide et de confiance. Voir @url{https://prosody.im/doc/s2s#security}. La +valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} string-list s2s-insecure-domains -Many servers don't support encryption or have invalid or self-signed -certificates. You can list domains here that will not be required to -authenticate using certificates. They will be authenticated using DNS. See -@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}. +@deftypevr {paramètre de @code{prosody-configuration}} string-list s2s-insecure-domains +Beaucoup de serveurs ne supportent pas le chiffrement ou ont un certificat +invalide ou auto-signé. Vous pouvez lister les domaines ici qui n'ont pas +besoin de s'authentifier avec des certificats. Ils seront authentifiés par +DNS. Voir @url{https://prosody.im/doc/s2s#security}. La valeur par défaut +est @samp{()}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} string-list s2s-secure-domains -Even if you leave @code{s2s-secure-auth?} disabled, you can still require -valid certificates for some domains by specifying a list here. See -@url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}. +@deftypevr {paramètre de @code{prosody-configuration}} string-list s2s-secure-domains +Même si vous laissez @code{s2s-secure-auth?} désactivé, vous pouvez toujours +demander un certificat valide pour certains domaine en spécifiant la liste +ici. Voir @url{https://prosody.im/doc/s2s#security}. La valeur par défaut +est @samp{()}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} string authentication -Select the authentication backend to use. The default provider stores -passwords in plaintext and uses Prosody's configured data storage to store -the authentication data. If you do not trust your server please see -@url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for -information about using the hashed backend. See also -@url{https://prosody.im/doc/authentication} Defaults to +@deftypevr {paramètre de @code{prosody-configuration}} string authentication +Choisi le moteur d'authentification à utiliser. Le moteur par défaut stocke +les mots de passes en texte clair et utilise la configuration de stockage +des données de Prosody pour stocker les données authentifiées. Si vous +n'avez pas confiance dans le serveur, lisez +@url{https://prosody.im/doc/modules/mod_auth_internal_hashed} pour plus +d'information sur l'utilisation du moteur hashed. Voir aussi +@url{https://prosody.im/doc/authentication}. La valeur par défaut est @samp{"internal_plain"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} maybe-string log -Set logging options. Advanced logging configuration is not yet supported by -the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}. -Defaults to @samp{"*syslog"}. +@deftypevr {paramètre de @code{prosody-configuration}} maybe-string log +Indique les options de journalisation. La configuration avancée des +journaux n'est pas encore supportée par le service Prosody dans GuixSD. +Voir @url{https://prosody.im/doc/logging}. La valeur par défaut est +@samp{"*syslog"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} file-name pidfile -File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}. -Defaults to @samp{"/var/run/prosody/prosody.pid"}. +@deftypevr {paramètre de @code{prosody-configuration}} file-name pidfile +Fichier où écrire le PID. Voir +@url{https://prosody.im/doc/modules/mod_posix}. La valeur par défaut est +@samp{"/var/run/prosody/prosody.pid"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} maybe-non-negative-integer http-max-content-size -Maximum allowed size of the HTTP body (in bytes). +@deftypevr {paramètre de @code{prosody-configuration}} maybe-non-negative-integer http-max-content-size +Taille maximum autorisée pour le corps HTTP (en octets). @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} maybe-string http-external-url -Some modules expose their own URL in various ways. This URL is built from -the protocol, host and port used. If Prosody sits behind a proxy, the -public URL will be @code{http-external-url} instead. See +@deftypevr {paramètre de @code{prosody-configuration}} maybe-string http-external-url +Certains modules exposent leur propre URL de diverses manières. Cette URL +est construite à partir du protocole, de l'hôte et du port utilisé. Si +Prosody se trouve derrière un proxy, l'URL publique sera +@code{http-external-url} à la place. Voir @url{https://prosody.im/doc/http#external_url}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} virtualhost-configuration-list virtualhosts -A host in Prosody is a domain on which user accounts can be created. For -example if you want your users to have addresses like -@samp{"john.smith@@example.com"} then you need to add a host -@samp{"example.com"}. All options in this list will apply only to this -host. +@deftypevr {paramètre de @code{prosody-configuration}} virtualhost-configuration-list virtualhosts +Un hôte dans Prosody est un domaine sur lequel les comptes utilisateurs sont +créés. Par exemple si vous voulez que vos utilisateurs aient une adresse +comme @samp{"john.smith@@example.com"} vous devrez ajouter un hôte +@samp{"example.com"}. Toutes les options de cette liste seront appliquées +uniquement à cet hôte. -Note: the name "virtual" host is used in configuration to avoid confusion -with the actual physical host that Prosody is installed on. A single -Prosody instance can serve many domains, each one defined as a VirtualHost -entry in Prosody's configuration. Conversely a server that hosts a single -domain would have just one VirtualHost entry. +Remarque : le nom d'hôte « virtuel » est utilisé dans la configuration pour +éviter de le confondre avec le nom d'hôte physique réel de la machine qui +héberge Prosody. Une seule instance de Prosody peut servir plusieurs +domaines, chacun défini comme une entrée VirtualHost dans la configuration +de Prosody. Ainsi, un serveur qui n'héberge qu'un seul domaine n'aura +qu'une entrée VirtualHost. -See @url{https://prosody.im/doc/configure#virtual_host_settings}. +Voir @url{https://prosody.im/doc/configure#virtual_host_settings}. -Available @code{virtualhost-configuration} fields are: +Les champs de @code{virtualhost-configuration} disponibles sont : -all these @code{prosody-configuration} fields: @code{admins}, +tous ces champs de @code{prosody-configuration} : @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, -@code{http-external-url}, @code{raw-content}, plus: -@deftypevr {@code{virtualhost-configuration} parameter} string domain -Domain you wish Prosody to serve. +@code{http-external-url}, @code{raw-content}, plus : +@deftypevr {paramètre de @code{virtualhost-configuration}} string domain +Domaine que vous souhaitez que Prosody serve. @end deftypevr @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} int-component-configuration-list int-components -Components are extra services on a server which are available to clients, -usually on a subdomain of the main server (such as -@samp{"mycomponent.example.com"}). Example components might be chatroom -servers, user directories, or gateways to other protocols. +@deftypevr {paramètre de @code{prosody-configuration}} int-component-configuration-list int-components +Les composant sont des services supplémentaires qui sont disponibles pour +les clients, habituellement sur un sous-domaine du serveur principal (comme +@samp{"mycomponent.example.com"}). Des exemples de composants sont des +serveurs de chatroom, des répertoires utilisateurs ou des passerelles vers +d'autres protocoles. -Internal components are implemented with Prosody-specific plugins. To add -an internal component, you simply fill the hostname field, and the plugin -you wish to use for the component. +Les composants internes sont implémentés dans des greffons spécifiques à +Prosody. Pour ajouter un composant interne, vous n'avez qu'à remplir le +champ de nom d'hôte et le greffon que vous voulez utiliser pour le +composant. -See @url{https://prosody.im/doc/components}. Defaults to @samp{()}. +Voir @url{https://prosody.im/doc/components}. La valeur par défaut est +@samp{()}. -Available @code{int-component-configuration} fields are: +Les champs de @code{int-component-configuration} disponibles sont : -all these @code{prosody-configuration} fields: @code{admins}, +tous ces champs de @code{prosody-configuration} : @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, -@code{http-external-url}, @code{raw-content}, plus: -@deftypevr {@code{int-component-configuration} parameter} string hostname -Hostname of the component. +@code{http-external-url}, @code{raw-content}, plus : +@deftypevr {paramètre de @code{int-component-configuration}} string hostname +Nom d'hôte du composant. @end deftypevr -@deftypevr {@code{int-component-configuration} parameter} string plugin -Plugin you wish to use for the component. +@deftypevr {paramètre de @code{int-component-configuration}} string plugin +Greffon que vous voulez utiliser pour ce composant. @end deftypevr -@deftypevr {@code{int-component-configuration} parameter} maybe-mod-muc-configuration mod-muc -Multi-user chat (MUC) is Prosody's module for allowing you to create hosted -chatrooms/conferences for XMPP users. +@deftypevr {paramètre de @code{int-component-configuration}} maybe-mod-muc-configuration mod-muc +Le chat multi-utilisateur (MUC) est le modules de Prosody qui vous permet de +créer des chatrooms/conférences pour les utilisateurs XMPP. -General information on setting up and using multi-user chatrooms can be -found in the "Chatrooms" documentation -(@url{https://prosody.im/doc/chatrooms}), which you should read if you are -new to XMPP chatrooms. +Des informations générales sur la configuration des chatrooms +multi-utilisateurs se trouvent dans la documentation sur les chatrooms +(@url{https://prosody.im/doc/chatrooms}), que vous devriez lire si vous les +découvrez. -See also @url{https://prosody.im/doc/modules/mod_muc}. +Voir aussi @url{https://prosody.im/doc/modules/mod_muc}. -Available @code{mod-muc-configuration} fields are: +Les champs de @code{mod-muc-configuration} disponibles sont : -@deftypevr {@code{mod-muc-configuration} parameter} string name -The name to return in service discovery responses. Defaults to -@samp{"Prosody Chatrooms"}. +@deftypevr {paramètre de @code{mod-muc-configuration}} string name +Le nom à renvoyer dans les réponses de découverte de services. La valeur +par défaut est @samp{"Prosody Chatrooms"}. @end deftypevr -@deftypevr {@code{mod-muc-configuration} parameter} string-or-boolean restrict-room-creation +@deftypevr {paramètre de @code{mod-muc-configuration}} string-or-boolean restrict-room-creation If @samp{#t}, this will only allow admins to create new chatrooms. Otherwise anyone can create a room. The value @samp{"local"} restricts room -creation to users on the service's parent domain. -E.g. @samp{user@@example.com} can create rooms on @samp{rooms.example.com}. -The value @samp{"admin"} restricts to service administrators only. Defaults -to @samp{#f}. +creation to users on the service's parent domain. E.g.@: +@samp{user@@example.com} can create rooms on @samp{rooms.example.com}. The +value @samp{"admin"} restricts to service administrators only. Defaults to +@samp{#f}. @end deftypevr -@deftypevr {@code{mod-muc-configuration} parameter} non-negative-integer max-history-messages -Maximum number of history messages that will be sent to the member that has -just joined the room. Defaults to @samp{20}. +@deftypevr {paramètre de @code{mod-muc-configuration}} non-negative-integer max-history-messages +Nombre maximum de messages d'historique qui seront envoyés aux membres qui +viennent de rejoindre le salon. La valeur par défaut est @samp{20}. @end deftypevr @end deftypevr @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} ext-component-configuration-list ext-components -External components use XEP-0114, which most standalone components support. -To add an external component, you simply fill the hostname field. See -@url{https://prosody.im/doc/components}. Defaults to @samp{()}. +@deftypevr {paramètre de @code{prosody-configuration}} ext-component-configuration-list ext-components +Les composants externes utilisent XEP-0114, que la plupart des composants +supportent. Pour ajouter un composant externe, vous remplissez simplement +le champ de nom d'hôte. Voir @url{https://prosody.im/doc/components}. La +valeur par défaut est @samp{()}. -Available @code{ext-component-configuration} fields are: +Les champs de @code{ext-component-configuration} disponibles sont : -all these @code{prosody-configuration} fields: @code{admins}, +tous ces champs de @code{prosody-configuration} : @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, -@code{http-external-url}, @code{raw-content}, plus: -@deftypevr {@code{ext-component-configuration} parameter} string component-secret -Password which the component will use to log in. +@code{http-external-url}, @code{raw-content}, plus : +@deftypevr {paramètre de @code{ext-component-configuration}} string component-secret +Mot de passe que le composant utilisera pour s'authentifier. @end deftypevr -@deftypevr {@code{ext-component-configuration} parameter} string hostname -Hostname of the component. +@deftypevr {paramètre de @code{ext-component-configuration}} string hostname +Nom d'hôte du composant. @end deftypevr @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} non-negative-integer-list component-ports -Port(s) Prosody listens on for component connections. Defaults to -@samp{(5347)}. +@deftypevr {paramètre de @code{prosody-configuration}} non-negative-integer-list component-ports +Ports sur lesquels Prosody écoutera les connexions des composants. La +valeur par défaut est @samp{(5347)}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} string component-interface -Interface Prosody listens on for component connections. Defaults to -@samp{"127.0.0.1"}. +@deftypevr {paramètre de @code{prosody-configuration}} string component-interface +Interface sur laquelle Prosody écoutera les connexions des composants. La +valeur par défaut est @samp{"127.0.0.1"}. @end deftypevr -@deftypevr {@code{prosody-configuration} parameter} maybe-raw-content raw-content -Raw content that will be added to the configuration file. +@deftypevr {paramètre de @code{prosody-configuration}} maybe-raw-content raw-content +Contenu brut qui sera ajouté au fichier de configuration. @end deftypevr -It could be that you just want to get a @code{prosody.cfg.lua} up and -running. In that case, you can pass an @code{opaque-prosody-configuration} -record as the value of @code{prosody-service-type}. As its name indicates, -an opaque configuration does not have easy reflective capabilities. -Available @code{opaque-prosody-configuration} fields are: +Il se peut que vous ayez juste envie de lancer un fichier +@code{prosody.cfg.lua} directement. Dans ce cas, vous pouvez passer un +enregistrement @code{opaque-prosody-configuration} comme valeur à +@code{prosody-service-type}. Comme son nom l'indique, une configuration +opaque n'a pas de capacités de réflexion simples. Les champs disponibles de +@code{opaque-prosody-configuration} sont : -@deftypevr {@code{opaque-prosody-configuration} parameter} package prosody -The prosody package. +@deftypevr {paramètre de @code{opaque-prosody-configuration}} package prosody +Le paquet prosody. @end deftypevr -@deftypevr {@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua -The contents of the @code{prosody.cfg.lua} to use. +@deftypevr {paramètre de @code{opaque-prosody-configuration}} string prosody.cfg.lua +Le contenu de @code{prosody.cfg.lua} à utiliser. @end deftypevr -For example, if your @code{prosody.cfg.lua} is just the empty string, you -could instantiate a prosody service like this: +Par exemple, si votre @code{prosody.cfg.lua} est juste la chaîne vide, vous +pouvez instancier un service prosody comme ceci : @example (service prosody-service-type @@ -15458,46 +16705,50 @@ could instantiate a prosody service like this: @c end of Prosody auto-generated documentation -@subsubheading BitlBee Service +@subsubheading Service BitlBee @cindex IRC (Internet Relay Chat) -@cindex IRC gateway -@url{http://bitlbee.org,BitlBee} is a gateway that provides an IRC interface -to a variety of messaging protocols such as XMPP. +@cindex passerelle IRC +@url{http://bitlbee.org,BitlBee} est une passerelle qui fournit une +interface IRC vers une variété de protocoles de messagerie instantanée comme +XMPP. -@defvr {Scheme Variable} bitlbee-service-type -This is the service type for the @url{http://bitlbee.org,BitlBee} IRC -gateway daemon. Its value is a @code{bitlbee-configuration} (see below). +@defvr {Variable Scheme} bitlbee-service-type +C'est le type de service pour le démon de passerelle IRC +@url{http://bitlbee.org,BitlBee}. Sa valeur est un +@code{bitlbee-configuration} (voir plus bas). -To have BitlBee listen on port 6667 on localhost, add this line to your -services: +Pour que BitlBee écoute sur le pourt 6667 sur localhost, ajoutez cette ligne +à vos services : @example (service bitlbee-service-type) @end example @end defvr -@deftp {Data Type} bitlbee-configuration -This is the configuration for BitlBee, with the following fields: +@deftp {Type de données} bitlbee-configuration +C'est la configuration de BitlBee, avec les champs suivants : @table @asis -@item @code{interface} (default: @code{"127.0.0.1"}) -@itemx @code{port} (default: @code{6667}) -Listen on the network interface corresponding to the IP address specified in -@var{interface}, on @var{port}. +@item @code{interface} (par défaut : @code{"127.0.0.1"}) +@itemx @code{port} (par défaut : @code{6667}) +Écoute sur l'interface réseau correspondant à l'adresse IP dans +@var{interface}, sur @var{port}. -When @var{interface} is @code{127.0.0.1}, only local clients can connect; -when it is @code{0.0.0.0}, connections can come from any networking -interface. +Lorsque @var{interface} vaut @code{127.0.0.1}, seuls les clients locaux +peuvent se connecter ; lorsqu'elle vaut @code{0.0.0.0}, les connexions +peuvent venir de n'importe quelle interface réseau. -@item @code{package} (default: @code{bitlbee}) -The BitlBee package to use. +@item @code{package} (par défaut : @code{bitlbee}) +Le paquet BitlBee à utiliser. @item @code{plugins} (par défaut : @code{'()}) -List of plugin packages to use---e.g., @code{bitlbee-discord}. +Liste des paquets de greffons à utiliser — p.@: ex.@: +@code{bitlbee-discord}. -@item @code{extra-settings} (default: @code{""}) -Configuration snippet added as-is to the BitlBee configuration file. +@item @code{extra-settings} (par défaut : @code{""}) +Partie de configuration ajoutée telle-quelle au fichier de configuration de +BitlBee. @end table @end deftp @@ -15505,14 +16756,15 @@ Configuration snippet added as-is to the BitlBee configuration file. @node Services de téléphonie @subsubsection Services de téléphonie -@cindex Murmur (VoIP server) -@cindex VoIP server -This section describes how to set up and run a Murmur server. Murmur is the -server of the @uref{https://mumble.info, Mumble} voice-over-IP (VoIP) suite. +@cindex Murmur (serveur VoIP) +@cindex serveur VoIP +Cette section décrit comment configurer et lancer un serveur Murmur. Murmur +est le serveur de la suite de voix-sur-IP (VoIP) @uref{https://mumble.info, +Mumble}. -@deftp {Data Type} murmur-configuration -The service type for the Murmur server. An example configuration can look -like this: +@deftp {Type de données} murmur-configuration +Le type de service pour le serveur Murmur. Voici un exemple de +configuration : @example (service murmur-service-type @@ -15524,188 +16776,202 @@ like this: (ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem"))) @end example -After reconfiguring your system, you can manually set the murmur -@code{SuperUser} password with the command that is printed during the -activation phase. +Après avoir reconfiguré votre système, vous pouvez manuellement indiquer le +mot de passe @code{SuperUser} de murmur avac la commande qui s'affiche +pendant la phase d'activation. -It is recommended to register a normal Mumble user account and grant it -admin or moderator rights. You can use the @code{mumble} client to login as -new normal user, register yourself, and log out. For the next step login -with the name @code{SuperUser} use the @code{SuperUser} password that you -set previously, and grant your newly registered mumble user administrator or -moderator rights and create some channels. +Il est recommandé d'enregistrer un compte utilisateur Mumble normal et de +lui donner les droits admin ou modérateur. Vous pouvez utiliser le client +@code{mumble} pour vous connecter en tant que nouvel utilisateur normal, +vous enregistrer et vous déconnecter. Pour l'étape suivante, connectez-vous +avec le nom @code{SuperUser} en utilisant le mot de passe @code{SuperUser} +que vous avez indiqué précédemment et accordez les droits administrateur ou +modérateur à vous utilisateur mumble nouvellement enregistré et créez +quelques salons. -Available @code{murmur-configuration} fields are: +Les champs de @code{murmur-configuration} disponibles sont : @table @asis -@item @code{package} (default: @code{mumble}) -Package that contains @code{bin/murmurd}. +@item @code{package} (par défaut : @code{mumble}) +Paquet qui contient @code{bin/murmurd}. -@item @code{user} (default: @code{"murmur"}) -User who will run the Murmur server. +@item @code{user} (par défaut : @code{"murmur"}) +Utilisateur qui lancera le serveur Murmur. -@item @code{group} (default: @code{"murmur"}) -Group of the user who will run the murmur server. +@item @code{group} (par défaut : @code{"murmur"}) +Groupe de l'utilisateur qui lancera le serveur Murmur. -@item @code{port} (default: @code{64738}) -Port on which the server will listen. +@item @code{port} (par défaut : @code{64738}) +Port sur lequel le serveur écoutera. -@item @code{welcome-text} (default: @code{""}) -Welcome text sent to clients when they connect. +@item @code{welcome-text} (par défaut : @code{""}) +Texte de bienvenue envoyé aux clients lors de leur connexion. -@item @code{server-password} (default: @code{""}) -Password the clients have to enter in order to connect. +@item @code{server-password} (par défaut : @code{""}) +Mot de passe que les clients devront entrer pour se connecter. -@item @code{max-users} (default: @code{100}) -Maximum of users that can be connected to the server at once. +@item @code{max-users} (par défaut : @code{100}) +Nombre maximum d'utilisateurs qui peuvent se connecter à ce serveur en même +temps. -@item @code{max-user-bandwidth} (default: @code{#f}) -Maximum voice traffic a user can send per second. +@item @code{max-user-bandwidth} (par défaut : @code{#f}) +Trafic de voix maximum qu'un utilisateur peut envoyer par seconde. -@item @code{database-file} (default: @code{"/var/lib/murmur/db.sqlite"}) -File name of the sqlite database. The service's user will become the owner -of the directory. +@item @code{database-file} (par défaut : @code{"/var/lib/murmur/db.sqlite"}) +Nom de fichier de la base de données sqlite. L'utilisateur du service +deviendra propriétaire du répertoire. -@item @code{log-file} (default: @code{"/var/log/murmur/murmur.log"}) -File name of the log file. The service's user will become the owner of the -directory. +@item @code{log-file} (par défaut : @code{"/var/log/murmur/murmur.log"}) +Nom du fichier de journal. L'utilisateur du service deviendra propriétaire +du répertoire. -@item @code{autoban-attempts} (default: @code{10}) -Maximum number of logins a user can make in @code{autoban-timeframe} without -getting auto banned for @code{autoban-time}. +@item @code{autoban-attempts} (par défaut : @code{10}) +Nombre maximum de connexions qu'un utilisateur peut faire pendant +@code{autoban-timeframe} sans être banni automatiquement pour +@code{autoban-time}. -@item @code{autoban-timeframe} (default: @code{120}) -Timeframe for autoban in seconds. +@item @code{autoban-timeframe} (par défaut : @code{120}) +Durée du temps pendant lequel le nombre de connexions est compté. -@item @code{autoban-time} (default: @code{300}) -Amount of time in seconds for which a client gets banned when violating the -autoban limits. +@item @code{autoban-time} (par défaut : @code{300}) +Durée du bannissement automatique en secondes. -@item @code{opus-threshold} (default: @code{100}) -Percentage of clients that need to support opus before switching over to -opus audio codec. +@item @code{opus-threshold} (par défaut : @code{100}) +Pourcentage des clients qui doivent supporter opus avant de passer sur le +codec audio opus. -@item @code{channel-nesting-limit} (default: @code{10}) -How deep channels can be nested at maximum. +@item @code{channel-nesting-limit} (par défaut : @code{10}) +Profondeur maximum des canaux. -@item @code{channelname-regex} (default: @code{#f}) -A string in from of a Qt regular expression that channel names must conform -to. +@item @code{channelname-regex} (par défaut : @code{#f}) +Une chaîne de la forme d'une expression régulière Qt que les noms de canaux +doivent respecter. -@item @code{username-regex} (default: @code{#f}) -A string in from of a Qt regular expression that user names must conform to. +@item @code{username-regex} (par défaut : @code{#f}) +Une chaîne de la forme d'une expression régulière Qt que les noms +d'utilisateurs doivent respecter. -@item @code{text-message-length} (default: @code{5000}) -Maximum size in bytes that a user can send in one text chat message. +@item @code{text-message-length} (par défaut : @code{5000}) +Taille maximum en octets qu'un utilisateur peut envoyer en un seul message +textuel. -@item @code{image-message-length} (default: @code{(* 128 1024)}) -Maximum size in bytes that a user can send in one image message. +@item @code{image-message-length} (par défaut : @code{(* 128 1024)}) +Taille maximum en octets qu'un utilisateur peut envoyer en une seule image. -@item @code{cert-required?} (default: @code{#f}) -If it is set to @code{#t} clients that use weak password authentification -will not be accepted. Users must have completed the certificate wizard to -join. +@item @code{cert-required?} (par défaut : @code{#f}) +Si la valeur est @code{#t} les clients utilisant une authentification par +mot de passe faible ne seront pas acceptés. Les utilisateurs doivent +compléter l'assistant de configuration des certificats pour rejoindre le +serveur. -@item @code{remember-channel?} (defualt @code{#f}) -Should murmur remember the last channel each user was in when they -disconnected and put them into the remembered channel when they rejoin. +@item @code{remember-channel?} (paramètre de : @code{#f}) +Indique si murmur devrait se rappeler du dernier canal dans lequel étaient +les utilisateurs au moment de leur déconnexion et les y remettre lorsqu'ils +se reconnectent. -@item @code{allow-html?} (default: @code{#f}) -Should html be allowed in text messages, user comments, and channel -descriptions. +@item @code{allow-html?} (par défaut : @code{#f}) +Indique si le html est autorisé dans les messages textuels, les commentaires +utilisateurs et les descriptions des canaux. -@item @code{allow-ping?} (default: @code{#f}) -Setting to true exposes the current user count, the maximum user count, and -the server's maximum bandwidth per client to unauthenticated users. In the -Mumble client, this information is shown in the Connect dialog. +@item @code{allow-ping?} (par défaut : @code{#f}) +Mettre à vrai expose le nombre d'utilisateurs, le nombre d'utilisateurs +maximum et la bande passante maximale du serveur par client aux utilisateurs +non connectés. Dans le client Mumble, cette information est affichée dans +la boîte de dialogue de connexion. -Disabling this setting will prevent public listing of the server. +Désactiver ce paramètre empêchera le serveur d'être publiquement listé. -@item @code{bonjour?} (default: @code{#f}) -Should the server advertise itself in the local network through the bonjour -protocol. +@item @code{bonjour?} (par défaut : @code{#f}) +Indique si le serveur se présente sur le réseau local à travers le protocole +bonjour. -@item @code{send-version?} (default: @code{#f}) -Should the murmur server version be exposed in ping requests. +@item @code{send-version?} (par défaut : @code{#f}) +Indique si la version du serveur murmur doit être exposée dans les requêtes +ping. -@item @code{log-days} (default: @code{31}) -Murmur also stores logs in the database, which are accessible via RPC. The -default is 31 days of months, but you can set this setting to 0 to keep logs -forever, or -1 to disable logging to the database. +@item @code{log-days} (par défaut : @code{31}) +Murmur stocke aussi les journaux en base de données, qui sont accessible via +RPC. La valeur par défaut est 31 jours, mais vous pouvez le mettre à 0 pour +les garder pour toujours ou à -1 pour désactiver la journalisation dans la +base de données. -@item @code{obfuscate-ips?} (default @code{#t}) -Should logged ips be obfuscated to protect the privacy of users. +@item @code{obfuscate-ips?} (par défaut : @code{#t}) +Indique si les IP enregistrées doivent être cachées pour protéger la vie +privée des utilisateurs. -@item @code{ssl-cert} (default: @code{#f}) -File name of the SSL/TLS certificate used for encrypted connections. +@item @code{ssl-cert} (par défaut : @code{#f}) +Nom de fichier du certificat SSL/TLS utilisé pour les connexions chiffrées. @example (ssl-cert "/etc/letsencrypt/live/example.com/fullchain.pem") @end example -@item @code{ssl-key} (default: @code{#f}) -Filepath to the ssl private key used for encrypted connections. +@item @code{ssl-key} (par défaut : @code{#f}) +Chemin de fichier vers la clef privée ssl pour les connexions chiffrées. @example (ssl-key "/etc/letsencrypt/live/example.com/privkey.pem") @end example -@item @code{ssl-dh-params} (default: @code{#f}) -File name of a PEM-encoded file with Diffie-Hellman parameters for the -SSL/TLS encryption. Alternatively you set it to @code{"@@ffdhe2048"}, -@code{"@@ffdhe3072"}, @code{"@@ffdhe4096"}, @code{"@@ffdhe6144"} or -@code{"@@ffdhe8192"} to use bundled parameters from RFC 7919. +@item @code{ssl-dh-params} (par défaut : @code{#f}) +Nom de fichier d'un fichier encodé en PEM avec les paramètres Diffie-Hellman +pour le chiffrement SSL/TLS. Autrement vous pouvez indiquer +@code{"@@ffdhe2048"}, @code{"@@ffdhe3072"}, @code{"@@ffdhe4096"}, +@code{"@@ffdhe6144"} ou @code{"@@ffdhe8192"} pour utiliser les paramètres +inclus de la RFC 7919. -@item @code{ssl-ciphers} (default: @code{#f}) -The @code{ssl-ciphers} option chooses the cipher suites to make available -for use in SSL/TLS. +@item @code{ssl-ciphers} (par défaut : @code{#f}) +L'option @code{ssl-ciphers} permet de choisir les suites de chiffrement +disponibles pour SSL/TLS. -This option is specified using -@uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, -OpenSSL cipher list notation}. +Cette option est spécifiée en utilisant +l'@uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, +OpenSSL cipher list notation} -It is recommended that you try your cipher string using 'openssl ciphers -<string>' 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 <chaîne> » 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} (default: @code{#f}) -Must be a @code{<murmur-public-registration-configuration>} record or -@code{#f}. +@item @code{public-registration} (par défaut : @code{#f}) +Doit être un enregistrement +@code{<murmur-public-registration-configuration>} 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} (default: @code{#f}) -Optional alternative override for this configuration. +@item @code{file} (par défaut : @code{#f}) +Version alternative de cette configuration : si vous indiquez quelque chose, +le reste est ignoré. @end table @end deftp -@deftp {Data Type} murmur-public-registration-configuration -Configuration for public registration of a murmur service. +@deftp {Type de données} murmur-public-registration-configuration +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} (default: @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. +@item @code{hostname} (par défaut : @code{#f}) +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 @@ -15714,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 @@ -15738,18 +17005,18 @@ The following example customises more of the Tailon configuration, adding @end example -@deftp {Data Type} tailon-configuration -Data type representing the configuration of Tailon. This type has the -following parameters: +@deftp {Type de données} tailon-configuration +Type de données représentant la configuration de Tailon. Ce type a les +paramètres suivants : @table @asis -@item @code{config-file} (default: @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 +@item @code{config-file} (par défaut : @code{(tailon-configuration-file)}) +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 @@ -15757,57 +17024,60 @@ be used: (config-file (local-file "./my-tailon.conf")))) @end example -@item @code{package} (default: @code{tailon}) -The tailon package to use. +@item @code{package} (par défaut : @code{tailon}) +Le paquet tailon à utiliser. @end table @end deftp -@deftp {Data Type} tailon-configuration-file -Data type representing the configuration options for Tailon. This type has -the following parameters: +@deftp {Type de données} tailon-configuration-file +Type de données représentant les options de configuration de Tailon. Ce +type a les paramètres suivants : @table @asis -@item @code{files} (default: @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. +@item @code{files} (par défaut : @code{(list "/var/log")}) +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} (default: @code{"localhost:8080"}) -Address and port to which Tailon should bind on. +@item @code{bind} (par défaut : @code{"localhost:8080"}) +Adresse et port sur lesquels Tailon écoute. -@item @code{relative-root} (default: @code{#f}) -URL path to use for Tailon, set to @code{#f} to not use a path. +@item @code{relative-root} (par défaut : @code{#f}) +Chemin de l'URL à utiliser pour Tailon, ou @code{#f} pour ne pas utiliser de +chemin. -@item @code{allow-transfers?} (default: @code{#t}) -Allow downloading the log files in the web interface. +@item @code{allow-transfers?} (par défaut : @code{#t}) +Permet de télécharger les journaux dans l'interface web. -@item @code{follow-names?} (default: @code{#t}) -Allow tailing of not-yet existent files. +@item @code{follow-names?} (par défaut : @code{#t}) +Permet de surveiller des fichiers qui n'existent pas encore. -@item @code{tail-lines} (default: @code{200}) -Number of lines to read initially from each file. +@item @code{tail-lines} (par défaut : @code{200}) +Nombre de lignes à lire initialement dans chaque fichier. -@item @code{allowed-commands} (default: @code{(list "tail" "grep" "awk")}) -Commands to allow running. By default, @code{sed} is disabled. +@item @code{allowed-commands} (par défaut : @code{(list "tail" "grep" "awk")}) +Commandes autorisées. Par défaut, @code{sed} est désactivé. -@item @code{debug?} (default: @code{#f}) -Set @code{debug?} to @code{#t} to show debug messages. +@item @code{debug?} (par défaut : @code{#f}) +Configurez @code{debug?} à @code{#t} pour montrer les messages de débogage. -@item @code{wrap-lines} (default: @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. +@item @code{wrap-lines} (par défaut : @code{#t}) +É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} (default: @code{#f}) -HTTP authentication type to use. Set to @code{#f} to disable authentication -(the default). Supported values are @code{"digest"} or @code{"basic"}. +@item @code{http-auth} (par défaut : @code{#f}) +Type d'authentification HTTP à utiliser. Indiquez @code{#f} pour désactiver +l'authentification (par défaut). Les valeur supportées sont @code{"digest"} +et @code{"basic"}. -@item @code{users} (default: @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. +@item @code{users} (par défaut : @code{#f}) +Si l'authentification HTTP est activée (voir @code{http-auth}), l'accès sera +restreint aux identifiants fournis ici. Pour configurer des utilisateurs, +utilisez une liste de paires, où le premier élément de la paire est le nom +d'utilisateur et le second élément est le mot de passe. @example (tailon-configuration-file @@ -15820,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 {Scheme Variable} 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: +@defvar {Variable Scheme} darkstat-service-type +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 @@ -15837,42 +17107,43 @@ as in this example: @end example @end defvar -@deftp {Data Type} darkstat-configuration -Data type representing the configuration of @command{darkstat}. +@deftp {Type de données} darkstat-configuration +Type de données représentant la configuration de @command{darkstat}. @table @asis -@item @code{package} (default: @code{darkstat}) -The darkstat package to use. +@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} (default: @code{"667"}) -Bind the web interface to the specified port. +@item @code{port} (par défaut : @code{"667"}) +Lie l'interface web sur le port spécifié. -@item @code{bind-address} (default: @code{"127.0.0.1"}) -Bind the web interface to the specified address. +@item @code{bind-address} (par défaut : @code{"127.0.0.1"}) +Lie l'interface web sur l'adresse spécifiée. -@item @code{base} (default: @code{"/"}) -Specify the path of the base URL. This can be useful if @command{darkstat} -is accessed via a reverse proxy. +@item @code{base} (par défaut : @code{"/"}) +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. - -@defvar {Scheme variable} prometheus-node-exporter-service-type -This is the service type for the +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 {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 @@ -15881,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 @@ -15898,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 {Scheme Variable} krb5-service-type -A service type for Kerberos 5 clients. +@defvr {Variable Scheme} krb5-service-type +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 @@ -15935,83 +17207,85 @@ 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 {Data Type} krb5-realm -@cindex realm, kerberos +@deftp {Type de données} krb5-realm +@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 -@deftp {Data Type} krb5-configuration +@deftp {Type de données} krb5-configuration @table @asis -@item @code{allow-weak-crypto?} (default: @code{#f}) -If this flag is @code{#t} then services which only offer encryption -algorithms known to be weak will be accepted. +@item @code{allow-weak-crypto?} (par défaut : @code{#f}) +Si ce drapeau est @code{#t} les services qui n'offrent que des algorithmes +de chiffrement faibles seront acceptés. -@item @code{default-realm} (default: @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}. +@item @code{default-realm} (par défaut : @code{#f}) +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 {Scheme Variable} pam-krb5-service-type -A service type for the Kerberos 5 PAM module. +@defvr {Variable Scheme} pam-krb5-service-type +Un type de service pour le module PAM Kerberos 5. @end defvr -@deftp {Data Type} pam-krb5-configuration -Data type representing the configuration of the Kerberos 5 PAM module This -type has the following parameters: +@deftp {Type de données} pam-krb5-configuration +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} (default: @code{pam-krb5}) -The pam-krb5 package to use. +@item @code{pam-krb5} (par défaut : @code{pam-krb5}) +Le paquet pam-krb5 à utiliser. -@item @code{minimum-uid} (default: @code{1000}) -The smallest user ID for which Kerberos authentications should be -attempted. Local accounts with lower values will silently fail to -authenticate. +@item @code{minimum-uid} (par défaut : @code{1000}) +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 @@ -16022,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 {Scheme Variable} 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. +@deffn {Variable Scheme} httpd-service-type +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 @@ -16043,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 @@ -16057,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 {Data Type} httpd-configuration -This data type represents the configuration for the httpd service. +@deffn {Type de données} httpd-configuration +Ce type de données représente la configuration du service httpd. @table @asis -@item @code{package} (default: @code{httpd}) -The httpd package to use. +@item @code{package} (par défaut : @code{httpd}) +Le paquet httpd à utiliser. -@item @code{pid-file} (default: @code{"/var/run/httpd"}) -The pid file used by the shepherd-service. +@item @code{pid-file} (par défaut : @code{"/var/run/httpd"}) +Le fichier de pid utilisé par le service shepherd. -@item @code{config} (default: @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. +@item @code{config} (par défaut : @code{(httpd-config-file)}) +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 {Data Type} httpd-module -This data type represents a module for the httpd service. +@deffn {Type de données} httpd-module +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 -@deffn {Data Type} httpd-config-file -This data type represents a configuration file for the httpd service. - -@table @asis -@item @code{modules} (default: @code{%default-httpd-modules}) -The modules to load. Additional modules can be added here, or loaded by -additional configuration. - -@item @code{server-root} (default: @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. - -@item @code{server-name} (default: @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. - -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}. - -@item @code{document-root} (default: @code{"/srv/http"}) -The @code{DocumentRoot} from which files will be served. - -@item @code{listen} (default: @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. - -@item @code{pid-file} (default: @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. - -@item @code{error-log} (default: @code{"/var/log/httpd/error_log"}) -The @code{ErrorLog} to which the server will log errors. +@defvr {Variable Scheme} %default-httpd-modules +Une liste par défaut des objets @code{httpd-module}. +@end defvr -@item @code{user} (default: @code{"httpd"}) -The @code{User} which the server will answer requests as. +@deffn {Type de données} httpd-config-file +Ce type de données représente un fichier de configuration pour le service +httpd. -@item @code{group} (default: @code{"httpd"}) -The @code{Group} which the server will answer requests as. +@table @asis +@item @code{modules} (par défaut : @code{%default-httpd-modules}) +Les modules à charger. Les modules supplémentaires peuvent être ajoutés ici +ou chargés par des configuration supplémentaires. -@item @code{extra-config} (default: @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. +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} : -Any values which the service is extended with will be appended to this list. +@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 "\ +<FilesMatch \\.php$> + SetHandler \"proxy:unix:/var/run/php-fpm.sock|fcgi://localhost/\" +</FilesMatch>")))))) +(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}) +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}) +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. + +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"}) +Le @code{DocumentRoot} depuis lequel les fichiers seront servis. + +@item @code{listen} (par défaut : @code{'("80")}) +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"}) +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"}) +Le @code{ErrorLog} où le serveur écrit les journaux d'erreurs. + +@item @code{user} (par défaut : @code{"httpd"}) +Le @code{User} en tant que lequel le serveur répondra aux requêtes. + +@item @code{group} (par défaut : @code{"httpd"}) +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")}) +Une liste plate de chaînes et de G-expressions qui seront ajoutées à la fin +du fichier de configuration. + +N'importe quelle valeur avec laquelle le service est étendu sera ajouté à +cette liste. @end table @end deffn -@deffn {Data Type} httpd-virtualhost -This data type represents a virtualhost configuration block for the httpd -service. +@deffn {Type de données} httpd-virtualhost +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 @@ -16164,22 +17475,22 @@ 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 @subsubheading NGINX -@deffn {Scheme Variable} nginx-service-type -Service type for the @uref{https://nginx.org/,NGinx} web server. The value -for this service type is a @code{<nginx-configuration>} record. +@deffn {Variable Scheme} nginx-service-type +Type de service pour le serveur web @uref{https://nginx.org/,NGinx}. La +valeur de ce service est un enregistrement @code{<nginx-configuration>}. -A simple example configuration is given below. +Un exemple de configuration simple est donné ci-dessous. @example (service nginx-service-type @@ -16190,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 @@ -16202,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. - -@deffn {Data Type} 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. +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 +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} (default: @code{nginx}) -The nginx package to use. +@item @code{nginx} (par défaut : @code{nginx}) +Le paquet nginx à utiliser. -@item @code{log-directory} (default: @code{"/var/log/nginx"}) -The directory to which NGinx will write log files. +@item @code{log-directory} (par défaut : @code{"/var/log/nginx"}) +Le répertoire dans lequel NGinx écrira ses fichiers journaux. -@item @code{run-directory} (default: @code{"/var/run/nginx"}) -The directory in which NGinx will create a pid file, and write temporary -files. +@item @code{run-directory} (par défaut : @code{"/var/run/nginx"}) +Le répertoire dans lequel NGinx créera un fichier de pid et écrira des +fichiers temporaires. -@item @code{server-blocks} (default: @code{'()}) -A list of @dfn{server blocks} to create in the generated configuration file, -the elements should be of type @code{<nginx-server-configuration>}. +@item @code{server-blocks} (par défaut : @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{<nginx-server-configuration>}. -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 @@ -16242,15 +17555,17 @@ the @code{/srv/http/www.example.com} directory, without using HTTPS. (root "/srv/http/www.example.com")))))) @end example -@item @code{upstream-blocks} (default: @code{'()}) -A list of @dfn{upstream blocks} to create in the generated configuration -file, the elements should be of type @code{<nginx-upstream-configuration>}. +@item @code{upstream-blocks} (par défaut : @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{<nginx-upstream-configuration>}. -Configuring upstreams through the @code{upstream-blocks} can be useful when -combined with @code{locations} in the @code{<nginx-server-configuration>} -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{<nginx-server-configuration>}. 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 @@ -16272,309 +17587,411 @@ configuration, which will handle requests with two servers. "server2.example.com"))))))) @end example -@item @code{file} (default: @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. +@item @code{file} (par défaut : @code{#f}) +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} (default: @code{#f}) -Bucket size for the server names hash tables, defaults to @code{#f} to use -the size of the processors cache line. +@item @code{server-names-hash-bucket-size} (par défaut : @code{#f}) +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} (default: @code{#f}) -Maximum bucket size for the server names hash tables. +@item @code{server-names-hash-bucket-max-size} (par défaut : @code{#f}) +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 {Data Type} nginx-server-configuration -Data type representing the configuration of an nginx server block. This -type has the following parameters: +@deftp {Type de données} nginx-server-configuration +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} (default: @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: +@item @code{listen} (par défaut : @code{'("80" "443 ssl")}) +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} (default: @code{(list 'default)}) -A list of server names this server represents. @code{'default} represents -the default server for connections matching no other server. +@item @code{server-name} (par défaut : @code{(list 'default)}) +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} (default: @code{"/srv/http"}) -Root of the website nginx will serve. +@item @code{root} (par défaut : @code{"/srv/http"}) +Racine du site web que sert nginx. -@item @code{locations} (default: @code{'()}) -A list of @dfn{nginx-location-configuration} or -@dfn{nginx-named-location-configuration} records to use within this server -block. +@item @code{locations} (par défaut : @code{'()}) +Une liste d'enregistrements @dfn{nginx-location-configuration} ou +@dfn{nginx-named-location-configuration} à utiliser dans ce bloc serveur. -@item @code{index} (default: @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. +@item @code{index} (par défaut : @code{(list "index.html")}) +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} (default: @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. +@item @code{try-files} (par défaut : @code{'()}) +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} (default: @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. +@item @code{ssl-certificate} (par défaut : @code{#f}) +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} (default: @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. +@item @code{ssl-certificate-key} (par défaut : @code{#f}) +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?} (default: @code{#f}) -Whether the server should add its configuration to response. +@item @code{server-tokens?} (par défaut : @code{#f}) +Indique si le serveur devrait ajouter sa configuration dans les réponses. -@item @code{raw-content} (default: @code{'()}) -A list of raw lines added to the server block. +@item @code{raw-content} (par défaut : @code{'()}) +Une liste de lignes brutes à ajouter dans le bloc serveur. @end table @end deftp -@deftp {Data Type} nginx-upstream-configuration -Data type representing the configuration of an nginx @code{upstream} block. -This type has the following parameters: +@deftp {Type de données} nginx-upstream-configuration +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 {Data Type} nginx-location-configuration -Data type representing the configuration of an nginx @code{location} block. -This type has the following parameters: +@deftp {Type de données} nginx-location-configuration +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 {Data Type} 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: +@deftp {Type de données} nginx-named-location-configuration +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. - -@defvr {Scheme Variable} fcgiwrap-service-type -A service type for the @code{fcgiwrap} FastCGI proxy. +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 +Un type de service pour le mandataire FastCGI @code{fcgiwrap}. @end defvr -@deftp {Data Type} fcgiwrap-configuration -Data type representing the configuration of the @code{fcgiwrap} serice. -This type has the following parameters: +@deftp {Type de données} fcgiwrap-configuration +Type de données représentant la configuration d'un service @code{fcgiwrap}. +Ce type a les paramètres suivants : @table @asis -@item @code{package} (default: @code{fcgiwrap}) -The fcgiwrap package to use. - -@item @code{socket} (default: @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 +@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}) +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} (default: @code{fcgiwrap}) -@itemx @code{group} (default: @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. +@item @code{user} (par défaut : @code{fcgiwrap}) +@itemx @code{group} (par défaut : @code{fcgiwrap}) +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 {Scheme Variable} php-fpm-service-type -A Service type for @code{php-fpm}. +@defvr {Variable Scheme} php-fpm-service-type +Un type de service pour @code{php-fpm}. @end defvr -@deftp {Data Type} php-fpm-configuration -Data Type for php-fpm service configuration. +@deftp {Type de données} php-fpm-configuration +Type de données pour la configuration du service php-fpm. @table @asis -@item @code{php} (default: @code{php}) -The php package to use. -@item @code{socket} (default: @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.sock")}) -The address on which to accept FastCGI requests. Valid syntaxes are: +@item @code{php} (par défaut : @code{php}) +Le paquet php à utiliser. +@item @code{socket} (par défaut : @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.sock")}) +L'adresse sur laquelle accepter les requêts FastCGI. Les syntaxes valides +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} (default: @code{php-fpm}) -User who will own the php worker processes. -@item @code{group} (default: @code{php-fpm}) -Group of the worker processes. -@item @code{socket-user} (default: @code{php-fpm}) -User who can speak to the php-fpm socket. -@item @code{socket-group} (default: @code{php-fpm}) -Group that can speak to the php-fpm socket. -@item @code{pid-file} (default: @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. -@item @code{log-file} (default: @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.log")}) -Log for the php-fpm master process. -@item @code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)}) -Detailed settings for the php-fpm process manager. Must be either: +@item @code{user} (par défaut : @code{php-fpm}) +Utilisateur à qui appartiendra le processus de travail de php. +@item @code{group} (par défaut : @code{php-fpm}) +Groupe du processus de travail. +@item @code{socket-user} (par défaut : @code{php-fpm}) +Utilisateur qui peut parler au socket php-fpm. +@item @code{socket-group} (par défaut : @code{php-fpm}) +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")}) +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")}) +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)}) +Configuration détaillée pour le gestionnaire de processus de php-fpm. Il +doit s'agir soit de : @table @asis -@item @code{<php-fpm-dynamic-process-manager-configuration>} -@item @code{<php-fpm-static-process-manager-configuration>} +@item @code{<php-fpm-dynamic-process-manager-configuration>,} +@item @code{<php-fpm-static-process-manager-configuration> ou} @item @code{<php-fpm-on-demand-process-manager-configuration>} @end table -@item @code{display-errors} (default @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. -@item @code{workers-logfile} (default @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. -@item @code{file} (default @code{#f}) -An optional override of the whole configuration. You can use the -@code{mixed-text-file} function or an absolute filepath for it. +@item @code{display-errors} (par défaut : @code{#f}) +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")}) +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}) +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} (default: @code{5}) -Maximum of worker processes. -@item @code{start-servers} (default: @code{2}) -How many worker processes should be started on start-up. -@item @code{min-spare-servers} (default: @code{1}) -How many spare worker processes should be kept around at minimum. -@item @code{max-spare-servers} (default: @code{3}) -How many spare worker processes should be kept around at maximum. +@item @code{max-children} (par défaut : @code{5}) +Nombre maximum de processus de travail. +@item @code{start-servers} (par défaut : @code{2}) +Nombre de processus de travail au démarrage. +@item @code{min-spare-servers} (par défaut : @code{1}) +Nombre de processus de travail de secours minimum qui doivent rester à +disposition. +@item @code{max-spare-servers} (par défaut : @code{3}) +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} (default: @code{5}) -Maximum of worker processes. +@item @code{max-children} (par défaut : @code{5}) +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} (default: @code{5}) -Maximum of worker processes. -@item @code{process-idle-timeout} (default: @code{10}) -The time in seconds after which a process with no requests is killed. +@item @code{max-children} (par défaut : @code{5}) +Nombre maximum de processus de travail. +@item @code{process-idle-timeout} (par défaut : @code{10}) +La durée en secondes après laquelle un processus sans requête sera tué. @end table @end deftp -@deffn {Scheme Procedure} 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}. +@deffn {Procédure Scheme} nginx-php-fpm-location @ + [#: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 @@ -16589,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. - -@deffn {Scheme Procedure} 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. +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)] +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 @@ -16616,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ée} hpcguix-web-configuration -Data type for the hpcguix-web service configuration. +@deftp {Type de données} hpcguix-web-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 | "}) @@ -16642,23 +18062,31 @@ La commande @command{guix} @item @code{package-filter-proc} (par défaut : @code{(const #t)}) Une procédure qui spécifie comment filtrer les paquets qui seront affichés. -@item @code{package-page-extension-procinputs} (par défaut : @code{(const '())}) -Extension package for @code{hpcguix-web}. +@item @code{package-page-extension-proc} (par défaut : @code{(const '())}) +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{packages} (par défaut : @code{hpcguix-web}) +@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 @@ -16670,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 {Scheme Variable} 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: +@defvr {Variable Scheme} certbot-service-type +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 @@ -16731,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 {Data Type} certbot-configuration -Data type representing the configuration of the @code{certbot} service. -This type has the following parameters: +@deftp {Type de données} certbot-configuration +Type données représentant la configuration du service @code{certbot}. Ce +type a les paramètres suivants : @table @asis -@item @code{package} (default: @code{certbot}) -The certbot package to use. +@item @code{package} (par défaut : @code{certbot}) +Le paquet certbot à utiliser. -@item @code{webroot} (default: @code{/var/www}) -The directory from which to serve the Let's Encrypt challenge/response -files. +@item @code{webroot} (par défaut : @code{/var/www}) +Le répertoire depuis lequel servir les fichiers du défi/réponse de Let's +Encrypt. -@item @code{certificates} (default: @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}. +@item @code{certificates} (par défaut : @code{()}) +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} (default: @code{2048}) -Size of the RSA key. +@item @code{rsa-key-size} (par défaut : @code{2048}) +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 {Data Type} certificate-configuration -Data type representing the configuration of a certificate. This type has -the following parameters: +@deftp {Type de données} certificate-configuration +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}. - -Its default is the first provided domain. - -@item @code{domains} (default: @code{()}) -The first domain provided will be the subject CN of the certificate, and all -domains will be Subject Alternative Names on the certificate. - -@item @code{deploy-hook} (default: @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"}. +@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}. + +Sa valeur par défaut est le premier domaine spécifié. + +@item @code{domains} (par défaut : @code{()}) +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}) +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 @@ -16860,360 +18306,388 @@ master and one slave, is: %base-services))) @end lisp -@deffn {Scheme Variable} 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: +@deffn {Variable Scheme} knot-service-type +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 {Data Type} knot-key-configuration -Data type representing a key. This type has the following parameters: +@deftp {Type de données} knot-key-configuration +Type de données représentant une clef. Ce type a les paramètres suivants : @table @asis -@item @code{id} (default: @code{""}) -An identifier for other configuration fields to refer to this key. IDs must -be unique and must not be empty. +@item @code{id} (par défaut : @code{""}) +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} (default: @code{#f}) -The algorithm to use. Choose between @code{#f}, @code{'hmac-md5}, +@item @code{algorithm} (par défaut : @code{#f}) +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} (default: @code{""}) -The secret key itself. +@item @code{secret} (par défaut : @code{""}) +La clef secrète elle-même. @end table @end deftp -@deftp {Data Type} knot-acl-configuration -Data type representing an Access Control List (ACL) configuration. This -type has the following parameters: +@deftp {Type de données} knot-acl-configuration +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} (default: @code{""}) -An identifier for ether configuration fields to refer to this key. IDs must -be unique and must not be empty. - -@item @code{address} (default: @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. - -@item @code{key} (default: @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. - -@item @code{action} (default: @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}. - -@item @code{deny?} (default: @code{#f}) -When true, the ACL defines restrictions. Listed actions are forbidden. -When false, listed actions are allowed. +@item @code{id} (par défaut : @code{""}) +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{'()}) +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{'()}) +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{'()}) +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}) +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 {Data Type} zone-entry -Data type represnting a record entry in a zone file. This type has the -following parameters: +@deftp {Type de données} zone-entry +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} (default: @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}. - -@item @code{ttl} (default: @code{""}) -The Time-To-Live (TTL) of this record. If not set, the default TTL is used. - -@item @code{class} (default: @code{"IN"}) -The class of the record. Knot currently supports only @code{"IN"} and -partially @code{"CH"}. - -@item @code{type} (default: @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. - -@item @code{data} (default: @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. +@item @code{name} (par défaut : @code{"@@"}) +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{""}) +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"}) +La classe de l'enregistrement. Knot ne supporte actuellement que +@code{"IN"} et partiellement @code{"CH"}. + +@item @code{type} (par défaut : @code{"A"}) +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{""}) +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 {Data Type} zone-file -Data type representing the content of a zone file. This type has the -following parameters: +@deftp {Type de données} zone-file +Type données représentant le contenu d'un fichier de zone. Ce type a les +paramètres suivants : @table @asis -@item @code{entries} (default: @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}. - -@item @code{origin} (default: @code{""}) -The name of your zone. This parameter cannot be empty. - -@item @code{ns} (default: @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. - -@item @code{mail} (default: @code{"hostmaster"}) -An email address people can contact you at, as the owner of the zone. This -is translated as @code{<mail>@@<origin>}. - -@item @code{serial} (default: @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. - -@item @code{refresh} (default: @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)}. - -@item @code{retry} (default: @code{(* 15 60)}) -The period after which a slave will retry to contact its master when it -fails to do so a first time. - -@item @code{expiry} (default: @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. - -@item @code{nx} (default: @code{3600}) -Default TTL of inexistant records. This delay is usually short because you -want your new domains to reach everyone quickly. +@item @code{entries} (par défaut : @code{'()}) +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{""}) +Le nom de votre zone. Ce paramètre ne peut pas être vide. + +@item @code{ns} (par défaut : @code{"ns"}) +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"}) +Une adresse de courriel pour vous contacter en tant que propriétaire de la +zone. Cela se transforme en @code{<mail>@@<origin>}. + +@item @code{serial} (par défaut : @code{1}) +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)}) +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)}) +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)}) +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}) +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 {Data Type} knot-remote-configuration -Data type representing a remote configuration. This type has the following -parameters: +@deftp {Type de données} knot-remote-configuration +Type de données représentant une configuration de serveurs distants. Ce +type a les paramètres suivants : @table @asis -@item @code{id} (default: @code{""}) -An identifier for other configuration fields to refer to this remote. IDs -must be unique and must not be empty. +@item @code{id} (par défaut : @code{""}) +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} (default: @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. +@item @code{address} (par défaut : @code{'()}) +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} (default: @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. +@item @code{via} (par défaut : @code{'()}) +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} (default: @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. +@item @code{key} (par défaut : @code{#f}) +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 {Data Type} knot-keystore-configuration -Data type representing a keystore to hold dnssec keys. This type has the -following parameters: +@deftp {Type de données} knot-keystore-configuration +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} (default: @code{""}) -The id of the keystore. It must not be empty. +@item @code{id} (par défaut : @code{""}) +L'id de cette base de clefs. Il ne doit pas être vide. -@item @code{backend} (default: @code{'pem}) -The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}. +@item @code{backend} (par défaut : @code{'pem}) +Le moteur de stockage des clefs. Cela peut être @code{'pem} ou +@code{'pkcs11}. -@item @code{config} (default: @code{"/var/lib/knot/keys/keys"}) -The configuration string of the backend. An example for the PKCS#11 is: +@item @code{config} (par défaut : @code{"/var/lib/knot/keys/keys"}) +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 {Data Type} 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: +@deftp {Type de données} knot-policy-configuration +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} (default: @code{""}) -The id of the policy. It must not be empty. +@item @code{id} (par défaut : @code{""}) +L'id de la politique. Il ne doit pas être vide. -@item @code{keystore} (default: @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). +@item @code{keystore} (par défaut : @code{"default"}) +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?} (default: @code{#f}) -Whether the key management is manual or automatic. +@item @code{manual?} (par défaut : @code{#f}) +Indique si la clef est gérée manuellement ou automatiquement. -@item @code{single-type-signing?} (default: @code{#f}) -When @code{#t}, use the Single-Type Signing Scheme. +@item @code{single-type-signing?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, utilise le schéma de signature Single-Type -@item @code{algorithm} (default: @code{"ecdsap256sha256"}) -An algorithm of signing keys and issued signatures. +@item @code{algorithm} (par défaut : @code{"ecdsap256sha256"}) +Un algorithme de clef de signature et de signatures. -@item @code{ksk-size} (default: @code{256}) -The length of the KSK. Note that this value is correct for the default -algorithm, but would be unsecure for other algorithms. +@item @code{ksk-size} (par défaut : @code{256}) +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} (default: @code{256}) -The length of the ZSK. Note that this value is correct for the default -algorithm, but would be unsecure for other algorithms. +@item @code{zsk-size} (par défaut : @code{256}) +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} (default: @code{'default}) -The TTL value for DNSKEY records added into zone apex. The special -@code{'default} value means same as the zone SOA TTL. +@item @code{dnskey-ttl} (par défaut : @code{'default}) +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} (default: @code{(* 30 24 3600)}) -The period between ZSK publication and the next rollover initiation. +@item @code{zsk-lifetime} (par défaut : @code{(* 30 24 3600)}) +La période entre la publication d'une ZSK et l'initialisation d'un nouveau +changement. -@item @code{propagation-delay} (default: @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. +@item @code{propagation-delay} (par défaut : @code{(* 24 3600)}) +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} (default: @code{(* 14 24 3600)}) -A validity period of newly issued signatures. +@item @code{rrsig-lifetime} (par défaut : @code{(* 14 24 3600)}) +Une période de validité des nouvelles signatures. -@item @code{rrsig-refresh} (default: @code{(* 7 24 3600)}) -A period how long before a signature expiration the signature will be -refreshed. +@item @code{rrsig-refresh} (par défaut : @code{(* 7 24 3600)}) +Une période qui indique combien de temps avant l'expiration d'une signature +elle sera rafraîchie. -@item @code{nsec3?} (default: @code{#f}) -When @code{#t}, NSEC3 will be used instead of NSEC. +@item @code{nsec3?} (par défaut : @code{#f}) +Lorsque la valeur est @code{#t}, on utilisera NSEC3 au lien de NSEC. -@item @code{nsec3-iterations} (default: @code{5}) -The number of additional times the hashing is performed. +@item @code{nsec3-iterations} (par défaut : @code{5}) +Le nombre de fois supplémentaires que le hash est effectué. -@item @code{nsec3-salt-length} (default: @code{8}) -The length of a salt field in octets, which is appended to the original -owner name before hashing. +@item @code{nsec3-salt-length} (par défaut : @code{8}) +La longueur du champ de sel en octets, ajouté au nom du propriétaire avant +de hasher. -@item @code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)}) -The validity period of newly issued salt field. +@item @code{nsec3-salt-lifetime} (par défaut : @code{(* 30 24 3600)}) +La période de validité des nouveaux champs sel. @end table @end deftp -@deftp {Data Type} knot-zone-configuration -Data type representing a zone served by Knot. This type has the following -parameters: +@deftp {Type de données} knot-zone-configuration +Type de données représentant la zone servie par Knot. ce type a les +paramètres suivants : @table @asis -@item @code{domain} (default: @code{""}) -The domain served by this configuration. It must not be empty. +@item @code{domain} (par défaut : @code{""}) +Le domaine servi par cette configuration. Il ne doit pas être vide. -@item @code{file} (default: @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. +@item @code{file} (par défaut : @code{""}) +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} (default: @code{(zone-file)}) -The content of the zone file. This parameter is ignored by slave zones. It -must contain a zone-file record. +@item @code{zone} (par défaut : @code{(zone-file)}) +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} (default: @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. +@item @code{master} (par défaut : @code{'()}) +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} (default: @code{#f}) -The main master. When empty, it defaults to the first master in the list of -masters. +@item @code{ddns-master} (par défaut : @code{#f}) +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} (default: @code{'()}) -A list of slave remote identifiers. +@item @code{notify} (par défaut : @code{'()}) +Une liste d'identifiants de groupe de serveurs esclaves. -@item @code{acl} (default: @code{'()}) -A list of acl identifiers. +@item @code{acl} (par défaut : @code{'()}) +Une liste d'identifiants d'ACL. -@item @code{semantic-checks?} (default: @code{#f}) -When set, this adds more semantic checks to the zone. +@item @code{semantic-checks?} (par défaut : @code{#f}) +Lorsque la valeur est indiquée, cela ajoute plus de vérifications +sémantiques à la zone. -@item @code{disable-any?} (default: @code{#f}) -When set, this forbids queries of the ANY type. +@item @code{disable-any?} (par défaut : @code{#f}) +Lorsque la valeur est vraie, cela interdit les requêtes de type ANY. -@item @code{zonefile-sync} (default: @code{0}) -The delay between a modification in memory and on disk. 0 means immediate -synchronization. +@item @code{zonefile-sync} (par défaut : @code{0}) +Le délai entre une modification en mémoire et sur le disque. 0 signifie une +synchronisation immédiate. -@item @code{serial-policy} (default: @code{'increment}) -A policy between @code{'increment} and @code{'unixtime}. +@item @code{serial-policy} (par défaut : @code{'increment}) +Une politique entre @code{'increment} et @code{'unixtime}. @end table @end deftp -@deftp {Data Type} knot-configuration -Data type representing the Knot configuration. This type has the following -parameters: +@deftp {Type de données} knot-configuration +Type de donées représentant la configuration de Knot. Ce type a les +paramètres suivants : @table @asis -@item @code{knot} (default: @code{knot}) -The Knot package. +@item @code{knot} (par défaut : @code{knot}) +Le paquet Knot. -@item @code{run-directory} (default: @code{"/var/run/knot"}) -The run directory. This directory will be used for pid file and sockets. +@item @code{run-directory} (par défaut : @code{"/var/run/knot"}) +Le répertoire de travail. Ce répertoire sera utilisé pour le fichier pid et +les sockets. -@item @code{listen-v4} (default: @code{"0.0.0.0"}) -An ip address on which to listen. +@item @code{listen-v4} (par défaut : @code{"0.0.0.0"}) +Une adresse IP sur laquelle écouter. -@item @code{listen-v6} (default: @code{"::"}) -An ip address on which to listen. +@item @code{listen-v6} (par défaut : @code{"::"}) +Une adresse IP sur laquelle écouter. -@item @code{listen-port} (default: @code{53}) -A port on which to listen. +@item @code{listen-port} (par défaut : @code{53}) +Un port sur lequel écouter. -@item @code{keys} (default: @code{'()}) -The list of knot-key-configuration used by this configuration. +@item @code{keys} (par défaut : @code{'()}) +La liste des knot-key-configuration utilisés par cette configuration. -@item @code{acls} (default: @code{'()}) -The list of knot-acl-configuration used by this configuration. +@item @code{acls} (par défaut : @code{'()}) +La liste des knot-acl-configuration utilisés par cette configuration. -@item @code{remotes} (default: @code{'()}) -The list of knot-remote-configuration used by this configuration. +@item @code{remotes} (par défaut : @code{'()}) +La liste des knot-remote-configuration utilisés par cette configuration. -@item @code{zones} (default: @code{'()}) -The list of knot-zone-configuration used by this configuration. +@item @code{zones} (par défaut : @code{'()}) +La liste des knot-zone-configuration utilisés par cette configuration. @end table @end deftp @@ -17221,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 @@ -17232,201 +18706,314 @@ This is the type of the dnsmasq service, whose value should be an @end example @end deffn -@deftp {Type de donnée} dnsmasq-configuration +@deftp {Type de données} dnsmasq-configuration Type de données qui représente la configuration de dnsmasq. @table @asis -@item @code{package} (par défaut : @code{dnsmasq}) -Package object of the dnsmasq server. +@item @code{package} (par défaut : @var{dnsmasq}) +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} (default: @code{'()}) -Specify IP address of upstream servers directly. +@item @code{servers} (par défaut : @code{'()}) +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 {Scheme Procedure} openvpn-client-service @ +@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 {Scheme Procedure} openvpn-server-service @ +@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 -Available @code{openvpn-client-configuration} fields are: +Les champs de @code{openvpn-client-configuration} disponibles sont : -@deftypevr {@code{openvpn-client-configuration} parameter} package openvpn -The OpenVPN package. +@deftypevr {paramètre de @code{openvpn-client-configuration}} package openvpn +Le paquet OpenVPN. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} string pid-file -The OpenVPN pid file. +@deftypevr {paramètre de @code{openvpn-client-configuration}} string pid-file +Le fichier de PID d'OpenVPN. -Defaults to @samp{"/var/run/openvpn/openvpn.pid"}. +La valeur par défaut est @samp{"/var/run/openvpn/openvpn.pid"}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} proto proto -The protocol (UDP or TCP) used to open a channel between clients and -servers. +@deftypevr {paramètre de @code{openvpn-client-configuration}} proto proto +Le protocole (UDP ou TCP) utilisé pour ouvrir un canal entre les clients et +les serveurs. -Defaults to @samp{udp}. +La valeur par défaut est @samp{udp}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} dev dev -The device type used to represent the VPN connection. +@deftypevr {paramètre de @code{openvpn-client-configuration}} dev dev +Le périphérique utilisé pour représenter la connexion VPN. -Defaults to @samp{tun}. +La valeur par défaut est @samp{tun}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} string ca -The certificate authority to check connections against. +@deftypevr {paramètre de @code{openvpn-client-configuration}} string ca +L'autorité de certification qui sert à vérifier les connexions. -Defaults to @samp{"/etc/openvpn/ca.crt"}. +La valeur par défaut est @samp{"/etc/openvpn/ca.crt"}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} string cert -The certificate of the machine the daemon is running on. It should be -signed by the authority given in @code{ca}. +@deftypevr {paramètre de @code{openvpn-client-configuration}} string cert +Le certificat de la machine sur laquelle tourne le démon. Il devrait être +signé par l'autorité indiquée dans @code{ca}. -Defaults to @samp{"/etc/openvpn/client.crt"}. +La valeur par défaut est @samp{"/etc/openvpn/client.crt"}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} string key -The key of the machine the daemon is running on. It must be the key whose -certificate is @code{cert}. +@deftypevr {paramètre de @code{openvpn-client-configuration}} string key +La clef de la machine sur laquelle tourne le démon. Elle doit être la clef +dont le certificat est donné dans @code{cert}. -Defaults to @samp{"/etc/openvpn/client.key"}. +La valeur par défaut est @samp{"/etc/openvpn/client.key"}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} boolean comp-lzo? -Whether to use the lzo compression algorithm. +@deftypevr {paramètre de @code{openvpn-client-configuration}} boolean comp-lzo? +Indique s'il faut utiliser l'algorithme de compression lzo. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} boolean persist-key? -Don't re-read key files across SIGUSR1 or --ping-restart. +@deftypevr {paramètre de @code{openvpn-client-configuration}} boolean persist-key? +Ne pas relire les fichiers de clefs entre les SIGUSR1 et les --ping-restart. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} boolean persist-tun? -Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 -or --ping-restart restarts. +@deftypevr {paramètre de @code{openvpn-client-configuration}} boolean persist-tun? +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. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} number verbosity -Verbosity level. +@deftypevr {paramètre de @code{openvpn-client-configuration}} number verbosity +Niveau de verbosité. -Defaults to @samp{3}. +La valeur par défaut est @samp{3}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth -Add an additional layer of HMAC authentication on top of the TLS control -channel to protect against DoS attacks. +@deftypevr {paramètre de @code{openvpn-client-configuration}} tls-auth-client tls-auth +Ajoute une couche d'authentification HMAC supplémentaire au dessus du canal +de contrôle TLS pour se protéger contre les attaques DoS. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} key-usage verify-key-usage? -Whether to check the server certificate has server usage extension. +@deftypevr {paramètre de @code{openvpn-client-configuration}} key-usage verify-key-usage? +Indique s'il faut vérifier que le certificat du serveur a l'extension +d'utilisation. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} bind bind? -Bind to a specific local port number. +@deftypevr {paramètre de @code{openvpn-client-configuration}} bind bind? +Se lier à un port spécifique. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry? -Retry resolving server address. +@deftypevr {paramètre de @code{openvpn-client-configuration}} resolv-retry resolv-retry? +Réessayer de résoudre l'adresse du serveur. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-client-configuration} parameter} openvpn-remote-list remote -A list of remote servers to connect to. +@deftypevr {paramètre de @code{openvpn-client-configuration}} openvpn-remote-list remote +Une liste de serveurs distants sur lesquels se connecter. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. -Available @code{openvpn-remote-configuration} fields are: +Les champs de @code{openvpn-remote-configuration} disponibles sont : -@deftypevr {@code{openvpn-remote-configuration} parameter} string name -Server name. +@deftypevr {paramètre de @code{openvpn-remote-configuration}} string name +Nom du serveur. -Defaults to @samp{"my-server"}. +La valeur par défaut est @samp{"my-server"}. @end deftypevr -@deftypevr {@code{openvpn-remote-configuration} parameter} number port -Port number the server listens to. +@deftypevr {paramètre de @code{openvpn-remote-configuration}} number port +Numéro de port sur lequel écoute le serveur. -Defaults to @samp{1194}. +La valeur par défaut est @samp{1194}. @end deftypevr @@ -17435,192 +19022,196 @@ Defaults to @samp{1194}. @c %automatically generated documentation -Available @code{openvpn-server-configuration} fields are: +Les champs de @code{openvpn-server-configuration} disponibles sont : -@deftypevr {@code{openvpn-server-configuration} parameter} package openvpn -The OpenVPN package. +@deftypevr {paramètre de @code{openvpn-server-configuration}} package openvpn +Le paquet OpenVPN. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} string pid-file -The OpenVPN pid file. +@deftypevr {paramètre de @code{openvpn-server-configuration}} string pid-file +Le fichier de PID d'OpenVPN. -Defaults to @samp{"/var/run/openvpn/openvpn.pid"}. +La valeur par défaut est @samp{"/var/run/openvpn/openvpn.pid"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} proto proto -The protocol (UDP or TCP) used to open a channel between clients and -servers. +@deftypevr {paramètre de @code{openvpn-server-configuration}} proto proto +Le protocole (UDP ou TCP) utilisé pour ouvrir un canal entre les clients et +les serveurs. -Defaults to @samp{udp}. +La valeur par défaut est @samp{udp}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} dev dev -The device type used to represent the VPN connection. +@deftypevr {paramètre de @code{openvpn-server-configuration}} dev dev +Le périphérique utilisé pour représenter la connexion VPN. -Defaults to @samp{tun}. +La valeur par défaut est @samp{tun}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} string ca -The certificate authority to check connections against. +@deftypevr {paramètre de @code{openvpn-server-configuration}} string ca +L'autorité de certification qui sert à vérifier les connexions. -Defaults to @samp{"/etc/openvpn/ca.crt"}. +La valeur par défaut est @samp{"/etc/openvpn/ca.crt"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} string cert -The certificate of the machine the daemon is running on. It should be -signed by the authority given in @code{ca}. +@deftypevr {paramètre de @code{openvpn-server-configuration}} string cert +Le certificat de la machine sur laquelle tourne le démon. Il devrait être +signé par l'autorité indiquée dans @code{ca}. -Defaults to @samp{"/etc/openvpn/client.crt"}. +La valeur par défaut est @samp{"/etc/openvpn/client.crt"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} string key -The key of the machine the daemon is running on. It must be the key whose -certificate is @code{cert}. +@deftypevr {paramètre de @code{openvpn-server-configuration}} string key +La clef de la machine sur laquelle tourne le démon. Elle doit être la clef +dont le certificat est donné dans @code{cert}. -Defaults to @samp{"/etc/openvpn/client.key"}. +La valeur par défaut est @samp{"/etc/openvpn/client.key"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} boolean comp-lzo? -Whether to use the lzo compression algorithm. +@deftypevr {paramètre de @code{openvpn-server-configuration}} boolean comp-lzo? +Indique s'il faut utiliser l'algorithme de compression lzo. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} boolean persist-key? -Don't re-read key files across SIGUSR1 or --ping-restart. +@deftypevr {paramètre de @code{openvpn-server-configuration}} boolean persist-key? +Ne pas relire les fichiers de clefs entre les SIGUSR1 et les --ping-restart. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} boolean persist-tun? -Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 -or --ping-restart restarts. +@deftypevr {paramètre de @code{openvpn-server-configuration}} boolean persist-tun? +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. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} number verbosity -Verbosity level. +@deftypevr {paramètre de @code{openvpn-server-configuration}} number verbosity +Niveau de verbosité. -Defaults to @samp{3}. +La valeur par défaut est @samp{3}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth -Add an additional layer of HMAC authentication on top of the TLS control -channel to protect against DoS attacks. +@deftypevr {paramètre de @code{openvpn-server-configuration}} tls-auth-server tls-auth +Ajoute une couche d'authentification HMAC supplémentaire au dessus du canal +de contrôle TLS pour se protéger contre les attaques DoS. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} number port -Specifies the port number on which the server listens. +@deftypevr {paramètre de @code{openvpn-server-configuration}} number port +Spécifie le numéro de port sur lequel les serveurs écoutent. -Defaults to @samp{1194}. +La valeur par défaut est @samp{1194}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} ip-mask server -An ip and mask specifying the subnet inside the virtual network. +@deftypevr {paramètre de @code{openvpn-server-configuration}} ip-mask server +Une ip et un masque de sous-réseau spécifiant le sous-réseau dans le réseau +virtuel. -Defaults to @samp{"10.8.0.0 255.255.255.0"}. +La valeur par défaut est @samp{"10.8.0.0 255.255.255.0"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} cidr6 server-ipv6 -A CIDR notation specifying the IPv6 subnet inside the virtual network. +@deftypevr {paramètre de @code{openvpn-server-configuration}} cidr6 server-ipv6 +Une notation CIDR pour spécifier le sous-réseau IPv6 dans le réseau virtuel. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} string dh -The Diffie-Hellman parameters file. +@deftypevr {paramètre de @code{openvpn-server-configuration}} string dh +Le fichier de paramètres Diffie-Hellman. -Defaults to @samp{"/etc/openvpn/dh2048.pem"}. +La valeur par défaut est @samp{"/etc/openvpn/dh2048.pem"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist -The file that records client IPs. +@deftypevr {paramètre de @code{openvpn-server-configuration}} string ifconfig-pool-persist +Le fichier qui enregistre les IP des clients. -Defaults to @samp{"/etc/openvpn/ipp.txt"}. +La valeur par défaut est @samp{"/etc/openvpn/ipp.txt"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} gateway redirect-gateway? -When true, the server will act as a gateway for its clients. +@deftypevr {paramètre de @code{openvpn-server-configuration}} gateway redirect-gateway? +Lorsque la valeur est vraie, le serveur agira comme une passerelle pour ses +clients. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} boolean client-to-client? -When true, clients are allowed to talk to each other inside the VPN. +@deftypevr {paramètre de @code{openvpn-server-configuration}} boolean client-to-client? +Lorsque la valeur est vraie, les clients sont autorisés à se parler entre +eux dans le VPN. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} 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. +@deftypevr {paramètre de @code{openvpn-server-configuration}} keepalive keepalive +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 {@code{openvpn-server-configuration} parameter} number max-clients -The maximum number of clients. +@deftypevr {paramètre de @code{openvpn-server-configuration}} number max-clients +Le nombre maximum de clients. -Defaults to @samp{100}. +La valeur par défaut est @samp{100}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} string status -The status file. This file shows a small report on current connection. It -is truncated and rewritten every minute. +@deftypevr {paramètre de @code{openvpn-server-configuration}} string status +Le fichier de statut. Ce fichier montre un court rapport sur les connexions +actuelles. Il est tronqué et réécrit toutes les minutes. -Defaults to @samp{"/var/run/openvpn/status"}. +La valeur par défaut est @samp{"/var/run/openvpn/status"}. @end deftypevr -@deftypevr {@code{openvpn-server-configuration} parameter} openvpn-ccd-list client-config-dir -The list of configuration for some clients. +@deftypevr {paramètre de @code{openvpn-server-configuration}} openvpn-ccd-list client-config-dir +La liste des configuration pour certains clients. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. -Available @code{openvpn-ccd-configuration} fields are: +Les champs de @code{openvpn-ccd-configuration} disponibles sont : -@deftypevr {@code{openvpn-ccd-configuration} parameter} string name -Client name. +@deftypevr {paramètre de @code{openvpn-ccd-configuration}} string name +Nom du client. -Defaults to @samp{"client"}. +La valeur par défaut est @samp{"client"}. @end deftypevr -@deftypevr {@code{openvpn-ccd-configuration} parameter} ip-mask iroute -Client own network +@deftypevr {paramètre de @code{openvpn-ccd-configuration}} ip-mask iroute +Le réseau du client. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push -Client VPN IP. +@deftypevr {paramètre de @code{openvpn-ccd-configuration}} ip-mask ifconfig-push +IP du client sur le VPN. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr @@ -17634,110 +19225,114 @@ Defaults to @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 {Scheme Variable} rpcbind-service-type -A service type for the RPC portmapper daemon. +@defvr {Variable Scheme} rpcbind-service-type +Un type de service pour le démon RPC portmapper. @end defvr -@deftp {Data Type} rpcbind-configuration -Data type representing the configuration of the RPC Bind Service. This type -has the following parameters: +@deftp {Type de données} rpcbind-configuration +Type données représentant la configuration du service RPC Bind. Ce type a +les paramètres suivants : @table @asis -@item @code{rpcbind} (default: @code{rpcbind}) -The rpcbind package to use. +@item @code{rpcbind} (par défaut : @code{rpcbind}) +Le paquet rpcbind à utiliser. -@item @code{warm-start?} (default: @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. +@item @code{warm-start?} (par défaut : @code{#t}) +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 {Scheme Variable} pipefs-service-type -A service type for the pipefs pseudo file system. +@defvr {Variable Scheme} pipefs-service-type +Un type de service pour le pseudo-système de fichiers pipefs. @end defvr -@deftp {Data Type} pipefs-configuration -Data type representing the configuration of the pipefs pseudo file system -service. This type has the following parameters: +@deftp {Type de données} pipefs-configuration +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} (default: @code{"/var/lib/nfs/rpc_pipefs"}) -The directory to which the file system is to be attached. +@item @code{mount-point} (par défaut : @code{"/var/lib/nfs/rpc_pipefs"}) +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 {Scheme Variable} gss-service-type -A service type for the Global Security System (GSS) daemon. +@defvr {Variable Scheme} gss-service-type +Un type de service pour le démon du système de sécurité global (GSS). @end defvr -@deftp {Data Type} gss-configuration -Data type representing the configuration of the GSS daemon service. This -type has the following parameters: +@deftp {Type de données} gss-configuration +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} (default: @code{nfs-utils}) -The package in which the @command{rpc.gssd} command is to be found. +@item @code{nfs-utils} (par défaut : @code{nfs-utils}) +Le paquet dans lequel la commande @command{rpc.gssd} se trouve. -@item @code{pipefs-directory} (default: @code{"/var/lib/nfs/rpc_pipefs"}) -The directory where the pipefs file system is mounted. +@item @code{pipefs-directory} (par défaut : @code{"/var/lib/nfs/rpc_pipefs"}) +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 {Scheme Variable} idmap-service-type -A service type for the Identity Mapper (IDMAP) daemon. +@defvr {Variable Scheme} idmap-service-type +Un type de service pour le démon de correspondance d'identité (IDMAP). @end defvr -@deftp {Data Type} idmap-configuration -Data type representing the configuration of the IDMAP daemon service. This -type has the following parameters: +@deftp {Type de données} idmap-configuration +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} (default: @code{nfs-utils}) -The package in which the @command{rpc.idmapd} command is to be found. +@item @code{nfs-utils} (par défaut : @code{nfs-utils}) +Le paquet dans lequel se trouve la commande @command{rpc.idmapd}. -@item @code{pipefs-directory} (default: @code{"/var/lib/nfs/rpc_pipefs"}) -The directory where the pipefs file system is mounted. +@item @code{pipefs-directory} (par défaut : @code{"/var/lib/nfs/rpc_pipefs"}) +Le répertoire où le système de fichier pipefs doit être monté. -@item @code{domain} (default: @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. +@item @code{domain} (par défaut : @code{#f}) +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 @@ -17745,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 {Scheme Procedure} cuirass-service-type -The type of the Cuirass service. Its value must be a -@code{cuirass-configuration} object, as described below. +@defvr {Procédure Scheme} cuirass-service-type +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. - -@deftp {Data Type} cuirass-configuration -Data type representing the configuration of Cuirass. +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 +Type de données représentant la configuration de Cuirass. @table @asis -@item @code{log-file} (default: @code{"/var/log/cuirass.log"}) -Location of the log file. +@item @code{log-file} (par défaut : @code{"/var/log/cuirass.log"}) +Emplacement du fichier de journal. + +@item @code{cache-directory} (par défaut : @code{"/var/cache/cuirass"}) +Emplacement du cache du dépôt. -@item @code{cache-directory} (default: @code{"/var/cache/cuirass"}) -Location of the repository cache. +@item @code{user} (par défaut : @code{"cuirass"}) +Propriétaire du processus @code{cuirass}. -@item @code{user} (default: @code{"cuirass"}) -Owner of the @code{cuirass} process. +@item @code{group} (par défaut : @code{"cuirass"}) +Groupe du propriétaire du processus @code{cuirass}. -@item @code{group} (default: @code{"cuirass"}) -Owner's group of the @code{cuirass} process. +@item @code{interval} (par défaut : @code{60}) +Nombre de secondes entre les mises à jour du dépôt suivis des travaux de +Cuirass. -@item @code{interval} (default: @code{60}) -Number of seconds between the poll of the repositories followed by the -Cuirass jobs. +@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{database} (default: @code{"/var/run/cuirass/cuirass.db"}) -Location of sqlite database which contains the build results and previously -added specifications. +@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} (default: @code{8081}) -Port number used by the HTTP server. +@item @code{port} (par défaut : @code{8081}) +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} (default: @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. +@item @code{specifications} (par défaut : @code{#~'()}) +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?} (default: @code{#f}) -This allows using substitutes to avoid building every dependencies of a job -from source. +@item @code{use-substitutes?} (par défaut : @code{#f}) +Cela permet d'utiliser des substituts pour éviter de construire toutes les +dépendance d'un travail depuis les sources. -@item @code{one-shot?} (default: @code{#f}) -Only evaluate specifications and build derivations once. +@item @code{one-shot?} (par défaut : @code{#f}) +N'évaluer les spécification et construire les dérivations qu'une seule fois. -@item @code{fallback?} (default: @code{#f}) -When substituting a pre-built binary fails, fall back to building packages -locally. +@item @code{fallback?} (par défaut : @code{#f}) +Lorsque la substitution d'un binaire pré-construit échoue, revenir à la +construction locale du paquet. -@item @code{cuirass} (default: @code{cuirass}) -The Cuirass package to use. +@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 {Scheme Variable} 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: +@deffn {Variable Scheme} tlp-service-type +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 @@ -17873,491 +19500,504 @@ that won't show up in TLP config file when their value is @code{'disabled}. @c (generate-documentation) than to make it below and have to deal with @c the churn as TLP updates. -Available @code{tlp-configuration} fields are: +Les champs de @code{tlp-configuration} disponibles sont : -@deftypevr {@code{tlp-configuration} parameter} package tlp -The TLP package. +@deftypevr {paramètre de @code{tlp-configuration}} package tlp +Le paquet TLP. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} boolean tlp-enable? -Set to true if you wish to enable TLP. +@deftypevr {paramètre de @code{tlp-configuration}} boolean tlp-enable? +Indiquez vrai si vous souhaitez activer TLP. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string tlp-default-mode -Default mode when no power supply can be detected. Alternatives are AC and -BAT. +@deftypevr {paramètre de @code{tlp-configuration}} string tlp-default-mode +Mode par défaut lorsqu'aucune source d'énergie ne peut être détectée. Les +possibilités sont AC et BAT. -Defaults to @samp{"AC"}. +La valeur par défaut est @samp{"AC"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer disk-idle-secs-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. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat -Same as @code{disk-idle-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer disk-idle-secs-on-bat +Comme @code{disk-idle-ac} mais en mode batterie. -Defaults to @samp{2}. +La valeur par défaut est @samp{2}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac -Dirty pages flushing periodicity, expressed in seconds. +@deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer max-lost-work-secs-on-ac +Périodicité du nettoyage des pages invalidées, en secondes. -Defaults to @samp{15}. +La valeur par défaut est @samp{15}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat -Same as @code{max-lost-work-secs-on-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer max-lost-work-secs-on-bat +Comme @code{max-lost-work-secs-on-ac} mais en mode batterie. -Defaults to @samp{60}. +La valeur par défaut est @samp{60}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list cpu-scaling-governor-on-ac +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. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat -Same as @code{cpu-scaling-governor-on-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list cpu-scaling-governor-on-bat +Comme @code{cpu-scaling-governor-on-ac} mais en mode batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac -Set the min available frequency for the scaling governor on AC. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-min-freq-on-ac +Indique la fréquence d'horloge minimale pour le gouverneur sur secteur. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac -Set the max available frequency for the scaling governor on AC. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-max-freq-on-ac +Indique la fréquence d'horloge maximale pour le gouverneur sur secteur. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat -Set the min available frequency for the scaling governor on BAT. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-min-freq-on-bat +Indique la fréquence d'horloge minimale pour le gouverneur sur batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat -Set the max available frequency for the scaling governor on BAT. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-scaling-max-freq-on-bat +Indique la fréquence d'horloge maximale pour le gouverneur sur batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-min-perf-on-ac +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. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-max-perf-on-ac +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. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat -Same as @code{cpu-min-perf-on-ac} on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-min-perf-on-bat +Comme @code{cpu-min-perf-on-ac} mais en mode batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat -Same as @code{cpu-max-perf-on-ac} on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-non-negative-integer cpu-max-perf-on-bat +Comme @code{cpu-max-perf-on-ac} mais en mode batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac? -Enable CPU turbo boost feature on AC mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-boolean cpu-boost-on-ac? +Active la fonctionnalité turbo boost du CPU sur secteur. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat? -Same as @code{cpu-boost-on-ac?} on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-boolean cpu-boost-on-bat? +Comme @code{cpu-boost-on-ac?} mais en mode batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} boolean sched-powersave-on-ac? -Allow Linux kernel to minimize the number of CPU cores/hyper-threads used -under light load conditions. +@deftypevr {paramètre de @code{tlp-configuration}} boolean sched-powersave-on-ac? +Permet au noyau Linux de minimiser le nombre de cœurs/hyper-threads CPU +utilisés lorsque la charge est faible. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} boolean sched-powersave-on-bat? -Same as @code{sched-powersave-on-ac?} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} boolean sched-powersave-on-bat? +Comme @code{sched-powersave-on-ac?} mais en mode batterie. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} boolean nmi-watchdog? -Enable Linux kernel NMI watchdog. +@deftypevr {paramètre de @code{tlp-configuration}} boolean nmi-watchdog? +Active le chien de garde NMI du noyau Linux. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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"}. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-string phc-controls +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"}. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string energy-perf-policy-on-ac -Set CPU performance versus energy saving policy on AC. Alternatives are -performance, normal, powersave. +@deftypevr {paramètre de @code{tlp-configuration}} string energy-perf-policy-on-ac +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. -Defaults to @samp{"performance"}. +La valeur par défaut est @samp{"performance"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string energy-perf-policy-on-bat -Same as @code{energy-perf-policy-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} string energy-perf-policy-on-bat +Comme @code{energy-perf-policy-ac} mais en mode batterie. -Defaults to @samp{"powersave"}. +La valeur par défaut est @samp{"powersave"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} space-separated-string-list disks-devices -Hard disk devices. +@deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list disks-devices +Périphériques de disque dur. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac -Hard disk advanced power management level. +@deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list disk-apm-level-on-ac +Niveau de gestion de l'énergie avancé des disques durs. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat -Same as @code{disk-apm-bat} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list disk-apm-level-on-bat +Comme @code{disk-apm-bat} mais en mode batterie. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list disk-spindown-timeout-on-ac +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é. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat -Same as @code{disk-spindown-timeout-on-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list disk-spindown-timeout-on-bat +Comme @code{disk-spindown-timeout-on-ac} mais en mode batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list disk-iosched +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. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string sata-linkpwr-on-ac -SATA aggressive link power management (ALPM) level. Alternatives are -min_power, medium_power, max_performance. +@deftypevr {paramètre de @code{tlp-configuration}} string sata-linkpwr-on-ac +Niveau de gestion de l'énergie des lien SATA aggressive (ALPM). Les +possibilités sont min_power, medium_power et max_performance. -Defaults to @samp{"max_performance"}. +La valeur par défaut est @samp{"max_performance"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string sata-linkpwr-on-bat -Same as @code{sata-linkpwr-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} string sata-linkpwr-on-bat +Comme @code{sata-linkpwr-ac} mais en mode batterie. -Defaults to @samp{"min_power"}. +La valeur par défaut est @samp{"min_power"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist -Exclude specified SATA host devices for link power management. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-string sata-linkpwr-blacklist +Exclu les périphériques SATA spécifiés de la gestion de l'énergie des liens. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac? -Enable Runtime Power Management for AHCI controller and disks on AC mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-on-off-boolean ahci-runtime-pm-on-ac? +Active la gestion de l'énergie à l'exécution pour les contrôleurs AHCI et +les disques, sur secteur -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat? -Same as @code{ahci-runtime-pm-on-ac} on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-on-off-boolean ahci-runtime-pm-on-bat? +Comme @code{ahci-runtime-pm-on-ac} mais en mode batterie. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout -Seconds of inactivity before disk is suspended. +@deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer ahci-runtime-pm-timeout +Secondes d'inactivités avant de suspendre les disques. -Defaults to @samp{15}. +La valeur par défaut est @samp{15}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string pcie-aspm-on-ac -PCI Express Active State Power Management level. Alternatives are default, -performance, powersave. +@deftypevr {paramètre de @code{tlp-configuration}} string pcie-aspm-on-ac +Niveau de gestion de l'énergie des états actifs de PCI Express. Les +possibilités sont default, performance et powersave. -Defaults to @samp{"performance"}. +La valeur par défaut est @samp{"performance"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string pcie-aspm-on-bat -Same as @code{pcie-aspm-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} string pcie-aspm-on-bat +Comme @code{pcie-aspm-ac} mais en mode batterie. -Defaults to @samp{"powersave"}. +La valeur par défaut est @samp{"powersave"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string radeon-power-profile-on-ac -Radeon graphics clock speed level. Alternatives are low, mid, high, auto, -default. +@deftypevr {paramètre de @code{tlp-configuration}} string radeon-power-profile-on-ac +Niveau de vitesse de l'horloge des cartes graphiques Radeon. Les +possibilités sont low, mid, high, auto et default. -Defaults to @samp{"high"}. +La valeur par défaut est @samp{"high"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string radeon-power-profile-on-bat -Same as @code{radeon-power-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} string radeon-power-profile-on-bat +Comme @code{radeon-power-ac} mais en mode batterie. -Defaults to @samp{"low"}. +La valeur par défaut est @samp{"low"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac -Radeon dynamic power management method (DPM). Alternatives are battery, -performance. +@deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-state-on-ac +Méthode de gestion de l'énergie dynamique de Radeon (DPM). Les possibilités +sont battery et performance. -Defaults to @samp{"performance"}. +La valeur par défaut est @samp{"performance"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat -Same as @code{radeon-dpm-state-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-state-on-bat +Comme @code{radeon-dpm-state-ac} mais en mode batterie. -Defaults to @samp{"battery"}. +La valeur par défaut est @samp{"battery"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac -Radeon DPM performance level. Alternatives are auto, low, high. +@deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-perf-level-on-ac +Niveau de performance de DPM. Les possibilités sont auto, low et high. -Defaults to @samp{"auto"}. +La valeur par défaut est @samp{"auto"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat -Same as @code{radeon-dpm-perf-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} string radeon-dpm-perf-level-on-bat +Comme @code{radeon-dpm-perf-ac} mais en mode batterie. -Defaults to @samp{"auto"}. +La valeur par défaut est @samp{"auto"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac? -Wifi power saving mode. +@deftypevr {paramètre de @code{tlp-configuration}} on-off-boolean wifi-pwr-on-ac? +Mode de gestion de l'énergie wifi. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat? -Same as @code{wifi-power-ac?} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} on-off-boolean wifi-pwr-on-bat? +Comme @code{wifi-power-ac?} mais en mode batterie. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} y-n-boolean wol-disable? -Disable wake on LAN. +@deftypevr {paramètre de @code{tlp-configuration}} y-n-boolean wol-disable? +Désactive wake on LAN. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer sound-power-save-on-ac +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. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat -Same as @code{sound-powersave-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} non-negative-integer sound-power-save-on-bat +Comme @code{sound-powersave-ac} mais en mode batterie. -Defaults to @samp{1}. +La valeur par défaut est @samp{1}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller? -Disable controller in powersaving mode on Intel HDA devices. +@deftypevr {paramètre de @code{tlp-configuration}} y-n-boolean sound-power-save-controller? +Désactive le contrôleur en mode de gestion de l'énergie sur les +périphériques Intel HDA. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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. +@deftypevr {paramètre de @code{tlp-configuration}} boolean bay-poweroff-on-bat? +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. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string bay-device -Name of the optical drive device to power off. +@deftypevr {paramètre de @code{tlp-configuration}} string bay-device +Nom du périphérique optique à éteindre. -Defaults to @samp{"sr0"}. +La valeur par défaut est @samp{"sr0"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string runtime-pm-on-ac -Runtime Power Management for PCI(e) bus devices. Alternatives are on and -auto. +@deftypevr {paramètre de @code{tlp-configuration}} string runtime-pm-on-ac +Gestion de l'énergie à l'exécution sur les bus PCI(e). Les possibilités +sont on et auto. -Defaults to @samp{"on"}. +La valeur par défaut est @samp{"on"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} string runtime-pm-on-bat -Same as @code{runtime-pm-ac} but on BAT mode. +@deftypevr {paramètre de @code{tlp-configuration}} string runtime-pm-on-bat +Comme @code{runtime-pm-ac} mais en mode batterie. -Defaults to @samp{"auto"}. +La valeur par défaut est @samp{"auto"}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} boolean runtime-pm-all? -Runtime Power Management for all PCI(e) bus devices, except blacklisted -ones. +@deftypevr {paramètre de @code{tlp-configuration}} boolean runtime-pm-all? +Gestion de l'énergie à l'exécution pour tous les bus PCI(e), sauf ceux en +liste noire. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist -Exclude specified PCI(e) device addresses from Runtime Power Management. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-space-separated-string-list runtime-pm-blacklist +Exclue les adresses des périphériques PCI(e) spécifiés de la gestion de +l'énergie à l'exécution. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist -Exclude PCI(e) devices assigned to the specified drivers from Runtime Power -Management. +@deftypevr {paramètre de @code{tlp-configuration}} space-separated-string-list runtime-pm-driver-blacklist +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 {@code{tlp-configuration} parameter} boolean usb-autosuspend? -Enable USB autosuspend feature. +@deftypevr {paramètre de @code{tlp-configuration}} boolean usb-autosuspend? +Active la fonctionnalité de mise en veille automatique de l'USB. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-string usb-blacklist -Exclude specified devices from USB autosuspend. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-string usb-blacklist +Exclue les périphériques spécifiés de la mise en veille automatique de +l'USB. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} boolean usb-blacklist-wwan? -Exclude WWAN devices from USB autosuspend. +@deftypevr {paramètre de @code{tlp-configuration}} boolean usb-blacklist-wwan? +Exclue les périphériques WWAN de la mise en veille automatique de l'USB. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} 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?}. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-string usb-whitelist +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?}. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown? -Enable USB autosuspend before shutdown. +@deftypevr {paramètre de @code{tlp-configuration}} maybe-boolean usb-autosuspend-disable-on-shutdown? +Active la mise en veille de l'USB avant l'arrêt. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{tlp-configuration} parameter} boolean restore-device-state-on-startup? -Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on -system startup. +@deftypevr {paramètre de @code{tlp-configuration}} boolean restore-device-state-on-startup? +Restaure l'état des périphériques radio (bluetooth, wifi, wwan) du dernier +arrêt au démarrage du système. -Defaults to @samp{#f}. +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 {Scheme Variable} 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. +@defvr {Variable Scheme} thermald-service-type +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 {Data Type} thermald-configuration -Data type representing the configuration of @code{thermald-service-type}. +@deftp {Type de données} thermald-configuration +Type de données représentant la configuration de +@code{thermald-service-type}. @table @asis -@item @code{ignore-cpuid-check?} (default: @code{#f}) -Ignore cpuid check for supported CPU models. +@item @code{ignore-cpuid-check?} (par défaut : @code{#f}) +Ignore la vérification des modèles CPU supportés avec cpuid. -@item @code{thermald} (default: @var{thermald}) -Package object of thermald. +@item @code{thermald} (par défaut : @var{thermald}) +Objet du paquet de thermald. @end table @end deftp @@ -18365,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 @@ -18385,48 +20026,48 @@ The following example shows how one might run @code{mpd} as user (port "6666"))) @end example -@defvr {Scheme Variable} mpd-service-type -The service type for @command{mpd} +@defvr {Variable Scheme} mpd-service-type +Le type de service pour @command{mpd}. @end defvr -@deftp {Data Type} mpd-configuration -Data type representing the configuration of @command{mpd}. +@deftp {Type de données} mpd-configuration +Type de données représentant la configuration de @command{mpd}. @table @asis -@item @code{user} (default: @code{"mpd"}) -The user to run mpd as. +@item @code{user} (par défaut : @code{"mpd"}) +L'utilisateur qui lance mpd. -@item @code{music-dir} (default: @code{"~/Music"}) -The directory to scan for music files. +@item @code{music-dir} (par défaut : @code{"~/Music"}) +Le répertoire à scanner pour trouver les fichiers de musique. -@item @code{playlist-dir} (default: @code{"~/.mpd/playlists"}) -The directory to store playlists. +@item @code{playlist-dir} (par défaut : @code{"~/.mpd/playlists"}) +Le répertoire où stocker les playlists. -@item @code{port} (default: @code{"6600"}) -The port to run mpd on. +@item @code{port} (par défaut : @code{"6600"}) +Le port sur lequel lancer mpd. -@item @code{address} (default: @code{"any"}) -The address that mpd will bind to. To use a Unix domain socket, an absolute -path can be specified here. +@item @code{address} (par défaut : @code{"any"}) +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 {Scheme Variable} libvirt-service-type -This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its -value must be a @code{libvirt-configuration}. +@deffn {Variable Scheme} libvirt-service-type +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 @@ -18437,353 +20078,356 @@ value must be a @code{libvirt-configuration}. @end deffn @c Auto-generated with (generate-libvirt-documentation) -Available @code{libvirt-configuration} fields are: +Les champs de @code{libvirt-configuration} disponibles sont : -@deftypevr {@code{libvirt-configuration} parameter} package libvirt -Libvirt package. +@deftypevr {paramètre de @code{libvirt-configuration}} package libvirt +Paquet libvirt. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} boolean listen-tls? +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é. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} boolean listen-tcp? -Listen for unencrypted TCP connections on the public TCP/IP port. must set -@code{listen} for this to have any effect. +@deftypevr {paramètre de @code{libvirt-configuration}} boolean listen-tcp? +É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). -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string tls-port -Port for accepting secure TLS connections This can be a port number, or -service name +@deftypevr {paramètre de @code{libvirt-configuration}} string tls-port +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. -Defaults to @samp{"16514"}. +La valeur par défaut est @samp{"16514"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string tcp-port -Port for accepting insecure TCP connections This can be a port number, or -service name +@deftypevr {paramètre de @code{libvirt-configuration}} string tcp-port +Pour sur lequel accepter les connexions TCP non sécurisées. Cela peut être +un numéro de port ou un nom de service. -Defaults to @samp{"16509"}. +La valeur par défaut est @samp{"16509"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string listen-addr -IP address or hostname used for client connections. +@deftypevr {paramètre de @code{libvirt-configuration}} string listen-addr +Adresse IP ou nom d'hôte utilisé pour les connexions des clients. -Defaults to @samp{"0.0.0.0"}. +La valeur par défaut est @samp{"0.0.0.0"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} boolean mdns-adv? -Flag toggling mDNS advertisement of the libvirt service. +@deftypevr {paramètre de @code{libvirt-configuration}} boolean mdns-adv? +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. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string mdns-name -Default mDNS advertisement name. This must be unique on the immediate -broadcast network. +@deftypevr {paramètre de @code{libvirt-configuration}} string mdns-name +Nom publié par défaut sur mDNS. Cela doit être unique sur le réseau local. -Defaults to @samp{"Virtualization Host <hostname>"}. +La valeur par défaut est @samp{"Virtualization Host <hostname>"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-group +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. -Defaults to @samp{"root"}. +La valeur par défaut est @samp{"root"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string unix-sock-ro-perms -UNIX socket permissions for the R/O socket. This is used for monitoring VM -status only. +@deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-ro-perms +Permission Unix pour le socket en lecture seule. Il est utilisé pour +surveiller le statut des VM uniquement. -Defaults to @samp{"0777"}. +La valeur par défaut est @samp{"0777"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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) +@deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-rw-perms +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). -Defaults to @samp{"0770"}. +La valeur par défaut est @samp{"0770"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-admin-perms +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. -Defaults to @samp{"0777"}. +La valeur par défaut est @samp{"0777"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string unix-sock-dir -The directory in which sockets will be found/created. +@deftypevr {paramètre de @code{libvirt-configuration}} string unix-sock-dir +Le répertoire dans lequel les sockets sont créés. -Defaults to @samp{"/var/run/libvirt"}. +La valeur par défaut est @samp{"/var/run/libvirt"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string auth-unix-ro -Authentication scheme for UNIX read-only sockets. By default socket -permissions allow anyone to connect +@deftypevr {paramètre de @code{libvirt-configuration}} string auth-unix-ro +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. -Defaults to @samp{"polkit"}. +La valeur par défaut est @samp{"polkit"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} string auth-unix-rw +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 ». -Defaults to @samp{"polkit"}. +La valeur par défaut est @samp{"polkit"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} string auth-tcp +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. -Defaults to @samp{"sasl"}. +La valeur par défaut est @samp{"sasl"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} string auth-tls +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. -Defaults to @samp{"none"}. +La valeur par défaut est @samp{"none"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} optional-list access-drivers -API access control scheme. +@deftypevr {paramètre de @code{libvirt-configuration}} optional-list access-drivers +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. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string key-file -Server key file path. If set to an empty string, then no private key is -loaded. +@deftypevr {paramètre de @code{libvirt-configuration}} string key-file +Chemin de fichier de la clef du serveur. Si la valeur est une chaîne vide, +aucune clef privée n'est chargée. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string cert-file -Server key file path. If set to an empty string, then no certificate is -loaded. +@deftypevr {paramètre de @code{libvirt-configuration}} string cert-file +Chemin de fichier de la clef du serveur. Si la chaîne est vide, aucun +certificat n'est chargé. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string ca-file -Server key file path. If set to an empty string, then no CA certificate is -loaded. +@deftypevr {paramètre de @code{libvirt-configuration}} string ca-file +Chemin de fichier de la clef du serveur. Si la chaîne est vide, aucun +certificat de CA n'est chargé. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string crl-file -Certificate revocation list path. If set to an empty string, then no CRL is -loaded. +@deftypevr {paramètre de @code{libvirt-configuration}} string crl-file +Chemin de la liste de révocation des certificats. Si la chaîne est vide, +aucun CRL n'est chargé. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert -Disable verification of our own server certificates. +@deftypevr {paramètre de @code{libvirt-configuration}} boolean tls-no-sanity-cert +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. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} boolean tls-no-verify-cert -Disable verification of client certificates. +@deftypevr {paramètre de @code{libvirt-configuration}} boolean tls-no-verify-cert +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é. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list -Whitelist of allowed x509 Distinguished Name. +@deftypevr {paramètre de @code{libvirt-configuration}} optional-list tls-allowed-dn-list +Liste blanche des Distinguished Name x509 autorisés. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames -Whitelist of allowed SASL usernames. The format for username depends on the -SASL authentication mechanism. +@deftypevr {paramètre de @code{libvirt-configuration}} optional-list sasl-allowed-usernames +Liste blanche des noms d'utilisateur SASL permis. Le format des noms +d'utilisateurs dépend du mécanisme d'authentification SASL. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} string tls-priority +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. -Defaults to @samp{"NORMAL"}. +La valeur par défaut est @samp{"NORMAL"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer max-clients -Maximum number of concurrent client connections to allow over all sockets -combined. +@deftypevr {paramètre de @code{libvirt-configuration}} integer max-clients +Nombre maximum de connexions clientes en même temps sur tous les sockets. -Defaults to @samp{5000}. +La valeur par défaut est @samp{5000}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} integer max-queued-clients +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. -Defaults to @samp{1000}. +La valeur par défaut est @samp{1000}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer max-anonymous-clients -Maximum length of queue of accepted but not yet authenticated clients. Set -this to zero to turn this feature off +@deftypevr {paramètre de @code{libvirt-configuration}} integer max-anonymous-clients +Longueur maximum de la queue des clients acceptés mais pas authentifiés. +Indiquez zéro pour désactiver ce paramètre. -Defaults to @samp{20}. +La valeur par défaut est @samp{20}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer min-workers -Number of workers to start up initially. +@deftypevr {paramètre de @code{libvirt-configuration}} integer min-workers +Nombre de processus de travail démarrés initialement. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer max-workers -Maximum number of worker threads. +@deftypevr {paramètre de @code{libvirt-configuration}} integer max-workers +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. -Defaults to @samp{20}. +La valeur par défaut est @samp{20}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} 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. +@deftypevr {paramètre de @code{libvirt-configuration}} integer prio-workers +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. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer max-requests -Total global limit on concurrent RPC calls. +@deftypevr {paramètre de @code{libvirt-configuration}} integer max-requests +Limite globale totale sur les appels RPC concurrents. -Defaults to @samp{20}. +La valeur par défaut est @samp{20}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer max-client-requests +@deftypevr {paramètre de @code{libvirt-configuration}} integer max-client-requests Limit on concurrent requests from a single client connection. To avoid one client monopolizing the server this should be a small fraction of the global max_requests and max_workers parameter. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer admin-min-workers +@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-min-workers Same as @code{min-workers} but for the admin interface. -Defaults to @samp{1}. +La valeur par défaut est @samp{1}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer admin-max-workers +@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-workers Same as @code{max-workers} but for the admin interface. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer admin-max-clients +@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-clients Same as @code{max-clients} but for the admin interface. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer admin-max-queued-clients +@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-queued-clients Same as @code{max-queued-clients} but for the admin interface. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer admin-max-client-requests +@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-max-client-requests Same as @code{max-client-requests} but for the admin interface. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer log-level +@deftypevr {paramètre de @code{libvirt-configuration}} integer log-level Logging level. 4 errors, 3 warnings, 2 information, 1 debug. -Defaults to @samp{3}. +La valeur par défaut est @samp{3}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string log-filters +@deftypevr {paramètre de @code{libvirt-configuration}} string log-filters Logging filters. A filter allows to select a different logging level for a given category of @@ -18791,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 @@ -18824,11 +20468,11 @@ should be logged: Multiple filters can be defined in a single filters statement, they just need to be separated by spaces. -Defaults to @samp{"3:remote 4:event"}. +La valeur par défaut est @samp{"3:remote 4:event"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string log-outputs +@deftypevr {paramètre de @code{libvirt-configuration}} string log-outputs Logging outputs. An output is one of the places to save logging information The format for an @@ -18868,11 +20512,11 @@ In all case the x prefix is the minimal level, acting as a filter Multiple outputs can be defined, they just need to be separated by spaces. -Defaults to @samp{"3:stderr"}. +La valeur par défaut est @samp{"3:stderr"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer audit-level +@deftypevr {paramètre de @code{libvirt-configuration}} integer audit-level Allows usage of the auditing subsystem to be altered @itemize @bullet @@ -18887,25 +20531,25 @@ Allows usage of the auditing subsystem to be altered @end itemize -Defaults to @samp{1}. +La valeur par défaut est @samp{1}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} boolean audit-logging +@deftypevr {paramètre de @code{libvirt-configuration}} boolean audit-logging Send audit messages via libvirt logging infrastructure. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} optional-string host-uuid +@deftypevr {paramètre de @code{libvirt-configuration}} optional-string host-uuid Host UUID. UUID must not have all digits be the same. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} string host-uuid-source +@deftypevr {paramètre de @code{libvirt-configuration}} string host-uuid-source Source to read host UUID. @itemize @bullet @@ -18920,21 +20564,21 @@ Source to read host UUID. If @code{dmidecode} does not provide a valid UUID a temporary UUID will be generated. -Defaults to @samp{"smbios"}. +La valeur par défaut est @samp{"smbios"}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer keepalive-interval +@deftypevr {paramètre de @code{libvirt-configuration}} integer keepalive-interval A keepalive message is sent to a client after @code{keepalive_interval} seconds of inactivity to check if the client is still responding. If set to -1, libvirtd will never send keepalive requests; however clients can still send them and the daemon will send responses. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer keepalive-count +@deftypevr {paramètre de @code{libvirt-configuration}} integer keepalive-count Maximum number of keepalive messages that are allowed to be sent to the client without getting any response before the connection is considered broken. @@ -18945,38 +20589,38 @@ message received from the client. When @code{keepalive-count} is set to 0, connections will be automatically closed after @code{keepalive-interval} seconds of inactivity without sending any keepalive messages. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer admin-keepalive-interval +@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-keepalive-interval Same as above but for admin interface. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer admin-keepalive-count +@deftypevr {paramètre de @code{libvirt-configuration}} integer admin-keepalive-count Same as above but for admin interface. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{libvirt-configuration} parameter} integer ovs-timeout +@deftypevr {paramètre de @code{libvirt-configuration}} integer ovs-timeout Timeout for Open vSwitch calls. The @code{ovs-vsctl} utility is used for the configuration and its timeout option is set by default to 5 seconds to avoid potential infinite waits blocking libvirt. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr @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. @@ -18987,7 +20631,7 @@ risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec() itself upon receiving @code{SIGUSR1}, to allow live upgrades without downtime. -@deffn {Scheme Variable} virtlog-service-type +@deffn {Variable Scheme} virtlog-service-type This is the type of the virtlog daemon. Its value must be a @code{virtlog-configuration}. @@ -18998,14 +20642,14 @@ This is the type of the virtlog daemon. Its value must be a @end example @end deffn -@deftypevr {@code{virtlog-configuration} parameter} integer log-level +@deftypevr {paramètre de @code{virtlog-configuration}} integer log-level Logging level. 4 errors, 3 warnings, 2 information, 1 debug. -Defaults to @samp{3}. +La valeur par défaut est @samp{3}. @end deftypevr -@deftypevr {@code{virtlog-configuration} parameter} string log-filters +@deftypevr {paramètre de @code{virtlog-configuration}} string log-filters Logging filters. A filter allows to select a different logging level for a given category of @@ -19013,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 @@ -19046,11 +20690,11 @@ should be logged: Multiple filters can be defined in a single filters statement, they just need to be separated by spaces. -Defaults to @samp{"3:remote 4:event"}. +La valeur par défaut est @samp{"3:remote 4:event"}. @end deftypevr -@deftypevr {@code{virtlog-configuration} parameter} string log-outputs +@deftypevr {paramètre de @code{virtlog-configuration}} string log-outputs Logging outputs. An output is one of the places to save logging information The format for an @@ -19090,35 +20734,34 @@ In all case the x prefix is the minimal level, acting as a filter Multiple outputs can be defined, they just need to be separated by spaces. -Defaults to @samp{"3:stderr"}. +La valeur par défaut est @samp{"3:stderr"}. @end deftypevr -@deftypevr {@code{virtlog-configuration} parameter} integer max-clients -Maximum number of concurrent client connections to allow over all sockets -combined. +@deftypevr {paramètre de @code{virtlog-configuration}} integer max-clients +Nombre maximum de connexions clientes en même temps sur tous les sockets. -Defaults to @samp{1024}. +La valeur par défaut est @samp{1024}. @end deftypevr -@deftypevr {@code{virtlog-configuration} parameter} integer max-size +@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 {@code{virtlog-configuration} parameter} integer max-backups +@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 @@ -19126,7 +20769,7 @@ to transparently execute an ARMv7 program on an x86_64 machine. It achieves this by combining the @uref{https://www.qemu.org, QEMU} emulator and the @code{binfmt_misc} feature of the kernel Linux. -@defvr {Scheme Variable} qemu-binfmt-service-type +@defvr {Variable Scheme} qemu-binfmt-service-type This is the type of the QEMU/binfmt service for transparent emulation. Its value must be a @code{qemu-binfmt-configuration} object, which specifies the QEMU package to use as well as the architecture we want to emulated: @@ -19143,15 +20786,15 @@ platforms. Running @code{herd stop qemu-binfmt} turns it off, and running @command{herd} command,, shepherd, The GNU Shepherd Manual}). @end defvr -@deftp {Data Type} qemu-binfmt-configuration +@deftp {Type de données} qemu-binfmt-configuration This is the configuration for the @code{qemu-binfmt} service. @table @asis -@item @code{platforms} (default: @code{'()}) +@item @code{platforms} (par défaut : @code{'()}) The list of emulated QEMU platforms. Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see below). -@item @code{guix-support?} (default: @code{#f}) +@item @code{guix-support?} (par défaut : @code{#f}) When it is true, QEMU and all its dependencies are added to the build environment of @command{guix-daemon} (@pxref{Invoquer guix-daemon, @code{--chroot-directory} option}). This allows the @code{binfmt_misc} @@ -19168,7 +20811,7 @@ service: (guix-support? #t))) @end example -You can run: +Vous pouvez lancer : @example guix build -s armhf-linux inkscape @@ -19179,23 +20822,23 @@ and it will build Inkscape for ARMv7 @emph{as if it were a native build}, transparently using QEMU to emulate the ARMv7 CPU. Pretty handy if you'd like to test a package build for an architecture you don't have access to! -@item @code{qemu} (default: @code{qemu}) -The QEMU package to use. +@item @code{qemu} (par défaut : @code{qemu}) +Le paquet QEMU à utiliser. @end table @end deftp -@deffn {Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{} +@deffn {Procédure Scheme} lookup-qemu-platforms @var{platforms}@dots{} Return the list of QEMU platform objects corresponding to @var{platforms}@dots{}. @var{platforms} must be a list of strings corresponding to platform names, such as @code{"arm"}, @code{"sparc"}, @code{"mips64el"}, and so on. @end deffn -@deffn {Scheme Procedure} qemu-platform? @var{obj} +@deffn {Procédure Scheme} qemu-platform? @var{obj} Return true if @var{obj} is a platform object. @end deffn -@deffn {Scheme Procedure} qemu-platform-name @var{platform} +@deffn {Procédure Scheme} qemu-platform-name @var{platform} Return the name of @var{platform}---a string such as @code{"arm"}. @end deffn @@ -19209,7 +20852,7 @@ remote access to local Git repositories. There are three options: the server to proxy some requests to @code{git-http-backend}, or providing a web interface with @code{cgit-service-type}. -@deffn {Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)] +@deffn {Procédure Scheme} git-daemon-service [#:config (git-daemon-configuration)] Return a service that runs @command{git daemon}, a simple TCP server to expose repositories over the Git protocol for anonymous access. @@ -19222,24 +20865,24 @@ access to exported@footnote{By creating the magic file @end deffn -@deftp {Data Type} git-daemon-configuration +@deftp {Type de données} git-daemon-configuration Data type representing the configuration for @code{git-daemon-service}. @table @asis -@item @code{package} (default: @var{git}) +@item @code{package} (par défaut : @var{git}) Package object of the Git distributed version control system. -@item @code{export-all?} (default: @var{#f}) +@item @code{export-all?} (par défaut : @var{#f}) Whether to allow access for all Git repositories, even if they do not have the @file{git-daemon-export-ok} file. -@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 interpret the path as @code{/srv/git/hello.git}. -@item @code{user-path} (default: @var{#f}) +@item @code{user-path} (par défaut : @var{#f}) Whether to allow @code{~user} notation to be used in requests. When specified with empty string, requests to @code{git://host/~alice/foo} is taken as a request to access @code{foo} repository in the home directory of @@ -19247,16 +20890,16 @@ user @code{alice}. If @var{(user-path "path")} is specified, the same request is taken as a request to access @code{path/foo} repository in the home directory of user @code{alice}. -@item @code{listen} (default: @var{'()}) +@item @code{listen} (par défaut : @var{'()}) Whether to listen on specific IP addresses or hostnames, defaults to all. -@item @code{port} (default: @var{#f}) +@item @code{port} (par défaut : @var{#f}) Whether to listen on an alternative port, which defaults to 9418. -@item @code{whitelist} (default: @var{'()}) +@item @code{whitelist} (par défaut : @var{'()}) If not empty, only allow access to this list of directories. -@item @code{extra-options} (default: @var{'()}) +@item @code{extra-options} (par défaut : @var{'()}) Extra options will be passed to @code{git daemon}, please run @command{man git-daemon} for more information. @@ -19276,27 +20919,27 @@ Git web service. It is designed to sit behind a FastCGI proxy. @xref{Services Guix has a separate configuration data type for serving Git repositories over HTTP. -@deftp {Data Type} git-http-configuration +@deftp {Type de données} git-http-configuration Data type representing the configuration for @code{git-http-service}. @table @asis -@item @code{package} (default: @var{git}) +@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?} (default: @var{#f}) +@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 this prefix are not passed on to this Git instance. -@item @code{fcgiwrap-socket} (default: @code{127.0.0.1:9000}) +@item @code{fcgiwrap-socket} (par défaut : @code{127.0.0.1:9000}) The socket on which the @code{fcgiwrap} daemon is listening. @xref{Services web}. @end table @end deftp @@ -19305,7 +20948,7 @@ There is no @code{git-http-service-type}, currently; instead you can create an @code{nginx-location-configuration} from a @code{git-http-configuration} and then add that location to a web server. -@deffn {Scheme Procedure} git-http-nginx-location-configuration @ +@deffn {Procédure Scheme} git-http-nginx-location-configuration @ [config=(git-http-configuration)] Compute an @code{nginx-location-configuration} that corresponds to the given Git http configuration. An example nginx service definition to serve the default @@ -19336,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}). @@ -19355,900 +20998,900 @@ The @code{file-object} type designates either a file-like object @c %start of fragment -Available @code{cgit-configuration} fields are: +Les champs de @code{cgit-configuration} disponibles sont : -@deftypevr {@code{cgit-configuration} parameter} package package -The CGIT package. +@deftypevr {paramètre de @code{cgit-configuration}} package package +Le paquet cgit. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} nginx-server-configuration-list nginx -NGINX configuration. +@deftypevr {paramètre de @code{cgit-configuration}} nginx-server-configuration-list nginx +Configuration Nginx. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object about-filter +@deftypevr {paramètre de @code{cgit-configuration}} file-object about-filter Specifies a command which will be invoked to format the content of about pages (both top-level and for each repository). -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string agefile +@deftypevr {paramètre de @code{cgit-configuration}} string agefile Specifies a path, relative to each repository path, which can be used to specify the date and time of the youngest commit in the repository. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object auth-filter +@deftypevr {paramètre de @code{cgit-configuration}} file-object auth-filter Specifies a command that will be invoked for authenticating repository access. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string branch-sort +@deftypevr {paramètre de @code{cgit-configuration}} string branch-sort Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set @samp{name} enables ordering by branch name. -Defaults to @samp{"name"}. +La valeur par défaut est @samp{"name"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string cache-root +@deftypevr {paramètre de @code{cgit-configuration}} string cache-root Path used to store the cgit cache entries. -Defaults to @samp{"/var/cache/cgit"}. +La valeur par défaut est @samp{"/var/cache/cgit"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-static-ttl +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-static-ttl Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed with a fixed SHA1. -Defaults to @samp{-1}. +La valeur par défaut est @samp{-1}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-dynamic-ttl +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-dynamic-ttl Number which specifies the time-to-live, in minutes, for the cached version of repository pages accessed without a fixed SHA1. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-repo-ttl +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-repo-ttl Number which specifies the time-to-live, in minutes, for the cached version of the repository summary page. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-root-ttl +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-root-ttl Number which specifies the time-to-live, in minutes, for the cached version of the repository index page. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-scanrc-ttl +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-scanrc-ttl Number which specifies the time-to-live, in minutes, for the result of scanning a path for Git repositories. -Defaults to @samp{15}. +La valeur par défaut est @samp{15}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-about-ttl +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-about-ttl Number which specifies the time-to-live, in minutes, for the cached version of the repository about page. -Defaults to @samp{15}. +La valeur par défaut est @samp{15}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-snapshot-ttl +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-snapshot-ttl Number which specifies the time-to-live, in minutes, for the cached version of snapshots. -Defaults to @samp{5}. +La valeur par défaut est @samp{5}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer cache-size +@deftypevr {paramètre de @code{cgit-configuration}} integer cache-size The maximum number of entries in the cgit cache. When set to @samp{0}, caching is disabled. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean case-sensitive-sort? +@deftypevr {paramètre de @code{cgit-configuration}} boolean case-sensitive-sort? Sort items in the repo list case sensitively. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} list clone-prefix +@deftypevr {paramètre de @code{cgit-configuration}} list clone-prefix List of common prefixes which, when combined with a repository URL, generates valid clone URLs for the repository. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} list clone-url +@deftypevr {paramètre de @code{cgit-configuration}} list clone-url List of @code{clone-url} templates. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object commit-filter +@deftypevr {paramètre de @code{cgit-configuration}} file-object commit-filter Command which will be invoked to format commit messages. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string commit-sort +@deftypevr {paramètre de @code{cgit-configuration}} string commit-sort Flag which, when set to @samp{date}, enables strict date ordering in the commit log, and when set to @samp{topo} enables strict topological ordering. -Defaults to @samp{"git log"}. +La valeur par défaut est @samp{"git log"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object css +@deftypevr {paramètre de @code{cgit-configuration}} file-object css URL which specifies the css document to include in all cgit pages. -Defaults to @samp{"/share/cgit/cgit.css"}. +La valeur par défaut est @samp{"/share/cgit/cgit.css"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object email-filter +@deftypevr {paramètre de @code{cgit-configuration}} file-object email-filter Specifies a command which will be invoked to format names and email address of committers, authors, and taggers, as represented in various places throughout the cgit interface. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean embedded? +@deftypevr {paramètre de @code{cgit-configuration}} boolean embedded? Flag which, when set to @samp{#t}, will make cgit generate a HTML fragment suitable for embedding in other HTML pages. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-commit-graph? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-commit-graph? Flag which, when set to @samp{#t}, will make cgit print an ASCII-art commit history graph to the left of the commit messages in the repository log page. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-filter-overrides? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-filter-overrides? Flag which, when set to @samp{#t}, allows all filter settings to be overridden in repository-specific cgitrc files. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-follow-links? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-follow-links? Flag which, when set to @samp{#t}, allows users to follow a file in the log view. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-http-clone? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-http-clone? If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git clones. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-index-links? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-index-links? Flag which, when set to @samp{#t}, will make cgit generate extra links "summary", "commit", "tree" for each repo in the repository index. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-index-owner? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-index-owner? Flag which, when set to @samp{#t}, will make cgit display the owner of each repo in the repository index. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-log-filecount? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-log-filecount? Flag which, when set to @samp{#t}, will make cgit print the number of modified files for each commit on the repository log page. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-log-linecount? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-log-linecount? Flag which, when set to @samp{#t}, will make cgit print the number of added and removed lines for each commit on the repository log page. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-remote-branches? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-remote-branches? Flag which, when set to @code{#t}, will make cgit display remote branches in the summary and refs views. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-subject-links? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-subject-links? Flag which, when set to @code{1}, will make cgit use the subject of the parent commit as link text when generating links to parent commits in commit view. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-html-serving? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-html-serving? Flag which, when set to @samp{#t}, will make cgit use the subject of the parent commit as link text when generating links to parent commits in commit view. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-tree-linenumbers? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-tree-linenumbers? Flag which, when set to @samp{#t}, will make cgit generate linenumber links for plaintext blobs printed in the tree view. -Defaults to @samp{#t}. +La valeur par défaut est @samp{#t}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean enable-git-config? +@deftypevr {paramètre de @code{cgit-configuration}} boolean enable-git-config? Flag which, when set to @samp{#f}, will allow cgit to use Git config to set any repo specific settings. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object favicon +@deftypevr {paramètre de @code{cgit-configuration}} file-object favicon URL used as link to a shortcut icon for cgit. -Defaults to @samp{"/favicon.ico"}. +La valeur par défaut est @samp{"/favicon.ico"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string footer +@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). -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string head-include +@deftypevr {paramètre de @code{cgit-configuration}} string head-include The content of the file specified with this option will be included verbatim in the HTML HEAD section on all pages. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string header +@deftypevr {paramètre de @code{cgit-configuration}} string header The content of the file specified with this option will be included verbatim at the top of all pages. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object include +@deftypevr {paramètre de @code{cgit-configuration}} file-object include Name of a configfile to include before the rest of the current config- file is parsed. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string index-header +@deftypevr {paramètre de @code{cgit-configuration}} string index-header The content of the file specified with this option will be included verbatim above the repository index. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string index-info +@deftypevr {paramètre de @code{cgit-configuration}} string index-info The content of the file specified with this option will be included verbatim below the heading on the repository index page. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean local-time? +@deftypevr {paramètre de @code{cgit-configuration}} boolean local-time? Flag which, if set to @samp{#t}, makes cgit print commit and tag times in the servers timezone. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object logo +@deftypevr {paramètre de @code{cgit-configuration}} file-object logo URL which specifies the source of an image which will be used as a logo on all cgit pages. -Defaults to @samp{"/share/cgit/cgit.png"}. +La valeur par défaut est @samp{"/share/cgit/cgit.png"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string logo-link +@deftypevr {paramètre de @code{cgit-configuration}} string logo-link URL loaded when clicking on the cgit logo image. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object owner-filter +@deftypevr {paramètre de @code{cgit-configuration}} file-object owner-filter Command which will be invoked to format the Owner column of the main page. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer max-atom-items +@deftypevr {paramètre de @code{cgit-configuration}} integer max-atom-items Number of items to display in atom feeds view. -Defaults to @samp{10}. +La valeur par défaut est @samp{10}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer max-commit-count +@deftypevr {paramètre de @code{cgit-configuration}} integer max-commit-count Number of entries to list per page in "log" view. -Defaults to @samp{50}. +La valeur par défaut est @samp{50}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer max-message-length +@deftypevr {paramètre de @code{cgit-configuration}} integer max-message-length Number of commit message characters to display in "log" view. -Defaults to @samp{80}. +La valeur par défaut est @samp{80}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer max-repo-count +@deftypevr {paramètre de @code{cgit-configuration}} integer max-repo-count Specifies the number of entries to list per page on the repository index page. -Defaults to @samp{50}. +La valeur par défaut est @samp{50}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer max-repodesc-length +@deftypevr {paramètre de @code{cgit-configuration}} integer max-repodesc-length Specifies the maximum number of repo description characters to display on the repository index page. -Defaults to @samp{80}. +La valeur par défaut est @samp{80}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer max-blob-size +@deftypevr {paramètre de @code{cgit-configuration}} integer max-blob-size Specifies the maximum size of a blob to display HTML for in KBytes. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string max-stats +@deftypevr {paramètre de @code{cgit-configuration}} string max-stats Maximum statistics period. Valid values are @samp{week},@samp{month}, @samp{quarter} and @samp{year}. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} mimetype-alist mimetype +@deftypevr {paramètre de @code{cgit-configuration}} mimetype-alist mimetype Mimetype for the specified filename extension. -Defaults to @samp{((gif "image/gif") (html "text/html") (jpg "image/jpeg") -(jpeg "image/jpeg") (pdf "application/pdf") (png "image/png") (svg -"image/svg+xml"))}. +La valeur par défaut est @samp{((gif "image/gif") (html "text/html") (jpg +"image/jpeg") (jpeg "image/jpeg") (pdf "application/pdf") (png "image/png") +(svg "image/svg+xml"))}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object mimetype-file +@deftypevr {paramètre de @code{cgit-configuration}} file-object mimetype-file Specifies the file to use for automatic mimetype lookup. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string module-link +@deftypevr {paramètre de @code{cgit-configuration}} string module-link Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean nocache? +@deftypevr {paramètre de @code{cgit-configuration}} boolean nocache? If set to the value @samp{#t} caching will be disabled. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean noplainemail? +@deftypevr {paramètre de @code{cgit-configuration}} boolean noplainemail? If set to @samp{#t} showing full author email addresses will be disabled. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean noheader? +@deftypevr {paramètre de @code{cgit-configuration}} boolean noheader? Flag which, when set to @samp{#t}, will make cgit omit the standard header on all pages. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} project-list project-list +@deftypevr {paramètre de @code{cgit-configuration}} project-list project-list A list of subdirectories inside of @code{repository-directory}, relative to it, that should loaded as Git repositories. An empty list means that all subdirectories will be loaded. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object readme +@deftypevr {paramètre de @code{cgit-configuration}} file-object readme Text which will be used as default value for @code{cgit-repo-readme}. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean remove-suffix? +@deftypevr {paramètre de @code{cgit-configuration}} boolean remove-suffix? If set to @code{#t} and @code{repository-directory} is enabled, if any repositories are found with a suffix of @code{.git}, this suffix will be removed for the URL and name. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer renamelimit +@deftypevr {paramètre de @code{cgit-configuration}} integer renamelimit Maximum number of files to consider when detecting renames. -Defaults to @samp{-1}. +La valeur par défaut est @samp{-1}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string repository-sort +@deftypevr {paramètre de @code{cgit-configuration}} string repository-sort The way in which repositories in each section are sorted. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} robots-list robots +@deftypevr {paramètre de @code{cgit-configuration}} robots-list robots Text used as content for the @code{robots} meta-tag. -Defaults to @samp{("noindex" "nofollow")}. +La valeur par défaut est @samp{("noindex" "nofollow")}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string root-desc +@deftypevr {paramètre de @code{cgit-configuration}} string root-desc Text printed below the heading on the repository index page. -Defaults to @samp{"a fast webinterface for the git dscm"}. +La valeur par défaut est @samp{"a fast webinterface for the git dscm"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string root-readme +@deftypevr {paramètre de @code{cgit-configuration}} string root-readme The content of the file specified with this option will be included verbatim below thef "about" link on the repository index page. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string root-title +@deftypevr {paramètre de @code{cgit-configuration}} string root-title Text printed as heading on the repository index page. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean scan-hidden-path +@deftypevr {paramètre de @code{cgit-configuration}} boolean scan-hidden-path If set to @samp{#t} and repository-directory is enabled, repository-directory will recurse into directories whose name starts with a period. Otherwise, repository-directory will stay away from such directories, considered as "hidden". Note that this does not apply to the ".git" directory in non-bare repos. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} list snapshots +@deftypevr {paramètre de @code{cgit-configuration}} list snapshots Text which specifies the default set of snapshot formats that cgit generates links for. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} repository-directory repository-directory +@deftypevr {paramètre de @code{cgit-configuration}} repository-directory repository-directory Name of the directory to scan for repositories (represents @code{scan-path}). -Defaults to @samp{"/srv/git"}. +La valeur par défaut est @samp{"/srv/git"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string section +@deftypevr {paramètre de @code{cgit-configuration}} string section The name of the current repository section - all repositories defined after this option will inherit the current section name. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string section-sort +@deftypevr {paramètre de @code{cgit-configuration}} string section-sort Flag which, when set to @samp{1}, will sort the sections on the repository listing by name. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer section-from-path +@deftypevr {paramètre de @code{cgit-configuration}} integer section-from-path A number which, if defined prior to repository-directory, specifies how many path elements from each repo path to use as a default section name. -Defaults to @samp{0}. +La valeur par défaut est @samp{0}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} boolean side-by-side-diffs? +@deftypevr {paramètre de @code{cgit-configuration}} boolean side-by-side-diffs? If set to @samp{#t} shows side-by-side diffs instead of unidiffs per default. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} file-object source-filter +@deftypevr {paramètre de @code{cgit-configuration}} file-object source-filter Specifies a command which will be invoked to format plaintext blobs in the tree view. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer summary-branches +@deftypevr {paramètre de @code{cgit-configuration}} integer summary-branches Specifies the number of branches to display in the repository "summary" view. -Defaults to @samp{10}. +La valeur par défaut est @samp{10}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer summary-log +@deftypevr {paramètre de @code{cgit-configuration}} integer summary-log Specifies the number of log entries to display in the repository "summary" view. -Defaults to @samp{10}. +La valeur par défaut est @samp{10}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} integer summary-tags +@deftypevr {paramètre de @code{cgit-configuration}} integer summary-tags Specifies the number of tags to display in the repository "summary" view. -Defaults to @samp{10}. +La valeur par défaut est @samp{10}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string strict-export +@deftypevr {paramètre de @code{cgit-configuration}} string strict-export Filename which, if specified, needs to be present within the repository for cgit to allow access to that repository. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} string virtual-root +@deftypevr {paramètre de @code{cgit-configuration}} string virtual-root URL which, if specified, will be used as root for all cgit links. -Defaults to @samp{"/"}. +La valeur par défaut est @samp{"/"}. @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories +@deftypevr {paramètre de @code{cgit-configuration}} repository-cgit-configuration-list repositories A list of @dfn{cgit-repo} records to use with config. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. -Available @code{repository-cgit-configuration} fields are: +Les champs de @code{repository-cgit-configuration} disponibles sont : -@deftypevr {@code{repository-cgit-configuration} parameter} repo-list snapshots +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list snapshots A mask of snapshot formats for this repo that cgit generates links for, restricted by the global @code{snapshots} setting. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object source-filter +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object source-filter Override the default @code{source-filter}. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string url +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string url The relative URL used to access the repository. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object about-filter +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object about-filter Override the default @code{about-filter}. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string branch-sort +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string branch-sort Flag which, when set to @samp{age}, enables date ordering in the branch ref list, and when set to @samp{name} enables ordering by branch name. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-list clone-url +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list clone-url A list of URLs which can be used to clone repo. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object commit-filter +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object commit-filter Override the default @code{commit-filter}. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string commit-sort +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string commit-sort Flag which, when set to @samp{date}, enables strict date ordering in the commit log, and when set to @samp{topo} enables strict topological ordering. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string defbranch +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string defbranch The name of the default branch for this repository. If no such branch exists in the repository, the first branch name (when sorted) is used as default instead. By default branch pointed to by HEAD, or "master" if there is no suitable HEAD. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string desc +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string desc The value to show as repository description. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string homepage +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string homepage The value to show as repository homepage. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object email-filter +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object email-filter Override the default @code{email-filter}. -Defaults to @samp{""}. +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?}. -Defaults to @samp{disabled}. +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?}. -Defaults to @samp{disabled}. +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?}. -Defaults to @samp{disabled}. +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. -Defaults to @samp{disabled}. +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?}. -Defaults to @samp{disabled}. +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?}. -Defaults to @samp{disabled}. +La valeur par défaut est @samp{disabled}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean hide? +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-boolean hide? Flag which, when set to @code{#t}, hides the repository from the repository index. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean ignore? +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-boolean ignore? Flag which, when set to @samp{#t}, ignores the repository. -Defaults to @samp{#f}. +La valeur par défaut est @samp{#f}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object logo +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object logo URL which specifies the source of an image which will be used as a logo on this repo’s pages. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string logo-link +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string logo-link URL loaded when clicking on the cgit logo image. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-file-object owner-filter +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-file-object owner-filter Override the default @code{owner-filter}. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string module-link +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string module-link Text which will be used as the formatstring for a hyperlink when a submodule is printed in a directory listing. The arguments for the formatstring are the path and SHA1 of the submodule commit. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} module-link-path module-link-path +@deftypevr {paramètre de @code{repository-cgit-configuration}} module-link-path module-link-path Text which will be used as the formatstring for a hyperlink when a submodule with the specified subdirectory path is printed in a directory listing. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string max-stats +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string max-stats Override the default maximum statistics period. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string name +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string name The value to show as repository name. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string owner +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string owner A value used to identify the owner of the repository. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string path +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string path An absolute path to the repository directory. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string readme +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string readme A path (relative to repo) which specifies a file to include verbatim as the "About" page for this repo. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-string section +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-string section The name of the current repository section - all repositories defined after this option will inherit the current section name. -Defaults to @samp{""}. +La valeur par défaut est @samp{""}. @end deftypevr -@deftypevr {@code{repository-cgit-configuration} parameter} repo-list extra-options +@deftypevr {paramètre de @code{repository-cgit-configuration}} repo-list extra-options Extra options will be appended to cgitrc file. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr @end deftypevr -@deftypevr {@code{cgit-configuration} parameter} list extra-options +@deftypevr {paramètre de @code{cgit-configuration}} list extra-options Extra options will be appended to cgitrc file. -Defaults to @samp{()}. +La valeur par défaut est @samp{()}. @end deftypevr @@ -20260,13 +21903,13 @@ running. In that case, you can pass an @code{opaque-cgit-configuration} as a record to @code{cgit-service-type}. As its name indicates, an opaque configuration does not have easy reflective capabilities. -Available @code{opaque-cgit-configuration} fields are: +Les champs de @code{opaque-cgit-configuration} disponibles sont : -@deftypevr {@code{opaque-cgit-configuration} parameter} package cgit +@deftypevr {paramètre de @code{opaque-cgit-configuration}} package cgit The cgit package. @end deftypevr -@deftypevr {@code{opaque-cgit-configuration} parameter} string string +@deftypevr {paramètre de @code{opaque-cgit-configuration}} string string The contents of the @code{cgitrc}, as a string. @end deftypevr @@ -20279,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 @@ -20289,7 +22027,7 @@ instantiate a cgit service like this: tactical strategy game, with several single player campaigns, and multiplayer games (both networked and local). -@defvar {Scheme Variable} wesnothd-service-type +@defvar {Variable Scheme} wesnothd-service-type Service type for the wesnothd service. Its value must be a @code{wesnothd-configuration} object. To run wesnothd in the default configuration, instantiate it as: @@ -20299,14 +22037,14 @@ configuration, instantiate it as: @end example @end defvar -@deftp {Data Type} wesnothd-configuration +@deftp {Type de données} wesnothd-configuration Data type representing the configuration of @command{wesnothd}. @table @asis -@item @code{package} (default: @code{wesnoth-server}) +@item @code{package} (par défaut : @code{wesnoth-server}) The wesnoth server package to use. -@item @code{port} (default: @code{15000}) +@item @code{port} (par défaut : @code{15000}) The port to bind the server to. @end table @end deftp @@ -20315,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. @@ -20335,7 +22073,7 @@ reading capability. The @code{(gnu services sysctl)} provides a service to configure kernel parameters at boot. -@defvr {Scheme Variable} sysctl-service-type +@defvr {Variable Scheme} sysctl-service-type The service type for @command{sysctl}, which modifies kernel parameters under @file{/proc/sys/}. To enable IPv4 forwarding, it can be instantiated as: @@ -20347,24 +22085,56 @@ as: @end example @end defvr -@deftp {Data Type} sysctl-configuration +@deftp {Type de données} sysctl-configuration The data type representing the configuration of @command{sysctl}. @table @asis -@item @code{sysctl} (default: @code{(file-append procps "/sbin/sysctl"}) +@item @code{sysctl} (par défaut : @code{(file-append procps "/sbin/sysctl"}) The @command{sysctl} executable to use. -@item @code{settings} (default: @code{'()}) +@item @code{settings} (par défaut : @code{'()}) An association list specifies kernel parameters and their values. @end table @end deftp +@cindex pcscd +@subsubheading PC/SC Smart Card Daemon Service + +The @code{(gnu services security-token)} module provides the following +service to run @command{pcscd}, the PC/SC Smart Card Daemon. +@command{pcscd} is the daemon program for pcsc-lite and the MuscleCard +framework. It is a resource manager that coordinates communications with +smart card readers, smart cards and cryptographic tokens that are connected +to the system. + +@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 {Type de données} pcscd-configuration +Type de données représentant la configuration de @command{pcscd}. + +@table @asis +@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 +@end deftp + @cindex lirc @subsubheading Lirc Service The @code{(gnu services lirc)} module provides the following service. -@deffn {Scheme Procedure} lirc-service [#:lirc lirc] @ +@deffn {Procédure Scheme} lirc-service [#:lirc lirc] @ [#:device #f] [#:driver #f] [#:config-file #f] @ [#:extra-options '()] Return a service that runs @url{http://www.lirc.org,LIRC}, a daemon that decodes infrared signals from remote controls. @@ -20381,7 +22151,7 @@ passed to @command{lircd}. The @code{(gnu services spice)} module provides the following service. -@deffn {Scheme Procedure} spice-vdagent-service [#:spice-vdagent] +@deffn {Procédure Scheme} spice-vdagent-service [#:spice-vdagent] Returns a service that runs @url{http://www.spice-space.org,VDAGENT}, a daemon that enables sharing the clipboard with a vm and setting the guest display resolution when the graphical console window resizes. @@ -20391,7 +22161,7 @@ display resolution when the graphical console window resizes. @cindex dictionary The @code{(gnu services dict)} module provides the following service: -@deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)] +@deffn {Procédure Scheme} dicod-service [#:config (dicod-configuration)] Return a service that runs the @command{dicod} daemon, an implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). @@ -20404,34 +22174,34 @@ You can add @command{open localhost} to your @file{~/.dico} file to make (@pxref{Initialization File,,, dico, GNU Dico Manual}). @end deffn -@deftp {Data Type} dicod-configuration +@deftp {Type de données} dicod-configuration Data type representing the configuration of dicod. @table @asis -@item @code{dico} (default: @var{dico}) +@item @code{dico} (par défaut : @var{dico}) Package object of the GNU Dico dictionary server. -@item @code{interfaces} (default: @var{'("localhost")}) +@item @code{interfaces} (par défaut : @var{'("localhost")}) This is the list of IP addresses and ports and possibly socket file names to listen to (@pxref{Server Settings, @code{listen} directive,, dico, GNU Dico Manual}). -@item @code{handlers} (default: @var{'()}) +@item @code{handlers} (par défaut : @var{'()}) List of @code{<dicod-handler>} objects denoting handlers (module instances). -@item @code{databases} (default: @var{(list %dicod-database:gcide)}) +@item @code{databases} (par défaut : @var{(list %dicod-database:gcide)}) List of @code{<dicod-database>} objects denoting dictionaries to be served. @end table @end deftp -@deftp {Data Type} dicod-handler +@deftp {Type de données} dicod-handler Data type representing a dictionary handler (module instance). @table @asis @item @code{name} Name of the handler (module instance). -@item @code{module} (default: @var{#f}) +@item @code{module} (par défaut : @var{#f}) Name of the dicod module of the handler (instance). If it is @code{#f}, the module has the same name as the handler. (@pxref{Modules,,, dico, GNU Dico Manual}). @@ -20441,7 +22211,7 @@ List of strings or gexps representing the arguments for the module handler @end table @end deftp -@deftp {Data Type} dicod-database +@deftp {Type de données} dicod-database Data type representing a dictionary database. @table @asis @@ -20452,7 +22222,7 @@ Name of the database, will be used in DICT commands. Name of the dicod handler (module instance) used by this database (@pxref{Handlers,,, dico, GNU Dico Manual}). -@item @code{complex?} (default: @var{#f}) +@item @code{complex?} (par défaut : @var{#f}) Whether the database configuration complex. The complex configuration will need a corresponding @code{<dicod-handler>} object, otherwise not. @@ -20462,7 +22232,7 @@ List of strings or gexps representing the arguments for the database @end table @end deftp -@defvr {Scheme Variable} %dicod-database:gcide +@defvr {Variable Scheme} %dicod-database:gcide A @code{<dicod-database>} object serving the GNU Collaborative International Dictionary of English using the @code{gcide} package. @end defvr @@ -20518,7 +22288,7 @@ designated by this G-expression (@pxref{G-Expressions}): A default set of setuid programs is defined by the @code{%setuid-programs} variable of the @code{(gnu system)} module. -@defvr {Scheme Variable} %setuid-programs +@defvr {Variable Scheme} %setuid-programs A list of G-expressions denoting common programs that are setuid-root. The list includes commands such as @command{passwd}, @command{ping}, @@ -20655,12 +22425,12 @@ the name service cache daemon (@pxref{Services de base, @code{nscd-service}}). For convenience, the following variables provide typical NSS configurations. -@defvr {Scheme Variable} %default-nss +@defvr {Variable Scheme} %default-nss This is the default name service switch configuration, a @code{name-service-switch} object. @end defvr -@defvr {Scheme Variable} %mdns-host-lookup-nss +@defvr {Variable Scheme} %mdns-host-lookup-nss This is the name service switch configuration with support for host name lookup over multicast DNS (mDNS) for host names ending in @code{.local}. @end defvr @@ -20674,7 +22444,7 @@ adding this warm parenthetic feel that we like, but also static checks: you will know about syntax errors and typos as soon as you run @command{guix system}. -@deftp {Data Type} name-service-switch +@deftp {Type de données} name-service-switch This is the data type representation the configuration of libc's name service switch (NSS). Each field below represents one of the supported @@ -20699,7 +22469,7 @@ list of @code{<name-service>} objects (see below). @end table @end deftp -@deftp {Data Type} name-service +@deftp {Type de données} name-service This is the data type representing an actual name service and the associated lookup action. @@ -20730,7 +22500,7 @@ Reference Manual}). For example: @subsection Disque de RAM initial @cindex initrd -@cindex initial RAM disk +@cindex disque de RAM initial For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial RAM disk}, or @dfn{initrd}. An initrd contains a temporary root file system as well as an initialization script. The latter is responsible for mounting @@ -20751,7 +22521,7 @@ default modules to be able to access your root file system, you would write: (initrd-modules (cons "megaraid_sas" %base-initrd-modules))) @end example -@defvr {Scheme Variable} %base-initrd-modules +@defvr {Variable Scheme} %base-initrd-modules This is the list of kernel modules included in the initrd by default. @end defvr @@ -20830,12 +22600,12 @@ Now that you know all the features that initial RAM disks produced by customize it further. @cindex initrd -@cindex initial RAM disk -@deffn {Monadic Procedure} raw-initrd @var{file-systems} @ +@cindex disque de RAM initial +@deffn {Procédure Scheme} raw-initrd @var{file-systems} @ [#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] -[#:qemu-networking? #f] [#:volatile-root? #f] Return a 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 @@ -20852,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}. @@ -20875,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 @@ -20898,7 +22669,7 @@ Some of the bootloaders do not honor every field of @code{bootloader-configuration}. For instance, the extlinux bootloader does not support themes and thus ignores the @code{theme} field. -@deftp {Data Type} bootloader-configuration +@deftp {Type de données} bootloader-configuration The type of a bootloader configuration declaration. @table @asis @@ -20921,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 @@ -20938,24 +22709,24 @@ by the bootloader @command{installer} command, such as @code{/dev/sda} or @code{grub-efi-bootloader}, it should be the mount point of the EFI file system, usually @file{/boot/efi}. -@item @code{menu-entries} (default: @code{()}) +@item @code{menu-entries} (par défaut : @code{()}) A possibly empty list of @code{menu-entry} objects (see below), denoting entries to appear in the bootloader menu, in addition to the current system entry and the entry pointing to previous system generations. -@item @code{default-entry} (default: @code{0}) +@item @code{default-entry} (par défaut : @code{0}) The index of the default boot menu entry. Index 0 is for the entry of the current system. -@item @code{timeout} (default: @code{5}) +@item @code{timeout} (par défaut : @code{5}) The number of seconds to wait for keyboard input before booting. Set to 0 to boot immediately, and to -1 to wait indefinitely. -@item @code{theme} (default: @var{#f}) +@item @code{theme} (par défaut : @var{#f}) The bootloader theme object describing the theme to use. If no theme is provided, some bootloaders might use a default theme, that's true for GRUB. -@item @code{terminal-outputs} (default: @code{'gfxterm}) +@item @code{terminal-outputs} (par défaut : @code{'gfxterm}) The output terminals used for the bootloader boot menu, as a list of symbols. GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, @@ -20963,7 +22734,7 @@ symbols. GRUB accepts the values: @code{console}, @code{serial}, variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual}). -@item @code{terminal-inputs} (default: @code{'()}) +@item @code{terminal-inputs} (par défaut : @code{'()}) The input terminals used for the bootloader boot menu, as a list of symbols. For GRUB, the default is the native platform terminal as determined at run-time. GRUB accepts the values: @code{console}, @@ -20972,12 +22743,12 @@ determined at run-time. GRUB accepts the values: @code{console}, @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual}). -@item @code{serial-unit} (default: @code{#f}) +@item @code{serial-unit} (par défaut : @code{#f}) The serial unit used by the bootloader, as an integer from 0 to 3. For GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual}). -@item @code{serial-speed} (default: @code{#f}) +@item @code{serial-speed} (par défaut : @code{#f}) The speed of the serial interface, as an integer. For GRUB, the default value is chosen at run-time; currently GRUB chooses 9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual}). @@ -21003,7 +22774,7 @@ lines: Details below. -@deftp {Data Type} menu-entry +@deftp {Type de données} menu-entry The type of an entry in the bootloader menu. @table @asis @@ -21029,14 +22800,14 @@ grub, GNU GRUB manual}), for example: If the device is specified explicitly as above, then the @code{device} field is ignored entirely. -@item @code{linux-arguments} (default: @code{()}) +@item @code{linux-arguments} (par défaut : @code{()}) The list of extra Linux kernel command-line arguments---e.g., @code{("console=ttyS0")}. @item @code{initrd} A G-Expression or string denoting the file name of the initial RAM disk to use (@pxref{G-Expressions}). -@item @code{device} (default: @code{#f}) +@item @code{device} (par défaut : @code{#f}) The device where the kernel and initrd are to be found---i.e., for GRUB, @dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual}). @@ -21053,7 +22824,7 @@ bootloader will search the device containing the file specified by the Fow now only GRUB has theme support. GRUB themes are created using the @code{grub-theme} form, which is not documented yet. -@defvr {Scheme Variable} %default-theme +@defvr {Variable Scheme} %default-theme This is the default GRUB theme used by the operating system if no @code{theme} field is specified in @code{bootloader-configuration} record. @@ -21062,7 +22833,7 @@ It comes with a fancy background image displaying the GNU and Guix logos. @node Invoquer guix system -@subsection Invoking @code{guix system} +@subsection Invoquer @code{guix system} Once you have written an operating system declaration as seen in the previous section, it can be @dfn{instantiated} using the @command{guix @@ -21121,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}). @@ -21531,7 +23303,7 @@ download}. @subsubsection Connecting Through SSH @cindex SSH -@cindex SSH server +@cindex serveur SSH To enable SSH inside a VM you need to add a SSH server like @code{(dropbear-service)} or @code{(lsh-service)} to your VM. The @code{(lsh-service}) doesn't currently boot unsupervised. It requires you @@ -21785,7 +23557,7 @@ We have seen an overview of service types (@pxref{Types service et services}). and service types. This interface is provided by the @code{(gnu services)} module. -@deffn {Scheme Procedure} service @var{type} [@var{value}] +@deffn {Procédure Scheme} service @var{type} [@var{value}] Return a new service of @var{type}, a @code{<service-type>} object (see below.) @var{value} can be any object; it represents the parameters of this particular service instance. @@ -21811,15 +23583,15 @@ In both cases the result is an instance of @code{openssh-service-type} with the default configuration. @end deffn -@deffn {Scheme Procedure} service? @var{obj} +@deffn {Procédure Scheme} service? @var{obj} Return true if @var{obj} is a service. @end deffn -@deffn {Scheme Procedure} service-kind @var{service} +@deffn {Procédure Scheme} service-kind @var{service} Return the type of @var{service}---i.e., a @code{<service-type>} object. @end deffn -@deffn {Scheme Procedure} service-value @var{service} +@deffn {Procédure Scheme} service-value @var{service} Return the value associated with @var{service}. It represents its parameters. @end deffn @@ -21881,8 +23653,8 @@ you want to know when writing new service definitions, but not necessarily when simply looking for ways to customize your @code{operating-system} declaration. -@deftp {Data Type} service-type -@cindex service type +@deftp {Type de données} service-type +@cindex type de service This is the representation of a @dfn{service type} (@pxref{Types service et services}). @table @asis @@ -21892,7 +23664,7 @@ This is a symbol, used only to simplify inspection and debugging. @item @code{extensions} A non-empty list of @code{<service-extension>} objects (see below). -@item @code{compose} (default: @code{#f}) +@item @code{compose} (par défaut : @code{#f}) If this is @code{#f}, then the service type denotes services that cannot be extended---i.e., services that do not receive ``values'' from other services. @@ -21901,7 +23673,7 @@ Otherwise, it must be a one-argument procedure. The procedure is called by @code{fold-services} and is passed a list of values collected from extensions. It may return any single value. -@item @code{extend} (default: @code{#f}) +@item @code{extend} (par défaut : @code{#f}) If this is @code{#f}, services of this type cannot be extended. Otherwise, it must be a two-argument procedure: @code{fold-services} calls @@ -21914,7 +23686,7 @@ service instance. @xref{Types service et services}, for examples. @end deftp -@deffn {Scheme Procedure} service-extension @var{target-type} @ +@deffn {Procédure Scheme} service-extension @var{target-type} @ @var{compute} Return a new extension for services of type @var{target-type}. @var{compute} must be a one-argument procedure: @code{fold-services} calls it, passing it the value associated with the @@ -21922,7 +23694,7 @@ service that provides the extension; it must return a valid value for the target service. @end deffn -@deffn {Scheme Procedure} service-extension? @var{obj} +@deffn {Procédure Scheme} service-extension? @var{obj} Return true if @var{obj} is a service extension. @end deffn @@ -21931,7 +23703,7 @@ involves creating a new service type and specifying the extension of interest, which can be verbose; the @code{simple-service} procedure provides a shorthand for this. -@deffn {Scheme Procedure} simple-service @var{name} @var{target} @var{value} +@deffn {Procédure Scheme} simple-service @var{name} @var{target} @var{value} Return a service that extends @var{target} with @var{value}. This works by creating a singleton service type @var{name}, of which the returned service is an instance. @@ -21953,7 +23725,7 @@ system---the directory shown by the @command{guix system build} command extensions down the service graph, updating each node parameters on the way, until it reaches the root node. -@deffn {Scheme Procedure} fold-services @var{services} @ +@deffn {Procédure Scheme} fold-services @var{services} @ [#:target-type @var{system-service-type}] Fold @var{services} by propagating their extensions down to the root of type @var{target-type}; return the root service adjusted accordingly. @@ -21962,17 +23734,17 @@ service adjusted accordingly. Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below. -@defvr {Scheme Variable} system-service-type +@defvr {Variable Scheme} system-service-type This is the root of the service graph. It produces the system directory as returned by the @command{guix system build} command. @end defvr -@defvr {Scheme Variable} boot-service-type +@defvr {Variable Scheme} boot-service-type The type of the ``boot service'', which produces the @dfn{boot script}. The boot script is what the initial RAM disk runs when booting. @end defvr -@defvr {Scheme Variable} etc-service-type +@defvr {Variable Scheme} etc-service-type The type of the @file{/etc} service. This service is used to create files under @file{/etc} and can be extended by passing it name/file tuples such as: @@ -21985,13 +23757,13 @@ In this example, the effect would be to add an @file{/etc/issue} file pointing to the given file. @end defvr -@defvr {Scheme Variable} setuid-program-service-type +@defvr {Variable Scheme} setuid-program-service-type Type for the ``setuid-program service''. This service collects lists of executable file names, passed as gexps, and adds them to the set of setuid-root programs on the system (@pxref{Programmes setuid}). @end defvr -@defvr {Scheme Variable} profile-service-type +@defvr {Variable Scheme} profile-service-type Type of the service that populates the @dfn{system profile}---i.e., the programs under @file{/run/current-system/profile}. Other services can extend it by passing it lists of packages to add to the system profile. @@ -22001,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 @@ -22024,7 +23796,7 @@ The @var{%shepherd-root-service} is a service object representing PID@tie{}1, of type @var{shepherd-root-service-type}; it can be extended by passing it lists of @code{<shepherd-service>} objects. -@deftp {Data Type} shepherd-service +@deftp {Type de données} shepherd-service The data type representing a service managed by the Shepherd. @table @asis @@ -22036,22 +23808,22 @@ These are the names that may be passed to @command{herd start}, shepherd, The GNU Shepherd Manual}). @xref{Slots of services, the @code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details. -@item @code{requirements} (default: @code{'()}) +@item @code{requirements} (par défaut : @code{'()}) List of symbols denoting the Shepherd services this one depends on. -@item @code{respawn?} (default: @code{#t}) +@item @code{respawn?} (par défaut : @code{#t}) Whether to restart the service when it stops, for instance when the underlying process dies. @item @code{start} -@itemx @code{stop} (default: @code{#~(const #f)}) +@itemx @code{stop} (par défaut : @code{#~(const #f)}) The @code{start} and @code{stop} fields refer to the Shepherd's facilities to start and stop processes (@pxref{Service De- and Constructors,,, shepherd, The GNU Shepherd Manual}). They are given as G-expressions that get expanded in the Shepherd configuration file (@pxref{G-Expressions}). -@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 @@ -22071,20 +23843,20 @@ herd doc @var{service-name} where @var{service-name} is one of the symbols in @var{provision} (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}). -@item @code{modules} (default: @var{%default-modules}) +@item @code{modules} (par défaut : @var{%default-modules}) This is the list of modules that must be in scope when @code{start} and @code{stop} are evaluated. @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: @@ -22127,7 +23899,7 @@ This, as you can see, is a fairly sophisticated way to say hello. info on actions. @end deftp -@defvr {Scheme Variable} shepherd-root-service-type +@defvr {Variable Scheme} shepherd-root-service-type The service type for the Shepherd ``root service''---i.e., PID@tie{}1. This is the service type that extensions target when they want to create @@ -22135,7 +23907,7 @@ shepherd services (@pxref{Types service et services}, for an example). Each extension must pass a list of @code{<shepherd-service>}. @end defvr -@defvr {Scheme Variable} %shepherd-root-service +@defvr {Variable Scheme} %shepherd-root-service This service represents PID@tie{}1. @end defvr @@ -22303,7 +24075,7 @@ d'être reconstruite. Cela aide d'utiliser des binaires pré-construits (@pxref{Substituts}), mais le déploiement peut toujours prendre plus de temps de souhaité. -@cindex grafts +@cindex greffes To address this, Guix implements @dfn{grafts}, a mechanism that allows for fast deployment of critical updates without the costs associated with a whole-distribution rebuild. The idea is to rebuild only the package that @@ -22415,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 @@ -22747,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 @@ -22978,8 +24760,8 @@ library@footnote{You may notice the @code{glibc-intermediate} label, suggesting that it is not @emph{quite} final, but as a good approximation, we will consider it final.}, depicted below. -@image{images/bootstrap-packages,6in,,Dependency graph of the early -packages} +@image{images/bootstrap-packages,6in,,Graphe de dépendance des premiers +paquets} @c See <http://lists.gnu.org/archive/html/gnu-system-discuss/2012-10/msg00000.html>. The first tool that gets built with the bootstrap binaries is @@ -23051,7 +24833,7 @@ auditable assembler. Your help is welcome! @node Porter -@section Porting to a New Platform +@section Porter vers une nouvelle plateforme As discussed above, the GNU distribution is self-contained, and self-containment is achieved by relying on pre-built ``bootstrap binaries'' @@ -23080,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 |