URL: https://linuxfr.org/news/gnu-guix-version-un-point-zero Title: GNU Guix version Un‐Point‐Zéro Authors: Apichat esdeem, Davy Defaud, palm123, ZeroHeure et gUI Date: 2019年05月08日T17:00:56+02:00 License: CC By-SA Tags: auto-hébergement, gnu_linux, debian, nix, guix, programmation_fonctionnelle et gnu Score: 48 Nous sommes très heureux d’annoncer la publication de GNU Guix version 1.0.0 ! GNU Guix est un gestionnaire de paquets transactionnel et une distribution GNU perfectionnée qui [respecte la liberté des utilisateurs](https://www.gnu.org/software/guix/manual/fr/guix.fr.html#Consid_00e9rations-mat_00e9rielles). Guix peut être utilisé avec n’importe quelle distribution utilisant le noyau Linux, tout comme il peut être utilisé comme système d’exploitation à part entière pour des machines ayant une architecture i686, x86-64, ARMv7 ou AArch64. En plus des fonctionnalités habituelles pour gérer des paquets, Guix permet des mises à jours et retours en arrière transactionnels, une gestion des paquets qui ne nécessite pas de droits privilégiés, des profils pour chaque utilisateur et une gestion automatique de la mémoire. Lorsque Guix est utilisé comme une distribution GNU/Linux autonome, il permet la gestion de la configuration du système d’exploitation par une approche déclarative et sans état. Guix est extrêmement personnalisable et bidouillable via [Guile](https://www.gnu.org/software/guile) qui est une implémentation du langage [Scheme](http://schemers.org/) avec quelques extensions. La publication fournit des [images d’installation ISO 9660](https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html), une image pour [machine virtuelle](https://www.gnu.org/software/guix/manual/en/html_node/Running-Guix-in-a-VM.html) et des archives tar.xz pour installer le gestionnaire de paquets sur votre distribution GNU/Linux à partir des [sources](https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html) ou des [binaires](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html). Les utilisateurs de Guix peuvent mettre à jour en lançant `guix pull`. La suite de la dépêche est une traduction de l’annonce officielle. Cette traduction n’a pas été faite par l’équipe de Guix, le « nous » utilisé dans la dépêche renvoie à l’équipe Guix, pas aux traducteurs. ---- [GNU Guix 1.0.0 released](https://www.gnu.org/software/guix/blog/2019/gnu-guix-1.0.0-released/) [Manuel de référence abrégé](https://www.gnu.org/software/guix/guix-refcard.pdf) [Manuel de référence de GNU Guix](https://www.gnu.org/software/guix/manual/fr/) [Guix (page officielle)](https://www.gnu.org/software/guix/) ---- ![Logo Guix 1.0](https://www.gnu.org/software/guix/static/blog/img/guix-1.0.png) Guix 1.0 une aventure ! ========== Un‐point‐zéro est toujours une étape importante dans la publication de logiciels libres. Pour Guix, 1.0 est le fruit de sept ans de développement. Deux cent soixante personnes ont produit du code, construit des paquets ou rédigé la documentation. Une douzaine de personnes a réalisé la traduction, l’identité graphique ou encore le développement du site Web... pour ne citer que quelques‐uns des travaux effectués. Au cours de ces années, nous avons publié pas moins de [dix‐neuf versions « 0.x »](https://www.gnu.org/software/guix/blog/tags/releases/). Nous avons pris notre temps pour en arriver là, ce qui est assez inhabituel à une époque ou les logiciels libres évoluent rapidement. Pourquoi avons nous mis autant de temps ? Premièrement, construire une communauté autour d’une distribution GNU/Linux prend du temps et une distribution ne peux pas vraiment exister sans elle. Deuxièmement, nous avons le sentiment d’apporter une pièce importante au [système d’exploitation GNU](https://www.gnu.org/gnu/about-gnu.html), et évidemment cela intimide et rend humble. Enfin, nous avons construit quelque chose d’inédit. Bien sûr, nous nous tenons sur les épaules de géants, notamment Nix qui a conçu le paradigme de distribution de logiciels dont Guix est une implémentation. Mais le développement de Guix a été, et est encore, une prouesse dans plein de domaines : c’est une prouesse au niveau de la conception d’un [langage](https://www.gnu.org/software/guix/blog/2017/back-from-gpce/) de [programmation](https://arxiv.org/abs/1305.4584), une prouesse au niveau de la conception d’un [système](https://www.gnu.org/software/guix/blog/2017/running-system-services-in-containers/) d’[exploitation](https://www.gnu.org/software/guix/blog/2015/service-composition-in-guixsd/), une prouesse au niveau de la [sécurité](https://www.gnu.org/software/guix/blog/2016/timely-delivery-of-security-updates/), de la [reproductibilité](https://www.gnu.org/software/guix/blog/tags/reproducibility/), de l’[amorçage](https://www.gnu.org/software/guix/blog/tags/bootstrapping/), de l’utilisabilité et de bien d’autres choses. Bref, cela a été une longue aventure, mais pleine d’enseignements. Ce que GNU Guix peut faire pour vous ==================================== Nous supposons que nombre de lecteurs découvrent Guix aujourd’hui, voici donc un petit récapitulatif de ce que Guix peut faire pour vous, chers utilisateurs et utilisatrices. Guix est un ensemble d’outils complet pour distribuer des logiciels, ce qui le distingue de la plupart des outils que vous connaissez. Guix gère les paquets, les environnements, les conteneurs et les systèmes. ![Guix gère les paquets, les environnements, les conteneurs et les systèmes](https://www.gnu.org/software/guix/static/blog/img/guix-scope.png) Le [court guide de référence](https://www.gnu.org/software/guix/guix-refcard.pdf) présente les principales commandes. En vous plongeant dans Guix, vous découvrirez bien des aspects du système exposé à l’aide d’interfaces de programmation [Guile](https://www.gnu.org/software/guile/) cohérentes : la [définition des paquets](https://www.gnu.org/software/guix/manual/fr/html_node/Definition-des-paquets.html#D_00e9finition-des-paquets), les [services système](https://www.gnu.org/software/guix/manual/fr/html_node/Services.html#Services), le [système d’initialisation](https://www.gnu.org/software/shepherd/) et tout un tas bibliothèques système. Nous pensons que cela rend le système très bidouillable, et nous espérons que vous vous amuserez autant avec que nous. Tout cela peut paraître un peu abstrait, regardons donc des cas concrets. Pour les utilisateurs --------------------- En tant qu’utilisateur, Guix vous permet d’[installer vos logiciels et de les mettre à jour](https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-package.html#Invoquer-guix-package) : trouvez des logiciels avec `guix search`, installez‐les avec `guix install` et mettez‐les à jour régulièrement en lançant `guix pull` et `guix upgrade`. Guix suit un modèle en publication continue (_rolling release_), ainsi vous pouvez lancer `guix pull` à tout moment pour obtenir la dernière et la meilleure version des logiciels libres. Cela peut vous paraître familier, mais ce qui distingue Guix est sa _fiabilité_ : Guix est transactionnel, cela veut dire que vous pouvez à tout instant revenir en arrière (à une « génération » précédente de votre ensemble de paquets) avec `guix package --roll-back` et examiner les différences avec `guix package -l`, etc. Une autre propriété utile est la _reproductibilité_ : Guix vous permet de déployer _exactement le même environnement logiciel_ sur des machines différentes ou à des moments différents. Tout cela grâce à [`guix describe`](https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-describe.html#Invoquer-guix-describe) et [`guix pull`](https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-pull.html#Invoquer-guix-pull). Tout cela, en plus des opérations de gestion des paquets ne nécessitant pas de droits de super‐utilisateur _root_, est très précieux, notamment pour le [calcul haute performance](https://fr.wikipedia.org/wiki/Superordinateur) (HPC) et la reproductibilité en science, ce sur quoi le projet [Guix-HPC](https://guix-hpc.bordeaux.inria.fr/about/) a concentré ses efforts de développement. Guix-HPC est un projet de développement de logiciels auquel participent actuellement trois instituts de recherche : [Inria](https://www.inria.fr/centre/bordeaux/actualites/guix-un-logiciel-libre-pour-la-reproductibilite-des-sciences-en-hpc), le [Centre de médecine moléculaire Max Delbrück](https://www.mdc-berlin.de/news/press/reproducing-computational-environments-experiments) (MDC) et le [Centre de bio‐informatique d’Utrecht](https://ubc.uu.nl/wp-content/uploads/2017/02/GNU-Guix-for-maintaining-a-HPC-software-stack-Roel-Janssen.pdf) (UBC). Pour les développeurs --------------------- En tant que développeur, nous espérons que vous apprécierez [`guix environnement`](https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-environment.html#Invoquer-guix-environment). Il vous permet de créer des environnements logiciels uniques. Supposons que vous êtes un développeur de GIMP : `guix environment gimp` permet de produire un environnement avec tout ce dont vous avez besoin pour « hacker » GIMP, bien plus rapidement que l’installation manuelle de ses nombreuses dépendances. Les développeurs ont souvent du mal à diffuser leur travail aux utilisateurs, ce qui leur permettrait d’avoir rapidement des retours d’expérience. [`guix pack`](https://www.gnu.org/software/guix/blog/2017/creating-bundles-with-guix-pack/) offre un moyen simple de créer des conteneurs utilisables par Docker et compagnie, ou même des [archives TAR relocalisables [_relocatable_]](https://www.gnu.org/software/guix/blog/2018/tarballs-the-ultimate-container-image-format/) et exécutables par tout le monde, indépendamment de la distribution GNU/Linux utilisée. Ah, et vous aimerez sûrement aussi les [options de transformation de paquet](https://www.gnu.org/software/guix/manual/fr/html_node/Options-de-transformation-de-paquets.html#Options-de-transformation-de-paquets), elles vous permettent de définir des variantes de paquets via la ligne de commande. Pour les administrateurs système -------------------------------- En tant qu’administrateur système (et actuellement nous sommes tous des espèces d’administrateurs système de nos ordinateurs portables), l’approche déclarative et unifiée de Guix pour gérer les configurations vous sera très utile. C’est sûrement une pratique avec laquelle la plupart des gens sont habitués, mais c’est si rassurant : un fichier de configuration suffit pour spécifier [tous les aspects de la configuration du système](https://www.gnu.org/software/guix/manual/fr/html_node/Utiliser-le-systeme-de-configuration.html#Utiliser-le-syst_00e8me-de-configuration) (services, systèmes de fichiers, options de localisation, comptes des utilisateurs), le tout dans un même langage. Tout cela rend étonnamment facile le déploiement de services autrement plus complexes, comme des logiciels qui dépendent de services Web. Par exemple, installer [CGit](https://www.gnu.org/software/guix/manual/fr/html_node/Services-de-controle-de-version.html#index-service-cgit) ou [Zabbix](https://www.gnu.org/software/guix/manual/fr/html_node/Services-de-surveillance.html#index-zabbix-zabbix_002dserver) se fait en une ligne, même si, en coulisse, cela implique la configuration de nginx, fcgiwrap, etc. Nous aimerions voir dans quelle mesure cela aide les gens à héberger eux‐mêmes leurs services — un peu comme ce qui est proposé par [FreedomBox](https://freedombox.org/) et [YunoHost](https://yunohost.org/). Avec le [`guix system`](https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-system.html#Invoquer-guix-system), vous pouvez instancier une configuration sur votre machine, ou dans une machine virtuelle où la tester, ou dans un conteneur. Vous pouvez aussi provisionner des images ISO, des images de machines virtuelles ou des images de conteneurs avec un système d’exploitation complet depuis la même configuration, grâce à `guix system`. Voilà pour l’aperçu ! Les nouveautés depuis la version 0.16.0 ======================================= Pour ceux qui nous ont suivi jusqu’ici, de nombreuses et importantes choses ont changé depuis les cinq derniers mois, depuis la [version 0.16](https://www.gnu.org/software/guix/blog/2018/gnu-guix-and-guixsd-0.16.0-released/). En effet, sur cette période, 99 personnes ont contribué via 5 700 _commits_, dont voici les principaux points : - l’image ISO d’installation dispose dorénavant d’un [**installateur graphique**](https://www.gnu.org/software/guix/manual/fr/html_node/Installation-graphique-guidee.html#Installation-graphique-guid_00e9e) tout mignon (un grand merci à Mathieu Othacehe pour l’avoir développé, et merci à tout ceux qui l’ont testé et amélioré !) qui suit l’esprit de l’installateur Debian ; que vous soyez un _hacker_ GNU/Linux intransigeant ou un utilisateur novice, vous constaterez certainement que cela rend l’installation du système beaucoup moins fastidieuse qu’elle ne l’était ! L’installateur est entièrement traduit en français, allemand et espagnol ; - la nouvelle [**image VM**](https://www.gnu.org/software/guix/manual/fr/html_node/Lancer-Guix-dans-une-VM.html#Lancer-Guix-dans-une-VM) correspond mieux aux attentes des utilisateurs : que vous souhaitiez bricoler avec Guix System et voir à quoi il ressemble, ou que vous souhaitiez l’utiliser comme environnement de développement, cette image de machine virtuelle devrait être plus utile ; - plus de 1 100 paquets ont été ajoutés, 2 104 paquets ont été mis à jours et plusieurs services systèmes ont été fournis ; **on approche donc des [10 000 paquets](https://www.gnu.org/software/guix/packages)** ; - **l’interface utilisateur a été améliorée** : maintenant, des alias pour les opérations communes [comme `guix search` et `guix install`](https://www.gnu.org/software/guix/manual/fr/html_node/Invoquer-guix-package.html#Invoquer-guix-package) sont disponibles, les diagnostics sont colorés, plus d’opérations affichent une barre de progression, il y a une nouvelle option `--verbosity` reconnue par toutes les commandes et la plupart des commandes sont « silencieuses » par défaut ; - il y a une **[nouvelle option de transformation de paquet](https://www.gnu.org/software/guix/manual/fr/html_node/Options-de-transformation-de-paquets.html#Options-de-transformation-de-paquets)** : `--with-git-url`, qui se combine avec `--with-branch` et `--with-commit` ; - Guix a maintenant **un mécanisme uniforme de première classe pour configurer la [disposition du clavier](https://www.gnu.org/software/guix/manual/fr/html_node/Disposition-du-clavier.html#Disposition-du-clavier)**, une fonction attendue depuis longtemps ; dans la continuité, la [configuration de X.Org](https://www.gnu.org/software/guix/manual/en/html_node/X-Window.html) a été adaptée avec le nouvel enregistrement `xorg-configuration` ; - nous avons introduit `guix pack -R` [il y a longtemps](https://www.gnu.org/software/guix/blog/2018/tarballs-the-ultimate-container-image-format/) : il crée des archives contenant des ensembles d’applications déplaçables qui reposent sur des espaces de noms d’utilisateurs ; à partir de la version 1.0, `guix pack -RR` (pour « _reliably relocatable_ » ou « relocalisation fiable ») génère **des fichiers binaires déplaçables** qui reposent sur PRoot sur les systèmes où les [espaces de noms d’utilisateurs](http://man7.org/linux/man-pages/man7/user_namespaces.7.html) ne sont pas pris en charge ; - **le manuel a été entièrement traduit en [français](https://www.gnu.org/software/guix/manual/fr/html_node/)** et les traductions [allemandes](https://www.gnu.org/software/guix/manual/de/html_node/) et [espagnoles](https://www.gnu.org/software/guix/manual/es/html_node/) sont presque terminées, et une traduction en [chinois](https://www.gnu.org/software/guix/manual/zh-cn/html_node/) simplifié vient d’être lancée ; vous pouvez aider à [traduire le manuel dans votre langue](https://translationproject.org/domain/guix-manual.html) en [intégrant le groupe de traduction](https://translationproject.org/html/translators.html). Cette liste est déjà longue, mais vous trouverez plus de détails dans le fichier [NEWS](https://git.savannah.gnu.org/cgit/guix.git/tree/NEWS?h=version-1.0.0). Les prochaines étapes ===================== Un‐point‐zéro est une étape majeure, en particulier pour ceux d’entre nous qui participent au projet depuis plusieurs années. Mais avec les nombreuses idées que nous avons collectées, ce n’est certainement pas la fin de l’aventure ! Si vous êtes intéressé par le « [_devops_](https://fr.wikipedia.org/wiki/Devops) » et le déploiement distribué, vous serez certainement ravi de nous aider dans ce domaine. Ceux qui sont intéressés par le développement de systèmes d’exploitation voudront peut‐être rendre [Shepherd](https://www.gnu.org/software/shepherd/) plus flexible et plus rapide. Les scientifiques intéressés par la reproductibilité à long terme mettront certainement l’approfondissement de l’intégration au [projet Software Heritage](https://www.gnu.org/software/guix/blog/2019/connecting-reproducible-deployment-to-a-long-term-source-code-archive/) en première position sur leur liste de choses à améliorer. Les bricoleurs en langage de programmation voudront peut‐être pousser plus loin les [G-expressions](https://www.gnu.org/software/guix/manual/fr/html_node/G_002dExpressions.html), etc. Guix 1.0 est un outil à la fois utile pour l’utilisation quotidienne d’un ordinateur et un grand terrain de jeu pour les bricoleurs que nous sommes. Que vous souhaitiez aider au niveau du design, de la programmation, de la maintenance, de l’administration système, de la traduction, des tests, de la charte graphique, des services Web, du financement ou de l’organisation d’_install parties_, [**vos contributions sont bienvenues !**](https://www.gnu.org/software/guix/contribute/) Nous sommes humains, n’hésitez pas à [nous contacter](https://www.gnu.org/software/guix/contact/). Et surtout amusez‐vous bien avec Guix 1.0 !

AltStyle によって変換されたページ (->オリジナル) /