From Fedora Project Wiki
(Created page with "- programmation D: plus d ebibliothèque pourplus de fun - Ruby 1.9.3 - haskell - Java 7 - GCC 4.7.x - GNOME 3.4 - Move all to /usr")
 
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
- programmation D: plus d ebibliothèque pourplus de fun
En ce mercredi 22 mai 2012, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora 17. Cette version est baptisée « Beefy Miracle », par mémoire à la naissance de Fedora Core, ou Red Hat redistribuait Fedora Core sans la marque ni le logo déposés Fedora, en les remplaçant par un hot dog!
- Ruby 1.9.3
 
- haskell
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 voire comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.
- Java 7
 
- GCC 4.7.x
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.
- GNOME 3.4
 
- Move all to /usr
Par ailleurs, les distributions tels que RHEL, Scientifique Linux ou CentOS (plus indirectement), avec un temps de cycle plus faible 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 et une garantie.
 
== Nouveautés majeures ==
 
=== Bureautique ===
 
'''GNOME 3.4''' débarque sur Fedora ! Cette version corrige les erreurs de jeunesse du nouveau GNOME 3. Au menu : pleins de détails corrigés avec un thème légèrement refait. Le navigateur Epiphany profite d'une grande refonte de son interface pour plus de sobriété et utilise SQLite pour gérer l'historique. Le gestionnaire de clés prend en charge la gestion des cartes à puce. L'utilitaire de gestion des disques a subi une refonte totale pour passer de la technologie HAL à udisk et de GTK+2 à GTK+3 ce qui permet également de simplifier légèrement l'interface. Pour se rapprocher de la prise en charge des tablettes, il y a la prise en charge du mode avion et du multi-point pour l'écran tactile. Le carnet d'adresses apparaît, le logiciel de messagerie peut maintenant gérer les comptes Windows Live depuis le passage à XMPP chez Microsoft. L'application « Box » permet de gérer très simplement la virtualisation à l'aide de la bibliothèque libvirt. Pour finir, GNOME Shell peut être utilisé avec des cartes graphiques vieillissantes pour supprimer le mode « dégradé ».
 
'''KDE''' n'est pas en reste avec la version 4.8. Le gestionnaire de fenêtre KWin dispose d'une amélioration notable de la gestion des ressources pour ses effets graphiques. Le navigateur de fichier Dolphin améliore ses performances d'affichage et possède un nouveau mode d'affichage par défaut, cependant la vue par colonne a également été supprimée. L'éditeur de texte Kate améliore sa gestion du chercher/remplacer et peut utiliser les raccourcis clavier de l'éditeur Vim. Okular peut maintenant annoter les PDF, KMix peut modifier sans PulseAudio le son de chaque application. Le gestionnaire de connexions KNetWorkManager peut partager une connexion Wifi et son interface a été repensée pour plus de simplicité. Le gestionnaire d'énergie est plus intelligent, ne réduisant pas la luminosité en cas de lecture vidéo ou de photos par exemple. KSecretService qui gère les mots de passe peut stocker celle des applications non-KDE pour plus de transparence.
 
Mais derrière ces deux gestionnaires de bureau très connus, '''Sugar''' continue toujours sa progression au sein de Fedora avec la version 0.96. Rappelons que cette interface est utilisée dans le cadre de l'opération OLPC avec l'ordinateur XO. Cette version débute la transition vers la bibliothèque graphique GTK+3 comme le navigateur Web ou le lecteur de PDF et livres numériques. Les « activités » en profitent pour obtenir de nombreuses améliorations et corrections diverses. Et enfin, cette version prend en charge NetworkManager 0.9 permettant une meilleure gestion de la connexion réseau qui est pour l'ordinateur XO une première nécessité pour la gestion du réseau ad-hoc notamment.
 
Dans un autre registre, la ''prise en charge des profils ICC par CUPS'', qui gère les impressions. Les profils ICC servent à déterminer la correspondance de couleur entre périphériques informatiques. En effet, les matériels informatiques comme les écrans, appareils photos, webcam ou imprimantes ne représentent pas la couleur de la même façon et ce même d'un modèle à l'autre d'un même constructeur ! Ainsi un rouge sur votre écran peut être un rouge différent sur le papier imprimé ou sur l'écran du voisin, et ce problème est très important dans les métiers de l'infographie où la couleur doit être fidèlement représentée sur toute la chaîne de production (de la prise de la photo au papier). Fedora apporte la solution pour le passage de l'écran à l'impression par cette fonctionnalité. Le démon colord correspondant choisira le profil adapté à l'impression pour le rendu et appliquera le filtre.
 
Fedora 17 possède une '''meilleure gestion de l'énergie''' de par l'usage de nouveaux profils de consommation et continuera à évoluer. L'objectif est d'utiliser dbus pour rendre le système plus intelligent, notamment au branchement et débranchement de l'alimentation d'un ordinateur portable. Il est possible de concevoir des profils adaptés à chaque situation ce qui devrait diminuer la consommation globale d'énergie, notamment quand l'ordinateur est sur batterie. Il est également possible d'étendre ces profils aux machines virtuelles via KVM.
 
'''Prise en charge des écrans multi-points.''' Fedora a patché le serveur X mais aussi ses bibliothèques associées pour permettre l'usage du multi-point au sein des interfaces de Fedora, tel que GNOME Shell qui est adapté pour cet usage.
 
Fedora avec sa version 17 signe la '''fin de la prise en charge des pilotes 3D DRI version 1'''. Ceci allège le code de Mesa en ne gérant plus les pilotes suivants : i810, mga, r128, savage, sis, tdfx et unichrome qui sont en règle général très peu utilisés aujourd'hui et plus maintenus depuis de nombreuses années. Le 2D reste prise en charge et de part l'amélioration de GNOME Shell, il est maintenant possible de l'utiliser avec de tels pilotes nativement.
 
'''Prédiction lors de la frappe en anglais.''' En effet, iBus, un utilitaire qui permet de changer de disposition de clavier aisément, peut maintenant utiliser un dictionnaire pour réaliser de l'auto-complétion de mots dans la langue de Shakespeare où que vous soyez dans l'interface. L'utilisateur détermine les mots à placer dans le dictionnaire au fur et à mesure et a accès à la suggestion de mots notamment en cas de mauvaise orthographe…
'''
Intégration de libpinyin dans iBus pour les langues chinoises.''' L'objectif est d'augmenter la vitesse de frappe pour ces langues en se basant sur la phrase tapée afin de suggérer certains caractères, diminuant ainsi le nombre de touches nécessaires pour saisir le caractère.
 
'''Création d'un utilitaire pour configurer les polices du système'''. Cette configuration est propre à chaque utilisateur et peut se faire langue par langue disponible par le système afin d'avoir le meilleur rendu possible pour une langue donnée.
 
Mise à disposition de '''GIMP 2.8'''. La nouvelle version majeure du logiciel de traitement d'image libre permet de rendre l'interface en mode fenêtre unique comme son concurrent Adobe Photoshop ou de garder l'apparence par défaut. L'équipe de développement offre aussi le groupement de calque tant attendu, l'édition de texte se fait directement dans le canevas (donc sur l'image et non dans une fenêtre à part). Il est aussi possible de modifier la dynamique des brosses. Bien entendu, d'autres nouveautés sont présentes.
 
Les '''dispositions claviers m17n pour les langues hindoues''' ont été modifiées selon un nouveau standard en préparation par le gouvernement indien.
 
Dans la même veine, la '''prise en charge de Unicode 6.0 pour les langues hindoues''' est également disponible avec les polices Lohit, mettant plus de caractères à disposition pour ces langues. Le rendu n'est pas idéal et devrait mener à de futurs peaufinages.
 
=== Administration système ===
 
Le plus gros travail dans ce domaine était le déplacement de la racine (/) vers le dossier user (/usr) entrainant la '''disparition des répertoires /bin, /sbin, /lib et /lib64'''. Ces répertoires étaient présents pour des raisons historiques et techniques qui n'ont plus lieu d'être aujourd'hui. /usr est un dossier qui était aujourd'hui indispensable et la séparation des 4 dossiers de /usr posait des problèmes techniques pour la séquence de démarrage avec initramfs qui avait besoin de nombreux logiciels pour son exécution et qui sont un peu dispersés dans tous ces répertoires, répertoires qui ne sont pas montés au même instant en général. Cette séparation va entrainer un certain allègement du démarrage du système, mais aussi d'améliorer la compatibilité avec d'autres Unix comme Solaris qui ont déjà opéré ce changement et la gestion des paquets en sera également simplifié. En effet, il n'y a pas de cas particuliers à gérer, tout ira dans le même dossier, sans risque de confusion à l'usage. Pour migrer en douceur, les répertoires par défauts sont maintenant un lien symbolique vers leurs successeurs dans /usr.
 
'''Conversion des derniers scripts init de SysV vers systemd.''' Systemd est l'application qui gère le lancement des processus lors du démarrage de la machine afin qu'elle se lance correctement. Systemd a déjà remplacé init chez Fedora pour cette tâche pour la 15ème version, mais la plupart des services utilisaient la couche de compatibilité entre init et systemd. Maintenant ce sont des scripts natifs pour systemd et qui par conséquent exploitent mieux ses possibilités. Le temps de démarrage peut être sensiblement amélioré et la configuration de ces scripts sera beaucoup plus simple pour les administrateurs systèmes. Ce travail a débuté depuis de nombreuses versions de Fedora mais n'a jamais été totalement finalisé.
 
Le '''pare-feu dynamique fait son apparition''' sous forme de démon nommé firewalld. Son objectif est de remplacer les outils iptables qui sont statiques. Le principal inconvénient étant qu'actuellement le pare-feu statique nécessite un redémarrage de ce dernier en cas de modification des paramètres, entrainant un problème de sécurité et nécessitant même de perdre la connexion durant ce laps de temps. Ce problème est résolu avec ce nouveau pare-feu qui demandera une prochaine version de Fedora pour remplacer iptables totalement, le temps d'adapter tous les outils tels que system-config-firewall et l'adaptation entière du système à cette modification majeure.
 
En prolongeant le travail sur le pare-feu dynamique, cette version de Fedora apporte '''la conception de « zones de réseaux »''' pour déterminer les services réseaux disponibles selon le niveau de confiance accordé à un réseau. Cela peut sembler évident, mais un réseau Wifi public ne devrait pas laisser passer les mêmes flux de données en clair que le réseau filaire chez soi. Grâce à cela, un réseau peut être classé dans l'une de ces zones et l'administrateur décide ainsi pour une zone donnée de l'usage possible du trafic réseau pour la machine. Cette nouveauté repose entièrement sur le nouveau pare-feu décrit précédemment, afin de charger un nouveau profil de pare-feu selon la connexion en cours.
 
'''Suppression de ConsoleKit''' qui est la couche permettant de lister les utilisateurs connectés au système et permettant notamment la connexion de nouveaux utilisateurs depuis le gestionnaire de connexions graphique. Ce composant est remplacé par systemd. L'objectif affiché est de rendre cette partie du système plus sécurisée, petite et simple pour la maintenance. Cela introduit la prise en charge des multiutilisateurs automatiquement, mais aussi la possibilité d'autoriser le lancement de services utilisateurs sans la connexion de l'utilisateur en question via une tâche automatique par cron.
 
'''La prise en charge du système de fichiers ext4 au-delà de 16 Tio,''' la nouvelle limite étant de 100 Tio. En effet, aujourd'hui il est facile avec les systèmes RAID d'obtenir pour à moindre coût des systèmes approchant cette capacité limite pouvant nuire à son usage en entreprise. Cette extension permet de retarder le problème dans ce cas d'utilisation.
 
'''Les services du système lancées par systemd peuvent obtenir des dossiers dans le répertoire /tmp avec des droits d'accès supplémentaires.''' L'objectif est de rompre la communication entre l'utilisateur et ces services pour éviter des problèmes de sécurité par le procédé d'escalade de privilège. En effet, un service pouvant obtenir des droits supplémentaires sur le système par rapport à l'utilisateur de base, l'usage à mauvais escient de cette communication pouvait permettre à un utilisateur de base d'obtenir ces droits supplémentaires.
 
Il est dorénavant possible à SELinux de ne plus autoriser à d'autres''' processus de lire la mémoire d'autres processus que le sien,''' cela passe par le booléen deny_ptrace. L'objectif est que tout processus ne puisse examiner la mémoire d'un autre processus et ce pour assurer une plus grande sécurité du système même pour ceux qui utilisent une étiquette identique ou proche de l'autre processus à examiner. Pour l'administrateur système ou le programmeur qui en aurait besoin, il est possible de désactiver cette option pour l'usage du débogueur gdb par exemple. La désactivation se fait par la commande : setsebool deny_ptrace 0 ; la désactivation quant à elle nécessite de remplacer le 0 par 1.
 
'''NetworkManager se dote de nouvelles fonctions dédiées aux usages professionnels''' ou de virtualisation que sont les connexions de liaisons, IP-over-infiniband et VLAN. L'objectif est de pouvoir utiliser Fedora dans le plus de configurations possibles. Un travail important a été effectué pour intégrer le tout avec la virtualisation par libvirt.
 
Toujours au sujet du réseau, '''Fedora 17 passe toutes ses requêtes DNS à travers le protocole DNSSEC'''. Ce protocole est destiné à combler les manques de sécurité de son célèbre prédécesseur qu'est le DNS avec la protection des données de bout en bout empêchant ainsi l'exploitation des données par un serveur situé dans la liaison. Le tout utilise un système de clé et actuellement plus d'une vingtaine de TLD sont signés et de même pour les serveurs racines.
 
Il est maintenant possible d'utiliser les '''noyaux Linux cibles nommés LIO pour iSCSI et FCoE,''' le premier utilisant le stockage via des liaisons par TCP/IP quant au second cela est assuré par le protocole Fibre Channel sur un réseau Ethernet. Ceci passe par l'utilisation d'un nouvel outil de configuration qui est targetcli en remplacement de l'outil tgtd qui était plus complexe à configurer et un fichier de configuration plus difficile à appréhender. Par l'usage d'une API Python, il est également possible de programmer l’interaction avec targetcli.
 
'''mkdumprd est réécrit avec kexec-tools et l'utilitaire dracut pour générer l'initrd du noyau kdump.''' La génération d'un initrd est complexe, car cet outil doit participer au lancement du système avec le minimum d'outils à disposition et sans se planter, sinon il est impossible de démarrer tout le système. Or mkdumprd était complexe et nécessitait une lourde maintenance, d'où le passage à dracut qui réalise déjà cette tâche pour les noyaux classiques, les noyaux kdump permettant d'obtenir des informations de débogages supplémentaires. Ceci pourrait être réutilisé par d'autres distributions facilement, dracut étant déjà disponible sur d'autres distributions.
 
'''Unification de la vérification de la sécurité des mots de passe''' par l'usage de la bibliothèque libpwquality. L'objectif est que tout logiciel demandant la création d'un mot de passe ait les mêmes limites que les autres quant à la qualité du mot de passe demandée. Ceci est configurable dans le fichier /etc/security/pwquality.conf. Cela facilitera la vie des administrateurs systèmes qui n'auront à changer qu'à un seul endroit la configuration de ces limitations.
 
'''Création de thermostat,''' une application permettant de faire du contrôle de mesures de plusieurs instances de machines virtuelles Java (et donc des applications Java) mais aussi pour réaliser de la configuration de ces dernières. Pour le moment, l'application se limite seulement aux machines virtuelles locales. Les machines virtuelles libres IcedTea/OpenJDK sont prises en charge. Une interface graphique est également disponible, le prise en charge du cloud se fera dans les prochaines versions de l'utilitaire.
 
'''SSSD monte en grade avec l'intégration de sudo et de l'autofs'''. SSSD est un ensemble de services pour réaliser ce que l'on appelle l'identification centralisée, très répandue dans les grandes entreprises. À la différence des méthodes traditionnelles, SSSD permet d'utiliser le compte distant en local sans avoir besoin du serveur central, c'est-à-dire qu'un utilisateur déjà authentifié sur une machine pourra éteindre la machine et l'utiliser sur un autre réseau avec le même compte utilisateur que celui utilisé précédemment. Le tout passant par le protocole LDAP. L'intégration de sudo permet d'importer également dans le cache de SSSD les paramétrages liés à sudo et de pouvoir les utiliser en mode hors-ligne, comme pour les utilisateurs traditionnels. L'intégration de AutoFS permet de monter automatiquement certains périphériques distants via Samba ou NFS par exemple en mode hors ligne. L'usage du cache SSSD permet d'économiser des requêtes LDAP pour les obtenir si on est en mode connecté.
 
'''Apparition du démon numad''' qui surveille la topologie et la consommation des processus pour réaliser un alignement mémoire des applications ou des machines virtuelles pour de meilleures performances.
 
'''Remplacement de dm-snapshot par thin-provisionning.''' Cet outil permet de créer des clichés d'un disque virtuel, comme une partition, et de les mettre dans le même volume que tous les autres clichés dans le but de réduire l'occupation disque et de favoriser les partages de données entre les machines virtuelles. Il est dorénavant possible de déterminer une profondeur de clichés de manière récursive (donc le nombre de clichés de clichés de clichés, etc. à réaliser au maximum). Il est possible de sauvegarder les métadonnées associées en dehors du volume considéré, notamment en les mettant sur un disque SSD pour de meilleures performances.
 
'''Débarquement du simulateur de réseau Ns-3,''' en sachant que le programme ns-2 est déjà utilisé par de nombreuses universités américaines pour l'enseignement réseau.
 
'''Apport de DIET au sein de la distribution.''' DIET est un intergiciel pour l'informatique de haute performance dans des environnements hétérogènes et distribués comme les stations de travail, les clusters, les grilles ou le cloud. Il implémente le standard OGF Grid RPC. Cet ensemble d'outils permet de gérer les utilisateurs dont l'authentification, de gérer les tâches, de gérer les fichiers de manière sécurisée et la gestion de l'information. DIET peut par exemple déterminer quelles machines sont les plus aptes à répondre à la requête d'un client de part la répartition des données et la charge actuelle de chaque machine de la grille. Le tout en donnant une estimation du temps de traitement pour chaque machine. L'architecture est redondante et hiérarchisée pour limiter l'engorgement du système et éviter la perte de données. DIET est un projet français de recherches de l'INRA notamment et proposé sur Fedora par le contributeur francophone Haïkel Guémar.
 
Le domaine des clusters s'améliore avec la '''prise en charge de la haute disponibilité et la répartition de charge pour le Corosync Cluster Engine.''' Son API est stable pour la branche 2.0 nouvellement crée avec l'amélioration des performances d'un facteur 5 à 10 par rapport à la version précédente.
 
=== Virtualisation ===
 
Amélioration de la gestion des supports de stockages pour les clients virtualisés de part l''''usage de fonctionnalités avancées de SCSI par KVM'''. Il est possible maintenant de dépasser la limite des 30 supports de stockage que nous pouvons librement brancher à chaud, De plus, les applications pourront s'adresser au périphérique directement par la prise en charge du « SCSI passthrough » et les clients et serveurs pourront accueillir de nouvelles fonctionnalités sans nécessiter la mise à jour des pilotes correspondants. Ces fonctionnalités feront l'objet d'un patch pour le noyau Linux 3.4.
 
'''Le Projet Fedora a élaboré la commande virt-sandbox''' pour mettre un service ou une application dans un bac à sable d'une machine virtuelle et reprend le principe du bac à sable de SELinux dans la mise en œuvre. Cet environnement confiné donne une vue adaptée du système du fichier et du réseau afin d'améliorer la sécurité globale, d'autant plus que les applications peuvent adresser, d'après le paragraphe précédent, des requêtes SCSI directement (passthrough). Actuellement n'est supporté que l'hyperviseur KVM mais suivront prochainement VMware et Xen.
 
Toujours '''dans le camp KVM, la mise en place d'un moniteur de performance pour les systèmes clients.''' cela permet grâce à des outils plus standards de suivre le fonctionnement du système et de ses paramètres et de faciliter le débogage en cas de problème.
 
'''Inclusion du projet oVirt,''' l'objectif est de diversifier l'offre des services de virtualisation libres au sein de Fedora car libvirt avec KVM sont actuellement à une place très privilégiée. Ainsi l'industrie mais aussi les utilisateurs ont plus de choix selon leurs besoins et un grand travail a été effectué pour permettre une meilleure intégration possible avec les outils standards de Fedora. Les fonctionnalités de base du projet sont la gestion d'un cloud, des capacités de stockage et du réseau. Pour les machines virtuelles, la possibilité de réaliser des clichés, la détermination de sa durée de vie initiale, la migration des machines virtuelles. Avec bien entendu des outils de manipulations pour l'utilisateur ou l'administrateur dont en ligne de commande et la prise en charge des agents clients. Pour finir, cette solution dispose d'un serveur d'authentification centralisé, d'un serveur DNS et DHCP et les outils pour réaliser de la haute disponibilité.
 
Pour améliorer la gestion réseau des systèmes virtualisés, '''le Projet Fedora a travaillé sur l'intégration de Open vSwitch.''' Cet outil permet de concevoir des commutateurs virtuels pour faire la liaison au sein d'un réseau entre machines virtuelles et réelles là ou les solutions existantes posent des difficultés techniques sur des réseaux si complexes. L'objectif de ce projet est de se rapprocher d'un véritable switch pouvant être administré et concurrencer les solutions proches de VMware et Cisco dans le domaine. Pour plus d'information sur ses fonctionnalités cliquez ici.
 
=== Cloud computing ===
 
Le cloud computing est un domaine informatique en plein essor et le Projet Fedora souhaite suivre cette tendance en améliorant les outils disponibles.
 
Fedora 16 a donné lieu à la disposition du Condor Cloud, '''Fedora 17 propose désormais d'apporter l'outil Wallaby''' pour programmer en haut niveau la configuration des services de gestion de Condor. Ceci va faciliter la configuration de ce dernier, Wallaby est basé sur un modèle sémantique, il peut gérer les versions des configurations (par les clichés et contrôle des versions) et il peut s'utiliser à distance via une API orientée-objet et s'interfacer avec les langages Python et Ruby.
 
'''OpenNebula arrive dans Fedora 17''' pour gérer les infrastructures clouds hétérogènes et des serveurs physiques différents. Ce framework est compatible actuellement avec Amazon EC2, OGF OCCI et vCloudet mais aussi les hyperviseurs Xen, KVM et VMware. Il peut être utilisé via une interface en ligne de commande, une interface web ou encore les langages de programmations Python, Java et Ruby ce qui le rend particulièrement souple et efficace.
 
De même, '''OpenStack a été la source de toutes les intentions''' au sein de cette 17ème version de Fedora. Tout d'abord, le programme est porté à sa nouvelle version nommée Essex qui apporte une plus grande stabilité et intégration des composants, un système de greffons plus puissant, la possibilité de réaliser une authentification centralisée mais aussi de réaliser un meilleur suivi du système sans oublier une meilleure protection des données, surtout après un arrêt brutal du système. Mais cela ne s'arrête pas là, '''Horizon, l'interface web est inclue''' maintenant sur Fedora. L'objectif est de pouvoir lancer, arrêter ou suivre une instance de OpenStack et de gérer les utilisateurs par une interface graphique distante. Pour les prochaines versions, une meilleure documentation et configuration par défaut seront à l'étude. Puis le service des réseaux virtuels, nommée '''Quantum, est également pris en charge''' et peut à l'aide de greffons, réaliser des réseaux virtuels L2 à l'aide de Open vSwitch (décrit plus haut), le noyau Linux ou certains produits Cisco. Toujours pour OpenStack, Fedora a travaillé pour que '''OpenStack puisse utiliser libguestfs''' pour utiliser différentes opérations sur des disques virtuels et augmenter le nombre de formats supportés. Pour finir la partie sur cette solution de Cloud, '''OpenStack peut enfin utiliser Qpid''' pour l'échange de messages entre différents nœuds de OpenStack de manière alternative à RabbitMQ utilisé actuellement permettant plus de choix sur ce besoin.
 
=== Développement ===
 
Le Projet Fedora met tout en œuvre pour être une distribution phare des développeurs en mettant à disposition des derniers outils existants.
 
Pour commencer, la célèbre '''suite de compilateurs GCC a été mis à jour à la version 4.7''' et l'ensemble des paquets ont été conçus par cette dernière. Cette version propose la prise en charge expérimentale de la mémoire transactionnelle pour le domaine de la programmation concurrente, des optimisations pour les derniers nés de l'architecture x86_64, la prise en charge du Cortex-A7 pour l'architecture ARM, diverses optimisations pour l'architecture SPARC et la prise en compte de certaines nouveautés des nouvelles normes C11 et C++11. Et bien d'autres encore !
 
Pour ceux qui sont intéressés par la compilation croisée à destination de Windows, '''Mingw-w64 propose la compilation d'exécutable pour Windows 32 ou 64 bits,''' au choix de l'utilisateur.
 
'''Un analyseur statique des erreurs dans les extensions de Python écrits en C a été conçu.''' En effet, ces modules en C peuvent gérer les références des objets de Python pouvant provoquer un certain nombre de fuites mémoire ou d'accès illicites à une case mémoire. Cet outil peut détecter ces problèmes et faire le lien avec le code problématique afin de patcher plus rapidement le code responsable et améliorer la situation.
 
'''Les amateurs de Ruby pourront utiliser la version 1.9.3''' de ce langage avec une nouvelle ligne de conduite pour empaqueter les paquets liés à ce langage comme ses extensions. RubyGems peut être plus facilement installé par les utilisateur classiques dans leur propre répertoire. Cette version de Ruby permet l'ajout de code sous licence Ruby ou BSD (et non plus GPLv2), une meilleure prise en charge du multi‐threading, un chargement plus rapide des bibliothèques et la prise en charge de l'Unicode 6.0.
 
Pour les développeurs web, '''PHP 5.4 arrive également sur Fedora''' qui intègre notamment un mini serveur web pour le développement, une amélioration notable des performances, un nettoyage des options de configuration, des changements syntaxiques dont pour la gestion des tableaux et plein d'autres choses !
 
Parmi les langages connus, '''Java 7 remplace désormais la version 6 avec OpenJDK 7.0.''' La machine virtuelle supporte les langages typés dynamiquement, la prise en charge de Unicode 6.0, une meilleure prise en charge de l'accélération XRender pour les interfaces graphiques Java 2D, l'arrivée d'un nouveau synthétiseur de son et bien d'autres nouveautés.
 
Pour continuer dans la lignée de Java, '''JBoss AS7, qui est un serveur d'applications Java EE, est aussi disponible,''' souvent mis en avant dans les offres Red Hat. Le temps de démarrage passe ainsi de 45 à 5 secondes environ grâce à l'indexation de métadonnées et l'usage de cache. Il utilise au repos moins de 20 Mio de mémoire contre plus de 100 pour son prédécesseur en minimisant les temps de pause du garbage collector et en ne chargeant que les archives jar nécessaires. Le tout devient plus modulaire en ne chargeant que les classes nécessaires et isolant les applications. La configuration est maintenant plus simple et élégant en centralisant les options et se centrant sur l'utilisateur.
 
Pour finir avec le langage d'Oracle, '''l’environnement de développement Eclipse Juno est disponible.''' Cette version n'est pas encore totalement stable et devrait être publiée fin juin de cette année.
 
La célèbre bibliothèque du langage C++, '''Boost, arrive en version 1.48.''' Les bibliothèques d'Asio, Chrono, Geometry et Math étant les plus modifiées avec notamment une amélioration des performances pour certaines.
 
Pour les langages plus « exotiques », '''le langage D poursuit sa progression''' au sein du Projet Fedora. Il est maintenant possible de concevoir des interfaces avec GTK et OpenGL ou encore utiliser SQLite pour les bases de données. Le compilateur a également été mis à jour.
 
Pour les amateurs du '''langage fonctionnel Erlang, ce langage passe à la version R15.''' Une nouvelle interface graphique permet de faciliter le traçage du comportement des applications de ce langage. Il met à disposition une nouvelle implémentation du SSL, les exceptions précisent maintenant la ligne et le fichier concernés ce qui facilite grandement le débogage ou le rapport d'erreur.
 
Pour ceux qui préfèrent le langage Haskell, c'est la '''version 2011.4 qui débarque pour la plateforme Haskell.''' Ce dernier étant un ensemble d'applications pour programmer de manière confortable en Haskell.
 
Puis le '''langage Opa 0.9 arrive.''' Ce langage est destiné à réaliser des application web riches, distribuées et sécurisées ou des applications de base de données. Cette plateforme est tout en un en permettant une exécution complète avec simplement un système d'exploitation fonctionnel. Cette version apporte entre autre une nouvelle syntaxe plus proche du JavaScript, le support de nombreuses possibilités du HTML5 et le support de MongoDB pour la gestion de base de données. De manière plus générale, cette plateforme fonctionne enfin sous Windows et FreeBSD en plus de Mac OS X et GNU/Linux déjà pris en charge.
 
Enfin, pour finir avec cette partie liée au développement, '''le Projet Fedora fournit le service darkserver.''' Ce service est destiné à aider les utilisateurs à trouver des informations à partir d'un build-id ou du nom d'un paquets RPM. Darkserver utilise un format json pour être plus facilement compréhensible par d'autres programmes et réaliser l'interrogation du serveur SQL contenant les informations. Ce service est intégré à l'infrastructure du Projet Fedora, notamment dans l'interface web de Koji pour les empaqueteurs. Par exemple, si vous souhaitez obtenir des informations sur le build-id « aa995549415cd52a6fbbc21811dfc2dd00e2c242 », sa sortie sera « {"buildid":"aa995549415cd52a6fbbc21811dfc2dd00e2c242","elf":"/usr/lib/mailman/pythonlib/japanese/c/_japanese_codecs.so","rpm":"mailman-2.1.12-17.el6.x86_64.rpm"} ».
 
=== Autres ===
 
'''Les méthodes de conception et d'installation des LiveCD de Fedora ont été revues de part l'utilisation de lorax.''' Lorax permet de créer des CD d'installation à partir de Anaconda, le logiciel d'installation de Fedora, et de ses dérivées. Actuellement, la conception d'un liveCD nécessite de lourds travaux sur lorax, Anaconda, python-imgcreate et livecd-creator, l'objectif serait de se passer des deux derniers ce qui allègerait la procédure, introduirait moins d'anomalies et permettrait d'étendre les fonctionnalités, le système devenant plus simple.
 
== Mise à jour majeures de logiciels ==
Voici la liste des mises à jour majeures des paquets de Fedora avec les liens vers leurs notes de versions :
 
* Noyau Linux 3.3
* Firefox 12
* Thunderbird 12
* Gnome 3.4
* KDE 4.8
* Sugar 0.96
* GIMP 2.8
* LibreOffice 3.5
* GCC 4.7
* Ruby 1.9.3
* Haskell platforme 2011.4
* Erlang R15
* Eclipse Juno
* OpenJDK 7
* JBoss AS7
* PHP 5.4
* Boost 1.48
* Opa 0.9
 
== Liens externes ==
* Site officiel du projet Fedora
* Site officiel de la communauté francophone de Fedora
* Notes de versions officielles en français
* Téléchargez Fedora 17 par Torrent ! (méthode à privilégier)
* Téléchargez Fedora 17 par FTP ou HTTP

Latest revision as of 21:14, 15 May 2012

En ce mercredi 22 mai 2012, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora 17. Cette version est baptisée « Beefy Miracle », par mémoire à la naissance de Fedora Core, ou Red Hat redistribuait Fedora Core sans la marque ni le logo déposés Fedora, en les remplaçant par un hot dog!

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 voire 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 tels que RHEL, Scientifique Linux ou CentOS (plus indirectement), avec un temps de cycle plus faible 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 et une garantie.

Nouveautés majeures

Bureautique

GNOME 3.4 débarque sur Fedora ! Cette version corrige les erreurs de jeunesse du nouveau GNOME 3. Au menu : pleins de détails corrigés avec un thème légèrement refait. Le navigateur Epiphany profite d'une grande refonte de son interface pour plus de sobriété et utilise SQLite pour gérer l'historique. Le gestionnaire de clés prend en charge la gestion des cartes à puce. L'utilitaire de gestion des disques a subi une refonte totale pour passer de la technologie HAL à udisk et de GTK+2 à GTK+3 ce qui permet également de simplifier légèrement l'interface. Pour se rapprocher de la prise en charge des tablettes, il y a la prise en charge du mode avion et du multi-point pour l'écran tactile. Le carnet d'adresses apparaît, le logiciel de messagerie peut maintenant gérer les comptes Windows Live depuis le passage à XMPP chez Microsoft. L'application « Box » permet de gérer très simplement la virtualisation à l'aide de la bibliothèque libvirt. Pour finir, GNOME Shell peut être utilisé avec des cartes graphiques vieillissantes pour supprimer le mode « dégradé ».

KDE n'est pas en reste avec la version 4.8. Le gestionnaire de fenêtre KWin dispose d'une amélioration notable de la gestion des ressources pour ses effets graphiques. Le navigateur de fichier Dolphin améliore ses performances d'affichage et possède un nouveau mode d'affichage par défaut, cependant la vue par colonne a également été supprimée. L'éditeur de texte Kate améliore sa gestion du chercher/remplacer et peut utiliser les raccourcis clavier de l'éditeur Vim. Okular peut maintenant annoter les PDF, KMix peut modifier sans PulseAudio le son de chaque application. Le gestionnaire de connexions KNetWorkManager peut partager une connexion Wifi et son interface a été repensée pour plus de simplicité. Le gestionnaire d'énergie est plus intelligent, ne réduisant pas la luminosité en cas de lecture vidéo ou de photos par exemple. KSecretService qui gère les mots de passe peut stocker celle des applications non-KDE pour plus de transparence.

Mais derrière ces deux gestionnaires de bureau très connus, Sugar continue toujours sa progression au sein de Fedora avec la version 0.96. Rappelons que cette interface est utilisée dans le cadre de l'opération OLPC avec l'ordinateur XO. Cette version débute la transition vers la bibliothèque graphique GTK+3 comme le navigateur Web ou le lecteur de PDF et livres numériques. Les « activités » en profitent pour obtenir de nombreuses améliorations et corrections diverses. Et enfin, cette version prend en charge NetworkManager 0.9 permettant une meilleure gestion de la connexion réseau qui est pour l'ordinateur XO une première nécessité pour la gestion du réseau ad-hoc notamment.

Dans un autre registre, la prise en charge des profils ICC par CUPS, qui gère les impressions. Les profils ICC servent à déterminer la correspondance de couleur entre périphériques informatiques. En effet, les matériels informatiques comme les écrans, appareils photos, webcam ou imprimantes ne représentent pas la couleur de la même façon et ce même d'un modèle à l'autre d'un même constructeur ! Ainsi un rouge sur votre écran peut être un rouge différent sur le papier imprimé ou sur l'écran du voisin, et ce problème est très important dans les métiers de l'infographie où la couleur doit être fidèlement représentée sur toute la chaîne de production (de la prise de la photo au papier). Fedora apporte la solution pour le passage de l'écran à l'impression par cette fonctionnalité. Le démon colord correspondant choisira le profil adapté à l'impression pour le rendu et appliquera le filtre.

Fedora 17 possède une meilleure gestion de l'énergie de par l'usage de nouveaux profils de consommation et continuera à évoluer. L'objectif est d'utiliser dbus pour rendre le système plus intelligent, notamment au branchement et débranchement de l'alimentation d'un ordinateur portable. Il est possible de concevoir des profils adaptés à chaque situation ce qui devrait diminuer la consommation globale d'énergie, notamment quand l'ordinateur est sur batterie. Il est également possible d'étendre ces profils aux machines virtuelles via KVM.

Prise en charge des écrans multi-points. Fedora a patché le serveur X mais aussi ses bibliothèques associées pour permettre l'usage du multi-point au sein des interfaces de Fedora, tel que GNOME Shell qui est adapté pour cet usage.

Fedora avec sa version 17 signe la fin de la prise en charge des pilotes 3D DRI version 1. Ceci allège le code de Mesa en ne gérant plus les pilotes suivants : i810, mga, r128, savage, sis, tdfx et unichrome qui sont en règle général très peu utilisés aujourd'hui et plus maintenus depuis de nombreuses années. Le 2D reste prise en charge et de part l'amélioration de GNOME Shell, il est maintenant possible de l'utiliser avec de tels pilotes nativement.

Prédiction lors de la frappe en anglais. En effet, iBus, un utilitaire qui permet de changer de disposition de clavier aisément, peut maintenant utiliser un dictionnaire pour réaliser de l'auto-complétion de mots dans la langue de Shakespeare où que vous soyez dans l'interface. L'utilisateur détermine les mots à placer dans le dictionnaire au fur et à mesure et a accès à la suggestion de mots notamment en cas de mauvaise orthographe… Intégration de libpinyin dans iBus pour les langues chinoises. L'objectif est d'augmenter la vitesse de frappe pour ces langues en se basant sur la phrase tapée afin de suggérer certains caractères, diminuant ainsi le nombre de touches nécessaires pour saisir le caractère.

Création d'un utilitaire pour configurer les polices du système. Cette configuration est propre à chaque utilisateur et peut se faire langue par langue disponible par le système afin d'avoir le meilleur rendu possible pour une langue donnée.

Mise à disposition de GIMP 2.8. La nouvelle version majeure du logiciel de traitement d'image libre permet de rendre l'interface en mode fenêtre unique comme son concurrent Adobe Photoshop ou de garder l'apparence par défaut. L'équipe de développement offre aussi le groupement de calque tant attendu, l'édition de texte se fait directement dans le canevas (donc sur l'image et non dans une fenêtre à part). Il est aussi possible de modifier la dynamique des brosses. Bien entendu, d'autres nouveautés sont présentes.

Les dispositions claviers m17n pour les langues hindoues ont été modifiées selon un nouveau standard en préparation par le gouvernement indien.

Dans la même veine, la prise en charge de Unicode 6.0 pour les langues hindoues est également disponible avec les polices Lohit, mettant plus de caractères à disposition pour ces langues. Le rendu n'est pas idéal et devrait mener à de futurs peaufinages.

Administration système

Le plus gros travail dans ce domaine était le déplacement de la racine (/) vers le dossier user (/usr) entrainant la disparition des répertoires /bin, /sbin, /lib et /lib64. Ces répertoires étaient présents pour des raisons historiques et techniques qui n'ont plus lieu d'être aujourd'hui. /usr est un dossier qui était aujourd'hui indispensable et la séparation des 4 dossiers de /usr posait des problèmes techniques pour la séquence de démarrage avec initramfs qui avait besoin de nombreux logiciels pour son exécution et qui sont un peu dispersés dans tous ces répertoires, répertoires qui ne sont pas montés au même instant en général. Cette séparation va entrainer un certain allègement du démarrage du système, mais aussi d'améliorer la compatibilité avec d'autres Unix comme Solaris qui ont déjà opéré ce changement et la gestion des paquets en sera également simplifié. En effet, il n'y a pas de cas particuliers à gérer, tout ira dans le même dossier, sans risque de confusion à l'usage. Pour migrer en douceur, les répertoires par défauts sont maintenant un lien symbolique vers leurs successeurs dans /usr.

Conversion des derniers scripts init de SysV vers systemd. Systemd est l'application qui gère le lancement des processus lors du démarrage de la machine afin qu'elle se lance correctement. Systemd a déjà remplacé init chez Fedora pour cette tâche pour la 15ème version, mais la plupart des services utilisaient la couche de compatibilité entre init et systemd. Maintenant ce sont des scripts natifs pour systemd et qui par conséquent exploitent mieux ses possibilités. Le temps de démarrage peut être sensiblement amélioré et la configuration de ces scripts sera beaucoup plus simple pour les administrateurs systèmes. Ce travail a débuté depuis de nombreuses versions de Fedora mais n'a jamais été totalement finalisé.

Le pare-feu dynamique fait son apparition sous forme de démon nommé firewalld. Son objectif est de remplacer les outils iptables qui sont statiques. Le principal inconvénient étant qu'actuellement le pare-feu statique nécessite un redémarrage de ce dernier en cas de modification des paramètres, entrainant un problème de sécurité et nécessitant même de perdre la connexion durant ce laps de temps. Ce problème est résolu avec ce nouveau pare-feu qui demandera une prochaine version de Fedora pour remplacer iptables totalement, le temps d'adapter tous les outils tels que system-config-firewall et l'adaptation entière du système à cette modification majeure.

En prolongeant le travail sur le pare-feu dynamique, cette version de Fedora apporte la conception de « zones de réseaux » pour déterminer les services réseaux disponibles selon le niveau de confiance accordé à un réseau. Cela peut sembler évident, mais un réseau Wifi public ne devrait pas laisser passer les mêmes flux de données en clair que le réseau filaire chez soi. Grâce à cela, un réseau peut être classé dans l'une de ces zones et l'administrateur décide ainsi pour une zone donnée de l'usage possible du trafic réseau pour la machine. Cette nouveauté repose entièrement sur le nouveau pare-feu décrit précédemment, afin de charger un nouveau profil de pare-feu selon la connexion en cours.

Suppression de ConsoleKit qui est la couche permettant de lister les utilisateurs connectés au système et permettant notamment la connexion de nouveaux utilisateurs depuis le gestionnaire de connexions graphique. Ce composant est remplacé par systemd. L'objectif affiché est de rendre cette partie du système plus sécurisée, petite et simple pour la maintenance. Cela introduit la prise en charge des multiutilisateurs automatiquement, mais aussi la possibilité d'autoriser le lancement de services utilisateurs sans la connexion de l'utilisateur en question via une tâche automatique par cron.

La prise en charge du système de fichiers ext4 au-delà de 16 Tio, la nouvelle limite étant de 100 Tio. En effet, aujourd'hui il est facile avec les systèmes RAID d'obtenir pour à moindre coût des systèmes approchant cette capacité limite pouvant nuire à son usage en entreprise. Cette extension permet de retarder le problème dans ce cas d'utilisation.

Les services du système lancées par systemd peuvent obtenir des dossiers dans le répertoire /tmp avec des droits d'accès supplémentaires. L'objectif est de rompre la communication entre l'utilisateur et ces services pour éviter des problèmes de sécurité par le procédé d'escalade de privilège. En effet, un service pouvant obtenir des droits supplémentaires sur le système par rapport à l'utilisateur de base, l'usage à mauvais escient de cette communication pouvait permettre à un utilisateur de base d'obtenir ces droits supplémentaires.

Il est dorénavant possible à SELinux de ne plus autoriser à d'autres processus de lire la mémoire d'autres processus que le sien, cela passe par le booléen deny_ptrace. L'objectif est que tout processus ne puisse examiner la mémoire d'un autre processus et ce pour assurer une plus grande sécurité du système même pour ceux qui utilisent une étiquette identique ou proche de l'autre processus à examiner. Pour l'administrateur système ou le programmeur qui en aurait besoin, il est possible de désactiver cette option pour l'usage du débogueur gdb par exemple. La désactivation se fait par la commande : setsebool deny_ptrace 0 ; la désactivation quant à elle nécessite de remplacer le 0 par 1.

NetworkManager se dote de nouvelles fonctions dédiées aux usages professionnels ou de virtualisation que sont les connexions de liaisons, IP-over-infiniband et VLAN. L'objectif est de pouvoir utiliser Fedora dans le plus de configurations possibles. Un travail important a été effectué pour intégrer le tout avec la virtualisation par libvirt.

Toujours au sujet du réseau, Fedora 17 passe toutes ses requêtes DNS à travers le protocole DNSSEC. Ce protocole est destiné à combler les manques de sécurité de son célèbre prédécesseur qu'est le DNS avec la protection des données de bout en bout empêchant ainsi l'exploitation des données par un serveur situé dans la liaison. Le tout utilise un système de clé et actuellement plus d'une vingtaine de TLD sont signés et de même pour les serveurs racines.

Il est maintenant possible d'utiliser les noyaux Linux cibles nommés LIO pour iSCSI et FCoE, le premier utilisant le stockage via des liaisons par TCP/IP quant au second cela est assuré par le protocole Fibre Channel sur un réseau Ethernet. Ceci passe par l'utilisation d'un nouvel outil de configuration qui est targetcli en remplacement de l'outil tgtd qui était plus complexe à configurer et un fichier de configuration plus difficile à appréhender. Par l'usage d'une API Python, il est également possible de programmer l’interaction avec targetcli.

mkdumprd est réécrit avec kexec-tools et l'utilitaire dracut pour générer l'initrd du noyau kdump. La génération d'un initrd est complexe, car cet outil doit participer au lancement du système avec le minimum d'outils à disposition et sans se planter, sinon il est impossible de démarrer tout le système. Or mkdumprd était complexe et nécessitait une lourde maintenance, d'où le passage à dracut qui réalise déjà cette tâche pour les noyaux classiques, les noyaux kdump permettant d'obtenir des informations de débogages supplémentaires. Ceci pourrait être réutilisé par d'autres distributions facilement, dracut étant déjà disponible sur d'autres distributions.

Unification de la vérification de la sécurité des mots de passe par l'usage de la bibliothèque libpwquality. L'objectif est que tout logiciel demandant la création d'un mot de passe ait les mêmes limites que les autres quant à la qualité du mot de passe demandée. Ceci est configurable dans le fichier /etc/security/pwquality.conf. Cela facilitera la vie des administrateurs systèmes qui n'auront à changer qu'à un seul endroit la configuration de ces limitations.

Création de thermostat, une application permettant de faire du contrôle de mesures de plusieurs instances de machines virtuelles Java (et donc des applications Java) mais aussi pour réaliser de la configuration de ces dernières. Pour le moment, l'application se limite seulement aux machines virtuelles locales. Les machines virtuelles libres IcedTea/OpenJDK sont prises en charge. Une interface graphique est également disponible, le prise en charge du cloud se fera dans les prochaines versions de l'utilitaire.

SSSD monte en grade avec l'intégration de sudo et de l'autofs. SSSD est un ensemble de services pour réaliser ce que l'on appelle l'identification centralisée, très répandue dans les grandes entreprises. À la différence des méthodes traditionnelles, SSSD permet d'utiliser le compte distant en local sans avoir besoin du serveur central, c'est-à-dire qu'un utilisateur déjà authentifié sur une machine pourra éteindre la machine et l'utiliser sur un autre réseau avec le même compte utilisateur que celui utilisé précédemment. Le tout passant par le protocole LDAP. L'intégration de sudo permet d'importer également dans le cache de SSSD les paramétrages liés à sudo et de pouvoir les utiliser en mode hors-ligne, comme pour les utilisateurs traditionnels. L'intégration de AutoFS permet de monter automatiquement certains périphériques distants via Samba ou NFS par exemple en mode hors ligne. L'usage du cache SSSD permet d'économiser des requêtes LDAP pour les obtenir si on est en mode connecté.

Apparition du démon numad qui surveille la topologie et la consommation des processus pour réaliser un alignement mémoire des applications ou des machines virtuelles pour de meilleures performances.

Remplacement de dm-snapshot par thin-provisionning. Cet outil permet de créer des clichés d'un disque virtuel, comme une partition, et de les mettre dans le même volume que tous les autres clichés dans le but de réduire l'occupation disque et de favoriser les partages de données entre les machines virtuelles. Il est dorénavant possible de déterminer une profondeur de clichés de manière récursive (donc le nombre de clichés de clichés de clichés, etc. à réaliser au maximum). Il est possible de sauvegarder les métadonnées associées en dehors du volume considéré, notamment en les mettant sur un disque SSD pour de meilleures performances.

Débarquement du simulateur de réseau Ns-3, en sachant que le programme ns-2 est déjà utilisé par de nombreuses universités américaines pour l'enseignement réseau.

Apport de DIET au sein de la distribution. DIET est un intergiciel pour l'informatique de haute performance dans des environnements hétérogènes et distribués comme les stations de travail, les clusters, les grilles ou le cloud. Il implémente le standard OGF Grid RPC. Cet ensemble d'outils permet de gérer les utilisateurs dont l'authentification, de gérer les tâches, de gérer les fichiers de manière sécurisée et la gestion de l'information. DIET peut par exemple déterminer quelles machines sont les plus aptes à répondre à la requête d'un client de part la répartition des données et la charge actuelle de chaque machine de la grille. Le tout en donnant une estimation du temps de traitement pour chaque machine. L'architecture est redondante et hiérarchisée pour limiter l'engorgement du système et éviter la perte de données. DIET est un projet français de recherches de l'INRA notamment et proposé sur Fedora par le contributeur francophone Haïkel Guémar.

Le domaine des clusters s'améliore avec la prise en charge de la haute disponibilité et la répartition de charge pour le Corosync Cluster Engine. Son API est stable pour la branche 2.0 nouvellement crée avec l'amélioration des performances d'un facteur 5 à 10 par rapport à la version précédente.

Virtualisation

Amélioration de la gestion des supports de stockages pour les clients virtualisés de part l'usage de fonctionnalités avancées de SCSI par KVM. Il est possible maintenant de dépasser la limite des 30 supports de stockage que nous pouvons librement brancher à chaud, De plus, les applications pourront s'adresser au périphérique directement par la prise en charge du « SCSI passthrough » et les clients et serveurs pourront accueillir de nouvelles fonctionnalités sans nécessiter la mise à jour des pilotes correspondants. Ces fonctionnalités feront l'objet d'un patch pour le noyau Linux 3.4.

Le Projet Fedora a élaboré la commande virt-sandbox pour mettre un service ou une application dans un bac à sable d'une machine virtuelle et reprend le principe du bac à sable de SELinux dans la mise en œuvre. Cet environnement confiné donne une vue adaptée du système du fichier et du réseau afin d'améliorer la sécurité globale, d'autant plus que les applications peuvent adresser, d'après le paragraphe précédent, des requêtes SCSI directement (passthrough). Actuellement n'est supporté que l'hyperviseur KVM mais suivront prochainement VMware et Xen.

Toujours dans le camp KVM, la mise en place d'un moniteur de performance pour les systèmes clients. cela permet grâce à des outils plus standards de suivre le fonctionnement du système et de ses paramètres et de faciliter le débogage en cas de problème.

Inclusion du projet oVirt, l'objectif est de diversifier l'offre des services de virtualisation libres au sein de Fedora car libvirt avec KVM sont actuellement à une place très privilégiée. Ainsi l'industrie mais aussi les utilisateurs ont plus de choix selon leurs besoins et un grand travail a été effectué pour permettre une meilleure intégration possible avec les outils standards de Fedora. Les fonctionnalités de base du projet sont la gestion d'un cloud, des capacités de stockage et du réseau. Pour les machines virtuelles, la possibilité de réaliser des clichés, la détermination de sa durée de vie initiale, la migration des machines virtuelles. Avec bien entendu des outils de manipulations pour l'utilisateur ou l'administrateur dont en ligne de commande et la prise en charge des agents clients. Pour finir, cette solution dispose d'un serveur d'authentification centralisé, d'un serveur DNS et DHCP et les outils pour réaliser de la haute disponibilité.

Pour améliorer la gestion réseau des systèmes virtualisés, le Projet Fedora a travaillé sur l'intégration de Open vSwitch. Cet outil permet de concevoir des commutateurs virtuels pour faire la liaison au sein d'un réseau entre machines virtuelles et réelles là ou les solutions existantes posent des difficultés techniques sur des réseaux si complexes. L'objectif de ce projet est de se rapprocher d'un véritable switch pouvant être administré et concurrencer les solutions proches de VMware et Cisco dans le domaine. Pour plus d'information sur ses fonctionnalités cliquez ici.

Cloud computing

Le cloud computing est un domaine informatique en plein essor et le Projet Fedora souhaite suivre cette tendance en améliorant les outils disponibles.

Fedora 16 a donné lieu à la disposition du Condor Cloud, Fedora 17 propose désormais d'apporter l'outil Wallaby pour programmer en haut niveau la configuration des services de gestion de Condor. Ceci va faciliter la configuration de ce dernier, Wallaby est basé sur un modèle sémantique, il peut gérer les versions des configurations (par les clichés et contrôle des versions) et il peut s'utiliser à distance via une API orientée-objet et s'interfacer avec les langages Python et Ruby.

OpenNebula arrive dans Fedora 17 pour gérer les infrastructures clouds hétérogènes et des serveurs physiques différents. Ce framework est compatible actuellement avec Amazon EC2, OGF OCCI et vCloudet mais aussi les hyperviseurs Xen, KVM et VMware. Il peut être utilisé via une interface en ligne de commande, une interface web ou encore les langages de programmations Python, Java et Ruby ce qui le rend particulièrement souple et efficace.

De même, OpenStack a été la source de toutes les intentions au sein de cette 17ème version de Fedora. Tout d'abord, le programme est porté à sa nouvelle version nommée Essex qui apporte une plus grande stabilité et intégration des composants, un système de greffons plus puissant, la possibilité de réaliser une authentification centralisée mais aussi de réaliser un meilleur suivi du système sans oublier une meilleure protection des données, surtout après un arrêt brutal du système. Mais cela ne s'arrête pas là, Horizon, l'interface web est inclue maintenant sur Fedora. L'objectif est de pouvoir lancer, arrêter ou suivre une instance de OpenStack et de gérer les utilisateurs par une interface graphique distante. Pour les prochaines versions, une meilleure documentation et configuration par défaut seront à l'étude. Puis le service des réseaux virtuels, nommée Quantum, est également pris en charge et peut à l'aide de greffons, réaliser des réseaux virtuels L2 à l'aide de Open vSwitch (décrit plus haut), le noyau Linux ou certains produits Cisco. Toujours pour OpenStack, Fedora a travaillé pour que OpenStack puisse utiliser libguestfs pour utiliser différentes opérations sur des disques virtuels et augmenter le nombre de formats supportés. Pour finir la partie sur cette solution de Cloud, OpenStack peut enfin utiliser Qpid pour l'échange de messages entre différents nœuds de OpenStack de manière alternative à RabbitMQ utilisé actuellement permettant plus de choix sur ce besoin.

Développement

Le Projet Fedora met tout en œuvre pour être une distribution phare des développeurs en mettant à disposition des derniers outils existants.

Pour commencer, la célèbre suite de compilateurs GCC a été mis à jour à la version 4.7 et l'ensemble des paquets ont été conçus par cette dernière. Cette version propose la prise en charge expérimentale de la mémoire transactionnelle pour le domaine de la programmation concurrente, des optimisations pour les derniers nés de l'architecture x86_64, la prise en charge du Cortex-A7 pour l'architecture ARM, diverses optimisations pour l'architecture SPARC et la prise en compte de certaines nouveautés des nouvelles normes C11 et C++11. Et bien d'autres encore !

Pour ceux qui sont intéressés par la compilation croisée à destination de Windows, Mingw-w64 propose la compilation d'exécutable pour Windows 32 ou 64 bits, au choix de l'utilisateur.

Un analyseur statique des erreurs dans les extensions de Python écrits en C a été conçu. En effet, ces modules en C peuvent gérer les références des objets de Python pouvant provoquer un certain nombre de fuites mémoire ou d'accès illicites à une case mémoire. Cet outil peut détecter ces problèmes et faire le lien avec le code problématique afin de patcher plus rapidement le code responsable et améliorer la situation.

Les amateurs de Ruby pourront utiliser la version 1.9.3 de ce langage avec une nouvelle ligne de conduite pour empaqueter les paquets liés à ce langage comme ses extensions. RubyGems peut être plus facilement installé par les utilisateur classiques dans leur propre répertoire. Cette version de Ruby permet l'ajout de code sous licence Ruby ou BSD (et non plus GPLv2), une meilleure prise en charge du multi‐threading, un chargement plus rapide des bibliothèques et la prise en charge de l'Unicode 6.0.

Pour les développeurs web, PHP 5.4 arrive également sur Fedora qui intègre notamment un mini serveur web pour le développement, une amélioration notable des performances, un nettoyage des options de configuration, des changements syntaxiques dont pour la gestion des tableaux et plein d'autres choses !

Parmi les langages connus, Java 7 remplace désormais la version 6 avec OpenJDK 7.0. La machine virtuelle supporte les langages typés dynamiquement, la prise en charge de Unicode 6.0, une meilleure prise en charge de l'accélération XRender pour les interfaces graphiques Java 2D, l'arrivée d'un nouveau synthétiseur de son et bien d'autres nouveautés.

Pour continuer dans la lignée de Java, JBoss AS7, qui est un serveur d'applications Java EE, est aussi disponible, souvent mis en avant dans les offres Red Hat. Le temps de démarrage passe ainsi de 45 à 5 secondes environ grâce à l'indexation de métadonnées et l'usage de cache. Il utilise au repos moins de 20 Mio de mémoire contre plus de 100 pour son prédécesseur en minimisant les temps de pause du garbage collector et en ne chargeant que les archives jar nécessaires. Le tout devient plus modulaire en ne chargeant que les classes nécessaires et isolant les applications. La configuration est maintenant plus simple et élégant en centralisant les options et se centrant sur l'utilisateur.

Pour finir avec le langage d'Oracle, l’environnement de développement Eclipse Juno est disponible. Cette version n'est pas encore totalement stable et devrait être publiée fin juin de cette année.

La célèbre bibliothèque du langage C++, Boost, arrive en version 1.48. Les bibliothèques d'Asio, Chrono, Geometry et Math étant les plus modifiées avec notamment une amélioration des performances pour certaines.

Pour les langages plus « exotiques », le langage D poursuit sa progression au sein du Projet Fedora. Il est maintenant possible de concevoir des interfaces avec GTK et OpenGL ou encore utiliser SQLite pour les bases de données. Le compilateur a également été mis à jour.

Pour les amateurs du langage fonctionnel Erlang, ce langage passe à la version R15. Une nouvelle interface graphique permet de faciliter le traçage du comportement des applications de ce langage. Il met à disposition une nouvelle implémentation du SSL, les exceptions précisent maintenant la ligne et le fichier concernés ce qui facilite grandement le débogage ou le rapport d'erreur.

Pour ceux qui préfèrent le langage Haskell, c'est la version 2011.4 qui débarque pour la plateforme Haskell. Ce dernier étant un ensemble d'applications pour programmer de manière confortable en Haskell.

Puis le langage Opa 0.9 arrive. Ce langage est destiné à réaliser des application web riches, distribuées et sécurisées ou des applications de base de données. Cette plateforme est tout en un en permettant une exécution complète avec simplement un système d'exploitation fonctionnel. Cette version apporte entre autre une nouvelle syntaxe plus proche du JavaScript, le support de nombreuses possibilités du HTML5 et le support de MongoDB pour la gestion de base de données. De manière plus générale, cette plateforme fonctionne enfin sous Windows et FreeBSD en plus de Mac OS X et GNU/Linux déjà pris en charge.

Enfin, pour finir avec cette partie liée au développement, le Projet Fedora fournit le service darkserver. Ce service est destiné à aider les utilisateurs à trouver des informations à partir d'un build-id ou du nom d'un paquets RPM. Darkserver utilise un format json pour être plus facilement compréhensible par d'autres programmes et réaliser l'interrogation du serveur SQL contenant les informations. Ce service est intégré à l'infrastructure du Projet Fedora, notamment dans l'interface web de Koji pour les empaqueteurs. Par exemple, si vous souhaitez obtenir des informations sur le build-id « aa995549415cd52a6fbbc21811dfc2dd00e2c242 », sa sortie sera « {"buildid":"aa995549415cd52a6fbbc21811dfc2dd00e2c242","elf":"/usr/lib/mailman/pythonlib/japanese/c/_japanese_codecs.so","rpm":"mailman-2.1.12-17.el6.x86_64.rpm"} ».

Autres

Les méthodes de conception et d'installation des LiveCD de Fedora ont été revues de part l'utilisation de lorax. Lorax permet de créer des CD d'installation à partir de Anaconda, le logiciel d'installation de Fedora, et de ses dérivées. Actuellement, la conception d'un liveCD nécessite de lourds travaux sur lorax, Anaconda, python-imgcreate et livecd-creator, l'objectif serait de se passer des deux derniers ce qui allègerait la procédure, introduirait moins d'anomalies et permettrait d'étendre les fonctionnalités, le système devenant plus simple.

Mise à jour majeures de logiciels

Voici la liste des mises à jour majeures des paquets de Fedora avec les liens vers leurs notes de versions :

  • Noyau Linux 3.3
  • Firefox 12
  • Thunderbird 12
  • Gnome 3.4
  • KDE 4.8
  • Sugar 0.96
  • GIMP 2.8
  • LibreOffice 3.5
  • GCC 4.7
  • Ruby 1.9.3
  • Haskell platforme 2011.4
  • Erlang R15
  • Eclipse Juno
  • OpenJDK 7
  • JBoss AS7
  • PHP 5.4
  • Boost 1.48
  • Opa 0.9

Liens externes

  • Site officiel du projet Fedora
  • Site officiel de la communauté francophone de Fedora
  • Notes de versions officielles en français
  • Téléchargez Fedora 17 par Torrent ! (méthode à privilégier)
  • Téléchargez Fedora 17 par FTP ou HTTP