From Fedora Project Wiki
Line 61: Line 61:
== Développement ==
== 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 qui nécessite la recompilation de tous les programmes utilisant std::list et std::string.
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.


    Glibc supporte Unicode 7.0 ;
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.


    DJango 1.8 ;
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.


    wXPython 3.0 ;
La bibliothèque graphique wXPython se met à jour à la version 3.0. Il supporte maintenant GTK+3


     Python dateutil 2.4 ;
     Python dateutil 2.4 ;

Revision as of 00:12, 27 April 2015

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, 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 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és 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 souhaiter 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 adapté et en le choisissant dans GDM. Vous pouvez obtenir plus d'informations dans 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. Parmi les évolutions notables, la gestion du touchpad sera amélioré 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.2 est maintenant la version par défaut 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 aant servi à sa conception, l'interface est maintenant totalement gérée par l'accélération graphique matérielle via OpenGL.

Xfce se met à jour à la version 4.12. À la clé, nous pouvons noter le support des écrans à très hautes résolutions, 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 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, de son ancien nom RazorQt. LXDE est un environnement qui est 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 selon vos besoins.

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'autres 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és). Maintenant le binaire yum redirige vers DNF. Pour vous aider dans la transition, une page explicative liste les différences entre DNF et YUM : https://fedoraproject.org/wiki/Changes/ReplaceYumWithDNF

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 evrsion de Fedora beaucoup de logiciels le sont également en son sein avec potentiellement des changements importants dans les fonctionnalités, fichiers de confiuration. 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 et qui permet notamment 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ée 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ée 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.

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. Il supporte maintenant GTK+3

   Python dateutil 2.4 ;
   Boost 1.58 ;
   Ruby 2.2 ;
   Ruby on Rails 4.2 ;
   Perl 5.20 ;
   GHC 5.8 ;
   Gradle 2.0 ;

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 37 ;
  • LibreOffice 4.4 ;
  • Gnome 3.16 ;
  • KDE Plasma 5.2 ;
  • Xfce 4.12 ;
  • systemd 215 ;
  • BIND 9.10 ;
  • Gradle 2.0 ;
  • DJango 1.8 ;
  • wXPython 3.0 ;
  • Python dateutil 2.4 ;
  • Boost 1.58 ;
  • GCC 5 ;
  • Ruby 2.2 ;
  • Ruby on Rails 4.2 ;
  • Perl 5.20 ;
  • GHC 5.8 ;
  • Glibc supporte Unicode 7.0.

Liens

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.