From Fedora Project Wiki

Dépêche sous licence CC BY-SA

En ce mardi 17 décembre 2013, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora 20. Cette version est baptisée « Heisenbug », en hommage aux bogues difficiles à déceler qui prennent le nom d'un des père de la physique quantique : Werner Heisenberg

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 par défaut de Fedora en profite pour passer à la version 3.10, vous l'aurez reconnus il s'agit de Gnome. Grâce à l'effort de Matthias Clasen, cette mise à jour est fonctionnelle. De nouveaux programmes sont disponibles comme Cartes, Musique et Logithèque. La plupart des programmes fusionnent la barre de titres et d'outils pour gagner de l'espace en hauteur sans renier l'aspect fonctionnel. Le menu système est également refait avec la mise à jour automatique des extensions de l'environnement. Le support de Wayland a débuté son avancement pour préparer l'arrivée du nouveau serveur graphique prévue pour Fedora 21 ou 22.

Son plus grand concurrent, KDE, bénéficie lui aussi d'une mise à jour habituelle mais avec l'aide de Than Ngo, Lukáš Tinkl et Rex Dieter. Comme le précédent, l'environnement gagne en maturité avec une indexation des fichiers avec Nepomuk plus rapide, un portage de nombreux gadgets vers la nouvelle technologie QML, le support natif de nouveaux formats libres comme WebP ou Ogg Opus et un nouveau gestionnaire d'écrans très puissant KScreen.

En plus de ça, KDE va bénéficier de Plasma-nm qui remplace le gadget de KDE pour gérer la connexion réseau via NetworkManager. Selon Jan Grulich et Lukáš Tinkl, l'ancien programme était difficile à maintenir avec un code bien plus lourd pour peu de fonctionnalités supportées. Un effort a été fait pour rendre l'interface la plus simple possible.

Pour finir sur KDE, l'équipe KDE SIG a œuvré pour remplacer le gestionnaire de connexion KDM par SDDM. KDM est en effet seulement maintenu légèrement et n'évolue plus trop avec seulement une vingtaine de commits en deux ans. L'objectif est de parier sur un projet dynamique qui peut évoluer grandement et qui est doté des dernières technologies mis à disposition par KDE.

Il y en a un dont nous n'avons pas eu beaucoup de nouvelles depuis bien longtemps. C'est Enlightenment qui voit enfin la version 0.17 disponible ! Après le travail de fond de Rahul Sundaram, Christopher Meng et Dan Mashal et des années d'attente cet environnement est enfin disponible dans nos contrées sous cette version. Ainsi, le thème et l'interface ont été profondément remaniés, l'émulateur de terminal moderne Terminology est également de la partie. Un grand travail d'intégration a été fournis pour rendre cela stable et intégré avec les autres outils de la distribution.

Pour finir concernant les interfaces il y a bien entendu Sugar 0.100 qui est disponible. Peter Robinson nous propose une version de l'interface de l'ordinateur XO-1 assez mature pour l'usage prévu de la machine. Par exemple le menu de démarrage propose différentes vues permettant de changer entre la vue "école" et "maison" par exemple pour mettre en avant des éléments différents. Il est possible de faire une sélection multiple dans le journal, de changer l'icône principale ou le fond d'écran. Outre la personnalisation, le support des périphériques 3G permet d'améliorer la mobilité ou encore la mise à jour automatique des activités quand c'est possible.

Administration système

Le gestionnaire de paquets graphique change d'apparence et de noms. L'interface de PackageKit, se nomme désormais gnome-software et bénéficie d'un véritable changement dans l'approche visuel en mettant l'accent sur les applications. En effet, plutôt que de présenter tous les paquets par défaut, il tente de montrer les applications véritables (masquant les dépendances à l'affichage) ce qui est plus simple et élégant visuellement. Une page d'accueil par défaut fait office de vitrine à l'instar des nombreux magasins d'applications des autres plateformes. Le travail actuel s'est concentré sur les fonctionnalités de base, pour Fedora 21, Richard Hughes, Ryan Lerch et Allan Day nous promettent d'y inclure d'autres informations comme les captures d'écran, les notes d'utilisateurs, la notion de popularité et enfin de fournir un fichier XML aux projets pour décrire simplement ce qu'est leur application pour simplifier sa réutilisation dans d'autres distributions ! Notons que pour une fois dans Fedora, l'application qui installe les paquets graphiquement a fusionné avec celle qui gère les mises à jour.

Le célèbre gestionnaire de réseau NetworkManager évolue également sur plusieurs points. Le premier, grâce à l'investissement de Pavel Šimerda, il est possible de gérer le "bonding". Cette fonctionnalité est celle d'agglomérer des cartes réseaux ensembles afin d'améliorer la disponibilité de service mais aussi la bande passante globale. L'objectif avoué est également que la création d'un bonding ne perturbe pas le réseau et limite les conflits notamment avec les réseaux des machines virtuelles de libvirt. En plus de cela, Dan Williams et Pavel Šimerda, ont œuvré pour ajouter le support du pont dans NetworkManager. Il peut être configuré avec la plupart des options disponibles et reconnaitre les configurations qui se présentent à lui.

Les réseaux de type ponts sont courant dans le cadre d'une virtualisation pour faire le lien entre le réseau virtuel et physique, ici la configuration tâchera de ne pas gêner les configurations en place et la coopération entre NetworkManager et libvirt permet de limiter les conflits.

Pour clore le chapitre sur NetworkManager, il est possible grâce à Jiří Klimeš et Pavel Šimerda d'ajouter et d'éditer des connexions en mode console. Le but est de s'affranchir de la modification directe des fichiers de configurations pour réaliser ces modifications plus simplement à l'instar du mode graphique. L'outil nmcli mis à disposition a été fait pour facilement s'interfacer avec d'autres scripts et DBus par exemple.

Après 10 ans d'omniprésence, voici que sendmail ne sera plus disponible par défaut dans Fedora. Ce serveur de messagerie a été supprimé par Matthew Miller afin de limiter la surface d'attaque des machines et d'améliorer légèrement les performances du système dans le cadre où la plupart des installations ne l'exploitaient pas (comme dans le cas d'une machine bureautique). Bien entendu il reste disponible dans les dépôts pour ceux qui en ont besoin.

Un autre monument de l'administration système tire sa révérence : syslog. Le fossoyeur d'application Matthew Miller a encore frappé en mettant journald par défaut pour la journalisation du système ce qui limite la redondance (avant journald et syslog étaient disponibles en même temps par défaut) et améliore légèrement les performances. Là encore, pour ceux qui le souhaitent, il reste disponible dans les dépôts. Pour ceux qui veulent s'adapter, voici un petit pense bête des nouvelles commandes à apprendre :

"cat /var/log/messages" devient "journalctl".

"tail -f /var/log/messages" devient "journalctl -f".

"grep foobar /var/log/messages" devient "journalctl | grep foobar".

Les répertoires de documentation n'est plus versionné. Avant le passage de Ville Skyttä, chaque documentation des logiciels comportait dans le nom du répertoire le numéro de version du programme. Cela posait des problèmes d'indexation et de stabilité des noms et cela simplifie son utilisation au sein de systemd et les liens internes entre différentes documentations. En effet, souvent les documentations font référence à d'autres commandes ou programmes et si un de ces logiciels subissait une mise à jour importante, il fallait mettre à jour les autres documentations liées pour mettre à jour les liens.

Anaconda supporte les volumes logiques virtuelles LVM avec allocation fine lors du partitionnement automatique. Cette fonctionnalité de David Lehman permet d'utiliser cette possibilité sans faire un partitionnement manuel et fastidieux. L'objectif est que la partition n'ait que la taille réellement nécessaire car occupée pour laisser le reste vide au cas où que l'on souhaite ajouter d'autres serveurs. Ainsi il est possible de mieux gérer l'espace disque disponible et de mieux gérer sa répartition au sein d'une baie.

FreeIPA a été amélioré par Alexander Bokovoy pour supporter les approbations transitives avec Active Directory. L'objectif est de permettre à un membre de FreeIPA de fournir les ressources ou des services à un membre de Active Directory et inversement. Ainsi il y a une plus grande compatibilité entre la solution de Red Hat et de Microsoft dans ce domaine.

À propos des listes d'annuaires, SSSD dispose maintenant d'un plugin CIFS. Sumit Bose et Jakub Hrozek permettent d'accéder à des informations d'identités de Windows server et en utilisant le même programme pour la correspondance des IDs d'authentification lors de l'accès à des fichiers partagés via CIFS cela devrait se faire correctement.

PoliciyKit centralise les sources pour retrouver les certificats systèmes et les listes noires associés grâce à Stef Walter. Cet ajout poursuit le travail débuté lors de la précédente version et aujourd'hui il est enfin possible de : ajouter ou de supprimer un certificat, une autorité de certification ou une clé et les mettre sur une liste noire. Cela simplifie la gestion de la sécurité au sein de système pour l'ensemble des applications.

Orion Poplawski a intégré X2GO dans Fedora 20. Pour exploiter le protocole NX, qui permet d'accéder à des sessions graphiques à distance, Fedora exploitait NoMachine. Cependant ce dernier n'est pas développé comme un logiciel entièrement libre ce qui complexifie la tâche des mainteneurs. Aujourd'hui X2GO est suffisamment mature pour le remplacer et permet une évolution plus simple et dynamique.

Virtualisation et informatique dans les nuages

Support de la virtualisation ARM au sein des architectures x86 avec libvirt/virt-manager par Cole Robinson. Auparavant pour réaliser cette opération il était nécessaire d'utiliser QEMU de manière autonome sans surcouche graphique et générique. Ici libvirt et virt-manager peuvent en tirer parti sans utiliser de bidouilles et va simplifier les tests des images ARM par l'équipe qualité de Fedora ou l'élaboration des paquets pour cette architecture.

Concernant libvirt, Daniel P. Berrange et Cole Robinson ont ajouté le support des ACLs à cet utilitaire. Le but est de gérer finement les permissions pour les machines virtuelles comme savoir quels utilisateurs peuvent lancer ou arrêter une machine virtuelle donnée. Cela améliore la sécurité des systèmes et évite aux utilisateurs de toucher à des machines virtuelles qui ne les concernent pas. Tous les objets et fonctions de l'API et libvirt peuvent exploiter cette possibilité.

Cole Robinson continue sur sa lancée avec une interface graphique pour la gestion des clichés de machines virtuelles via virt-manager. L'objectif étant de simplifier la réalisation de ces clichés et de leur exploitation.

Projet Fedora

Les images clouds de Fedora ont été améliorés par Matthew Miller pour Fedora 20. En effet, si Fedora 19 montrait des images prêtes à l'emploi pour le cloud, l'objectif est améliorer le processus. Le téléchargement par le web distribue des versions similaires avec les mêmes options afin de s'approcher le plus possible d'une véritable Fedora. Notamment l'élaboration de ces versions se fonde sur Anaconda et Koji pour la partie infrastructure et non un simple système chrooté ce qui rend ces images plus authentiques.

T.C. Hollingsworth met à disposition les web assets. L'objectif est de concentrer dans le répertoire /usr/share/web-assets les boîtes à outils du web concernant les CSS, les interfaces ou autres et dans /usr/share/javascript ce qui a trait à ce langage comme les serveurs JavaScript. Ainsi les empaqueteurs ont une situation éclaircie sur la procédure à suivre et cela permet d'avoir des applications pouvant exploiter ce fait et d'améliorer la sécurité du système de part une architecture simplifiée.

Matériel

Depuis quelques années das le monde de l'architecture matérielle, l'ARM a le vent en poupe. Fedora suit cette tendance en proposant une version compatible ARMv7, une architecture 32 bits disposant d'une unité de calcul sur les nombres flottant. Ce travail mené par Dennis Gilmore et Peter Robinson permet de simplifier l'utilisation de Fedora sur cette architecture qui prend de l'ampleur que ce soit dans le monde de la mobilité, des serveurs ou des machines personnelles.

La pile Bluetooth de Linux utilisé par Fedora est Bluez qui passe à la version 5. Bastien Nocera et Kalev Lember ont travaillé pour fournir cette dernière version et ont aidé à corriger les applications qui en dépendaient. L'API a subi de nombreuses modifications qui rendent la version 4 et 5 incompatibles. Mais en plus de ce changement, Bluez gère d'une manière différente les périphériques ce qui apporte des gains de débits en cas de grand trafic et le support également de la norme 4.0 du Bluetooth avec le support des modes basse consommation.

Les outils de manipulation de l'ACPI : ACPICA ont été mises à jour par Al Stone. Ces outils permettent d'améliorer le développement d'outils liés à l'APCI ou l'élaboration des tables pour chaque matériel. Par exemple, il est possible de créer ou de modifier une table APCI en espace utilisateur et de les déboguer à la volée. L'élaboration de tests unitaires à partir de ces utilitaires permettent de simplifier également le travail autour de ce domaine très varié et complexe dû à la diversité du parc de machines.

Grâce à Rolf Fokkens, Fedora 20 dispose d'un cache SSD fonctionnel. Si l'ordinateur dispose d'un disque dur et d'un SSD, l'enregistrement des données sera accéléré par la sauvegarde temporaire dans le SSD qui a des temps d'accès plus rapides avant de transférer sur le disque dur définitivement et ce en totue transparence pour l'utilisateur.

Développement

L'implémentation de la bibliothèque C la plus populaire, Glibc, s'améliore avec la version 2.18. Carlos O'Donell nous offre une version qui améliore le support de C++11, des performances accrues pour la manipulation de chaines de caractères, beaucoup de corrections de bogues et de nouvelles fonctions dans l'API. Concernant les architectures, Xilinx MicroBlaze et IBM POWER8 sont disponibles et les architectures ARM 32 bits et AARch64 ont eu de grosses améliorations dans le support.

Comme d'habitude, Petr Machata a porté la dernière version de Boost sous Fedora à savoir la 1.54 nommée Uplift. Cette bibliothèque pratiquement incontournable pour le développement C++ apporte à son habitude de nouvelles bibliothèques : Boost.Log pour la journalisation, Boost.TTI pour Type Traits Introspection (qui permet une introspection des éléments par d'un selon un type lors de la compilation), et Boost.TypeErasure pour le polymorphisme basé sur les concepts). Là encore une bonne quantité de bogues ont été corrigés.

La boîte à outil la plus célèbre de Ruby : Ruby On Rails, passe à la version 4.0. Cette mise à jour proposée par Vít Ondruch et Josef Stříbný permet aux développeurs de bénéficier de la dernière version disponible. Parmi les nouveautés, nous pouvons citer une amélioration des performances, de la sécurité mais aussi une modularité plus aboutie.

Le langage Python poursuit son bonhomme de chemin avec la disponibilité de python-setuptools à la version 0.7. Ce travail effectué par Toshio Kuratomi avec Bohuslav Kabrdae et Nick Coghlan, permet de mettre à disposition l'outil incontournable pour gérer les dépendances de nombreux projets développés en Python. Ce projet longtemps en maintenance uniquement reprend son évolution en rompant la compatibilité avec ses versions antérieures à cause d'une API refaite. Depuis lors, un projet concurrent : python-distribute est disponible. Cette concurrence devrait permettre de tirer le meilleur de chacun et de favoriser leurs progressions.

Pour les amoureux du dromadaire, Perl 5.18 pointe son nez après l'effort de Petr Písař et Jitka Plesníková. Cette fois la sécurité a été mis en avant pour les fonctions de hashages avec l'usage de valeurs aléatoires pour les retours des fonctions principales à chaque nouveau lancement d'un programme. Si la portabilité est en recul pour cette version, nous pouvons ajouter l'expérimentation de la portée du nommage au sein des sous programmes et l'interpréteur prévient de l'usage de fonctions en tests comme ce dernier.

Petr Hracek et Bohuslav Kabrda proposent le paquet devassistant-gui pour faciliter la création des projets logiciels. En effet, déjà disponible pour Fedora 19, ce programme a maintenant une interface graphique fonctionnelle. Ce programme sert à partir de quelques questions réponses à installer les dépendances nécessaires, générer un environnement de développement fonctionnel et autres et ce très rapidement.

Les développeurs apprécieront la mise à disposition de Vagrant par Alex Drahon pour générer des environnements de développement virtuels. Avant cette version, le programme dépendait de VirtualBox pour réaliser son travail alors qu'aujourd'hui il est plus agnostique et peut utiliser par exemple KVM qui est le fer de lance de la virtualisation sous Fedora.

Les amateurs des serveurs d'applications seront ravis de la disponibilité de Wildfly 8. Ce serveur d'applications libre de Java est le nouveau nom de JBoss AS et est proposé par Marek Goldmann et gère pour cette version J2EE 7. Ce changement de nom est l'occasion pour tenter de changer d'image et de communauté afin de se développer. En outre le temps de lancement et les performances ont été accrues, la modularité a été amélioré grâce à une meilleure isolation des des applications et un meilleur chargement des classes. La quantité de RAM nécessaire a aussi grandement diminué.

Toujours à propos de Java, la boîte à outil libre Hadoop 2.2 de Apache a été apportée par Matthew Farrellee. Cet outil permet la création d'applications distribuées et échelonnables. C'est l'un des plus puissants du domaine du big data en étant capable de traiter plusieurs pétaoctets de données avec une communauté grandissante.

10 ans du projet Fedora

Comme vous avez pu le constater, pour chaque nouveauté répertoriée le nom des principaux responsables ont été cités. L'objectif est de rappeler que derrière chaque travail, il y a des hommes ou des femmes qui ont fourni un effort afin d'améliorer le projet et le Logiciel Libre en général. Ainsi, la communauté peut les remercier de cet investissement.

D'autant plus que le projet Fedora fête depuis septembre les 10 ans du projet et avec sa 20e version cela correspond à environ deux versions par an ! Le Projet Fedora a ainsi succédé à la distribution Red Hat Linux On peut voir derrière ce lien la première annonce de Fedora Core 1 (novembre 2003) : https://lists.fedoraproject.org/pipermail/announce/2003-November/000000.html Ou encore derrière ce lien l'annonce du lancement du projet Fedora (septembre 2003) : http://www.redhat.com/archives/fedora-devel-list/2003-September/msg00137.html

Afin de remercier ces efforts de 10 longues années, une série d'entretiens avec des contributeurs francophones de Fedora sera réalisé et ils seront régulièrement publiés pendant plusieurs semaines !