URL: https://linuxfr.org/news/fedora-28-est-sortie-dans-les-temps Title: Fedora 28 est sortie dans les temps ! Authors: Renault Davy Defaud, Nils Ratusznik, M5oul, BenoĂźt Sibaud, bubarđŠ„ et frederic Date: 2018ćčŽ04æ20æ„T09:04:16+02:00 License: CC By-SA Tags: fedora, sortie_version, mageia et flatpak Score: 52 En ce mardi 1^(er) mai 2018, les utilisateurs du Projet Fedora seront ravis dâapprendre la disponibilitĂ© de la version 28 de Fedora. Fedora est une distribution GNU/Linux communautaire dĂ©veloppĂ©e par le projet Fedora et sponsorisĂ©e par Red Hat, qui lui fournit des dĂ©veloppeurs ainsi que des moyens financiers et logistiques. Fedora peut se voir comme une sorte de vitrine technologique pour le monde du logiciel libre, câest pourquoi elle est prompte Ă inclure des nouveautĂ©s. Fedora garde un rĂŽle central dans le dĂ©veloppement de ces nouveautĂ©s via le dĂ©veloppement en amont. En effet, les dĂ©veloppeurs de la distribution contribuent Ă©galement directement au code dâun certain nombre de logiciels libres contenus dans la distribution, dont le noyau Linux, GNOME, NetworkManager, PackageKit, PulseAudio, X.Org, systemd, la cĂ©lĂšbre suite de compilateurs GCC, etc. [Cliquez ici pour voir lâensemble des contributions de Red Hat](https://fedoraproject.org/wiki/Red_Hat_contributions). Notons que Fedora 28, avec ses quelques 52 changements officiels validĂ©s, est sans conteste la version comportant le plus de changements de son histoire. Câest dâautant plus remarquable que la date de sortie initiale nâa jamais Ă©tĂ© repoussĂ©e, une premiĂšre ! [](https://blog.fedora-fr.org/public/renault/F28/Gnome-Shell-Bureau.png) ---- [Site officiel du Projet Fedora](https://getfedora.org/) [Site de la communautĂ© francophone de Fedora](http://www.fedora-fr.org/) [Notes de version de Fedora 28](https://docs.fedoraproject.org/fr-FR/index.html) [Images Torrents officielles](https://torrent.fedoraproject.org/) [ProcĂ©dure de mise Ă niveau](https://doc.fedora-fr.org/wiki/Mise_%C3%A0_niveau_de_Fedora) ---- # Bureautique **Passage Ă GNOME 3.28.** Ce nouvel environnement apporte comme souvent quelques raffinements : * disparition des icĂŽnes sur le bureau, faute de mainteneur ; * nouveau visuel du clavier virtuel ; * nouveau dessin pour la police par dĂ©faut Cantarell ; * _Fichiers_ gĂšre les marqueâpages dans un dossier dĂ©diĂ© dans la barre latĂ©rale ; * _Photos_ prend en charge lâimportation depuis un mĂ©dia amovible ; * mise Ă disposition du logiciel _Utilisation_, sorte de _Moniteur systĂšme_ simplifiĂ© qui reprend les codes des applications similaires sur _Mobile_ pour simplifier la maintenance de lâappareil ; * le glisserâdĂ©poser de fichiers entre lâhĂŽte et la machine virtuelle est disponible dans _Machines_ ; par ailleurs, _Machines_ peut tĂ©lĂ©charger elleâmĂȘme lâISO de votre distribution favorite ; * les fenĂȘtres jointes latĂ©ralement sont redimensionnĂ©es ensemble ; * _GNOME Logiciels_ peut gĂ©rer les dĂ©pĂŽts tiers depuis Fedora 27, un [dĂ©pĂŽt RPM Fusion](https://rpmfusion.org/RPM%20Fusion) pour Steam et le pilote NVIDIA est proposĂ© nativement dans cette interface de gestion. **Lâenvironnement Sugar est disponible en version 0.112.** Cet environnement bureautique, destinĂ© Ă lâordinateur OLPC continue dâĂ©voluer. En premier lieu, le matĂ©riel est mieux gĂ©rĂ© avec la machine qui sâĂ©teint en cas de batterie trop faible pour Ă©viter de lâendommager sur une coupure trop brutale. La gestion des Ă©crans externes est meilleure. Le navigateur affiche la progression des tĂ©lĂ©chargements, supporte le copierâcoller par les raccourcis clavier et bĂ©nĂ©ficie dâune meilleure autoâcomplĂ©tion. Enfin, lâensemble des applications profite de la demande de sauvegarde du document en cas de fermeture de lâapplication, si ceuxâci nâont pas Ă©tĂ© sauvegardĂ©s. **Mise Ă jour de Fontconfig Ă la version 2.13.** Le plus gros du travail concerne lâamĂ©lioration des performances. Le cache peut ĂȘtre partagĂ© entre dossiers montĂ©s via _bind_ ce qui bĂ©nĂ©ficie aux applications Flatpak. Lâempreinte du cache a Ă©tĂ© considĂ©rablement rĂ©duite, ce qui permet dâaccĂ©lĂ©rer sa lecture et sa gĂ©nĂ©ration. Ă titre dâexemple, rĂ©gĂ©nĂ©rer le cache prend cinq Ă dix fois moins de temps quâauparavant. Fontconfig apporte aussi la gestion des polices de caractĂšres variables. **RĂ©duction de la redondance entre Anaconda et gnome-initial-setup, pour la version Workstation**, dans la configuration demandĂ©e Ă lâutilisateur créée lors de lâinstallation. Lâobjectif Ă©tant, bien entendu, de simplifier le code mais aussi la procĂ©dure dâinstallation afin de rendre le tout cohĂ©rent. [](https://blog.fedora-fr.org/public/renault/F28/Anaconda_leger.png) Sont configurĂ©s par Anaconda : * le clavier ; * la date ; * lâheure ; * la langue et la disposition clavier. Gnome-initial-setup se chargera de la crĂ©ation du premier utilisateur. Seront supprimĂ©s : * le nom dâhĂŽte rĂ©seau ; * le mot de passe du super utilisateur _root_. En effet, Fedora Workstation suit la politique dâUbuntu en dĂ©sactivant le compte _root_ par dĂ©faut. Le premier utilisateur sera donc superâutilisateur, configurĂ© automatiquement via `sudo`. Il reste possible de lâactiver manuellement si vous le souhaitez. Le premier utilisateur est donc configurĂ© aprĂšs le premier redĂ©marrage, une session temporaire de GNOME Shell sera ouverte automatiquement pour crĂ©er le compte utilisateur avec lâensemble des paramĂštres usuels, avant de vous proposer de vous connecter avec le nom de cet utilisateur via GDM. **Fedora a poussĂ© petit Ă petit lâintĂ©gration des modules invitĂ©s de VirtualBox dans le noyau Linux.** Ainsi, si vous utilisez VirtualBox pour virtualiser un systĂšme Fedora, ce dernier aura automatiquement, et dĂšs lâinstallation, la gestion du plein Ă©cran et du presseâpapiers partagĂ© par exemple. La gestion du dossier partagĂ© devrait arriver aprĂšs la sortie de Fedora 28. Il ne sera donc plus nĂ©cessaire de recourir Ă lâinstallation manuelle des modules invitĂ©s pour profiter pleinement de Fedora dans VirtualBox. # Gestion du matĂ©riel **Meilleure gestion de lâautonomie des ordinateurs portables avec un processeur Intel.** Cela passe par une meilleure gestion de lâĂ©nergie des ports SATA pour disques durs et SSD (gain estimĂ© de 1 W Ă 1,5 W) en reprenant le mode utilisĂ© par Windows : _med_power_with_dipm_. Intel HDA codec pour le multimĂ©dia est mis en sommeil aprĂšs une seconde dâinactivitĂ© (gain estimĂ© de 0,4 W) et activation de lâĂ©conomie dâĂ©nergie pour les rĂ©cepteurs Bluetooth en USB (gain estimĂ© de 0,4 W si tous les ports USB sont en repos). Sachant quâun ordinateur portable rĂ©cent non orientĂ© puissance consomme moins de 10 W (7,5 W par exemple sur un Lenovo E560) en usage non intensif. Cela peut donner 20 % dâautonomie supplĂ©mentaire. **IntĂ©gration de la norme Thunderbolt 3** qui est une norme concurrente Ă lâUSB sur de nombreux points. Cette norme permet par exemple de gĂ©rer des transferts de donnĂ©es ou de brancher un Ă©cran externe sur le mĂȘme port. Cependant, ces pĂ©riphĂ©riques pourraient accĂ©der Ă des informations sensibles de votre machine lors du branchement, pour des raisons de performances. En effet, pour allĂ©ger la charge du processeur, ces pĂ©riphĂ©riques peuvent ĂȘtre maĂźtres de la communication DMA. Câest pourquoi la norme propose une politique de sĂ©curitĂ© pour que lâutilisateur autorise ou non lâaccĂšs Ă lâordinateur et Ă©viter que discrĂštement un appareil branchĂ© sans votre consentement ait un libre accĂšs. Maintenant, il est possible de configurer ces accĂšs dans GNOME par le biais des notifications ou du panneau de configuration qui lui est dĂ©diĂ©. [](https://blog.fedora-fr.org/public/renault/F28/Panneau-Thunderbolt.png) Les politiques de sĂ©curitĂ© possibles sont : * _none_ : pas de restrictions ; * _dponly_ : uniquement la sortie vidĂ©o via DisplayPort ; * _user_ : les pĂ©riphĂ©riques connectĂ©s doivent recevoir une autorisation de lâutilisateur ; * _secure_ : lâutilisateur doit autoriser lâappareil Ă©galement et lâappareil doit prouver son identitĂ© avec une clef secrĂšte. **Mise Ă jour de VA-API Ă la version 1.1.0**, qui change lâAPI et lâABI de ce module vidĂ©o pour plateâforme Intel mais propose en contrepartie une meilleure exploitation de lâaccĂ©lĂ©ration du matĂ©riel rĂ©cent de la marque. LâAPI propose par exemple la gestion du _multiâframe_, la gestion du format H.264 FEI et la correction de bogues concernant Wayland. Le module _Video Processing Pipeline_ peut maintenant effectuer des rotations, des effets miroirs, de la composition et utiliser le filtre couleur _Total_. **Les camĂ©ras et autres appareils optiques compatibles RealSens dâIntel peuvent utiliser la bibliothĂšque librealsense 1 et 2** pour exploiter lâentiĂšretĂ© de cette gamme technologique. Cette bibliothĂšque permettant dâexploiter lâensemble des informations proposĂ©es par ces capteurs, comme calculer les dimensions dâun objet en 3D. Le paquet librealsense rĂ©fĂšrera Ă la version 2 de la bibliothĂšque pour les versions modernes, un nouveau paquet librealsense1 sera Ă installer manuellement pour le matĂ©riel plus ancien comme les modĂšles F200, R200, LR200 et ZR300. # Internationalisation **Ibus Typing utilise maintenant la boĂźte de dialogue pour les emoji afin de proposer des symboles Unicode en tapant leur description.** Cette boĂźte de dialogue permettait de simplifier la saisie dâemojis en se basant sur leur descriptif pour trouver celui que souhaitait lâutilisateur. Cela a Ă©tĂ© gĂ©nĂ©ralisĂ© Ă lâensemble des caractĂšres Unicode pour simplifier la saisie de caractĂšres complexes. Ainsi, saisir _copyright sign_ propose le symbole © connu sous le nom technique `U+00A9`. **La bibliothĂšque libidn passe Ă la version 2.0.0** forçant le passage de la norme IDNA2003 Ă IDNA2008 pour lâensemble des applications. Ces normes ne sont pas compatibles ce qui pouvait mener Ă des incompatibilitĂ©s entre les applications mais pouvaient aussi ĂȘtre une source dâattaque par redirection, en faisant passer un site Web pour un autre par exemple. Ces normes servent Ă transcrire un nom de domaine Internet Unicode en une chaĂźne unique de caractĂšres 8 bits latins comme _faĂ.de_ qui devient _fass.de_ ou _xn--fa-hia.de_ respectivement. [](https://blog.fedora-fr.org/public/renault/F28/Utilisation.png) **Les donnĂ©es concernant lâinternationalisation de GLibc sont mises Ă jour Ă partir des fichiers ISO et CLDR de 2015 (Unicode 9.0) en remplacement de _iso14651_t1_common_ qui avait quinze ans.** Cela permettra de corriger pas mal dâerreurs, dont des tris alphabĂ©tiques dans des langages moins courants en Occident. Ou les symboles infinis et ensemble vide qui Ă©taient considĂ©rĂ©s comme identiques dans les applications. **Les langues asiatiques chinoises, corĂ©ennes et japonaises utiliseront par dĂ©faut les polices de Google Noto.** Ces polices sont en effet de meilleure qualitĂ© pour reprĂ©senter les symboles de ces langues. Cela proposera aussi un affichage plus cohĂ©rent de lâinterface pour ces utilisateurs, toutes les applications en bĂ©nĂ©ficiant. # Administration systĂšme **Anaconda, le programme dâinstallation, devient modulaire.** La communication se fait via une API plus stable en DBus, permettant dâaugmenter les tests disponibles et de simplifier la personnalisation ou lâextension par lâutilisateur suivant ses envies et ses besoins. Cette dĂ©composition en modules est progressive. Cette version propose par exemple la lecture et lâinterprĂ©tation des fichiers _kickstarts_. Les tĂąches plus critiques, comme la tĂąche qui installe les paquets, seront effectuĂ©es plus tard. Ă terme, il permettra Ă Anaconda de ne pas nĂ©cessiter les droits du superâutilisateur et donc dâavoir un rendu natif sous Wayland. **authselect remplace authconfig** et devient lâoutil de configuration par dĂ©faut pour les modules dâauthentification enfichables [PAM](https://fr.wikipedia.org/wiki/Pluggable_Authentication_Modules "Pluggable Authentication Modules") et le fichier `nsswitch.conf`. Lâoutil _authconfig_ devenait assez difficile Ă maintenir, car il gĂ©rait lâensemble des possibilitĂ©s de configurer les droits des utilisateurs et leur authentification. Par exemple, il devait dĂ©finir le profil pour signifier quâil gĂ©rait les utilisateurs locaux avec des fichiers, des utilisateurs distants avec _sssd_ ou _winbind_ le tout avec authentification par carte ou empreinte digitale. Ensuite, il devait configurer chaque dĂ©mon comme _sssd_. Cette explosion combinatoire le rendait peu fiable et une nouvelle fonctionnalitĂ© dâun des dĂ©mons quâil gĂšre pouvait prendre du temps Ă ĂȘtre prise en charge, avec beaucoup de rĂ©gressions en prime. _authselect_ est plus simple, car il laisse la configuration des dĂ©mons Ă la charge de lâadministrateur systĂšme ou Ă des outils dĂ©diĂ©s comme _realmd_ ou _ipa-client-install_. Par consĂ©quent, sa configuration est plus simple et stable, avec des configurations par dĂ©faut mieux testĂ©es. Lâoutil est aussi bien nettoyĂ©, Ă©crit en C, ce qui le rend plus lĂ©ger et apte Ă une inclusion dans une installation trĂšs minimale de Fedora. **Le paquet tcp_wrappers est supprimĂ©.** Cet outil servait Ă bloquer les connexions entrantes au niveau applicatif, alors que Linux ne bĂ©nĂ©ficiait pas de pareâfeu Ă la hauteur. De plus, il nâĂ©tait plus rĂ©ellement maintenu. Son utilisation doit ĂȘtre remplacĂ©e par _iptables_, ou mieux par _firewalld_. **OpenLDAP abandonne la gestion de TCP wrappers Ă©galement.** Ce qui consiste concrĂštement, outre ce qui a Ă©tĂ© dĂ©crit prĂ©cĂ©demment, Ă supprimer lâoption _--enable-wrappers_ lors de la compilation. **libnsl et nss_nis sont proposĂ©s hors de GLibc**, comme recommandĂ© par le projet officiel depuis quelque temps. libnsl passe Ă la version 2 au passage permettant la compatibilitĂ© de NIS avec la norme IPv6. **De mĂȘme pour Sun RPC dont la gestion dans GLibc est supprimĂ©e au profit de libtirpc** qui permet, entre autres, la gestion native de lâIPv6. Le faire au niveau de la GLibc aurait nĂ©cessitĂ© un changement dâABI important. **Le stockage par dĂ©faut des clefs et autres certificats de sĂ©curitĂ© par la bibliothĂšque NSS est le format de SQLite au lieu de DBM.** La bibliothĂšque NSS est souvent utilisĂ©e pour sa base de donnĂ©es de clefs de sĂ©curitĂ©, les certificats et pour valider la chaĂźne de confiance. Par dĂ©faut NSS utilisait le format DBM qui reposait sur lâantique Berkeley DB. Le principal inconvĂ©nient est quâil nâest pas possible de faire des accĂšs parallĂšles, ce qui peut mener rĂ©guliĂšrement Ă des corruptions de la base de donnĂ©es. En passant Ă SQLite par dĂ©faut, lâaccĂšs parallĂšle est bien entendu gĂ©rĂ© nativement sans option supplĂ©mentaire pour lâutilisateur. **OpenLDAP utilise OpenSSL au lieu de NSS**, comme recommandĂ© par le projet officiel. OpenLDAP avait ajoutĂ© la gestion de NSS en 2008 pour en cesser sa prise en charge en 2014, ne le gardant disponible uniquement que pour de vieilles applications telles que _389DS_. Par consĂ©quent, certains bogues autours de PKI et TLS nâont jamais Ă©tĂ© corrigĂ©s avec lâutilisation de NSS, le passage avec OpenSSL permettra de les rĂ©soudre comme dâautres fonctionnalitĂ©s ou problĂšmes Ă venir. **Clients et serveurs OpenLDAP vont utiliser uniquement les certificats partagĂ©s du systĂšme.** Ainsi, OpenLDAP exploite une nouveautĂ© introduite par Fedora 19 qui est de centraliser les certificats et leur exclusion au sein du systĂšme, tout comme lâont fait depuis NSS, GnuTLS, OpenSSL et Java. Ainsi, il ne va plus lire le contenu du chemin _/etc/openldap/certs_ mais utilise lâoutil _p11-kit_. Ceci simplifiera la maintenance des certificats pour le projet Fedora tout comme pour les administrateurs systĂšme. [](https://blog.fedora-fr.org/public/renault/F28/Creer_utilisateur.png) **Les utilisateur et groupe nobody voient leurs UID et GUID passer tous deux de 99 Ă 65534, lâutilisateur et le groupe _nfsnobody_ sont supprimĂ©s, et nobody nâest plus utilisĂ© de maniĂšre systĂ©matique par dĂ©faut pour certains services.** La situation prĂ©cĂ©dente Ă©tait source de confusion : * le couple `GID:UID` `65534:65534` (utilisĂ© par `nfsnobody:nfsnobody`) est la valeur limite employĂ©e par le noyau, qui sâen sert pour dĂ©signer un utilisateur qui nâexiste pas dans cet espace de noms, soit trĂšs couramment pour les conteneurs, _nfsnobody_ est donc un nom impropre pour cet usage ; * _nfsnobody_ nâest dĂ©fini que si le paquet _nfs-utils_ est installĂ©, ce qui nâest pas forcĂ©ment courant dans le cas des conteneurs pour lesquels on souhaite minimiser la taille du systĂšme ; * _nobody_ Ă©tait, quant Ă lui, employĂ© parfois pour des services du systĂšme oĂč aucun utilisateur spĂ©cifique nâĂ©tait rattachĂ© Ă son exĂ©cution ; le souci est que tout processus lancĂ© avec cet utilisateur pouvait communiquer facilement avec les autres processus de cet utilisateur, voire utiliser _ptrace_ pour les analyser ; des utilisateurs dĂ©diĂ©s seront créés pour couvrir cette situation ; * Fedora Ă©tait la seule distribution populaire Ă ne pas suivre la convention `nobody:nobody` ou `nobody:nogroup` pour le couple `GID:UID` `65534:65534` ce qui est source dâerreurs ou de confusion pour lâadministrateur systĂšme. Ătant donnĂ© lâimportance du changement et la difficultĂ© de changer cela Ă chaud, cela ne concernera que les systĂšmes nouvellement installĂ©s. **PremiĂšre Ă©tape de la nouvelle version de la politique de sĂ©curitĂ© par dĂ©faut.** Afin dâamĂ©liorer la sĂ©curitĂ© du systĂšme, les applications fournies par Fedora devront suivre une politique de sĂ©curitĂ© qui sera peu Ă peu renforcĂ©e. Pour cette premiĂšre Ă©tape, par dĂ©faut, les clefs RSA doivent avoir une taille minimum de 2 048 bits et lâalgorithme DSA est dĂ©sactivĂ©. Le passage Ă TLS 1.2 minimum par dĂ©faut est repoussĂ© pour le moment. **Les paquets de gestion de Kerberos dans Python sont grandement remaniĂ©s.** _python-krbV_, _pykerberos_ et _python-requests-kerberos_ sont remplacĂ©s par _python-gssapi_. Cela a Ă©tĂ© fait pour les raisons suivantes : * _python-krbV_ nâest pas compatible Python 3 ; * _pykerberos_ nâa pas de documentation et est trop minimaliste ; * _python-requests-kerberos_ nâest plus maintenu ; * _python-gssapi_ utilise une interface rĂ©pandue et standard GSS-API pour lâauthentification, est implĂ©mentĂ©e par la version MIT et Heimdal Kerberos en plus dâĂȘtre plus simple Ă lâusage. **libcurl utilisera libssh au lieu de libssh2 pour les protocoles SCP et SFTP** ce qui permet lâutilisation de lâauthentification GSS-API et lâusage dâalgorithmes plus sĂ©curisĂ©s par dĂ©faut. De plus, la version _libssh_ est mieux maintenue. **Lâoutil time passe Ă la version 1.8**. Cette version change de licence vers GPL v3 et GFDL. Elle bĂ©nĂ©ficie de nouveaux codes dâerreur pour signifier lâerreur de la commande exĂ©cutĂ©e ou sâil y a eu un souci dans _time_ luiâmĂȘme. Enfin, elle a une nouvelle sortie par dĂ©faut. Lâaffichage conforme POSIX reste possible via lâoption `-p`. Comparez : * avant : ```shell $ /usr/bin/time -p /bin/false real 0,00 user 0,00 sys 0,00 ``` * aprĂšs : ```shell $ /usr/bin/time /bin/false Command exited with non-zero status 1 0.00user 0.00system 0:00.00elapsed 100%CPU (0avgtext+0avgdata 1076maxresident)k 0inputs+0outputs (0major+54minor)pagefaults 0swaps ``` **Mise Ă disposition initiale de lâapplication Stratis Storage** qui est une application Python communiquant Ă travers DBus pour gĂ©rer lâespace de stockage du systĂšme. Reposant sur le systĂšme de fichiers XFS pour le moment, son but est de proposer des fonctionnalitĂ©s populaires avec Btrfs, ZFS ou LVM mais en plus simple pour lâutilisateur comme les clichĂ©s, lâintĂ©gritĂ© des donnĂ©es ou mettre en place dâun systĂšme de cache. Une interface de programmation est mise Ă disposition et il possĂšde aussi des fonctionnalitĂ©s de rĂ©paration et de surveillance du systĂšme de fichiers. Cela reste la premiĂšre Ă©tape de son intĂ©gration, il est prĂ©vu Ă terme de lâutiliser dans _Anaconda_ ou _dnf_ pour simplifier lâinstallation de Fedora ou faciliter un retour en arriĂšre aprĂšs une mise Ă jour. **Facter passe de la version 2.4.3 Ă 3.9.2.** Cet outil qui permet de rĂ©cupĂ©rer facilement des informations sur le systĂšme a pour principal changement sa réécriture de Ruby Ă C++. Des portages de son interface en Ruby existent notamment pour lâutilisation de _puppet_. Cela est fourni, entre autres, par le paquet _ruby-facter_, si vous en avez besoin pour un de vos projets. Il permet au passage de se dĂ©barrasser peu Ă peu de lâobsolĂšte _net-tools_ dans Fedora. # DĂ©veloppement **Binutils passe Ă la version 2.29.1.** Cette version qui reste un changement mineur, corrige quelques bogues sans nouvelles fonctionnalitĂ©s. Le plus notable est sans doute sa compilation avec lâoption `-z defs` pour considĂ©rer les symboles indĂ©finis comme des erreurs. Pour notamment Ă©viter de fournir un fichier DSO ayant besoin de variantes versionnĂ©es dâune fonction, qui ne sont pas spĂ©cifiĂ©es. [](https://blog.fedora-fr.org/public/renault/F28/Definir_mot_de_passe.png) **GLibc 2.27 est utilisĂ©e par dĂ©faut.** Cette version peut ĂȘtre compilĂ©e en statique pour des applications avec la position indĂ©pendante du code activĂ©e (PIE) ce qui peut amĂ©liorer la sĂ©curitĂ© de lâapplication. De nombreuses fonctions mathĂ©matiques ont Ă©tĂ© optimisĂ©es pour lâarchitecture x86_64 : _asin_, _atan2_, _exp_, _expf_, _log_, _pow_, _atan_, _sin_, _cosf_, _sinf_, _sincosf_ et _tan_. Pour cette architecture, avec les instructions SSE 4.1 disponibles, _trunc_ et _truncf_ sont concernĂ©s aussi. Et pour lâensemble des architectures, câest _expf_, _exp2f_, _logf_, _log2f_, _powf_, _sinf_, _cosf_ et _sincosf_ qui ont Ă©tĂ© optimisĂ©es. Les instructions _memfd_create_, _copy_file_range_ et _mlock2_ ont Ă©tĂ© implĂ©mentĂ©es, tout comme des fonctions de protections de clefs en mĂ©moire avec la suite _pkey_alloc_, _pkey_free_, _pkey_mprotect_, _pkey_set_ et _pkey_get_. De maniĂšre plus significative pour la compatibilitĂ©, la fonction _abort_ ne vide plus le flux de la sortie standard avant de quitter lâapplication, ce qui posait des soucis de corruption des donnĂ©es et entraĂźnait des interblocages. La famille de fonctions _malloc_ nâaffichera plus lâadresse de lâĂ©chec et la pile dâappels en cas de dĂ©tection dâune erreur du tas. Pour des raisons de sĂ©curitĂ©, mais aussi de performances. **La partie cryptographique libcrypt de GLibc est remplacĂ©e par libxcrypt.** Cette sĂ©paration, non encore actĂ©e en amont, a Ă©tĂ© effectuĂ©e pour dĂ©coupler lâĂ©volution des deux bibliothĂšques et permettre ainsi une Ă©volution plus rapide de _libcrypt_ pour amĂ©liorer la sĂ©curitĂ©. Ce changement repose par la crĂ©ation dâune nouvelle bibliothĂšque nommĂ©e _libxcrypt_, qui est compatible avec _libcrypt_ mais pas inversement. Car, si les symboles de _libcrypt_ ont Ă©tĂ© correctement reproduits, de nouveaux sont disponibles, comme les fonctions _crypt_rn_, _crypt_ra_, _crypt_gensalt_, _crypt_gensalt_rn_ et _crypt_gensalt_ra_. **GCC 8 devient le compilateur de rĂ©fĂ©rence.** Cette version apporte bien sĂ»r une meilleure gestion des architectures ou processeurs rĂ©cents comme les derniĂšres puces dâARM, dâIntel ou dâAMD. La gestion du C++17 a aussi Ă©tĂ© amĂ©liorĂ©e avec un dĂ©but dâimplĂ©mentation pour le futur C++20. Un grand effort a Ă©tĂ© effectuĂ© pour [amĂ©liorer la qualitĂ© de la lisibilitĂ© des erreurs de compilation en C et C++](https://developers.redhat.com/blog/2018/03/15/gcc-8-usability-improvements/) avec mĂȘme des conseils sur la correction Ă appliquer. Des amĂ©liorations notables au niveau des performances sont disponibles comme une meilleure heuristique pour « _[inliner](https://fr.wikipedia.org/wiki/Extension_inline)_ » une fonction ou une meilleure exploitation des profils pour une application, **Coup de Boost Ă la version 1.66.** Cette bibliothĂšque majeure de lâĂ©cosystĂšme C++ progresse de deux versions. Outre de multiples corrections de bogues, cette version bĂ©nĂ©ficie de cinq nouvelles sousâbibliothĂšques : * _Boost.PolyCollection_, pour des conteneurs rapides dâobjets polymorphiques ; * _Boost.Stacktrace_, pour obtenir, sauvegarder, copier ou afficher une pile dâappels ; * _Boost.Beast_, qui permet de faire du HTTP portable avec WebSocket, tout en utilisant exclusivement des opĂ©rations rĂ©seau en C++11 avec _Boost.Asio_ ; * _Boost.CallableTraits_, qui est un fichier dâenâtĂȘte C++11 pour lâinspection au moment de la compilation et la manipulation de tous les types _callables_ ; * _Boost.Mp11_, qui fait de la mĂ©taprogrammation pour C++11. **Le cadriciel Web de Python DJango dĂ©gaine Ă la version 2.0.** Le changement majeur est, bien entendu, la non gestion de Python 2. Pour les applications ayant toujours besoin de Python 2 avec Django, le paquet _python2-django1.11_ avec ses sousâpaquets sont proposĂ©s. En termes de fonctionnalitĂ©s, Django simplifie sa fonction _django.urls.path()_ pour la rendre plus lisible Ă lâusage. La partie _contrib.admin_ est plus adaptĂ©e Ă la navigation sur mobile. Enfin, une nouvelle classe _Window_ fait son apparition pour permettre lâapplication de fonctions sur des _frames_ ou des partitions de donnĂ©es. **Ruby est poli Ă la version 2.5.** Cette version propose Unicode 10.0, une amĂ©lioration des performances dâenviron 5 Ă 10 % en rĂ©duisant lâajout des instructions de traçage tout le long du code gĂ©nĂ©rĂ©. Il gĂšre la mesure de la couverture des branches et des mĂ©thodes, ce qui permet dâavoir une vue plus prĂ©cise de la couverture du code. Lâaffichage des erreurs et de la pile dâappels dans le terminal se fait dans le sens inverse (du plus rĂ©cent au plus ancien) pour simplifier sa lecture. **Le compilateur Haskell GHC Ă©volue Ă la version 8.2.** Les informations de dĂ©bogue DWARF sont plus fiables. La gĂ©nĂ©ration de code aux points de jointures est amĂ©liorĂ©e. De nouveaux messages dâerreurs sont colorisĂ©s. Enfin, dans certaines circonstances, une exception est lancĂ©e en cas de dĂ©passement dans le tas. **De mĂȘme pour le couple Erlang/OTP pour la version 20.** Cette version propose aux applications de gĂ©rer certains signaux du systĂšme comme _SIGHUP_. Les _dirty schedulers_ sont implĂ©mentĂ©s pour permettre lâexĂ©cution de code natif avec moins de restrictions sur le temps dâexĂ©cution. Lâutilisation dâUnicode a Ă©tĂ© amĂ©liorĂ©e, que ce soit dans les chaĂźnes de caractĂšres ou dans le module _Atom_. _gen_fsm_ est dĂ©clarĂ© obsolĂšte en faveur de lâusage de _gen_statem_. Le module _zlib_ pour la compression peut ĂȘtre utilisĂ© de maniĂšre concurrente. Fedora a ajoutĂ© la gestion de _journald_ pour la journalisation, auparavant chaque application avait son propre systĂšme. **Le langage Go court vers la version 1.10.** Comme souvent, une lĂ©gĂšre amĂ©lioration des performances devrait ĂȘtre mesurĂ©e. Les rĂ©sultats de lâexĂ©cution des tests sont maintenant cachĂ©s. _Cgo_ gĂšre la notation C de lâinstruction _typedef_ et vĂ©rifie les valeurs de _CFLAGS_ avec et depuis une liste blanche. **LâĂ©lĂ©phant PHP avance prudemment Ă la version 7.2.** Cette version inclut la bibliothĂšque Sodium pour la cryptographie ce qui permet dâincorporer dans PHP des fonctionnalitĂ©s essentielles pour la sĂ©curitĂ© de base de ses applications. Cela se fait aux dĂ©pens de Mcrypt qui a Ă©tĂ© supprimĂ© du noyau du langage car plus maintenu depuis 2007. Les clefs numĂ©riques pour tableau ou objet peuvent ĂȘtre Ă©changĂ©es lors dâun _cast_. Une erreur est Ă©mise en cas dâappel de lâinstruction _count_ sur un objet non dĂ©nombrable. **Mise Ă jour de giflib vers la version 5.1.4.** Cette version majeure de la bibliothĂšque de rendu des images GIF a diminuĂ© grandement le nombre de plantages et le nombre de failles de sĂ©curitĂ© liĂ©s Ă des fichiers GIF mal formĂ©s. La bibliothĂšque est rĂ©entrante et concurrente. Il nây a plus de variable dâerreur globale, il faut utiliser les fonctions _GifError_ ou _GifLastError_ dorĂ©navant. De nombreuses fonctions ont Ă©tĂ© renommĂ©es ou prĂ©fixĂ©es. Un paquet _compat-giflib_ est proposĂ© pour faciliter la transition aux utilisateurs. **Les symboles de dĂ©bogage PE pour les applications compilĂ©es avec MinGW (Ă destination de Windows donc) seront conservĂ©s pour simplifier le dĂ©bogage natif.** Les autres symboles seront bien conservĂ©s dans le dossier indĂ©pendant `.debug`. Cela a un surcoĂ»t dâenviron 17 % dâespace disque pour une application compilĂ©e par ce biais mais permet de bĂ©nĂ©ficier de plus dâinformations pour lâutilisateur et le dĂ©veloppeur. # ModularitĂ© **Ajout des dĂ©pĂŽts modular, modular-updates et modular-updates-testing pour proposer des composants dans des versions diffĂ©rentes de celles des dĂ©pĂŽts natifs de Fedora.** Cela est proposĂ© par dĂ©faut pour lâĂ©dition _Server_, optionnel pour les autres. Il sâagit de la continuitĂ© des travaux de Fedora.NEXT, afin de proposer une nouvelle vision des distributions. Ainsi, lâutilisateur peut choisir dâutiliser une version plus rĂ©cente (ou ancienne) de Python que celle proposĂ©e nativement. Mais seuls des composants toujours maintenus par le projet officiel sont proposĂ©s. Pour le moment, les modules suivants sont disponibles : Docker, Django, NodeJS et le langage Go. [](https://blog.fedora-fr.org/public/renault/F28/Gnome-Logiciels-RPMFusion.png) # Projet Fedora **Lâarchitecture AArch64 (ARM 64 bits) devient une architecture primaire pour Fedora Server**, donnant lieu Ă une meilleure promotion sur les sites Web du projet Fedora et Ă une meilleure qualitĂ© des images officielles. Il pourra aussi avoir une image DVD, une image Qcow2 pour le _Cloud_ et une image Docker. **Lâarchitecture s390x est proposĂ©e aux images Cloud, Docker et Atomic.** Cela amĂ©liorera la disponibilitĂ© de Fedora pour cette architecture dâIBM. **Les binaires empaquetĂ©s par Fedora et compilĂ©s avec GCC sont maintenant annotĂ©s** grĂące Ă un greffon de GCC. Cela permet de plus facilement retrouver ou vĂ©rifier les options de compilation lâayant gĂ©nĂ©rĂ© ou les propriĂ©tĂ©s de son ABI. Par exemple, pour vĂ©rifier si le renforcement dâune application a bien Ă©tĂ© appliquĂ©. En contrepartie, les applications et bibliothĂšques prendront un petit peu plus dâespace disque, environ 2 % en moyenne. **Renforcement des options de compilation par dĂ©faut pour une meilleure sĂ©curitĂ© du systĂšme :** * `-fstack-clash-protection`, pour que lâapplication plante plutĂŽt que lâattaquant ne prenne le contrĂŽle de lâapplication via les objets de la pile ou du tas ; * `D_GLIBCXX_ASSERTIONS`, pour appliquer une vĂ©rification des bornes des tableaux, vecteurs et chaĂźnes de caractĂšres en C++ ; * `-fcf-protection=full -mcet`, qui active la technologie _Controlâflow Enforcement Technology_ dâIntel pour lâarchitecture x86_64, qui protĂšge notamment les applications des attaques _returnâoriented programming_ et _callâjumpâoriented programming_ ; * `.got.plt`, pour que la table globale des dĂ©calages des adresses soit en lecture seule ; * `--enable-default-pie`, pour activer la position indĂ©pendante du code pour toutes les architectures. **DĂ©finition et empaquetage des applications Ă©crites en Rust.** Fedora propose ainsi quelques applications Ă©crites dans ce langage : * _exa_, qui est lâĂ©quivalent dâun `ls` en plus Ă©laborĂ© (mais non POSIX) ; * _ripgrep_, qui est lâĂ©quivalent dâun `grep` en plus moderne, avec exĂ©cution nativement en parallĂšle (mais non POSIX) ; * _tokei_, qui gĂ©nĂšre des statistiques sur le code dâun projet logiciel comme _cloc_. **Activation de Python Generators** pour permettre aux empaqueteurs de choisir dâutiliser ou non le gĂ©nĂ©rateur automatique de dĂ©pendances Ă un module Python au lancement, ce qui a dĂ©jĂ Ă©tĂ© proposĂ© depuis un moment par des distributions comme Mageia par exemple. Ainsi, un empaqueteur nâa plus Ă spĂ©cifier dans le paquet RPM les dĂ©pendances Python nĂ©cessaires Ă lâexĂ©cution du paquet. Et lâutilisateur ne se retrouvera pas avec une erreur en cas dâoubli de ladite dĂ©pendance, puisquâelle est rĂ©solue en amont. **Les scriptlets ldconfig sont supprimĂ©s**, du moins pour les paquets installant les bibliothĂšques partagĂ©es dans des endroits standard. Cela simplifiera la maintenance des fichiers _specs_ RPM car il nâest plus nĂ©cessaire dây faire appel, et lâinstallation des paquets sera Ă©galement plus rapide. En effet, lâappel Ă _ldconfig_ sera effectuĂ© une fois par transaction (par exemple, la mise Ă jour de plusieurs paquets en mĂȘme temps) et non pour chaque paquet de cette transaction. # La communautĂ© francophone ## Lâassociation ##  [Borsalinux-fr](https://www.borsalinux-fr.org/) est âassociation qui gĂšre la promotion de Fedora dans lâespace francophone. Nous constatons depuis quelques annĂ©es une baisse progressive des membres Ă jour de cotisation et de volontaires pour prendre en main les activitĂ©s dĂ©volues Ă lâassociation. Nous lançons donc un appel Ă nous rejoindre afin de nous aider. Lâassociation est en effet propriĂ©taire du [site officiel de la communautĂ© francophone de Fedora](https://www.fedora-fr.org/), organise rĂ©guliĂšrement des Ă©vĂšnements promotionnels, comme les Rencontres Fedora, et participe Ă lâensemble des Ă©vĂšnements majeurs concernant le Libre, Ă travers la France principalement. Si vous aimez Fedora, et que vous souhaitez que notre action perdure, vous pouvez : * [adhĂ©rer Ă lâassociation](https://www.borsalinux-fr.org/pages/Adh%C3%A9rer) : les cotisations nous aident Ă produire des _goodies_, Ă nous dĂ©placer pour les Ă©vĂšnements, Ă payer le matĂ©riel ; * participer sur le forum, les listes de diffusion, Ă la rĂ©fection de la documentation, reprĂ©senter lâassociation sur diffĂ©rents Ă©vĂšnements francophones ; * concevoir des _goodies_ ; * organiser des Ă©vĂšnements du type Rencontres Fedora dans votre ville. Nous serions ravis de vous accueillir et de vous aider dans vos dĂ©marches. Toute contribution, mĂȘme minime, est apprĂ©ciĂ©e. Si vous souhaitez avoir un aperçu de notre activitĂ©, vous pouvez participer Ă nos rĂ©unions hebdomadaires chaque lundi soir Ă 20 h 30 (heure de Paris) sur IRC (canal _#fedora-meeting-1_ sur Freenode). ## La documentation ## Depuis juin 2017, un grand travail de nettoyage a Ă©tĂ© entrepris sur la documentation francophone de Fedora, pour rattraper les cinq annĂ©es de retard accumulĂ©es sur le sujet. Le moindre que lâon puisse dire, câest que le travail abattu est important : prĂšs de soixanteâdix articles corrigĂ©s et remis au goĂ»t du jour. Un grand merci Ă CharlesâAntoine Couret, Nicolas Berrehouc, Ădouard DuliĂšge, JosĂ© Fournier et les autres contributeurs et relecteurs pour leurs contributions. LâĂ©quipe se rĂ©unit tous les lundis soir aprĂšs 21 h (heure de Paris) sur IRC (canal _#fedora-doc-fr_ sur Freenode) pour faire progresser la documentation par un travail collaboratif. Le reste de la semaine cela se passe sur les listes de diffusion. Si vous avez des idĂ©es dâarticles ou de corrections Ă effectuer, que vous avez une compĂ©tence technique Ă transmettre, nâhĂ©sitez pas Ă participer.