From Fedora Project Wiki

Dépêche sous licence CC BY-SA

En ce mardi XX juin 2016, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora 24.

Fedora est une distribution communautaire développée par le projet éponyme et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora peut se voir 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, X.Org, systemd, la célèbre suite de compilateurs GCC, etc. Cliquez ici pour voir l’ensemble des contributions de Red Hat.

Par ailleurs, les distributions telles que RHEL, Scientific Linux ou CentOS (plus indirectement), avec un cycle de sortie plus espacé permettant un support à plus long terme, sont développées à partir d’une version de Fedora et mises à jour environ tous les trois à cinq ans. Notons que CentOS est un clone gratuit de RHEL, cette dernière étant certes libre, mais payante, offrant ainsi un support technique, des certifications et une garantie.

Environnement bureautique

Qui dit mise à jour de Fedora dit mise à jour de Gnome. La version 3.20 a apporté un grand soin à l'amélioration de la session fonctionnant sous Wayland. Cependant, les quelques éléments manquants à l'appel comme l'accessibilité, font repousser l'échéance à Fedora 25 pour la mise en place par défaut de cette session. Outre cet élément, Gnome Maps gère les itinéraires avec l'aide d'OpenStreetMap. La liste des impressions a été entièrement refaite, tout comme l'utilitaire dconf pour être plus en phase avec le reste du système. Gnome Photos quant à lui sait modifier les images avec quelques effets et outils de base. Ensuite, Gnome Documents intègre des bibliothèques de LibreOffice, pour gérer les fichiers qu'il supporte comme les OpenDocuments. Pour finir, Nautilus dispose d'un rafraîchissement dans son interface de recherche, plus efficace.

Plus en marge de Gnome, c'est Gnome Logiciels qui permet la mise à niveau de Fedora de manière graphique. Cela est dans la continuité de la mise à niveau disponible directement par dnf, apportée par Fedora 23. Cette possibilité de Gnome Logiciels sera proposé également aux utilisateurs de Fedora 23, afin de passer à Fedora 24. Outre cet apport, Gnome Logiciels précise si un logiciel est intégré au système, s'il est disponible via un dépôt tiers et si son développement est toujours actif. Il gère également les notes et commentaires des utilisateurs comme les magasins d'applications d'autres systèmes. Pour finir, il peut rattacher les extensions de certains programmes au paquet source comme Firefox afin de disposer de tous les éléments sur une page.

Toujours au sujet de Gnome, Fedora propose par défaut l'exploitation de la nouvelle bibliothèque QGnomePlatform. Cette bibliothèque vise à intégrer visuellement les applications écrites en Qt dans Gnome (qui est écrit en GTK+). Ainsi ces applications utiliseront la même taille de police, la même police, le même fond de couleur, le même ratio d'écrans à haute résolution et les mêmes effets et widgets du thème Gnome en cours d'utilisation. Cela n'a bien sûr aucun impact sur l'ergonomie du programme et son intégration d'un point de vue fonctionnel. C'est uniquement esthétique.

Concernant le passage à Fedora 24, l'utilitaire LiveUSB Tools a été entièrement revisité. L'objectif est en effet que l'utilitaire télécharge et installe très simplement une version spécifiée de Fedora, qui peut être un Spin par exemple. Cela évite notamment de devoir graver l'image disque à la main sur clé USB ou CD, étape compliquée pour trop d'utilisateurs potentiels. Cependant pour une question de conditions légales, il y a la problématique de la génération automatique de l'application pour Windows et Mac OS X, qui ne sont du coup pas encore disponibles officiellement sur ces plateformes. Les utilisateurs de Fedora 23 pourront bénéficier de cette version, qui s'intègre par ailleurs mieux à l'environnement Gnome et qui a été grandement simplifiée à l'usage.

En parlant des Spins, qui sont des images officielles de Fedora avec d'autres logiciels pré-installés par défaut comme KDE, des outils de conception électronique, etc. Fedora met à disposition un nouveau Spin officiel consacré à l'astronomie. Il comprend entre autre un environnement KDE avec KStar, Stellarium et Celestia pour les applications principales installées par défaut.

Vous êtes utilisateur du mini-ordinateur OLPC ? Vous connaissez sans doute son environnement graphique Sugar, qui a été mis à jour à la version 0.108. C'est surtout une version de fignolage. Avec par exemple la disparition de l'icône de batterie quand elle est retirée ou la possibilité de démarrer même quand le disque dur est plein.

NetworkManager progresse à la version 1.2 : nouvelle interface de programmation pour les VPN, qui peut d'ailleurs en gérer plusieurs simultanément dorénavant et en ligne de commande. Il prend également en charge les connexions des conteneurs Docker ou LXC. L'interface textuelle a subi une refonte en étant plus lisible grâce à plus de couleurs, un tri de ses sorties et une amélioration dans l'autocomplétion des commandes. Pour renforcer votre vie privée, NetworkManager utilisera par défaut une adresse MAC aléatoire pour scanner les réseaux Wifi, n'exposant ainsi la vraie adresse que pour l'établissement de la connexion, ce qui empêche votre pistage par des points d'accès sans fil notamment.

L'outil de manipulation de photos à l'état brut Darktable évolue en version 2.0. Tout d'abord, il s'intègre mieux dans Gnome par le passage de GTK+ 2 à GTK+ 3 ce qui permet aussi la gestion des écrans à très haute résolution. Il possède une meilleure gestion des couleurs et des impressions via les profils de couleurs de vos périphériques comme celui de votre écran. Ajouts de nouveaux modèles d'appareils photos pour l'extraction automatique des images et des métadonnées. Cette version marque également l'arrêt de la distribution de la version 32 bits.

Administration système

L'utilitaire livemedia-creator remplace livecd-creator pour la mise en place des images ISO de Fedora sur un support comme sur CD par exemple. Elle sera plus générique avec des images pour périphériques ARM, LiveUSB ou le démarrage réseau par PXE. Il est aussi plus moderne avec une base en Python 3 plutôt que la version 2.

Kerberos prend en compte les règles génériques du système pour la conception des mots de passe. Cela fait suite à la mise en place d'une bibliothèque commune pour les règles de mots de passe, introduite dans Fedora 23.

Distribution du logiciel sen, un utilitaire textuel pour gérer et surveiller les images Docker. Il faut le voir comme une fusion des utilitaires htop, alot et tig pour ces systèmes. Ainsi il peut lancer ou arrêter ces images, étudier leurs journaux, voir leur contenu ou encore obtenir des données en temps réel sur leurs états.

Le paquet systemd se divise un peu plus. Maintenant, la gestion des conteneurs via systemd se fera au travers du paquet systems-containers, et la gestion du matériel via le nouveau paquet systemd-udev. L'objectif de la manœuvre est d'alléger la distribution pour les systèmes virtualisés ou dans les conteneurs qui n'en ont pas besoin. Ces paquets seront en effets facultatifs.

Encore au sujet de systemd, il ne relancera les services qu'une fois ou deux lors d'une transaction RPM complète sur l'ensemble des paquets concernés et non pour chaque paquet concerné en cours de traitement. Cela limitera les interruptions de services et des opérations répétitives inutilement, l'opération étant factorisée.

Ajout dans l'installateur Anaconda d'une interface de programmation DBus autour des volumes logiques LVM.

Fusion des utilitaires ping et ping6 autour d'un même utilitaire ping gérant les deux types d'adresses IP à savoir IPv4 et IPv6. Il suffira de passer l'option -4 ou -6 pour forcer le type d'adressage. Le système sera ainsi plus cohérent.

Pour le calcul des adresses IP, ipcalctool sera supprimé au profit d'ipcalc à cause de la redondance entre les deux et de la non gestion de l'IPv6 par le premier.

Cloud

Retour du très attendu OpenShift Origin dans Fedora pour le développement et le déploiement des services Cloud. Cette solution appartenant à Red Hat, elle a déjà fait une excursion dans sa 2e version dans Fedora par le passé. Mais la compatibilité avec les évolutions de Ruby étant difficiles, il a été retiré. La version 3 repose dorénavant sur Go et fait son retour dans les dépôts.

Ajout d'une entrée pour développeurs dans l'image de démarrage d'Atomic. En effet, avant cela, il était nécessaire d'instancier un Cloud pour y accéder, ce qui ne sera maintenant plus nécessaire dans un cadre de tests ou de maintenance.

Les images Atomic peuvent bénéficier des espaces de stockages à travers glusterfs ou Ceph dorénavant.

Les utilisateurs peuvent recevoir, pour plus de visibilité, la liste des mises à jour disponibles après leur connexion via les messages du jour ou encore nommé motd(message of the day). C'est un mécanisme de génération de texte qui est affiché à la console à chaque connexion de l'utilisateur, pour notifier l'utilisateur de quelque chose.

Refonte de paquets autour du langage Python. Tout ce qui est requis du langage par les programmes system-* importants ont été inséré dans des paquets system-python afin d'éviter d'utiliser le paquet python en entier. Là encore, dans le but d'alléger le système de base.

Développement

L'agrégat de compilateurs GCC passe à la version 6.1. Cette version marque l'usage de la version C++14 par défaut au lieu de 98. Les messages d'erreurs sont encore plus explicites. L'édition des liens a des performances accrues par une plus grande parallélisation de ce processus et des fichiers LTO (link-time optimization) plus légers. Par défaut, en C++, les pointeurs this au sein de la classe seront considérés par défaut comme valides à des fins d'optimisation. Pour finir le code OpenMP peut maintenant s'exécuter sur des cartes graphiques AMD pour soulager le processeur et gagner en performance.

Le langage Python se mue à la version 3.5. Les programmes zippés sont ainsi dotés de l'extension .pyz ou .pywzpour être facilement identifiable par le système. Ajout du formateur % pour les octets et tableaux d'octets. Pour de meilleurs performance, ajout de os.scandir() comme nouvel itérateur de répertoire, économisant un appel système coûteux pour chaque fichier présent. Et pour la comparaison de flottants, la fonction math.isclose() permet de vérifier une égalité à 10^-9 près par défaut. Pour finir, la multiplication matricielle dispose de son propre opérateur qui est l'arobase.

Remplacement du projet Subs, un client pour services web SOAP en Python, par le fork initié par Jurko Gospodnetić, faute de maintenance et du non-support de Python 3.

Le langage de Google, Go, évolue à la version 1.6. Au programme, le paquet net/http gère le protocole HTTP2 de manière transparente. Une amélioration notable des performances autour des paquets de cryptographies ou du ramasse miette. Également quelques modifications des templates et concurrences d'accès aux map.

Le langage Ruby quant à lui fonce en version 2.3. Outre une progression dans les performances, un nouveau pragma est proposé pour geler les chaînes de caractères d'un fichier, afin qu'elles soient immuables. De plus, un nouvel opérateur de navigation sécurisé fait son apparition : &.. En effet, au lieu de tester la validité de chaque membre par exemple de foo.bar.test demandant moult conditions de test, cet opérateur gère la situation proprement avec foo&.bar&.test.

Le langage Erlang bénéficie de sa dernière version 18. Au menu, un passage à la licence Apache License 2.0. Plus fonctionnellement, les standards de cryptographie SSLv3 et RC4 ont été retirés, car elles ne sont plus fiables à l'heure actuelle. Une nouvelle API pour gérer le temps, qui prend mieux en charge la notification du changement d'heure par le système. Par ailleurs la gestion du temps est plus optimisée et passe mieux à l'échelle.

Un coup de fouet a été donné pour la distribution LaTeX TeXLive vers la version 2015. La partie PDF gère les JPEG Exif tout comme JFIF. MetaPost sait manipuler les nombres en base deux et le japonais. Et enfin, amélioration de la gestion de l'Unicode dans les procédures internes.

La célèbre bibliothèque C++ Boost, a été boostée vers la version 1.60. Cette version corrige la prise en charge de l'architecture PowerPC de la partie Atomic, pendant que les architectures x86 et x86_64 bénéficient d'une réduction de registres nécessaires dans cette section. La partie Tests profite d'une nouvelle API et interface en ligne de commandes. Et bien d'autres correctifs encore.

La bibliothèque standard du langage C GLibc avance à la version 2.23. Cette version apporte la gestion d'Unicode 8.0. Il est enfin possible de désactiver les fuseaux horaires pour un programme cible, afin d'utiliser une bibliothèque externe par exemple. Elle corrige aussi un bogue présent depuis 2012 dans l'implémentation de la fonction malloc en cas de demandes concurrentes entre différents threads. Bien sûr il y a aussi d’autres correctifs importants, dont de sécurité. Suppression dans GLibc de librtkaio qui ajoutait l'API POSIX concernant le temps réel pour les entrées/sorties asynchrones, qui était trop peu utilisée.

Abandon de la dépendance des modules PHP PECL avec le paquet php-pear, projet qui devient obsolète.

Les amateurs de la bibliothèque de Qt profiteront du remplacement de QtWebKit par QtWebEngine, qui est enfin disponible dans les dépôts. Le premier est en effet abandonné par Qt depuis la version 5.5 mais restera disponible pour les applications n'ayant pas encore effectuées la migration. Le nouveau moteur est celui exploité par Chromium, la version libre de Google Chrome.

La plateforme de serveurs JavaScript, Node.js, découvre la véritable réponse 4.2. Comme souvent, amélioration des performances, mais aussi possibilité de vérifier la syntaxe du code sans l'exécuter. Et beaucoup de corrections de bogues au programme.

Mise à jour de la plateforme de développement .NET Mono 4.2. Cette version bénéficie de plus de code en provenance de Microsot suite à la libération de certaines parties de .NET récemment et d'une amélioration des performances à l'exécution. Et bien de correctifs également.

Ajout et activation du ramasse miette Shenandoah 1.0 à OpenJDK qui met en pause moins longtemps le programme pour nettoyer la mémoire de ce dernier.

Fedora ajoute la prise en charge des environnements de développement pour le composant BBC Micro Bit, dédié à l'apprentissage de l'informatique au Royaume-Uni. De quoi permettre aux écoliers britanniques d'utiliser Fedora pour leurs devoirs. Cette carte dispose d'un SoC ARM Cortex M0 (32 bits), une antenne Bluetooth, un bouton reset, un port microUSB, un accéléromètre et une boussole numérique.

Internationalisation

Ajout de méta paquets RPM et usage d'un nouveau champ du format RPM pour installer automatiquement les paquets de traduction des logiciels sur votre machine. Il doit remplacer à terme le greffon dnf-langpack qui effectuait cette tâche imparfaitement au sein d'Anaconda lors d'une installation fraîche de Fedora. Cela repose sur une gestion des dépendances faibles qui permet de préciser qu'un paquet est nécessaire dans le cas d'un usage du système dans une langue donnée ou autres éléments particuliers.

Sortie des langues du paquet Glibc. Cette bibliothèque de base du système offre ainsi un système plus léger (particulièrement utile pour les versions Server et Cloud) en éliminant les chaînes de langues non indispensables par défaut, et en utilisant la fonctionnalité décrite ci-dessus pour installer celles nécessaires au système.

Mise à jour du composant ibus-fbterm de la suite IBus à la version 1.5 afin de profiter d'IBus dans les environnements purement textuels.

Du côté du Projet Fedora

Le projet Fedora a dans son ensemble profité de la version 24 pour mettre en place de nouveaux outils et de nouvelles procédures pour générer les images ou les dépôts de Fedora. L'objectif étant d'améliorer l'intégration et la logique de l'ensemble et de pouvoir mettre en place le fonctionnement de Fedora.next, dont la notion des couches logicielles au sein de la distribution.

Koji peut générer des dépôts avec des paquets RPM signés, permettant d'unifier nombre de procédures et d'outils en son sein, qui en général étaient des scripts épars écrits dans des langages différents.

Mise à disposition d'images officielles de Fedora à base de couches d'images Docker. Cela facilitera le déploiement d'applications via un conteneur Docker par Fedora elle même.

Réécriture de pungi, qui sert à réaliser les images de Fedora, avec une amélioration des performances permettant de réaliser des images plus souvent. Il met à disposition les journaux de manière publique et de manière plus distribuée aussi. Il servira plus tard à aider la génération d'images de tests pour alimenter autoqa, afin de déterminer si cette image est fonctionnelle ou non et ce automatiquement.

Ajout du programme web Product Definition Center. Il remplace l'ensemble des scripts chaotiques (en Python, Shell ou Perl) qui servaient à définir et générer les différentes images officielles du projet. La nouvelle architecture pour réaliser cela sera du type MVC, et ce programme correspond à la partie Model de l'ensemble.