From Fedora Project Wiki

Dépêche sous licence CC BY-SA

En ce mardi 10 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

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.

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" debien "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.

Virtualisation et informatique dans les nuages

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 avec flottant matériel 32 bits. 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

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.