From Fedora Project Wiki
m (Ajout capture d'écran principal)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
En ce mardi XX octobre, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora Linux 37.
En ce mardi 15 novembre, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora Linux 37.


Fedora Linux est une distribution communautaire développée par le projet Fedora et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora Linux peut être vu comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.
Fedora Linux est une distribution communautaire développée par le projet Fedora et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora Linux peut être vu comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.
Line 7: Line 7:
Cela a été aussi abordé dans une série d'articles [https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre ici], [https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre_partie_2 là] et [https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre_partie_3 par ici encore].
Cela a été aussi abordé dans une série d'articles [https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre ici], [https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre_partie_2 là] et [https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre_partie_3 par ici encore].


[[File:GNOME-Bureau-F37.png|thumb|center|Bureau de GNOME]]


== Expérience utilisateur ==
== Expérience utilisateur ==


* Passage à GNOME 43 ;
'''Passage à GNOME 43.''' Le menu principal bénéficie d'une refonte importante, les informations ne sont plus affichées sous forme de liste mais plutôt sous la forme de boutons à états. Par ailleurs des boutons pour prendre une capture d'écran ou basculer du mode sombre au mode clair font leur apparition à cet endroit. Il est également possible de changer de périphérique audio par ce menu (par exemple passer du casque à l'enceinte), rendant inutile les extensions qui fournissaient cette fonctionnalité par le passé.
 
Plus d'applications passent à la bibliothèque graphique GTK 4, comme ''Fichiers'', ''Carte'', ''Builder'' ou ''Console''. Cela améliore l'intégration avec le reste du système et tire profit de l'ensemble des changements de cette bibliothèque, comme une meilleure prise en charge du mode sombre.
 
Le navigateur de fichiers bénéficie de nombreux changements. L'affichage est enfin adaptatif, l'affichage par défaut affiche ou non des widgets suivant l'espace disponible à l'écran. Les menus ont été entièrement réorganisés pour être plus pratiques à l'usage pendant que les résultats d'une recherche affichent mieux l'emplacement des fichiers dans l'arborescence. La fonctionnalité ''ouvrir avec'' permet de garder en mémoire l'application par défaut pour un type de fichier considéré. La fenêtre des propriétés d'un fichier a été également entièrement redessinée pour être plus claire.
 
Le ''Calendrier'' bénéficie d'un menu contextuel pour afficher les événements à venir et a une nouvelle palette de couleurs pour son interface. ''Contacts'' permet d'importer ou d'exporter des données sous le format standard vCard. Le client VOIP nommé ''Appels'' démarre plus rapidement, et gère les appels chiffrés.
 
Dans le panneau de configuration, un nouveau menu situé dans la partie ''confidentialité'' précise l'état de sécurité de votre machine : si votre processeur est affecté par des bogues matériels corrigés ou non par votre noyau, si vos firmwares comme l'UEFI ont des mises à jour ou failles de sécurité connues, etc.
 
Il est possible de convertir n'importe quelle page web en application web qui s'intègre dans le menu de GNOME. Il suffit avec le navigateur Web de GNOME d'installer le site comme une application web pour cela.
 
[[File:GNOME-Cr%C3%A9er_webapp.png|thumb|right|Possibilité de créer une webapp depuis le navigateur...]]


'''L'environnement de bureau LXQt est proposé à la version 1.1.0.''' Cette version propose une meilleure intégration de son navigateur de fichiers avec les autres logiciels comme Firefox ou Chrome par la mise à disposition de l'interface DBus ''org.freedesktop.FileManager1'' permettant de l'appeler lors de l'ouverture ou de l'enregistrement d'un fichier. La navigateur de fichiers dispose également d'un dossier ''fichiers récents''.  De nombreux nouveaux thèmes et fonds d'écran sont proposés, avec une meilleure intégration avec le thème Qt ''Fusion''. Il est possible de configurer le ratio d'affichage pour la session. Dans la barre de statut, l'affichage de l'icône de batterie permet aussi d'afficher le pourcentage de charge.
'''L'environnement de bureau LXQt est proposé à la version 1.1.0.''' Cette version propose une meilleure intégration de son navigateur de fichiers avec les autres logiciels comme Firefox ou Chrome par la mise à disposition de l'interface DBus ''org.freedesktop.FileManager1'' permettant de l'appeler lors de l'ouverture ou de l'enregistrement d'un fichier. La navigateur de fichiers dispose également d'un dossier ''fichiers récents''.  De nombreux nouveaux thèmes et fonds d'écran sont proposés, avec une meilleure intégration avec le thème Qt ''Fusion''. Il est possible de configurer le ratio d'affichage pour la session. Dans la barre de statut, l'affichage de l'icône de batterie permet aussi d'afficher le pourcentage de charge.


'''Le logiciel de chat audio Mumble 1.4 est également mis à jour.''' Pour l'occasion, Fedora active l'intégration avec Pipewire pour le son, mais aussi renomme le paquet ''murmur'' en ''mumble-server'' pour mieux correspondre au choix du projet officiel. De même le fichier de configuration passe de ''/etc/murmur/murmur.ini'' à ''/etc/murmur.ini''. Sinon le projet Mumble propose de son côté un nouveau système de plugin plus complet et qui permet l'installation ou la mise à jour de ceux-ci n'importe quand. Un module de recherche fait son apparition pour retrouver un utilisateur ou un canal de discussion. Une nouvelle petite fenêtre fait son entrée en scène pour visualiser qui parle sur quel canal en temps réel pour faciliter la compréhension de qui parle où sans utiliser l'affichage du client en entier. Les messages textes peuvent être rédigés avec le formatage ''Markdown'' ou encore l'audio est maintenant en stéréo de bout en bout. L'utilisateur peut configurer des surnoms à chaque interlocuteur pour faciliter la reconnaissance des autres utilisateurs.
'''Le logiciel de chat audio Mumble 1.4 est également mis à jour.''' Pour l'occasion, Fedora active l'intégration avec Pipewire pour le son, mais aussi renomme le paquet ''murmur'' en ''mumble-server'' pour mieux correspondre au choix du projet officiel. De même le fichier de configuration passe de ''/etc/murmur/murmur.ini'' à ''/etc/murmur.ini''. Sinon le projet Mumble propose de son côté un nouveau système de plugins plus complet et qui permet l'installation ou la mise à jour de ceux-ci n'importe quand. Un module de recherche fait son apparition pour retrouver un utilisateur ou un canal de discussion. Une nouvelle petite fenêtre fait son entrée en scène pour faciliter l'identification du locuteur et savoir sur quel canal il s'exprime sans avoir besoin d'utiliser l'affichage du client en entier. Les messages textes peuvent être rédigés avec le formatage ''Markdown'' ou encore l'audio est maintenant en stéréo de bout en bout. L'utilisateur peut configurer des surnoms à chaque interlocuteur pour faciliter la reconnaissance des autres utilisateurs.
 
'''Le répertoire ''/sysroot'' devient en lecture seule pour les images Fedora Silverblue, Kinoite et IoT.''' Pour l'image IoT, uniquement les nouvelles installations sont concernées, pour les autres les installations existantes auront aussi ce changement. Cela permet en effet d'améliorer la robustesse du système, notamment en empêchant le ré-étiquetage de SELinux qui pouvait casser le système faute de politique adéquate fournie.
 
'''Possibilité de tester le nouvel installateur Anaconda basé sur des technologies Web, sur des images dédiées.''' Anaconda repose sur la bibliothèque ''PatternFly'' pour la conception de l'interface et tire profit de ce qui a été développé à ce sujet pour le logiciel Cockpit. L'idée est de favoriser un affichage plus adaptatif aux différentes tailles d'écran ou un affichage distant. En effet l'installation via le protocole VNC était plutôt lent et décevant, en particulier sur des machines ayant des caractéristiques techniques très limitées. L'écriture de tests notamment d'affichage est simplifiée ce qui améliore la maintenance sur le long terme.
 
'''Création d'une image disque KVM pour faciliter l'usage de Fedora Server dans un environnement virtualisé.''' L'image repose sur les mêmes composants que l'image classique, si ce n'est le support matériel en moins. Par conséquent l'installation d'une Fedora peut prendre 2 minutes au lieu de 30 minutes pour une nouvelle machine virtuelle.
 
[[File:GNOME-Webapp.png|thumb|right|... la webapp est intégrée dans l'environnement]]
 
== Gestion du matériel ==
 
'''L'architecture ARMv7 n'est plus prise en charge.''' Aussi dénommée ''arm32'' ou ''armhfp'', c'était la dernière architecture 32 bits pleinement supportée par Fedora, ''i686'' n'ayant que quelques paquets et non une image complète depuis plusieurs versions maintenant. La prise en charge a été supprimée pour des raisons de maintenance, de nombreuses optimisations activées pour Fedora généraient des problèmes pour cette architecture. En particulier, l'édition de lien pour les gros logiciels de cette cible devenait délicate faute de mémoire vive adressable par processus. Il y avait trop peu d'utilisateurs de cette architecture pour justifier autant de ressources et de contraintes, ressources qui seront allouées pour le reste du projet.
 
'''Prise en charge officielle de la carte Raspberry Pi 4.''' Elle a tardé à être proposée pour cause de manque de support matériel par le noyau et mesa entre autres. La carte graphique V3D GPU gère OpenGL-ES et Vulkan, le module Raspberry Pi CM4 est également supporté. Le wifi et le décodage vidéo accéléré matériellement ne sont pour le moment pas proposés.
 
'''Prise en charge du nouveau standard ''[https://fidoalliance.org/fido-alliance-creates-new-onboarding-standard-to-secure-internet-of-things-iot/ Device Onboarding]'' pour améliorer la sécurité des machines IoT.''' Cette norme ouverte élaborée par des industriels dont ARM et Intel permet de s'affranchir de l'écriture de mots de passe en dur et partagés nativement par l'usage du module matériel TPM pour la sauvegarde des données d'identification, l'usage de Secure Boot pour éviter l'usage de systèmes non certifiés ou d'une API d'authentification commune. Cette norme permet d'être facilement employée en production pour des millions de machines sans devoir recourir à de trop nombreuses opérations manuelles ou par l'usage de données d'identification communes.


'''Le répertoire ''/sysroot'' devient en lecture seule pour les images Fedora Silverblue, Kinoite et IoT.''' Pour l'image IoT, uniquement les nouvelles installations sont concernées, pour les autres les installations existantes auront aussi ce changement. Cela permet en effet d'améliorer la robustesse du système, notamment en empêchant la ré-étiquetage de SELinux qui pouvait casser le système faute de politique adéquate fournie.
'''Par défaut sur l'architecture x86_64 avec un BIOS, le système de partition GPT sera employé plutôt que son ancêtre MBR.''' Une partition ''biosboot'' devient nécessaire à l'installation de Fedora pour sauvegarder cette table sur ces systèmes. Il permet d'améliorer la prise en charge des systèmes BIOS avec une procédure d'installation plus unifiée entre UEFI et BIOS. À plus long terme, cela pourrait permettre l'émulation UEFI ou encore une conversion BIOS vers UEFI pour les machines gérant les deux modes.


'''Possibilité de tester le nouvel installateur Anaconda basé sur des technologies Web, sur des images dédiées.''' Anaconda repose sur la bibliothèque ''PatternFly'' pour la conception de l'interface et tire profil de ce qui a été développé à ce sujet pour le logiciel Cockpit. L'idée est de favoriser un affichage plus adaptatif aux différentes tailles d'écran ou un affichage distant. En effet l'installation via le protocole VNC était plutôt lent et décevant, en particulier sur des machines ayant des caractéristiques techniques très limitées. L'écriture de tests notamment d'affichage est simplifiée ce qui améliore la maintenance sur le long terme.
[[File:GNOME-Ouvrir_avec.png|thumb|left|Voulez-vous ouvrir les prochaines fois avec cette application par défaut ?]]


'''L'image boot.iso pour systèmes BIOS utilise GRUB2 au lieu de syslinux comme chargeur de démarrage.''' En effet le projet syslinux n'est plus maintenu. Cela simplifie également la création et le test des images, n'ayant plus de composant spécifique à certaines installations à ce niveau. La maintenance sera également plus aisée car l'équipe de Fedora pourra utiliser le travail de l'équipe de GRUB plutôt que de maintenir syslinux à bout de bras pour ces machines.
'''L'image boot.iso pour systèmes BIOS utilise GRUB2 au lieu de syslinux comme chargeur de démarrage.''' En effet le projet syslinux n'est plus maintenu. Cela simplifie également la création et le test des images, n'ayant plus de composant spécifique à certaines installations à ce niveau. La maintenance sera également plus aisée car l'équipe de Fedora pourra utiliser le travail de l'équipe de GRUB plutôt que de maintenir syslinux à bout de bras pour ces machines.


'''Création d'une image disque KVM pour faciliter l'usage de Fedora Server dans un environnement virtualisé.''' L'image repose sur les mêmes composants que l'image classique, si ce n'est pas le support matériel en moins. Par conséquent l'installation d'une Fedora peut prendre 2 minutes au lieu de 30 minutes pour une nouvelle machine virtuelle.
'''Les paquets pour jdk 8, 11, 17 et 18 n'ont plus de paquets pour l'architecture i686.''' En effet le projet OpenJDK ne gère plus cette architecture, la maintenance en devient difficile pour Fedora, le compilateur JIT est par exemple assez bogué. Corriger cela devenait difficile et ce pour assez peu d'utilisateurs en fin de compte.


== Gestion du matériel ==
'''Gros nettoyage dans les paquets orphelins i686 qui sont supprimés des dépôts.''' En lien avec le paragraphe précédent, conserver les paquets ''i686'' consomme beaucoup de ressources que ce soit pour la maintenance des paquets comme pour leurs compilations. Enfin, de plus en plus de logiciels ne gèrent plus vraiment cette architecture matérielle, faute d'utilisateurs et de développeurs motivés.


* L'architecture ARMv7 n'est plus prise en charge ;
Comme pour l'abandon de ''ARMv7'', le manque de mémoire vive adressable par processus pose problème pour certaines compilations. Cependant, contrairement à ce dernier, l'abandon n'est pas encore complet pour garder la prise en charge des logiciels purement i686 comme WINE et Steam et de certaines applications et bibliothèques dites multilib. Les suppressions de prise en charge futures de i686 paquet par paquet ne seront plus annoncées, en dehors de l'abandon complet de cette architecture. Un jour peut être.
* Prise en charge officielle de la carte Raspberry Pi 4 ;
* Prise en charge du nouveau standard ''Device Onboarding'' pour améliorer la sécurité des machines IoT ;
* Par défaut sur l'architecture x86_64 avec un BIOS, le système de partition GPT sera employé plutôt que son ancêtre MBR ;
* Les paquets pour jdk 8, 11, 17 et 18 n'ont plus de paquets pour l'architecture i686 ;
* Gros nettoyage dans les paquets orphelins i686 qui sont supprimés des dépôts.


== Internationalisation ==
== Internationalisation ==


* Les langues additionnelles de Firefox sont dans un paquet dédié ''firefox-langpacks'' avant de passer à un paquet par langue comme effectué pour LibreOffice il y a des années déjà ;
'''Les langues additionnelles de Firefox sont dans un nouveau paquet dédié ''firefox-langpacks'' avant de passer à un paquet par langue comme effectué pour LibreOffice il y a des années déjà.''' En tant que dépendance faible, ce paquet reste installé par défaut mais peut être supprimé sans contraintes. Ces langues prennent en effet beaucoup de place (50 Mio au regard de 210 Mio pour le reste de Firefox). Plus tard il pourra passer au système reposant sur les ''langpacks'' avec un paquet par langue comme déjà effectué pour d'autres projets pour n'installer que les langues nécessaires à l'utilisateur et gagner davantage de place et de bande passante.
* Mis à jour de IBus 1.5.27 ;
 
* Mis à jour de ibus-libpinyin 1.13 ;
'''Mis à jour de IBus 1.5.27.''' La commande ''ibus restart'' relance le démon IBus de GNOME, tandis que la commande ''ibus im-module'' permet de vérifier la valeur associée à ''gtk-im-module'' pour s'assurer que ibus est bien configuré pour les logiciels reposant sur la bibliothèque graphique GTK. L'outil ''ibus-setup'' permet aussi de configurer un thème, particulièrement utile pour les environnements ne reposant pas sur la bibliothèque GTK.
* Amélioration de la prise en charge des polices de caractères de la langue perse.
 
[[File:GNOME-Propriété.png|thumb|right|Les propriétés d'un fichier ont été entièrement remaniées]]
 
'''Mis à jour de ibus-libpinyin 1.13.''' La méthode d'entrée ''Intelligent Pinyin'' a une meilleure prise en charge de l'anglais, en suggérant des mots anglais s'il y a une correspondance, et des tables de correspondance personnalisées.
 
'''Amélioration de la prise en charge des polices de caractères de la langue perse.''' Jusqu'ici la police de caractères était DejaVu pour cette langue ce qui était bien, mais avec la migration de nombreuses langues vers les polices Noto et Droid, la cohérence de l'affichage du perse avec d'autres langues n'était plus là. Depuis de nouvelles polices libres gérant le perse sont apparues, la police ''Vazirmatn'' devient celle par défaut, et d'autres ont été ajoutées pour ceux qui le souhaitent.


== Administration système ==
== Administration système ==


* Toutes les unités de systemd seront marquées comme ''preset'' lors du premier démarrage ;
'''Toutes les unités de systemd seront activées ou désactivées selon leur configuration ''preset'' lors du premier démarrage d'une image de Fedora.''' Cela ne concerne pas les démarrages après l'installation via Anaconda par exemple. Cela revient à exécuter la commande ''systemctl preset-all --preset-mode=full'', avant la commande employée était ''systemctl preset-all --preset-mode=enable-only'' qui comme son paramètre l'indique, ne pouvait qu'activer des unités ainsi. L'intérêt est qu'une image CoreOS peut installer sa propre unité qui sera activée dès le premier démarrage, si l'unité a configuré le champ ''preset''. Cela rend aussi le comportement de Fedora dans ce cas de figure plus simple à comprendre car la règle est uniforme. Cela incite également les administrateurs systèmes à configurer ce champ des unités et à s'en servir pour leurs propres besoins.
* Le nom d'hôte par défaut si pas configuré est ''localhost'' au lieu de ''fedora'' ;
 
* L'étiquetage des contextes SELinux est maintenant parallélisé ;
'''Le nom d'hôte de secours est ''localhost'' au lieu de ''fedora'' pour les éditions CoreOS, IoT, Cloud et Server.''' Ce nom d'hôte est celui employé quand les autres méthodes (type configuration locale, DHCP ou DNS inversé) ne la définissent pas. Une mise à jour de systemd pour Fedora 33 avait fait l'opération inverse, avec la conséquence que de nombreux outils reposaient sur ''localhost'' comme nom d'hôte pour identifier les systèmes non configurés. Ce nom étant effectivement un nom trop basique et commun pour être une vraie valeur exploitable en production. L'objectif est de rétablir ce comportement afin de ne pas courir après les bogues et des correctifs manuels pour chaque logiciel concerné.
* La gestion des paquets passe par la nouvelle version de RPM 4.18 ;
 
* Tous fichiers fournis par un paquet RPM sont signés, pour plus de sécurité ;
'''L'étiquetage des contextes SELinux est maintenant parallélisé.''' Cette opération va lancer un fil d'exécution par processeur détecté sur la machine automatiquement, selon les cas cela peut améliorer la vitesse de l'opération jusqu'à 18 fois. L'étiquetage se produit au prochain redémarrage après avoir passé SELinux de l'état désactivé à l'état activé ou après exécution de la commande ''fixfiles onboot''. Si vous souhaitez changer le nombre de processus, vous pouvez exécuter la commande ''fixfiles -T 0 onboot'', la valeur 0 signifiant tous les processeurs de la machine, les autres valeurs signifient le nombre de fils d'exécution souhaité.
* Fedora Workstation par défaut embarque le paquet ''whois'' au lieu de ''jwhois'' ;
 
* Première étape pour le renforcement par défaut de la politique de sécurité manipulé via l'outil ''update-crypto-policies'' ;
'''La gestion des paquets passe par la nouvelle version de RPM 4.18.''' Un nouveau module de prise en charge des signatures OpenPGP utilise Sequoia-PGP, écrit en Rust. Ce module sera activé par défaut dans Fedora 38. La restauration des permissions avec l'option ''--restore'' est plus robuste et sécurisée, en particulier concernant les liens symboliques. Il propose également un shell interactif pour les macros via 'rpmspec --shell' et en Lua avec 'rpmlua'.
* Le paquet ''openssl1.1'' est marqué comme déprécié en vue d'une suppression pour F38 ou F39 ;
 
* Le paquet ''gettext'' est séparé en deux en ''gettext'' et ''gettext-runtime'' pour alléger la taille minimale du système ;
'''Pour plus de sécurité, tous les fichiers fournis par un paquet RPM sont signés.''' Il exploite les capacités du noyau nommées ''Linux Integrity Measurement Architecture'', afin de définir des politiques de sécurité pour par exemple n'exécuter que les fichiers avec la bonne signature. Ou de vérifier tous les fichiers sauf ceux dans ''/var'', ou encore ne vérifier la signature que des shells.
* Mis à jour du serveur DNS BIND 9.18 ;
 
* Mis à jour du gestionnaire de stockage Stratis 3.2.0.
[[File:GNOME-Fichiers_adaptatif.png|thumb|left|L'application Fichiers a un affichage adaptatif]]
 
Fedora ne propose cependant aucune politique par défaut pour laisser l'utilisateur libre de s'en servir ou pas, histoire de ne pas lui ajouter des contraintes trop fortes. L'édition IoT aura par contre des exemples de politiques adaptées à des cas d'usage pour simplifier le travail, car le contexte s'y prête plus. L'intégration avec l'outil Keylime est également un plus pour cette édition.
 
Le paquet ''rpm-plugin-ima'' doit être également installé pour s'en servir. La taille des paquets est en légère hausse par conséquent, mais sur un ensemble de 450 Mio de paquets RPM installés, le surplus de données est d'environ 1% soit 5 Mio ce qui est assez faible.
 
'''Fedora Workstation par défaut embarque le paquet ''whois'' au lieu de ''jwhois''.''' Ce dernier n'est en effet plus activement développé, et a plus d'erreurs sur certains noms de domaines qui pouvaient nécessiter de changer la configuration à la main de l'outil.
 
'''Première étape pour le renforcement par défaut de la politique de sécurité manipulée via l'outil ''update-crypto-policies''.''' Ce changement, en lien avec ce qui a été introduit par Fedora 28 puis 33 met à disposition une nouvelle règle optionnelle qui deviendra effective par défaut pour Fedora 39 seulement. Elle vise à mettre fin à l'algorithme de hashage SHA-1 dans les protocoles de chiffrement ou de signatures car il est considéré comme non sûr. De fait aussi l'usage des protocoles TLS 1.0 et 1.1 ne seront plus possibles dans les bibliothèques et logiciels concernés.
 
Vous pouvez tester l'impact potentiel dès maintenant via la commande :
 
# update-crypto-policies --set TEST-FEDORA39
 
Et revenir aux règles par défaut via la commande :
 
# update-crypto-policies --set DEFAULT
 
Notons qu'il faut redémarrer les applications pour en voir les effets.
 
'''Le paquet ''openssl1.1'' est marqué comme déprécié en vue d'une suppression pour F38 ou F39.''' Plus aucun nouveau paquet ne sera admis avec une telle dépendance, la bibliothèque devant ne plus être maintenue officiellement en 2023.
 
'''Le paquet ''gettext'' est séparé en deux en ''gettext'' et ''gettext-runtime'' pour alléger la taille minimale du système d'environ 4,7 Mio.'''
 
'''Mise à jour du serveur DNS BIND 9.18.''' Il prend en charge le protocole DNS over TLS et DNS over HTTPS que ce soit comme source ou pour résoudre les noms de domaine ce qui améliore la confidentialité de ces requêtes.
 
'''Mise à jour du gestionnaire de stockage Stratis 3.2.0.''' Les utilisateurs ont la possibilité d'arrêter ou de démarrer un ensemble de stockage sans détruire les métadonnées associées.


== Développement ==
== Développement ==


* Mise à jour de la chaîne de compilation GNU avec glibc 2.36 et binutils 2.38 ;
'''Mise à jour de la chaîne de compilation GNU avec glibc 2.36 et binutils 2.38.''' Les deux apportent la prise en charge complète de l'information ''DT_RELR '' dans le format ELF pour la relocalisation aléatoire du code en mémoire. La glibc apporte la prise en charge de nombreuses fonctions spécifiques au noyau Linux dont la nouvelle API liée à l'appel système ''mount''. Il est également possible de supprimer les requêtes AAAA du résolveur DNS intégré via l'option ''no-aaaa'' à des fins de test, ce qui implique tous les appels à la fonction ''getaddrinfo''.
* La chaîne de compilation LLVM a aussi son lot de mise à jour avec sa 15e version ;
 
* Coup de Boost pour la version 1.78 de la bibliothèque C++ ;
Pour binutils, les extensions pour l'architecture ARM v8.7-a, v8.8-a, v9-a, v9.1-a, armv9.2-a et armv9.3-a sont prises en charge de même que plus de registres systèmes pour cette architecture.
* Le lapin Go bondit vers sa version 1.19 ;
 
* La branche Node.js 18.x devient celle de référence ;
'''La chaîne de compilation LLVM a aussi son lot de mises à jour avec sa 15e version.''' Comme pour binutils plus haut, LLVM étend sa prise en charge des extensions ARM jusqu'à arm9.2-a. Il implémente pour l'architecture x86 l'option de GCC ''-fzero-call-used-reg'' pour réinitialiser les registres au retour d'une fonction pour éviter certaines attaques. L'organisation d'une structure en C peut être aussi réordonnée via l'attribut ''randomize_layout'' pour éviter également certaines attaques possibles. La prise en charge des normes OpenMP 5.1, C2X, C++20 et C++2b s'améliore. Debuginfod dispose également de son propre serveur HTTP.
* Le langage Perl bénéficie de sa version 5.36 ;
 
* Alors que le langage Python rampe vers sa version 3.11 ;
'''Coup de Boost pour la version 1.78 de la bibliothèque C++.''' Outre les corrections nombreuses et habituelles, cette version fournit deux nouvelles bibliothèques définies uniquement dans leurs en-têtes : Lambda2 et Describe pour les projets compatibles C++14 et supérieur. La première permet de définir des lambdas avec des expressions simples sans utiliser la syntaxe usuelle de C++. Tandis que la seconde permet de décrire les énumérations, structures et autres classes et récupérer ces informations à travers des macros spécifiques.
* Le langage Erlang dispose d'une 25e mise à jour ;
 
* Pendant que son rival Haskell GHC 8.10.7 avec sa suite Stackage LTS 18.28 sont disponibles ;
'''Le langage Go fonce vers sa version 1.19.''' Le modèle mémoire évolue pour suivre celui des langages  C, C++, Java, JavaScript, Rust et Swift. Le compilateur utilise une table de branchements pour les architectures arm64 et x86_64 pour les longs switch avec beaucoup d'entiers ou de chaînes de caractères pour gagner en performance, jusqu'à 20%. Lors de l'exécution, une limite de mémoire maximale est définie pour limiter l'entrée en scène du ramasse miette et améliorer les performances dans de nombreux scénarios.
* L'éditeur de texte Emacs passe à la version 28 ;
 
* La bibliothèque libsoup version 3 fait son entrée dans Fedora, en parallèle de sa 2e version pour des questions de compatibilité ;
'''La branche Node.js 18.x devient celle de référence.''' Les versions 16.x et 14.x restent disponibles en parallèle. Le moteur V8 est mis à jour dans sa version 10.1 tout comme la bibliothèque llhttp vers 6.0.7. Il met à disposition à titre expérimental l'API Web Streams ou encore Test Runner module pour faciliter la création de tests qui tournent un résultat au format TAP. Les temps d'attente par défaut passent à 6 secondes pour recevoir une entête HTTP complète, et 5 minutes pour recevoir une requête entière d'un client.
* Mise à jour de la chaine de compilation pour Windows nommée MinGW ;
 
* Ce dernier utilise la bibliothèque OpenSSL 3e du nom par ailleurs ;
'''Le langage Perl bénéficie de sa version 5.36.''' Le langage peut gérer les caractères Unicode 14.0. Il est possible de vérifier si une valeur est un booléen avec la fonction ''is_bool()''. Il introduit quelques changements considérés comme expérimentaux, comme l'itération sur plusieurs variables, ou le nouveau module nommé ''builtin '' pour faire référence aux fonctions fournies par l'interpréteur lui même. Les traitements d'exception peuvent accueillir le mot clé ''finally'', lui aussi à titre expérimental.
* Il bénéfice également de la cible UCRT en plus de MSVCRT, ce support étant recommandé depuis Windows 10.
 
'''Alors que le langage Python rampe vers sa version 3.11.''' Cette version apporte une amélioration significative des performances dans le cadre du projet ''CPython faster'', de l'ordre de 10 à 60% de mieux. Il est possible de définir des groupes d'exception. L'interpréteur renvoie quant à lui des messages d'erreurs plus précis pour localiser l'origine exacte de l'erreur dans le code plutôt que juste le numéro de ligne dans un fichier.
 
'''Le langage Erlang dispose d'une 25e mise à jour.''' Le compilateur à la volée prend en charge l'architecture ARM64 ce qui améliore les performances pour celle-ci. Il peut d'ailleurs utiliser les informations provenant de gdb ou de perf pour améliorer la localisation des erreurs.
 
'''Pendant que Haskell GHC (le compilateur Haskell) 8.10.7 avec sa suite Stackage LTS 18.28 sont disponibles qui corrigent de nombreux bogues.'''
 
[[File:GNOME-Menu_sécurité.png|thumb|right|Le nouveau menu de sécurité fait son apparition]]
 
'''L'éditeur de texte Emacs passe à la version 28.1.''' Il peut compiler nativement les fichiers Lisp ce qui peut améliorer les performances pour de nombreuses fonctionnalités du logiciel. L'affichage des emoji a été grandement amélioré, normalement compatible avec ceux d'Unicode 14.0. Parmi de nombreux autres changements, un nouveau système pour documenter les groupes de fonctions est également proposé.
 
'''La bibliothèque libsoup version 3 fait son entrée dans Fedora'''. En parallèle sa 2e version est conservée pour des questions de compatibilité jusqu'à Fedora 39. Cette version propose nativement la prise en charge du protocole HTTP/2 tandis que celle de XML-RPC a été supprimée. De nombreux changements internes ont été effectués cassant la compatibilité ascendante, comme le passage de toutes les entrées / sorties sous la forme d'objets GIOStream pour plus d'uniformité.
 
'''Mise à jour de la chaine de compilation pour Windows nommée MinGW.''' Cela permet de fournir l'accès à GCC 12 et aux outils binutils 3.28.
 
'''Par ailleurs il utilise la bibliothèque OpenSSL 3e du nom''' qui est la nouvelle version de référence de la bibliothèque de Fedora pour des raisons de sécurité et de maintenance.
 
'''Il bénéfice également de la cible UCRT (Universal C Runtime) en plus de MSVCRT (Microsoft Visual C++ Runtime), ce support étant recommandé depuis Windows 10.''' Par conséquent la prise en charge de C99 est aussi améliorée dans cet environnement, ou la prise en charge de UTF-8.


== Projet Fedora ==
== Projet Fedora ==


* Fedora CoreOS devient une édition officielle ;
'''Fedora CoreOS devient une édition officielle.''' Elle rejoint ainsi les éditions Cloud, IoT, Server et Workstation, en conséquence elle sera plus mise en avant sur le site web et les bogues l'impactant seront mieux considérés avant la sortie d'une nouvelle version.
* Fedora Cloud Base redevient une édition officielle également ;
 
* La génération des images IoT se fait avec l'outil ''osbuild'' ;
'''Fedora Cloud Base redevient une édition officielle également.''' De même que pour CoreOS, elle retrouve ce statut qu'il avait perdu faute d'intérêts identifiés à une époque. Elle doit être complémentaire de Server et de CoreOS pour être utilisé dans des environnements virtualisés.
* Les paquets Python ont par défaut un shebang avec l'option ''-P'' activée ;
 
* Python Dist RPM fourni uniquement des noms normalisés selon la PEP 503 ;
'''La génération des images IoT se fait avec l'outil ''osbuild''.''' L'objectif est d'utiliser la même plateforme que ''RHEL for Edge'' et ainsi redevenir un véritable projet en amont de celui-ci.
* Ajout d'une nouvelle cible ''ELN-extras'' pour étendre les fonctions de EPEL et se rapprocher de RHEL. Mais le contenu est défini par la communauté plutôt que Red-Hat.


'''Les paquets Python ont par défaut un shebang avec l'option ''-P'' activée.''' L'objectif est de retirer notamment ''/usr/bin/'' de la variable ''sys.path'' [https://github.com/benjaminp/six/issues/359 ce qui peut engendrer des bogues gênants selon les fichiers présents dans le même répertoire notamment lors de l'importation des modules.] Ce changement consiste en l'ajout de l'argument en question dans les macros RPM '%{py3_shbang_opts}'' et ''%{py3_shebang_flags}''. Pour les paquets ayant un soucis avec ce changement, il est possible de rétablir le comportement précédent en invoquant la macro ''%undefine _py3_shebang_P''.
[[File:GNOME-Nouveau_menu.png|thumb|left|Le menu de GNOME a subi un ravalement de façade bienvenu]]
'''Python Dist RPM fourni uniquement des noms normalisés selon la PEP 503.''' Ainsi par exemple sous Fedora 36, le paquet ''python3-ruamel-yaml'' peut être défini sous la forme ''python3dist(ruamel-yaml)'' ou ''python3dist(ruamel.yaml)'' alors que dorénavant uniquement le premier est possible. Cela rend les noms plus cohérents avec notamment ce qui est utilisé dans l'écosystème Python.
'''Ajout d'une nouvelle cible ''ELN-extras'' pour étendre les fonctions de [https://docs.fedoraproject.org/en-US/eln/ ELN] et améliorer [https://docs.fedoraproject.org/en-US/epel/ EPEL].''' EPEL peut être résumé comme une collection de paquets supplémentaires pour RHEL qui se base essentiellement sur le contenu des dépôts de Fedora. ELN est quant à lui une compilation de Fedora Rawhide (la version en développement continue) comme une RHEL pour tester les procédures de génération des images. Le but du changement ici est, contrairement au contenu de ELN qui est essentiellement décidé par Red Hat, ici le contenu serait indépendant et plus ouvert à l'extérieur. Cela donnerait la possibilité de tester d'autres choses dans la procédure de compilation de RHEL, avant que cela n’atterrisse dans CentOS Stream par exemple. Cela réduirait également le délai pour fournir une nouvelle version de EPEL (pour RHEL 10 par exemple) car on pourrait tester la compilation des paquets EPEL plus tôt.


== La communauté francophone ==
== La communauté francophone ==
Line 102: Line 180:
Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.
Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.


Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions hebdomadaires chaque lundi soir à 20h30 (heure de Paris) sur IRC (canal #fedora-meeting-1 sur Libera).
Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions hebdomadaires chaque lundi soir à 20h30 (heure de Paris) sur IRC (canal #fedora-meeting-1 sur Libera). Pour plus de convivialité, nous avons mis en place également [https://forums.fedora-fr.org/viewtopic.php?id=73273 une réunion mensuelle le premier lundi du mois] à la même heure [https://meet.jit.si/Borsalinux-Fr en visio-conférence sur Jitsi].
 
L'association sera également représenté par Emmanuel Seyman lors du Capitole du Libre à Toulouse le 19 et 20 novembre.


=== La documentation ===
=== La documentation ===
Line 111: Line 191:
Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège, José Fournier et les autres contributeurs et relecteurs pour leurs contributions.
Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège, José Fournier et les autres contributeurs et relecteurs pour leurs contributions.


L'équipe se réunit tous les lundis soir après 21h (heure de Paris) sur IRC (canal #fedora-doc-fr sur Libera) pour faire progresser la documentation par un travail collaboratif. Le reste de la semaine cela se passe sur le forum. Pour plus de convivialité, nous avons mis en place également [https://forums.fedora-fr.org/viewtopic.php?id=73273 une réunion mensuelle le premier lundi du mois] à la même heure [https://meet.jit.si/Borsalinux-Fr en visio-conférence sur Jitsi].
L'équipe se réunit tous les lundis soir après 21h (heure de Paris) sur IRC (canal #fedora-doc-fr sur Libera) pour faire progresser la documentation par un travail collaboratif. Le reste de la semaine cela se passe sur le forum.


Si vous avez des idées d'articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n'hésitez pas à participer.
Si vous avez des idées d'articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n'hésitez pas à participer.
Line 119: Line 199:
[[File:Mediawriter.png|200px|center|Fedora Media Writer]]
[[File:Mediawriter.png|200px|center|Fedora Media Writer]]


Si vous avez déjà Fedora Linux 35 ou 34 sur votre machine, vous pouvez faire une [https://doc.fedora-fr.org/wiki/Mise_%C3%A0_niveau_de_Fedora mise à niveau vers Fedora Linux 36]. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.
Si vous avez déjà Fedora Linux 36 ou 35 sur votre machine, vous pouvez faire une [https://doc.fedora-fr.org/wiki/Mise_%C3%A0_niveau_de_Fedora mise à niveau vers Fedora Linux 37]. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.


Autrement, pas de panique, vous pouvez [https://doc.fedora-fr.org/wiki/T%C3%A9l%C3%A9charger_Fedora télécharger Fedora Linux] avant de [https://doc.fedora-fr.org/wiki/Guide_d%27installation_de_Fedora_en_images procéder à son installation]. La procédure ne prend que quelques minutes.
Autrement, pas de panique, vous pouvez [https://doc.fedora-fr.org/wiki/T%C3%A9l%C3%A9charger_Fedora télécharger Fedora Linux] avant de [https://doc.fedora-fr.org/wiki/Guide_d%27installation_de_Fedora_en_images procéder à son installation]. La procédure ne prend que quelques minutes.

Latest revision as of 13:56, 13 November 2022

En ce mardi 15 novembre, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora Linux 37.

Fedora Linux est une distribution communautaire développée par le projet Fedora et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora Linux peut être vu comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.

Fedora garde un rôle central dans le développement de ces nouveautés via le développement en amont. En effet, les développeurs de la distribution contribuent également directement au code d’un certain nombre de logiciels libres contenus dans la distribution, dont le noyau Linux, GNOME, NetworkManager, PackageKit, PulseAudio, Wayland, systemd, la célèbre suite de compilateurs GCC, etc. Cliquez ici pour voir l’ensemble des contributions de Red Hat.

Cela a été aussi abordé dans une série d'articles ici, et par ici encore.

Bureau de GNOME

Expérience utilisateur

Passage à GNOME 43. Le menu principal bénéficie d'une refonte importante, les informations ne sont plus affichées sous forme de liste mais plutôt sous la forme de boutons à états. Par ailleurs des boutons pour prendre une capture d'écran ou basculer du mode sombre au mode clair font leur apparition à cet endroit. Il est également possible de changer de périphérique audio par ce menu (par exemple passer du casque à l'enceinte), rendant inutile les extensions qui fournissaient cette fonctionnalité par le passé.

Plus d'applications passent à la bibliothèque graphique GTK 4, comme Fichiers, Carte, Builder ou Console. Cela améliore l'intégration avec le reste du système et tire profit de l'ensemble des changements de cette bibliothèque, comme une meilleure prise en charge du mode sombre.

Le navigateur de fichiers bénéficie de nombreux changements. L'affichage est enfin adaptatif, l'affichage par défaut affiche ou non des widgets suivant l'espace disponible à l'écran. Les menus ont été entièrement réorganisés pour être plus pratiques à l'usage pendant que les résultats d'une recherche affichent mieux l'emplacement des fichiers dans l'arborescence. La fonctionnalité ouvrir avec permet de garder en mémoire l'application par défaut pour un type de fichier considéré. La fenêtre des propriétés d'un fichier a été également entièrement redessinée pour être plus claire.

Le Calendrier bénéficie d'un menu contextuel pour afficher les événements à venir et a une nouvelle palette de couleurs pour son interface. Contacts permet d'importer ou d'exporter des données sous le format standard vCard. Le client VOIP nommé Appels démarre plus rapidement, et gère les appels chiffrés.

Dans le panneau de configuration, un nouveau menu situé dans la partie confidentialité précise l'état de sécurité de votre machine : si votre processeur est affecté par des bogues matériels corrigés ou non par votre noyau, si vos firmwares comme l'UEFI ont des mises à jour ou failles de sécurité connues, etc.

Il est possible de convertir n'importe quelle page web en application web qui s'intègre dans le menu de GNOME. Il suffit avec le navigateur Web de GNOME d'installer le site comme une application web pour cela.

Possibilité de créer une webapp depuis le navigateur...

L'environnement de bureau LXQt est proposé à la version 1.1.0. Cette version propose une meilleure intégration de son navigateur de fichiers avec les autres logiciels comme Firefox ou Chrome par la mise à disposition de l'interface DBus org.freedesktop.FileManager1 permettant de l'appeler lors de l'ouverture ou de l'enregistrement d'un fichier. La navigateur de fichiers dispose également d'un dossier fichiers récents. De nombreux nouveaux thèmes et fonds d'écran sont proposés, avec une meilleure intégration avec le thème Qt Fusion. Il est possible de configurer le ratio d'affichage pour la session. Dans la barre de statut, l'affichage de l'icône de batterie permet aussi d'afficher le pourcentage de charge.

Le logiciel de chat audio Mumble 1.4 est également mis à jour. Pour l'occasion, Fedora active l'intégration avec Pipewire pour le son, mais aussi renomme le paquet murmur en mumble-server pour mieux correspondre au choix du projet officiel. De même le fichier de configuration passe de /etc/murmur/murmur.ini à /etc/murmur.ini. Sinon le projet Mumble propose de son côté un nouveau système de plugins plus complet et qui permet l'installation ou la mise à jour de ceux-ci n'importe quand. Un module de recherche fait son apparition pour retrouver un utilisateur ou un canal de discussion. Une nouvelle petite fenêtre fait son entrée en scène pour faciliter l'identification du locuteur et savoir sur quel canal il s'exprime sans avoir besoin d'utiliser l'affichage du client en entier. Les messages textes peuvent être rédigés avec le formatage Markdown ou encore l'audio est maintenant en stéréo de bout en bout. L'utilisateur peut configurer des surnoms à chaque interlocuteur pour faciliter la reconnaissance des autres utilisateurs.

Le répertoire /sysroot devient en lecture seule pour les images Fedora Silverblue, Kinoite et IoT. Pour l'image IoT, uniquement les nouvelles installations sont concernées, pour les autres les installations existantes auront aussi ce changement. Cela permet en effet d'améliorer la robustesse du système, notamment en empêchant le ré-étiquetage de SELinux qui pouvait casser le système faute de politique adéquate fournie.

Possibilité de tester le nouvel installateur Anaconda basé sur des technologies Web, sur des images dédiées. Anaconda repose sur la bibliothèque PatternFly pour la conception de l'interface et tire profit de ce qui a été développé à ce sujet pour le logiciel Cockpit. L'idée est de favoriser un affichage plus adaptatif aux différentes tailles d'écran ou un affichage distant. En effet l'installation via le protocole VNC était plutôt lent et décevant, en particulier sur des machines ayant des caractéristiques techniques très limitées. L'écriture de tests notamment d'affichage est simplifiée ce qui améliore la maintenance sur le long terme.

Création d'une image disque KVM pour faciliter l'usage de Fedora Server dans un environnement virtualisé. L'image repose sur les mêmes composants que l'image classique, si ce n'est le support matériel en moins. Par conséquent l'installation d'une Fedora peut prendre 2 minutes au lieu de 30 minutes pour une nouvelle machine virtuelle.

... la webapp est intégrée dans l'environnement

Gestion du matériel

L'architecture ARMv7 n'est plus prise en charge. Aussi dénommée arm32 ou armhfp, c'était la dernière architecture 32 bits pleinement supportée par Fedora, i686 n'ayant que quelques paquets et non une image complète depuis plusieurs versions maintenant. La prise en charge a été supprimée pour des raisons de maintenance, de nombreuses optimisations activées pour Fedora généraient des problèmes pour cette architecture. En particulier, l'édition de lien pour les gros logiciels de cette cible devenait délicate faute de mémoire vive adressable par processus. Il y avait trop peu d'utilisateurs de cette architecture pour justifier autant de ressources et de contraintes, ressources qui seront allouées pour le reste du projet.

Prise en charge officielle de la carte Raspberry Pi 4. Elle a tardé à être proposée pour cause de manque de support matériel par le noyau et mesa entre autres. La carte graphique V3D GPU gère OpenGL-ES et Vulkan, le module Raspberry Pi CM4 est également supporté. Le wifi et le décodage vidéo accéléré matériellement ne sont pour le moment pas proposés.

Prise en charge du nouveau standard Device Onboarding pour améliorer la sécurité des machines IoT. Cette norme ouverte élaborée par des industriels dont ARM et Intel permet de s'affranchir de l'écriture de mots de passe en dur et partagés nativement par l'usage du module matériel TPM pour la sauvegarde des données d'identification, l'usage de Secure Boot pour éviter l'usage de systèmes non certifiés ou d'une API d'authentification commune. Cette norme permet d'être facilement employée en production pour des millions de machines sans devoir recourir à de trop nombreuses opérations manuelles ou par l'usage de données d'identification communes.

Par défaut sur l'architecture x86_64 avec un BIOS, le système de partition GPT sera employé plutôt que son ancêtre MBR. Une partition biosboot devient nécessaire à l'installation de Fedora pour sauvegarder cette table sur ces systèmes. Il permet d'améliorer la prise en charge des systèmes BIOS avec une procédure d'installation plus unifiée entre UEFI et BIOS. À plus long terme, cela pourrait permettre l'émulation UEFI ou encore une conversion BIOS vers UEFI pour les machines gérant les deux modes.

Voulez-vous ouvrir les prochaines fois avec cette application par défaut ?

L'image boot.iso pour systèmes BIOS utilise GRUB2 au lieu de syslinux comme chargeur de démarrage. En effet le projet syslinux n'est plus maintenu. Cela simplifie également la création et le test des images, n'ayant plus de composant spécifique à certaines installations à ce niveau. La maintenance sera également plus aisée car l'équipe de Fedora pourra utiliser le travail de l'équipe de GRUB plutôt que de maintenir syslinux à bout de bras pour ces machines.

Les paquets pour jdk 8, 11, 17 et 18 n'ont plus de paquets pour l'architecture i686. En effet le projet OpenJDK ne gère plus cette architecture, la maintenance en devient difficile pour Fedora, le compilateur JIT est par exemple assez bogué. Corriger cela devenait difficile et ce pour assez peu d'utilisateurs en fin de compte.

Gros nettoyage dans les paquets orphelins i686 qui sont supprimés des dépôts. En lien avec le paragraphe précédent, conserver les paquets i686 consomme beaucoup de ressources que ce soit pour la maintenance des paquets comme pour leurs compilations. Enfin, de plus en plus de logiciels ne gèrent plus vraiment cette architecture matérielle, faute d'utilisateurs et de développeurs motivés.

Comme pour l'abandon de ARMv7, le manque de mémoire vive adressable par processus pose problème pour certaines compilations. Cependant, contrairement à ce dernier, l'abandon n'est pas encore complet pour garder la prise en charge des logiciels purement i686 comme WINE et Steam et de certaines applications et bibliothèques dites multilib. Les suppressions de prise en charge futures de i686 paquet par paquet ne seront plus annoncées, en dehors de l'abandon complet de cette architecture. Un jour peut être.

Internationalisation

Les langues additionnelles de Firefox sont dans un nouveau paquet dédié firefox-langpacks avant de passer à un paquet par langue comme effectué pour LibreOffice il y a des années déjà. En tant que dépendance faible, ce paquet reste installé par défaut mais peut être supprimé sans contraintes. Ces langues prennent en effet beaucoup de place (50 Mio au regard de 210 Mio pour le reste de Firefox). Plus tard il pourra passer au système reposant sur les langpacks avec un paquet par langue comme déjà effectué pour d'autres projets pour n'installer que les langues nécessaires à l'utilisateur et gagner davantage de place et de bande passante.

Mis à jour de IBus 1.5.27. La commande ibus restart relance le démon IBus de GNOME, tandis que la commande ibus im-module permet de vérifier la valeur associée à gtk-im-module pour s'assurer que ibus est bien configuré pour les logiciels reposant sur la bibliothèque graphique GTK. L'outil ibus-setup permet aussi de configurer un thème, particulièrement utile pour les environnements ne reposant pas sur la bibliothèque GTK.

Les propriétés d'un fichier ont été entièrement remaniées

Mis à jour de ibus-libpinyin 1.13. La méthode d'entrée Intelligent Pinyin a une meilleure prise en charge de l'anglais, en suggérant des mots anglais s'il y a une correspondance, et des tables de correspondance personnalisées.

Amélioration de la prise en charge des polices de caractères de la langue perse. Jusqu'ici la police de caractères était DejaVu pour cette langue ce qui était bien, mais avec la migration de nombreuses langues vers les polices Noto et Droid, la cohérence de l'affichage du perse avec d'autres langues n'était plus là. Depuis de nouvelles polices libres gérant le perse sont apparues, la police Vazirmatn devient celle par défaut, et d'autres ont été ajoutées pour ceux qui le souhaitent.

Administration système

Toutes les unités de systemd seront activées ou désactivées selon leur configuration preset lors du premier démarrage d'une image de Fedora. Cela ne concerne pas les démarrages après l'installation via Anaconda par exemple. Cela revient à exécuter la commande systemctl preset-all --preset-mode=full, avant la commande employée était systemctl preset-all --preset-mode=enable-only qui comme son paramètre l'indique, ne pouvait qu'activer des unités ainsi. L'intérêt est qu'une image CoreOS peut installer sa propre unité qui sera activée dès le premier démarrage, si l'unité a configuré le champ preset. Cela rend aussi le comportement de Fedora dans ce cas de figure plus simple à comprendre car la règle est uniforme. Cela incite également les administrateurs systèmes à configurer ce champ des unités et à s'en servir pour leurs propres besoins.

Le nom d'hôte de secours est localhost au lieu de fedora pour les éditions CoreOS, IoT, Cloud et Server. Ce nom d'hôte est celui employé quand les autres méthodes (type configuration locale, DHCP ou DNS inversé) ne la définissent pas. Une mise à jour de systemd pour Fedora 33 avait fait l'opération inverse, avec la conséquence que de nombreux outils reposaient sur localhost comme nom d'hôte pour identifier les systèmes non configurés. Ce nom étant effectivement un nom trop basique et commun pour être une vraie valeur exploitable en production. L'objectif est de rétablir ce comportement afin de ne pas courir après les bogues et des correctifs manuels pour chaque logiciel concerné.

L'étiquetage des contextes SELinux est maintenant parallélisé. Cette opération va lancer un fil d'exécution par processeur détecté sur la machine automatiquement, selon les cas cela peut améliorer la vitesse de l'opération jusqu'à 18 fois. L'étiquetage se produit au prochain redémarrage après avoir passé SELinux de l'état désactivé à l'état activé ou après exécution de la commande fixfiles onboot. Si vous souhaitez changer le nombre de processus, vous pouvez exécuter la commande fixfiles -T 0 onboot, la valeur 0 signifiant tous les processeurs de la machine, les autres valeurs signifient le nombre de fils d'exécution souhaité.

La gestion des paquets passe par la nouvelle version de RPM 4.18. Un nouveau module de prise en charge des signatures OpenPGP utilise Sequoia-PGP, écrit en Rust. Ce module sera activé par défaut dans Fedora 38. La restauration des permissions avec l'option --restore est plus robuste et sécurisée, en particulier concernant les liens symboliques. Il propose également un shell interactif pour les macros via 'rpmspec --shell' et en Lua avec 'rpmlua'.

Pour plus de sécurité, tous les fichiers fournis par un paquet RPM sont signés. Il exploite les capacités du noyau nommées Linux Integrity Measurement Architecture, afin de définir des politiques de sécurité pour par exemple n'exécuter que les fichiers avec la bonne signature. Ou de vérifier tous les fichiers sauf ceux dans /var, ou encore ne vérifier la signature que des shells.

L'application Fichiers a un affichage adaptatif

Fedora ne propose cependant aucune politique par défaut pour laisser l'utilisateur libre de s'en servir ou pas, histoire de ne pas lui ajouter des contraintes trop fortes. L'édition IoT aura par contre des exemples de politiques adaptées à des cas d'usage pour simplifier le travail, car le contexte s'y prête plus. L'intégration avec l'outil Keylime est également un plus pour cette édition.

Le paquet rpm-plugin-ima doit être également installé pour s'en servir. La taille des paquets est en légère hausse par conséquent, mais sur un ensemble de 450 Mio de paquets RPM installés, le surplus de données est d'environ 1% soit 5 Mio ce qui est assez faible.

Fedora Workstation par défaut embarque le paquet whois au lieu de jwhois. Ce dernier n'est en effet plus activement développé, et a plus d'erreurs sur certains noms de domaines qui pouvaient nécessiter de changer la configuration à la main de l'outil.

Première étape pour le renforcement par défaut de la politique de sécurité manipulée via l'outil update-crypto-policies. Ce changement, en lien avec ce qui a été introduit par Fedora 28 puis 33 met à disposition une nouvelle règle optionnelle qui deviendra effective par défaut pour Fedora 39 seulement. Elle vise à mettre fin à l'algorithme de hashage SHA-1 dans les protocoles de chiffrement ou de signatures car il est considéré comme non sûr. De fait aussi l'usage des protocoles TLS 1.0 et 1.1 ne seront plus possibles dans les bibliothèques et logiciels concernés.

Vous pouvez tester l'impact potentiel dès maintenant via la commande :

# update-crypto-policies --set TEST-FEDORA39

Et revenir aux règles par défaut via la commande :

# update-crypto-policies --set DEFAULT

Notons qu'il faut redémarrer les applications pour en voir les effets.

Le paquet openssl1.1 est marqué comme déprécié en vue d'une suppression pour F38 ou F39. Plus aucun nouveau paquet ne sera admis avec une telle dépendance, la bibliothèque devant ne plus être maintenue officiellement en 2023.

Le paquet gettext est séparé en deux en gettext et gettext-runtime pour alléger la taille minimale du système d'environ 4,7 Mio.

Mise à jour du serveur DNS BIND 9.18. Il prend en charge le protocole DNS over TLS et DNS over HTTPS que ce soit comme source ou pour résoudre les noms de domaine ce qui améliore la confidentialité de ces requêtes.

Mise à jour du gestionnaire de stockage Stratis 3.2.0. Les utilisateurs ont la possibilité d'arrêter ou de démarrer un ensemble de stockage sans détruire les métadonnées associées.

Développement

Mise à jour de la chaîne de compilation GNU avec glibc 2.36 et binutils 2.38. Les deux apportent la prise en charge complète de l'information DT_RELR dans le format ELF pour la relocalisation aléatoire du code en mémoire. La glibc apporte la prise en charge de nombreuses fonctions spécifiques au noyau Linux dont la nouvelle API liée à l'appel système mount. Il est également possible de supprimer les requêtes AAAA du résolveur DNS intégré via l'option no-aaaa à des fins de test, ce qui implique tous les appels à la fonction getaddrinfo.

Pour binutils, les extensions pour l'architecture ARM v8.7-a, v8.8-a, v9-a, v9.1-a, armv9.2-a et armv9.3-a sont prises en charge de même que plus de registres systèmes pour cette architecture.

La chaîne de compilation LLVM a aussi son lot de mises à jour avec sa 15e version. Comme pour binutils plus haut, LLVM étend sa prise en charge des extensions ARM jusqu'à arm9.2-a. Il implémente pour l'architecture x86 l'option de GCC -fzero-call-used-reg pour réinitialiser les registres au retour d'une fonction pour éviter certaines attaques. L'organisation d'une structure en C peut être aussi réordonnée via l'attribut randomize_layout pour éviter également certaines attaques possibles. La prise en charge des normes OpenMP 5.1, C2X, C++20 et C++2b s'améliore. Debuginfod dispose également de son propre serveur HTTP.

Coup de Boost pour la version 1.78 de la bibliothèque C++. Outre les corrections nombreuses et habituelles, cette version fournit deux nouvelles bibliothèques définies uniquement dans leurs en-têtes : Lambda2 et Describe pour les projets compatibles C++14 et supérieur. La première permet de définir des lambdas avec des expressions simples sans utiliser la syntaxe usuelle de C++. Tandis que la seconde permet de décrire les énumérations, structures et autres classes et récupérer ces informations à travers des macros spécifiques.

Le langage Go fonce vers sa version 1.19. Le modèle mémoire évolue pour suivre celui des langages C, C++, Java, JavaScript, Rust et Swift. Le compilateur utilise une table de branchements pour les architectures arm64 et x86_64 pour les longs switch avec beaucoup d'entiers ou de chaînes de caractères pour gagner en performance, jusqu'à 20%. Lors de l'exécution, une limite de mémoire maximale est définie pour limiter l'entrée en scène du ramasse miette et améliorer les performances dans de nombreux scénarios.

La branche Node.js 18.x devient celle de référence. Les versions 16.x et 14.x restent disponibles en parallèle. Le moteur V8 est mis à jour dans sa version 10.1 tout comme la bibliothèque llhttp vers 6.0.7. Il met à disposition à titre expérimental l'API Web Streams ou encore Test Runner module pour faciliter la création de tests qui tournent un résultat au format TAP. Les temps d'attente par défaut passent à 6 secondes pour recevoir une entête HTTP complète, et 5 minutes pour recevoir une requête entière d'un client.

Le langage Perl bénéficie de sa version 5.36. Le langage peut gérer les caractères Unicode 14.0. Il est possible de vérifier si une valeur est un booléen avec la fonction is_bool(). Il introduit quelques changements considérés comme expérimentaux, comme l'itération sur plusieurs variables, ou le nouveau module nommé builtin pour faire référence aux fonctions fournies par l'interpréteur lui même. Les traitements d'exception peuvent accueillir le mot clé finally, lui aussi à titre expérimental.

Alors que le langage Python rampe vers sa version 3.11. Cette version apporte une amélioration significative des performances dans le cadre du projet CPython faster, de l'ordre de 10 à 60% de mieux. Il est possible de définir des groupes d'exception. L'interpréteur renvoie quant à lui des messages d'erreurs plus précis pour localiser l'origine exacte de l'erreur dans le code plutôt que juste le numéro de ligne dans un fichier.

Le langage Erlang dispose d'une 25e mise à jour. Le compilateur à la volée prend en charge l'architecture ARM64 ce qui améliore les performances pour celle-ci. Il peut d'ailleurs utiliser les informations provenant de gdb ou de perf pour améliorer la localisation des erreurs.

Pendant que Haskell GHC (le compilateur Haskell) 8.10.7 avec sa suite Stackage LTS 18.28 sont disponibles qui corrigent de nombreux bogues.

Le nouveau menu de sécurité fait son apparition

L'éditeur de texte Emacs passe à la version 28.1. Il peut compiler nativement les fichiers Lisp ce qui peut améliorer les performances pour de nombreuses fonctionnalités du logiciel. L'affichage des emoji a été grandement amélioré, normalement compatible avec ceux d'Unicode 14.0. Parmi de nombreux autres changements, un nouveau système pour documenter les groupes de fonctions est également proposé.

La bibliothèque libsoup version 3 fait son entrée dans Fedora. En parallèle sa 2e version est conservée pour des questions de compatibilité jusqu'à Fedora 39. Cette version propose nativement la prise en charge du protocole HTTP/2 tandis que celle de XML-RPC a été supprimée. De nombreux changements internes ont été effectués cassant la compatibilité ascendante, comme le passage de toutes les entrées / sorties sous la forme d'objets GIOStream pour plus d'uniformité.

Mise à jour de la chaine de compilation pour Windows nommée MinGW. Cela permet de fournir l'accès à GCC 12 et aux outils binutils 3.28.

Par ailleurs il utilise la bibliothèque OpenSSL 3e du nom qui est la nouvelle version de référence de la bibliothèque de Fedora pour des raisons de sécurité et de maintenance.

Il bénéfice également de la cible UCRT (Universal C Runtime) en plus de MSVCRT (Microsoft Visual C++ Runtime), ce support étant recommandé depuis Windows 10. Par conséquent la prise en charge de C99 est aussi améliorée dans cet environnement, ou la prise en charge de UTF-8.

Projet Fedora

Fedora CoreOS devient une édition officielle. Elle rejoint ainsi les éditions Cloud, IoT, Server et Workstation, en conséquence elle sera plus mise en avant sur le site web et les bogues l'impactant seront mieux considérés avant la sortie d'une nouvelle version.

Fedora Cloud Base redevient une édition officielle également. De même que pour CoreOS, elle retrouve ce statut qu'il avait perdu faute d'intérêts identifiés à une époque. Elle doit être complémentaire de Server et de CoreOS pour être utilisé dans des environnements virtualisés.

La génération des images IoT se fait avec l'outil osbuild. L'objectif est d'utiliser la même plateforme que RHEL for Edge et ainsi redevenir un véritable projet en amont de celui-ci.

Les paquets Python ont par défaut un shebang avec l'option -P activée. L'objectif est de retirer notamment /usr/bin/ de la variable sys.path ce qui peut engendrer des bogues gênants selon les fichiers présents dans le même répertoire notamment lors de l'importation des modules. Ce changement consiste en l'ajout de l'argument en question dans les macros RPM '%{py3_shbang_opts} et %{py3_shebang_flags}. Pour les paquets ayant un soucis avec ce changement, il est possible de rétablir le comportement précédent en invoquant la macro %undefine _py3_shebang_P.

Le menu de GNOME a subi un ravalement de façade bienvenu

Python Dist RPM fourni uniquement des noms normalisés selon la PEP 503. Ainsi par exemple sous Fedora 36, le paquet python3-ruamel-yaml peut être défini sous la forme python3dist(ruamel-yaml) ou python3dist(ruamel.yaml) alors que dorénavant uniquement le premier est possible. Cela rend les noms plus cohérents avec notamment ce qui est utilisé dans l'écosystème Python.

Ajout d'une nouvelle cible ELN-extras pour étendre les fonctions de ELN et améliorer EPEL. EPEL peut être résumé comme une collection de paquets supplémentaires pour RHEL qui se base essentiellement sur le contenu des dépôts de Fedora. ELN est quant à lui une compilation de Fedora Rawhide (la version en développement continue) comme une RHEL pour tester les procédures de génération des images. Le but du changement ici est, contrairement au contenu de ELN qui est essentiellement décidé par Red Hat, ici le contenu serait indépendant et plus ouvert à l'extérieur. Cela donnerait la possibilité de tester d'autres choses dans la procédure de compilation de RHEL, avant que cela n’atterrisse dans CentOS Stream par exemple. Cela réduirait également le délai pour fournir une nouvelle version de EPEL (pour RHEL 10 par exemple) car on pourrait tester la compilation des paquets EPEL plus tôt.

La communauté francophone

L'association

Logo de Borsalinux-fr
Logo de Borsalinux-fr

Borsalinux-fr est l'association qui gère la promotion de Fedora dans l'espace francophone. Nous constatons depuis quelques années une baisse progressive des membres à jour de cotisation et de volontaires pour prendre en main les activités dévolues à l'association.

Nous lançons donc un appel à nous rejoindre afin de nous aider.

L'association est en effet propriétaire du site officiel de la communauté francophone de Fedora, organise des évènements promotionnels comme les Rencontres Fedora régulièrement et participe à l'ensemble des évènements majeurs concernant le libre à travers la France principalement.

Si vous aimez Fedora, et que vous souhaitez que notre action perdure, vous pouvez :

  • Adhérer à l'association : les cotisations nous aident à produire des goodies, à nous déplacer pour les évènements, à payer le matériel ;
  • Participer sur le forum, les listes de diffusion, à la réfection de la documentation, représenter l'association sur différents évènements francophones ;
  • Concevoir des goodies ;
  • Organiser des évènements type Rencontres Fedora dans votre ville.

Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.

Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions hebdomadaires chaque lundi soir à 20h30 (heure de Paris) sur IRC (canal #fedora-meeting-1 sur Libera). Pour plus de convivialité, nous avons mis en place également une réunion mensuelle le premier lundi du mois à la même heure en visio-conférence sur Jitsi.

L'association sera également représenté par Emmanuel Seyman lors du Capitole du Libre à Toulouse le 19 et 20 novembre.

La documentation

Depuis juin 2017, un grand travail de nettoyage a été entrepris sur la documentation francophone de Fedora, pour rattraper les 5 années de retard accumulées sur le sujet.

Le moins que l'on puisse dire, c'est que le travail abattu est important : près de 90 articles corrigés et remis au goût du jour. Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège, José Fournier et les autres contributeurs et relecteurs pour leurs contributions.

L'équipe se réunit tous les lundis soir après 21h (heure de Paris) sur IRC (canal #fedora-doc-fr sur Libera) pour faire progresser la documentation par un travail collaboratif. Le reste de la semaine cela se passe sur le forum.

Si vous avez des idées d'articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n'hésitez pas à participer.

Comment se procurer Fedora Linux 37 ?

Fedora Media Writer
Fedora Media Writer

Si vous avez déjà Fedora Linux 36 ou 35 sur votre machine, vous pouvez faire une mise à niveau vers Fedora Linux 37. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.

Autrement, pas de panique, vous pouvez télécharger Fedora Linux avant de procéder à son installation. La procédure ne prend que quelques minutes.

Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable.

De plus, pour éviter les mauvaises surprises, nous vous recommandons aussi de lire au préalable les bogues importants connus à ce jour pour Fedora Linux 37.