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-19T17:35:13+01:00 License: CC By-SA Tags: guix Score: 3 [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 1ᵉʳ 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 !