Dépêche sous licence CC BY-SA
En ce mardi 26 mai 2015, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora 22.
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
L'environnement de bureau Gnome, celui par défaut, est proposé maintenant à la version 3.16. Des contributeurs de Fedora se sont directement impliqués dans la réalisation de deux de ses nouveautés majeures : la refonte du design de l'explorateur de fichier Nautilus, qui correspond aujourd'hui mieux au visuel du reste des applications Gnome. Mais aussi la refonte globale du système de notification, abandonnant la présentation sur la barre du bas pour fusionner avec le widget de calendrier dans la barre du haut. On peut noter l'apparition de deux nouveaux jeux, l'un qui est un clone du jeu de puzzle 2048 et l'autre un autre jeu de puzzle nommé taquin. Cette version est également l'occasion de la refonte du thème de Gnome-Shell, arborant un style plus sobre. Aussi, Gnome Logiciel remplace Packagekit pour installer automatiquement de nouveaux codecs si vous en avez besoin à l'ouverture d'un fichier.
Plus en marge de cette version de Gnome, il y a également eu l'inclusion d'une notification automatique quand une tâche lancée dans Gnome Terminal se termine. Sans oublier le travail important de l'intégration des applications Qt aux applications GTK+ avec la fin de l'écriture du thème Adwaita pour ces applications (Adwaita étant le thème par défaut de Gnome) et avec un meilleur support des notifications proposées par Gnome. Notons que ABRT, l'outil pour faciliter les rapports de bogues, utilise les paramètres de confidentialité de Gnome pour n'envoyer que les informations que vous souhaitez envoyer. De même, il s'intègre mieux au nouveau système de notification de Gnome.
Pour finir sur cet environnement, maintenant GDM, le gestionnaire de connexion de l'utilisateur, utilise Wayland et non plus X11 par défaut pour réaliser cette affichage. Wayland représente en effet une refonte importante de la couche graphique des systèmes Linux qui doit remplacer le modèle ancien et difficile à maintenir qu'est X11. L'objectif ici est de réaliser un test grandeur nature de Wayland, sachant qu'en cas de problème X11 sera utilisé automatiquement. Ce travail doit préparer l'arrivée par défaut de Wayland par défaut dans Fedora pour la version 23. Pour les plus courageux, Wayland reste utilisable dans Gnome en installant le paquet adéquat et en le choisissant dans GDM. Vous pouvez obtenir plus d'informations sur Wayland ici.
Concernant l'arrivée prochaine de Wayland, libinput est utilisé pour gérer les périphériques d'entrées (souris, touchpads, claviers, etc.) par rapport à la pile logicielle de X11. libinput est comme Wayland : mieux architecturé que l'équivalent X11 qui souffre de l'héritage de 30 ans d'évolution informatique. Parmi les évolutions notables, la gestion du touchpad sera améliorée notamment sur le support du multi-touch. Notons que cette fonctionnalité nécessite le paquet xorg-x11-drv-libinput, à installer manuellement en cas de mise à jour depuis Fedora 21.
Plasma 5.3 est maintenant la version par défaut de l'interface de KDE. Cette version apporte un nouveau thème, nommé Breeze, qui est plus clair et lisible. Grâce aux changements apportés par Qt 5, la bibliothèque graphique ayant servi à sa conception, l'interface est maintenant totalement gérée par l'accélération graphique matérielle via OpenGL. La compatibilité avec Wayland a été accrue tout comme la gestion d'énergie et du Bluetooth.
Xfce se met à jour à la version 4.12. À la clé, nous pouvons noter le support des écrans à très haute résolution, une meilleure gestion du multi-écran et de la bibliothèque libinput dont nous avons évoqué le sujet plus haut. Côté applicatif, les onglets dans le navigateur de fichiers Thunar sont enfin là et l'éditeur de texte mousepad est plus rapide et simple. Pour finir, la transition vers la bibliothèque GTK+3 poursuit son cours avec le port des applets et du lecteur multimédia parole.
Un nouvel environnement bureautique est disponible pour Fedora 22 : LXQt (ex-RazorQt). LXDE est un environnement qui est disponible depuis plusieurs années dans Fedora, l'objectif était d'être un environnement très simple et très léger tout en essayant d'être agréable à l'œil. Cette fois c'est son pendant Qt (plutôt que GTK+) qui est disponible, avec le même objectif mais un visuel et une intégration orientée Qt.
Dans la même veine, un nouveau gestionnaire de fenêtre pavant est également disponible. De son petit nom qtile, il est entièrement écrit et configurable en Python. Comme beaucoup de ses semblables tel que i3, il est hautement scriptable pour la configuration pour automatiser par exemple la disposition des applications à l'écran.
Depuis Fedora 19, le projet Fedora a entreprit de gros chantiers pour améliorer la gestion des langues exotiques. Cette version ne fait pas exception avec l'ajout de Lohit2 Odia et Telugu, des polices de caractères adaptées pour ces langues indiennes. Toujours au sujet des polices de caractères, eurlatgr remplace latarcyrheb-sun16 comme police de caractères des consoles pour les langues à alphabet latin ou grec. En effet, cette police supporte bien mieux les caractères dans ces langues-ci (mais aucun support des alphabets arabe, cyrillique ou hébreu qui resteront avec latarcyrheb-sun16). Cela devenait nécessaire par des caractères non lisibles dans man ou systemd qui emploient beaucoup de caractères Unicode tout comme de plus en plus d'applications.
Dans la continuité de ce travail, la langue indienne Marathi dispose d'une nouvelle méthode de saisi. Une grande partie de la population indienne connait au moins partiellement l'anglais et cette méthodologie s'adresse à eux. Cette méthode repose par la traduction phonétique des caractères tapées à partir de la prononciation alphabétique anglaise. Si une correspondance est trouvée, le mot est automatiquement transcrit dans l'alphabet de cette langue. L'avantage est de permettre une saisie plus rapide notamment de certains mots qui nécessitent de parcourir des tables ou d'utiliser des combinaisons complexes à partir de Alt Gr.
Administration système
La nouveauté la plus marquante de cette version est probablement le changement de Yum par DNF par défaut. En effet, Yum était depuis Fedora Core 1 (septembre 2003), le gestionnaire de paquets par défaut de la distribution. Malgré ses progrès avec le temps, de nombreuses personnes ont privilégié la réécriture d'un autre gestionnaire pour corriger ses performances et apporter de meilleurs résultats dans la résolution de dépendances. L'objectif de DNF est notamment d'utiliser un résolveur externe (nommé hawkey) et un gestionnaire de dépôt externe (nommé librepo) qui pourraient être utilisés par d'autres gestionnaires concurrents comme APT. DNF a une sortie et une logique similaire à Yum mais n'est pas compatible totalement (de nombreuses options ont été changées). Maintenant le binaire yum redirige vers dnf. Pour vous aider dans la transition, une page explicative liste les différences entre DNF et YUM.
Par ailleurs, au sujet de DNF, Fedora 22 en profite pour que, selon la langue système utilisée, il installe automatiquement les traductions des logiciels déjà installés comme LibreOffice ou KDE.
Au sujet de la gestion des paquets, il est dorénavant possible via PackageKit et Gnome Logiciels de chercher des paquets à installer qui sont disponibles dans des dépôts désactivés. Si l'attribut enabled_metadata est actif pour le dépôt quand enabled ne l'est pas, ces outils peuvent remonter l'information à l'utilisateur que le programme souhaité est disponible mais qu'il faut activer ce dépôt s'il le veut. L'objectif est de simplifier la vie de l'utilisateur tout en améliorant sa sécurité en l'incitant à désactiver les dépôts non officiels.
Pour ceux qui privilégient la mise à jour d'une version de Fedora à une autre, plutôt que de réinstaller, seront ravis d'apprendre la mise à disposition de l'assistant de mise à jour. En effet, lors du changement d'une version de Fedora beaucoup de logiciels le sont également en son sein avec potentiellement des changements importants dans les fonctionnalités ou les fichiers de configuration. Le paquet preupgrade-assistant vous fera des rapports sur les changements à tenir compte pour aider l'administrateur système à répercuter ces changements dans sa configuration.
Encore un nouvel utilitaire apparaît : dbxtool. Il est présent pour mettre à jour la liste noire de l'UEFI Secure Boot. La norme UEFI avec Secure Boot permet non seulement de mettre sur liste blanche des binaires et du matériel utilisables, mais aussi mettre sur liste noire d'autres binaires ou des certificats de sécurité. Cela autorise par exemple un éditeur logiciels de forcer la mise à jour de son produit et de bloquer les versions non à jour pour des raisons de sécurité (comme par exemple un grub2 ou un noyau Linux troués). Dbxtool est donc à disposition pour les environnements le nécessitant, n'étant pas actif par défaut.
BIND est mis à jour à sa version 9.10. Cette nouvelle version majeure d'un des plus célèbre serveur DNS libre n'est pas anodin. Il est vivement recommandée aux administrateurs systèmes l'employant de se renseigner en détail sur son sujet. Pour résumer, il y a l'ajout du type de fichier map qui permet à des données de zones d'être directement accessibles en mémoire, un nouvel outil delv qui aide à l'inspection des données DNS mais aussi DNSSEC pour sa version sécurisée. Outre l'amélioration des performances globales du programme, PKCS#11 API est disponible qui permet l'exploitation du matériel d'accélération de calculs crypotgraphiques. Et bien d'autres encore.
Dans les logiciels prisés des administrateurs systèmes, il y a aussi Apache. C'est ainsi que Fedora 22 inclus le programme Ipsilon. C'est un serveur et une boîte à outils pour configurer les fournisseurs de services basés sur Apache. Ce serveur inclus une application mod_wsgi qui fournit les SSO fédérés aux applications web. Un gestionnaire d'identité est fourni à côté pour l'identification via FreeIPA par exemple tandis que la communication avec les applications peut se faire via des protocoles fédérés tels que SAML ou OpenID.
L'aspect base de données n'est pas laissé de côté pour autant. Fedora fournit une suite d'utilitaires pour améliorer et simplifier le rôle de serveur de base de données avec l'aide du gestionnaire de BDD libre PostgreSQL. Avec l'aide du programme graphique Cockpit et de l'interface DBus, il devient plus simple et rapide de créer un système orienté BDD disponible sur le réseau. Cela s'appuie sur le travail sur l'API et le framework des rôles de serveurs fait pour Fedora 21. D'autres rôles seront sans doute à venir pour Fedora 23.
Uniquement pour la version serveur de Fedora, le système de fichier XFS est proposé par défaut au lieu de ext4 pour sa capacité à gérer les grands espaces de stockages (8 Eio au lieu de 1 Eio, et 8 Eio au lieu de 16 Tio pour la taille maximale d'un fichier) et son optimisation pour un tel usage.
Cloud et virtualisation
Ajout de Vagrant, un utilitaire pour automatiser et gérer la création de machines virtuelles pour faciliter le développement et la réalisation de tests dans un environnement unique. Pouvant se coupler avec plusieurs systèmes de virtualisation comme VirtualBox, Docker et VMWare, par défaut il se couplera avec la solution libvirt, largement utilisée dans l'écosystème de Fedora et de Red-Hat. Par ailleurs, Vagrant peut exploiter les images Fedora Atomic Host et Fedora Cloud pour générer les systèmes prêts à l'emploi.
Dans la même optique du déploiement et le tests des images clouds, nous avons Tunir qui est disponible. C'est un logiciel d'aide à l'intégration continue utilisée notamment pour les images officiels de Fedora Cloud compilées chaque nuit. Il peut ainsi construire une image pour la lancer automatiquement dans une machine virtuelle ou Docker pour y exécuter les tests adéquats. Son objectif par rapport à des solutions comme Jenkins est sa légèreté et simplicité d'utilisation.
Fedora Atomic Host, une implémentation du projet Fedora du Projet Atomic, est mis à disposition ! L'objectif du projet Atomic est de fournir des applications à base de Docker de manière sécurisée en couplage avec SELinux et les mises à jour dites atomiques. Cette image a nécessité la conception d'une autre nouveauté qu'est RpmOstree. Ce gestionnaire de paquet a une autre conception du déploiement des paquets RPMs et de leurs mises à jour. Reposant sur les bibliothèques de DNFs que nous avons évoqué plus haut, il représente les mises à jour sous forme d'un arbre pour réaliser l'aspect atomique de cette opération. Il peut permettre typiquement la création d'une partition clone de celle d'origine avec les mises à jour effectuées. Ainsi, en cas de panne, il peut revenir en arrière très rapidement et simplement sans casse.
L'outil Elasticsearch fait son apparition dans les dépôts. Ce logiciel est un serveur distribué d'indexation de données. Basé sur une API REST et orienté documents stockant par l'occasion ses résultats sous forme de documents JSON. L'objectif est de faciliter les recherches dans un grand nombre de données textuelles et potentiellement non formatées, mais s'ils le sont il peut également indexer en fonction du schéma JSON ou XML par exemple.
Développement
La suite de compilation GCC se met à jour à la nouvelle version majeure 5.1. L'ABI des applications C++ change pour se conformer à la norme C++11 complète qui nécessite la recompilation de tous les programmes utilisant std::list et std::string. Cependant, pour des raisons de temps, Fedora a compilé l'ensemble des programmes avec GCC 5 mais en désactivant la nouvelle ABI ce qui retarde la recompilation massive de ces programmes à Fedora 23. Toujours à propos de C++, la norme C++14 poursuit son implémentation expérimentale. Le standard C par défaut passe à C11 plutôt que le traditionnel C89, de nouvelles options pour avertir des comportements indéfinis et des optimisations durant l'édition des liens. La norme OpenMP pour simplifier la programmation parallèle passe à la version 4.0. Concernant la norme OpenACC elle passe en version 2.0 pour le support du matériel accélérant programmables comme les GPU. Puis bien sûr d'autres optimisations diverses et variées et le support d'autres architectures matérielles.
La bibliothèque fondamentale du langage C, glibc, supporte Unicode 7.0 au lieu de Unicode 5.1. L'ajout de ces 8000 caractères supplémentaires a nécessité un gros travail pour corriger les régressions potentielles dues à ce changement. Cela permet de poursuivre l'effort d’internationalisation du projet.
Python est sans doute le langage le plus utilisé dans les développements de Fedora. C'est pourquoi il en tirera de nombreuses améliorations. Cela commence par le framework Web DJango qui passe à la version 1.8. L'API Model._meta apparaît, le support de plusieurs moteurs de templates comme celui de Django ou Jinja2, une meilleure intégration à PostgreSQL pour l'aspect BDD et divers correctifs de sécurités et de bogues.
La bibliothèque graphique wXPython se met à jour à la version 3.0, la version précédemment utilisée datant de 2011. Il supporte maintenant GTK+3, apporte la possibilité d'avoir un rendu des pages HTML/CSS/JS via wx.html2 et corrige énormément de bogues. En théorie la compatibilité avec la version précédente n'est pas un grand problème mais doit être vérifiée par ses utilisateurs pour leurs applications.
La bibliothèque Python dateutil se met à l'heure 2.4. Par rapport à la version 1.5, le gros changement est le support de Python 3 tout en gardant la compatibilité avec Python 2.6 au moins (mais c'est fournit sous la forme d'un paquet pour Python 2 et un autre pour la version 3). Cette bibliothèque étend la gestion des dates de Python standard comme le calcul relatif des dates (la dernière semaine d'un mois donné par exemple), le calcul de la date de Pâques quelque soit le calendrier chrétien, une meilleure gestion des fuseaux horaires via tzdata.
Les amateurs de la programmation en C++ seront heureux d'apprendre le petit lifting de la bibliothèque Boost en version 1.57. Ce petit boost corrige de nombreux bogues, surtout dans la section Thread. Cette version prépare l'arrivée prochaine de la 1.58 qui incorporera notamment une classe pour la gestion du boutisme (l'ordre des octets dans un type) mais aussi une classe dédiée aux tris de haute performance.
Le langage précieux Ruby s'orne d'une nouvelle version 2.2. Ce bijou apporte le fameux ramasse miette incrémentale et des symboles. Le support d'Unicode se confirme avec la version 7.0. Quelques méthodes sur les types de bases et nettoyages de l'API C pour terminer le polissage.
Le framework associé et célèbre de ce langage Ruby on Rails met sur les rails la version 4.2. Le train des nouveautés comporte l'ActiveJob qui est une couche d'abstraction pour les systèmes d'attentes tels que Resque, Delayed Job, Sidekiq. L'ActionMailer peut envoyer les messages après un délai d'attente tandis que la sérialisation des données peut se faire avec GlobalID. N'est pas oublié sur le quai la console web pour faciliter le développement et le débogue d'applications.
Le langage de programmation Perl se dote d'une version 5.20. Décidément Unicode est à la fête, mais cette fois c'est pour la 6.3, et si l'UTF-8 est la locale de l'environnement, cela active le traitement des caractères en tant qu'Unicode. Deux nouvelles syntaxes se révèlent être de vraies perles : %hash{...} et %array{...} pour obtenir des listes de clés/valeurs ou d'index/valeurs respectivement.. Le Copy-on-write est accessible pour les données scalaires. À côté de ça, nous pouvons noter la disparition de PerlIO_vsprintf() et de PerlIO_sprintf().
Le compilateur du langage fonctionnel Haskell surnommé GHC fonctionnera sous la version 7.8. Au menu, un nouveau gestionnaire des entrées-sorties améliore les performances en cas d'activité intense dans ce domaine. Le nouveau générateur de code est enfin accessible après des années d'attentes promettant un gain de performance mesurable pour les applications qui l'utiliseront, l'ancien n'est de toute façon plus disponible. Avec l'aide de la suite de compilation LLVM, la compilation croisée à destination des systèmes iOS est possible. Enfin, la compilation parallèle est aussi disponible de manière similaire à ce que propose la commande make.
Gradle, le constructeur, déployeur et testeur automatique d'applications Java, bénéficie aussi d'un rafraichissement à la mode 2.0/2.2. C'est ainsi que la compatibilité avec Java 8 est proposée tandis que le support de Java 5 est totalement arrêté. La compilation croisée en est facilité tout comme le support de l'architecture 64 bits de Windows pour l'utiliser dans de nouveaux horizons. Sachez enfin que les utilisateurs d'OpenShift profiteront aussi de sa compatibilité avec son infrastructure.
Logiciels mis à jour
Voici la liste des programmes importants mises à jour qui a nécessité un grand travail d'intégration :
- Linux 4.0 ;
- Firefox 38 ;
- LibreOffice 4.4 ;
- Gnome 3.16 ;
- KDE Plasma 5.3 ;
- Xfce 4.12 ;
- systemd 219 ;
- BIND 9.10 ;
- Gradle 2.0 ;
- DJango 1.8 ;
- wXPython 3.0 ;
- Python dateutil 2.4 ;
- Boost 1.58 ;
- GCC 5.1 ;
- Ruby 2.2 ;
- Ruby on Rails 4.2 ;
- Perl 5.20 ;
- GHC 7.8 ;
Liens
- Site officiel du Projet Fedora
- Site de la communauté francophone de Fedora
- Notes de version officielles de Fedora 22
- Liste de torrents officiels pour télécharger Fedora 22 et dérivées
Prévus pour la suite
La Fedora 23 a déjà quelques pistes de nouveautés qui devraient voir le jour durant son cycle. Comme cela a déjà été expliqué plus haut, Wayland devrait remplacer totalement X11 par défaut, laissant XWayland pour la compatibilité si nécessaire.
Mais Python serait également à l'honneur, après des années de travaux en ce sens, Python 3 pourrait être la version par défaut de Python dans Fedora, et à ce titre serait le seul installé. Python 2.7 serait accessible dans les dépôts pour ceux qui le souhaitent.