URL: https://linuxfr.org/news/gnu-guix-1-4-0-est-publie Title: GNU Guix 1.4.0 est publiĂ© Authors: roptat palm123 et Ysabeau đŸ§¶ Date: 2022ćčŽ12月19æ—„T17:35:13+01:00 License: CC By-SA Tags: guix et sortie_version Score: 35 [GNU Guix](https://guix.gnu.org/) est le gestionnaire de paquets transactionnel et une distribution perfectionnĂ©e du systĂšme GNU qui respecte la [libertĂ©](https://www.gnu.org/distros/free-system-distribution-guidelines.fr.html) de ses utilisateurs. Guix peut s’utiliser en tant que gestionnaire de paquets sur n’importe quel systĂšme utilisant le noyau Linux ou Hurd, et peut s’utiliser comme distribution Ă  part entiĂšre sur les machines i686, x86-64, ARMv7, AArch64 et POWER9. En plus des fonctionnalitĂ©s habituelles des [gestionnaires de paquets](https://guix.gnu.org/manual/fr/guix.fr.html#Gestion-de-paquets), Guix permet des mises Ă  jour et des retours en arriĂšre transactionnels, de gĂ©rer ses paquets sans privilĂšges, d’utiliser plusieurs profils par utilisateur, et [d’empaqueter](https://guix.gnu.org/manual/fr/guix.fr.html#Invoquer-guix-pack) une collection de paquets via une archive TAR repositionnable ou une image Docker. Et tout ceci pour n’importe quel point dans le temps via [`guix time-machine`](https://guix.gnu.org/manual/fr/guix.fr.html#Invoquer-guix-time_002dmachine). Lorsque Guix est utilisĂ© comme distribution GNU/Linux Ă  part entiĂšre, il permet aussi de gĂ©rer son systĂšme d’exploitation avec une approche dĂ©clarative et sans Ă©tat. Guix est extrĂȘmement personnalisable et bidouillable grĂące Ă  ses interfaces [Guile](https://www.gnu.org/software/guile) (un dialecte du langage [Scheme](http://schemers.org/)). La publication fournit des [images d’installation ISO 9660](https://guix.gnu.org/manual/fr/html_node/Installation-du-systeme.html#Installation-du-syst_00e8me), une [image pour machine virtuelle](https://guix.gnu.org/manual/fr/html_node/Installer-Guix-dans-une-VM.html) et un [script d’installation](https://guix.gnu.org/manual/fr/html_node/Installation-binaire.html#Installation-binaire) pour installer le gestionnaire de paquets sur votre distribution GNU/Linux sans interfĂ©rer avec celle‐ci. Les utilisateurs de Guix peuvent mettre Ă  jour comme d’habitude en lançant guix pull. La suite de la dĂ©pĂȘche est une traduction de l’annonce officielle. Le « nous » utilisĂ© dans la dĂ©pĂȘche renvoie Ă  l’équipe Guix, pas aux traducteurs. ---- [Annonce officielle](https://guix.gnu.org/en/blog/2022/gnu-guix-1.4.0-released/) [Manuel de rĂ©fĂ©rence en français](https://guix.gnu.org/manual/fr/guix.fr.html) ---- Nous avons le plaisir de vous annoncer la sortie de GNU Guix version 1.4.0 ! La nouvelle version propose des images d’installation ISO-9660, une image de machine virtuelle et des archives qui vous permettent d’installer le gestionnaire de paquets sur votre distribution GNU/Linux, que ce soit Ă  partir des sources ou des binaires. Pour obtenir ces fichiers, consultez la [page des tĂ©lĂ©chargements](https://guix.gnu.org/en/download). Si vous utilisez dĂ©jĂ  Guix vous pouvez le mettre Ă  jour en exĂ©cutant la commande `guix pull`. Il s’est Ă©coulĂ© 18 mois depuis la [version prĂ©cĂ©dente](https://linuxfr.org/news/gnu-guix-1-3-0-est-publie). Cela reprĂ©sente un long intervalle de temps et reflĂšte le fait qu’en tant que *rolling release*, Guix permet aux utilisateurs et utilisatrices de recevoir en permanence les nouvelles fonctionnalitĂ©s et les mises Ă  jour en exĂ©cutant la commande `guix pull`. Mais voyons les choses en face : cela montre Ă©galement un domaine dans lequel nous pourrions et devrions collectivement amĂ©liorer nos processus. Au cours de cette pĂ©riode, Guix a reçu environ 29 000 commits de 453 personnes, comprenant de nouvelles fonctionnalitĂ©s importantes dont nous allons parler. Le projet a Ă©galement [changĂ© de mainteneurs](https://guix.gnu.org/en/blog/2022/gnu-guix-maintainer-rotation/), structurĂ© la coopĂ©ration en crĂ©ant des [Ă©quipes](https://guix.gnu.org/manual/en/html_node/Teams.html), et [cĂ©lĂ©brĂ© son dixiĂšme anniversaire](https://guix.gnu.org/en/blog/2022/wrapping-up-ten-years-of-guix-in-paris/) ! [![Une grenouille heureuse assise devant un ordinateur oĂč Guix est installĂ© avec un humanoĂŻde bĂ©nĂ©fique et tout-puissant deriĂšre elle.](https://lepiller.eu/files/gnu-1.4.0.jpg)](https://guix.gnu.org/static/blog/img/gnu-guix-a-frogs-dream.jpg)> _Illustration de Luis Felipe, publiĂ©e sous licence CC-BY-SA 4.0._ Cet article propose de mettre en lumiĂšre tout le travail qui a abouti Ă  cette publication. Et oui, il s’agit sans doute des notes de version les plus longues de l’histoire de Guix, alors installez-vous confortablement, dĂ©tendez-vous et profitez de la lecture.> Bonus ! Voici un [chiptune](https://opengameart.org/sites/default/files/Departure.ogg) ([de Trevor Lentz](https://opengameart.org/content/departure), sous licence CC-BY-SA 3.0) que notre illustrateur Luis Felipe recommande d’écouter avant d’aller plus loin. # AmĂ©lioration de la gestion des environnements logiciels L’un des points forts de Guix est la gestion des **environnements logiciels**. La commande `guix environment` a Ă©tĂ© conçue Ă  cet effet, mais elle souffrait d’une interface peu ergonomique. Elle est [maintenant remplacĂ©e par `guix shell`](https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/), bien que nous nous soyons engagĂ©s Ă  garder `guix environment` jusqu’au 1er mai 2023 au moins. `guix shell` est un outil pratique pour le dĂ©veloppement, mais il est Ă©galement utile si vous souhaitez essayer un logiciel sans pour autant l’installer de maniĂšre dĂ©finitive dans votre profil avec `guix install`. Disons que vous voulez jouer Ă  [SuperTuxKart](https://supertuxkart.net) mais que vous prĂ©fĂ©rez ne pas l’avoir dans votre profil parce que, bon, c’est un ordinateur portable professionnel. Voici comment vous pourriez le lancer, aprĂšs que Guix l’a rĂ©cupĂ©rĂ© si nĂ©cessaire : ``` guix shell supertuxkart -- supertuxkart ``` Outre son interface plus simple, `guix shell` amĂ©liore significativement les performances avec son cache. Il simplifie Ă©galement le processus de dĂ©veloppement en dĂ©tectant automatiquement les fichiers `guix.scm` et `manifest.scm` prĂ©sents dans un rĂ©pertoire. Glissez-en un dans votre projet et les autres membres de l’équipe de dĂ©veloppement peuvent commencer Ă  travailler en exĂ©cutant simplement `guix shell`, sans argument. Au fait, l’option `--export-manifest` vous permet de dĂ©marrer en « convertissant » les arguments de la ligne de commande en un manifeste. [En apprendre plus sur `guix shell` dans le manuel](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-shell.html). Une autre innovation de `guix shell` est l'**Ă©mulation facultative du standard de la hiĂ©rarchie du systĂšme de fichiers (FHS)**. La [FHS](https://refspecs.linuxfoundation.org/fhs.shtml) spĂ©cifie les emplacements des diffĂ©rentes catĂ©gories de fichiers : `/bin` pour les binaires des commandes essentielles, `/lib` pour les bibliothĂšques, etc. Le [dĂ©pĂŽt](https://guix.gnu.org/manual/fr/html_node/Le-depot.html) de Guix l’empĂȘche de respecter la FHS, ce qui peut empĂȘcher les utilisatrices et les utilisateurs d’exĂ©cuter des programmes qui supposent le respect de la FHS. Le nouveau drapeau `--emulate-fhs` (ou `-F`) de `guix shell` combinĂ© Ă  l’option `--container` permet de crĂ©er un environnement de conteneur qui respecte la FHS. Cette fonctionnalitĂ© est illustrĂ©e au mieux par cet exemple, oĂč la commande `ls` du paquet `coreutils` apparaĂźt directement sous `/bin`, comme si nous Ă©tions sur un systĂšme FHS comme Debian : ``` $ guix shell -CF coreutils -- /bin/ls -1p / bin/ dev/ etc/ gnu/ home/ lib/ lib64 proc/ sbin/ sys/ tmp/ usr/ ``` **Guix Home** est une autre nouvelle fonctionnalitĂ© importante. En rĂ©sumĂ©, elle applique la philosophie dĂ©clarative du systĂšme Guix Ă  votre *environnement personnel* en vous donnant la possibilitĂ© de dĂ©clarer tous ses diffĂ©rents aspects (les fichiers de configuration (« _dot files_ »), les services et les paquets) et de les [instancier dans votre rĂ©pertoire `$HOME` ou dans un conteneur](https://guix.gnu.org/en/blog/2022/keeping-ones-home-tidy/). Si vous maintenez dĂ©jĂ  vos fichiers de configuration sous contrĂŽle de version ou si vous voulez les garder sous contrĂŽle pour ne pas avoir Ă  passer des jours ou des semaines Ă  les reconfigurer la prochaine fois que vous changez d'ordinateur portable, c'est l'outil qu'il vous faut. Consultez [cette excellente introduction](https://10years.guix.gnu.org/video/an-introduction-to-guix-home/) que David Wilson a donnĂ©e pendant la cĂ©lĂ©bration des dix ans de Guix et [apprenez-en plus sur Guix Home dans le manuel](https://guix.gnu.org/manual/fr/html_node/Declarer-l_0027environnement-personnel.html). Les [**options de transformation de paquet**](https://guix.gnu.org/manual/fr/html_node/Options-de-transformation-de-paquets.html) vous donnent un contrĂŽle prĂ©cis sur la maniĂšre dont les paquets sont construits. La nouvelle option `--tune` permet de rĂ©gler les paquets **pour une micro-architecture du CPU spĂ©cifique**. Cela vous [permet d’utiliser les nouvelles instructions « une instruction, plusieurs donnĂ©es » (SIMD)](https://hpc.guix.info/blog/2022/01/tuning-packages-for-a-cpu-micro-architecture/), comme AVX-512 sur les CPU AMD/Intel rĂ©cents, ce qui peut reprĂ©senter une diffĂ©rence importante pour certaines tĂąches comme les calculs d’algĂšbre linĂ©aire. Depuis la version 1.3.0, le projet a commencĂ© Ă  maintenir [**une ferme de construction alternative**](https://guix.gnu.org/en/blog/2021/substitutes-now-also-available-from-bordeauxguixgnuorg/) sur `https://bordeaux.guix.gnu.org`. Elle est indĂ©pendante de la ferme de construction sur `ci.guix.gnu.org` (donnĂ©e et hĂ©bergĂ©e par le *Max DelbrĂŒck Center for Molecular Medicine* Ă  Berlin en Allemagne), ce qui prĂ©sente deux avantages : elle nous permet de [tester les substituts fournis par les deux systĂšmes](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-challenge.html), et elle fournit une redondance en cas de panne de l’une de ces deux fermes. Guix est maintenant configurĂ© par dĂ©faut pour rĂ©cupĂ©rer ses substituts auprĂšs de n’importe laquelle de ces deux fermes de construction. De plus, un [bogue](https://issues.guix.gnu.org/57978) a Ă©tĂ© corrigĂ©, ce qui assure que Guix puisse passer de l’une Ă  l’autre en cas de problĂšme avec la premiĂšre. Les personnes qui apprĂ©cient les dĂ©ploiements dĂ©claratifs de flottes entiĂšres de machines seront sĂ»rement ravis de la nouvelle [option **`--execute` de `guix deploy`**](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-deploy.html). # Une distribution plus robuste La distribution elle-mĂȘme a connu beaucoup de changements. Tout d’abord, l'**installateur du systĂšme Guix** a reçu un certain nombre de corrections de bogues et il inclut maintenant un nouveau mĂ©canisme qui vous permet de rapporter automatiquement les informations de dĂ©bogage utiles en cas de crash. Cela aidera l’équipe de dĂ©veloppement Ă  s’occuper des bogues qui arrivent avec les configurations inhabituelles. Le temps de **dĂ©marrage des programmes a Ă©tĂ© rĂ©duit** grĂące Ă  [un nouveau cache de l’éditeur des liens dynamiques par application](https://guix.gnu.org/en/blog/2021/taming-the-stat-storm-with-a-loader-cache/), qui a considĂ©rablement rĂ©duit le nombre d’appels Ă  `stat` et `open` causĂ©s par la recherche des bibliothĂšques partagĂ©es (nous sommes heureux que ce changement en ait [inspirĂ©](https://fzakaria.com/2022/09/12/making-runpath-redundant-for-nix.html) [d’autres](https://stoppels.ch/2022/08/04/stop-searching-for-shared-libraries.html)). Guix System utilise dĂ©sormais la [**version 0.9 de GNU Shepherd**](https://www.gnu.org/software/shepherd) qui corrige des dĂ©fauts, amĂ©liore la journalisation et ajoute des fonctionnalitĂ©s telles que l’activation des services Ă  la maniĂšre de systemd ou celle d’inetd. La nouvelle [sous-commande `guix system edit`](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-system.html) fournit Ă©galement un nouveau moyen d’inspecter les services, complĂ©tant ainsi `guix system search` et `guix system extension-graph`. Il y a 15 [**nouveaux services systĂšmes**](https://guix.gnu.org/manual/fr/html_node/Services.html) parmi lesquels choisir, dont [Jami](https://guix.gnu.org/manual/fr/html_node/Services-de-telephonie.html), [Samba](https://guix.gnu.org/manual/fr/html_node/Services-Samba.html), [fail2ban](https://guix.gnu.org/manual/fr/html_node/Services-divers.html#Service-Fail2Ban), et [Gitile](https://guix.gnu.org/manual/fr/html_node/Services-de-controle-de-version.html#Service-Gitile) font partie. Une nouvelle interface est disponible pour [**dĂ©clarer l’espace d’échange**](https://guix.gnu.org/manual/fr/html_node/Espace-d_0027echange.html) dans la configuration des systĂšmes d’exploitation. Cette interface est plus expressive et flexible que ce qui Ă©tait disponible auparavant. De mĂȘme, l’interface permettant de dĂ©clarer [**la configuration rĂ©seau statique**](https://guix.gnu.org/manual/fr/html_node/Configuration-du-reseau.html) a Ă©tĂ© retravaillĂ©e. Sur GNU/Linux, elle vous permet de faire Ă  peu prĂšs la mĂȘme chose que la commande `ip`, mais de maniĂšre dĂ©clarative et avec des vĂ©rifications statiques pour Ă©viter de dĂ©ployer des configurations manifestement incorrectes. [![Impression Ă©cran de GNOME 42.](https://lepiller.eu/files/gnome-42.small.png)](https://guix.gnu.org/static/blog/img/gnome-42.png) Plus de **5 300 paquets ont Ă©tĂ© ajoutĂ©s** pour un total de prĂšs de 22 000 paquets, ce qui fait de Guix l’une des 10 distributions les plus grosses [d’aprĂšs Repology](https://repology.org/). Parmi les nouveaux paquets et les mises Ă  jour les plus notables, **GNOME 42** est maintenant disponible. KDE n’est pas encore lĂ  mais des dizaines de paquets KDE ont Ă©tĂ© ajoutĂ©s et nous en rapproche. Qt 6 est aussi disponible. La distribution propose aussi GCC 12.2.0, GNU libc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice 7.4.3.2 et Emacs 28.2 (avec la prise en charge de la compilation Ă  la volĂ©e !). Entre autres nouvelles, motivĂ©s par le fait que Python 2 a officiellement atteint sa « fin de vie » en 2020, plus de 500 **paquets Python 2** ont Ă©tĂ© supprimĂ©s (ceux dont le nom commence par `python2-`). Cela comprend quelques « poids lourds » comme `python2-numpy` ou `python2-scipy`. Si vous en avez encore besoin, vous avez deux possibilitĂ©s : utiliser [`guix time-machine`](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-time_002dmachine.html) pour revenir Ă  un commit plus ancien qui contient les paquets dont vous avez besoin, ou utiliser le canal [Guix-Past](https://gitlab.inria.fr/guix-hpc/guix-past) pour construire certains de ces anciens paquets dans un environnement rĂ©cent. Le calcul scientifique est un domaine oĂč cela pourrait s’avĂ©rer utile. En plus de cela, le site web propose un [**nouveau navigateur de paquets**](https://packages.guix.gnu.org). Enfin ! Entre autres choses, ce navigateur de paquets propose des URL stables comme `https://packages.guix.gnu.org/packages/PAQUET`. Le [fichier `NEWS`](https://git.savannah.gnu.org/cgit/guix.git/tree/NEWS?h=version-1.4.0) liste des changements notables supplĂ©mentaires et des corrections de bogues qui pourraient vous intĂ©resser. # Plus de documentation Comme pour les versions prĂ©cĂ©dentes, nous avons travaillĂ© sur la documentation pour rendre Guix plus abordable. Nous avons rĂ©digĂ© et amĂ©liorĂ© des sections de type « comment faire », telles que : - [« Écrire un manifeste »](https://guix.gnu.org/manual/fr/html_node/Ecrire-un-manifeste.html) - [« RĂ©pliquer Guix »](https://guix.gnu.org/manual/fr/html_node/Repliquer-Guix.html#R_00e9pliquer-Guix) - [« Utiliser TeX et LaTeX »](https://guix.gnu.org/manual/fr/html_node/Utiliser-TeX-et-LaTeX.html#Utiliser-TeX-et-LaTeX) - [« Corriger les problĂšmes du systĂšme »](https://guix.gnu.org/manual/fr/html_node/Corriger-les-problemes-du-systeme.html) - [« Architectures externes »](https://guix.gnu.org/manual/fr/html_node/Architectures-externes.html) - [« Utiliser Guix de maniĂšre interactive »](https://guix.gnu.org/manual/fr/html_node/Utiliser-Guix-de-maniere-interactive.html) Le [livre de recettes](https://guix.gnu.org/cookbook/fr/html_node/) continue lui aussi de recevoir de nouvelles entrĂ©es, consultez-le ! Le manuel de rĂ©fĂ©rence de Guix est **entiĂšrement traduit** en [français](https://guix.gnu.org/manual/fr/html_node/) et en [allemand](https://guix.gnu.org/manual/de/html_node/) ; 70% est disponible en [espagnol](https://guix.gnu.org/manual/es/html_node/) et il y a des [traductions initiales](https://translate.fedoraproject.org/projects/guix/documentation-manual/) en [russe](https://guix.gnu.org/manual/ru/html_node/), [chinois](https://guix.gnu.org/manual/zh-cn/html_node/), et d’autres langues. Guix lui-mĂȘme est entiĂšrement traduit en français, avec des traductions presque complĂštes en portugais brĂ©zilien, en allemand, en slovaque et en espagnol, et des traductions partielle dans [presque vingt autres langues](https://translate.fedoraproject.org/projects/guix/guix/). Consultez le manuel pour [apprendre Ă  aider](https://guix.gnu.org/manual/fr/html_node/Traduire-Guix.html) ou cette [visite guidĂ©e par le traducteur en chef Julien Lepiller](https://10years.guix.gnu.org/video/let-s-translate-guix-together-/) ! # Soutenir la reproductibilitĂ© sur le long-terme Une fonctionnalitĂ© importante de Guix est sa prise en charge des dĂ©ploiements logiciels reproductibles. Il y a plusieurs aspects Ă  cela, l’un d’entre eux Ă©tant la capacitĂ© Ă  rĂ©cupĂ©rer le code source [Ă  partir de l’archive de Software Heritage](https://guix.gnu.org/en/blog/2019/connecting-reproducible-deployment-to-a-long-term-source-code-archive/). Guix Ă©tait dĂ©jĂ  capable de rĂ©cupĂ©rer le code source de paquets Ă  partir de Software Heritage comme solution de repli, mais avec la version 1.4.0 **le code source des canaux Guix est Ă©galement automatiquement rĂ©cupĂ©rĂ© Ă  partir de Software Heritage** si leur URL originale n’est plus joignable. De plus, Guix est maintenant **capable de rĂ©cupĂ©rer et de restaurer des archives de code source** comme les fichiers `.tar.gz`. Software Heritage archive le _contenu_ des archives, mais pas les archives elles-mĂȘmes. Cela crĂ©ait une inadĂ©quation entre Guix et Software Heritage, d’autant plus que la majoritĂ© des [dĂ©finitions de paquets](https://guix.gnu.org/manual/fr/html_node/Definition-des-paquets.html) utilisent des archives et s’attendent Ă  pouvoir vĂ©rifier l’empreinte _de l’archive elle-mĂȘme_. Pour combler cet Ă©cart, Timothy Sample a dĂ©veloppĂ© [Disarchive](https://ngyro.com/software/disarchive.html), un outil qui peut (1) _extraire_ les mĂ©tadonnĂ©es des archives et (2) _assembler_ les mĂ©tadonnĂ©es extraites et les fichiers eux-mĂȘmes pour reconstruire une archive, comme indiquĂ© dans le diagramme ci-dessous. [![Diagramme montrant Disarchive et Software Heritage.](https://lepiller.eu/files/disarchive-swh-diagram.small.png)](https://guix.gnu.org/static/blog/img/disarchive-swh-diagram.png) Le projet Guix a configurĂ© une [tĂąche d’intĂ©gration continue](https://ci.guix.gnu.org/jobset/disarchive) pour construire une _base de donnĂ©es Disarchive_, disponible sur [disarchive.gnu.org](https://disarchive.guix.gnu.org). La base de donnĂ©es inclut les mĂ©tadonnĂ©es pour toutes les archives utilisĂ©es par les paquets. Lorsqu’une archive de code source disparait, Guix rĂ©cupĂšre maintenant de maniĂšre transparente les mĂ©tadonnĂ©es de l’archive depuis la base Disarchive, puis il rĂ©cupĂšre le contenu des fichiers Ă  partir de Software Heritage et reconstruit l’archive initiale. Au moment de la publication d’un « [Rapport sur la prĂ©servation de Guix](https://ngyro.com/pog-reports/latest/) » publiĂ© en janvier 2022, presque 75 % des fichiers `.tar.gz` utilisĂ©s par les paquets sont maintenant complĂštement archivĂ©s avec Disarchive et Software Heritage. ExĂ©cuter la commande `guix lint -c archival PKG` vous donnera le statut d’archivage de `PKG`. Vous pouvez en apprendre plus dans le [rapport annuel de Guix-HPC](https://hpc.guix.info/blog/2022/02/guix-hpc-activity-report-2021/). C’est une avancĂ©e importante qui permet, pour la premiĂšre fois, de disposer d’un outil capable de redĂ©ployer des environnements logiciels passĂ©s tout en maintenant la connexion entre le code source et les binaires. # Lots applicatifs et images systĂšme La [commande `guix pack`](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-pack.html) qui crĂ©e des « **lots applicatifs** » (des images d’applications indĂ©pendantes) a Ă©tĂ© Ă©tendue : `guix pack -f deb` crĂ©e un paquet `.deb` indĂ©pendant qui peut ĂȘtre installĂ© sur Debian et les distributions dĂ©rivĂ©es. Le nouveau drapeau `--symlink` lui fait crĂ©er des liens symboliques dans l’image. Au niveau du systĂšme, la [**nouvelle commande `guix system image`**](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-system.html#index-image_002c-creer-des-images-disques) remplace quelques sous-commandes existantes de `guix system` par un nouveau point d’entrĂ©e unique pour construire des images de tous types : des images disques brutes, des images de machines virtuelles au format QCOW2, des images CD ou DVD ISO8660, des images Docker et mĂȘme [des images pour le sous-systĂšme Linux de Microsoft Windows (WSL2)](https://othacehe.org/wsl-images-for-guix-system.html). Elle propose une [interface de haut-niveau](https://guix.gnu.org/manual/fr/html_node/Images-systemes.html) qui vous permet de dĂ©clarer le type d’image que vous voulez : le format de stockage, les partitions, et Ă©videmment le systĂšme d’exploitation pour cette image. Pour faciliter son utilisation, des types d’image prĂ©dĂ©finis sont disponibles : ``` $ guix system image --list-image-types Les types d’image disponibles sont : - rock64-raw - pinebook-pro-raw - pine64-raw - novena-raw - hurd-qcow2 - hurd-raw - raw-with-offset - iso9660 - efi32-raw - wsl2 - uncompressed-iso9660 - efi-raw - docker - qcow2 - tarball ``` Cela comprend [par exemple](https://guix.gnu.org/manual/fr/html_node/Modules-des-images.html) un type d’image pour les machines Pine64 et pour le systĂšme d’exploitation GNU/Hurd. Par exemple, voici comment vous pourriez crĂ©er une image de machine virtuelle QCOW2 utilisable avec QEMU : ``` guix system image -t qcow2 my-operating-system.scm ``` ... oĂč `my-operating-system.scm` contient une [dĂ©claration de systĂšme d’exploitation](https://guix.gnu.org/manual/fr/html_node/Utiliser-le-systeme-de-configuration.html). De mĂȘme, voici comment vous pourriez crĂ©er, sur votre machine x86_64, une image pour votre Pine64, prĂȘte Ă  ĂȘtre transfĂ©rĂ©e Ă  une carte SD ou un pĂ©riphĂ©rique de stockage similaire Ă  partir duquel la carte pourra dĂ©marrer : ``` guix system image -t pine64-raw my-operating-system.scm ``` Le type d’image `pine64-raw` spĂ©cifie que les logiciels de l’image sont en fait *compilĂ©s de maniĂšre croisĂ©e* vers `aarch64-linux-gnu`, c’est-Ă -dire GNU/Linux sur un CPU AArch64, avec la [variante U-Boot](https://packages.guix.gnu.org/packages/u-boot-pine64-lts) appropriĂ©e comme chargeur d’amorçage. Il n’y a plus de limite ! # Une meilleure expĂ©rience d’empaquetage Un changement important que les empaqueteurs et empaqueteuses remarqueront immĂ©diatement est la [**simplification des paquets**](https://guix.gnu.org/en/blog/2021/the-big-change/), introduite peu aprĂšs la 1.3.0. Le changement le plus visible est que les dĂ©finitions des paquets sont dĂ©sormais plus lisibles : ```scheme (package ;; ... (inputs (list pkg-config guile-3.0))) ;👍 ``` ... au lieu du vieux style baroque avec ses « Ă©tiquettes d’entrĂ©es » : ```scheme (package ;; ... (inputs `(("pkg-config" ,pkg-config) ;👎 ("guile" ,guile-3.0)))) ``` La [**nouvelle commande `guix style`**](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-style.html) peut automatiquement effectuer la conversion de « l’ancien » style vers le « nouveau » style d’entrĂ©es des paquets. Elle peut aussi reformater des fichiers Scheme entiers en fonction des canons stylistiques du jour, ce qui est bien pratique pour dĂ©buter avec le langage. Ce n'est que la partie visible de l’iceberg : la nouvelle [macro `modify-inputs`](https://guix.gnu.org/manual/fr/html_node/Definition-de-variantes-de-paquets.html#index-modify_002dinputs) rend la manipulation des entrĂ©es des paquets plus facile et plus claire. On peut Ă©galement utiliser des [G-expressions](https://guix.gnu.org/manual/fr/html_node/G_002dExpressions.html) par exemple dans les phases des paquets. Lisez notre [annonce prĂ©cĂ©dente](https://guix.gnu.org/en/blog/2021/the-big-change/) pour plus d’informations. En plus de cela, le nouveau mĂ©canisme de _nettoyage des champs_ est utilisĂ© pour valider certains champs. Par exemple, il vĂ©rifie maintenant le type du champ `license` tandis que la syntaxe Texinfo de `description` et `synopsis` est validĂ©e, tout cela sans surcoĂ»t dans les cas usuels. Nous espĂ©rons que ces changements rendront plus faciles vos dĂ©buts avec l’empaquetage. La commande `guix build` a de nouveaux drapeaux, `--list-systems` et `--list-targets`, pour lister les **types de systĂšmes** (qui peuvent ĂȘtre passĂ©s Ă  `--system`) et les **triplets cibles de compilation croisĂ©e** (Ă  utiliser avec `--target`) pris en charge. Sous le capot, le nouveau module `(guix platform)` vous permet de dĂ©finir des « plateformes », c’est-Ă -dire la combinaison d’une architecture CPU et d’un systĂšme d’exploitation, de maniĂšre abstraite. Cela unifie diverses informations qui Ă©taient prĂ©cĂ©demment Ă©parpillĂ©es. En plus de cela, les empaqueteurs et empaqueteuses peuvent maintenant [marquer comme « rĂ©glables »](https://guix.gnu.org/manual/fr/html_node/Options-de-transformation-de-paquets.html#index-paquets-reglables) des paquets qui bĂ©nĂ©ficieraient des **optimisations pour la micro-architecture CPU**, activĂ©es avec l’option `--tune`. **L’empaquetage pour Python** a vu d’importants changements. DĂ©jĂ , le paquet `python` respecte maintenant la variable d’environnement `GUIX_PYTHONPATH` au lieu de `PYTHONPATH`. GrĂące Ă  cela, Python ne rĂ©cupĂ©rera pas sans le vouloir des paquets qui ne sont pas fournis par Guix. Ensuite, le nouveau systĂšme de construction [`pyproject-build-system`](https://guix.gnu.org/manual/fr/html_node/Systemes-de-construction.html#index-pyproject_002dbuild_002dsystem) implĂ©mente [PEP 517](https://peps.python.org/pep-0517/). Cela complĂ©mente le systĂšme de construction `python-build-system` existant, et les deux pourraient finalement ĂȘtre fusionnĂ©s. Le moment le plus agrĂ©able de l’empaquetage, c’est quand il arrive tout prĂȘt comme un cadeau. La [**commande `guix import`**](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-import.html) a gagnĂ© la prise en charge de plusieurs dĂ©pĂŽts de paquets amonts : `minetest` (pour les extensions du jeu Minetest), `elm` (le langage de programmation Elm), `egg` (pour CHICKEN Scheme) et `hexpm` (pour les paquets Erlang et Elixir). Les importateurs existants ont aussi bĂ©nĂ©ficiĂ© de plusieurs amĂ©liorations. La [**commande `guix refresh`**](https://guix.gnu.org/manual/fr/html_node/Invoquer-guix-refresh.html) pour automatiquement mettre Ă  jour les dĂ©finitions des paquets a un nouveau programme de mise Ă  jour `generic-git`. # Essayez-la ! Il y a plusieurs façons de commencer Ă  utiliser Guix : 1. Le [script d’installation](https://guix.gnu.org/install.sh) vous permet de rapidement installer Guix [par dessus n’importe quelle distribution GNU/Linux](https://guix.gnu.org/manual/fr/html_node/Installation-binaire.html#Installation-binaire). 2. Vous pouvez utiliser l'[image de machine virtuelle du systĂšme](https://guix.gnu.org/manual/fr/html_node/Installer-Guix-dans-une-VM.html) avec QEMU pour dĂ©couvrir simplement le systĂšme Guix sans toucher Ă  votre systĂšme. 3. Vous pouvez [installer le systĂšme Guix en tant que distribution distincte](https://guix.gnu.org/manual/fr/html_node/Installation-du-systeme.html#Installation-du-syst_00e8me). L'[installateur](https://guix.gnu.org/fr/videos/2020/system-graphical-installer/) vous guidera dans les Ă©tapes de configuration initiale. Pour voir toutes les options Ă  votre disposition, consultez [la page de tĂ©lĂ©chargement](https://guix.gnu.org/fr/download/) et n’hĂ©sitez pas Ă  [nous contacter](https://guix.gnu.org/fr/contact/). Amusez-vous bien !

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /