URL: https://linuxfr.org/news/nouvelle-version-de-fedora-dite-33 Title: Nouvelle version de Fedora dite 33 Authors: Renault Davy Defaud, Pierre Jarillon, M5oul, patrick_g et bubar Date: 2020-10-22T01:00:46+02:00 License: CC By-SA Tags: fedora, redhat, rpm, distribution et distributions Score: 6 En ce mardi 27 octobre, les utilisateurs du Projet Fedora seront ravis d’apprendre la disponibilité de la version Fedora 33. Fedora est une distribution 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, Wayland, 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). Cela a été aussi abordé dans une série d’articles [ici](https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre), [là](https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre_partie_2) et [par ici](https://fedoraproject.org/wiki/Apports_de_Fedora_%C3%A0_l%27%C3%A9cosyst%C3%A8me_du_Logiciel_Libre_partie_3) encore. [![GNOME Nature](https://blog.fedora-fr.org/public/renault/F33/.GNOME-Bureau_m.png)](https://blog.fedora-fr.org/public/renault/F33/GNOME-Bureau.png) ---- [Site officiel du projet Fedora](https://getfedora.org/) [Site officiel de la communauté francophone de Fedora](https://www.fedora-fr.org/) [Images Torrent officielles](https://torrent.fedoraproject.org/) [Procédure de mise à niveau](https://doc.fedora-fr.org/wiki/Mise_%C3%A0_niveau_de_Fedora) ---- # Expérience utilisateur **Passage à GNOME 3.38.** Cette mise à jour apporte de nombreux changements : * les grilles d’applications _fréquemment utilisées_ et _toutes_ ont fusionné ; * l’application _Visite_ a été revisitée pour guider les utilisateurs lors de leur première utilisation de GNOME, pour présenter les fonctionnalités de base et être plus accessible aux débutants ; * un contrôle parental a été ajouté au panneau de configuration des utilisateurs, des applications peuvent ne pas être lancées ou installées par un utilisateur particulier ; * quelques améliorations ergonomiques avec l’option pour afficher le pourcentage de batterie (sans recourir aux paramètres avancés) ou la possibilité de redémarrer la machine directement depuis le menu principal ; * certaines applications ont été redessinées, comme l’outil de capture d’écran ou l’enregistrement vocal ; de nombreuses icônes d’application ont été aussi redessinées ; * amélioration des performances lors de l’enregistrement de l’écran ; * avec Wayland uniquement, les écrans peuvent avoir un taux de rafraîchissement différent, selon les spécifications de la machine ; * le navigateur Web de GNOME active par défaut une protection contre le pistage, permet de rendre un onglet muet et désactive la lecture automatique des vidéos ; * le gestionnaire d’index de fichiers _Tracker_ a été mis à jour vers la version 3 et la plupart des applications GNOME en tirent profit — il permet principalement à chaque application d’avoir son propre index, ce qui est aussi utile dans le cas des applications fonctionnant avec _Flatpak_. **Nettoyage de la fonction pour cacher le menu du chargeur de démarrage.** Cette fonction introduite avec Fedora 29 permet de mettre à jour le noyau de manière transparente pour l’utilisateur. Si après une mise à jour du noyau le démarrage échoue, le chargeur de démarrage le détectera et choisira le noyau précédent automatiquement par la suite. Cette fonction était spécifique à Fedora et l’objectif ici est de la rendre disponible en amont et sera également plus maintenable en tirant parti de l’API de systemd et de sa variable d’environnement `SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU`. **C’est le retour des fonds d’écran animés par défaut**, le fond d’écran a une teinte qui varie en fonction de l’heure de la journée. Fedora avait introduit cette nouveauté dans _Fedora 7_ avant de la rendre facultative par la suite. **L’environnement de bureau LXQt 0.15.0 a été mis à jour.** Cette version apporte entre autres : * un nouveau _widget_ pour la barre principale pour changer la luminosité de l’écran ; * la luminosité de l’écran peut également se réduire automatiquement si l’ordinateur est inactif trop longtemps ; * depuis la barre des tâches, il devient possible de changer le bureau virtuel d’une application ; * le navigateur de fichiers peut sauvegarder les mots de passe pour monter un système de fichiers, si le démon _gnome-keyring_ est actif. [![Nouveau menu pour facilement redémarrer ou voir l’état de la batterie](https://blog.fedora-fr.org/public/renault/F33/.GNOME-Bureau_m.png)](https://blog.fedora-fr.org/public/renault/F33/GNOME-Redemarrer.png) **L’éditeur de texte en console _nano_ devient l’éditeur de texte par défaut en lieu et place de _vi_** . En réalité, la variable `$EDITOR` n’a jamais été configurée par défaut dans Fedora et pour de nombreux outils tels que Git, _vi_ devenait le choix alternatif privilégié. Cependant _nano_ est considéré comme plus intuitif pour les utilisateurs en ne nécessitant pas de connaissances particulières pour s’en servir. Que les amateurs de l’éditeur du diable se rassurent, le paquet _vim-minimal_ qui installe _vi_ (mais pas Vim) est installé par défaut, il reste donc disponible sur une nouvelle installation. Seule la variable `$EDITOR` est ici affectée. **L’extension de mémoire avec le mécanisme d’échange (_swap_) utilise maintenant _zram_ par défaut**. En effet, quand la mémoire vive physique vient à manquer, le noyau peut utiliser la pagination pour transférer des programmes ou données en mémoire sur la mémoire de masse comme le disque dur ou un SSD. Cela est transparent pour l’utilisateur et les programmes mais cependant cette procédure est lente car ces périphériques ne sont pas aussi rapides d’accès que la mémoire vive. Il n’est pas rare en effet que l’usage de _swap_ puisse ralentir un ordinateur trop fortement, nécessitant de le redémarrer brutalement. Pour améliorer la réactivité et les performances, on peut à la place compresser en mémoire vive ces données. Cela libère de la place tout en étant plus rapide que d’utiliser la mémoire de masse en échange d’un léger surcoût en mémoire de 0,1 % à 0,04 %. C’est ce que propose _zram_. Ce changement concerne aussi les systèmes existants. Les partitions ou fichiers d’échange existants sont préservés et obtiennent une priorité d’utilisation plus faible, donc uniquement quand _zram_ aura atteint ses propres limites. Par défaut, _zram_ sera configuré pour avoir une taille équivalente à la moitié de la mémoire vive du système, borné à 4 Gio si l’ordinateur a plus de 8 Gio de mémoire vive. **Btrfs devient le système de fichiers par défaut des variantes orientées bureautiques dont Fedora Workstation.** Il remplace ainsi _ext4_, qu’il reste évidemment possible d’utiliser pour ceux le souhaitant. Notons qu'OpenSuse 13.4 avait sauté le pas en 2014 et que Facebook l’utilise en interne depuis un moment, un employé de l’entreprise ayant d’ailleurs participé à ce changement dans Fedora. Les bénéfices attendus sont : * la correction de [certains bogues liés à la séparation stricte entre les partitions `/` et `/home`](https://pagure.io/fedora-workstation/issue/152) ; * une compression native des données redondantes, réduisant l’espace de stockage occupé et l’usure des périphériques de stockage ; * la possibilité de réserver des entrées‑sorties minimum à certains processus via l’usage des _cgroups_, ce que Btrfs gère bien ; * une réduction de la complexité du stockage en ayant Btrfs qui gère l’ensemble depuis le noyau. Les systèmes existants ne sont pas concernés par ce changement pour éviter les problèmes liés à une telle migration qui serait compliquée d’automatiser de manière fiable. **DXVK devient l’implémentation de référence de Wine3D en étant basé sur [Vulkan](https://fr.wikipedia.org/wiki/Vulkan_(API)).** Cela améliorera les performances et la compatibilité des programmes graphiques prévus pour Windows et fonctionnant sous Fedora, en particulier les jeux vidéo. Le paquet _wine-dxvk_ était disponible depuis Fedora 31 pour activer ce changement manuellement. **Alors que _earlyoom_ était apparu sur Fedora Workstation 32, la variante Fedora KDE le propose désormais par défaut.** En somme, quand la mémoire vive descend en dessous de 4 % de mémoire disponible et que la mémoire d’échange descend en dessous des 10 %, un signal _SIGTERM_ sera envoyé au processus choisi pour être coupé proprement afin de libérer assez de mémoire pour que la machine continue de tourner dans ces conditions. Si cela descend respectivement à 2 % pour la mémoire vive et 5 % l’espace d’échange, un signal _SIGKILL_ sera envoyé ce qui mettra fin au processus immédiatement. L’objectif est de garder un système fluide et utilisable pour l’utilisateur, en évitant de devoir recourir à un redémarrage forcé. **Un _cgroups_ a été créé pour réserver des ressources minimum aux sessions graphiques actives.** Un utilisateur actif avec une session graphique a 250 Mio de réservé, plafonnés à 10 % de la mémoire vive disponible. Ce dispositif repose sur le démon _uresourced_ pour le moment, l’objectif sera de le l’intégrer dans les projets en amont plus tard. # Gestion du matériel **Activation des techniques _ARM Pointer Authentication_ et de _Branch Target Identification_ pour l’architecture AArch64 afin d’améliorer la sécurité des programmes par défaut.** La première technique permet de se protéger contre les attaques de type _Return Oriented Programming_, les pointeurs reçoivent une étiquette qui est ensuite vérifiée pour s’assurer qu’elle n’a pas été altérée. Le second consiste à identifier les sauts et branchements dans le code pour qu’ils ne puissent aller que dans une liste d’instructions autorisées, limitant le risque d’exécution de code arbitraire. Les paquets sont donc compilés avec GCC et son option `-mbranch-protection=standard`. **Meilleure gestion des pics d’activité et de la chauffe des processeurs Intel, entre autres via le démon _thermald_.** En effet, les processeurs modernes, notamment ceux d’Intel, disposent d’une grande variété de capteurs de température et de différents modes pour limiter la fréquence du processeur afin de réduire ou contenir la température. Ce démon va collecter les données du processeur pour choisir le mode de fonctionnement le plus optimal. **Le service `dmraid-activation.service` ne sera pas activé si aucun micrologiciel [RAID](https://fr.wikipedia.org/wiki/RAID_(informatique) "Redundant Array of Independent Disks") n’a été détecté lors de l’installation** (un système « _firmware RAID_ » est conditionné à la présence d'un RAID géré au niveau de la carte mère et du BIOS.) Cela permet d’éviter de dépendre du service _systemd-udev-settle.service_ qui attend particulièrement longtemps pour détecter les périphériques, même quand cela n’est pas nécessaire si aucun micrologiciel RAID n’est exploité. Le temps de démarrage pour ces utilisateurs est ainsi réduit. [![Nouvelle option pour voir l’état de la batterie plus facilement](https://blog.fedora-fr.org/public/renault/F33/.Pourcentage_batterie_m.png)](https://blog.fedora-fr.org/public/renault/F33/Pourcentage_batterie.png) **L’écosystème .NET Core est disponible pour AArch64 et non plus uniquement pour l’architecture x86‑64.** **L’édition _Internet des objets_ devient une édition officielle de Fedora.** Il obtient donc le même statut que l’édition _Workstation_ ou _Server_. Cette édition qui cible les architectures x86‑64, AArch64 et ARMv7 repose sur _rpm-ostree_, comme Fedora Silverblue, et les applications dans des conteneurs pour faciliter la maintenance et la mise à jour des composants internes. C’est également une édition minimaliste par défaut. # Internationalisation **Mise à jour d’[iBus](https://fr.wikipedia.org/wiki/Intelligent_Input_Bus) 1.5.23.** Cette mise à jour affiche surtout une autre liste de dispositions clavier provenant de XKB. Cela permet notamment aux outils comme _ibus-setup_ ou au centre de configuration de GNOME de proposer une liste plus complète de ces dispositions par défaut. **La plate‑forme de traduction Zanata tire complètement sa révérence de l’écosystème Fedora.** Cela met fin à la transition de la plate‑forme de traduction de Zanata vers Weblate qui a franchi une grande étape déjà dans Fedora 32. Ainsi, il n’y a plus qu’une seule plate‑forme de traduction active, ce qui simplifie la maintenance et la gestion des traductions. Weblate apporte aussi entre autres pour les contributeurs : * de simplifier l’accès aux nouveaux, en n’ayant pas besoin d’approuver les comptes avant qu’ils ne puissent contribuer ; * la possibilité d’ajouter des notifications ou des commentaires pour simplifier le travail ; * d’utiliser un outil utilisé par d’autres projets libres, permettant de mutualiser les développements autour de cet outil ; * d’automatiser certaines tâches comme la mise à jour automatique des fichiers de traduction. # Administration système **La synchronisation du temps par le réseau sécurisé (NTS) est prise en charge dans le client NTP _chrony_ et l’installateur Anaconda.** Cela permet d’éviter les attaques de type « [homme du milieu](https://fr.wikipedia.org/wiki/Attaque_de_l%27homme_du_milieu) » pour le changement d’heure, trop loin dans le futur ou dans le passé. Cette synchronisation utilise le protocole de sécurité TLS. **Les dépôts modulaires sont proposés dans un paquet à part : _fedora-repos-modular_.** Ce paquet reste installé par défaut. Cela permet aux utilisateurs de désactiver facilement les dépôts en supprimant le paquet plutôt qu’en changeant la configuration des dépôts, ce qui aurait empêché les mises à jour ultérieures de ces fichiers de configuration. **La résolution des noms de domaine dans les applications se fera via _systemd-resolved_.** La bibliothèque glibc utilisera _nss-resolve_ au lieu de _nss-dns_ jusqu’à aujourd’hui. Notons que la première partie du changement a été faite par Ubuntu 16.10 mais pas la seconde partie. Cela permet d’utiliser l’outil _resolvectl_ nativement, cela donne accès à un mini cache DNS ce qui améliore la performance de ces requêtes pour les applications qui n’en disposent pas elles‑mêmes. Les utilisateurs de plusieurs VPN (un personnel et un professionnel par exemple), n’auront plus les requêtes DNS qui peuvent aller échouer sur la mauvaise connexion. La fonctionnalité de sécurité DNS avec TLS est également accessible par ce biais, bien que non actif pour le moment, par défaut. **Renforcement de la politique de sécurité globale du système :** * désactivation des protocoles TLS 1.0 et TLS 1.1 ; * rejet des clefs Diffie‐Hellman 1 024 bits et de la fonction de hachage SHA‑1 en guise de signature. En cas de problèmes, pour revenir à une politique plus souple, vous pouvez exécuter la commande (en tant que super‑utilisateur) : ```shell update-crypto-policies --set LEGACY ``` **La prise en charge du format _dbm_ dans NSS a été supprimée.** Depuis Fedora 28, le format SQLite était utilisé par défaut. NSS propose de migrer les formats de stockage des clefs si c’est nécessaire. La bibliothèque est de fait plus légère. **Ajout de [PARSEC](https://fedoraproject.org/wiki/Changes/PARSEC "Platform AbstRaction for SECurity") pour proposer une API pour le matériel de sécurité ou des services de cryptographie en étant indépendant du matériel.** Il peut exploiter les matériels de sécurité suivants : TPM2, HSM et Arm TrustZone. L’édition _Internet des objets_ propose cette API par défaut. **_Storage Instantiation Daemon_ fait son arrivée en grande pompe.** L’objectif est d’avoir un démon unique pour étendre _udev_ pour la gestion des espaces de stockage pour éviter d’aboutir à des règles complexes que l’on pouvait avoir dans des systèmes complexes. Cela permet de collecter facilement tous les évènements relatifs à un périphérique de stockage comme son insertion ou son retrait du système. Il prend en charge des périphériques employés à travers plusieurs sous‑systèmes comme [LVM](https://fr.wikipedia.org/wiki/Gestion_par_volumes_logiques "logical volume management"), multipath ou MD avec les mêmes commandes. **La collection d’outils X.Org sera proposée via des paquets plus individuels que les paquets génériques _xorg-x11-{apps,font-utils,resutils,server-utils,utils,xkb-utils}_ employés jusqu’ici.** Certains utilitaires sont également supprimés. Ces collections d’utilitaires étaient assez historiques mais offrent peu de flexibilité et ne représentent plus la réalité. Par exemple, les utilitaires _luit_ ou _edid-decode_ ne sont même plus développés sous l’égide de X.Org. Le versionnage de ces paquets ne collait plus avec ceux des projets embarqués. Mettre à jour un paquet pour un composant nécessitait de régénérer cette mise à jour pour l’ensemble. Les paquets étaient aussi plus gros que nécessaire pour beaucoup d’utilisateurs. Tout ceci est donc simplifié et plus cohérent avec le nouveau découpage. [![Version de l’environnement LXQt](https://blog.fedora-fr.org/public/renault/F33/.LxQT-Bureau_m.png)](https://blog.fedora-fr.org/public/renault/F33/LxQT-Bureau.png) **Mise à jour de Stratis 2.1.** Cette version apporte le chiffrement des données avec notamment une interface DBus pour leur gestion. Les clefs de chiffrement sont ensuite gérées dans le noyau. L’utilitaire en ligne de commande peut aussi initialiser le cache avec la commande _init_cache_. Les sous‑commandes _report_ et _key_ sont ajoutées pour gérer ou voir respectivement les rapports générés par Stratis et les clefs de chiffrement. **Le paquet _device-mapper-multipath_ a été supprimé des médias autonomes** (et de fait des installations par défaut) ce qui améliore le temps d’amorçage pour les usages bureautiques. En effet, ce service dépendait aussi du service `systemd-udev-settle.service` dont on a expliqué la problématique plus haut. Les serveurs et centres de données qui en ont besoin pour leur usage pourront toujours l’installer ou en disposer via une image plus adaptée comme celle de l’édition _Server_. **Les profils de connexion de NetworkManager seront sauvegardés dans le format officiel _keyfile_ au lieu d’utiliser le format spécifique à Red Hat qui est `ifcfg-rh`.** En réalité, NetworkManager utilisait déjà, même dans Fedora, les nouveaux profils mais uniquement pour les profils non supportés par l’ancien format. L’objectif est d’essayer de recourir au nouveau format systématiquement pour à terme uniformiser leur gestion. Les nouvelles configurations sont sauvegardées dans les fichiers `/{etc,usr/lib,run}/NetworkManager/system-connections`. Les anciens profils ne sont pas migrés automatiquement, la compatibilité est pour l’instant conservée pour ces profils préexistants. **Le gestionnaire de paquets RPM 4.16 a été mis à jour.** L’analyseur des fichiers SPECS et des macros a été amélioré. Les macros disposent de nouvelles fonctionnalités comme l’opérateur ternaire ou une comparaison des versions en natif. Les métadépendances sont également ajoutées. **Les bases de données RPM passent du format Berkeley DB à SQLite.** Ceci arrive grâce à la nouvelle version de RPM. L’ancien format n’était plus maintenu depuis des années car la nouvelle version de l’utilitaire Berkeley DB 6.x a adopté une licence incompatible. De plus, ce format n’était pas transactionnel, donc incapable de détecter et de corriger lui‑même les erreurs suite à un crash ou à une corruption de données par exemple. SQLite offre donc une solution plus robuste. # Développement **LLVM passe à la onzième version.** Son compilateur Clang compile par défaut en C17 et non plus C11. Il propose aussi l’option `-fstack-clash-protection` pour protéger contre ces attaques pour les architectures x86/x86‑64, s390x, et POWER 64 bits. Les instructions _asm inline_ sont également prises en charge, de même que le gestion préliminaire du C++20. De nouvelles instructions ARMv8 sont gérées, de même que celles d’Intel AMX. WebAssembly est également mieux géré. **Make prépare sa version 4.3.** Cette version a plusieurs changements qui cassent la compatibilité avec les versions antérieures. Le symbole « `#` » n’introduit plus un commentaire lors de l’appel d’une fonction ou d’une macro, il ne doit donc plus être échappé. L’instruction `+=` sur une chaîne vide n’introduit plus un espace initial. L’ordre d’exécution des fichiers _Makefile_ est aussi déterministe. Les listes obtenues via des jokers `$(wildcard…)` sont dorénavant triées. Les performances sont également globalement améliorées. **Mise à jour de la bibliothèque C glibc 2.32.** Elle prend en charge Unicode 13.0.0. De nombreuses fonctions sont annotées avec _access_ pour générer des alertes en cas de risque d’un accès en dehors de la mémoire lors de ces appels. De nombreuses suppressions de symboles, corrections de bogues et de failles de sécurité complètent cette version. **Mise à jour des outils Binutils 2.34.** Le désassembleur `objdump --disassemble` génère en art ASCII l’arc entre le début et la fin d’un point dans le flot d’exécution. Il prend en charge aussi _debuginfod_ qui est un service HTTP pour télécharger les informations de débogage ELF/DWARF, tout comme le code source associé. En plus d’autres corrections plus mineures. **Petit coup de Boost 1.73 pour la bibliothèque générique C++.** La compatibilité avec C++20 se renforce, tandis que pour certains modules le C++03 est déprécié pour une suppression ultérieure. De nombreux algorithmes d’interpolation ont été ajoutés. Le module pour les histogrammes se dote de nouvelles opérations pour réduire le champ de certains calculs. Enfin, la compilation est plus rapide en retirant l’inclusion de l’en‑tête standard _algorithm_ qui est particulièrement lourd. **Mise à jour de l’environnement MinGW pour la compilation d’applications Windows sous GNU/Linux.** Ainsi, il est possible d’utiliser GCC 10, binutils 2.34 et GDB 9.1 en tirant parti de leurs améliorations respectives. **Passage de Golang à la version 1.15.** La taille des binaires compilés est réduite d’environ 5 % en optimisant l’usage des métadonnées du ramasse‑miettes. L’éditeur de liens est significativement amélioré avec ses opérations 20 % plus rapides en consommant jusqu’à 30 % de mémoire en moins. D’autres optimisations du genre sont attendues par la suite. Les données des fuseaux horaires _tzdata_ peuvent être incluses dans un programme. La variable `GOPROXY` peut lister différents serveurs mandataires et utiliser les suivants dans l’ordre en cas d’indisponibilité des premiers. **OpenJDK 11 danse la Java.** Cela fait deux ans que Fedora attendait de faire ce changement, mais les grandes incompatibilités qu’elles génèrent ont retardé cette mise à jour. Ce qui est maintenant privé dans les API le sont réellement. Autrement, il apporte notamment un client protocole HTTP, de l’Unicode 10 ou la gestion du protocole de sécurité TLS 1.3. **Node.js fait un quatorzième nœud.** Il met à jour le moteur JavaScript V8 8.3, qui améliore les performances. Il apporte une nouvelle API pour [DOM](https://fr.wikipedia.org/wiki/Document_Object_Model "Document Object Model") afin d’écouter des évènements ou une autre pour compter le nombre de fois qu’une fonction est appelée. Et, bien entendu, des corrections de bogues et de failles de sécurité. **Erlang 23 est disponible.** Cette version améliore les performances, en particulier concernant les opérations SSL/TLS, et la montée en charge. La gestion de SSL 3.0 est abandonnée car plus suffisamment sécurisée. Une nouvelle API pour les _sockets_ pour gérer TCP et UDP fait son apparition. Fedora en profite pour mieux exploiter l’intégration les journaux applicatifs dans _syslog_ ou _journald_. Les règles [[SELinux]] particulièrement anciennes ont été rafraîchies. **Mise à jour de GHC 8.8 et de Haskell Stackage LTS 16.** Les chaînes de caractères prennent en charge l’Unicode 12. Une nouvelle optimisation optionnelle pour l’architecture x86 a été introduite via l’option `-fblock-layout-cfg`, pour deviner et précharger la prochaine instruction lors d’un saut afin d’améliorer l’usage du cache. Et, bien sûr, d’autres corrections sont de la partie. **Le langage Perl est proposé à la version 5.32.** La gestion d’Unicode 13.0 est proposée cette fois. Il est possible avec l’opérateur _isa_ de vérifier si un objet est d’une classe particulière ou une classe fille de celle‑ci. Quelques optimisations sont également là pour vérifier les fonctionnalités disponibles plus rapidement. **Ruby on Rails embarque dans la voiture 6.0.** Cette boîte à outils Web peut paralléliser les tests. Il apporte également _Action Mailbox_ pour rediriger des courriels entrants vers des contrôleurs afin de les traiter. Tandis que _Action Text_ arrive pour pouvoir éditer du texte riche, qui permet de facilement inclure du formatage de base. **La version 3.9 de Python débarque.** Elle introduit quelques simplifications, avec `removeprefix` et `removesuffix` pour remplacer avantageusement `startswith` pour supprimer un début ou une fin de chaîne de caractères. Il est possible de fusionner deux dictionnaires avec l’opérateur `|`. Un nouveau module _zoneinfo_ est proposé pour gérer les différents fuseaux horaires. **Alors que les versions 2.6 et 3.4 de Python sont supprimées.** Ces versions étaient disponibles pour ceux qui voulaient faire des développements pour RHEL 6 qui prenait en charge ces versions. Or, ils n’ont respectivement plus aucun support depuis octobre 2013 et mars 2019. Le support était tout de même fourni par Red Hat jusqu’ici, mais avec la fin de RHEL 6, la maintenance et le besoin autour de ces versions ont disparu. Cela simplifiera grandement la maintenance de l’écosystème Python. **À propos de Python, le paquet _python-pytoml_ est déprécié et sera supprimé prochainement.** Les développeurs et utilisateurs sont encouragés à recourir au paquet _python-toml_ à la place. **_mod_php_ est supprimé, il permettait au serveur Apache d’exécuter du PHP directement.** Cette méthode n’est plus la plus employée depuis longtemps et est même un risque de sécurité, car il partage sa mémoire avec le processus du serveur HTTP. Il faut utiliser _php-fpm_ à la place qui a une bonne compatibilité avec _HTTPd_ et _Nginx_. **La bibliothèque _libdb_ est dépréciée et sera supprimée définitivement dans une prochaine version de Fedora.** Comme expliqué plus haut dans le cas RPM, la licence de la version 6 de ce projet est plus restrictive, passant de LGPL v2 à AGPL v3. De nombreux projets qui en dépendent ne peuvent pas en bénéficier, donc l’idée est de progressivement le supprimer, dans la mesure du possible pour Fedora 35, avec un outil pour faire les migrations nécessaires. **Les paquets _glibc-headers.i686_ et _glibc-headers.x86_64_ ont fusionné dans le nouveau paquet _glibc-headers-x86.noarch_.** Pour les autres architectures le paquet _glibc-headers_ a fusionné dans _glibc-devel_. Ce changement permet d’améliorer la fiabilité de la mise à niveau du système car il pouvait être installé par erreur assez facilement sans que cela soit utile. **Les paquets de [BLAS](https://fr.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms "Basic Linear Algebra Subprograms")/[LAPACK](https://fr.wikipedia.org/wiki/LAPACK "Linear Algebra Package") seront compilés avec FlexiBLAS qui est un _wrapper_ pour pouvoir choisir la bibliothèque compatible BLAS de référence de son choix.** # Projet Fedora **CMake peut être utilisé pour faire des compilations dans un répertoire distinct du code source pour la conception des RPM.** Cela suit par ailleurs les recommandations du projet CMake et donc probablement ceux de nombreux projets qui s’en servent. Les macros `%cmake_build`, `%cmake_install` et `%cmaketest` ont été ajoutées, par ailleurs, pour mieux correspondre aux opérations similaires utilisées par d’autres outils et, de plus, facilement avoir des outils agnostiques à ce sujet. **Mise à disposition d’ELN, qui est un nouveau _buildroot_ qui permettra de simuler un environnement RHEL afin d’évaluer les impacts des changements de Fedora dans RHEL directement.** Ainsi, les compilations dans ce système se baseront sur une Fedora _Rawhide_ qui simulera, aujourd’hui, une RHEL 9. L’objectif est de rapprocher le travail effectué entre Fedora et Red Hat. Ainsi, les développeurs de Red Hat sont incités à utiliser _Rawhide_ comme plate‑forme d’expérimentation avant de porter le résultat dans RHEL. **Les paquets générés avec _rpmbuild_ sont maintenant compilés avec l’optimisation au niveau de l’éditeur des liens qui supprime le code inutile.** Concrètement, le drapeau `-flto` a été ajouté dans _redhat-rpm-config_. Les paquets résultants sont plus petits et plus rapides à charger. Comme cela nécessite aussi des analyses plus poussées par le compilateur, certaines erreurs et bogues potentiels sont détectés plus tôt. **Phase 3 pour supprimer les éléments « automagiques » pour la construction des paquets RPM autour de Python.** La macro `%global _python_bytecompile_extra 1` n’est plus autorisée. **Les dépendances additionnelles des paquets Python seront automatiquement générées.** Des programmes Python peuvent en effet déclarer certaines dépendances optionnelles pour des fonctionnalités supplémentaires. Et si le code y a recours, le programme ne crashera pas mais invitera l’utilisateur à installer la dépendance pour en profiter. Pour simplifier le travail des mainteneurs de paquets, ces dépendances sont générées automatiquement, ce qui évitera d’avoir des paquets redondants ou qui manquent. Le projet Fedora aura un comportement plus proche de l’écosystème Python Extra et sa gestion est maintenant plus standardisée. **La macro non versionnée `%{__python}` génèrera une erreur.** Cela permet de mettre un terme à la référence vers `/usr/bin/python` qui a posé beaucoup de problèmes pour la transition de Python 2 à 3. Maintenant, le mauvais comportement ne sera plus autorisé par défaut et ne sera pas le plus simple. **Ajout des macros `%make_build` et `%make_install` pour la conception des RPM afin d’avoir un usage plus uniforme de la commande `make` pour créer ces paquets.** # La communauté francophone ## L’association ## ![Logo de Borsalinux-fr](https://blog.fedora-fr.org/public/renault/Illustrations/Logo.png) [Borsalinux-fr](https://www.borsalinux-fr.org/) est l’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 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 moins que l’on puisse dire, c’est que le travail abattu est important : près de quatre‑vingt‑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 le forum. Si vous avez des idées d’articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n’hésitez pas à participer. # Comment se procurer Fedora 33 ? ![Logo de MediaWriter](https://blog.fedora-fr.org/public/renault/Illustrations/.Mediawriter_s.png) Si vous avez déjà Fedora 32 ou 31 sur votre machine, vous pouvez faire une [mise à niveau vers Fedora 33](https://doc.fedora-fr.org/wiki/Mise_%C3%A0_niveau_de_Fedora). Cela consiste en une grosse mise à jour, vos applications et données sont préservées. Autrement, pas de panique, vous pouvez [télécharger Fedora](https://doc.fedora-fr.org/wiki/T%C3%A9l%C3%A9charger_Fedora) avant de [procéder à son installation](https://doc.fedora-fr.org/wiki/Guide_d%27installation_de_Fedora_en_images). La procédure ne prend que quelques minutes. Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable. De plus, pour éviter les mauvaises surprises, nous vous recommandons aussi de lire au préalable [les bogues importants connus à ce jour pour Fedora 33](https://fedoraproject.org/wiki/Common_F33_bugs).