Les développeurs du projet openSUSE ont publié la version de l'installateur Agama 8 (anciennement D-Installer), conçu pour remplacer l'interface classique d'installation de SUSE et openSUSE, et notable pour la séparation de l'interface utilisateur des composants internes de YaST. Agama permet d'utiliser différents front-ends, comme un front-end pour gérer l'installation via une interface web. Pour tester le nouvel installateur, des versions live ont été créées pour les architectures x86_64, ppc64le, s390x et ARM64, prenant en charge l'installation de openSUSE Leap, la version à jour continue openSUSE Tumbleweed, ainsi que plusieurs éditions de SUSE ALP basées sur des conteneurs isolés.
Le nouvel installateur offre les fonctionnalités nécessaires pour accomplir des tâches telles que le choix d'un ensemble initial d'applications, la configuration de la connexion réseau, de la langue, du clavier, du fuseau horaire et des paramètres de localisation, la préparation du dispositif de stockage et le partitionnement, ainsi que l'ajout d'utilisateurs au système. Parmi les principaux objectifs du développement d'Agama, on mentionne l'élimination des limitations existantes de l'interface graphique, l'élargissement des possibilités d'utilisation des fonctionnalités de YaST dans d'autres applications, l'abandon de la dépendance à un seul langage de programmation et la stimulation de la création d'alternatives par les membres de la communauté.
Pour l'installation des paquets, la vérification du matériel, le partitionnement des disques et d'autres fonctionnalités nécessaires lors de l'installation, Agama continue d'utiliser les bibliothèques YaST, au-dessus desquelles sont implémentés des services intermédiaires, abstrahissant l'accès aux bibliothèques via un protocole de communication unifié basé sur HTTP. L'installateur utilise une architecture multiprocessus, ce qui permet à l'interface utilisateur de rester réactive pendant l'exécution d'autres tâches. L'interface de base pour gérer l'installation est construite en utilisant des technologies web. L'interface web est écrite en JavaScript en utilisant le framework React et les composants PatternFly. Le service de messagerie, ainsi que le serveur HTTP intégré, sont écrits en Ruby.
La nouvelle version propose une architecture différente, marquant la transition de l'utilisation de modules prêts à l'emploi développés par le projet Cockpit vers un framework indépendant et une interface utilisateur modernisée. Au lieu de D-Bus comme protocole de communication principal pour l'interaction entre les composants d'Agama, HTTP est employé. Le remplacement de D-Bus par HTTP a élargi les possibilités d'intégration du projet avec des systèmes plus larges et a simplifié l'organisation de l'installation en mode automatisé.
Le détachement de Cockpit a permis d'éliminer des dépendances externes supplémentaires, par exemple, Cockpit utilise des composants écrits en Python et en C, tandis qu'Agama fait appel aux langages Ruby et Rust. L'abandon de Cockpit a également libéré les développeurs des contraintes rencontrées lorsqu'ils ont essayé de mettre en œuvre un mode d'installation automatique et de repenser l'interface de configuration des dépôts pour atteindre un équilibre optimal entre simplicité pour les débutants et fonctionnalité pour les utilisateurs avancés.
De plus, l'utilisation de la nouvelle architecture a considérablement réduit le temps de démarrage de l'installeur et amélioré ses performances, tout en conservant la possibilité d'utiliser des composants bas niveau déjà éprouvés. Parmi les fonctionnalités qui n'ont pas encore été transférées vers la nouvelle version figurent l'émulateur de terminal intégré et les outils de gestion des dispositifs DASD (Direct Access Storage Device) et zFCP (SCSI-over-Fibre Channel).
En plus de la nouvelle architecture, Agama 8 propose une interface complètement repensée et plus fonctionnelle pour la configuration des dépôts et la partition des disques, qui conserve toutes les fonctions de base du système classique de configuration des dépôts YaST et offre des moyens pour une personnalisation avancée, tout en étant adaptée pour simplifier la compréhension des néophytes. Par exemple, la nouvelle interface permet de choisir l'emplacement de chaque partition ou volume logique LVM, de monter ou de reformater des systèmes de fichiers précédemment accessibles, de configurer le chiffrement et les paramètres de démarrage, et de modifier la taille des partitions.

Parmi les changements, on note une nouvelle interface pour la sélection des ensembles d'applications, une amélioration de la configuration du chiffrement complet du disque basé sur TPM, une refonte complète de la pile réseau, la modernisation de certains widgets, une meilleure interface pour modifier les paramètres du système de fichiers et créer des utilisateurs, ainsi qu'une visualisation plus claire des problèmes rencontrés lors de l'installation, traduite en 10 langues.
La sortie d'Agama 9 est attendue dans un mois, avec des réorganisations significatives de l'interface web, la mise en œuvre des fonctionnalités manquantes lors du passage à la nouvelle architecture, et l'élargissement des outils pour l'installation en mode automatique sans intervention humaine. L'objectif du développement est d'assurer la compatibilité avec AutoYaST et de permettre l'utilisation d'Agama comme alternative à AutoYaST.
Source : opennet.ru
