❌

Vue normale

Reçu avant avant-hier

Sortie de Fedora Linux 42, la réponse à la grande question sur le Libre, Linux et tout le reste ?

Par :Renault · Xavier Teyssier · palm123 · Arkem
16 avril 2025 Ă  09:07

En ce mardi 15 avril, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora Linux 42.

Fedora Linux 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 Linux peut ĂȘtre vue comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte Ă  inclure des nouveautĂ©s.

GNOME Shell nature

Sommaire

Expérience utilisateur

L'environnement de bureau GNOME est proposé dans sa version 48. Cette version apporte comme toujours son petit lot de nouveautés.
Tout d'abord les notifications sont regroupées par application par défaut ce qui permet d'éviter de rapidement saturer la liste dans le menu idoine. Il reste possible de les déplier manuellement si on souhaite voir le détail pour une application en particulier.

Au sein de l'interface, une nouvelle police fait son apparition par défaut. Dénommée Adwaita, elle remplace l'illustre Cantarel qui remplissait ce rÎle jusqu'alors. Elle est basée sur la police Inter qui permet une prise en charge plus complÚte des langues, une meilleure lisibilité sur les écrans à haute densité de pixels tout en étant accessible et lisible dont pour le terminal. En parlant d'affichage, la prise en charge de la technologie HDR a été introduite pour permette une meilleure qualité d'affichage avec les appareils compatibles.

De maniĂšre globale, il est possible de changer les raccourcis clavier de l'interface et le placement des nouvelles fenĂȘtres par dĂ©faut est centrĂ©.

Comme de nombreux systĂšmes, GNOME propose des paramĂštres liĂ©s au bien-ĂȘtre. Il permet de rapporter le temps d'Ă©cran jour par jour au cours d'une semaine. Par ailleurs on peut lui demander de nous notifier rĂ©guliĂšrement de faire une pause visuelle en regardant ailleurs ou en faisant quelques mouvements pendant quelques secondes. Il est Ă©galement possible de dĂ©finir une limite d'Ă©cran qui transforme l'interface en noir et blanc quand le temps limite est atteint. Au sein des options, pour ceux avec un matĂ©riel compatible, il est possible de configurer un pourcentage de charge maximale pour la batterie afin de la prĂ©server dans le temps.

Au niveau applicatif, un nouveau lecteur audio trĂšs minimaliste fait son apparition : Decibels. DestinĂ© Ă  remplacer le lecteur vidĂ©o Totem pour jouer un morceau individuel depuis le navigateur de fichiers. CĂŽtĂ© visionneur d'images, ce dernier bĂ©nĂ©ficie d'amĂ©liorations pour proposer une Ă©dition lĂ©gĂšre des images affichĂ©es. La rotation, le changement de ratio ou le dĂ©coupage de l'image ce qui permet de faire ces opĂ©rations simples et courantes sans utiliser un logiciel d'Ă©dition complet qui est beaucoup plus lourd. Ensuite il propose un bouton pour revenir au niveau de zoom d'origine Ă  la demande. Enfin, les images au format RAW peuvent ĂȘtre affichĂ©es. Concernant le calendrier, il est possible de renseigner le fuseau horaire pour le dĂ©but ou la fin d'une activitĂ© afin de simplifier l'organisation notamment de rĂ©unions internationales. Les performances de l'application sont Ă©galement amĂ©liorĂ©es.

Sous le capot, un effort a Ă©tĂ© fait pour amĂ©liorer les performances de l'interface et du systĂšme. Par exemple le moteur JavaScript de GNOME consomme moins de mĂ©moire et de processeur. En utilisant ffmpeg au lieu de gstreamer, l'indexation des gros fichiers et des mĂ©tadonnĂ©es multimĂ©dia est aussi plus rapide et moins gourmand en mĂ©moire. Les utilisateurs connectant leur Ă©cran Ă  une carte graphique dĂ©diĂ©e verront aussi leurs performances et la stabilitĂ© s'amĂ©liorer tandis que redimensionner ou crĂ©er de nouvelles fenĂȘtres sera plus rapide.

L'environnement de bureau Xfce bĂ©nĂ©ficie de la version 4.20. Si cette version introduit un support expĂ©rimental du protocole d'affichage Wayland, il n'est pas encore fonctionnel et des amĂ©liorations futures devront encore ĂȘtre fournies Ă  ce sujet. Mais concernant l'affichage, la prise en charge des Ă©crans Ă  haute rĂ©solution a Ă©tĂ© amĂ©liorĂ©e ce qui devrait rĂ©duire les flous dans l'interface ou de certaines icĂŽnes pour de tels Ă©crans.

Dans le navigateur de fichiers Thunar, les points de montage adoptent une icĂŽne spĂ©cifique alors que les montages distants IPv6 sont dĂ©sormais possibles. La barre d'outils s'enrichie avec un menu hamburger quand la barre de menu est masquĂ©e. Il permet aussi d'ouvrir facilement un nouvel onglet ou de changer la vue d'affichage du dossier en cours. Pour gagner de la place en hauteur, la dĂ©coration cĂŽtĂ© client est prise en charge ce qui permet de mettre le menu au mĂȘme niveau que les touches d'actions pour rĂ©duire ou fermer la fenĂȘtre. Des amĂ©liorations de performances sont Ă©galement fournies notamment pour le transfert des fichiers ou pour afficher des dossiers avec de nombreux fichiers.

De maniÚre globale il est possible de définir un mode d'énergie ou de performance du systÚme dans les propriétés d'alimentation pour choisir l'équilibre souhaité entre la consommation d'énergie et les performances du systÚmes. Il y a également l'apparition des profils d'affichage particuliÚrement utiles quand il y a plusieurs systÚmes de multi-écrans à gérer pour passer d'un mode à l'autre en fonction de ses déplacements.

De nombreuses pages de paramĂštres ont Ă©tĂ© remaniĂ©es pour ĂȘtre plus simples et plus claires.

L'environnement de bureau LXQt passe Ă  la version 2.1. C'est la premiĂšre version Ă  fournir une compatibilitĂ© complĂšte avec le protocole d'affichage Wayland qui devrait ĂȘtre activĂ© par dĂ©faut dans Fedora. En dehors de cela cette version ne fournie que des changements et correctifs assez mineurs.

Choix de langues avec le nouvel Anaconda

Le logiciel d'installation Anaconda en profite pour Ă©galement ĂȘtre une interface web par dĂ©faut pour Fedora Workstation. L'objectif est d'utiliser les technologies React et Cockpit pour dĂ©finir cette nouvelle interface qui a Ă©tĂ© entiĂšrement redessinĂ©e. Elle abandonne sa vieille approche de choisir les Ă©lĂ©ments Ă  configurer dans l'ordre de son choix par l'usage d'un assistant de configuration linĂ©aire. Donc aprĂšs la configuration de la langue qui est basĂ©e par dĂ©faut sur celle de l'image en cours d'exĂ©cution, le choix de la date est ensuite suivie de l'Ă©tape de partitionnement qui a Ă©galement Ă©tĂ© entiĂšrement refaite avant de procĂ©der Ă  l'installation proprement dite. L'approche linĂ©aire a Ă©tĂ© jugĂ©e plus simple d'utilisation et Ă  maintenir mĂȘme si cela ne permet pas de sauter des Ă©tapes si nĂ©cessaire, mais Ă©tant donnĂ© leur nombre rĂ©duit cela n'est pas considĂ©rĂ© comme une grande perte.

L'aide a Ă©tĂ© remaniĂ©e dans l'application pour ĂȘtre affichĂ©e de cĂŽtĂ© et qui peut ĂȘtre plus facilement maintenue et traduite Ă  cĂŽtĂ© du code de l'application.

Concernant le partitionnement, auparavant trois méthodes étaient disponibles :

  • EntiĂšrement automatique ;
  • PersonnalisĂ© : approche dite top-down en dĂ©finissant les points de montages avant de dĂ©finir les dĂ©tails concernant les partitions et les volumes ;
  • BasĂ© sur l'outil blivet : approche dite bottom-up oĂč on dĂ©finit les partitions et volumes avant d'y associer les points de montage.

Cela Ă©tait complexe pour l'utilisateur et difficile Ă  maintenir mĂȘme si ça avait l'avantage d'ĂȘtre trĂšs flexible. L'objectif est maintenant d'offrir une approche plus guidĂ©e avec plusieurs choix plus clairs :

  • RĂ©installer entiĂšrement sur les disques ;
  • Installer uniquement dans l'espace libre disponible sur les disques ;
  • RĂ©installer sur un Fedora Linux existant ;
  • Utiliser un partitionnement dĂ©jĂ  existant ce qui permet Ă  priori de configurer cela avec un autre outil au prĂ©alable ;
  • Supprimer manuellement des partitions pour utiliser l'espace rĂ©siduel.

Le tout repose sur l'utilisation de la technologie Cockpit Storage ce qui simplifie la maintenance et permet d'avoir une apparence similaire avec le reste d'Anaconda. Dans le futur une installation distante par HTTPS devrait ĂȘtre possible grĂące Ă  cela.

Pour les autres éditions, Anaconda devient une application Wayland native. Ce changement est utile pour supprimer les dépendances liées à X11 pour les environnements de bureaux qui peuvent s'en passer ce qui réduit la taille de l'image. Par ailleurs cela permet aussi de migrer pour les installations à distance du protocole réseau VNC à RDP qui est plus performant et sécurisé. Cela a été rendu possible par l'usage progressif de systemd-localed par les différents environnements ce qui permettait une meilleure prise en charge de la configuration du clavier dans ce contexte, faute de définition suffisament commune dans le protocole Wayland encore. Autrement le changement de clavier depuis Anaconda ne se reflétait pas sur le bureau et cela pouvait mener à des soucis comme la difficulté de déverrouillage de la machine aprÚs installation car la disposition clavier n'est plus celle utilisée lors de l'installation


L'Ă©dition KDE Plasma devient une Ă©dition Ă  part entiĂšre, Ă©tant mise au mĂȘme niveau que Fedora Workstation avec l'environnement GNOME. Cela rĂ©compense les efforts de longue haleine pour amĂ©liorer la qualitĂ© de l'intĂ©gration de KDE dans Fedora Linux. KDE Ă©tait cependant dĂ©jĂ  un environnement considĂ©rĂ© comme assez important pour que son bon fonctionnement conditionne le report ou non d'une sortie de Fedora Linux, donc ce changement de statut n'aura pas d'impact de ce cĂŽtĂ© lĂ . Elle sera maintenant proposĂ©e sur le site principal et mieux mise en avant.

L'Ă©cran de chargement lors du dĂ©marrage plymouth utilise simpledrm par dĂ©faut pour rĂ©duire l'attente qu'une carte graphique soit disponible. Les cartes graphiques sont des composants complexes qui peuvent nĂ©cessiter du temps pour s'initialiser. Auparavant, plymouth pouvait attendre jusqu'Ă  8 secondes avant de basculer dans un affichage par dĂ©faut assez disgracieux. Cependant grĂące Ă  l'UEFI qui fourni un framebuffer, il est possible d'avoir un affichage plus sympa et plus tĂŽt par l'usage de simpledrm qui peut ĂȘtre exploitĂ© Ă  cette fin. Cela n'a pas Ă©tĂ© fait plus tĂŽt car notamment simpledrm ne fournissait pas d'information concernant la rotation de l'Ă©cran et la taille physique de l'affichage.

Cependant, dans certains cas l'affichage pourrait ĂȘtre plus moche par l'usage d'une rĂ©solution plus faible que ce qui est possible car l'heuristique pour dĂ©finir si l'affichage est Ă  haute dĂ©finition de pixels peut se tromper. Il reste toujours possible de dĂ©sactiver ce changement via la commande sudo grubby --update-kernel=ALL --args="plymouth.use-simpledrm=0"

Si vous souhaitez changer le facteur d'agrandissement, si vous avez un écran à haute définition de pixels par exemple, vous pouvez utiliser la commande sudo grubby --update-kernel=ALL --args="plymouth.force-scale=1" et changer éventuellement la valeur 1 par 2 selon votre cas.

L'environnement de bureau COSMIC bĂ©nĂ©ficie de sa propre Ă©dition Spin. Cet environnement est dĂ©veloppĂ© en Rust par l'entreprise System76 qui Ă©dite Pop! OS. Les progrĂšs rĂ©cents justifient selon le projet d'avoir sa propre variante, d'autant que Fedora Linux semblait ĂȘtre dĂ©jĂ  une distribution recommandĂ©e pour tester cet environnement. Cependant COSMIC n'a pas le statut pour bloquer une sortie de Fedora Linux s'il s'avĂšre trop instable.

Activation de la mise Ă  jour automatique par dĂ©faut pour la version atomique de KDE Plasma nommĂ©e Kinoite. Ces mises Ă  jour concernent la partie de base du systĂšme reposant sur rpm-ostree. Ces mises Ă  jour fonctionnent en arriĂšre plan Ă  intervalle rĂ©gulier pour ĂȘtre instantanĂ©ment appliquĂ©es lors du prochain redĂ©marrage.

Il est possible de désactiver la fonctionnalité en remplaçant la valeur du paramÚtre UseUnattendedUpdates à false dans le fichier /etc/xdg/PlasmaDiscoverUpdates.

KDE est mis Ă  l'honneur

Gestion du matériel

AmĂ©lioration de la prise en charge des webcams basĂ©es sur le protocole MIPI au lieu de USB dans les ordinateurs portables x86. Le travail entamĂ© avec Fedora Linux 41 doit se poursuivre car ce protocole moins gĂ©nĂ©rique nĂ©cessite beaucoup d'adaptations spĂ©cifiques par modĂšle d'ordinateur portable sur le marchĂ©. Quelques nouveaux modĂšles doivent ĂȘtre pris en charge mĂȘme si la route reste encore longue mais la voie est libre !

L'Intel Compute Runtime, qui prend en charge notamment le fonctionnement de l'API OpenCL pour les processeurs Intel, a été mise à jour vers la version 24.39 qui signifie également une non prise en charge des processeurs d'avant 2020 (à partir de la 12e génération). Ce changement n'a pas d'impact sur l'Intel Media Driver qui permet l'accélération matérielle pour la lecture ou l'encodage de vidéo.

Fedora restait sur l'ancienne version pour maintenir la compatibilité avec les vieux processeurs, jusqu'à l'architecture Broadwell sortie en 2015. Cependant avec l'évolution du noyau et de la couche graphique cela devenait un problÚme à maintenir et de l'autre cÎté Fedora n'était pas en mesure de fournir la compatibilité pour du matériel plus récent et les derniers correctifs qui améliorent notamment les performances.

Introduction de la pile Intel SGX pour permettre son utilisation dans le futur pour amĂ©liorer l'isolation et la protection mĂ©moire en particulier pour les machines virtuelles. Cette protection se fait notamment en chiffrant la mĂ©moire ce qui la rend inaccessible aux autres applications, au noyau et aux diffĂ©rents firmwares de la machine. Les bibliothĂšques et en-tĂȘtes nĂ©cessaires pour ces opĂ©rations sont fournies dans le rĂ©pertoire /usr/x86_64-intel-sgx. Aucune application n'est fournie avec de telles possibilitĂ©s aujourd'hui, uniquement le nĂ©cessaire pour crĂ©er des applications pouvant en tirer profit.

IntĂ©gration du projet FEX dans les dĂ©pĂŽts pour permettre l'exĂ©cution des programmes x86 / x86_64 depuis les architectures AArch64. Contrairement Ă  QEMU, il n'Ă©mule pas un systĂšme complet ce qui est plus performant pour Ă©muler simplement une application non compatible avec cette architecture. Cela peut ĂȘtre nĂ©cessaire car de nombreuses applications non fournies par Fedora sont compilĂ©es nativement pour l'architecture x86_64 mais pas pour AArch64 alors que l'inverse est moins vrai.

Pour permettre son fonctionnement sur les Mac avec des processeurs Apple, qui ont une taille de page de 16k au lieu de 4k pour les autres machines, le composant muvm est également fourni avec pour permettre une telle compatibilité.

FEX est par ailleurs fourni par défaut dans la variante KDE Aarch64 du systÚme.

L'installateur Anaconda utilise la norme GPT par défaut pour la table de partitionnement pour les architectures PPC64LE et s390x, l'architecture x86_64 et Aarch64 ayant déjà sauté le pas avec Fedora Linux 37. L'objectif est de réduire les différences entre les architectures sur ce point ce qui simplifie les tests et la maintenance de l'ensemble.

Les versions atomiques n'auront plus d'images compatibles avec l'architecture PPC64LE. D'aprĂšs les statistiques, aucun utilisateur n'a utilisĂ© de tels systĂšmes sur cette architecture. Cette suppression permet d'allouer plus de ressources matĂ©rielles et humaines pour gĂ©nĂ©rer et tester les images destinĂ©es pour les autres architectures oĂč les utilisateurs sont plus nombreux de fait. Cela ne concerne pas les images de Fedora basĂ©es sur les paquets RPM qui restent disponibles pour cette architecture.

Le paquet du logiciel Zezere qui sert à automatiser l'installation et la configurations de systÚmes IoT a été retiré des dépÎts. L'objectif est de remplacer ce composant par systemd-firstboot car Zezere ne fonctionnait pas bien notamment sur les réseaux IPv6, ne fournissait que la possibilité d'envoyer une clé SSH personnalisée et de nombreuses fonctions promises n'ont jamais vu le jour.

Internationalisation

Mise à jour de l'entrée de saisie IBus 1.5.32. Cette version apporte principalement la prise en charge du protocole des entrées Wayland version 2 ce qui permet son utilisation dans les bureaux Sway, COSMIC et Hyprland. Il permet également d'afficher la pop-up de suggestions dans les applications XIM ou GTK2 lorsqu'elles sont utilisées dans une session Wayland.

Son aide à la saisie pour le chinois ibus-libpinyin est aussi mise à jour à la version 1.16. Il permet en outre de fournir des suggestions de ponctuations, de personnaliser la disposition du clavier ou d'afficher les convertisseurs Lua depuis un menu des méthodes d'entrées.

Proposition d'une nouvelle aide Ă  la saisie vocale avec Ibus Speech to Text via le paquet ibus-speech-to-text qui permet de faire de la reconnaissance vocale en local. Toutes les applications compatibles avec IBus peuvent donc avoir une telle saisie vocale qui exploite le logiciel VOSK pour la reconnaissance vocale. Aucune connexion Ă  Internet n'est requise et il gĂšre plusieurs langues qui peuvent ĂȘtre facilement tĂ©lĂ©chargĂ©es si besoin. Cela permet d'amĂ©liorer l'accessibilitĂ© du systĂšme tout en prĂ©servant la vie privĂ©e.

Installation avec le nouvel Anaconda

Administration systĂšme

Les rĂ©pertoires /usr/bin et /usr/sbin sont fusionnĂ©s. Ainsi /usr/sbin devient un lien symbolique vers le rĂ©pertoire /usr/bin, de mĂȘme que /usr/local/sbin vers /usr/local/bin. Cette sĂ©paration entre les utilitaires rĂ©servĂ©s aux superutilisateurs et les autres Ă©tait artificielle et non exploitĂ©e.

À l'origine, l'objectif de /sbin Ă©tait d'avoir des binaires liĂ©s statiquement qui pouvaient ĂȘtre utilisĂ©s dans un systĂšme en mode de secours pour dĂ©panner en cas de gros problĂšme au niveau du systĂšme. Mais cette mĂ©thode n'est plus appliquĂ©e depuis longtemps et cette distinction Ă©tait conservĂ©e comme une relique historique. Cela devenait un poids plus qu'autre chose car avec l'avĂ©nement des droits d'utilisateurs dynamiques via polkit par exemple, le besoin d'accĂ©der Ă  ces outils nĂ©cessitait de donner accĂšs Ă  ces rĂ©pertoires mĂȘme pour des utilisateurs sans droits particuliers. Puis, entre les distributions, un utilitaire pouvait ĂȘtre rangĂ© dans un rĂ©pertoire ou un autre en fonction des choix des empaqueteurs de chaque communautĂ© ce qui rend la portabilitĂ© des commandes entre distributions plus difficiles inutilement. D'ailleurs ArchLinux a sautĂ© le pas il y a quelques annĂ©es dĂ©jĂ .

Cela est la continuitĂ© de la suppression de la distinction entre /bin et /usr/bin qui avait le mĂȘme genre de justifications qui a eu lieu avec Fedora 17, il y a 13 ans dĂ©jĂ .

DNF5 va proposer à l'utilisateur de supprimer les clés GPG qui ont expiré, ou qui ont été révoquées, plutÎt que de devoir le faire à la main avec la commande rpmkeys --delete. Si la commande est interactive, le choix sera laissé à l'utilisateur de supprimer ou non la dite clé. En mode non interactif via les options -y ou --assumeno, le choix dépendra de l'option choisie pour l'appliquer automatiquement.

La commande fips-mode-setup a Ă©tĂ© retirĂ©e du paquet crypto-policies qui permet de rendre dynamiquement son systĂšme compatible avec les exigences du gouvernement amĂ©ricain concernant les modules cryptographiques. Cette option doit ĂȘtre activĂ©e lors de l'installation par d'autres moyens maintenant.

Il est ainsi possible de le faire en utilisant l'argument noyau fips=1 pour le notifier Ă  Anaconda, si l'image a Ă©tĂ© gĂ©nĂ©rĂ©e avec osbuild-composer, l'option fips=true dans la section [customizations] permet d'obtenir le mĂȘme effet ou si bootc est utilisĂ© pour une image atomique de passer par cette configuration.

Le mode FIPS n'amĂ©liore pas forcĂ©ment la sĂ©curitĂ©, dans certains cas ça peut en bloquant l'usage des algorithmes obsolĂštes mais parfois cela peut avoir l'effet inverse en n'autorisant pas d'algorithmes plus rĂ©cents jugĂ©s plus sĂ©curisĂ©s, comme l'algorithme de chiffrement Argon2 utilisĂ© par LUKS pour chiffrer le disque dur qui rĂ©siste mieux aux attaques effectuĂ©es par des cartes graphiques par rapport Ă  l'algorithme PBKDF2 qui est lui autorisĂ©. C'est un mode destinĂ© aux entreprises ou personnes ayant besoin d'ĂȘtre certifiĂ©es Ă  ce niveau.

L'objectif de ce changement est de simplifier la vie des mainteneurs qui n'ont plus Ă  se prĂ©occuper de cet outil et de ce que cela nĂ©cessite car de nombreux changements dans le systĂšme doivent ĂȘtre mis en place pour activer (ou dĂ©sactiver) ce mode. Par exemple reconfigurer tous les modules cryptographiques du systĂšme tels que OpenSSH, OpenSSL, GnuTLS, NSS, libgcrypt ou le noyau lui mĂȘme, fournir Ă©galement un module Ă  l'initramfs pour effectuer une vĂ©rification de l'image du noyau au dĂ©marrage de la machine et ajouter un argument pour le noyau si jamais /boot est dans une partition dĂ©diĂ©e afin d'effectuer cette vĂ©rification.

Mais aussi le changement Ă  la volĂ©e est source de problĂšmes et de confusions pour les utilisateurs. Par exemple installer Fedora Linux avec un chiffrement du disque avec un algorithme non compatible FIPS avant de l'activer aprĂšs l'installation. De mĂȘme si des clĂ©s de chiffrement sont gĂ©nĂ©rĂ©es avec OpenSSH ou autres outils avec des algorithmes non autorisĂ©s avant d'activer le dit mode. Ces situations hybrides peuvent induire des dysfonctionnement non prĂ©vus. L'objectif est de limiter ces cas problĂ©matiques en empĂȘchant le changement Ă  chaud.

Le navigateur de fichiers pour Cockpit cockpit-navigator est remplacé par cockpit-files. Cela suit le changement effectué par le projet qui a entamé cette réécriture et ne maintient de fait plus l'ancien module.

Les fichiers Kickstart seront distribués également comme des artéfacts OCI. L'objectif est de permettre de charger plus facilement une image de Fedora pour conteneurs qui est démarrable via le réseau. Dans ce cas précis, il était nécessaire pour l'utilisateur de récupérer et de transformer manuellement les différents fichiers depuis les dépÎts RPM avec des numéros de versions trÚs mouvants afin d'avoir les images du noyau, de l'initramfs, du chargeur de démarrage, de l'image d'installation et de lancement. Ici l'objectif est de pouvoir les fournir dans un endroit centralisé tel que ce dépÎt avec des processus plus faciles à automatiser avec Ansible ou Foreman. Ces fichiers sont également signés avec GPG ce qui permet de facilement vérifier leur conformité.

Les éditions dérivées de Fedora Workstation auront par défaut le pare-feu configuré avec l'option IPv6_rpfilter=loose, ce qui suit la politique appliquée pour l'IPv4 depuis Fedora 30. En effet, avec l'option IPv6_rpfilter=strict il y avait notamment réguliÚrement des soucis pour vérifier la connexion à Internet pour des machines ayant plusieurs interfaces connectées au réseau tel qu'un ordinateur portable passant du Wifi au réseau Ethernet pour se connecter à son réseau domestique.

Ajout du paquet bpfman pour le déploiment et la gestion des programmes eBPF dans le systÚme. Développé en Rust, il permet de fournir une vue d'ensemble des programmes eBPF utilisés dans le systÚme actuellement. Il simplifie aussi leur déploiement dans un cluster Kubernetes par l'utilitaire bpfman-operator tandis que l'outil bpfman-agent exécuté au sein d'un conteneur permet de rapporter si les programmes eBPF sont dans l'état désiré.

Mise à jour de l'outil de gestion de configuration Ansible à la version 11. Cette version propose d'ajouter des tags aux variables ou valeurs pour par exemple retourner un avertissement si on essaye d'accéder une valeur marquée comme dépréciée. Les boucles de tùches peuvent avoir une instruction d'interruption. Enfin, le module mount_facts prend en charge les périphériques non locaux.

Le serveur de proxy inverse Apache Traffic Server Ă©volue vers sa 10e version. Une nouvelle API basĂ©e sur JSON-RPC est proposĂ©e pour permettre des interactions avec des outils extĂ©rieurs. Le module traffic_ctl a une commande monitor pour rapporter en continue des mĂ©triques Ă  jour. Les rĂšgles ip_allow.yaml et remap.config prennent en charge des intervalles d'IP nommĂ©es pour simplifier la configuration. La prise en charge du protocole HTTP/2 pour les connexions provenant du serveur d'origine a Ă©tĂ© ajoutĂ©e mĂȘme si elle est dĂ©sactivĂ©e par dĂ©faut. De plus, les plugins doivent ĂȘtre dĂ©veloppĂ©s en C++20 uniquement au lieu du langage C.

La version de compatibilité PostgreSQL 15 a été retirée, PostgreSQL 16 reste la version par défaut. Cela fait suite à l'ajout de PostgreSQL 17 dans les dépÎts comme version alternative avec postgresql17 comme nom de paquet. Le projet ne souhaite pas maintenir davantage de versions pour réduire la charge de travail tout en permettant de migrer les données d'une version à l'autre. En effet, la migration nécessite le binaire de la version actuellement utilisée pour réaliser un dump avant d'utiliser la nouvelle version pour importer ce dump. Cela signifie que les utilisateurs utilisant PostgreSQL 15 doivent préparer la migration avant la mise à niveau de leur Fedora Linux.

Les utilitaires liĂ©s au projet OpenDMARC ont Ă©tĂ© mis dans des paquets individuels au lieu du paquet opendmarc qui les fournissait tous. En effet de nombreux utilitaires notamment Ă©crits en Perl Ă©taient fournis avec ce paquet sans ĂȘtre nĂ©cessaires pour exĂ©cuter le service ce qui entrainait l'installation plus que 80 paquets Perl pour rien dans la plupart des cas. Le paquet opendmarc fournit maintenant les outils opendmarc et opendmarc-check quand le reste est fourni avec le paquet opendmarc-tools.

L'agent pam-ssh-agent a Ă©tĂ© supprimĂ© des dĂ©pĂŽts. Le dĂ©veloppement a Ă©tĂ© arrĂȘtĂ© il y a plus d'un an par le projet OpenSSH et aucun paquet actuellement maintenu n'en dĂ©pend.

La nouvelle application GNOME Decibels

Développement

La chaßne de compilation GNU bénéficie de GCC 15, binutils 2.44 et glibc 2.41. Concernant le compilateur GCC, comme d'habitude il fournit de nombreux changements. Il est possible pour l'optimisation de l'édition de lien de le faire de maniÚre incrémentale afin que cette étape soit plus rapide en cas de petits changements dans le code source. Les trÚs gros fichiers de code source sont également plus rapide à compiler et les erreurs les concernant sont mieux gérées. Les erreurs gagnent encore en lisibilité, en particulier pour les templates C++ ou en présentant le chemin d'exécution qui mÚne à l'erreur détectée.

Pour la section OpenMP, la prise en charge des normes au dessus de la version 5.0 continue sa progression avec une meilleure gestion des cartes graphiques Nvidia et AMD. Pour le langage C, la norme C23 devient la norme par défaut tandis que le début de prise en charge de la future norme C2Y a été introduit. Pour le C++, c'est la prise en charge de la future norme C++26 qui progresse et une meilleure gestion des modules introduits dans les normes précédentes.

Pour les architectures, de nombreuses améliorations pour la prise en charge des microarchitectures x86_64 dont des nouvelles instructions AMX. CÎté Aarch64, ce sont les puces d'Apple qui sont prises en charge maintenant.

Concernant la bibliothĂšque standard C, il y a quelques changements concernant la rĂ©solution DNS. GrĂące Ă  la variable d'environnement RES_OPTIONS il est possible d'ignorer des options prĂ©cisĂ©es dans le fichier /etc/resolv.conf. Ainsi utiliser RES_OPTIONS=-no-aaaa permet d'ignorer l'option options no-aaaa. Les fonctions sched_setattr et sched_getattr ont Ă©tĂ© ajoutĂ©es pour permettre de changer les options de la politique d'ordonnancement des processus du noyau, par exemple quand SCHED_DEADLINE est utilisĂ© oĂč certains paramĂštres peuvent ĂȘtre utilisĂ©s. La prise en charge d'Unicode 16.0 a Ă©tĂ© ajoutĂ©e, de mĂȘme que de nombreuses fonctions mathĂ©matiques introduites par la norme C23. Pour l'architecture AArch64, les fonctions mathĂ©matiques vectorielles devraient ĂȘtre plus performantes.

Enfin pour les binutils, les extensions de l'assembleur pour les architectures AArch64, Risc-V et x86 ont été mises à jour. L'éditeur de lien peut mixer des objets avec et sans l'optimisation activée.

La chaĂźne de compilation LLVM progresse Ă  la 20e version. Comme pour son concurrent GCC, les derniĂšres normes C et C++ ont bĂ©nĂ©ficiĂ© de nombreuses amĂ©liorations pour leur prise en charge. De mĂȘme, de nombreuses instructions AMX pour l'architecture x86_64 ont Ă©tĂ© ajoutĂ©es. Un nouveau vĂ©rificateur TySan fait son apparition pour vĂ©rifier les violations d'aliasing de types, donc utiliser un pointeur d'un type particulier pour accĂ©der Ă  des valeurs d'un autre type en mĂ©moire ce qui dĂ©grade les performances ou peut engendrer des bogues. Le module de tĂ©lĂ©mĂ©trie a Ă©tĂ© extrait du dĂ©bogueur pour ĂȘtre disponible dans l'ensemble de LLVM afin de pouvoir rapporter diffĂ©rentes mesures et usages de ces outils aux dĂ©veloppeurs mais cela reste dĂ©sactivĂ© par dĂ©faut.

Fedora par ailleurs fournit les outils llvm-bolt, polly, libcxx et mlir dans le paquet llvm au lieu d'ĂȘtre dans des paquets indĂ©pendants comme avant. Les binaires, bibliothĂšques et autres en-tĂȘtes sont installĂ©es dans le dossier /usr/lib64/llvm$VERSION/ au lieu de /usr, des liens symboliques sont proposĂ©s pour garder la compatibilitĂ©, l'objectif est de faciliter le passage d'une version Ă  l'autre pour les utilisateurs.

Le cadriciel web Python nommĂ© Django utilise la version 5.x. Les formulaires peuvent bĂ©nĂ©ficier de la notion de groupe de champs pour simplifier significativement le code du template en Ă©vitant de devoir rĂ©pĂ©ter les mĂȘmes informations pour chaque champ s'ils ont la mĂȘme structure. Les modĂšles peuvent Ă©galement recevoir une valeur par dĂ©faut obtenue par la base de donnĂ©es. Il est Ă©galement possible de gĂ©nĂ©rer des colonnes qui sont calculĂ©es Ă  partir d'autres champs de la base de donnĂ©es.

Mise à jour du langage Go vers la version 1.24. CÎté langage, il prend en charge les alias de types génériques ce qui permet d'étendre leur champ d'applications et d'améliorer la lisibilité du code. Comme souvent avec Go, les performances sont améliorées, de l'ordre de 2-3% à l'exécution et la structure map est basée sur les tables suisses pour réduire la consommation mémoire pour les petits objets. La bibliothÚque standard fournit des mécanismes pour se conformer au standard FIPS 140 concernant la cryptographie comme expliqué plus haut. Une nouvelle instruction du compilateur go:wasmexport permet d'exporter les fonctions du programme à l'hÎte en WebAssembly.

Le langage Ruby brille avec la version 3.4. Le parseur par dĂ©faut passe de parse.y Ă  Prism pour amĂ©liorer la dĂ©tection des erreurs, les performances et la portabilitĂ©. La bibliothĂšque de socket dispose du standard Happy Eyeballs Version 2 pour amĂ©liorer la rĂ©silience et l'efficience des connexions TCP. Le compilateur juste Ă  temps YJIT amĂ©liore ses performances pour les architectures x86_64 et Aarch64, il est Ă©galement plus fiable et rĂ©duit un peu sa consommation mĂ©moire tout en ayant la possibilitĂ© de dĂ©finir une limite maximale unifiĂ©e. Parser des structures JSON doit ĂȘtre Ă©galement 1,5 fois plus rapide, de mĂȘme pour Array#each grĂące Ă  une réécriture en Ruby.

Le langage de programmation PHP s'impose de tout son poids à la version 8.4. Outre d'apporter un compilateur juste à temps basé sur IR Framework et diverses améliorations de performance, le langage propose de nouveaux concepts. Les property hooks permettent de facilement définir des structures basées sur une autre valeur pour les garder synchronisées tout en ayant une quantité de code plus réduites et avec moins de risque de faire des erreurs. Il est possible de définir une visibilité asymétrique, en autorisant la lecture d'une propriété mais pas son écriture publiquement et ce sans passer par des getters / setters. L'attribut #[\Deprecated] fait son apparition pour signaler à l'utilisateur qu'une méthode ou valeur sera probablement supprimée ultérieurement. Une nouvelle API pour manipuler les objets DOM apparaßt et fournit la prise en charge de HTML5. Et d'autres changements encore.

Le langage de scripts Tcl/Tk a Ă©tĂ© mis Ă  jour vers la 9e version. Pour des raisons de compatibilitĂ©, la version 8 reste distribuĂ©e sous le nom de paquet tcl8. GrĂące Ă  l'exploitation du 64 bits, il peut maintenant manipuler des donnĂ©es de plus de 2 Gio. La prise en charge d'Unicode et des diffĂ©rentes mĂ©thodes d'encodage a Ă©tĂ© amĂ©liorĂ©e, en ajoutant d'une part mais aussi en gĂ©rant l'ensemble des valeurs existantes. L’interaction avec le systĂšme est amĂ©liorĂ©e avec la possibilitĂ© d'envoyer des notifications, d'imprimer ou d'utiliser les icĂŽnes de la barre du systĂšme. Il y a un dĂ©but de prise en charge de l'affichage vectoriel permettant d'amĂ©liorer le visuel des applications. Les capacitĂ©s d’interactions tactiles sont amĂ©liorĂ©es avec la possibilitĂ© de gĂ©rer des gestes Ă  deux doigts.

La bibliothĂšque de calcul scientifique en Python NumPy passe Ă  la version majeure 2. PremiĂšre version majeure depuis 2006, il fournit de nombreuses amĂ©liorations de performance en particulier autour des diffĂ©rents algorithmes de tri de mĂȘme que la sauvegarde de gros objets. La transformĂ©e de Fourrier rapide prend en charge les types float32 et longdouble. Un nouveau type pour les chaĂźnes de caractĂšres de taille variable fait son apparition : StringDType qui doit fournir Ă©galement de meilleures performances. La sĂ©paration entre l'API publique et privĂ©e a Ă©tĂ© aussi clarifiĂ©e avec une nouvelle structure des modules. API qui a aussi Ă©tĂ© nettoyĂ©e pour enlever ce qui n'Ă©tait pas pertinent ce qui simplifie l'apprentissage de la bibliothĂšque.

L'outil de développement de paquets Python Setuptools a été mis à jour vers la version 74. La commande setup.py qui était non recommandée depuis plus de 5 ans disparaßt, cela a nécessité notamment de changer prÚs de 150 paquets dans le systÚme pour en tenir compte. D'autres changements plus mineurs sont également fournis.

Mise Ă  jour de la bibliothĂšque de compression zlib-ng Ă  la version 2.2.x. Parmi les changements, sur l'architecture x86_64 les performances devraient ĂȘtre amĂ©liorĂ©es de 12% pour la compression avec le niveau par dĂ©faut. L'allocation mĂ©moire est Ă©galement fait en une seule fois ce qui rĂ©duit le nombre d'appels systĂšmes et le risque de fragmentation de la mĂ©moire ce qui amĂ©liore Ă©galement les performances globales. Le risque d'avoir un Ă©chec par manque de mĂ©moire s'en retrouve Ă©galement rĂ©duit.

Le langage Copilot avec sa boĂźte Ă  outil de vĂ©rification de runtime fait son apparition. DĂ©veloppĂ© en Haskell par la NASA, il permet de dĂ©finir des programmes concis qui peuvent ensuite ĂȘtre transpilĂ©s en C99 pour permettre un haut niveau de sĂ©curitĂ© tout en Ă©tant capable de gĂ©rer des contraintes temps rĂ©el dures ce qui est important dans de nombreux contextes embarquĂ©s. Ce langage est disponible via le paquet ghc-copilot.

La bibliothÚque graphique SDL utilise la version 3 pour assurer la compatibilité avec ses versions 2 et 1.2 dorénavant. Cela passe par le paquet sdl2-compat qui fourni cette compatibilité car SDL 2 n'est plus développé.

Les anciennes versions de OpenJDK pour le langage Java Ă  savoir 8, 11 et 17 ne sont plus fournies par les dĂ©pĂŽts de Fedora mais devront ĂȘtre installĂ©es via un dĂ©pĂŽt tiers tel que Adoptium Temurin dont le paquet adoptium-temurin-java-repository permet son activation. La maintenance des diffĂ©rentes versions d'OpenJDK a Ă©tĂ© longtemps une problĂ©matique pour Fedora avec leur nombre de versions avec une maintenance officielle qui augmente, cela alourdissait considĂ©rablement la charge de travail sans avoir assez de mainteneurs en face. D'autant plus que la plupart des cas d'usage se contentent bien de la derniĂšre version LTS disponible, les versions plus anciennes rĂ©pondent Ă  des cas plus spĂ©cifiques qui peuvent se contenter d'un dĂ©pĂŽt externe oĂč les mainteneurs de Fedora travaillent de toute façon ce qui garantie la qualitĂ© de l'intĂ©gration. Cela diminuera la consommation de ressources pour gĂ©rer ces paquets dans Fedora mais aussi l'allĂ©gement de la charge de travail permettra de mettre Ă  jour OpenJDK plus rapidement Ă  l'avenir.

Le paquet de compatibilité Python pour la version 3.8 a été retiré. Cette version n'est plus maintenue par le projet Python et ce serait trop coûteux et peu sûr de poursuivre sa fourniture dans la distribution.

La bibliothÚque Rust zbus version 1 a été supprimée, la version 4 ou supérieure reste proposée dans les dépÎts. Une vingtaine de dépendances obsolÚtes étaient également maintenues pour ce composant ce qui permettra de réduire la charge de travail pour les mainteneurs et la consommation de ressources pour le projet Fedora. La compatibilité avec les derniÚres versions du compilateur Rust et certains bogues sur certaines architectures rendaient sa maintenance problématique par ailleurs.

La bibliothÚque de compatibilité entre Rust et Python, PyO3, se voit retirer les anciennes versions 0.19, 0.20, et 0.21. Les versions 0.22 et 0.23 restent donc disponibles. Cet abandon devient nécessaire par les changements de l'API et de l'ABI de CPython qui rendent les anciennes versions de plus en plus difficiles à maintenir en état de fonctionnement.

L'utilitaire d'exécution des tests unitaires en Python python-pytest-runner est déprécié et sera supprimé dans un futur proche. Depuis 2019 il est dans un état d'abandon par le projet source, il faut depuis envisager d'utiliser pytest à la place d'autant plus que les incompatibilités avec l'outil setuptools vont en grandissant.

La bibliothÚque de compatibilité entre GTK3 et Rust est marquée comme dépréciée et sera supprimée dans une prochaine version. En effet les versions récentes de gtk-rs ne le prennent plus en charge ce qui impose un coût de maintenance d'autant qu'il faut maintenir aussi les anciennes versions de compatibilité avec Cairo et GLib pour cela.

Les nouveaux paramĂštres de GNOME bien ĂȘtre

Projet Fedora

Fedora Linux proposera des archives permettant d'ĂȘtre installĂ© avec Windows Subsystem for Linux. Windows a rĂ©cemment amĂ©liorĂ© la prise en charge des installations d'un tel systĂšme en dehors du magasin d'applications Microsoft ce qui rend ce changement plus intĂ©ressant. IdĂ©alement il faut utiliser WSL 2.4.4 ou supĂ©rieur mĂȘme si une procĂ©dure sera fournie pour les versions plus anciennes. Le projet Fedora ne souhaite pas Ă  ce jour accepter les conditions pour permettre une publication directement depuis le magasin d'applications. Cela permet de faciliter l'usage de Fedora dans un tel systĂšme.

Les paquets RPM peuvent bénéficier de la fonction systemd sysusers.d pour créer des utilisateurs ou groupes dédiés lors de l'installation des paquets RPM. L'objectif à terme est de se débarasser des instructions useradd ou groupadd dans les paquets RPM voire l'usage de la macro %sysusers_create_compat. Cela va permettre d'uniformiser à terme la maniÚre de créer de tels utilisateurs et groupes ce qui va également simplifier les scriplets des différents paquets RPM concernés. Comme cela est intégré dans le format RPM, il devient plus facile de retrouver quels utilisateurs et groupes sont créées par un paquet donné et de définir des dépendances basées sur ce critÚre si c'est pertinent.

Les mises Ă  jour de Fedora CoreOS passent de OSTree Ă  OCI. Les mises Ă  jour proviennent ainsi du dĂ©pĂŽt quay.io/fedora/fedora-coreos. C'est la premiĂšre Ă©tape avant d'ĂȘtre capable de passer Ă  bootc pour gĂ©rer la base du systĂšme qui permettrait entre autre de faire des mises Ă  jour en miroir en copiant un systĂšme existant sur le rĂ©seau local ou de laisser l'utilisateur personnaliser facilement ses propres images.

Activation par défaut de composefs pour les images atomiques bureautiques de Fedora Linux pour les images non basées sur OSTree. Faisant suite à ce qui a été fourni pour les images CoreOS et IoT avec Fedora Linux 41, l'idée est de fournir une vérification d'intégrité des images atomiques lorsque le systÚme tourne et d'avoir un systÚme de fichiers du systÚme réellement en lecture seule.

En effet, jusqu'ici l'intĂ©gritĂ© des fichiers du systĂšme n'est vĂ©rifiĂ©e que lors de la mise Ă  jour ou l'installation d'une nouvelle image mais rien n'empĂȘche d'avoir une altĂ©ration malveillante par exemple entre temps. Il fallait exĂ©cuter ostree fsck Ă  la main pour vĂ©rifier manuellement si le systĂšme Ă©tait conforme. De plus le systĂšme mĂȘme s'il est en lecture seule en thĂ©orie, en rĂ©alitĂ© il Ă©tait montĂ© en lecture/Ă©criture avec la commande chattr +i / ajoutĂ©e pour prĂ©venir les modifications accidentelles.

Avec composefs, qui exploite overlayfs et EROFS, permet de supprimer ces limitations, le systÚme de fichiers sera réellement en lecture seule et la moindre tentative de modification aboutira à une erreur au niveau du noyau Linux en toute circonstance. Les répertoires /etc et /var restent accessibles en lecture/écriture comme avant. L'objectif à terme est de fournir une vraie chaßne de démarrage sécurisée avec la vérification des signatures au niveau du systÚme.

L'utilitaire edk2 est compilĂ© avec des options de sĂ©curitĂ© supplĂ©mentaires pour amĂ©liorer la sĂ©curitĂ© des machines virtuelles reposant sur l'UEFI. Ce composant est une implĂ©mentation de l'UEFI qui est notamment utilisĂ©e par les machines virtuelles créées avec libvirt. Ce changement passe par l'activation du mode strict pour NX qui empĂȘche l'exĂ©cution de code provenant de zone mĂ©moire en lecture/Ă©criture. Les pointeurs NULL sont Ă©galement capturĂ©s pour Ă©viter de dĂ©fĂ©rencer le vecteur d'interruption qui existe Ă  cette adresse ce qui peut mener Ă  des accĂšs mĂ©moires non souhaitĂ©s. Cela ne sera appliquĂ© que pour les sytĂšmes invitĂ©s avec Secure boot activĂ©, pour Ă©viter d'introduire des rĂ©gressions pour les systĂšmes invitĂ©s plus anciens qui seraient non compatibles avec ces options de sĂ©curitĂ© dans un environnement oĂč ces protections additionnelles seraient moins pertinentes.

En effet, cela est une réponse au problÚme de sécurité liée au composant shim pour les versions inférieures à 15.8 qui a nécessité en 2024 une mise à jour majeure des chargeurs de démarrage et du noyau Linux. Des systÚmes invités avec ce problÚme de sécurité non corrigé entraineront une erreur mémoire prévenant toute exécution.

Les images live de Fedora Linux utilisent le systÚme de fichiers EROFS en lieu et place de SquashFS. Ce systÚme de fichiers est aussi en lecture seule et est plus activement développé. De fait il peut utiliser des algorithmes de compression plus moderne pour réduire la taille de l'image et a été développé pour avoir de bonnes performances sur les systÚmes embarqués ce qui devrait se retrouver aussi sur des machines plus performantes.

Ajout d'un générateur de dépendances pour les extensions de GNOME Shell, permettant de lier la version de l'extension avec celle de gnome-shell à partir du fichier metadata.json de l'extension. Cela permet de détecter de maniÚre générique et donc plus facilement et automatiquement un soucis de compatibilité entre une extension et la version de GNOME Shell fournie par le projet. Cela devrait permettre de travailler sur ces problÚmes de compatibilité dÚs qu'ils apparaissent plutÎt que d'attendre le retour d'utilisateurs qui découvrent une extension non fonctionnelle en pratique.

Redéfinition des dépendances de nombreux paquets de git vers git-core. Plus de 200 paquets souhaitent utiliser le binaire git et ont une dépendance envers ce paquet éponyme alors qu'il est fourni en réalité par le paquet git-core. Ce qui implique une dépendance excessive envers 60 autres paquets inutiles dans ce contexte. Cela devrait entre autre réduire les ressources nécessaires pour générer certains paquets.

La communauté francophone

L'association

Logo de Borsalinux-fr

Borsalinux-fr 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, organise des évÚnements promotionnels comme les Rencontres Fedora réguliÚrement 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 : 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 mensuelles chaque premier lundi soir du mois à 20h30 (heure de Paris). Pour plus de convivialité, nous l'avons mis en place en visioconférence sur Jitsi.

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 90 articles corrigés et remis au goût du jour.
Un grand merci Ă  Charles-Antoine Couret, Nicolas Berrehouc, Édouard DuliĂšge, Sylvain RĂ©ault et les autres contributeurs et relecteurs pour leurs contributions.

La synchronisation du travail 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 Linux 42 ?

Logo de Fedora Media Writer

Si vous avez déjà Fedora Linux 41 ou 40 sur votre machine, vous pouvez faire une mise à niveau vers Fedora Linux 42. 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 Linux avant de procéder à son installation. 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 Linux 42.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Logiciels libres pour la comptabilité d'entreprise

Par :orfenor · Ysabeau đŸ§¶ · FrancoisA30 · Gil Cot ✔ · L'intendant zonard · Axone · GG · BAud · palm123 · Ardor · CĂ©dric Krier · Bruno · aplc · tisaac · BenoĂźt Sibaud · Francois Revol · Guillaume Maillard · volts · Jona · nikobastardi · papap · esdeem · fero14041 · cli345 · Yves Bourguignon · cg · gilupeika
11 avril 2025 Ă  07:30

OĂč l’on s’essaie Ă  dresser un panorama des logiciels comptables libres. À l’origine de cette dĂ©pĂȘche, une recherche d’un logiciel de paye libre oĂč il a semblĂ© que cela pouvait ĂȘtre utile.

Il s’agit bien de logiciels de comptabilitĂ© pour un usage professionnel ou associatif, pas de gestion de finances personnelles qui ont fait l’objet d’une autre dĂ©pĂȘche il y a quelque temps. Évidemment, il n’y a aucune prĂ©tention Ă  l’exhaustivitĂ©, mais plus Ă  donner un panel de logiciels avec quelques idĂ©es pour choisir le vĂŽtre, le cas Ă©chĂ©ant. N’hĂ©sitez pas Ă  les essayer quand c’est possible et Ă  croiser les informations pour vous faire votre opinion. Les fiches sont succinctes, mais c’est l’occasion pour vous d’écrire plein de nouvelles dĂ©pĂȘches puisque la plupart de ces logiciels n’ont pas eu de prĂ©sentations rĂ©centes sur LinuxFr.org.
Image d’illustration

    Sommaire

    Entrons tout de suite dans le vif du sujet. Voici des courtes prĂ©sentations avec des points forts et des points faibles qui se dĂ©gagent des expĂ©riences des rĂ©dacteurs et rĂ©dactrices. Pour vous aider Ă  faire un choix, cette liste est suivie d’explications plus gĂ©nĂ©rales.

    Compta.libremen.com

    logo compta libremen
    Compta libremen com est un logiciel de compta en partie double, simple et efficace. Il utilise une interface web sans fioritures. Le logiciel est Ă©crit en Perl et s’appuie sur Postgresql et mod_Perl, avec un serveur Apache. Un fork amical fournit une image Docker et quelques amĂ©liorations. Libremen propose une offre en ligne.
    Commentaires de l’auteur recueillis par courriel : on a un peu d’aide Ă  la saisie, il y a les raccourcis claviers (calcul du numĂ©ro de piĂšce, recopie de la ligne prĂ©cĂ©dente) et aussi les fenĂȘtres dĂ©roulantes pour les numĂ©ros de compte, plus le fait que le navigateur enregistre les derniĂšres saisies ; je crois avoir documentĂ© toutes les fonctions, la documentation est dite “minimum”, le logiciel est minimaliste par essence, donc la doc aussi :-)

    Interface web
    Aide Ă  la saisie oui
    Saisie au km oui
    IntĂšgre documents TVA, export FEC
    Comptabilité en partie double
    ComptabilitĂ© analytique oui, champ “Libre”
    Imports écritures en CSV
    Exports écritures en CSV
    Transmission automatisée non
    En réseau oui, et aussi sur Internet
    Documentation oui, minimum
    Forum non

    Diacamma

    logo Diacamma
    Le logiciel existe en deux versions, Diacamma Asso pour les associations et Diacamma Syndic pour les copropriétés. Diacamma utilise une interface web, avec un serveur intégré. Un installeur est fourni pour Windows, macOSX et Linux (Debian conseillée). Le CHATONS Sleto propose une offre en ligne.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km non
    IntÚgre achats, ventes, factures, adhérents, documents et +
    Comptabilité en partie double
    Comptabilité analytique oui, simplifiée
    Imports écritures comptables, articles, contacts
    Exports écritures en CSV
    Transmission automatisée non
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum restreint aux connectés, gratuit
    • Points forts : le facturier qui permet aussi de faire des statistiques des ventes et d’éditer des factures et des reçus, le rĂ©capitulatif Ă  gauche de l’écran, une vision comptable par « journaux auxiliaires Â».
    • Points faibles : les fenĂȘtres modales pour les Ă©critures, la saisie par « journal auxiliaire Â» qui alourdit le processus, le vocabulaire pas trĂšs adaptĂ© au secteur.
    • Licence : GNU General Public License 3
    • Site : https://www.diacamma.org/

    Dolibarr

    logo Dolibarr
    Dolibarr est un puissant ERP pour tous types d’entreprises et d’associations. Il existe des prĂ©-sĂ©lections des modules nĂ©cessaires Ă  votre activitĂ©. Dolibarr utilise une interface web avec des serveurs web et SQL. Un installeur est fourni pour Windows et des paquets pour plusieurs distributions Linux. Beaucoup d’offres d’hĂ©bergement existent. Il rĂ©unit une forte communautĂ©, surtout francophone. Le dĂ©veloppement est trĂšs actif.
    Notez qu’on parle souvent de Dolibarr sur LinuxFr.org et qu’un journal sur une migration d’ERP a produit des interventions de haut niveau.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre achats, ventes, factures, adhĂ©rents, documents, stock, et plein d’autres
    Comptabilité simplifiée ou en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports des journaux, du Grand Livre, et des écritures sous différents formats
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : il est possible d’ajouter des extensions avec le magasin d’application, le dolistore. Dolibarr est Ă©galement disponible chez certains hĂ©bergeurs Ă  travers Softaculous. Une gestion fine des droits par groupe d’utilisateurs et par utilisateurs. Avec certains droits rĂ©servĂ©s aux utilisateurs internes c’est-Ă -dire ceux qui ne sont ni client ni fournisseur.
    • Points faibles : l’aspect « usine Ă  gaz Â» de Dolibarr et sa prise en main qui peut ĂȘtre ardue.
    • Licence : GNU GPL V3 et plus
    • Site : http://www.dolibarr.org
    • Dolibarr sur LinuxFr.org.

    Ekyagri

    logo Ekyagri
    Une solution en ligne de gestion d’exploitation agricole.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre achats, ventes, factures,
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : la facilitĂ© de la saisie des Ă©critures, la gestion des immobilisations, sa conception bien pensĂ©e pour le secteur. L’aide est bien faite, elle indique notamment des niveaux de difficultĂ©s des tĂąches. On peut la tĂ©lĂ©charger au format PDF.
    • Points faibles : le site n’est pas trĂšs clair sur la rĂ©cupĂ©ration des donnĂ©es. On n’a pas de module de recherche sur l’aide en ligne et rien n’est indiquĂ© sur les sauvegardes.
    • Licence : AGPL v3
    • Site : https://ekylibre.com/ekyagri/

    ENDI

    logo endi

    Interface web
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre achats, ventes, factures,
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui

    ERPNext / Dokos

    Titre de l’image
    Un puissant ERP créé en Inde, le fork Dokos est la version française. Écrit en Python et JavaScript au-dessus d’une base Postgresql. Modulaire, il se positionne comme Odoo (voir ci-dessous). Comparons-les : l’interface est plus austĂšre, la renommĂ©e moindre entraĂźne peu de contributeurs tiers Ă  proposer des modules, l’équipe est plus petite, mais tout aussi dynamique, ERPNext Ă©volue vite, il est basĂ© sur le framework FRAPPÉ qui est stable et permet d’extraire les applications de l’ERP, l’ensemble est intĂ©gralement libre.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km
    Intùgre achats, ventes, factures, documents, stock et plein d’autres modules
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports écritures en CSV
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui

    Frappebook

    Logo FrappeBook
    MĂȘme Ă©quipe qu’ERPNext. C’est juste le morceau comptable d’ERPNext, refait en application de bureau et portable par dessus SQLite. Pour les petites entreprises.

    • Points forts : Application portable, on peut l’emmener sur sa clef USB. L’interface est sobre et bien finie.
    • Points faibles : au lancement on se retrouve dans une compta anglo-saxonne, il faut paramĂ©trer pour avoir une compta “europĂ©enne”.
    • Licence : GNU General Public Licence version 3
    • Site : https://frappebooks.com/
    • Code source : https://github.com/frappe/books

    Galette

    Titre de l’image
    Sous le nom sympathique et tarabiscotĂ© de Galette (Gestionnaire d’AdhĂ©rents en Ligne ExtrĂȘmement TarabiscotĂ© mais Tellement Efficace) se cache un logiciel Ă  destination des associations.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km
    IntÚgre achats, ventes, factures, adhérents
    Comptabilité simplifiée ou en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : Il est trĂšs facile Ă  prendre en main, en comptabilitĂ© simple ou double. Il y a une aide en ligne copieuse ainsi qu’une liste d’entraide. Le logiciel propose plusieurs plans comptables (Au moins deux pour les plans comptables français et d’autres pour la plupart des pays europĂ©ens). On peut aussi ajouter son propre plan comptable. Il offre des fonctionnalitĂ©s de comptabilitĂ© analytique. On peut utiliser sa propre instance, rĂ©cupĂ©rer la base de donnĂ©es ou exporter la comptabilitĂ© sous divers formats (CSV, FEC, ODS et XLSX). Il est possible d’importer une comptabilitĂ© dans ces formats. Le logiciel est en constante Ă©volution, avec un dĂ©veloppeur trĂšs rĂ©actif. Des modules permettent de gĂ©rer aussi les paiements en ligne (puisque c’est aussi un logiciel de gestion de facturations et de clients). Il y a un module PdV (point de vente, caisse).
    • Points faibles :
    • Licence : GNU General Public Licence version 3
    • Site : https://galette.eu/site/fr/
    • Code source : https://github.com/galette/galette
    • Galette sur linuxFr.org.

    GnuCash

    logo GnuCash
    GnuCash figure dans la bibliothĂšque logicielle de la plupart des distributions Linux. C’est un logiciel qui fait aussi bien la comptabilitĂ© personnelle que la comptabilitĂ© professionnelle. Il propose des fonctionnalitĂ©s de CRM de base : gestion des adresses des clients et des fournisseurs.

    Interface Bureau (Gtk)
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau
    Documentation oui, complĂšte
    Forum oui
    • Points forts : on peut paramĂ©trer des Ă©critures rĂ©pĂ©titives (paiements mensuels par exemple) et le logiciel vous le rappelle dans des dĂ©lais fixĂ©s par vous Ă  l’ouverture. Sa bibliothĂšque de rapports (ou Ă©tats) est riche : bilan, comptes de rĂ©sultat, portefeuille d’action, facture, quittance, graphiques. Et c’est personnalisable souvent. Les rapprochements bancaires se font avec prĂ©-affectation des comptes grĂące Ă  de l’infĂ©rence bayĂ©sienne.
    • Points faibles : Il n’y a pas de plan comptable intĂ©grĂ©, il faut l’ajouter. Ni de fonctionnalitĂ© d’import d’un plan comptable (ou alors, je n’ai pas trouvĂ©), pas de comptabilitĂ© analytique, non plus. Il n’est pas complĂštement traduit en français et la traduction est un peu Ă©tonnante parfois. La prise en main n’est pas Ă©vidente.
    • SystĂšmes d’exploitation : Windows, MacOS, GNU/Linux, Unixes
    • Interface : graphique
    • Licence : GNU General Public License Version 2 ou Version 3
    • Site : https://gnucash.org/
    • Code source : https://sourceforge.net/projects/gnucash/
    • GnuCash sur linuxFr.org (dĂ©pĂȘches anciennes).

    Grisbi

    logo Grisbi
    Un logiciel qui fonctionne tout seul et qui est souvent fourni dans les distributions Linux. Il est surtout utilisable pour les finances personnelles, mais il propose un mode comptabilitĂ© libĂ©rale et peut ĂȘtre utilisĂ© par des micro-entreprises.

    Interface Bureau (GTK-3)
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre achats, ventes, factures,
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : il n’est pas compliquĂ© Ă  installer, on peut importer des fichiers au format CSV (Ă©videmment) mais aussi aux formats QIF, OFX et Gnucash. Pour les rapprochements bancaires, soit dit en passant, choisir le format QIF c’est encore celui qui fait le mieux le travail. Et on peut l’exporter au format QIF ou CSV. Deux formats souvent utilisĂ©s par les logiciels de comptabilitĂ©. Il propose un pratique simulateur de crĂ©dit. Il est assez facile Ă  prendre en main. Quand on fait un rapprochement bancaire, pour une comptabilitĂ© personnelle, en bout de course, on a une bonne partie des Ă©critures comptables qui sont saisies.
    • Points faibles : pas de comptabilitĂ© analytique, pas de compte de rĂ©sultat ni de bilan et, Ă©videmment, il n’est pas possible d’éditer des factures. L’interface GTK avait quelques bugs sous Windows (il y a plusieurs annĂ©es, peut-ĂȘtre corrigĂ©s depuis), comme des menus dĂ©roulants qui empĂȘchent de valider un formulaire tant qu’on a pas cliquĂ© Ă  cĂŽtĂ© pour les fermer.
    • Logiciel inspirĂ© de l’ex MsMoney (qui n’est plus vendu par Microsoft)
    • Licence : GNU General Public License Version 2
    • Site : https://fr.grisbi.org/
    • Code source : https://github.com/grisbi/grisbi
    • Grisbi sur LinuxFr.org.

    Laurux

    logo Laurux

    Laurux intĂšgre les outils classiques de gestion d’entreprise : comptabilitĂ©, facturation, gestion de stock et tous les composants nĂ©cessaires aux prises de dĂ©cisions cohĂ©rentes. DĂ©veloppĂ© en Gambas avec Qt Ă  destination des PME, son auteur a aussi voulu crĂ©er un logiciel simple d’installation et d’utilisation livrĂ© avec toute la documentation utile. L’auteur fournit une attestation individuelle de conformitĂ©, obligatoire dans la loi française. Son forum communautaire est accueillant.

    Interface Bureau (Qt)
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre achats, ventes, factures, point de vente
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports plein de formats
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : Logiciel multiposte performant et fiable. Gestion de la compta, des stocks et achats/devis/factures trĂšs simples. Se prend en mains sans trop de complication. Et des dĂ©veloppeurs prĂ©sents, c’est hyper important de souligner le travail de Patrick et Damscot. Pour ĂȘtre plus large, j’ai, par le passĂ©, utilisĂ© Adicom, EBP, l’AS400 (une usine Ă  gaz de fou ce logiciel), et un autre systĂšme dans le nĂ©goce Ă©galement. Avec Laurux, je retrouve les avantages de l’AS400 sans avoir les complications d’utilisation.
    • Points faibles :
    • Licence : GNU General Public Licence version 3
    • Site : https://www.laurux.fr/
    • Code source :
    • Laurux sur LinuxFr.org.

    Ledger

    Avatar de Ledger
    Ledger est un outil en ligne de commande, qu’on nourrit avec de simples fichiers textes. La puissance de la ligne de commande en fait tout l’intĂ©rĂȘt. DĂ©veloppĂ© en C++ il a Ă©tĂ© portĂ© sur de nombreux autres langages. Ledger ne fait que la comptabilitĂ© en partie double. Plusieurs extensions facilitent son utilisation, sans entraver la rapiditĂ© de saisie.

    Interface Console (terminal)
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : AdaptĂ© pour les compte-rendus, donc en complĂ©ment d’un autre logiciel. Il est super puissant car facilement scriptable.
    • Points faibles : Par contre, il a trĂšs peu de garde-fous. On peut mettre n’importe quelle transaction, il ne dira rien. J’avais dans l’idĂ©e de faire des scripts pour automatiser/sĂ©curiser des transactions classiques (dĂ©penses sur une clef, vente d’un lot, etc.) mais j’ai arrĂȘtĂ© d’ĂȘtre syndic bĂ©nĂ©vole avant de le faire (marre de courir aprĂšs les impayĂ©s d’un copropriĂ©taire)
    • Licence : BSD
    • Site : https://www.ledger-cli.org/
    • Code source : https://github.com/ledger/ledger

    Noalyss (autrefois PHPCompta)

    logo Noalyss
    Au dĂ©part centrĂ© sur la compta, Noalyss est devenu un logiciel de gestion d’entreprise trĂšs complet. Noalyss utilise une interface web avec des serveurs web et Postgresql. Des paquets et une procĂ©dure d’installation existent pour Linux, Windows et MacOSX. Activement dĂ©veloppĂ© en Belgique, sa communautĂ© importante est conviviale.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km ?
    IntĂšgre achats, ventes, factures, stock, documents, etc.
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée ?
    En réseau oui, et aussi sur Internet
    Aide docu, wiki, tutos
    Communauté forum, liste

    Odoo

    logo Odoo

    Odoo est un puissant ERP, modulaire, utilisĂ© par des micro-entreprises comme des multinationales. L’entreprise Odoo connaĂźt une croissance rapide depuis vingt ans, et emploie plus de 2000 personnes dans le monde. Le fondateur d’Odoo poste rĂ©guliĂšrement des dĂ©pĂȘches annonçant les nouvelles versions d’Odoo sur LinuxFr.org, et un journal sur une migration d’ERP a produit des interventions de haut niveau. Odoo est Ă©crit en Python et utilise Postgresql, son interface est Ă©crite en XML et Javascript. Il est facile Ă  installer.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km
    Intùgre achats, ventes, factures, stocks, documents et plein d’autres modules
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : L’interface est uniformisĂ©e, ergonomique et soignĂ©e. Le dĂ©veloppement est intense depuis plus de vingt ans, appuyĂ© sur l’entreprise Odoo et une large communautĂ© d’intervenants et d’utilisateurs. Des milliers de modules sont disponibles. Documentation facile Ă  lire, complĂ©tĂ©e par un forum et un grand nombre de sites, vidĂ©os et livres. ÉnormĂ©ment d’intĂ©grations Ă  des services d’État ou privĂ©s. La communautĂ© s’est regroupĂ©e dans l’OCA Odoo Community Association qui maintient les anciennes versions et dĂ©veloppe des centaines de modules libres de haute qualitĂ©. L’OCA propose aussi un outil de montĂ©e de versions.
    • Points faibles : L’Apps Store Odoo est de qualitĂ© trĂšs diverse, certains modules ne sont pas libres, pour installer la comptabilitĂ© libre française, il faut s’y retrouver entre plusieurs modules. C’est plus simple pour les pays anglo-saxons.
    • Licence : GNU General Public Licence version 3 et propriĂ©taire
    • Site : https://www.odoo.com
    • Code source : https://github.com/odoo/odoo
    • Odoo sur LinuxFr.org.

    OpenConcerto

    logo OpenConcerto
    OpenConcerto est un progiciel de gestion intĂ©grĂ©e (PGI ou ERP). Sa cible : les entreprises, grandes ou petites. C’est une application java Ă  installer sur chaque poste utilisateur. Guillaume Maillard, son auteur, est un vieil habituĂ© de LinuxFr.org.

    Interface Bureau (version Web prévue en 2023)
    Aide Ă  la saisie oui
    Saisie au km oui
    IntĂšgre achats, ventes, factures, stock, paye, documents
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports FEC (DGFIP), EBP, Sage, Relation experts (Coala), Quadratus, Cegid CCMX
    Transmission automatisée SEPA
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : la comptabilitĂ© est facile Ă  prendre en main. Il y a une version pour macOS (ce qui est Ă  relever compte tenu de la raretĂ© des logiciels comptables pour ce systĂšme d’exploitation). S’agissant d’un progiciel de gestion intĂ©grĂ©e : il y a aussi des fonctionnalitĂ©s de gestion commerciale, de suivi des stocks et de prĂ©paration des commandes. Plusieurs modules complĂ©mentaires existent comme un module d’OCR qui permet, Ă  partir d’une facture numĂ©risĂ©e, de la saisir automatiquement dans le logiciel, ou bien un module de paye (seul module payant) : fiches de paye, journaux de paye et dĂ©clarations.
    • Points faibles : c’est trĂšs complet et donc un peu complexe pour une micro-entreprise. Certaines fonctionnalitĂ©s manquent de clartĂ© et d’exemples d’utilisation. La lecture du guide de dĂ©marrage ou du manuel (79€) est conseillĂ©e. L’équipe de dĂ©veloppement manque de temps pour discuter sur les Ă©volutions mais rĂ©pond gĂ©nĂ©ralement aux questions qu’on lui pose sur le forum. Les donnĂ©es ne sont pas stockĂ©es de la mĂȘme maniĂšre entre la version monoposte (un fichier H2) et multiposte (Postgresql). Bien choisir au dĂ©but, sinon il sera difficile de changer.
    • Licence : GNU General Public Licence version 3
    • Site : https://www.openconcerto.org
    • Code source : https://code.openconcerto.org/listing.php?repname=OpenConcerto
    • OpenConcerto sur LinuxFr.org.

    Paheko (ex Garradin)

    Logo de Paheko

    Un logiciel principalement destinĂ© aux associations, qui peut aussi ĂȘtre utilisĂ© par des micro-entreprises. On l’utilise via un navigateur, il y a mĂȘme une application pour mobile. C’est un logiciel complet de gestion d’association : membres, cotisation, comptabilitĂ©, communication.

    Interface web
    Aide Ă  la saisie oui
    Saisie au km
    IntĂšgre achats, ventes, factures,
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports écritures comptables
    Exports
    Transmission automatisée
    En réseau oui, et aussi sur Internet
    Documentation oui, complĂšte
    Forum oui
    • Points forts : il est trĂšs facile Ă  prendre en main, il y a une aide en ligne copieuse ainsi qu’une liste d’entraide. Le logiciel propose cinq plans comptables (associatif 1999 et 2018, Plan Comptable GĂ©nĂ©ral (PCG), ComitĂ©s Sociaux et Économiques, copropriĂ©tĂ©s et plan comptable belge). On peut aussi ajouter son propre plan comptable. Il offre des fonctionnalitĂ©s de comptabilitĂ© analytique. On peut utiliser sa propre instance, rĂ©cupĂ©rer la base de donnĂ©es ou exporter la comptabilitĂ© sous divers formats (CSV, FEC, ODS et XLSX). Il est possible d’importer une comptabilitĂ© dans ces formats. Et, il est en constante Ă©volution avec un dĂ©veloppeur trĂšs rĂ©actif.
    • Points faibles : pas de lettrage, pas de gestion directe des Ă©critures pĂ©riodiques.
    • Licence : GNU Alfredo General Public Licence version 3
    • Site : https://paheko.cloud
    • Code source : https://fossil.kd2.org/paheko/doc/trunk/doc/index.md
    • Paheko sur LinuxFr.org, cherchez aussi Ă  Garradin.

    Tryton

    logo Tryton
    Tryton est un puissant ERP pour entreprises de toutes tailles. Il est accessible via un client Web, une application native ou bien une ligne de commande en Python. L’application cliente est dispo pour Windows, Mac et Linux, le serveur est empaquetĂ© pour plusieurs distributions Linux. Comme Odoo dont il est un fork, Tryton est basĂ© sur une architecture trois tiers Ă©crite en Python (et un peu de ECMAScript version 6) avec PostgreSQL comme base de donnĂ©es. Les auteurs nous parlent rĂ©guliĂšrement de Tryton sur LinuxFr.org.

    Interface Bureau, Web, Console
    Aide Ă  la saisie oui
    Saisie au km oui
    IntĂšgre achats, ventes, factures, stock, projet, etc.
    Comptabilité en partie double
    Comptabilité analytique oui
    Imports CSV, AEB43, CODA, OFX ou CAMT.053
    Exports FEC ou CSV
    Transmission automatisée Chorus, SEPA
    En réseau oui, et aussi sur Internet
    Documentation oui
    Forum oui
    • Points forts : L’interface est uniformisĂ©e, une fois comprise on s’y retrouve quel que soit le module. Un grand choix de modules permet de couvrir tout type d’activitĂ©. On peut tout paramĂ©trer, ajouter des champs, en masquer, adapter des modules
 Le dĂ©veloppement est trĂšs actif, la fondation Tryton rassemble beaucoup d’entreprises et de projets, dont GNU Health. Les montĂ©es de version sont prises en charge automatiquement.
    • Points faibles : L’interface est austĂšre, il y a un trĂšs grand nombre d’options. C’est difficile Ă  prendre en main sans ĂȘtre accompagnĂ© (mais c’est normal).
    • Licence : GNU General Public Licence version 3
    • Site : https://www.tryton.org/
    • Code source : https://www.tryton.org/download#source
    • Tryton sur LinuxFr.org.

    D’autres listes, d’autres articles

    Bien entendu, il manque plein de logiciels. On s’est limitĂ© Ă  ceux qu’on a pu tester. Si ce petit rĂ©sumĂ© ne vous suffit pas ou n’est plus Ă  jour, voici des sites avec des listes complĂ©mentaires (merci d’indiquer en commentaire si vous en connaissez d’autres).

    Alors, un logiciel de comptabilitĂ© pour quoi faire ?

    Avant tout pour faciliter la saisie comptable, fastidieuse quand elle est faite sur du papier (ou des tablettes de cire Ă  l’origine !). Toutes les formes de comptabilitĂ© demandent une rigueur, des connaissances, du calcul et du temps — c’est un mĂ©tier. Le logiciel comptable facilite tout ça.
    Mais aussi pour l’automatisation du suivi comptable, c’est-Ă -dire la production automatique de synthĂšses lisibles et comprĂ©hensibles. Vous pensez peut-ĂȘtre au bilan, mais on a couramment besoin de consulter toutes les dĂ©penses Ă©lectriques ou toutes les recettes de pub sur LinuxFr.org. On a aussi besoin d’envoyer pĂ©riodiquement ces synthĂšses Ă  l’administration, comme la transmission des recettes de TVA.
    Enfin, la comptabilitĂ© enregistre toutes sortes d’opĂ©rations, produites par d’autres logiciels spĂ©cialisĂ©s (salaires, fabrication, factures, etc.). IntĂ©grer tout cela dans un mĂȘme outil permet de gagner du temps et d’éviter les fautes de frappe (une facture gĂ©nĂšre automatiquement les Ă©critures comptables correspondantes). Ça donne des logiciels plus ou moins touffus, certains intĂ©grant toute la gestion d’entreprise, voire tous les outils de travail de l’entreprise — on les nomme ERP (ou PGI en français).

    Note sur les ERP ou PGI

    Quand SAP et les AS400 rĂ©gnaient en maĂźtre sur ce domaine, les ERP Ă©taient exclusivement de trĂšs gros logiciels intĂ©grant non seulement la gestion et la comptabilitĂ©, mais aussi la production, la vente, le dĂ©cisionnel, etc. La forte adaptation aux processus de l’entreprise via un paramĂ©trage puissant, Ă©tait leur gros atout et justifiait un coĂ»t d’installation trĂšs Ă©levĂ©. On en est mĂȘme venu Ă  appeler «SAP» ce type de logiciels.
    La langue Ă©voluant sans cesse, de nos jours on appelle ERP tout logiciel intĂ©grant la gestion, le point de vente, la compta et deux trois outils de moindre importance, tandis qu’on les nommait autrefois «logiciels de gestion». Mais la puissance n’est pas la mĂȘme (le besoin de formation non plus !). On a donc essayĂ© de distinguer dans la liste un puissant ERP paramĂ©trable et adaptable aux processus de l’entreprise, d’un logiciel intĂ©grant les outils de gestion.

    Quel logiciel de comptabilitĂ© adopter ?

    Comme on va le voir, il y a beaucoup de critĂšres, des vĂ©rifications, des questions Ă  se poser. Les articles dĂ©jĂ  mentionnĂ©s de LWN.net montrent assez bien les implications de vos choix. Si vous avez de quoi faire adapter l’outil Ă  vos besoins, choisissez un ERP, puissant ou non.

    Quel logiciel sĂ©lectionner pour sa comptabilitĂ© ? Ça dĂ©pend.

    Ça dĂ©pend de votre statut fiscal, lequel est dĂ©terminĂ© par votre chiffre d’affaires sauf dans certains cas prĂ©cisĂ©s par la loi, et ça dĂ©pend si vous voyez la comptabilitĂ© comme un outil de gestion ou une obligation fiscale. Vous pouvez donc tenir une comptabilitĂ© pour des raisons fiscales, pour des raisons lĂ©gales ou pour des raisons pratiques (ou les trois). Mais pour les mĂȘmes raisons, vous pouvez tenir diffĂ©rentes formes de comptabilitĂ© :

    1. une comptabilitĂ© dite recettes-dĂ©penses, semblable Ă  votre budget familial, trĂšs courante dans les associations regroupant des bĂ©nĂ©voles et ne vendant rien (un cahier suffit) ;
    2. une comptabilitĂ© simplifiĂ©e, dite de trĂ©sorerie, Ă  peu prĂšs semblable Ă  la premiĂšre : vous classez les opĂ©rations bancaires, et vous rentrez les factures de vos fournisseurs, elle est classiquement permise par l’administration pour de faibles chiffres d’affaires ;
    3. une comptabilitĂ© en partie double, fiable et difficile, inventĂ©e par les marchands il y a quelques millĂ©naires pour mieux gĂ©rer leurs entreprises ;
    4. une comptabilité analytique, qui complique les deux précédentes, mais permet de suivre trÚs précisément les dépenses et recettes affectées à une opération, et perfectionne donc la gestion.

    Sauf la premiĂšre, ces comptabilitĂ©s s’appuient sur une classification conventionnelle des opĂ©rations qu’on appelle le [plan comptable]]. Celui-ci varie selon les pays et votre statut juridique. L’utilisation du Plan comptable permet de produire les synthĂšses mentionnĂ©es plus haut — du calcul de la TVA au Bilan d’exercice.
    Il y a des plans comptables tout prĂȘts, adaptĂ©s Ă  des activitĂ©s particuliĂšres (comme les associations), mais tous dĂ©rivent d’un Plan comptable plus gĂ©nĂ©ral. Votre logiciel doit permettre d’importer ou de crĂ©er le Plan comptable souhaitĂ©.

    En passant, sachez qu’il y a des types de comptabilitĂ©, et que leur choix ne permet pas de suivre les mĂȘmes choses. Par exemple, le monde anglo-saxon suit plutĂŽt les finances tandis que le Vieux Continent suit plutĂŽt les biens. Mais lĂ , on rentre dans des dĂ©bats de professionnels qu’il n’est pas nĂ©cessaire d’aborder, d’autant que les frontiĂšres (comptables) bougent en ce moment. VĂ©rifiez ce qui est permis auprĂšs de l’administration. Reposons notre question prĂ©alable en y rĂ©pondant du point de vue pratique :

    Quel logiciel sĂ©lectionner pour sa comptabilitĂ© ? Ça dĂ©pend. Bis.

    Rappelons que beaucoup de logiciels ne se limitent pas Ă  la comptabilitĂ© pure, mais intĂšgrent d’autres outils utiles Ă  la gestion (graphiques des recettes, gestion de cotisations, Ă©dition de factures, transmission automatisĂ©e aux administrations, etc.). Et attention, les Ă©crans de saisie proposĂ©s dans les logiciels sont des aides dont un utilisateur expĂ©rimentĂ© se passe trĂšs bien.

    La comptabilitĂ© est une obligation, c’est peut-ĂȘtre obscur, fastidieux, vous la faites Ă  reculons, mais la vie est ce qu’elle est, nous sommes dans le systĂšme, il faut donc y passer, chaque jour, semaine, annĂ©e
 Alors le meilleur choix, passe aussi par la facilitĂ© d’installation, les couleurs, la facilitĂ© de prise en main, etc.

    Tout dépend donc surtout de vous :

    • si vous avez besoin d’aides Ă  la saisie ou non,
    • si vous prĂ©fĂ©rez des outils intĂ©grĂ©s,
    • si un outil intĂ©grĂ© dĂ©diĂ© Ă  votre activitĂ© est un plus pour vous,
    • si votre statut fiscal impose une compta en partie double,
    • si vous la faites rĂ©guliĂšrement pour la gestion de votre structure,
    • si vous avez besoin d’exporter les donnĂ©es pour votre expert-comptable (vĂ©rifiez les formats possibles avec lui),
    • si vous voulez un outil en rĂ©seau, voire en ligne sur internet,
    • si vous avez dĂ©jĂ  utilisĂ© un logiciel et que vous vous y retrouvez.

    NB Si qui peut le plus, peut le moins, sachez toutefois rester modestes si vous manquez de temps et de compĂ©tences, parce que les outils intĂ©grĂ©s demandent une certaine maĂźtrise. Eh oui ! plus vous intĂ©grez de trucs, plus il faut remplir et paramĂ©trer les trucs avant d’utiliser la partie comptable. Par exemple, sur le cas simple d’une vente, avec un outil intĂ©grĂ© il faudra avoir créé les produits, leurs taxes, le client, son bon de commande et les moyens de paiements avant d’attaquer la partie comptable.

    Attention aux obligations fiscales françaises (utilisĂ©es lors d’un contrĂŽle fiscal)

    En application du 3° bis du I de l'article 286 du Code gĂ©nĂ©ral des impĂŽts (CGI), toute personne assujettie Ă  la taxe sur la valeur ajoutĂ©e (TVA) qui effectue des livraisons de biens et des prestations de services Ă  destination de clients particuliers et qui enregistre les rĂšglements reçus en contrepartie au moyen d’un logiciel ou d’un systĂšme de caisse, est tenue d’utiliser un logiciel ou un systĂšme qui satisfasse aux conditions d’inaltĂ©rabilitĂ©, de sĂ©curisation, de conservation et d’archivage des donnĂ©es en vue du contrĂŽle de l’administration fiscale.

    Tous les dĂ©tails dans l’article du Bulletin Officiel des Finances Publiques - ImpĂŽts (BOFIP) TVA - RĂ©gimes d’imposition et obligations dĂ©claratives et comptables - Obligations d’ordre comptable - Obligation d’utilisation de logiciels ou systĂšmes de caisse sĂ©curisĂ©s

    Format Fichier des Écritures Comptables (FEC)

    Fichier texte tabulaire de 18 champs délimités par barres verticales ou par tabulations, ayant un nommage et un encodage précis ou éventuellement au format XML. Ce format est utilisé par la DGFiP pour pouvoir faire un contrÎle automatisable de la comptabilité. Elle fournit un utilitaire de validation de format pour Windows.

    Les points de vente

    En France, la loi « anti-fraude Â» de 2016 et l’article 286 du Code des impĂŽts imposent une certification des logiciels de caisse (c’est-Ă -dire des points de vente qui collectent des espĂšces) pour Ă©viter les trucages de la comptabilitĂ© via modifications du code-source. Ah ben alors fini le libre ? Mais non mon bon, les logiciels libres sont autorisĂ©s, on en a beaucoup parlĂ© sur LinuxFr.org. Toutes les structures n’y sont pas tenues, typiquement il faut ĂȘtre assujetti Ă  la TVA.
    NB Depuis la loi de finance 2018, article 105, les logiciels de comptabilitĂ© n’ont pas Ă  ĂȘtre certifiĂ©s.

    Si vous avez encore des doutes, consultez la FAQ en français facile Ă©crite par l’équipe de Dolibarr.

    La gestion de la paie

    On n’en a pas beaucoup parlĂ© alors que cette dĂ©pĂȘche a commencĂ© avec la recherche d’un logiciel de paie libre. Disons tout de suite qu’il est prĂ©fĂ©rable de s’appuyer sur des professionnels, en effet la gestion de la paye repose sur trois piliers :

    1. la fiche de paie et les déclarations afférentes
    2. l’émission et la conservation sĂ©curisĂ©e de la fiche de paie
    3. la saisie comptable

    Certains logiciels ont des modules de gestion des payes (OpenConcerto pour la paie française, Odoo pour plusieurs pays
). L’avantage est de faciliter les Ă©critures comptables. Mais attention, la gestion de la paye impose un suivi juridique et un suivi des taux des cotisations, car le cadre lĂ©gal varie selon les professions, les salaires et varie aussi dans le temps. Cette actualisation permanente est faite par les professionnels (comptables et experts comptables). Sauf Ă  bien connaĂźtre votre profession ou Ă  ĂȘtre dans un cadre relativement simple (par exemple celui des intermittents du spectacle en France), vous gagnerez du temps, de l’argent et de la « lĂ©galitĂ© Â» en passant par des professionnels. Les options les plus courantes sont de choisir un cabinet d’expertise comptable ou un service en ligne (nettement moins cher). Lisez ou relisez les commentaires du forum.

    S’agissant de la saisie et du traitement comptable de la paie, n’importe quel logiciel de comptabilitĂ© peut le faire, les logiciels de paye Ă©tant souvent susceptibles de mĂącher le travail Ă  ce niveau-lĂ .

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Raspberry Pi 5, évolution ou révolution ?

    Par :freejeff · Luc-Skywalker · L'intendant zonard · BAud · Julien Jorge · Andréas Livet · tisaac · bobble bubble · esdeem · cg · Christophe · orfenor · palm123 · gUI · warwick · solsTiCe
    9 avril 2025 Ă  17:47

    Les mĂ©andres de l'espace de rĂ©daction sont parfois mystĂ©rieux. La rĂ©daction de certaines dĂ©pĂȘches s'Ă©talent parfois sur de long mois, parfois sans mĂȘme comprendre pourquoi la dĂ©pĂȘche ne part pas vers le stade de la publication. C'est ce qui est arrivĂ© Ă  cette dĂ©pĂȘche qui ne suit donc pas autant qu'elle aurait pu l'actualitĂ© de la sortie de la nouvelle mouture de la microcarte de la Fondation Raspberry Pi, qui porte le nom trĂšs original de Raspberry Pi 5. Cette dĂ©pĂȘche - qui nous offre une comparaison de cette nouvelle Ă©dition avec son illustre ancĂȘtre ainsi qu'une investigation de ses nouveautĂ©s - reste substantielle et il nous a semblĂ© qu'il valait mieux la publier mĂȘme tardivement plutĂŽt que de la plonger dans l'oubli Ă©ternel.

      Sommaire

      Cette dĂ©pĂȘche ne traitera pas de l’ensemble de ce que l’on peut faire, la prĂ©cĂ©dente dĂ©pĂȘche sur les SoC faite pour la sortie de la Raspberry Pi 4 est toujours d’actualitĂ© en ce qui concerne ces sujets.

      Comparaison entre Raspberry Pi 4 et Raspberry Pi 5

      Sorti en 2019, le RPi4 avait fait forte impression—mais quasiment en constante pĂ©nurie entre 2020 et 2023, il commençait par accuser le coup par rapport Ă  la concurrence du Rockchip RK3588 (Quad-core Cortex-A76 + Quad-core Cortex-A55).

      Aussi, la Raspberry Pi 5 introduit des avancĂ©es significatives par rapport Ă  la Raspberry Pi 4, dont le Tableau 1 prĂ©sente une synthĂšse des diffĂ©rences.

      Composants Raspberry Pi 4 Raspberry Pi 5
      SoC Broadcom BCM2711 Broadcom BCM2712
      CPU Quad-core Cortex-A72 (1.8 GHz) Quad-core Cortex-A76 (2.4 GHz)
      GPU VideoCore VI (500 MHz) VideoCore VII (800 MHz)
      Mémoire 1, 2, 4, 8 GB LPDDR4-3200 SDRAM 4, 8 GB LPDDR4X-4267 SDRAM
      Wi-Fi Dual-band 802.11ac Dual-band 802.11ac
      Bluetooth 5.0, BLE 5.0, BLE
      USB 2 USB 3.0, 2 USB 2.0, 1 Type-C port 2 USB 3.0, 2 USB 2.0, 1 Type-C port
      Stockage MicroSD MicroSD (SDR104âŸčR/W↗ˣÂČ) + ligne PCIe pour NVME M.2 SSD
      Ethernet Gigabit Ethernet Gigabit Ethernet
      Puissance Jusqu’à 7.5 W 2 modes : jusqu’à 15 W et jusqu’à 25 W
      Gestion HDMI 2 HDMI 2.0 (1 gĂ©rant 4k@60 Hz) 2 HDMI 2.0 (tous les deux gĂ©rant 4k@60 Hz)
      Format vidéo H.264 (AVC) H.265 (HEVC)
      PCIe Non 1 lane PCIe pour périphériques haute performance
      Bouton d’alimentation Non Oui

      Tableau 1 : comparatif des Raspberry Pi 4 et 5

      Détail des améliorations de la Raspberry Pi 5

      La Raspberry Pi 5 introduit des avancĂ©es significatives par rapport Ă  la Raspberry Pi 4, en particulier avec l’introduction du southbridge RP1. Voici une comparaison dĂ©taillĂ©e mettant en Ă©vidence les principales diffĂ©rences et l’impact du RP1 :

      • Processeur : La Raspberry Pi 5 est Ă©quipĂ©e d’un CPU ARM Cortex-A76, une amĂ©lioration substantielle par rapport au Cortex-A72 trouvĂ© dans la Raspberry Pi 4. Cette mise Ă  niveau fait que la Pi 5 est deux Ă  trois fois plus rapide que son prĂ©dĂ©cesseur.
      • RAM : La Raspberry Pi 5 utilise de la LPDDR4X-4267 SDRAM, nettement plus rapide que la LPDDR4-3200 SDRAM utilisĂ©e dans la Pi 4. Cette amĂ©lioration offre plus de bande passante, contribuant Ă  des performances globalement plus rapides.
      • Puissance graphique : La Raspberry Pi 5 dispose d’un GPU VideoCore VII plus puissant, cadencĂ© Ă  800 MHz et prenant en charge OpenGL ES 3.1 et Vulkan 1.2. C’est une avancĂ©e par rapport au GPU VideoCore VI de la Raspberry Pi 4, qui prend en charge OpenGL ES 3.1 et Vulkan 1.0. Le GPU de la Pi 5 comprend Ă©galement un nouveau processeur de signal d’image pour la gestion des donnĂ©es des camĂ©ras.
      • Chip RP1 Southbridge : La puce RP1 est une innovation majeure dans la Raspberry Pi 5. Elle agit comme un southbridge, gĂ©rant la plupart des fonctions I/O (entrĂ©e/sortie), rĂ©duisant ainsi la charge sur le CPU. Cela permet une augmentation de la bande passante I/O, bĂ©nĂ©ficiant aux dispositifs de stockage, USB et autres pĂ©riphĂ©riques.
      • Vitesse des cartes MicroSD : Le port microSD de la Pi 5 prend en charge le mode haute vitesse HDR 104 avec les cartes microSD UHS-1, offrant des vitesses de lecture de 80-90 Mbps, soit le double de la vitesse de 40-50 Mbps de la Pi 4.
      • Ports USB : Dans la Raspberry Pi 5, chacun des deux ports USB 3.0 dispose d’une bande passante dĂ©diĂ©e de 5 Gbps, grĂące Ă  la puce RP1. C’est une amĂ©lioration par rapport Ă  la Pi 4, oĂč les deux ports USB 3.0 partageaient la bande passante de 5 Gbps.
      • Connecteur PCIe : La Pi 5 inclut un connecteur PCIe (PCI Express), une nouvelle addition rĂ©pondant Ă  la demande pour des interfaces plus rapides. Cependant, l’interface PCIe de la Pi 5 n’est pas un connecteur M.2 standard ; elle nĂ©cessite un cĂąble ruban pour se connecter Ă  un HAT, et le dispositif M.2 se connectera au HAT. CaractĂ©ristiques
      • Un bouton marche/arrĂȘt : Eh oui, on est quand mĂȘme dans le 3ᔉ millĂ©naire ;-)
      • Alimentation : Tout comme la Raspberry Pi 4, la Raspberry Pi 5 utilise un connecteur d’alimentation au format USB Type-C. En revanche, doublement de la puissance oblige, la puissance nĂ©cessaire Ă  son fonctionnement passe de 7.5 W Ă  15 W, il faudra donc une alimentation en 3A minimum pour ĂȘtre tranquille. À noter que si vous souhaitez utiliser des pĂ©riphĂ©riques externes qui consomment beaucoup comme des disques durs ou SSD, il est conseillĂ© d’avoir une alimentation de 25 W (5A). La Raspberry Pi dĂ©tecte si l’alimentation fournit plus de puissance et passe la limite de consommation USB Ă  1,6A au lieu de 1,2A.

      Raspberry Pi 5 : Nouveau South Bridge RP1 vs Raspberry Pi 4

      Le RP1 est un contrĂŽleur d’entrĂ©e/sortie (I/O) conçu pour le Raspberry Pi 5, reprĂ©sentant le programme d’ingĂ©nierie le plus complexe et coĂ»teux entrepris par Raspberry Pi, avec un dĂ©veloppement s’étendant sur plus de sept ans et ayant coĂ»tĂ© environ 25 millions de dollars. Ce contrĂŽleur est le premier produit phare de Raspberry Pi Ă  utiliser une puce conçue en interne​.

      Architecture du South Bridge RP1

      — Description : Le RP1 est un southbridge de 12×12 mm avec un pas de 0.65 mm en BGA (Ball Grid Array), fournissant la majoritĂ© des capacitĂ©s d’E/S pour la Raspberry Pi 5.
      — CaractĂ©ristiques : Il comprend un point de terminaison PCIe 2.0 Ă  4 voies, un contrĂŽleur Ethernet MAC Gigabit et deux contrĂŽleurs hĂŽtes USB 3.
      — AmĂ©liorations : Plus du double de la bande passante USB utilisable par rapport Ă  la Raspberry Pi 4.
      — Documentation RP1 : RP1 Datasheet

      Sources des informations sur le RP1

      — L’article d’Eben Upton pour annoncer le RP1 : RP1 : the silicon controlling Raspberry Pi 5 (ce court article est accompagnĂ© d’une vidĂ©o YT de 35 minutes Ă  ce sujet, mais dont le contenu est reproduit textuellement en suivant un lien)
      — Lien direct vers la vidĂ©o YT : RP1 : the silicon controlling Raspberry Pi 5

      Impacts du RP1

      Le RP1 constitue une avancĂ©e importante, puisque les GPIOs “physiques” de la carte ne sont plus directement reliĂ©es aux GPIOs du microprocesseur et de leurs fonctions possibles (SPI/I2C/UART/I2S) attribuĂ©es par le fondeur dans le silicium.

      1. ConnectivitĂ© principale : Le RP1 se connecte Ă  un processeur d’application (AP) via un bus PCIe 2.0 x4, consolidant de nombreux contrĂŽleurs numĂ©riques et PHYs analogiques pour les interfaces externes du Raspberry Pi 5​​.
      2. ContrĂŽle du trafic : Le tissu interne du RP1 permet de prioriser le trafic en temps rĂ©el de la camĂ©ra et de l’affichage sur le trafic non en temps rĂ©el de l’USB et de l’Ethernet. Des signaux de qualitĂ© de service (QoS) sur le lien PCI Express soutiennent la priorisation dynamique entre le trafic provenant du RP1 et le trafic des maĂźtres de bus en temps rĂ©el et non en temps rĂ©el au sein de l’AP​​.
      3. FonctionnalitĂ©s supplĂ©mentaires : Pour une flexibilitĂ© maximale des cas d’utilisation, le RP1 dispose de plusieurs fonctionnalitĂ©s telles qu’un contrĂŽleur DMA Ă  huit canaux pour les pĂ©riphĂ©riques Ă  basse vitesse, trois PLL intĂ©grĂ©es pour la gĂ©nĂ©ration d’horloges vidĂ©o et audio indĂ©pendantes, un convertisseur analogique-numĂ©rique Ă  cinq entrĂ©es, 64kB de SRAM partagĂ©e, et des gĂ©nĂ©rateurs de base temporelle pour le rythme de la DMA ou pour le debouncing des Ă©vĂ©nements GPIO​​​​.
      4. Gestion des contrĂŽleurs de bus : Les modules de rĂ©gulation intĂ©grĂ©s Ă  chaque port de contrĂŽleur de bus permettent de surveiller ou de limiter leur comportement. Ces modules rĂ©gulent le flux de donnĂ©es selon le nombre de transactions en attente, assurent le respect des limites d’adresses AXI et PCIe, et disposent de compteurs statistiques pour Ă©valuer la qualitĂ© de service ou les performances.
      5. Interfaces clĂ©s externes : Le RP1 fournit des interfaces externes clĂ©s telles que deux contrĂŽleurs XHCI indĂ©pendants connectĂ©s Ă  un seul PHY USB 3.0 et un seul PHY USB 2.0, deux contrĂŽleurs de camĂ©ra MIPI CSI-2 et deux contrĂŽleurs d’affichage MIPI DSI connectĂ©s Ă  deux PHY transceivers MIPI DPHY Ă  4 voies partagĂ©es, et un contrĂŽleur d’accĂšs mĂ©dia (MAC) intĂ©grĂ© pour l’Ethernet Gigabit​​​​.
      6. CompatibilitĂ© et Ă©volution : Le RP1 maintient la compatibilitĂ© avec la gamme de fonctions offerte sur le Raspberry Pi 4 Model B, tout en permettant une Ă©volution vers des processus de gĂ©omĂ©trie rĂ©duite, sans avoir Ă  reproduire tous les Ă©lĂ©ments analogiques du systĂšme. Cela pourrait permettre Ă  changer plus facilement de fournisseur de SoC.

      Évolution des performances

      Afin de permettre de mieux visualiser les évolutions des performances Alasdair Allan a fait un benchmark complet dont certains éléments sont repris ici.

      Tout d’abord une analyse des performances du CPU avec geekbench. Les Figures 1 et 2 montrent une augmentation des performances en single core d’approximativement 2.2x,
      performances single core

      Figure 1. : Comparaison des performances single core entre RPi4 et 5
      performances multi core

      Figure 2. : Comparaison des performances multi core entre RPi4 et 5

      Compilation de différents benchmarks entre RPi 4 et 5

      Benchmark Unités Raspberry Pi 4 Raspberry Pi 5 Augmentation de Performance
      Sysbench Mono-Thread MBps 699 1041 x1,49
      Sysbench Multi-Thread MBps 2794 4165 x1,49
      Stress-ng Mono-Thread op/s 104,78 182,68 x1,74
      Stress-ng Multi-Thread op/s 413,12 737,21 x1,78
      Bzip Mono-Thread secondes 44,98 20,53 x2,19
      Bzip Multi-Thread secondes 28,59 14,36 x1,99
      Gimp Redimensionner secondes 67,01 29,95 x2,24
      Gimp Rotation secondes 77,24 32,77 x2,36
      Gimp Niveaux Auto secondes 80,52 34,64 x2,32
      Gimp Masque Flou secondes 115,16 49,71 x2,32
      Speedometer 2.1 score 20,5 62,5 x3,05
      Glmark2 score 97 202 x2,08
      Openarena Timedemo FPS 8,77 27,05 x3,08
      RAMspeed Écriture MBps 4391 29355 x6,69
      RAMspeed Lecture MBps 5902 27931 x4,73
      HDparm Lecture MBps 43,81 90,05 x2,06
      dd Écriture MBps 34,49 61,23 x1,78
      Iozone 4 K Écriture RAND MBps 9,38 15,22 x1,62
      Iozone 4 K Lecture RAND MBps 4,71 4,6 x0,98
      Temps de démarrage secondes 33,4 19,1 x1,74

      performances des I/O

      La Figure 3. issue du travail d’Adafruit permet de mettre Ă  jour le graphique sur la vitesse performance de la commutation des I/O proposĂ© dans la dĂ©pĂȘche sur la RPi4. La Figure 4. quant Ă  elle montre une lĂ©gĂšre amĂ©lioration de la performance par Watt sur le nouveau modĂšle.

      Titre de l’image
      Figure 3. Évolution de la vitesse de commutation d’une sortie numĂ©rique

      Titre de l’image
      Figure 4. Évolution de la performance en fonction de la puissance Ă©lectrique

      Interfaces USB et Ethernet

      — Interfaces: Le RP1 fournit deux interfaces USB 3.0 et deux interfaces USB 2.0, ainsi qu’un contrĂŽleur Ethernet Gigabit.
      — Source: Circuit Digest – The New Raspberry Pi 5 is here

      Le Gigabit Ethernet fourni par le RP1 est en tout point semblable Ă  celui du RBPi4 (voir : RP1 : the silicon controlling Raspberry Pi 5:

      Liam 13:21: So we’ve got the Ethernet MAC but not the PHY. So the Ethernet’s brought out to an RGMII interface, which then connects to an on-board Ethernet PHY.

      Eben 13:35: And this is a fairly similar architecture to Raspberry Pi 4, except that in that case, the MAC was in the Broadcom device, but there was still an external – in fact exactly the same external – PHY, [BCM]54213. Cool. So that’s the overall structure of the design.

      Interfaces MIPI CSI/DSI

      Ces interfaces d’entrĂ©e/sortie vidĂ©o peuvent ĂȘtre qualifiĂ©es d’historiques dans l’écosystĂšme RaspberryPi puisqu’elles sont prĂ©sentes depuis la version 1. Le RBPi5 apporte toutefois une nouveautĂ© assez remarquable par rapport Ă  ses prĂ©dĂ©cesseurs : au lieu d’avoir un port CSI (pour une camĂ©ra) et un port DSI (pour un Ă©cran), les ports du RBPi5 peuvent ĂȘtre configurĂ©s pour l’une ou l’autre fonction. Malheureusement, cela s’est traduit par des changements notables au niveau de la disposition des composants sur la carte, qui ne sont pas sans susciter quelques grincements de dents parmi les utilisateurs.

      Les points discutables/discutés

      Le réarrangement de la carte

      — Le port audio a disparu, pour laisser sa place au port MIPI DSI (qui peut faire CSI Ă  prĂ©sent), lui-mĂȘme remplacĂ©, au-dessus du lecteur de carte microSD, par un connecteur FPC exposant les lignes PCIe.
      — le port DSI est passĂ© de 15 pins Ă  22 pins (comme sur la carte CMIo4)
      — Et, encore une fois, les ports Ethernet et USB ont Ă©tĂ© inversĂ©s.

      Si cela ne pose pas de problÚmes particuliers pour un utilisateur lambda, de nombreux projets basés sur les cartes RasperryPi à la recherche de performance de calcul (et donc potentiellement intéressés par ce nouveau RBPi5) doivent entiÚrement revoir la conception de leur matériel.

      Le non réarrangement de la carte

      C’est un reproche que l’on peut trouver dans de nombreux tĂ©moignages : mettre un HAT (carte d’extension) sur un RBPi, juste au dessus du CPU, c’est un non-sens en termes de refroidissement (et ce, quelle que soit la version du RBPi).
      Mais, pour relativiser, on peut dire la mĂȘme chose de quasiment toutes les autres solutions alternatives au RBPi.

      Les limites du format carte de crédit

      Ce format (86x56 mm) est devenu une rĂ©fĂ©rence pour presque tous les acteurs du monde des SBC. Et donc, il s’agit lĂ  aussi d’un constat plus gĂ©nĂ©ral, non spĂ©cifiquement adressĂ© Ă  RaspberryPi. Mais sachant que ce sont les locomotives du marchĂ©, peut ĂȘtre pourraient-ils initier une nouvelle approche

      Certes, ce format permet d’élaborer des solutions compactes, mais l’on peut constater :

      — qu’augmenter la puissance et les fonctionnalitĂ©s des puces embarquĂ©es tout en restant sur ce format conduit Ă  un gaspillage inutile de ressources : il est en effet impossible d’implĂ©menter toutes les fonctionnalitĂ©s matĂ©rielles proposĂ©es par les puces sur une si petite surface, et par ailleurs il devient difficile de refroidir efficacement le systĂšme.
      — pour exposer le port PCIe, RaspberryPi a supprimĂ© le port audio, dĂ©placĂ© le port DSI ; mais pour alimenter le bouzin, il vous faut du 5V 4A. Ensuite un peu tout le monde se trouve plantĂ© lĂ  : dĂ©brouillez-vous.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      GNOME OS comme Linux idéal, partie 1 : la promesse de l'atomique

      Et si le systĂšme d’exploitation (OS) libre et souverain dont le monde a besoin Ă©tait basĂ© sur GNOME ? C’est ce que propose Thibault Martin dans un billet postĂ© le 28 fĂ©vrier 2025 sur son blog. L’idĂ©e est ambitieuse, et bien entendu elle peut froisser les gens qui prĂ©fĂšrent d’autres environnements de bureau, mais elle prĂ©sente l’intĂ©rĂȘt de s’appuyer sur deux tendances notables dans l’actualitĂ© rĂ©cente de Linux : l’avĂšnement des systĂšmes atomiques et la demande d’un OS dit “souverain”. Nous vous proposons, Ă  travers le billet de Martin, d’en apprendre plus sur ces deux tendances. Ce premier journal se concentre sur la premiĂšre : les systĂšmes atomiques, et le changement de paradigme qu’ils prĂ©figurent pour le bureau Linux.

      Sommaire

      De quoi ça parle ?

      Dans ce billet titrĂ© « Prosthetics that don't betray » (« des prothĂšses qui ne trahissent pas »), Thibault Martin, ancien membre de la fondation GNOME, appelle Ă  changer la gouvernance du projet pour se donner les moyens d’en faire un OS “indĂ©pendant” et prĂȘt Ă  l’emploi, financĂ© par l’Union europĂ©enne. Il est question ici de vendre des ordinateurs et des tĂ©lĂ©phones avec un systĂšme Linux prĂ©-installĂ© dessus, assemblĂ© par et basĂ© sur GNOME, indĂ©pendant de toute distribution existante, et le tout idĂ©alement financĂ© par l’Union europĂ©enne (« ça se verrait Ă  peine dans son budget », argue Martin).

      Pourquoi GNOME ? Parce que c’est l'environnement de bureau prĂ©fĂ©rĂ© de Martin, Ă©videmment. Il vante notamment sa bonne intĂ©gration au mobile : on l’ignore peut-ĂȘtre (car il reste nettement plus difficile d’installer un Linux sur un tĂ©lĂ©phone que sur un PC), mais les dĂ©veloppeurs GNOME travaillent depuis quelques annĂ©es Ă  rendre leurs applis adaptables aux petits Ă©crans. Il ne s’agit pas de versions diffĂ©rentes, mais bel et bien de vos applis de bureau, qui se redimensionnent automatiquement pour ĂȘtre utilisables Ă  l’écran tactile. Nick du Linux Experiment en a rĂ©cemment dit du bien dans une de ses vidĂ©os. Bien entendu, il existe d’autres interfaces mobiles dans le monde Linux, au hasard celle de KDE, Plasma Mobile. Mais ce n’est pas sur cet argument que cette dĂ©pĂȘche aimerait s’attarder ; plutĂŽt que de parler des avantages et inconvĂ©nients de GNOME sur les autres environnements graphiques libres, nous allons nous pencher sur deux autres idĂ©es avancĂ©es par Thibault Martin dans son billet, Ă  savoir :

      • pour ĂȘtre « utilisable par les masses », cet OS de rĂȘve doit adopter une technologie dite “atomique”
      • sa vocation principale sera d’échapper Ă  « l’hĂ©gĂ©monie amĂ©ricaine » et « sĂ©curiser la souverainetĂ© numĂ©rique de l’UE »

      Les OS atomiques, ou la promesse du Linux qui juste-marche

      C’était le 25 fĂ©vrier dernier, et il l’a dit au premier degrĂ© : "We believe that 2025 is truly the year of the Linux gaming desktop Â». Pourtant, Nirav Patel prĂ©cise bien cinq secondes avant que ses ordinateurs (il est le fondateur et le PDG de Framework) supportent aussi Windows. Mais il a l’air de sincĂšrement croire que cette annĂ©e, quelque chose de diffĂ©rent est en train de se passer avec le bureau Linux ; et sur la diapo oĂč est Ă©crite cette phrase, on peut voir les logos de Playtron OS et Bazzite, deux projets de Linux orientĂ©s “gaming”, mais qui prĂ©sentent aussi la particularitĂ© d’ĂȘtre basĂ©s sur Fedora Silverblue, sans doute le plus populaire des Linux atomiques.

      À moins que ce ne soit l’inverse ? Le 13 fĂ©vrier dernier, Jorge Castro, fondateur du projet Universal Blue (dont est issu Bazzite), montrait fiĂšrement les statistiques des appareils actifs sous Fedora atomiques (si vous ne le saviez pas, toutes les installations de Fedora envoient par dĂ©faut un signal anonyme aux serveurs afin d’ĂȘtre recensĂ©es). On y voit les machines sous Bazzite doubler de nombre entre octobre dernier et fĂ©vrier, dĂ©passant de loin les propres variantes atomiques officielles de Fedora (mais encore trĂšs loin derriĂšre “la” Fedora Workstation ordinaire, selon Castro).

      Évolution du nombre d’appareils actifs sous Fedora atomiques entre juillet 2024 et fĂ©vrier 2025

      Bazzite a tellement la cote qu’elle a Ă©tĂ© saluĂ©e comme « mettant la honte Ă  Windows » dans un article sur The Verge, ce qui est surprenant de la part d’un mĂ©dia tech “gĂ©nĂ©raliste” qui jusqu’à prĂ©sent n’avait d’yeux que pour les GAFAM et ne s’intĂ©ressait guĂšre au monde du libre. Il y a, bien sĂ»r, une explication simple Ă  ce succĂšs : Bazzite vise une niche particuliĂšre, celle des utilisateurs et utilisatrices de Steam Deck et autres consoles portables Ă  base de technologie PC, et on peut arguer que cette niche est non seulement en pleine croissance, mais aussi peut-ĂȘtre un peu dĂ©laissĂ©e par un Microsoft qui n’a pas encore bien optimisĂ© son Windows Ă  un tel cas d’usage. Ce serait comme attribuer la hausse des tĂ©lĂ©chargements de Linux il y a 15 ans Ă  la mode des netbooks. Mais nous aimerions arguer ici que le succĂšs de Bazzite est aussi dĂ» Ă  son choix technologique de bureau atomique.

      Pour rappel, “atomique” est l’expression qui tend Ă  remplacer celles d'“immuable” (traduction anglaise d'"immutable") ou "image-based", et qui dĂ©signe une façon bien particuliĂšre de construire et distribuer un systĂšme d’exploitation. SolĂšne Rapenne propose une dĂ©finition dans un billet de 2023, oĂč elle rĂ©sume les principes essentiels des systĂšmes immuables :

      • les mises Ă  jour systĂšme ne sont pas effectuĂ©es sur le systĂšme en cours d’utilisation (celui-ci n’est jamais censĂ© changer, d’oĂč le qualificatif d'“immuable”)
      • les modifications de paquets sont appliquĂ©s au prochain dĂ©marrage (mais pas celles des Flatpak par exemple)
      • vous pouvez revenir en arriĂšre (roll back) et restaurer le systĂšme dans l’état exact oĂč il se trouvait avant une mise Ă  jour

      Les systĂšmes atomiques peuvent avoir chacun leurs particularitĂ©s : ainsi, NixOS (lisez Ă  son sujet notre rĂ©cente dĂ©pĂȘche), Endless OS, les images Universal Blue, Vanilla OS, MicroOS ou encore AerynOS, mais aussi ChromeOS et Android ne fonctionnent pas tout Ă  fait de la mĂȘme façon, bien qu’ils partagent ces trois principes en commun. Mais le gros joueur dans ce domaine, c’est Fedora : Renault nous expliquait il y a bientĂŽt cinq ans comment les expĂ©rimentations du projet ont donnĂ© naissance Ă  Silverblue et comment ce dernier s’utilisait. Depuis, Silverblue a Ă©tĂ© dĂ©clinĂ© en versions Plasma, Sway, Budgie et bientĂŽt COSMIC et Plasma Mobile ; certaines de ses briques sont amenĂ©es Ă  Ă©voluer, comme l’expliquait TimothĂ©e Ravier Ă  la sortie de Silverblue 41 en automne dernier (voir la section Notes), mais les principes fondamentaux restent les mĂȘmes, et vous pouvez les retrouver dĂ©crits dans la documentation commune (en version bĂȘta) des Fedora atomiques. Ravier les rappelle dans un rĂ©cent entretien qu’il nous a accordĂ© (Ă  paraĂźtre aprĂšs le 21 avril) et nous partage son espoir de voir un jour l’atomique devenir le modĂšle par dĂ©faut pour Fedora :

      Je l’espĂšre ! Il est impossible de donner une Ă©chĂ©ance et cela ne dĂ©pend pas vraiment de moi. La difficultĂ© la plus importante est la prise en charge du matĂ©riel et les pilotes qui ne sont pas intĂ©grĂ©s dans Fedora. C’est un problĂšme que l’on ne peut pas rĂ©soudre dans Fedora Ă  cause des contraintes lĂ©gales et qui sont traitĂ©es par le projet Universal Blue, dont la variante Bazzite est trĂšs populaire.

      Capture d’écran du site officiel de Bazzite
      Capture d’écran du site officiel de Bazzite

      Les possibilitĂ©s ouvertes par cette approche sont telles qu’elles inspirent beaucoup de Linuxiens Ă  assembler leur propre bureau Linux atomique, y compris hors des mainteneurs de distributions : c’est le cas de Jorge Castro et de Thibault Martin. Mais Martin n’est pas le premier Ă  avoir eu l’idĂ©e parmi la communautĂ© GNOME : il cite un billet d’Adrien Vovk paru en octobre dernier, titrĂ© « Un bureau pour tous Â», et qui appelle dĂ©jĂ  Ă  s’appuyer sur GNOME, et plus prĂ©cisĂ©ment le projet GNOME OS (lequel est dĂ©jĂ  atomique), pour « construire un OS qui rend le bureau Linux utilisable pour les non-passionnĂ©s » :

      Je pense Ă  mes amis et Ă  ma famille : ils ne mĂ©ritent pas plus que nous d’ĂȘtre maltraitĂ©s par les entreprises de la tech. Beaucoup d’entre eux adorent l’idĂ©e de Linux et sont d’accord avec nos valeurs, mais ont dĂ©cidĂ© de ne pas rester dessus aprĂšs l’avoir essayĂ© pour de vrai. Ils sont intĂ©ressĂ©s, mais juste pas assez intĂ©ressĂ©s pour surmonter nos barriĂšres Ă  l’entrĂ©e. Ils se moquent des paquets, des codecs, des pilotes, des brevets, des licences, ou de toutes ces choses qui sont devenues ce qu’on doit gĂ©rer en tant que passionnĂ©s de Linux. Je crois que beaucoup se mettront Ă  se prĂ©occuper de ces choses-lĂ  une fois qu’ils auront rejoint nos communautĂ©s, comme nous l’avons tous fait nous-mĂȘme, mais Ă  l’heure actuelle, ils ne nous rejoignent pas


      L’idĂ©e ne sĂ©duit pas que chez GNOME : Vovk dit lui-mĂȘme avoir Ă©tĂ© inspirĂ© par KDE, aprĂšs que ceux-ci aient annoncĂ© un projet similaire lors de la confĂ©rence Akademy en septembre 2024, sobrement baptisĂ© « KDE Linux Â». Et pour pallier les dĂ©fauts que les devs reprochent Ă  KDE neon, laquelle vieillit trop vite du fait d’ĂȘtre basĂ©e sur Ubuntu LTS, KDE Linux sera donc, lui aussi, un OS atomique et immuable : « les applis viendront de Flatpak (et peut-ĂȘtre aussi de Snap si ce n’est pas trop difficile et que l’UX est convenable) ». Et lui aussi aura vocation Ă  s’adresser au plus large public possible, « des dĂ©veloppeurs KDE aux utilisateurs et aux vendeurs de matĂ©riel ».

      Or, pour atteindre un tel objectif d’universalitĂ©, Vovk considĂšre que GNOME OS se doit d’ĂȘtre complĂštement immuable, sans permettre Ă  l’utilisateur d’installer des paquets traditionnels, contrairement au « modĂšle immuable-hybride en vogue Â» qui est celui de Silverblue et ses dĂ©rivĂ©s (oĂč il est possible de faire du layering pour installer des paquets de la distribution, faisant ainsi entorse Ă  l’immuabilitĂ©) :

      À mon avis, permettre l’overlay de paquets dissuade le dĂ©veloppement de vraies solutions permanentes aux fonctionnalitĂ©s manquantes dans l’OS, puisque les utilisateurs peuvent juste se reposer sur les surcouches. Au bout du compte, la nĂ©cessitĂ© d’installer des paquets pour contourner ces problĂšmes va juste garantir que personne n’utilisera les distributions immuables-hybrides de maniĂšre immuable, ce qui annule les bienfaits de l’immuabilitĂ© tout en soumettant l’utilisateur aux points de friction [sharp edges] supplĂ©mentaires qu’apporte l’immuabilitĂ©.

      Comme le rappelle Vovk, cette idĂ©e a dĂ©jĂ  Ă©tĂ© formulĂ©e par le fameux Lennart Poettering en mai 2022, dans un long billet oĂč il dĂ©taille sa vision personnelle (« et non celle de mon employeur », qui Ă  l’époque Ă©tait soit Red Hat, soit Microsoft) de la direction dans laquelle le bureau Linux doit aller :

      Avant toute chose, je pense qu’il faut se concentrer sur un design basĂ© sur une image plutĂŽt que sur des paquets. Pour la robustesse et la sĂ©curitĂ©, il est essentiel de travailler avec des images reproductibles et immuables qui dĂ©crivent l’OS ou des grandes portions de celui-ci dans leur entiĂšretĂ©, plutĂŽt que de toujours travailler avec des paquets dĂ©taillĂ©s façon RPM/dpkg. Ce n’est pas dire que les paquets ne sont pas pertinents (je trouve en rĂ©alitĂ© qu’ils ont beaucoup d’importance !), mais je pense qu’ils devraient ĂȘtre moins un outil de dĂ©ploiement de code, mais plutĂŽt un outil pour construire les objets Ă  dĂ©ployer. Une autre maniĂšre de voir la chose : tout OS construit ainsi doit ĂȘtre facile Ă  rĂ©pliquer sur un grand nombre d’instances, avec une variabilitĂ© minimale.

      C’est donc bien un nouveau paradigme qui bouleverse les principes traditionnels des distros, selon lesquels les empaqueteurs se chargent d’assembler et distribuer toutes les applications qu’ils veulent rendre disponibles Ă  leurs utilisateurs. Or, dans les prĂ©conisations de la documentation de l’outil Blue-build, dĂ©diĂ© Ă  la crĂ©ation d’images atomiques customisĂ©es, il faut au contraire « rĂ©sister Ă  la tentation d’intĂ©grer tout l’univers » :

      Les systĂšmes dans ce genre sont conçus autour d’un cƓur petit, simple et efficace, maintenable et performant. Rappelez-vous que les mises Ă  jour de l’image de base nĂ©cessitent un redĂ©marrage, donc idĂ©alement vous allez vouloir limiter sa taille – laissez Flatpak et d’autres outils de l’espace utilisateur s’occuper du reste.

      Diapositive issue de la prĂ©sentation « Bazzite: Building the Future of Linux Gaming Together » donnĂ©e par Kyle Gospodnetich et Noel Miller au salon SCALE 22x, le 8 mars 2025
      Diapositive issue de la prĂ©sentation « Bazzite: Building the Future of Linux Gaming Together » donnĂ©e par Kyle Gospodnetich et Noel Miller au salon SCALE 22x, le 8 mars 2025

      Jorge Castro dit lui-mĂȘme :

      Je ne voulais pas refaire une autre distro. J’ai fait ça pendant dix ans [chez Canonical, NDLR], je ne voulais pas faire d’empaquetage, je comprends les difficultĂ©s que ça entraĂźne de faire une distro, je ne veux plus jamais refaire ça.

      Et il ajoute :

      Il nous faut avoir des applis en bac Ă  sable, sans quoi autant faire nos valises et rentrer chez nous. Actuellement c’est flatpak via flathub. MalgrĂ© toutes les plaintes que vous pouvez lire sur le net au sujet de flatpak, il y a plein de monde qui en tire une bonne expĂ©rience. [
] Et aussi nous avons abandonnĂ© tout l’aspect « allons empaqueter la planĂšte entiĂšre nous-mĂȘme » du modĂšle parce que nous savons que ça ne s’étend pas [it doesn't scale]. Ça veut dire que c’est aux dĂ©veloppeurs d’applis de prendre en charge leur destin, et que c’est notre boulot de livrer tout ça Ă  l’utilisateur. [
] C’est aussi pour cela que nous ne sommes pas une distro – nous sommes trois distros, fedora pour la base, homebrew pour la ligne de commande, flatpak pour les applis Ă  interface graphique. Oh et puisque vous avez aussi distrobox, n’importe quel autre paquet de distro.

      Et Ă©videmment, cet Ă©loignement revendiquĂ© du modĂšle de la bonne vieille distribution n’est pas sans causer quelques frictions, surtout au sein d’une communautĂ© comme Fedora qui demeure avant tout dĂ©diĂ©e Ă  faire
 une bonne vieille distribution. Le 21 janvier 2025, Michael Catanzaro demandait que Flathub devienne le dĂ©pĂŽt Flatpak par dĂ©faut des Fedora, plutĂŽt que le dĂ©pĂŽt Flatpak de Fedora comme c’est le cas jusqu’alors, affirmant que ces flatpaks “maison” Ă©taient « une source notable de problĂšmes de qualité », et citant des « plaintes de multiples dĂ©veloppeurs upstream », notamment ceux du cĂ©lĂšbre OBS qui sont allĂ©s jusqu’à rĂ©clamer formellement le retrait du Flatpak que Fedora distribue pour leur appli. Le conflit s’est depuis dĂ©tendu et les dĂ©veloppeurs d’OBS ont rĂ©tractĂ© leur demande, mais pas sans que le Project Leader de Fedora Matthew Miller ne dĂ©clare sur la chaĂźne YouTube de Brodie Robertson que « les rĂšgles d’acceptation sur Flathub sont plutĂŽt laxistes » et que rien ne garantissait l’absence de code malveillant dans leurs flatpaks, ce qui a provoquĂ© une levĂ©e de boucliers et une clarification officielle de Flathub quant Ă  leur processus de vĂ©rification. Miller a saluĂ© cette clarification et prĂ©cisĂ© sa pensĂ©e, et Ă  l’heure actuelle, c’est toujours les dĂ©pĂŽts de Fedora qui sont prĂ©sĂ©lectionnĂ©s par dĂ©faut lorsqu’on cherche Ă  installer un Flatpak via Logiciels ou Discover dans une Fedora.

      Alors, faut-il imaginer un projet tout neuf et Ă©mancipĂ© des distributions, comme GNOME et KDE aimeraient le faire, pour ĂȘtre digne d’ĂȘtre l’OS atomique dont l’Europe a besoin ? À moins que ce dont l’Europe ait besoin, ce n’est pas d’un seul mais de plusieurs OS atomiques ? C’est l’idĂ©e que dĂ©fend openSUSE, qui propose aux gouvernements non pas d’adopter une seule et unique solution qui "surfe sur l’idĂ©e de souverainetĂ© europĂ©enne", mais plutĂŽt une stratĂ©gie multi-distributions, qui inclurait, au hasard, les propres projets atomiques d’openSUSE – Aeon (sous GNOME) et Kalpa (sous Plasma) :

      L’idĂ©e globale dont les gouvernements ont besoin de dĂ©battre va au-delĂ  du standard des distros. À l’ñge du rançongiciel, du verrouillage dans le nuage et du capitalisme de surveillance, il est temps d’aller au-delĂ  de la façon traditionnelle de penser les OS de bureaux. Le monde de l’open-source a dĂ©jĂ  les outils pour avancer vers cette nouvelle façon de penser :

      • L’immuabilitĂ© avec des mises Ă  jour transactionnelles (MicroOS, Aeon, Kalpa, Kinoite)
      • Une configuration systĂšme dĂ©clarative (Agama, Ansible)
      • Des options de bureaux pour des besoins utilisateur variĂ©s (GNOME, KDE Plasma, Xfce)
      • Des standards d’identitĂ©s et d’authentification ouverts (LDAP, OpenID)
      • Des formats de paquet transparents (Flatpak, RPM)

      La gouvernance des Linux : suffit-il d’ĂȘtre libre pour ĂȘtre souverain ?

      Ce second volet fera l’objet d’une dĂ©pĂȘche future, Ă  laquelle vous pouvez d’ores et dĂ©jĂ  contribuer (comme Ă  toutes les autres dĂ©pĂȘches en cours de rĂ©daction sur Linuxfr). À bientĂŽt !


      Notes

      • Les Steam Deck sont vendus avec SteamOS, qui n’est pour l’instant pas disponible au tĂ©lĂ©chargement (Valve a dĂ©clarĂ© vouloir le faire d’ici avril 2025), et qui est Ă©galement un OS atomique. Bazzite est fortement inspirĂ© de SteamOS et en reprend directement une partie de son code, publiĂ© sous licence libre par Valve.
      • Un des signes distinctifs d’Universal Blue est son usage de bootc, qui permet purement et simplement de rendre des conteneurs bootables (ce que Jorge Castro rĂ©sume par « Podman dans une boucle for » ; Colin Walters en parle dans une vidĂ©o de Red Hat) et qui devrait bientĂŽt ĂȘtre adoptĂ© par Fedora Ă  son tour, en remplacement d’OSTree. Sur la feuille de route de ce projet, TimothĂ©e Ravier prĂ©cisait en janvier dernier que, bien que ses propres machines reposent sur des conteneurs bootables, il considĂšre que « ce n’est pas prĂȘt pour l’usage gĂ©nĂ©ral ».
      • À l’heure actuelle, la distribution vitrine de Linux sur tĂ©lĂ©phones est sans doute postmarketOS. Les dĂ©veloppeurs de celle-ci ont annoncĂ© le 30 mars dernier travailler Ă  une version immuable de pmOS, qui sera partiellement subventionnĂ©e par la fondation europĂ©enne NLnet (la question du financement des Linux sera abordĂ©e dans la 2ᔉ partie de cette dĂ©pĂȘche).

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Donnez moi un NixOS Ă  ronger

      NixOS

      Petit aperçu de Nix : il y a plusieurs articles sympas ici, la rĂ©cente revue de Seb95, Ă  cause de laquelle je suis passĂ© sur cette distribution il y a quelques jours (et sachant que visiblement lui n’y est pas restĂ©!, peut-ĂȘtre qu’il me lit haha), ou cette revue plus ancienne, donc j’essaierai de mettre en avant d’autres aspects.

        Sommaire

        Mini histoire Ă  zapper

        Dejà reprécisons - il faut remonter à 2003 pour que Eelco Dolstra développe le gestionnaire de paquets Nix, mais la distribution, elle, NixOS date de 2006. Il y a deux versions par an, nommée YY.MM, par ex. 13.05 pour version de mai 2013 - brillant.

        Pour la suite j’écrirai simplement Nix pour dĂ©signer la distribution.

        En 2010 un wiki démarre. En 2013, la distribution 13.05 passe de upstart à systemd et systemd-boot au démarrage (alors appelé gummiboot). La version 13.10 est la premiÚre version stable de NixOS.
        On peut noter chez la concurrence, en 2014 le lancement du projet Atomic de Red Hat.
        En 2016, le wiki Nix officiel est clos et un wiki non officiel démarre

        Fedora Silverblue apparait 2018 comme projet de distinct de « Atomic ». En 2019 Open Suse dĂ©marre le projet Micro OS.
        CÎté Nix, en 2020 ont été intégrés les Flakes (22.05). Un installateur graphique apparait en 2022, sur la 22.05.
        En 2024, le wiki Nix officiel redémarre (mais le non-officiel demeure
).

        Une distribution rétro-futuriste

        Dans Nix, il n’y a pas de rĂ©pertoire /bin, de /sbin, de /lib ou de /usr. Tout est gardĂ© dans un /nix/store.

        Enfin moi j’ai quand mĂȘme un /usr/bin/env mais j’avoue ça fait peu, ou un /bin mais qui ne contient qu’un symlink pour bash. Mais bref

        Dans le /nix/store on va retrouver nos hiĂ©rarchies habituelles, rangĂ©es dans des « dĂ©rivations Â». Prenons firefox : je ne l’aurai pas directement dans /usr/bin mais dans le store voici comment ça se prĂ©sente

        $ ls -R /nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0
        /nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0:
        bin  lib  share
        
        /nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0/bin:
        firefox
        
        /nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0/lib:
        firefox  mozilla
        
        /nix/store/lxgnpycfaac8w893wmka5hw3dad8w228-firefox-121.0/lib/firefox:
        application.ini    defaults            firefox-bin   libgkcodecs.so        libmozavutil.so   libmozwayland.so   omni.ja        Throbber-small.gif
        browser            dependentlibs.list  fonts         libipcclientcerts.so  libmozgtk.so      libxul.so          pingsender     vaapitest
        crashreporter      distribution        glxtest       liblgpllibs.so        libmozsandbox.so  minidump-analyzer  platform.ini
        crashreporter.ini  firefox             gmp-clearkey  libmozavcodec.so      libmozsqlite3.so  mozilla.cfg        removed-files
        

        etc.
        Pour le reste c’est plus standard.

        $ ls /
        bin  boot  dev  etc  home  lib  lib64  lost+found  nix  proc  root  run  srv  sys  tmp  usr  var
        
        

        Déclaratif

        La configuration, utilisateurs réseaux paquets services saucisson fromage, tout est déclaré dans un fichier /etc/nixos/configuration.nix.
        Comme dĂ©finir un point de montage pour un disque ou les rĂšgles du pare-feu, qui correspondraient Ă  du /etc sur d’autres distributions, mais aussi par exemple crĂ©er un utilisateur - ce qui correspondrait plutĂŽt Ă  des commandes sur d’autres distributions, comme useradd.

        Quand vous « compilez » le fichier /etc/nixos/configuration.nix, Nix va s’occuper tout seul des /etc/fstab, iptables (*), /etc/group, et ainsi de suite ; en gĂ©nĂ©ral on prĂ©cise que l’on « switche » vers ce nouvel OS et Nix redĂ©marre les services avec la nouvelle config (Ă  vous de savoir si redĂ©marrer des services est suffisant, ou si pour prendre en compte les changements vous prĂ©fĂ©rez redĂ©marrer la session voire reboot).

        (*nftables dispo)

        Exemple fstab, au lieu d’éditer fstab je mets ça dans /etc/nixos/configuration.nix

         # FSTAB
          fileSystems."/home" = {
            device = "/dev/disk/by-uuid/220260f3-a7b2-4387-9a0b-9d17c604aa18";
            fsType = "ext4";
           options = [ # If you don't have this options attribute, it'll default to "defaults" 
             # boot options for fstab. Search up fstab mount options you can use
             "users" # Allows any user to mount and unmount
             "nofail" # Prevent system from failing if this drive doesn't mount     
           ];
          };
        

        Ou encore ma fichue imprimante Samsung
        Sous Debian, j’aurai peut-ĂȘtre ajoutĂ© un dĂ©pĂŽt dans /etc/apt, j’aurai rafraichi puis installĂ© un paquet. Sous Nix j’édite le fichier.

          # Enable CUPS to print documents.
          services.printing.enable = true;
          services.printing.drivers = [ pkgs.samsung-unified-linux-driver ];
        

        On peut mĂȘme se retrouver Ă  configuration de maniĂšre abstraite
 En effet, imaginons que je configure le pare-feu : quel pare-feu suis-je en train de configurer?

        networking.firewall.allowedTCPPorts = [ 80 443 ];
        

        La documentation vous apprendra que par dĂ©faut, Nix passe par iptables pour implĂ©menter les rĂšgles que vous prĂ©cisez. Avec la directive ci-dessous, les mĂȘmes rĂšgles seraient implĂ©mentĂ©es en se basant sur nftables.

        networking.nftables.enable
        

        Immuable

        Est-ce que NixOS est immuable? On pourrait dire, comme Distro Watch, non, car on peut en rĂ©alitĂ© Ă©crire sur la totalitĂ© du systĂšme de fichier. L’immuabilitĂ© est plutĂŽt fonctionnelle - au sens oĂč on ne lance pas de commande, on Ă©dite un fichier /etc/nixos/configuration.nix (que l’on peut scinder, au besoin), qui donnera toujours le mĂȘme rĂ©sultat. (spoil cf quand mĂȘme plus bas : channel).

        Retour arriĂšre

        AprĂšs construction du systĂšme, au dĂ©marrage, vous aurez le choix d’amorcer (booter) sur chaque version de l'OS que vous avez construite. On peut dĂ©marrer sur une ancienne version. Un peu comme dĂ©marrer sur une ancienne version du noyau mais appliquĂ© Ă  tout.

        Multi-utilisateurs

        Vous pouvez avoir plusieurs versions d’un paquet installĂ©es en mĂȘme temps, en fonction des utilisateurs. Certainement trĂšs utile
 et pas testĂ© chez moi.

        En somme

        Cette page décrit bien les logiques différentes entre Nix et un systÚme basé sur Debian pour quelques opérations courantes.

        Bon clairement si le besoin c’est installer firefox et qu’on doit Ă©diter un fichier /etc puis rebuild le systĂšme, on ne ressent pas particuliĂšrement d’avantage Ă  utiliser Nix vs un autre systĂšme (mais en cas de souci, vous serez bien content d’avoir le rollback
)

        • À noter cela dit que l’installation de paquets n’est pas vraiment plus longue. RebĂątir le systĂšme n’est pas vraiment plus long qu’un apt-get ou Ă©quivalent. Ce qui m’étonne le plus c’est que par dĂ©faut il n’y a pas de commande pour chercher des paquets (
 ??!!! 
bon il y a le site officiel et on peut par exemple installer nix-search-cli) .
        • On peut bien sĂ»r utiliser des Flatpak si on active cette option. Par dĂ©faut si on installe GNOME, cela vient d’ailleurs avec gnome-software qui n’inclut que les Flatpak. Au moins c’est un Gnome Software lĂ©ger, ça change ahem ahem

        • Pour les AppImage j’en parle plus bas

        Donc l’usage pour installer une application graphique ne changera pas vraiment la vie. À noter tout de mĂȘme que le dĂ©pĂŽt est particuliĂšrement large.

        Mais quid de paquets un peu plus complexes? Quand j’ai voulu installer nginx avec le TLS, j’ai eu une bonne surprise. J’imaginais une tannĂ©e du fait de devoir « passer par Nix Â» pour gĂ©rer tout ce qui est configuration et certificats. En effet plus question de lancer des commandes pour acquĂ©rir ou renouveler des certificats. Comment faire? Pour le coup la doc me l’a indiquĂ© rapidement.

              security.acme.acceptTerms = true;
              security.acme.defaults.email = "mon@email.example.com";
        
                  services.nginx = {
                    enable = true;
                      virtualHosts = {
                         "mon.domaine" = {
                             forceSSL = true;
                             enableACME = true;
                             root = "/var/www/mon.domaine";
                      };
        

        Et voilà! Nginx est installé, mon domaine pointe vers le bon dossier, le http redirige vers https, Nix acquiert les certificats (par défaut Let'sEncrypt mais se personnalise si on veut), et surtout Nix définit un systemd pour renouveler les certificats.

        Et lĂ  on voit que Nix c’est un peu l’opposĂ© d’une ditribution minimaliste comme Arch
 Les points forts de Arch sont les points faibles de Nix et rĂ©ciproquement


        À noter que /etc/nginx n’existe pas. Dans mon exemple ce sera nix/store/brxfza7n2hjy6n15ffdrb7wlr2fqygy8-nginx. conf


        $ systemctl status nginx
        ● nginx.service - Nginx Web Server
             Loaded: loaded (/etc/systemd/system/nginx.service; enabled; preset: ignored)
             Active: active (running) since Sat 2025-03-29 09:45:55 CET; 1 day 10h ago
         Invocation: 84e49760dcee4e5ea0a6baa79dd6ceb2
            Process: 35568 ExecReload=/nix/store/alqjcv381xp2wawjc919h1qr6p4q8gvj-nginx-1.26.3/bin/nginx -c /nix/store/brxfza7n2hjy6n15ffdrb7wlr2fqygy8-nginx.conf -t>
            Process: 35569 ExecReload=/nix/store/9m68vvhnsq5cpkskphgw84ikl9m6wjwp-coreutils-9.5/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
        

        Oui tout est dans le nix store, bah oui logique.

        On voit aussi que cette distribution est aussi agrĂ©able qu’elle est

        • bien empaquetĂ©e
        • bien documentĂ©e (j’y reviens plus bas
)

        Je nixifie tu nixifies

        DĂ©finir des choses dans /etc/nixos en dĂ©claratif plutĂŽt que de taper des commandes ou Ă©diter d’autres fichiers comme /etc/nginx, c’est ce qu’on appelle nixifier, qui vient du verbe galĂ©rer-de-ouf. Non je plaisante.

        Cela veut dire que pour tout ce que vous pouvez faire avec les services, le paquet Nix doit proposer des options pour le faire dans /etc/nixos
 Un peu effrayant au premier abord? Par ex. si je veux utiliser une fonction plus exotique de Nginx, alors la config Nix doit inclure un moyen de le spĂ©cifier, et doit inclure chaque option Nginx ??

        En fait de nombreux services vont proposer d’ajouter des options « extra ». Par ex. si je veux utiliser la fonction Nginx « rate-limit » et que le paquet Nix n’a pas d’option pour ça
 Eh bien je vais utiliser une directive « appendHttpConfig » qui va me permettre de directement Ă©crire dans le nginx.conf. Comme cela je continue d’utiliser les avantages Nix, mais je peux profiter d’options non nixifiĂ©es.

             services.nginx = {
                enable = true;
            appendHttpConfig = " limit_req_zone $binary_remote_addr zone=mylimit:10m rate=5r/m; " ;
                  virtualHosts = {
                     "mon.domaine" = {
                         forceSSL = true;
                         enableACME = true;
                         root = "/var/www/mon.domaine";
                 extraConfig = "limit_req zone=mylimit;";
                  };
        

        On peut mĂȘme avoir le besoin de gĂ©nĂ©rer un fichier /etc. Pas de souci, exemple avec fail2ban, on peut gĂ©nĂ©rer un fichier /etc/fail2ban/filter.d

            # Defines a filter 
            "fail2ban/filter.d/nginx-py.local".text = pkgs.lib.mkDefault (pkgs.lib.mkAfter ''
              [Definition]
        failregex = ^.* \[error\] \d+#\d+: \*\d+ (\S+ )?\"\S+\" (failed|is not found) \(2\: No such file or directory\), client\: <HOST>, server\: \S*\, request: \"(GET|POST|HEAD) .*$
            '');
          };
        

        Interdit !

        Je ne vais pas rentrer dans le dĂ©tail, car je suis encore dĂ©butant, mais on ne peut pas exĂ©cuter ce que l’on veut sous Nix.

        $ touch holalal.sh
        $ echo -e '#!/bin/sh \necho "toto"' >> holalal.sh
        $ chmod +x holalal.sh
        $ ./holalal.sh
        bash: ./holalal.sh: Permission denied
        $ bash holalal.sh 
        toto
        

        AppliquĂ© aux AppImage, eh bien j’ai un peu galĂ©rĂ©. Apparemment on lance $appimage-run . Pas de bol pour moi, ça ne passe pas. J’ai testĂ© deux trois un million de trucs Ă  l’aveuge pour le fun (extraire puis ajouter chmod+x, passer par exec, voire par du sudo oh la la pardonnez moi
) Comme Google n’était clairement pas mon ami, j’ai voulu tester d’empaqueter l’AppImage moi-mĂȘme. C’était la bonne piste! Si j’étais familier avec Nix cela m’aurait pris 2s. Un petit fichier .nix de quelques lignes plus tard, je peux construire cette AppImage et cette fois la lancer.
        Dans de nombreux cas vous trouverez l’ppImage dĂ©jĂ  empaquetĂ©e.

        Channel

        Vous souvenez vous, Nix propose une version tous les 6 mois. Mais dites-moi
 Comment met-on Ă  jour si on lance pas de commande dans Nix et qu’on n’utilise que vi /etc/nixos/configuration.nix ?
        Et lĂ , voilĂ  la vĂ©ritĂ© rĂ©vĂ©lĂ©e : oui on utilise des commandes, et non Nix n’est pas que dĂ©clarative.
        (cf par exemple https://nlewo.github.io/nixos-manual-sphinx/installation/upgrading.xml.html )

        # nix-channel --add https://nixos.org/channels/*channel-name* nixos
        # nixos-rebuild switch --upgrade
        

        On peut Ă©galement spĂ©cifier dans la config que l’on veut automatiquement passer sur les nouvelles versions. En attendant cela veut dire que deux fichiers /etc/nixos/configuration.nix ne correspondent pas forcĂ©ment au mĂȘme OS!

        Note sur les channels : similairement Ă  Debian, il y a un channel unstable si on veut passer en mode rolling.

        Pour rĂ©soudre cette question des channels il y a les Flake. En gros l’idĂ©e est de prĂ©ciser non seulement qu’un paquet est installĂ© mais aussi quelle version.
        https://nixos-and-flakes.thiscute.world/nixos-with-flakes/introduction-to-flakes#nix-flakes-and-classic-nix
        Mais rien n’oblige à utiliser Flake.

        2 wikis et 2000 manuels

        • Deux wikis : un wiki officiel, qui a Ă©tĂ© suspendu, car il n’était pas super Ă  jour, du coup un wiki non officiel est apparu, puis ils ont remis le wiki officiel :O !!! du coup on a plein de manuels (utilisateur, dev, celui du gestionnaire de paquets Nix
) et deux wikis et on se retrouve Ă  jongler.
        • On a l’impression d’avoir atteint le point oĂč toute tentative d’amĂ©liorer ne fait qu’empirer. Je propose « Tools that need a manual to find the manual » ! 

        • Mes premiĂšres recherches sur Internet sont simplement dĂ©sastreuses, je tombe sur plein de versions diffĂ©rentes. Et souvenez-vous que Nix est Ă  la fois un langage, un gestionnaire, un builder, une distribution

        • Peut-ĂȘtre que des sites pour rĂ©pertorier , comme https://nixos.org/learn/ peuvent un peu aider


        xkcd

        Mais Ă  l’heure qu’il est, si Nix a un dĂ©faut c’est bien la documentation chaotique.

        Et les autres bombes atomiques?

        Fedora Silverblue propose aussi le retour arriÚre. Toutes les applications graphiques sont des Flatpak, et les applis dév utilisent le module Toolbox. Cf la présentation par Renault, plutÎt historique puis pratique.
        Silverblue semble avoir de larges dĂ©fis Ă  relever mais pourrait reprĂ©senter l’avenir de Fedora.

        CĂŽtĂ© Open Suse atomic, il y a eu Micro OS (2019), puis Aeon d’abord basĂ© dessus puis devenu projet indĂ©pendant pour offir GNOME. (En parallĂšle le projet Kalpa se dĂ©veloppe pour le bureau KDE.) Vous pouvez lire cette revue par LWN. Sur Aeon la mĂ©thode prĂ©fĂ©rĂ©e d’installation de paquets est encore Flatpak, mais il y a aussi Distrobox.

        Voilà pour ce que je connais, cela mériterait bien plus!

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Cloonix version 46

        Cloonix est un outil d’aide Ă  la construction de rĂ©seau virtuel, sous AGPLV3 (inclus qemu-kvm, openvswitch, spice, crun et wireshark).

        C'est pensĂ© comme Docker, dont le succĂšs provient de l'absence de tracasseries au moment de l'empaquetage, en mettant bibliothĂšques et binaires dans un espace de nommage (namespace). Docker est un produit de grande qualitĂ© mais il n'y a pas que sa mĂ©thode. Cloonix utilise les mĂȘmes principes de namespace, sans infrastructure d'accueil pour faire tourner les conteneurs. Notez qu'un logiciel qui s'installe puis tourne avec les droits limitĂ©s d'un utilisateur normal est la meilleure façon de dĂ©courager un pirate. Donc, pour essayer Cloonix 46, un fichier auto-extractible sans dĂ©pendance Ă  la distribution qui l'hĂ©berge vous attend ! TĂ©lĂ©chargez, cliquez


        Cloonix est un outil pour Ă©tudier les rĂ©seaux. Il permet de faire des scripts de scĂ©narios avec plusieurs machines connectĂ©es, les machines Ă©tant soit des vraies machines virtuelles tournant avec kvm, soit des conteneurs tournant avec crun. Cette maquette simplifiĂ©e de rĂ©seaux avec leur visualisation permet de transmettre des dĂ©monstrations rĂ©seaux entre utilisateurs. J'ai prĂ©sentĂ© Cloonix plus largement dans mes dĂ©pĂȘches prĂ©cedentes.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Unvanquished 0.55, enfin là !

        Par :Thomas Debesse · BAud · Julien Jorge · palm123 · ted
        2 mars 2025 Ă  11:55

        AprĂšs une longue attente la version 0.55 du jeu Unvanquished a Ă©tĂ© publiĂ©e le 20 octobre 2024. Deux mises Ă  jour mineures se sont succĂ©dĂ©es le 3 novembre et le 15 dĂ©cembre pour peaufiner cette version, juste Ă  temps pour ĂȘtre dĂ©posĂ©e sous le sapin de NoĂ«l !

        Unvanquished est un jeu vidĂ©o libre et gratuit mĂȘlant stratĂ©gie en temps rĂ©el et actions Ă  la premiĂšre personne dans un univers futuristique oĂč deux factions (humains, aliens) combattent pour leur survie.

        S’inscrivant dans la continuitĂ© de Tremulous (rĂ©vĂ©lĂ© en 2006) et basĂ© sur ce dernier, Unvanquished dĂ©veloppe cette expĂ©rience de jeu nerveuse et exigeante depuis 2013, en amĂ©liorant continuellement le moteur et explorant des variantes et ajustements de jouabilitĂ©.

        Un Tyrant Laisse-moi goĂ»ter Ă  cette version !

        Sommaire

        Cette version avait Ă©tĂ© promise dans le dernier article Des nouvelles de Unvanquished, et 10 mois aprĂšs la version 0.54, voici la version 0.55.

        Pendant cette annĂ©e 2024, le jeu a fait l’objet d’un dĂ©veloppement soutenu et vu l’arrivĂ©e de nouveaux contributeurs.

        Gameplay

        • La portĂ©e du « rocket pod » a Ă©tĂ© rĂ©duite: 2000qu → 1300qu (62m → 40m).
        • Il n’est plus possible de dĂ©sĂ©voluer vers la mĂȘme classe, ce qui permettait de recharger ses projectiles sans attendre.

        Bots

        • Les bots aliens savent dĂ©sormais Ă©teindre les bases en feu.
        • Ils peuvent aussi utiliser le granger avancĂ© pour atteindre des plate-formes Ă©levĂ©es et y construire.
        • Les classes sachant marcher sur les murs le font de maniĂšre plus fiable, et le saut de mur du maraudeur est plus prĂ©cis lorsqu’il escalade des murs.

        D’autres amĂ©liorations sont plus subtiles, les bots peuvent naviguer dans les cartes de façon plus efficace depuis que la taille des tuiles du maillage de navigation est configurable. Les mappers (ceux qui crĂ©ent ou modifient des cartes) peuvent aussi configurer d’autres aspects de la navigation.

        Un déséquilibre qui rendait les bots aliens moins bons que les bots humains a été retravaillé.

        La navigation dans la carte perseus a Ă©tĂ© amĂ©liorĂ©e. C’est un des patchs de la mise Ă  jour mineure 0.55.1, c’était dĂ©jĂ  prĂȘt pour la 0.55 mais avait Ă©tĂ© oubliĂ© (oups !).

        La 0.55.2 a donné aux bots la capacité de voler et la capacité de danser autour des ravins sans tomber.

        Interface utilisateur

        Il est dĂ©sormais possible de se dĂ©placer et d’utiliser certaines touches d’action alors que certains menus circulaires sont ouverts : Ă©volution, construction, balises (beacons). Cela permet d’ouvrir le menu de construction en tant que granger avancĂ© sans tomber. On peut aussi Ă©voluer tout en courant ou en sautant, etc.

        Les nouveaux menus Les nouveaux menus avec les options de réticules.

        Traductions

        La version 0.55 est la premiĂšre version majeure d’Unvanquished Ă  distribuer de nouveau des traductions ! Nous avions dĂ©jĂ  distribuĂ© quelques traductions avec la version de correction 0.54.1, elles Ă©taient en quelques sorte en prĂ©visualisation. Cette version apporte les traductions pour le Français, l’Allemand, l’Italien, l’Espagnol, le Finlandais, deux variantes de Portugais, et trois variantes de Chinois.

        Dans les premiers jours d’Unvanquished nous avions des traductions, mais il y a longtemps nous avons changĂ© la technologie utilisĂ©e pour implĂ©menter l’interface utilisateur et la prise en charge des traductions a dĂ» ĂȘtre rĂ©implĂ©mentĂ©e. Les voici de retour et nous sommes heureux de vous les distribuer de nouveau. Pour contribuer plus de traductions et les affiner, le mieux est de le faire sur Weblate.

        Nouveaux visuels

        De nouveaux modĂšles sont là : la « painsaw » d’Alex Tikkoiev et le Chaingun d’extreazz. Ils ont Ă©tĂ© intĂ©grĂ©s au jeu par Ishq. Cela semble simple Ă  faire mais nous n’avons pas de modeleur ni d’animateur actif et cela nous freine beaucoup, vous pouvez nous rejoindre.

        Le chaingun Le nouveau chaingun d’extreazz.

        La painsaw produit désormais des étincelles quand elle impacte des surfaces dures, agissant comme le Grand Communicateur de vos désirs de disperser des tripes extra-terrestres.

        La painsaw La nouvelle painsaw d’Alex Tikkoiev.

        Il y a dix ans nous avons reçu une fonctionnalitĂ© bien sympathique appelĂ©e particules douces (soft particles). Cela empĂȘche certains effets comme le brouillard ou les nuages d’acides d’ĂȘtre affichĂ©s de maniĂšre disgracieuse lorsqu’ils touchent des murs. Initialement l’effet n’était configurĂ© que pour une poignĂ©e de shaders. Rapidement des programmeurs paresseux se sont dits : « configurer les shaders est ennuyeux, et si nous activions la fonctionnalitĂ© pour toutes les particules ? ». Malheureusement, cela rend certaines particules invisibles, spĂ©cialement les effets d’impacts qui sont trĂšs proches de murs ou de sols. Apparemment personne n’a remarquĂ© ça pendant 9 ans, jusqu’à ce que nous retournions Ă  la configuration manuelle de shaders Ă  cause de changements architecturaux liĂ©s Ă  autosprite2. AprĂšs une revue mĂ©ticuleuse de tous les systĂšmes de particules du jeu, nous avons corrigĂ©, retirĂ© ou amĂ©liorĂ© certains effets graphiques. Par exemple le souffle du canon lucifer produit dĂ©sormais une onde de choc, causant une distorsion visuelle. Un tel effet Ă©tait dĂ©jĂ  prĂ©sent dans les donnĂ©es, mais il ne fonctionnait pas Ă  cause d’un problĂšme de tri des shaders. Le tir secondaire produit aussi un flash violacĂ© Ă  l’impact, effet qui Ă©tait souvent invisible Ă  cause des particules douces automatiques.

        Un humain en cours de soin sur la médistation Le nouvel effet de soin de la médistation.

        Reaper a repensĂ© l’effet de soin de la medistation et l’a rendue plus transparente, pour que les joueurs en cours de soin puissent voir Ă  travers.

        Sweet a ajoutĂ© un nouvel effet visuel au champ de force de la carte plat23. Cela utilise l’effet de mirage de chaleur (heat haze) qui Ă©tait initialement conçu pour les armes et les effets de feu, mais il se trouve que ça peut Ă©galement produire des effets trĂšs sympathiques dans les cartes. Nous remercions Masmblr pour la maniĂšre dont il nous fait avancer en dĂ©montrant dans ses propres cartes communautaires comment il est possible d’exploiter de façon crĂ©ative et nouvelle des fonctionnalitĂ©s que nous proposons dĂ©jà !

        Fichier d’entitĂ©

        Le moteur prend dĂ©sormais en charge les fichiers d’entitĂ©. Cela est particuliĂšrement utile pour les cartes (niveaux de jeu) sans source (il y en a des centaines !). Un fichier d’entitĂ© permet certaines personnalisations de comment certaines entitĂ©s fonctionnent (portes, ascenseurs, tĂ©lĂ©porteurs
). Il est possible d’extraire une description d’entitĂ©s avec q3map2 et le fichier extrait peut ĂȘtre Ă©ditĂ© avec un Ă©diteur de texte et lu par le moteur lorsqu’il charge une carte. Le fichier d’entitĂ© peut aussi ĂȘtre utilisĂ© pour modifier comment la lumiĂšre d’une carte sera appliquĂ©e (il est possible d’y renseigner des variables qui configurent le moteur de rendu pour cette carte).

        Le futur est lumineux

        Comparaison de rendu de lumiÚre Une vidéo démontrant la compatibilité des lumiÚres de diverses cartes historiques (voir la vidéo complÚte).

        Un effort aux long cours est fait pour que le moteur affiche de meilleures lumiĂšres en jeu. Les investigations ont commencĂ© Ă  livrer des rĂ©sultats significatifs en 2020 avec l’affinage du procĂ©dĂ© de compilation des lumiĂšres. Cet effort est multi-facettes et touche Ă  de multiples aspects de la chaĂźne de production et de rendu. Ces derniĂšres annĂ©es, Illwieckz s’est assurĂ© que diffĂ©rents types d’éclairage soient pris en charge. L’éclairage par vertex (vertex lighting) a Ă©tĂ© ajoutĂ© en plus de l’éclairage par grille (grid lighting) et de l’éclairage par texture (lightmap). Ainsi les cartes qui mĂ©langent Ă©clairage par vertex et Ă©clairage par texture sont dĂ©sormais correctement affichĂ©es. Illwieckz a aussi dĂ©bugguĂ© les styles de lumiĂšres, une sorte de lumiĂšre dynamique prĂ©-calculĂ©e qui fusionne plusieurs textures de lumiĂšre (lightmap) au moment du rendu.

        Comparaison de suréclairage Comparaison entre l'ancien suréclairage (à gauche) et le nouveau suréclairage (à droite). Comparer avec un curseur.

        AprĂšs cela Illwieckz a rĂ©implĂ©mentĂ© le mĂ©canisme de surĂ©clairage (overbright) pour Ă©viter la troncature des lumiĂšres (light clamping). Il se trouve que le moteur de rendu de Quake 3 souffrait d’une limitation qui attĂ©nuait les lumiĂšres autant qu’il les Ă©claircissait
 Le nouveau code non-buggĂ© est dĂ©sormais activĂ© par dĂ©faut. Cela a suscitĂ© des dĂ©bats puisque comme le moteur id Tech 3 avait un surĂ©clairage buggĂ© depuis plus de 20 ans, utiliser un moteur de rendu non-buggĂ© peut rĂ©vĂ©ler des bugs que les crĂ©ateurs de niveaux n’ont jamais vu avant, et il Ă©tait mĂȘme possible d’introduire des bugs dans certains logiciels de production sans que les gens ne s’en rendent compte ! Certaines personnes peuvent argumenter que l’affichage buggĂ© est la façon dont le crĂ©ateur du niveau s’attend Ă  ce que son niveau soit vu
 Cette histoire va si loin que cela mĂ©riterait un article dĂ©dié !

        La prochaine Ă©tape sur ce chemin vers un meilleur Ă©clairage sera de faire de la colorimĂ©trie correctement et de faire de la fusion linĂ©aire de lumiĂšre (quelque chose qu’id Tech 3 n’a jamais fait), mais cette tĂąche est pour le futur.

        Corrections du moteur de rendu

        Un battlesuit se regardant dans des miroirs Une vidéo montrant la récursion de miroirs et de portails et leur fusion (voir la vidéo complÚte).

        • Sprites : Les surfaces utilisant le mot clĂ© de shader autosprite2 sont correctement affichĂ©es, c’est parfois utilisĂ© pour afficher des effets de symĂ©trie axiale, par exemple pour une flamme de bougie. Ce travail a Ă©tĂ© rĂ©alisĂ© par Slipher.
        • Portails et miroirs : Reaper a terminĂ© l’implĂ©mentation de la rĂ©cursion de portail et de miroir, a implĂ©mentĂ© la fusion de portails et la fusion alphaGen (une technique qui permet d’obscurcir un portail selon la distance Ă  celui-ci), et a rendu possible d’avoir des portails mobiles. Il a corrigĂ© la rotation de portail ainsi que des bugs de portails liĂ©s aux lumiĂšres, et s’est assurĂ© que du creep extra-terrestre de taille 10 millions de fois la taille de l’univers observable n’apparaissent pas dans les portails

        • VidĂ©o : Nous pouvons Ă  nouveau jouer des vidĂ©os sur les surfaces. Avec le temps le code s’était gĂątĂ© (rotten code), Ă©tait devenu cassĂ© et avait mĂȘme Ă©tĂ© enlevĂ© tandis qu’il Ă©tait cassĂ©. Il fut ressuscitĂ© et a fait l’objet d’une profonde réécriture par Slipher, et la fonctionnalitĂ© fonctionne de nouveau — et mĂȘme mieux qu’avant (avec moins de limites arbitraires) ! Cette nouvelle implĂ©mentation Ă©tait dĂ©jĂ  visible dans la version 0.54.1, la voici dĂ©sormais dans une version majeure. Le seul format pris en charge est l’antique format RoQ utilisĂ© par Quake 3 qui, par mesure de compatibilitĂ© avec les donnĂ©es de jeu existantes, est le codec que nous devons prendre en charge avant tout autre codec. Nous ne fermons pas la porte au fait de prendre en charge d’autres codecs, mais pour cela il faudrait que la fonctionnalitĂ© soit utilisĂ©e plus souvent pour justifier cet effort supplĂ©mentaire.
        • Brouillard : Reaper a corrigĂ© l’effet de brouillard, qui Ă©tait cassĂ© dans la version 0.45. Oups !
        • LumiĂšres : Les lumiĂšres dynamiques sont dĂ©sormais moins pixelisĂ©es, quand bien mĂȘme ce problĂšme n’est pas encore complĂštement corrigĂ©.
        • PBR : La prise en charge de textures prĂ©tendues « basĂ©es sur la physique » est dĂ©sormais dans un Ă©tat viable grĂące Ă  Ishq (plus d’artefacts noirs). C’est dĂ©jĂ  utilisĂ© avec un nouveau modĂšle de chaingun. Pour le rendre bon, nous avons besoin de le faire fonctionner avec les rĂ©flexions spĂ©culaires (rĂ©flexions statiques).

        Un dretch regardant Big Buck Bunny Une vidéo montrant la lecture de vidéo sur les surfaces du jeu (voir la vidéo complÚte).

        En corrigeant le shader autosprite2, la fusion de portails et la lecture de vidĂ©os, nous avons corrigĂ© 3 rĂ©gressions du moteur original de Quake 3 et qui Ă©taient liĂ©es Ă  la prise en charge de format de fichiers anciens et de techniques tout aussi anciennes. Parce que notre moteur de rendu n’est plus celui de Quake 3, corriger certaines de ces rĂ©gressions requiert parfois d’écrire du code neuf plutĂŽt que de corriger un code existant, et c’est exactement ce qui s’est produit pour les portails.

        Performance améliorées

        Un granger Ă  NoĂ«l Unvanquished 0.55.2 a Ă©tĂ© publiĂ©e pour NoĂ«l !

        Le moteur et le jeu sont plus rapides que jamais !

        • Simplification du ciel : Reaper a purifiĂ© par le feu le code de rendu du ciel qui Ă©tait archaĂŻque et
 Ă©trange. Ce code pouvait gĂ©nĂ©rer plus de 1000 triangles par trame rien que pour dessiner le ciel. Une skybox n’a pas besoin d’une gĂ©omĂ©trie aussi fine, elle est simplement modĂ©lisĂ©e comme l’intĂ©rieur d’un cube. En plus le code faisait des allers-retours mĂ©moire entre la mĂ©moire principale et la mĂ©moire graphique
 đŸ€Šâ€â™‚ïžïž Nous dessinons donc le ciel maintenant avec seulement 12 triangles. Inutile de dire que les performances sont significativement amĂ©liorĂ©es, et ça aurait toujours dĂ» ĂȘtre comme ça.
        • Culling : Il s’agit du procĂ©dĂ© qui Ă©lague les surfaces non-visibles pour Ă©viter de les dessiner. Illwieckz a optimisĂ© l’implĂ©mentation gĂ©nĂ©rique pour processeur central (CPU), Slipher a ciselĂ© Ă  la main un code SSE pour les processeurs x86, et Reaper a permis d’utiliser la carte graphique (GPU) quand le pilote et le matĂ©riel sont compatibles.
        • RĂ©duction des dĂ©lais IPC par du traitement par lots et de la mise en cache : Ces travaux accĂ©lĂšrent des choses comme les particules, les marques d’impact, et les ombres. Illwieckz a rĂ©duit le temps d’attente pour ces communications interprocessus en ajoutant des alternatives Ă  nos interfaces de programmation (API) qui fonctionnent par lot. L’IPC est comme un service postal qui transporte les messages entre le processus du jeu Unvanquished et le moteur DĂŠmon. Pour un facteur, l’important n’est pas le nombre de pages que vous Ă©crivez mais le nombre d’enveloppes Ă  livrer. Vous pouvez donc allĂ©ger sa charge de travail en mettant toutes vos lettres dans une seule grande enveloppe. Pour un cas d’utilisation (dĂ©jĂ  livrĂ©e dans la version 0.54.1), Slipher a implĂ©mentĂ© une mise en cache cĂŽtĂ© code de jeu. Pour filer la mĂ©taphore, il n’est pas nĂ©cessaire de rĂ©-envoyer le mĂȘme courrier si le contenu est dĂ©jĂ  connu. Sur du matĂ©riel actuel, ces optimisations peuvent augmenter le taux de trame (framerate) de plusieurs centaines de FPS quand il y a de nombreuses particules et autres choses de ce genre Ă  l’écran (spam de grenade incendiaires, par exemple !).
        • Code de vertex flottant plus rapide : L’implĂ©mentation de vertex plein-flottant Ă©crite par Slipher pour Ă©tendre la compatibilitĂ© Ă  du matĂ©riel plus ancien ou de plus basse gamme qui ne prennent pas en charge les demi-flottants a aussi doublĂ© le taux de rafraĂŻchissement sur du matĂ©riel qui fonctionnait dĂ©jà ! La réécriture a aussi apportĂ© de menues optimisations dans le code de modĂšles.
        • Placage de relief : Reaper a corrigĂ© un bug dans le code des cartes de relief (relief mapping), ce qui a dĂ©bloquĂ© quelques centaines de FPS sur des cartes graphiques de gĂ©nĂ©ration actuelle.
        • Usage mĂ©moire des images : Illwieckz a implĂ©mentĂ© le mĂ©canisme fitScreen pour les textures d’interfaces utilisateur : c’est une alternative Ă  l’antique implĂ©mentation noPicMip de Quake 3 : noPicMip instruisait le moteur de ne jamais rĂ©duire la taille d’une image, fitScreen s’assure qu’elle soit rĂ©duite d’une façon qu’elle ne devienne jamais plus large que l’écran. Par exemple une capture d’écran d’une carte (niveau) utilisĂ©e dans la liste des cartes et au chargement d’une carte ne sera plus jamais chargĂ©e en pleine rĂ©solution dans la mĂ©moire graphique si elle doit ĂȘtre affichĂ©e sur un Ă©cran 640×480 (pour donner un exemple extrĂȘme)
 CombinĂ© avec le mĂ©canisme r_maxImageDimension que nous avons ajoutĂ© en version 0.52 pour les textures qui ne sont pas utilisĂ©es pour les interfaces utilisateurs comme alternative Ă  r_picmip, ce nouveau mĂ©canisme donne au jeu une empreinte mĂ©moire en VRAM trĂšs trĂšs faible quand on utilise un Ă©cran avec une rĂ©solution toute petite.
        • Plus de prĂ©-calcul : De nombreuses dĂ©cisions Ă©taient prĂ©alablement prises Ă  chaque trame en rendant telle ou telle surface, Illwieckz s’est assurĂ© que ces dĂ©cisions soient dĂ©sormais prises une fois pour toute lorsque le shader est parsĂ©. Ce que nous appelons « shader » ici est un format de dĂ©finition de matĂ©riaux utilisĂ© par id Tech 3 et ses dĂ©rivĂ©s, ainsi que de nombreux outils d’édition de cartes. Ne pas confondre avec un « shader GLSL » qui est un programme exĂ©cutĂ© sur la carte graphique.
        • SSAO : Le shader GLSL SSAO (Screen Space Ambient Occlusion) a Ă©tĂ© rendu un peu plus rapide par Reaper.

        Le moteur et le jeu ont Ă©tĂ© profilĂ©s intensivement par Illwieckz en utilisant Orbit. Cet effort a permis d’identifier des goulots d’étranglement (bottleneck) et du code non-optimal. Au final cela nous a aidĂ© Ă  implĂ©menter de nombreuses optimisations Ă  de nombreux endroits dans le code.

        Le chargement de carte a aussi Ă©tĂ© amĂ©liorĂ© de plusieurs façons :

        • Le moteur ne calcule plus la somme de contrĂŽle des images CRN au chargement.
        • Le moteur ne compile plus certains shaders GLSL qui sont dĂ©tectĂ©s comme inutilisĂ©s.
        • De la mĂȘme façon nous avons rĂ©duit le nombre de permutations de shader GLSL Ă  compiler.
        • Les joueurs qui aiment jouer seul apprĂ©cieront notre gĂ©nĂ©ration « multithread » de maillage de navigation de bot (bot navigation mesh), grĂące Ă  Ishq et Slipher. Cela fait partie de la phase de chargement lorsque vous jouez une carte pour la premiĂšre fois dans un jeu local. Cette gĂ©nĂ©ration n’utilisait avant qu’un seul fil d’exĂ©cution (thread), dĂ©sormais toute la puissante de votre processeur est exploitĂ©e en mettant tous les cƓurs Ă  contribution. Les hĂ©bergeurs de serveurs peuvent Ă©galement en profiter et peuvent configurer cette fonctionnalitĂ© avec la variable g_bot_navgenMaxThreads (utiliser moins de fils utilise moins de mĂ©moire, ce qui peut ĂȘtre prĂ©fĂ©rĂ© sur certains serveurs).

        Il y a aussi tout un ensemble de choses qui n’ont pas de lien avec le moteur de rendu qui rendent le jeu plus rapide :

        • Le prĂ©rĂ©glage « le plus bas » (lowest) pour les appareils de trĂšs bas de gamme a Ă©tĂ© optimisĂ© encore plus.
        • Nous distribuons des modĂšles optionnels en faible qualitĂ© – pour le moment seulement pour les constructions, avec la seule diffĂ©rence que ces modĂšles ont moins d’articulations. Cela permet de traiter l’animation de ces modĂšles sur des GPUs plus bas de gamme (au lieu de basculer sur le code CPUs quand le GPU est trop bas de gamme).
        • Il a Ă©tĂ© dĂ©couvert que certaines variables de configuration (cvar) Ă©taient utilisĂ©es par le code de jeu pour envoyer des informations Ă  l’interface du code du jeu dans le but de les afficher Ă  l’écran. Cela signifie que le jeu s’envoyait une lettre Ă  lui-mĂȘme Ă  travers le moteur Ă  chaque trame
 En fait cela demandait mĂȘme deux lettres : une pour envoyer la donnĂ©e au moteur, une pour la rĂ©cupĂ©rer depuis le moteur, tout ça pour une donnĂ©e dĂ©jĂ  connue ! Cette horreur a Ă©tĂ© atomisĂ©e avec un prĂ©judice extrĂȘme.
        • L’accĂšs Ă  une cvar de jeu par son nom depuis le jeu utilise dĂ©sormais un cache local, rĂ©duisant encore le nombre de messages que le jeu et le moteur doivent Ă©changer, accĂ©lĂ©rant de beaucoup l’interface utilisateur.

        Ceux qui aiment faire tourner des benchmarks seront heureux d’apprendre que le taux de trame de la fonctionnalitĂ© timedemo n’est plus plafonnĂ© Ă  999 fps.

        De plus, l’interface Curses peut dĂ©sormais afficher les FPS.

        Bien entendu que ça fait tourner Unvanquished !

        Toujours du cĂŽtĂ© du moteur de rendu, l’exigence minimale est dĂ©sormais OpenGL 2.1 sans extension spĂ©ciale. Cela signifie que le matĂ©riel le plus limitĂ© qui puisse faire tourner Unvanquished inclue les ATI R300, les Intel GMA 3 et 4 (sous Linux) et les Nvidia NV40. Parfois mĂȘme un OpenGL 2.1 incomplet pourrait suffire !

        Votre carte graphique est prise en charge. Si cela ne fonctionne pas alors qu’elle est censĂ©e prendre en charge OpenGL 2.1 (ou plus), c’est trĂšs probablement un bug de pilote.

        Par exemple mĂȘme le VC4 du Raspberry Pi 3B+ peut soutenir 60 fps avec la prĂ©configuration la plus basse (lowest) et une rĂ©solution faible. Cependant le pilote a encore besoin d’ĂȘtre amĂ©liorĂ© pour ĂȘtre compatible avec tous les niveaux jouables.

        La carte plat23 Un Raspberry Pi 3B+ dessinant la carte plat23 Ă  60 fps avec le prĂ©rĂ©glage « le plus bas Â»â€Š

        Jouer Ă  Unvanquished sur un RPI3 n’est vraiment pas recommandĂ© (la mĂ©moire vive disponible sera aussi trĂšs limitante), mais si un RPI3 arrive Ă  tenir le rang, c’est que le jeu tourne sur vraiment n’importe quoi, y compris sur un topinambour (parce que mĂȘme une patate ça serait du luxe đŸ€­ïž).

        Voici quelques optimisations qui ont Ă©tĂ© faites pour Ă©tendre la compatibilitĂ© du moteur :

        • L’extension GL_ARB_half_float_vertex n’est plus requise. Cela s’ajoute au fait que l’extension GL_ARB_framebuffer_object n’est plus non-plus requise depuis la version 0.54 pour ĂȘtre compatible avec plus de matĂ©riel. La réécriture faite par Slipher pour prendre en charge Ă  la fois les vertex demi-flottants ou les vertex plein-flottants a mĂȘme amĂ©liorĂ© les performances du moteur (code plus concis, code plus performant, et qui permet plus de chose
 tout ça Ă  la fois) !
        • Les textures 3D ne sont plus requises. C’est quelque chose qui est obligatoire en OpenGL 2.1, mais le moteur peut faire sans lorsque l’implĂ©mentation est incomplĂšte. De telles implĂ©mentations incomplĂštes peuvent ĂȘtre trouvĂ©es avec certaines puces graphiques embarquĂ©es conçues pour OpenGL ES, et Mesa se permet de fournir « autant qu’il peut » d’OpenGL pour faire fonctionner les compositeur de bureau. Le moteur DĂŠmon sait dĂ©sormais se satisfaire lui-aussi d’une telle implĂ©mentation incomplĂšte.
        • Une collection de codes de dĂ©tection a Ă©tĂ© implĂ©mentĂ©e pour identifier des pilotes buggĂ©s ou lent, ainsi que des matĂ©riels lents. Quand c’est possible, un code moins buggĂ© ou plus rapide est activĂ© lors de l’exĂ©cution. Par exemple lors de ce cycle de dĂ©veloppement nous avons mis le pied dans ce que les dĂ©veloppeurs Intel caractĂ©risent comme un dĂ©faut matĂ©riel de l’architecture Iris (l’actuelle
), et ont suggĂ©rĂ© un contournement qui limite les dĂ©fauts visuels la plupart du temps. Il y a quelques annĂ©es nous avions identifiĂ© que le dernier pilote Nvidia pour toute une gĂ©nĂ©ration de carte donnĂ©e ment sur la prĂ©sence d’une extension, et plante si on tente de s’en servir, et ne sera jamais mis Ă  jour
 donc depuis un moment dĂ©jĂ  on le dĂ©tecte pour corriger ses prĂ©tentions. Il y a aussi une gĂ©nĂ©ration de vieilles cartes ATI qui sont plus rapides en flottants qu’en demi-flottant (la prise en charge annoncĂ©e par le pilote est trĂšs probablement une Ă©mulation pour permettre de faire fonctionner d’autres logiciels qui n’ont pas d’implĂ©mentation alternative), donc on dĂ©tecte et on utilise le code le plus adaptĂ© Ă  cette architecture. Il y a d’autres types de contournements mais ces trois-lĂ  sont reprĂ©sentatifs. Nous avions dĂ©jĂ  quelques-uns de ces contournements implĂ©mentĂ©s (comme celui pour certaines Nvidia), mais dĂ©sormais nous avons un procĂ©dĂ© standardisĂ© pour implĂ©menter de tels contournements et pour pouvoir les dĂ©sactiver (pour que les fabricants de matĂ©riel et/ou dĂ©veloppeurs de pilotes puissent reproduire les bugs, par exemple).

        Bien sĂ»r toutes les amĂ©liorations de la vitesse d’exĂ©cution ont Ă©tendu la compatibilitĂ© en transformant des Ă©quipements « capable de faire le rendu » en « quelque chose avec lequel on peut jouer ».

        Nous avons aussi ajoutĂ© la possibilitĂ© de compiler et exĂ©cuter un moteur DĂŠmon natif sur FreeBSD. Les binaires NaCl exĂ©cutĂ©s dans le bac Ă  sable tournent toujours dans le mode de compatibilitĂ© Linux, mais le moteur peut dĂ©sormais ĂȘtre natif FreeBSD. Une telle astuce doit probablement ĂȘtre utilisable sur d’autres systĂšmes qui ont une compatibilitĂ© Linux intĂ©grĂ©e (NetBSD par exemple, mais nous n’avons pas testĂ©), en utilisant un binaire natif pour le moteur et la compatibilitĂ© Linux pour la machine virtuelle du code du jeu.

        Un point que nous aimerions amĂ©liorer dans le futur au niveau du moteur est l’utilisation mĂ©moire.

        Nouveaux joujoux

        Reflets sur des tuyaux dans la carte Chasm Remarquez les reflets sur les tuyaux !

        Placage de reflet (trĂšs expĂ©rimental) : Tandis que notre moteur de rendu progresse, les reflets statiques qui Ă©taient complĂštement cassĂ©s sont dĂ©sormais en meilleur Ă©tat. Une fois activĂ©s, vous pourrez apercevoir votre environnement dans les matĂ©riaux rĂ©flĂ©chissants, comme des tuyaux mĂ©talliques, des plastiques brillants, et des surfaces excessivement polies
 Puisque cela est statique, seule la gĂ©omĂ©trie stationnaire de la carte est pour le moment reflĂ©tĂ©e, bien que cela soit suffisamment subtil pour que les diffĂ©rences ne soient pas trop Ă©videntes, surtout au beau milieu de l’action. En outre, les donnĂ©es de reflets sont enregistrĂ©es et chargĂ©es depuis le disque quand vous activez la mise en cache dans les options. Le code du moteur en charge de sĂ©lectionner les reflets pour chaque surface a aussi Ă©tĂ© amĂ©liorĂ©, apportant des reflets plus corrects et de grandes amĂ©liorations de performance.

        SystĂšme de matĂ©riaux (trĂšs expĂ©rimental) : Une autre Ă©tape vers la modernisation du moteur est l’ajout d’un systĂšme de matĂ©riaux. Lorsque le matĂ©riel et les pilotes sont compatibles, cela dĂ©place de nombreuses tĂąches de rendu depuis le CPU vers le GPU, produisant ainsi un flux de travail centrĂ© sur le GPU. Bien que cela ajoute un peu plus de travail au GPU, cela Ă©limine une forte pression mise sur le CPU, ainsi que de nombreux aller-retours entre le moteur et le pilote et entre le CPU et le GPU. Sur les cartes les plus exigeantes pour le CPU (en particulier celles avec un “vis” mauvais, le vis est une reprĂ©sentation de la carte gĂ©nĂ©rĂ©e par le compilateur de carte qui dĂ©termine quelle partie devrait ĂȘtre visible selon le point de vue) cela peut doubler le taux de trame comparĂ© au moteur de base. Ce systĂšme est encore incomplet et de nombreuses amĂ©liorations sont Ă  venir.

        Reaper est celui qui se cache derriÚre la réalisation de ces chantiers impressionnants.

        Pour pouvoir en profiter il vous sera nĂ©cessaire d’avoir OpenGL 4.6 et (en plus) l’extension GL_ARB_bindless_texture. Il reste cependant des problĂšmes avec certains matĂ©riels et pilotes : tout devrait fonctionner avec Nvidia, le systĂšme de matĂ©riaux et le « frustum culling » devraient fonctionner avec Mesa (radeonsi pour AMD, etc.) quand la derniĂšre version de Mesa est utilisĂ©e (l’ « occlusion culling » ne fonctionne pas encore et pourrait planter avec un Mesa qui ne vient pas de la branche de dĂ©veloppement main
). Cela ne fonctionne pas avec le pilote propriĂ©taire AMD Ă  cause de bugs. Des contournements pour ces problĂšmes sont planifiĂ©s, mais tous n’ont pas Ă©tĂ© implĂ©mentĂ©s Ă  temps pour la sortie de cette version.

        À venir

        Parmis les dĂ©veloppements qui sont dĂ©jĂ  testables sur certains serveurs et qui seront disponibles dans la prochaine version, il y a le mode « vampire », qui est un mode alternatif de gestion des ressources : plutĂŽt que de miner du point de construction, chaque Ă©quipe se voit dotĂ©e d’un lot dĂ©terminĂ© de points en dĂ©but de partie et lorsqu’une Ă©quipe dĂ©truit une construction adverse elle s’approprie les points de construction associĂ©es. Ce mode « vampire » est Ă©valuĂ© comme une solution potentielle au problĂšme de certaines parties qui sont trop longues ou semblent bloquĂ©es avec des Ă©quipes trop bien fortifiĂ©es de chaque cĂŽtĂ©. Ce mode de jeu peut ĂȘtre testĂ© en avant-premiĂšre sur des serveurs comme Map&Bot Testing, Der Bunker, ou Bug Squash Central.

        Il est temps de jouer !

        Le jeu Unvanquished se tĂ©lĂ©charge ici et les parties en cours sont listĂ©es ici !

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Illico Editor : nouveautés depuis 2021

        Par :asky · orfenor · Benoßt Sibaud · palm123 · BAud
        25 février 2025 à 08:17

        Illico Editor est un (petit) couteau suisse de la qualification de donnĂ©es dĂ©veloppĂ© Ă  l’origine pour permettre aux experts mĂ©tiers de transformer les donnĂ©es sans recourir Ă  la programmation
 le tout dans une simple page HTML (pas de serveur Web) donc une utilisation Ă  travers le navigateur.

        Aujourd’hui, plus de 150 transformations de donnĂ©es sont disponibles prĂȘtes Ă  l'emploi.

        Particularité : chaque transformation exécutée ainsi que son résultat sont inscrits dans un journal de bord créant ainsi une sorte de procédure-type sans effort.

        PubliĂ© sous licence GPL, le code d’Illico est globalement trĂšs basique : standards HTML5/CSS3/JS, et zĂ©ro dĂ©pendance, bibliothĂšque ou appel Ă  un code tiers. Les donnĂ©es restent dans le (cache du) navigateur.
        Les algorithmes sont trĂšs simples. La complexitĂ© est plutĂŽt liĂ©e Ă  la maniĂšre d’imaginer de nouvelles transformations de donnĂ©es, Ă  la fois gĂ©nĂ©riques (paramĂ©trables) tout en restant simples pour l’utilisateur (nombre rĂ©duit de paramĂštres).

        Sommaire

        Quelques limites Ă  connaĂźtre

        Dans mon usage, des crashs du navigateur ont Ă©tĂ© constatĂ©s sur des grands jeux de donnĂ©es avec les fonctionnalitĂ©s qui sollicitent le plus grand nombre de comparaisons (prĂ©cisĂ©ment le calcul de la distance d’édition / lignes).

        Pour un grand volume de donnĂ©es, mon conseil serait d’opter pour Opera/Vivaldi qui proposent Ă  l’utilisateur d’augmenter la mĂ©moire allouĂ©e Ă  la page (plutĂŽt que de faire crasher l’onglet/navigateur) ; de rĂ©duire le jeu de donnĂ©es aux colonnes/lignes Ă  traiter (ce qui rĂ©duirait la taille), avant de se lancer dans les transformations ; ou d’opter pour des outils plus adaptĂ©s Ă  cette volumĂ©trie.

        Un test sur des donnĂ©es factices m’avait permis d’identifier des tailles limites de jeu de donnĂ©es : https://illico.ti-nuage.fr/doc/build/html/fct/principes.html#jeu-de-donnees-volumineux

         Objet de la dĂ©pĂȘche

        Cette dĂ©pĂȘche fait Ă©cho Ă  la prĂ©cĂ©dente de janvier 2021.

        Au-delĂ  des corrections de bug et des amĂ©liorations (gestion des nombres dĂ©cimaux et nĂ©gatifs pour les intervalles, options supplĂ©mentaires pour dĂ©cider l’interprĂ©tation de “valeurs” vides), je voulais prĂ©senter ici la trentaine de nouvelles fonctionnalitĂ©s/traitements et les nouveaux tutoriels.

        Avant de commencer

        Dans Illico, l’expression valeurs en liste dĂ©signe

        • des donnĂ©es prĂ©sentĂ©es sous la forme a, b, c (le sĂ©parateur peut ĂȘtre un caractĂšre ou une chaĂźne)
        • des listes de couples de valeurs xxx:1 / yyy:2 / zzz:3 (un sĂ©parateur de liste / + un dĂ©limiteur {clĂ© => valeur} ici :

        Nouveaux tutoriels

        La section tutoriels dĂ©crit des cas concrets pour lesquels il n’existe pas de rĂ©solution « en 1 Ă©tape Â».
        Dans certains cas, une fonctionnalité a été développée pour couvrir tout ou partie de la résolution.

        Ces tutoriels sont dĂ©taillĂ©s pas Ă  pas dans la section “tutoriels” afin d’ĂȘtre utilisĂ©s comme support de formation.

        Je résume ici leur logique.

        Transposer une matrice

        Au sens “mathĂ©matique” du terme, bascule les lignes en colonnes et vice-versa :

        nombre d’étapes/actions du tutoriel : 6

        une nouvelle fonctionnalité a été développée par la suite pour transposer les données en 1 clic/étape/action

        Comparer (rapidement) des groupes de colonnes

        Comparer des groupes de colonnes prises deux Ă  deux Ă©tait dĂ©jĂ  possible. Cependant, avec un grand nombre de colonne, l’opĂ©ration pouvait s’avĂ©rer fastidieuse et source d’erreurs.
        Le tutoriel prĂ©sente une maniĂšre plus gĂ©nĂ©rique de comparer un grand nombre de colonne de deux fichiers sources avec le mĂȘme en-tĂȘte, par exemple la description d’une mĂȘme population sur deux annĂ©es diffĂ©rentes.

        nombre d’étapes/actions du tutoriel : (2 par fichier source) + 4

        l’intĂ©rĂȘt de ce tutoriel rĂ©side surtout dans le fait de rendre la complexitĂ© du traitement indĂ©pendante du nombre (de paires) de colonnes Ă  comparer

        Comparer des lignes dans un fichier cumul

        On souhaite identifier des diffĂ©rences mais cette fois au sein d’un mĂȘme fichier de donnĂ©es dĂ©crivant un cumul.
        Il peut s’agir par exemple de deux jeux de donnĂ©es mis bout-Ă -bout dĂ©crivant une mĂȘme population sur deux annĂ©es diffĂ©rentes.

        nombre d’étapes/actions du tutoriel : 3

        Créer un fichier cumul à partir de deux sources aux formats proches

        Le cas a Ă©tĂ© rencontrĂ© lors d’une analyse de journaux comptables oĂč les jeux de donnĂ©es prĂ©sentaient des rubriques/codes comptables en colonne.
        D’un mois sur l’autre, le nombre et l’ordre de ces colonnes/rubriques diffĂ©raient. Le tutoriel permet de s’affranchir de ces variations de la structure des donnĂ©es.

        nombre d’étapes/actions du tutoriel : (4 par fichier source) + 3

        Reconstituer des calendriers

        Autre cas de figure rencontré, les données décrivent des personnes présentes sur des périodes avec en colonne la date de début, la date de fin, puis les autres données.
        À partir de ces donnĂ©es, on recherche les dates/jours exactes qui ont rassemblĂ© le plus de personne.

        La rĂ©solution consiste Ă  gĂ©nĂ©rer l’ensemble des jours (entre la date de dĂ©but et la date de fin), c’est-Ă -dire une description des faits Ă  une Ă©chelle unitaire/atomique (chaque ligne dĂ©crivant alors une date et non une pĂ©riode).

        Trois approches sont proposées dans le tutoriel : entre 3 et 6 étapes/actions

        Fidélisation (suivre une cohorte)

        La problématique soulevée était de comprendre les parcours, trajectoires pour une population donnée.

        Exemple simplifiĂ© : 4 lignes de donnĂ©es dĂ©crivent (dans l’ordre chronologique) les Ă©tats/statuts successifs d’un individu, Ă  raison d’un par ligne : a -> b -> c -> d.

        dans la pratique, le jeu de donnĂ©es dĂ©crivait une population d’individu avec des trajectoire de 4 Ă  50 Ă©tats, parfois circulaires a -> b -> a -> d -> c

        On souhaite identifier :

        1. le parcours par rapport Ă  l’état initial pour l’individu pris en exemple, le rĂ©sultat sera la relation suivante : a => {b -> c -> d}
        2. les changements d’état (de proche en proche) pour le mĂȘme exemple, le rĂ©sultat sera une liste de couple de valeurs : (a => b), (b => c), (c => d)
        3. les relations entre l’état initial et n’importe quel autre Ă©tat du parcours mĂȘme exemple, le rĂ©sultat sera trois couples de valeurs : (a => b), (a => c), (a => d)
        4. les relations entre n’importe quel Ă©tat du parcours et n’importe quel autre Ă©tat rencontrĂ© par la suite mĂȘme exemple, le rĂ©sultat sera six couples :
          • (a => b), (a => c), (a => d)
          • (b => c), (b => d)
          • (c => d)

        La fonctionnalitĂ© utilisĂ©e possĂšde une option “scĂ©nario” avec les 4 choix.
        Ainsi, on dĂ©finit « ce que reprĂ©sente les donnĂ©es Â» en prĂ©cisant le ou les sĂ©parateurs, et la transformation est appliquĂ©e selon la demande.

        Les 4 scĂ©narios sont proposĂ©s dans le tutoriel : 3 Ă©tapes/actions (une 4Ăšme Ă©tape est nĂ©cessaire si on souhaite Ă©tudier Ă  part le 1er Ă©tat et l’état terminal de la trajectoire)

        Nouvelles fonctionnalités

        La majorité des nouvelles fonctionnalités concerne

        • des traitements de dates (dĂ©calage, conversion)
        • des traitements d’intervalles numĂ©riques
        • des traitements de pĂ©riodes (intervalles de dates)

        Elles sont prĂ©sentĂ©es ci-dessous dans leur rubrique respective (dans l’ordre d’apparition des rubriques dans Illico et dans la documentation).

        (dans l’application, chaque Ă©cran permettant d’exĂ©cuter une transformation possĂšde un lien vers la section/page concernĂ©e dans la documentation)

        Valeurs en liste : compacter, inverser l’ordre, filtrer

        compacter les listes

        rubrique « valeurs en liste : agrĂ©gats"

        Pour une liste qui prĂ©sente des rĂ©pĂ©titions—a,a,b,c,a,d,b—les deux options de cette transformation permettent d’obtenir :

        • a,b,c,a,d,b : rĂ©duire Ă  une occurrence, pour chaque sĂ©rie
        • a,b,c,d : conserver globalement les premiĂšres occurrences
        • c,a,d,b : conserver globalement les derniĂšres occurrences

        inverser l’ordre des Ă©lĂ©ments des listes

        rubrique « valeurs en liste : structure"

        Pour une colonne dĂ©crivant des listes d’élĂ©ments—a:1, b:2—,

        • inverse l’ordre des valeurs des listes (b:2, a:1)
        • inverse l’ordre des valeurs des listes imbriquĂ©es seulement (1:a, 2:b)
        • inverse l’ordre des listes imbriquĂ©es et des valeurs dans ces listes (2:b, 1:a)

        filtrer ou exclure les valeurs d’une liste

        rubrique « valeurs en liste : filtres"

        compare les listes de valeurs d’une colonne par rapport Ă  une autre colonne de rĂ©fĂ©rence

        • Ă©gal
        • diffĂ©rent de
        • supĂ©rieur/infĂ©rieur ou Ă©gal Ă 
        • strictement supĂ©rieur/infĂ©rieur Ă 

        réduire la liste à certaines clés

        conserver/exclure certains couples {clé:valeur} lorsque la clé existe dans une autre colonne (qui contient pour chaque ligne la liste de clés à conserver ou à exclure)

        Par exemple—et sans devoir utiliser des regex/expressions rationnelles—la liste 2021=3,2022=1,2024=4 pourra ĂȘtre rĂ©duite Ă  2022=1,2024=4 si la clĂ© 2021 existe dans la colonne de contrĂŽle.

        Valeurs en liste : lister les permutations, mélanger la liste

        rubrique valeurs en liste : enrichissement

        lister les permutations des valeurs d’une liste

        produit la liste de toutes les permutations des valeurs des listes de la colonne sélectionnée.

        mélanger les valeurs de la liste

        applique le mélange de Fisher-Yates sur les valeurs de la liste

        enlever les accents et les cĂ©dilles de l’en-tĂȘte

        rubrique « en-tĂȘte"

        surtout utile lorsque l’on part d’un tableur et que l’on cherche Ă  injecter les donnĂ©es dans une base de donnĂ©es ne tolĂ©rant pas ces caractĂšres dans les en-tĂȘtes

        Permuter les colonnes

        rubrique « colonnes : ordre"

        Dans le cas d’un export de donnĂ©es depuis un logiciel mĂ©tier, ou suite Ă  certaines transformations, certaines colonnes peuvent ĂȘtre gĂ©nĂ©rĂ©es dans un ordre qui ne s’avĂšre pas trĂšs intuitif.

        Cette nouvelle fonctionnalitĂ© inverse en 1 clic l’ordre des colonnes sĂ©lectionnĂ©es en permutant (au choix)

        • 1Êłá”‰ et 2ᔉ, 3ᔉ et 4ᔉ, etc.
        • 1Êłá”‰ et derniĂšre, 2ᔉ et avant-derniĂšre, etc.

        Numéroter chaque série

        rubrique “lignes”

        Dans Illico, le terme sĂ©rie dĂ©signe une suite de lignes contiguĂ«s qui possĂšdent la mĂȘme valeur dans la colonne sĂ©lectionnĂ©e (un identifiant par exemple).
        Si l’identifiant rĂ©apparaĂźt plus loin dans les donnĂ©es, il s’agira d’une nouvelle sĂ©rie.

        (une autre transformation permet déjà de numéroter chaque ligne de la série)

        Obtenir les méta-données des colonnes sélectionnées

        rubrique “agrĂ©gats”

        Pour les colonnes sélectionnées, indique

        • si la colonne ne contient que des valeurs uniques (les valeurs vides sont comptĂ©es Ă  part)
        • le nombre de lignes sans valeur (valeur vide)
        • le nombre de valeurs renseignĂ©es (valeur non-vide)
        • la cardinalitĂ© : nombre de valeurs diffĂ©rentes rencontrĂ©es dans la colonne

        Décaler les dates

        rubrique “temps”

        dĂ©caler les dates avec 1 constante (saisie par l’utilisateur)

        permet de dĂ©caler les dates d’une colonne Ă  partir d’une constante (on prĂ©cise l’unitĂ© : nombre de jours, de semaines, de mois ou d’annĂ©es)

        décaler des dates selon 1 autre colonne

        idem prĂ©cĂ©demment mais en se basant sur les valeurs d’une autre colonne plutĂŽt qu’une constante

        Jours de la semaine

        rubrique “temps”

        donner le nom des jours de la semaine

        la date est alors recodée : lundi, mardi


        compter chacun des jours de la semaine

        nombre de lundis, de mardis, etc. dans l’intervalle dĂ©crit par des colonnes dĂ©but et fin de la pĂ©riode

        obtenir le numĂ©ro du jour dans l’annĂ©e

        1 pour le 1á”‰Êł janvier, 32 pour le 1á”‰Êł fĂ©vrier


        Transformation des pĂ©riodes « temps : intervalles Â»

        compléter un intervalle de date (2 colonnes : début et fin de la période)

        crĂ©e une liste de jour/date dans l’intervalle dĂ©crit

        rechercher une date dans un intervalle de date

        compare 1 colonne (date recherchée) par rapport à 2 autres colonnes décrivant une période (début et fin de la période)

        combiner deux périodes (4 colonnes)

        option (au choix) : obtenir

        • une fusion : pĂ©riode englobant les deux [min, max]
        • une union : pĂ©riode englobant les deux seulement si intersection
        • une intersection : plus petite pĂ©riode commune

        comparer les dates et une liste de seuils (saisie par l’utilisateur)

        détecter des collisions de périodes

        portée de la détection

        • rechercher pour l’ensemble des donnĂ©es
        • rechercher dans les lignes qui partagent un mĂȘme identifiant (les lignes comparĂ©es ne sont pas forcĂ©ment contiguĂ«s)
        • rechercher dans les lignes qui dĂ©crivent une sĂ©rie (lignes contiguĂ«s avec un mĂȘme identifiant)

        Calculs

        rubrique “calculs”

        calculer une opération sur 1 colonne : options

        options :

        • opĂ©rations : minimum, maximum, moyenne, somme
        • valeurs vides : ignorĂ©es ou traduites par zĂ©ro
        • calcul : total ou cumulĂ©
          • option si cumulĂ© : en partant de la premiĂšre ou derniĂšre ligne
        • rĂ©sultat : global ou local
          • option si local : pour chaque sĂ©rie ou pour chaque identifiant

        calculer une opĂ©ration avec 1 constante (saisie par l’utilisateur)

        calculer une somme ou une moyenne sur x colonnes

        Convertir d’un systĂšme de numĂ©ration Ă  un autre

        rubrique “enrichissement”

        conversion depuis et vers une base binaire, octale, décimale, hexadécimale

        Matrice : transposée, inverser, trier

        rubrique “matrice”

        calculer la transposée

        Transpose le jeu de donnĂ©es : les lignes deviennent les colonnes et inversement ; la ligne d’en-tĂȘte devient la premiĂšre colonne ; la premiĂšre colonne devient la ligne d’en-tĂȘte.

        inverser l’ordre des lignes

        Inverse l’ordre des lignes du jeu de donnĂ©es : la premiĂšre ligne devient la derniĂšre, la derniĂšre devient la premiĂšre, etc.

        trier par ordre alphabétique

        options

        • ordre des lettres : A
Z
a
z É é ou A
É
Z
a é z
        • placer les valeurs vides : au dĂ©but ou Ă  la fin

        trier par ordre numérique

        option : les valeurs vides sont

        • les plus petites (seront placĂ©es au dĂ©but du tableau)
        • les plus grandes (seront placĂ©es Ă  la fin du tableau)
        • Ă©gales Ă  zĂ©ro

        trier par ordre chronologique

        option : les valeurs vides sont

        • dans le passĂ© lointain
        • dans un futur lointain
        • Ă©gales Ă  la date du jour
        • Ă©gales Ă  une date prĂ©cise (Ă  saisir)

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Nouvelles de Haiku - Hiver 2024-25

        17 février 2025 à 15:01

        Haiku est un systĂšme d’exploitation pour les ordinateurs personnels. Il s’agit Ă  l’origine d’une réécriture de BeOS. Le projet a dĂ©marrĂ© en 2001 et est actuellement en phase de beta-test pour une premiĂšre version stable avec support Ă  long terme. Depuis 2024, l’activitĂ© du projet Haiku s’accĂ©lĂšre grĂące entre autres Ă  l’embauche d’un dĂ©veloppeur Ă  plein temps. Les dĂ©pĂȘches sur Haiku sont donc dĂ©sormais publiĂ©es tous les 3 mois au lieu de tous les ans pour leur conserver une longueur digeste.

        La complĂšte liste des changements survenus pendant ces 3 mois comporte prĂšs de 300 commits. La dĂ©pĂȘche ne rentre pas dans les dĂ©tails de chaque changement et met en valeur les plus importants.

        Les grosses évolutions sont un nouveau port de Iceweasel (Firefox), et des grosses améliorations sur la gestion de la mémoire.

        Comme on est en dĂ©but d’annĂ©e, c’est aussi le moment du bilan financier.

        Sommaire

        Rapport financier 2024

        Recettes

        L’association Haiku inc (association de type 501(c)3 aux USA) publie chaque annĂ©e un rapport financier. Le rĂŽle de l’association est de rĂ©colter les dons et de les redistribuer pour aider au dĂ©veloppement de Haiku. Elle ne prend pas part aux dĂ©cisions techniques sur l’orientation du projet, et habituellement les dĂ©penses sont faites en rĂ©ponse aux demandes des dĂ©veloppeurs du projet.

        L’objectif en dĂ©but d’annĂ©e 2024 Ă©tait de rĂ©colter 20 000$ de dons. Cet objectif a Ă©tĂ© largement atteint, il a dĂ» ĂȘtre mis Ă  jour 2 fois en cours d’annĂ©e et finalement ce sont plus de 31 000$ qui ont Ă©tĂ© reçus ! Cela en particulier grace Ă  un assez gros don de 7 500$.

        Les dons sont rĂ©coltĂ©s via diffĂ©rentes plateformes: Github Sponsors (intĂ©ressant, car il n’y a aucun frais de traitement), PayPal, Liberapay, Benevity (une plateforme de « corporate matching »), ainsi que des paiements par chĂšque, virements bancaires, et en espĂšce lors de la tenue de stands dans des confĂ©rences de logiciels libres. La vente de T-Shirts et autre merchandising via la boutique Freewear reste anecdotique (une centaine de dollars cette annĂ©e).

        Il faut ajouter Ă  ces dons une contribution de 4 400$ de la part de Google en compensation du temps passĂ© Ă  l’encadrement des participants au Google Summer of Code.

        Il faut également ajouter des dons en crypto-monnaies, principalement en bitcoins. Le rapport financier présente les chiffres en détail en tenant une compatibilité séparée en dollars, en euros, et en crypto-monnaies, avant de convertir le total en dollars pour dresser un bilan complet.

        Une mauvaise nouvelle tout de mĂȘme: le service de microdons Flattr a fermĂ© ses portes. L’entreprise propose maintenant un service de bloqueur de publicitĂ©s payant, qui reverse de l’argent aux sites dont les publicitĂ©s sont bloquĂ©es.

        Le compte Flattr de Haiku avait Ă©tĂ© créé pour recevoir des dons sur la plateforme, mais n’avait jamais Ă©tĂ© configurĂ© pour transfĂ©rer ces dons vers le compte en banque de l’association. MalgrĂ© un certain temps passĂ© Ă  discuter avec le service client de Flattr et Ă  leur fournir tous les documents demandĂ©s, il n’a pas Ă©tĂ© possible de trouver une solution pour rĂ©cupĂ©rer cet argent. Ce sont donc 800$ qui ne reviendront finalement pas au projet Haiku.

        Au final, les recettes sont de 36 479 dollars, de loin la plus grosse somme reçue par le projet en un an.

        Dépenses

        La dĂ©pense principale est le paiement de Waddlesplash, le dĂ©veloppeur actuellement employĂ© par Haiku inc pour accĂ©lĂ©rer le dĂ©veloppement du systĂšme (les autres dĂ©veloppeurs participent uniquement sur leur temps libre, en fonction de leurs autres activitĂ©s). Cela reprĂ©sente 25 500$, un coĂ»t assez faible par rapport au travail rĂ©alisĂ©.

        Le deuxiĂšme poste de dĂ©penses est l’infrastructure, c’est-Ă  dire le paiement pour l’hĂ©bergement de serveurs, les noms de domaines, et quelques services « cloud » en particulier pour le stockage des dĂ©pĂŽts de paquets.

        Le reste des dépenses consiste en frais divers (commission PayPal par exemple), remboursement de déplacements pour la participation à des conférences, ainsi que le renouvellement de la marque déposée sur le logo Haiku.

        Le total des dĂ©penses s’élĂšve Ă  31 467$. C’est moins que les recettes, et l’association continue donc de mettre de l’argent de cĂŽtĂ©. L’annĂ©e 2022 a Ă©tĂ© la seule Ă  ĂȘtre dĂ©ficitaire, suite au dĂ©marrage du contrat de Waddlesplash. Ce contrat est Ă  prĂ©sent couvert par les donations reçues.

        Réserves

        L’association dispose de plus de 100 000$ rĂ©partis sur son compte en banque, un compte PayPal (qui permet de conserver des fonds en euros pour les paiements en euros et ainsi d’éviter des frais de change), et un compte Payoneer (utilisĂ© pour recevoir les paiements de Google).

        Elle dispose Ă©galement de prĂšs de 350 000$ en crypto-monnaies dont la valeur continue d’augmenter. Cependant, actuellement ces fonds ne sont pas accessibles directement, en raison de problĂšmes administratifs avec Coinbase, l’entreprise qui gĂšre ce portefeuille de crypto-monnaies. Le compte n’est pas configurĂ© correctement comme appartenant Ă  une association Ă  but non lucratif et cela pose des problĂšmes de dĂ©claration de taxes lorsque on souhaite vendre des crypto-monnaies contre du vrai argent. Cette situation persiste depuis plusieurs annĂ©es, mais l’association n’a pour l’instant pas besoin de rĂ©cupĂ©rer cet argent, les rĂ©serves dans le compte en banque principal Ă©tant suffisantes.

        Applications

        Iceweasel

        Le navigateur web Iceweasel est disponible dans les dĂ©pĂŽts de paquets (seulement pour la version 64 bits pour l’instant). Il s’agit d’un portage de Firefox utilisant la couche de compatibilitĂ© Wayland. Le nom Firefox ne peut pas ĂȘtre utilisĂ© puisqu’il ne s’agit pas d’un produit officiel de Mozilla.

        En plus du travail de portage pour rĂ©ussir Ă  faire fonctionner le navigateur, cela a nĂ©cessitĂ© un gros travail d’amĂ©lioration au niveau de la gestion de la mĂ©moire, une partie du systĂšme qui est fortement mise Ă  contribution par ce navigateur. On en reparle plus loin dans la dĂ©pĂȘche.

        Le navigateur est encore considĂ©rĂ© comme expĂ©rimental: plusieurs fonctions sont manquantes et il peut y avoir des plantages. WebPositive (le navigateur natif basĂ© sur WebKit) reste donc le navigateur installĂ© par dĂ©faut avec Haiku, mais les deux sont complĂ©mentaires. Par exemple, Iceweasel permet d’afficher les vidĂ©os Youtube avec des performances acceptables.

        Tracker

        Tracker est le gestionnaire de fichiers de Haiku. Il implĂ©mente une interface « spatiale », c’est-Ă -dire que chaque dossier s’ouvre dans une fenĂȘtre sĂ©parĂ©e et enregistre sa position Ă  l’écran.

        Le code du Tracker fait partie des composants qui ont pu ĂȘtre rĂ©cupĂ©rĂ©s de BeOS. Cela signifie que certaines parties du code ont Ă©tĂ© dĂ©veloppĂ©es il y a prĂšs de 30 ans, dans un contexte oĂč l’élĂ©gance du code n’était pas la prioritĂ© (il fallait pour les dĂ©veloppeurs de BeOS, d’une part livrer un systĂšme fonctionnel dans un temps raisonable, et d’autre part, fonctionner sur les machines relativement peu performantes de l’époque).

        Les Ă©volutions sur le Tracker nĂ©cessitent donc souvent du nettoyage dans de nombreuses parties du code, et provoquent souvent des rĂ©gressions sur d’autres fonctionnalitĂ©s. Toutefois, les choses s’amĂ©liorent petit Ă  petit.

        Ce trimestre, on a vu par exemple arriver la correction d’un problĂšme avec l’utilisation de la touche « echap ». Cette touche peut servir Ă  plusieurs choses:

        • Fermer une fenĂȘtre de chargement ou d’enregistrement de fichier,
        • Annuler le renommage d’un fichier,
        • Annuler une recherche rapide « type ahead » qui consiste Ă  taper quelques lettres et voir immĂ©diatement la liste de fichiers du dossier courant se rĂ©duire Ă  ceux qui contiennent cette chaĂźne de caractĂšres.

        Ces diffĂ©rentes utilisations peuvent entrer en conflit. Plus prĂ©cisĂ©ment, lorsqu’on utilise le filtrage « type ahead », puis qu’on change d’avis et qu’on appuie sur la touche « echap », il ne faut pas que cela ferme la fenĂȘtre en mĂȘme temps.

        Un autre changement concerne plutĂŽt la validation des donnĂ©es: Tracker interdit l’insertion de caractĂšres de contrĂŽle ASCII dans le nom de fichiers. Ce n’est pas strictement interdit (ni par Haiku, ni par ses systĂšmes de fichiers, ni par POSIX) en dehors de deux caractĂšres spĂ©ciaux: le '/' et le 0 qui termine une chaĂźne de caractĂšres. Mais, c’est trĂšs probablement une mauvaise idĂ©e d’avoir un retour Ă  la ligne ou un autre caractĂšre de contrĂŽle enregistrĂ© dans un nom de fichier. Le Tracker interdit donc dĂ©sormais de le faire et si vous ĂȘtes vraiment rĂ©solu Ă  y parvenir, il faudra passer par le terminal.

        Enfin, une nouvelle fonctionnalitĂ© dans le Tracker est la mise Ă  jour en temps rĂ©el des menus pop-up. Cela peut se produire pour plusieurs raisons, par exemple, l’appui sur la touche « command » modifie le comportement de certains menus. Avant ce changement, il fallait rĂ©-ouvrir le menu (command + clic droit) pour voir ces options modifiĂ©es. Maintenant, on peut d’abord ouvrir le menu, puis maintenir la touche command enfoncĂ©e pour voir les options modifiĂ©es.

        Cela a nĂ©cessitĂ© une refonte complĂšte de la gestion de ces menus (qui proposent de nombreuses autres choses comme la navigation « rayons X »). Au passage, certaines options qui Ă©taient uniquement disponibles au travers de raccourcis claviers ou de la barre de menu des fenĂȘtres du Tracker sont maintenant aussi affichĂ©es dans le menu pop-up.

        TeamMonitor

        TeamMonitor est le gestionnaire d’applications affichĂ© quand on utilise la combinaison de touches Ctrl+Alt+Suppr. Il permet de stopper des programmes, de redĂ©marrer la machine, et autres manipulations d’urgence si le systĂšme ne fonctionne pas comme il faut.

        Les processus lancĂ©s par une mĂȘme application sont maintenant regroupĂ©s et peuvent ĂȘtre tous arrĂȘtĂ©s d’un seul coup. Ce changement est nĂ©cessaire suite Ă  l’apparition de IceWeasel, qui crĂ©e beaucoup de processus en tĂąche de fond pour une seule instance du navigateur web.

        HaikuDepot

        HaikuDepot est l’interface graphique pour le systĂšme de paquets de Haiku. Il se prĂ©sente comme un magasin d’applications, permettant non seulement d’installer et de dĂ©sinstaller des logiciels, mais aussi de les Ă©valuer avec une note et un commentaire.

        • Ajout d’un marqueur sur les icĂŽnes des paquets qui sont dĂ©jĂ  installĂ©s, et remplacement du marqueur utilisĂ© pour indiquer les applications « natives » (utilisant le toolkit graphique de Haiku, par opposition Ă  Qt et GTK par exemple).
        • Affichage plus rapide de l’état « en attente d’installation » lorsqu’on demande l’installation d’un paquet.
        • L’interface pour noter un paquet est masquĂ©e si l’attribution de notes n’est pas possible.

        Préférences

        Diverses amĂ©liorations dans les fenĂȘtres de prĂ©fĂ©rences:

        • Correction d’un crash dans les prĂ©fĂ©rences d’affichage (korli).
        • Les prĂ©fĂ©rences de fond d’écran n’acceptent plus le glisser-dĂ©poser d’une couleur sur un contrĂŽle de choix de couleur dĂ©sactivĂ©. La modification de la position X et Y de l’image de fond se met Ă  jour en temps rĂ©el quand on Ă©dite la valeur des contrĂŽles correspondants.
        • Ajout de rĂ©glages supplĂ©mentaires (vitesse, accĂ©lĂ©ration, dĂ©filement) dans les prĂ©fĂ©rences des pavĂ©s tactiles. Ces options Ă©taient dĂ©jĂ  implĂ©mentĂ©es dans l’input_server, mais configurable uniquement pour les souris.
        • Suppression de code mort et amĂ©lioration de la gestion des polices de caractĂšres dans les prĂ©fĂ©rences d’apparence.

        Plusieurs améliorations sur les préférences de sons de notifications:

        • La fenĂȘtre de sĂ©lection de fichiers retient le dernier dossier utilisĂ©,
        • Elle permet Ă©galement d’écouter un son avant de le sĂ©lectionner,
        • Les menus de sĂ©lection rapide de sons affichent uniquement les fichiers et pas les dossiers,
        • Certains sons ont Ă©tĂ© renommĂ©s.

        La plupart des sons ne sont cependant toujours pas utilisés par le systÚme.

        Expander

        Expander est un outil permettant d’extraire plusieurs types de fichiers archivĂ©s.

        Peu de changement sur cet outil qui est assez simple et fonctionnel. La seule amĂ©lioration ce mois-ci concerne un changement des proportions de la fenĂȘtre pour Ă©viter un espace vide disgracieux.

        Cortex

        Cortex est une application permettant de visualiser et de manipuler les nƓuds de traitement de donnĂ©es du Media Kit.

        Le composant « logging consumer » qui reçoit des donnĂ©es d’un autre noeud et les enregistre dans un fichier de log pour analyse a Ă©tĂ© amĂ©liorĂ© pour enregistrer un peu plus d’informations.

        Icon-O-Matic

        L’éditeur d’icĂŽnes vectoriels Icon-O-Matic Ă©volue peu, aprĂšs un projet Google Summer of Code qui a ajoutĂ© la plupart des fonctionnalitĂ©s manquantes. Ce trimestre, un seul changement: l’ajout d’une entrĂ©e menu pour supprimer un « transformeur ».

        PowerStatus

        L’application PowerStatus affiche l’état de la batterie. Cela peut se prĂ©senter comme une icĂŽne dans la barre des tĂąches. L’icĂŽne est de taille rĂ©duite, et les diffĂ©rents Ă©tats n’étaient pas forcĂ©ment bien visibles. Ce problĂšme a Ă©tĂ© corrigĂ© avec des nouveaux marqueurs pour l’état de la batterie (en charge ou inactive).

        StyledEdit

        StyledEdit est un Ă©diteur de texte simple, permettant tout de mĂȘme de formater le texte (un peu comme WordPad pour Windows).

        L’application reçoit une nouvelle option pour Ă©crire du texte barrĂ©. Le code nĂ©cessaire a Ă©galement Ă©tĂ© ajoutĂ© dans app_server, puisque cette possibilitĂ© Ă©tait prĂ©vue, mais non implĂ©mentĂ©e.

        WebPositive

        Le navigateur WebPositive reçoit peu d’évolutions en ce moment, en dehors de la maintenance du moteur WebKit. On peut tout de mĂȘme mentionner l’ajout d’un menu contextuel sur les marque-pages, permettant de les renommer et de les supprimer. Ce dĂ©veloppement est issu d’un vieux patch rĂ©alisĂ© par un candidat au Google Summer of Code, qui ne fonctionnait pas et n’avait jamais Ă©tĂ© finalisĂ©.

        Mode sombre et configuration des couleurs

        Depuis la version Beta 5, Haiku dispose d’un nouveau systĂšme de configuration des couleurs, permettant d’obtenir facilement un affichage en « mode sombre ». Cependant, cet affichage est loin d’ĂȘtre parfait, et de petits ajustements sont Ă  faire petit Ă  petit dans toutes les applications qui n’avaient pas Ă©tĂ© pensĂ©es pour cela. En particulier, le changement de couleurs se fait en direct lorsqu’on change les rĂ©glages. On trouve ces trois derniers mois des changements dans DeskBar, Tracker, HaikuDepot, l’horloge, ainsi que la classe BTextView.

        Outils en ligne de commande

        pkgman peut rechercher les paquets installĂ©s et qui n’ont aucun autre paquet dĂ©pendant d’eux. Cela permet de trouver des paquets inutiles qui peuvent ĂȘtre dĂ©sinstallĂ©s (il manque encore la possibilitĂ© de marquer un paquet comme Ă©tant « installĂ© manuellement » avant de pouvoir automatiser le nettoyage).

        La commande route accepte la syntaxe utilisĂ©e par openvpn pour la configuration d’une route par dĂ©faut, ce qui facilite l’utilisation de VPN avec Haiku.

        Correction d’un problĂšme dans le compilateur de ressources: la commande rc -d ne savait pas dĂ©compiler la structure app_version des applications Haiku, uniquement le format plus ancien utilisĂ© par BeOS.

        La commande screenmode permet maintenant de récupérer la valeur actuelle du réglage du rétro-éclairage (en plus de permettre de changer cette valeur).

        Kits

        La bibliothĂšque de fonctions de Haiku est dĂ©coupĂ©e en « kits » qui regroupent un ensemble de classes et de fonctionnalitĂ©s liĂ©es.

        Application kit

        L’Application Kit permet, comme son nom l’indique, de lancer des applications. Il offre Ă©galement toutes les fonctionnalitĂ©s de boucles d’évĂšnements, et d’envoi de messages entre applications et entre composants d’une application.

        Correction d’un problùme de suppression d’un port dans la classe BApplication.

        Debug kit

        Le Debug Kit fournit les services nĂ©cessaires au Debugger pour dĂ©bugger une application. Cela consiste d’une part en un accĂšs privilĂ©gie Ă  l’espace mĂ©moire d’une application, et d’autre part en outils pour analyser les fichiers ELF des exĂ©cutables et bibliothĂšques.

        Le Debug Kit reçoit ce trimestre plusieurs Ă©volutions et corrections permettant le dĂ©codage des stack traces dans les programmes compilĂ©s avec clang et lld. Par exemple, les fichiers ELF gĂ©nĂ©rĂ©s par ces outils sont dĂ©coupĂ©s en plusieurs segments, alors que ce n’est pas le cas pour gcc.

        Device Kit

        Le Device Kit regroupe tout ce qui concerne l’accĂšs direct au matĂ©riel et aux entrĂ©es-sorties depuis l’espace utilisateur: ports sĂ©rie, accĂšs direct aux pĂ©riphĂ©riques USB, accĂšs aux joysticks et manettes de jeu.

        Les ports sĂ©rie RS232 peuvent ĂȘtre configurĂ©s avec des valeurs en baud personnalisĂ©es (pour l’instant uniquement pour les adaptateurs sĂ©rie USB).

        Interface kit

        L’Interface Kit regroupe tout ce qui concerne l’affichage de fenĂȘtres et de vues Ă  l’écran et les interactions avec ces fenĂȘtres.

        • Ajout de constructeur « move » et d’opĂ©rateur d’assignation pour BRegion et BShape pour amĂ©liorer les performances en Ă©vitant les copie d’objet immĂ©diatement suivies de suppression.
        • Ajout d’un constructeur pour BRect avec deux arguments (largeur et hauteur) pour les rectangles alignĂ©s en haut Ă  gauche ou dont la position n’a pas d’importance.
        • Remise en place d’un cas particulier dans BBitmap::SetBits pour la gestion du canal alpha afin d’avoir un comportement plus proche de celui de BeOS.
        • BColorControl rĂ©agit correctement et dĂ©clenche les Ă©vĂšnements nĂ©cessaires lorsqu’on modifie sa couleur par glisser-dĂ©poser.

        Media Kit

        Correction d’une assertion vĂ©rifiant la mauvaise condition dans BTimeSource.

        Réécriture de la classe BTimedEventQueue pour amĂ©liorer ses performances en Ă©vitant d’allouer de la mĂ©moire dynamique.

        AmĂ©lioration de l’affichage des « media controls » (sliders de contrĂŽle de volume par exemple) en mode sombre.

        libshared

        La « libshared » contient plusieurs classes expĂ©rimentales, en cours de dĂ©veloppement, mais dĂ©jĂ  utilisĂ©es par plusieurs applications. Il s’agit d’une bibliothĂšque statique, ce qui permet de changer facilement son contenu sans casser l’ABI des applications existantes.

        Ajout de la classe ColorPreview qui existait en plusieurs exemplaires dans le code de Haiku (prĂ©fĂ©rences d’apparence et Terminal). Cette classe permet d’afficher une couleur dans un petit rectangle. Elle est utilisĂ©e Ă  plusieurs endroits dans des contrĂŽles de choix de couleur plus complexes, tels que des listes ou des menus.

        Servers

        Les servers sont des processus systÚmes implémentant différentes fonctionnalités de Haiku. Le concept est similaire à celui des daemons dans UNIX, ou des services dans Windows NT et systemd.

        app_server

        L’app_server s’occupe de l’affichage des applications Ă  l’écran.

        Suppression de code inutilisĂ© depuis longtemps permettant l’accĂ©lĂ©ration matĂ©rielle d’opĂ©rations de dessin en 2D (blit, tracĂ© de lignes, remplissage de rectangles
).

        Sur les cartes graphiques PCI, ces opĂ©rations Ă©taient souvent rĂ©alisĂ©es plus rapidement par le CPU qui tourne Ă  une frĂ©quence bien plus rapide que la carte. Sur les cartes AGP, l’accĂšs en lecture Ă  la mĂ©moire vidĂ©o par le CPU est trĂšs lent, et il Ă©tait donc plus intĂ©ressant de faire ces opĂ©rations en RAM centrale avant d’envoyer un buffer prĂȘt Ă  afficher Ă  la carte graphique. Enfin sur les cartes PCI express modernes, ces fonctions d’accĂ©lĂ©ration ont disparu ou en tout cas n’ont pas du tout une interface compatible avec les besoins de Haiku. Il est donc temps de jeter ce code.

        Modification de la façon dont les applications rĂ©cupĂšrent la palette de couleurs en mode graphique 256 couleurs: elle utilise maintenant une mĂ©moire partagĂ©e, et il n’est plus nĂ©cessaire que chaque application demandent au serveur graphique d’en obtenir une copie.

        input_server

        L’input_server se charge des entrĂ©es souris et clavier. Cela comprend les mĂ©thodes d’entrĂ©e de texte (par exemple pour le Japonais) ainsi que des filtres permettant de manipuler et d’intercepter ces Ă©vĂšnements d’entrĂ©e avant leur distribution dans les applications.

        AmĂ©liorations du filtre PadBlocker pour bloquer le touchpad quand le clavier est en cours d’utilisation sur les PC portables: gestion des rĂ©pĂ©titions de touches, blocage uniquement du touchpad et pas des autres pĂ©riphĂ©riques de pointage.

        net_server

        Le net_server se charge de la configuration des interfaces réseau.

        ArrĂȘt du client d’autoconfiguration (DHCP par exemple) lors de la perte du lien sur un port Ethernet, pour ne pas essayer d’envoyer des paquets alors que le cĂąble est dĂ©branchĂ©.

        notification_server

        notification_server se charge de l’affichage de panneaux de notification pour divers Ă©vĂšnements tels que la connexion et dĂ©connexion d’interfaces rĂ©seau, un niveau dangereusement bas de la batterie, la fin d’un tĂ©lĂ©chargement


        La fenĂȘtre de notification a Ă©tĂ© retravaillĂ©e pour mieux s’adapter Ă  la taille de police d’affichage choisie par l’utilisateur.

        mail_daemon

        mail_daemon permet d’envoyer et de recevoir des e-mails. Les messages sont stockĂ©s sous forme de fichiers avec des attributs Ă©tendus pour les mĂ©tadonnĂ©es (sujet, expĂ©diteur
). Plusieurs applications clientes permettent de rĂ©diger ou de lire ces fichiers. Ainsi chaque application n’a pas besoin de rĂ©implĂ©menter les protocoles IMAP ou SMTP.

        AmĂ©lioration de la fenĂȘtre de logs pour la compatibilitĂ© avec le mode sombre.

        runtime_loader

        Le runtime_loader est l’outil qui permet de dĂ©marrer un exĂ©cutable. Il se charge de trouver toutes les bibliothĂšques partagĂ©es nĂ©cessaires et de les placer dans la mĂ©moire.

        Ajout du flag PF_EXECUTE qui rend exĂ©cutable uniquement les sections ELF qui le nĂ©cessitent (auparavant, toutes les sections qui n’étaient pas accessibles en Ă©criture Ă©taient exĂ©cutables). Cela est utilisĂ© en particulier par clang, qui sĂ©pare une zone en lecture seule (pour les constantes) et une autre en lecture et exĂ©cution (pour le code). Avec gcc, les deux sont habituellement regroupĂ©es dans la mĂȘme section.

        Drivers

        Périphériques de stockage

        Correction de bugs dans la couche SCSI (utilisĂ©e Ă©galement pour d’autres pĂ©riphĂ©riques de stockage qui encapsulent des commandes SCSI). Des drapeaux d’état n’étaient pas remis Ă  0 au bon moment, ce qui causait des kernel panic avec le message « no such range! ».

        Cela a Ă©tĂ© l’occasion de faire du mĂ©nage : suppression de champs inutilisĂ©s dans des structures de donnĂ©es, et suppression du module d’allocation mĂ©moire locked_pool qui n’était utilisĂ© que par la pile SCSI. À la place, utilisation des fonctions d’allocation mĂ©moire standard du noyau, qui sont amplement suffisantes pour rĂ©pondre aux besoins de ce module (waddlesplash).

        Cartes son

        Correction d’erreurs dans le code de gestion mĂ©moire des pilotes es1370 et auvia. Ces drivers utilisaient deux copies d’un code d’allocation identique, mais avaient divergĂ© l’un de l’autre. Ils ont Ă©tĂ© rĂ©unifiĂ©s mais cela a provoquĂ© quelques rĂ©gressions, avec des difficultĂ©s pour trouver des machines permettant de tester chacune des cartes son concernĂ©es. Haiku peut heureusement compter sur des utilisateurs « avancĂ©s » qui testent rĂ©guliĂšrement les nightly builds pour dĂ©tecter ce type de rĂ©gression (korli).

        Réseau

        Correction d’une fuite mĂ©moire lors de l’utilisation de sockets « raw » permettant d’envoyer et de recevoir directement des paquets ethernet (en contournant la couche IP).

        Pilotes FreeBSD

        Une grande partie des pilotes de carte rĂ©seau de Haiku sont en fait ceux de FreeBSD ou d’OpenBSD. Une couche de compatibilitĂ© permet de rĂ©utiliser ces pilotes avec trĂšs peu de changement dans leur code source. Ainsi, les Ă©volutions et corrections peuvent ĂȘtre partagĂ©es avec l’un ou l’autre de ces systĂšmes. La collaboration avec les *BSD pour les pilotes rĂ©seau se passe de mieux en mieux : suite au dĂ©veloppement d’une couche de compatibilitĂ© permettant d’utiliser les pilotes OpenBSD dans Haiku, les dĂ©veloppeurs de FreeBSD Ă©tudient la possibilitĂ© de rĂ©utiliser Ă©galement ces pilotes. De plus, les dĂ©veloppeurs de Haiku et d’OpenBSD sont en contact pour coordonner les mises Ă  jour et les tests.

        Génération de statistiques plus fiables sur les paquets réseaux dans la couche de compatibilité FreeBSD et remontée des statistiques générées par les pilotes associés.

        Synchronisation du pilote realtekwifi avec la version de FreeBSD et reconnaissance d’un identifiant de pĂ©riphĂ©rique USB supplĂ©mentaire dans ce pilote.

        Amélioration de la couche de compatibilité pour se comporter plus précisément comme FreeBSD, et suppression de patchs correspondants dans les pilotes qui sont devenus superflus.

        AmĂ©lioration des performances de la couche de compatibilitĂ©: retrait de comparaisons de chaĂźnes de caractĂšres et d’allocations inutiles.

        Pilotes spécifiques à Haiku

        AmĂ©lioration du comportement du pilote USB RNDIS (partage de connexion sur USB de certains tĂ©lĂ©phones Android) lorsque le cĂąble USB est dĂ©connectĂ©. Le pilote incluait du code pour tenter de restaurer la connexion existante si le mĂȘme appareil est reconnectĂ©, mais les pĂ©riphĂ©riques RNDIS utilisent des adresses MAC alĂ©atoires qui changent Ă  chaque connexion, donc cela ne pouvait pas fonctionner. De plus, certains transferts USB n’étaient pas correctement annulĂ©s pour laisser la pile USB dans un Ă©tat propre aprĂšs la dĂ©connexion du pĂ©riphĂ©rique.

        USB

        Ajout d’une annulation de transferts de donnĂ©es en attente dans le pilote pour les pĂ©riphĂ©riques de stockage USB, ce qui corrige un kernel panic lors de l’utilisation de lecteurs de disquettes USB. ArrĂȘt immĂ©diat des opĂ©rations (au lieu de rĂ©-essayer pendant quelques secondes) si le pĂ©riphĂ©rique indique « no media present » (CD ou disquette Ă©jectĂ©e de son lecteur par exemple).

        Ajout d’une vĂ©rification de pointeur NULL et de libĂ©ration de mĂ©moire manquantes dans la pile USB, ce qui corrige des fuites de mĂ©moires (qui Ă©taient lĂ  depuis longtemps) et une assertion qui se dĂ©clenchait (introduite plus rĂ©cemment).

        Le pilote de webcam UVC est mis Ă  jour pour utiliser des constantes (identifiants de types de descripteurs
) partagĂ©es avec le reste du systĂšme au lieu de toutes les redĂ©finir une deuxiĂšme fois. L’affichage des descripteurs dans listusb est Ă©galement complĂ©tĂ© pour dĂ©coder toutes les informations disponibles. Le pilote n’est toujours pas complĂštement fonctionnel: l’établissement des transferts au niveau USB fonctionne, mais pour l’instant le pilote ne parvient pas Ă  dĂ©coder les donnĂ©es vidĂ©o reçues correctement.

        Le pilote HID sait reconnaĂźtre les « feature reports », qui permettent de configurer un pĂ©riphĂ©rique. Par exemple, cela peut permettre de configurer un touchpad en mode multi-point (dans lequel le systĂšme doit effectuer lui-mĂȘme le suivi de chaque doigt sur la surface tactile pour convertir cela en mouvements de pointeur de souris) ou en mode Ă©mulation de souris (oĂč on ne peut utiliser qu’un doigt Ă  la fois, mais avec un pilote beaucoup plus simple).

        Le pilote pour les tablettes Wacom reconnaĂźt la tablette CTH-470.

        PS/2

        Les ports PS/2 ont disparu de la plupart des machines ces derniĂšres annĂ©es, mais le protocole reste utilisĂ© pour le clavier des ordinateurs portables, ainsi que pour certains touchpads. Malheureusement, le protocole est seulement Ă©mulĂ© au niveau de l’« embedded controller » (le microprocesseur qui se charge de l’interfaçage de divers composants annexes). Le rĂ©sultat est que l’implĂ©mentation du protocole et des registres d’interface peut s’éloigner considĂ©rablement des documents officiels.

        AmĂ©lioration de la dĂ©tection des contrĂŽleurs PS/2 supportant le protocole « active multiplexing » permettant de connecter Ă  la fois une souris et un touchpad. La procĂ©dure de dĂ©tection officielle peut gĂ©nĂ©rer des faux positifs: certains contrĂŽleurs rĂ©pondent bien Ă  cette commande, mais n’implĂ©mentent en fait pas du tout le protocole. Cela provoquait un long dĂ©lai au dĂ©marrage alors que le pilote tente d’énumĂ©rer des pĂ©riphĂ©riques de pointage qui n’existent pas. Une vĂ©rification supplĂ©mentaire aprĂšs l’activation du mode multiplexĂ© permet de dĂ©tecter ce cas.

        virtio_pci

        virtio est un standard matĂ©riel pour les machines virtuelles. PlutĂŽt que d’émuler un vrai matĂ©riel (carte rĂ©seau, carte graphique
), une machine virtuelle peut Ă©muler un matĂ©riel qui n’a jamais Ă©tĂ© fabriquĂ©, mais dont la programmation est beaucoup plus simple. Cela permet Ă©galement des opĂ©rations inimaginables sur du matĂ©riel rĂ©el, comme la possibilitĂ© de changer la taille de la RAM en cours d’exĂ©cution pour mieux partager la mĂ©moire de l’hĂŽte entre diffĂ©rentes machines virtuelles.

        Le pilote virtio_pci est Ă  la racine du systĂšme virtio. Il dĂ©tecte la « carte PCI » virtio et implĂ©mente les primitives de base d’envoi et de rĂ©ception de messages entre l’hĂŽte et la machine virtualisĂ©e (du cĂŽtĂ© virtualisĂ©, pour le cĂŽtĂ© hĂŽte, c’est le virtualisateur, par exemple QEMU, qui s’en charge).

        Correction de plusieurs problÚmes avec les numéros de files virtio qui rendaient les pilotes instables.

        ACPI

        ACPI est un cadriciel pour la gestion de l’énergie et l’accĂšs au matĂ©riel. Le fabricant du matĂ©riel fournit (dans la ROM du BIOS) un ensemble de « tables » contenant une description du matĂ©riel disponible, ainsi que des mĂ©thodes compilĂ©es en bytecode pour piloter ce matĂ©riel. Le systĂšme d’exploitation doit fournir un interprĂ©teur pour ce bytecode, puis rĂ©aliser les entrĂ©es-sorties vers le matĂ©riel demandĂ© lors de l’exĂ©cution.

        Haiku utilise actuellement ACPICA, une bibliothÚque ACPI développée principalement par Intel.

        Correction d’un problĂšme d’accĂšs Ă  de la mĂ©moire non cachĂ©e. Une modification faite pour les machines ARM a dĂ©clenchĂ© un problĂšme sur les machines x86.

        Sondes de température

        Ajout d’un nouveau pilote amd_thermal, ajout de ce dernier ainsi que des pilotes pch_thermal et acpi_thermal dans l’image disque par dĂ©faut. Ces pilotes devraient permettre de rĂ©cupĂ©rer la tempĂ©rature du processeur sur la plupart des machines. Il reste maintenant Ă  intĂ©grer cela dans les outils en espace utilisateur pour faire un bon usage de ces informations.

        Pilotes graphiques

        Ajout de deux nouvelles générations de cartes graphiques dans le pilote intel_extreme.

        Le pilote VESA est capable de patcher le BIOS de certaines cartes graphiques Ă  la volĂ©e pour y injecter des modes graphiques supplĂ©mentaires (la spĂ©cification VESA permettant Ă  l’OS uniquement de choisir un mode parmi une liste fournie par la carte graphique, liste souvent assez peu fournie). Ce mode est dĂ©sormais activĂ© par dĂ©faut sur les cartes graphiques oĂč il a pu ĂȘtre testĂ© avec succĂšs.

        SystĂšmes de fichiers

        FAT

        FAT est un systÚme de fichier développé par Microsoft et qui remonte aux premiers jours de MS-DOS. Il est encore utilisé sur certaines clés USB et cartes SD, bien que exFAT tend à le remplacer petit à petit. Il est également utilisé pour les partitions systÚmes EFI.

        Le pilote de Haiku a Ă©tĂ© rĂ©cemment réécrit Ă  partir de celui de FreeBSD. L’amĂ©lioration de ce nouveau pilote se poursuit, avec ce mois-ci :

        • Les noms de volumes FAT sont convertis en minuscules comme le faisait l’ancien pilote FAT,
        • Le cache de blocs implĂ©mente maintenant un mĂ©canisme de prefetch pour rĂ©cupĂ©rer plusieurs blocs disque d’un coup, et le pilote FAT utilise cette nouvelle possibilitĂ© pour amĂ©liorer en particulier le temps de montage,
        • Correction de problĂšmes dans le cache de fichiers si deux applications accĂšdent au mĂȘme fichier mais avec des noms diffĂ©rents par la casse (le systĂšme de fichier ignorant ces diffĂ©rences).

        BFS

        BFS est le systĂšme de fichier principal de BeOS et de Haiku. Il se distingue des autres systĂšmes de fichiers par une gestion poussĂ©e des attributs Ă©tendus, avec en particulier la possibilitĂ© de les indexer et d’effectuer des requĂȘtes pour trouver les fichiers correspondants Ă  certains critĂšres.

        Clarification de la description des options disponibles lors de l’initialisation d’un volume BFS.

        Correction des fonctions d’entrĂ©es/sorties asynchrones pour rĂ©fĂ©rencer correctement les inodes, ce qui corrige un trĂšs ancien rapport de bug. Des corrections similaires ont Ă©tĂ© faites Ă©galement dans les pilotes FAT et EXFAT.

        Correction des requĂȘtes sur l’attribut « derniĂšre modification », et amĂ©lioration de la gestion du type « time » pour Ă©viter les conversions inutiles (ce type d’attribut est historiquement stockĂ© en 32 bits mais migrĂ© en 64 bits lorsque c’est possible pour Ă©viter le bug de l’an 2038, aussi le code doit ĂȘtre capable de traiter ces 2 formats de stockage).

        packagefs

        Le systĂšme de fichier packagefs est au centre de la gestion des paquets logiciels dans Haiku. Les paquets ne sont pas extraits sur le disque, mais montĂ©s dans un systĂšme de fichier spĂ©cifique (qui implĂ©mente une version tout-en-un de ce qui pourrait ĂȘtre rĂ©alisĂ© sous Linux avec squashfs et overlayfs).

        Ce systĂšme de fichier se trouve donc sur le chemin critique en termes de performances, ce qui fait que mĂȘme de petites optimisations peuvent dĂ©boucher sur de gros gains de performance.

        Optimisation de la gestion de la mĂ©moire: utilisation d’un allocateur dĂ©diĂ© pour allouer et dĂ©sallouer trĂšs rapidement de la mĂ©moire de travail avec une durĂ©e de vie courte.

        Ajout d’une vĂ©rification manquante sur la prĂ©sence du dossier parent, qui pouvait dĂ©clencher un kernel panic.

        NFS4

        Le pilote NFS4 permet de monter des partages réseau NFS. Cependant, le pilote ne fonctionne pas toujours, et certains utilisateurs doivent se rabattre sur le pilote NFS v2 (ancienne version du protocole de moins en moins utilisée), ou encore sur des systÚmes de fichiers FUSE comme SMB ou sshfs.

        Le pilote NFS4 peut maintenant ĂȘtre compilĂ© avec userlandfs (Ă©quivalent de FUSE pour Haiku) pour s’exĂ©cuter en espace utilisateur. Cela facilitera le dĂ©boguage.

        ramfs et ram_disk

        ram_disk est un pĂ©riphĂ©rique de stockage qui stocke les donnĂ©es en RAM, il a une taille fixe et doit ĂȘtre formatĂ© avec un systĂšme de fichiers avant de pouvoir ĂȘtre utilisĂ©.
        ramfs est un systÚme de fichier stockant les données directement en RAM sans passer par un périphérique de stockage de type bloc. Sa taille est dynamique en fonction des fichiers qui sont stockés dedans.

        Ces deux pilotes ont reçu divers nettoyages et corrections, suite à des problÚmes mis en évidence par des assertions ajoutées précédemment dans le code.

        Dans le ramfs, nettoyage de code dupliquĂ©, rĂ©duction de la contention sur les verrous, amĂ©lioration de la fonction readdir pour retourner plusieurs entrĂ©es d’un coup au lieu de les Ă©grĂ©ner une par une.

        Ajout de la gestion des fichiers « spĂ©ciaux » (FIFOs nommĂ©s, sockets UNIX) dans ramfs.

        Autres

        Refonte de l’algorithme de « scoring » des requĂȘtes sur les systĂšmes de fichiers. Cet algorithme permet d’estimer quels sont les termes de la requĂȘte les moins coĂ»teux Ă  Ă©valuer, afin de rĂ©duire rapidement le nombre de fichiers rĂ©pondant aux critĂšres, et d’effectuer les opĂ©rations complexes seulement sur un petit nombre de fichiers restants. Les requĂȘtes s’exĂ©cutent ainsi encore plus rapidement (waddlesplash).

        Réécriture du code pour identifier les partitions dans mount_server. Ce code permet de re-monter les mĂȘmes partitions aprĂšs un redĂ©marrage de la machine, mais l’ancien algorithme pouvait trouver de faux positifs et monter des partitions supplĂ©mentaires (OscarL et waddlesplash).

        Correction d’une option de debug pour intercepter les accĂšs aux adresses non initialisĂ©es (0xcccccccc) ou dĂ©jĂ  libĂ©rĂ©es (0xdeadbeef). Cela permet de dĂ©tecter certains accĂšs Ă  des pointeurs invalides. Cette option ne fonctionnait correctement que sur les systĂšmes 32 bit, maintenant, l’adresse correspondante pour les machines 64 bit est Ă©galement protĂ©gĂ©e.

        libroot

        La libroot est la librairie C de base de Haiku. Elle regroupe les fonctions parfois implĂ©mentĂ©es dans les libc, libm, libpthread, librt et libdl pour d’autres systĂšmes. Haiku choisit une approche tout-en-un, car il est excessivement rare qu’une application n’ait pas besoin de toutes ces bibliothĂšques.

        Du fait de la grande diversité des services rendus par cette bibliothÚque, il est difficile de présenter les changements de façon cohérente et organisée.

        Correction de quelques cas particuliers dans le traitement des tableaux de descripteurs de fichiers pour select() et dĂ©placement d’une partie des dĂ©finitions de sys/select.h vers des en-tĂȘtes privĂ©s non exposĂ©s aux applications (waddlesplash).

        Ajout d’une fonction manquante dans les « stubs » de la libroot, qui sont utilisĂ©s lors de la compilation de Haiku en mode « bootstrap » (sans aucune dĂ©pendance prĂ©compilĂ©e externe). Les stubs sont normalement gĂ©nĂ©rĂ©s Ă  l’aide d’un script, mais celui-ci n’avait pas pris en compte une fonction nĂ©cessaire seulement sur les architectures x86.

        Poursuite du travail d’unification des fonctions de manipulation des temps d’attentes pour toutes les fonctions de la libroot qui peuvent dĂ©clencher un timeout. Correction d’un cas oĂč la fonction pthread_testcancel retournait NULL au lieu de la valeur attendue PTHREAD_CANCELED.

        Optimisation de la fonction strcmp, remplacement d’autres fonctions avec de meilleures implĂ©mentations provenant de la bibliothĂšque C musl.

        Compatibilité POSIX-2024

        La spĂ©cification POSIX Issue 8 a Ă©tĂ© publiĂ©e et comporte de nombreux changements. AprĂšs la version 7, la façon de travailler est devenue plus ouverte, avec un outil de suivi de bugs permettant de proposer des amĂ©liorations. Cela conduit Ă  la standardisation de nombreuses extensions qui sont communes entre les systĂšmes GNU et BSD, rendant plus facile d’écrire du code portable entre tous les systĂšmes compatibles POSIX.

        • Ajout de fonctions qui ouvrent des descripteurs de fichiers avec le drapeau O_CLOEXEC activĂ© par dĂ©faut (dup2, pipe3)
        • Ajout de reallocarray (un mĂ©lange de calloc et realloc)
        • Ajout de memmem (recherche d’une suite d’octets dans une zone de mĂ©moire)
        • Ajout de mkostemp
        • Ajout de posix_devctl et modifications de l’implĂ©mentation de ioctl
        • Ajout de pthread_getcpuclockid pour mesurer le temps CPU consommĂ© par un thread
        • Ajout de la constante d’erreur ESOCKTNOSUPPORT bien qu’elle ne soit jamais utilisĂ©e (cela facilite le portage d’applications qui attendent l’existence de ce code d’erreur)
        • Correction d’une boucle infinie dans pipe2
        • Suppression des fonctions *randr48_r des en-tĂȘtes publics. Il s’agit d’une extension disponible uniquement dans la glibc, et qui ne devrait donc pas ĂȘtre disponible dans la libroot. Cependant, l’implĂ©mentation est conservĂ©e pour assurer la compatibilitĂ© d’ABI avec les applications existantes.

        ioctl et posix_devctl

        La fonction ioctl existe depuis le dĂ©but de UNIX et permet de rĂ©aliser des opĂ©rations spĂ©ciales sur les descripteurs de fichiers (tout ce qui n’est pas une simple lecture ou Ă©criture). En particulier, elle est beaucoup utilisĂ©e pour les pilotes de pĂ©riphĂ©riques qui exposent une interface sous forme de fichiers dans /dev.

        L’existence de cette fonction Ă©tait demandĂ©e dans la spĂ©cification POSIX, mais son fonctionnement n’était pas documentĂ© Ă  l’exception de quelques cas particuliers. La documentation spĂ©cifie une fonction avec un nombre d’arguments variable : un numĂ©ro de descripteur de fichier, un identifiant de l’opĂ©ration Ă  effectuer, puis des paramĂštres qui dĂ©pendent de l’opĂ©ration. On trouve des opĂ©rations avec aucun, un, ou deux paramĂštres.

        Dans UNIX et la plupart de ses dĂ©rivĂ©s, la liste des opĂ©rations possibles est dĂ©finie Ă  l’avance, et le format des numĂ©ros identifiants permet de dĂ©terminer de façon prĂ©dictible quel est le nombre de paramĂštres attendus. Ce n’est pas le cas dans Haiku : les pilotes de pĂ©riphĂ©riques ont le choix d’assigner n’importe quelle valeur Ă  n’importe quelle opĂ©ration, et la mĂȘme valeur numĂ©rique peut donc avoir une signification diffĂ©rente selon le type de fichier.

        L’opĂ©ration ioctl est donc en rĂ©alitĂ© implĂ©mentĂ©e avec toujours 4 arguments pour Haiku : en plus des deux dĂ©jĂ  mentionnĂ©s, il faut ajouter un pointeur vers une zone de mĂ©moire, et un entier indiquant la taille de cette zone. Des acrobaties Ă  base de macros permettent de remplir ces deux paramĂštres avec des valeurs par dĂ©faut lorsqu’ils ne sont pas nĂ©cessaires (au moins pour les programmes Ă©crits en C ; en C++, ces deux paramĂštres sont simplement dĂ©clarĂ©s avec une valeur par dĂ©faut).

        Heureusement, ces problĂšmes avec ioctl vont ĂȘtre rĂ©solus, puisque POSIX a introduit une nouvelle fonction en remplacement : posix_devctl. Celle-ci fonctionne comme l’implĂ©mentation de ioctl dans Haiku, mais les arguments doivent toujours ĂȘtre spĂ©cifiĂ©s explicitement. Cela va donc permettre de disposer d’une interface rĂ©ellement portable pour ces opĂ©rations.

        Kernel

        Correction de la taille du tampon mémoire par défaut de la classe KPath qui permet au noyau de manipuler des chemins dans le systÚme de fichiers (waddlesplash).

        VFS

        Le VFS (virtual filesystem) est l’interface entre les appels systĂšmes d’accĂšs aux fichiers (open, read, write
) et les systĂšmes de fichiers proprement dit. En plus de ce travail d’interfaçage (par exemple : convertir un chemin de fichier absolu en chemin relatif Ă  un point de montage), cette couche regroupe un ensemble de fonctionnalitĂ©s qui n’ont pas besoin d’ĂȘtre rĂ©implĂ©mentĂ©es par chaque systĂšme de fichier: vĂ©rification des permissions, mĂ©moire cache pour limiter les accĂšs au disque.

        Si les systĂšmes de fichiers identifient chaque objet par un inode (en gĂ©nĂ©ral liĂ© Ă  la position de l’objet sur le disque ou dans la partition de stockage), le VFS travaille lui avec des vnode qui existent uniquement en RAM et sont allouĂ©s dynamiquement pour les fichiers en cours d’utilisation.

        D’autre part, les systĂšmes de fichiers peuvent se reposer sur un cache de blocs. Ce dernier se trouve plutĂŽt Ă  l’interface entre un systĂšme de fichier et le support de stockage correspondant, puisqu’il fonctionne au niveau des blocs de donnĂ©es stockĂ©es sur disque. Mais son intĂ©gration avec le VFS est nĂ©cessaire pour savoir quels sont les fichiers en cours d’utilisation et les opĂ©rations prĂ©visibles sur chacun (par exemple, il est utile de prĂ©-charger la suite d’un fichier lorsque un programme demande Ă  en lire le dĂ©but, car il est probable que ces informations vont bientĂŽt ĂȘtre nĂ©cessaires).

        Le VFS est donc un Ă©lĂ©ment central en particulier pour obtenir de bonnes performances sur les accĂšs aux fichiers, en minimisant les accĂšs aux vrais systĂšmes de fichiers qui doivent maintenir beaucoup d’informations Ă  jour sur les disques. Tout ce qui peut ĂȘtre traitĂ© en utilisant uniquement la RAM grĂące Ă  la mise en cache est beaucoup plus rapide.

        Investigation et amĂ©lioration des performances de la commande git status qui prenait beaucoup plus de temps Ă  s’exĂ©cuter que sur d’autres systĂšmes (waddlesplash):

        • Meilleure gestion des vnodes inutilisĂ©s Ă  l’aide d’une liste chaĂźnĂ©e 'inline' protĂ©gĂ©e par un spinlock, Ă  la place d’un mutex peu performant dans ce code trĂšs frĂ©quemment appelĂ©.
        • Modification de la structure io_context pour utiliser un verrou en lecture-Ă©criture (permettant plusieurs accĂšs concurrents en lecture, mais un seul en modification).
        • Ajout d’un chemin rapide dans le cas le plus simple de la recherche de vnode.

        Avec ces changements, les performances sont améliorées au moins lorsque les données nécessaires sont déjà disponibles dans le cache disque.

        Nettoyage et corrections dans les fonctions d’entrĂ©es-sorties vectorisĂ©es et asynchrones do_iterative_fd_io et do_fd_io utilisĂ©es par les systĂšmes de fichiers: meilleure gestion des rĂ©fĂ©rences et prise en compte de certains cas particuliers. Cela permet de simplifier un peu le code de prĂ©-remplissage du cache de blocs (waddlesplash).

        La prise en compte des drapeaux O_RDONLY|O_TRUNC lors de l’ouverture d’un fichier est maintenant faite directement dans le VFS, il n’est plus nĂ©cessaire de transmettre la requĂȘte au systĂšme de fichier. Cette combinaison de drapeaux est un comportement indĂ©fini dans POSIX, et supprime le contenu du fichier dans Linux. Dans Haiku, elle remonte une erreur.

        Correction du comportement de l’ouverture d’un symlink invalide (ne pointant pas sur un fichier) avec le flag O_CREAT.

        Le parser de requĂȘtes pouvait essayer de lire des donnĂ©es invalides (la taille de clĂ© d’un index inexistant) dans certains cas particuliers.

        Nettoyage de logs dans tous les systĂšmes de fichiers qui affichaient un message lors de chaque tentative d’identification. On avait donc un message de chaque systĂšme de fichier pour chaque partition. Maintenant, le cas le plus courant (le systĂšme de fichier ne reconnaĂźt pas du tout la partition) ne dĂ©clenche plus de logs.

        Correction d’une erreur dans userlandfs sur la fonction file_cache_read pour les tentatives d’accĂšs aprĂšs la fin d’un fichier (cas particulier nĂ©cessaire pour implĂ©menter correctement mmap).

        Correction d’une mauvaise gestion du errno dans le cache de blocs, qui pouvait aboutir à un kernel panic.

        Diverses amĂ©liorations, nettoyages et corrections de fuites mĂ©moire: dans la gestion des fichiers montĂ©s comme image disques, dans les entrĂ©es-sorties asynchrones, dans l’enregistreur d’évĂšnements scheduling recorder.

        Console et affichage

        Unification du code d’affichage du splash screen (par le bootloader) et des icĂŽnes de la sĂ©quence de dĂ©marrage (par le kernel) pour Ă©viter qu’ils prennent des dĂ©cisions diffĂ©rentes sur le positionnement (par exemple si l’un est compilĂ© pour afficher le logo de Haiku, et l’autre en version « dĂ©griffĂ©e » sans ce logo qui est une marque dĂ©posĂ©e) (waddlesplash).

        Initialisation de la console framebuffer beaucoup plus tĂŽt dans le dĂ©marrage du noyau, ce qui permet d’afficher un message Ă  l’écran en cas de kernel panic y compris dans les premiĂšres Ă©tapes du dĂ©marrage (par exemple, l’initialisation de la mĂ©moire virtuelle). Auparavant, ces informations Ă©taient disponibles uniquement dans le syslog (inaccessible si le systĂšme ne dĂ©marre pas) ou via un port sĂ©rie (en voie de disparition sur les machines modernes) (waddlesplash).

        Réseau

        RemontĂ©e des donnĂ©es annexes (ancillary data) en une seule fois lorsque c’est possible. Ces donnĂ©es sont utilisĂ©es en particulier dans les sockets de domaine AF_UNIX pour permettre d’échanger des descripteurs de fichiers entre processus. Ce regroupement de donnĂ©es n’est pas exigĂ© par la spĂ©cification POSIX, mais c’est le comportement attendu par le code de communication interprocessus de Firefox et de Chromium (ils utilisent tous les deux le mĂȘme code) (waddlesplash).

        Gestion de la mémoire

        Comme indiquĂ© plus haut dans la dĂ©pĂȘche, l’apparition du navigateur Iceweasel a mis en Ă©vidence de nombreux problĂšmes autour de la gestion de la mĂ©moire. Cela a donc Ă©tĂ© l’objet d’un gros travail de stabilisation et d’amĂ©lioration.

        • Le cache d’objets du noyau pouvait parfois ignorer le paramĂštre indiquant la rĂ©serve minimum d’objets devant toujours ĂȘtre disponibles (waddlesplash)
        • AmĂ©lioration de l’implĂ©mentation de la famille de fonctions autour de mprotect, qui permettent une gestion fine et bas niveau de la mĂ©moire. En particulier, plusieurs problĂšmes se posaient lors de l’utilisation de ces fonctions lors d’un appel Ă  fork, les deux processus se retrouvant dans un Ă©tat incohĂ©rent,
        • Suppression de logs prĂ©sents dans les mĂ©thodes de dĂ©faut de page, qui sont peu appelĂ©es pour les applications classiques, mais exploitĂ©es volontairement par d’autres applications (machines virtuelles Java ou Javascript par exemple). Les logs Ă©taient donc superflus dans ce cas (waddlesplash),
        • Optimisation de l’écriture par lot de plusieurs pages de mĂ©moire vers le swap,
        • Meilleure gestion des permissions d’accĂšs page par page,
        • Correction de plusieurs problĂšmes conduisant Ă  un blocage ou fort ralentissement du systĂšme quand il n’y a plus assez de mĂ©moire libre,
        • AmĂ©lioration de la stratĂ©gie d’allocation de la table des descripteurs de fichiers,
        • Regroupement de code dupliquĂ© pour chaque plateforme qui Ă©tait en fait gĂ©nĂ©rique.

        Ce travail se poursuit avec un remplacement de l’allocateur mĂ©moire actuel, qui est basĂ© sur hoard2. Cette implĂ©mentation est assez ancienne et montre aujourd’hui ses limites. Des essais sont en cours avec l’implĂ©mentation de malloc d’OpenBSD, ainsi qu’avec mimalloc de Microsoft, pour dĂ©terminer lequel des deux sera utilisĂ©. D’autres allocateurs ont Ă©tĂ© rejetĂ©s, car ils ne rĂ©pondent pas au besoin de Haiku, en particulier la possibilitĂ© de fonctionner efficacement sur un systĂšme 32 bits ou l’espace d’adressage est une ressource limitĂ©e.

        Autres

        SĂ©curisation des permissions sur les zones mĂ©moire partagĂ©es: une application ne peut pas ajouter des permissions en Ă©criture aux zones mĂ©moire d’une autre application. Une application qui n’est pas lancĂ©e par l’utilisateur root ne peut pas inspecter la mĂ©moire d’une application lancĂ©e par l’utilisateur root. Ajout toutefois de cas particuliers pour permettre au Debugger de faire son travail (il a besoin d’accĂ©der Ă  la mĂ©moire d’autres applications).

        Ajout et amĂ©lioration de commandes dans le debugger noyau pour investiguer l’état de l’ordonnanceur d’entrĂ©es-sorties, qui se charge de programmer les accĂšs disque dans un ordre le plus efficace possible (waddlesplash).

        La fonction vfork n’appelle plus les fonctions pre-fork. Haiku n’implĂ©mente pas complĂštement vfork, mais peut se permettre des optimisations sur le travail qu’un duo fork + exec classique demanderait normalement.

        La configuration de la randomization de l’espace mĂ©moire (ASLR) est maintenant faite par la libroot et pas par le noyau. Ainsi une application peut utiliser une version diffĂ©rente de la libroot pour avoir une politique de randomization diffĂ©rente.

        Optimisation de l’accùs par un thread à sa propre structure Thread

        Chargeur de démarrage

        L’écran de dĂ©marrage s’affiche correctement sur les systĂšmes EFI utilisant un mode Ă©cran avec une profondeur de couleur 16 bits (korli).

        Affichage de la taille des partitions démarrables dans le menu de démarrage, pour faciliter leur identification (waddlesplash).

        Activation des warnings du compilateur sur les chaĂźnes printf invalides.

        Augmentation de la zone de mĂ©moire utilisĂ©e pour la dĂ©compression de l’archive de dĂ©marrage lors du boot sur le rĂ©seau, l’archive Ă©tait devenue trop grosse suite Ă  l’ajout de nouveaux pilotes.

        Refactorisation du code de gestion de la mĂ©moire entre le bootloader et le runtime_loader, ajout de tests pour cette implĂ©mentation, et optimisation de l’utilisation mĂ©moire du bootloader.

        Amélioration du comportement si le device tree définit un port série sans spécifier de baudrate: le bootloader suppose que le baudrate est déjà configuré, et utilise le port sans essayer de le réinitialiser.

        Outils de compilation

        La compilation de Haiku est un processus relativement complexe: il faut utiliser deux compilateurs pour Haiku lui-mĂȘme (un gcc rĂ©cent plus une version plus ancienne pour assurer la compatibilitĂ© avec BeOS) ainsi que un compilateur pour le systĂȘme hĂŽte de la compilation (qui peut ĂȘtre Linux, BSD, Mac OS ou Windows) pour gĂ©nĂ©rer des outils nĂ©cessaires Ă  la compilation elle-mĂȘme. L’outil retenu est Jam, une alternative Ă  Make avec une meilleure gestion des rĂšgles gĂ©nĂ©riques rĂ©utilisables.

        • Ajout de vĂ©rification pour Ă©viter d’avoir un build partiellement configurĂ©, avec des ConfigVars dĂ©finies mais vides.
        • Retrait d’un warning incorrect dans l’outil de build jam si on spĂ©cifie Ă  la fois un profil et une cible de compilation sur la ligne de commande.
        • Reconnaissance des processeurs hĂŽtes ARM et RISC-V pour la compilation croisĂ©e, correction d’autres problĂšmes avec les architectures non-x86.
        • Ajout de dĂ©pendances manquantes dans les rĂšgles de compilation de packagefs.
        • Suppression de fichiers de licence fournis avec Haiku mais concernant du code qui avait Ă©tĂ© supprimĂ© de Haiku auparavant.
        • AmĂ©lioration de la remontĂ©e d’erreur du script configure si un interprĂ©teur Python n’a pas Ă©tĂ© trouvĂ©.
        • Correction de messages d’avertissement de awk pour l’utilisation de fonctions qui n’existent plus dans le traitement des fichiers d’identifiants matĂ©riels USB et PCI.

        Documentation

        Documentation interne

        Ajout de documentation sur les dĂ©tails d’implĂ©mentation de ioctl et posix_devctl et les spĂ©cificitĂ©s de Haiku pour la premiĂšre (PulkoMandy).

        Correction de fautes de frappe dans l’introduction au launch_daemon.

        Remplacement de toutes les références à "OpenBeOS" par "Haiku".

        Documentation d’API

        Ajout de documentation pour les méthodes GetFontAndColor et SetFontAndColor de BTextView.

        Ajout de documentation pour les classes BShelf et BGameSound.

        RĂ©organisation de la liste des caractĂšres de contrĂŽles dans la documentation du clavier, ajout d’entrĂ©es manquantes dans cette liste et ajoute de commentaires indiquant Ă  quelles combinaisons de touches ces caractĂšres sont normalement associĂ©s.

        Traductions de Haiku

        La traduction du systĂšme dans diffĂ©rentes langues est un facteur important d’inclusivitĂ© et d’accessibilitĂ© (mĂȘme si la communication avec l’équipe de dĂ©veloppeurs pour le support n’est pas toujours simple).

        Haiku est disponible dans 30 langues, la trentiÚme étant le coréen, pour lequel il y a un nouveau responsable des traductions (le précédent avait cessé toute activité et laissé la traduction inachevée).

        Haiku recherche des volontaires pour s’occuper des traductions en biĂ©lorusse, croate, bulgare, hindi, punjabi et slovĂšne, pour lesquelles les prĂ©cĂ©dents responsables de relectures n’ont plus le temps d’assurer le rĂŽle. Ainsi bien sĂ»r que de l’aide pour la traduction du systĂšme, du manuel d’utilisation, et des applications tierces, que ce soit pour ajouter de nouvelles langues ou pour renforcer les Ă©quipes s’occupant de langues existantes. Le point d’entrĂ©e est le portail d’internationalisation de Haiku.

        La traduction du systĂšme Haiku s’effectue avec Pootle. L’outil n’est plus dĂ©veloppĂ© et des investigations sont en cours pour le remplacer par Weblate. La traduction du manuel d’utilisation s’effectue avec [un outil spĂ©cifiquement dĂ©veloppĂ© pour cela](https://github.com/haiku/userguide-translator. La traduction des applications s’effectue Ă©galement avec un outil personnalisĂ© nommĂ© Polyglot.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Drone, robot et radio commande

        L’open source dans l’informatique embarquĂ©e se limitait historiquement aux systĂšmes d’exploitation et aux compilateurs. On connaĂźt bien GCC, BusyBox et FreeRTOS. Puis, Arduino a fait son entrĂ©e dans le monde du semi-professionnel. Mais cela Ă©volue rapidement. Trois domaines se dĂ©veloppent avec des logiciels, et, parfois des produits open source, qui commencent Ă  se croiser.

        À part les liens Wikipedia, les sites pointĂ©s sont en anglais.

        Drone

        Le domaine des drones, principalement les quadcopters mais aussi les avions, rovers et mĂȘme sous-marins (AUV), a vu naĂźtre des projets comme PX4 et ArduPilot. Ces firmwares d’autopilotes permettent un asservissement entre ce que l’on demande au drone et la rĂ©alitĂ© grĂące Ă  des centrales inertielles. Ils gĂšrent des tĂąches comme le quadrillage d’un secteur ou le retour automatique au point de dĂ©part, Ă  l’aide de GPS ou de camĂ©ras de flux optique utilisant une technologie similaire Ă  celle des souris. Les dĂ©veloppements actuels se concentrent sur l’évitement automatique d’obstacles, comme les arbres.

        PX4 repose sur le systĂšme d’exploitation temps rĂ©el NuttX, soutenu par la Fondation Apache. Ce systĂšme m’était encore inconnu jusqu’à rĂ©cemment.

        QGroundControl est un logiciel pour prĂ©parer des missions (points GPS, prises d’images, largages
), lire des journaux transmis par radio et configurer les drones sous PX4 ou ArduPilot, ainsi que pour mettre Ă  jour leur firmware.

        GUI

        Le projet Pixhawk dĂ©finit une plateforme matĂ©rielle supportĂ©e par ces deux firmwares. On en est Ă  plus de six versions de FMU (“Flight management unit”), utilisant des processeurs STM32 avec des gyroscopes, accĂ©lĂ©romĂštres, magnĂ©tomĂštres et baromĂštres, souvent avec des redondances. Les cartes comportent de nombreux connecteurs pour brancher les radiocommandes (plusieurs protocoles), les servos, les contrĂŽleurs moteurs (ESC), les GPS, ainsi que des bus CAN utilisant des protocoles open source comme DroneCAN ou Cyphal.

        pixhawk4

        Radio commande

        Les ESC (Electronic Speed Controllers) transforment une commande de vitesse en une gestion complexe de trois signaux pour contrĂŽler des moteurs synchrones. Le VESC Project propose un firmware open source, offrant des rĂ©glages avancĂ©s, comme la limitation du courant ou l’asservissement via des capteurs Ă  effet Hall. Un programme Android permet de gĂ©rer des moteurs pour trottinettes ou voiturettes.
        esc

        Dans le domaine des radiocommandes, le projet OpenTX, forké en EdgeTX, remplace le firmware des radiocommandes. RadioMaster, un outsider, utilise directement ces logiciels, contrairement aux fabricants haut de gamme plus conservateurs (Futaba, Spektrum, JR, Flysky, etc.). Ces firmwares permettent une personnalisation via des scripts Lua.

        Pour les protocoles radio, plusieurs solutions propriĂ©taires existent avec des portĂ©es annoncĂ©es de plus de 2 km. Cependant, un protocole ouvert, ExpressLRS, reposant sur LoRaWAN, permet des portĂ©es jusqu’à 5 km (en 2.4 GHz) ou 15 km (Ă  900 MHz). Les Ă©metteurs et rĂ©cepteurs bi-bandes commencent Ă  apparaĂźtre.

        Et robotique

        Dans le domaine de la robotique, Gazebo est en train de devenir un simulateur et visualiseur polyvalent. Il repose sur le moteur de rendu OGRE et le moteur physique ODE. Il est intĂ©grĂ© aux outils de dĂ©veloppement de PX4 et mĂȘme utilisĂ© dans des concours de drones virtuels.

        GUI

        ROS2 (“Robot Operating System”) est un middleware gĂ©nĂ©raliste basĂ© sur un protocole Pub/Sub Ă  faible latence, permettant Ă  plusieurs ordinateurs de communiquer. Il tend Ă  remplacer MAVLink, un protocole de commande plus lĂ©ger, encore majoritaire dans le domaine des drones.

        Les trois domaines (drones, robotique et radiocommande) se croisent de plus en plus. Les autopilotes permettent de gérer tous types de véhicules, tandis que des outils comme QGroundControl et ROS2 facilitent le développement de missions automatiques de plus en plus complexes.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        La virtualisation pour les nuls et autres enjeux autour des datacenters

        8 janvier 2025 Ă  14:54

        Depuis quelques annĂ©es la virtualisation sous toutes ses formes est devenue l'alpha et l'omĂ©ga de l'informatique, elle a rĂ©volutionnĂ© en quelques annĂ©es la maniĂšre d'administrer les serveurs et de gĂ©rer les donnĂ©es. Cette dĂ©pĂȘche est un essai de vulgarisation sur la virtualisation pour en exposer ses grands principes techniques, ses avantages et inconvĂ©nients et ses enjeux sous-jacents.

        Sommaire

        Commençons par quelques définitions

        C'est quoi la virtualisation ?

        Pour pouvoir illustrer concrÚtement ce qu'est la virtualisation, à une époque pas si lointaine que ça, dans le monde professionnel on retrouvait des serveurs physiques dédiés, par exemple un serveur pour gérer les mails, un autre pour le serveur web et un dernier comme serveur de fichiers. Chacun des serveurs pouvant tourner sur des systÚmes d'exploitation (OS) différents. Dans notre exemple il en résulte qu'il faut maintenir et administrer trois machines différentes qui vont prendre de la place et consommer de l'électricité, sans une utilisation optimale de chacune des machines, si le serveur web par exemple a besoin momentanément d'un accroissement de puissance et de mémoire, il ne pourra pas bénéficier des ressources des autres serveurs physiques.
        Avec la virtualisation, sur une seule machine physique on va faire tourner plusieurs environnements de serveurs distincts en mĂȘme temps, sans avoir Ă  redĂ©marrer, ils vont se partager les ressources matĂ©rielles de la machine physique de maniĂšre plus optimale et efficace en rĂ©duisant les coĂ»ts d'administration. On retrouvera donc sur une seule machine physique, nos serveurs de courriel, web et de fichiers, chacun dans un environnement distinct fonctionnant de maniĂšre autonome et isolĂ©e.

        C'est quoi une machine virtuelle ?

        On appellera chaque environnement distinct machine virtuelle, elle s'exécute sur une machine physique avec son propre systÚme d'exploitation, ses applications et avec les ressources de la machine physique qu'on veut bien lui allouer (mémoire, puissance de traitement, stockage). On dit aussi que la machine physique est appelée machine hÎte et les machines virtuelles sont des machines invitées. Une machine hÎte peut faire tourner plusieurs machines invitées.
        Une machine virtuelle fonctionne comme n'importe quel poste informatique avec son OS qu'on peut mettre à jour, ses applications, ses paramÚtres systÚme et on pourra à partir de la machine hÎte accéder à toutes les machines virtuelles.

        C'est quoi un hyperviseur ?

        Pour que les machines virtuelles puissent s'exécuter indépendamment et utiliser les ressources de la machine hÎte simultanément sans qu'elles interfÚrent entre elles, il est nécessaire de rajouter une couche logicielle qui va gérer tout ça, c'est ce qu'on appelle un hyperviseur.
        Il existe deux types d'hyperviseur:

        • L'hyperviseur de type 1, ou bien encore hyperviseur de matĂ©riel nu (bare metal en anglais) est en interface direct avec l'ordinateur physique, cela sous entend que votre machine soit compatible (Intel VT pour les processeurs Intel et AMD-V pour les processeurs AMD). Dans le monde libre, proxmox est certainement l'hyperviseur de type 1 le plus connu.
        • L'hyperviseur de type 2 ou bien encore hyperviseur de matĂ©riel invitĂ© (host metal en anglais) fonctionne dans un systĂšme d'exploitation dĂ©jĂ  prĂ©installĂ©, c'est le cas par exemple de VirtualBox qui permet de faire tourner une instance de windows dans un environnement Linux.

        Un hyperviseur de type 1 est une couche logicielle trĂšs lĂ©gĂšre et offre de meilleures performances et est la solution privilĂ©giĂ©e pour des serveurs en production, l'hyperviseur de type 2 est plutĂŽt une solution destinĂ©e aux utilisateurs qui souhaitent tester d'autres systĂšmes d'exploitation ou faire tourner un logiciel sur un OS particulier sur un poste de travail classique. Mais rien ne vous empĂȘche de faire tourner plusieurs machines virtuelles sur un hyperviseur de type 2 qui pourront communiquer entre elles et fonctionner comme un hyperviseur de type 1, Ă  la diffĂ©rence qu'elles seront moins performantes.
        Par abus de langage, le terme d'hyperviseur fait référence plutÎt à l'hyperviseur de type 1.

        C'est quoi les avantages de la virtualisation ?

        Une administration centralisée et facilitée

        L'hyperviseur fournit des outils de gestion des machines virtuelles qui simplifient sensiblement le travail d'administration, comme les outils de déploiement à partir de modÚles de machines virtuelles, les outils de gestion de charge, de sauvegarde et de restauration de machines virtuelles.

        La disponibilité et la robustesse aux pannes

        Un autre avantage de la virtualisation est la fonctionnalitĂ© de migration Ă  chaud, elle permet de dĂ©placer une machine virtuelle d'une machine physique Ă  une autre sans qu'il soit nĂ©cessaire de l'arrĂȘter. Si un serveur physique prĂ©sente des dĂ©faillances, les machines virtuelles sont automatiquement dĂ©placĂ©es sur un autre hĂŽte physique.
        Alors bien sĂ»r si le serveur physique tombe en rade sans crier gare, la migration Ă  chaud peut ne pas ĂȘtre opĂ©rante, dans ce cas on peut trĂšs bien envisager la mise en place d'une machine physique redondante sur laquelle les machines virtuelles sont rĂ©pliquĂ©es et qui prendra le relais automatiquement si le serveur primaire tombe.

        L'amélioration des performances

        La migration Ă  chaud Ă©voquĂ©e plus haut a un autre avantage si une machine virtuelle est sursollicitĂ©e et nĂ©cessite de la puissance de traitement et de la mĂ©moire, elle pourra ĂȘtre dĂ©placĂ©e automatiquement sur un autre serveur moins sollicitĂ© Ă  ce moment-lĂ .

        La sécurité

        La virtualisation isole les services chacun dans leur machine virtuelle, en cas de corruption d'une machine virtuelle par cyberattaque, l'impact est nul pour les autres services et la restauration d'une machine virtuelle est autrement plus rapide et plus simple qu'avec une machine physique.

        La disparition des machines physiques

        Le stade ultime de la virtualisation est de déléguer à un prestataire la gestion des machines physiques qui se retrouve quelque part dans un datacentre. On s'abstrait totalement du matériel physique et des contraintes qui vont avec et on gÚre seulement nos machines virtuelles à distance, c'est totalement transparent pour les utilisateurs qui accÚdent à leurs services via internet ou sur un réseau privé. On parle aussi d'infrastructure virtuelle.

        Il existe d'autres types de virtualisation ?

        On a surtout évoqué jusqu'à présent la virtualisation des serveurs, mais il existe également d'autres types de virtualisation comme:

        La virtualisation du stockage

        Cela consiste en la création d'un espace virtuel de stockage à partir d'installations physiques de stockage bien réelles comme les serveurs de fichiers, NAS ou SAN qu'ils soient locaux ou distants. Cela permet de mettre en commun toutes ces installations et de la gérer à partir d'un outil unique de gestion pour effectuer toutes les opérations de sauvegarde, réplication, d'archivage et de restauration.

        La virtualisation des réseaux

        Un réseau est composé d'un tas d'éléments actifs comme les commutateurs, les routeurs et autres pare-feux, de type et de marques différentes. Là aussi on va créer un réseau virtuel qui combine l'ensemble de ces éléments actifs physiques pour pouvoir centraliser leur gestion sans avoir à y accéder physiquement. La virtualisation des réseaux permettra également d'améliorer les performances du réseau avec des analyseurs de trafic qui pourront équilibrer la charge ou favoriser certains flux.

        La virtualisation des données

        Les données sont issues de diverses sources, ont chacune leur format et sont stockées sur différents supports locaux ou distants. La virtualisation des données est une couche logicielle qui va gérer l'ensemble de ces données de maniÚre centralisée et les mettre à disposition des utilisateurs et des applications dans le format désiré.

        La virtualisation d'application

        La virtualisation d'application permet de sĂ©parer l'application de son systĂšme d'exploitation hĂŽte et de fonctionner sur un poste utilisateur sans qu'elle soit installĂ©e. Dans la pratique l'application est installĂ©e sur un serveur centralisĂ© et peut tourner sur un poste utilisateur du rĂ©seau comme si elle Ă©tait installĂ©e localement, quand bien mĂȘme l'OS du poste utilisateur n'est pas celui pour lequel l'application a Ă©tĂ© conçue.

        La virtualisation des postes de travail

        La virtualisation permet de virtualiser des serveurs mais pas seulement, on peut virtualiser également des postes de travail pour en faciliter la gestion qui seront accessibles aux utilisateurs du réseau via un client léger bien moins cher qu'un PC client classique.

        Autres concepts autour de la virtualisation

        C'est quoi une infrastructure convergĂ©e et hyperconvergĂ©e ?

        Une infrastructure convergée regroupe plusieurs composants informatiques traditionnels et bien physiques comme les serveurs de calcul, les dispositifs de stockage ou les éléments actifs réseau pour en assurer la gestion dans un tout cohérent. Cela simplifie la gestion de l'administration et ça optimise les ressources matérielles et logicielles. On dit que c'est une approche modulaire basée sur le matériel physique.
        L'hyperconvergence a une approche plutĂŽt logicielle, elle intĂšgre une couche logicielle qui va combiner les ressources de calcul, de stockage et de rĂ©seau dans ce qu'on appelle un nƓud. Les nƓuds sont interconnectĂ©s et combinĂ©s entre eux pour former des pools au sein d'un cluster, on retrouve ainsi un pool de stockage ou un pool de calcul, si un nƓud venait Ă  dĂ©faillir ça n'aurait pas de consĂ©quence pour les autres nƓuds et le fonctionnement du pool et du cluster.

        OK, mais une fois que tout ça est posĂ©, quelle est la diffĂ©rence entre les deux ?
        L'infrastructure convergĂ©e a une approche basĂ©e sur le matĂ©riel physique, c'est Ă  dire qu'un serveur physique peut ĂȘtre sĂ©parĂ© du reste du dispositif et toujours fonctionner comme un serveur indĂ©pendant alors que ce n'est pas possible avec l'infrastructure hyperconvergĂ©e oĂč les noeuds sont nĂ©cessairement interconnectĂ©s entre eux pour que le cluster puisse fonctionner correctement. Par ailleurs l'infrastructure convergĂ©e intĂšgre de base d'autres fonctionnalitĂ©s comme la sauvegarde, la rĂ©plication, la dĂ©duplication des donnĂ©es, la compression, l'optimisation du rĂ©seau, etc.

        C'est quoi un cluster haute disponibilitĂ© ?

        On a bien vu que finalement qu'elle soit dans vos locaux ou chez un prestataire de service, la machine physique reste le maillon faible du dispositif. Pour améliorer encore plus la disponibilité et la robustesse, on va dupliquer les machines physiques et si possible en les dispatchant dans des locaux et sites différents. Le tout étant géré comme un seul systÚme. La virtualisation du stockage prend alors toute son importance, pour éviter de se rendre dépendant d'un serveur physique de données.

        C'est quoi le cloud computing ?

        On appelle cloud computing le fait de confier à un tiers sur internet la gestion de services informatiques (applications, stockage, outils de gestion, 
) mais aussi le fait d'utiliser des services fournis par un prestataire via internet. Le cloud computing repose largement sur la virtualisation, on peut dire que le cloud computing est un environnement alors que la virtualisation est une technologique. En matiÚre de cloud computing, il en existe de différentes sortes :

        • Infrastructure as a service (IaaS) ou infrastructure en tant que service : L'IaaS offre une infrastructure informatique complĂšte (serveurs, stockage, rĂ©seau, 
) sur un rĂ©seau privĂ© (ressources en accĂšs limitĂ©), public (ressources en accĂšs libre) ou hybride (qui mĂ©lange les deux).
        • Platform as a service (PaaS) ou plate-forme en tant que service : Le PaaS c'est grosso modo la mĂȘme chose que l'IaaS sauf qu'en plus on bĂ©nĂ©ficie d'outils supplĂ©mentaires pour pouvoir dĂ©velopper des applications qu'on retrouvera sur le cloud et tous un tas de services supplĂ©mentaires, gestion de base de donnĂ©es, aide Ă  la dĂ©cision, etc.
        • Le Software as a service (SaaS) ou logiciel en tant que service : Le SaaS est une offre logicielle complĂšte qu'on retrouvera sur internet, c'est typiquement des offres comme Microsoft Office 365 ou Google Workspace, dans le monde opensource, on peut dire que certains prestataires recensĂ©s par les CHATONS se rapprochent d'une solution SaaS.

        NdM: il est question ici de cloud computing sur un cloud public, une infrastructure gérée par un hébergeur tiers. Il est aussi possible de faire du cloud computing privé, interne, dans une grosse structure qui en a la capacité, ce qui revient à déléguer l'hébergement à un tiers (des collÚgues dans ce cas). Et on peut combiner les deux pour faire du cloud hybride. Le cloud computing implique aussi la création de ressources en libre-service, de la facturation à l'usage et de la mutualisation.

        Les enjeux

        Enjeu environnemental

        L'adoption quasi généralisée de solutions autour de la virtualisation dans le monde professionnel a conduit à la disparition progressive des serveurs locaux d'entreprise au profit d'un développement effréné des datacenters de par le monde. Or un datacenter est constitué de machines bien physiques tournant 24h24 7j/7 avec tout un dispositif lui aussi bien physique pour assurer leur fonctionnement optimal, leur sécurisation et la robustesse aux pannes, il s'agit notamment de :

        • La climatisation et le traitement d’air pour maintenir des conditions satisfaisantes de tempĂ©rature et hygromĂ©trie avec toute un systĂšme de circulation et de refroidissement d'air
        • La distribution de l’électricitĂ© avec un dispositif de sĂ©curisation en cas de coupure d'alimentation, souvent basĂ© sur tout un ensemble d'onduleurs et appuyĂ© par groupes Ă©lectrogĂšnes
        • la protection physique de l'installation avec contrĂŽle d'accĂšs, vidĂ©osurveillance et autres systĂšmes anti intrusion

        Le tout nĂ©cessite une consommation Ă©lectrique massive et une forte consommation en eau. Si l'on traduit cela en Ă©quivalent d'Ă©mission de gaz de serre (GES), d'aprĂšs une Ă©tude de l'ADEME les datacenters ont dĂ©jĂ  atteint le mĂȘme niveau d'Ă©mission que le transport aĂ©rien Ă  l'Ă©chelle mondiale.
        Il se trouve que le destin des datacenters est maintenant Ă©galement Ă©troitement liĂ© Ă  celui de l'IA, mĂȘme si dans ce domaine on envisage plutĂŽt des datacenters dĂ©diĂ©s, or les besoins gĂ©nĂ©rĂ©s par l'IA dopent l'expansion globale des datacenters dans le monde. La demande de puissance de calcul de l'IA est exponentielle et double tous les 3,4 mois selon OpenAI. Selon une Ă©tude Gartner citĂ©e par le Monde Informatique, rien que les besoins liĂ©s Ă  l'IA feront exploser la demande Ă©nergĂ©tique des datacenters au point que les fournisseurs d'Ă©nergie ne pourront y rĂ©pondre dĂšs 2027 !

        Dans ce contexte il n'est pas Ă©tonnant donc que les grands acteurs du secteur poussent au dĂ©veloppement des centrales nuclĂ©aires qui leur permettra par la mĂȘme occasion de verdir leur image. Mais ces acteurs ne sont pas Ă  une contradiction prĂšs, on peut s'Ă©tonner du dĂ©veloppement dans certaines rĂ©gions qui de prime abord ne se prĂȘtent pas particuliĂšrement Ă  leur installation contrairement aux pays nordiques. Le projet d'installation de Meta dans une rĂ©gion aride d'Espagne oĂč chaque goutte d'eau compte, en est une triste illustration. Les tempĂ©ratures rĂ©gionales Ă©levĂ©es dĂ©cupleront ses besoins en Ă©lectricitĂ© et en eau pour les circuits de refroidissement alors que la rĂ©gion souffre de sĂ©cheresse chronique. On peut dĂ©plorer que tout cela ne pourrait se faire sans le soutien des gouvernements et des Ă©lus locaux qui ne trouvent rien Ă  redire.

        Enjeu de résilience

        Le marchĂ© actuel est dominĂ© par trois acteurs qui reprĂ©sentent Ă  eux trois plus de 60% du marchĂ© mondial il s'agit dans l'ordre d'AWS (Amazon), d'Azure (Microsoft) et de Google Cloud Platform, on parle d'eux comme des hyperscalers car ils fournissent des services Ă  l'Ă©chelle mondiale Ă  grande Ă©chelle. Cette hyperconcentration des acteurs et des solutions techniques fragilise l'Ă©conomie mondiale en la rendant davantage sensible et moins rĂ©siliente aux pannes, la dĂ©faillance d'un simple outil de sĂ©curitĂ© a ainsi entraĂźnĂ© en cascade une panne informatique mondiale en juillet dernier avec des consĂ©quences graves comme l'arrĂȘt partiel du contrĂŽle aĂ©rien, de centres d'appels d'urgence ou de services hospitaliers. Plus modestement l'incendie subi par OVH en 2021 a impactĂ© des milliers d'entreprise et services publics, toutes les donnĂ©es contenues sur les serveurs sont perdues, puisqu'OVH a commis l'erreur de stocker au mĂȘme endroit les donnĂ©es et les sauvegardes. NdM: historique de pannes GCP, AWS ou Azure
        Cette hyperconcentration fait planer également des risques en termes de cybersécurité, la corruption d'un élément du systÚme et sa prise de contrÎle par un hacker aura vite des conséquences majeures.

        Enjeu de souveraineté

        Il faut savoir que les donnĂ©es gĂ©rĂ©es par un datacenter sont soumises Ă  la rĂ©glementation propre au pays oĂč il est installĂ©. Les autoritĂ©s aux États-Unis, au nom du Patriot Act peuvent donc ainsi accĂ©der aux donnĂ©es stockĂ©es sur leur territoire. Les datacenters souverains sont donc un enjeu majeur pour certains pays pour garantir que les donnĂ©es seront protĂ©gĂ©es par les lois nationales, sans ingĂ©rence Ă©trangĂšre possible.

        En France notamment, 71% des entreprises se reposent sur des solutions américaines dont des acteurs étatiques. Une affaire illustre à elle seule cet état de fait, la solution Azure de Microsoft a été ainsi choisi pour héberger l'ensemble des données de santé de 4 établissements hospitaliers (et non de l'ensemble des Français) à des fins de recherche dans un entrepÎt de données de santé dénommé EMC2. Sauf qu'en l'espÚce Microsoft a répondu à un appel d'offre en bonne et due forme, que la CNIL a donné son autorisation et que les différents recours à ce stade ont tous échoué. Néanmoins voici ci-dessous texto la conclusion du rapport de la CNIL en 2023 :

        (début de citation)

        • qu’aucun prestataire potentiel ne propose d’offres d’hĂ©bergement rĂ©pondant aux exigences techniques et fonctionnelles du GIP PDS (Note de l'auteur : groupement d’intĂ©rĂȘt public « Plateforme de donnĂ©es de santĂ©", appelĂ© aussi Health Data Hub) pour la mise en Ɠuvre du projet EMC2 dans un dĂ©lai compatible avec les impĂ©ratifs ce dernier ;
        • que le dĂ©veloppement d’un dĂ©monstrateur " cloud de confiance ", respectant les conditions de la circulaire prĂ©citĂ©e et permettant Ă  terme d’hĂ©berger des projets de cette nature, et notamment la plateforme du GIP PDS, devrait se poursuivre sur les prochaines annĂ©es ;
        • que la construction d’une plateforme d’hĂ©bergement spĂ©cifique pour le projet EMC2 pourrait retarder la migration de la solution d’hĂ©bergement du GIP PDS pour l’ensemble de ses missions ;
        • qu’en attendant cette migration, le projet EMC2 soit menĂ© sur la solution technique actuelle du GIP PDS.

        À la lumiĂšre de ces conclusions, la CNIL dĂ©plore qu’aucun prestataire susceptible de rĂ©pondre actuellement aux besoins exprimĂ©s par le GIP PDS ne protĂšge les donnĂ©es contre l’application de lois extraterritoriales de pays tiers.
        De maniĂšre gĂ©nĂ©rale, elle regrette que la stratĂ©gie mise en place pour favoriser l’accĂšs des chercheurs aux donnĂ©es de santĂ© n’ait pas fourni l’occasion de stimuler une offre europĂ©enne Ă  mĂȘme de rĂ©pondre Ă  ce besoin. Le choix initial du GIP PDS, dĂšs sa fondation, de recourir au cloud a conduit Ă  privilĂ©gier des offres d’acteurs Ă©tasuniens dont il apparaĂźt dĂ©sormais difficile de se dĂ©tacher Ă  court terme malgrĂ© l’émergence progressive de fournisseurs souverains. Le projet EMC2 aurait pu ĂȘtre retenu par le GIP PDS pour prĂ©figurer la solution souveraine vers laquelle il doit migrer.

        (fin de citation)

        À la lumiĂšre de cette conclusion, on peut comprendre que la CNIL s'est sentie contrainte et forcĂ©e de rĂ©pondre favorablement pour ne pas faire capoter ce projet en espĂ©rant que cette solution ne soit que transitoire et qu'elle pourra basculer sur une solution souveraine dans quelques annĂ©es.
        Autre affaire d'actualité, le contrat entre EDF et AWS pour le stockage de certaines informations sensibles de maintenance du parc nucléaire français, le Canard enchaßné vient de révéler récemment que le contrat battait de l'aile car Amazon refuse d'inscrire noir sur blanc dans le contrat que les données d'EDF seront stockées en France (autre article).
        Aussi la France cherche Ă  dĂ©velopper son "cloud souverain" pour ne plus ĂȘtre dĂ©pendant des gĂ©ants amĂ©ricains mais peine Ă  avancer sur le sujet faute de barriĂšres rĂ©glementaires et juridiques, de rĂ©ticences des Ă©lus et des populations sur les territoires pouvant accueillir des datacenters et d'une certaine frilositĂ© des banques et acteurs technologiques.

        En guise de réponse aux enjeux

        Réponse à l'enjeu environnemental

        Pour ne pas courir à la catastrophe annoncée, la mise en place de technologies plus efficaces et économes en énergie est un enjeu majeur, parmi les axes d'innovation on peut citer:

        • l'utilisation d'Ă©nergie renouvelable
        • le refroidissement des datacenters basĂ© sur des technologies peu gourmandes en eau,
        • la rĂ©utilisation de l'Ă©nergie dissipĂ©e par les datacenters.

        Réponse à l'enjeu de résilience

        Des normes et des certifications se sont mises en place qu'elles soient internationales, européennes ou nationales. On peut citer :

        • TIA 942 qui couvre diffĂ©rents domaines comme la disponibilitĂ©, la sĂ©curitĂ©, l'efficacitĂ© Ă©nergĂ©tique, le refroidissement, la redondance et la gestion de l'espace;
        • ANSI/BICSI-002 qui dĂ©finit des standards de conception et de pose des systĂšmes de cĂąblage, d'Ă©lectricitĂ©, dissipation de chaleur, refroidissement, etc.
        • ISO 27001 qui couvre la gestion de la sĂ©curitĂ© de la donnĂ©e;
        • ISO 22237 qui couvre l'installation et les infrastructures des datacenters;
        • le rĂ©fĂ©rentiel de sĂ©curisation des services cloud SecNumCloud Ă©laborĂ© par l’ANSSI;
        • la certification d'Uptime Institute avec sa classification du niveau de sĂ©curitĂ© des datacenters de Tier I Ă  Tier IV.

        En France, France Datacenter est une organisation professionnelle qui fédÚre les entreprises qui conçoivent, construisent et exploitent les datacenters. Elle publie également des guides à destination de ses adhérents qui font référence, on peut citer notamment "le livre blanc sur la sécurité incendie" ou "l'humain et la sécurité du datacenter".

        D'un point de vue réglementaire, on peut citer :

        • le rĂšglement gĂ©nĂ©ral sur la protection des donnĂ©es RGPD;
        • La directive europĂ©enne relative Ă  DEE l’efficacitĂ© Ă©nergĂ©tique DEE;
        • La directive europĂ©enne relative Ă  la sĂ©curitĂ© des rĂ©seaux et de l’information, dite NIS 2 pour Network and Information System Security.

        Le respect de ces normes, certification et a fortiori de la rĂ©glementation sont une garantie que les datacenters sont construits suivant les rĂšgles de l'art avec le niveau de qualitĂ©, de sĂ©curitĂ© et de fiabilitĂ© attendu. A ce propos pour en revenir Ă  l'incident OVH, les procĂ©dures judiciaires qui en ont dĂ©coulĂ© et qui ont conduit Ă  la condamnation d'OVH ont mis en Ă©vidence que la sociĂ©tĂ© qui se targuait d'ĂȘtre certifiĂ© ISO 27001 n'a pas respectĂ© la norme pour ne pas avoir prĂ©vu une copie de sauvegarde sur un site distant.

        Réponse à l'enjeu de souveraineté

        Le respect du RGPD et de la certification SecNumCloud sont une premiĂšre rĂ©ponse Ă  la menace des lois extraterritoriales sur la confidentialitĂ© des donnĂ©es, en parallĂšle le premier ministre de l'Ă©poque a diffusĂ© en 2021 une circulaire relative Ă  la doctrine d'utilisation de l'informatique en nuage par l'État qui a Ă©tĂ© actualisĂ© en 2023. Cette derniĂšre "exige (
) en cas de recours Ă  une offre commerciale d'informatique en nuage, l'hĂ©bergement des donnĂ©es d'une sensibilitĂ© particuliĂšre par des solutions disposant de la qualification SecNumCloud (
) et immunisĂ©es contre toute rĂ©glementation extracommunautaire".
        Il faut par ailleurs créer l'environnement pour que des acteurs locaux puissent se développer et former une alternative crédible aux hyperscalers. L'émergence d'acteurs alternatifs de proximité est donc un enjeu que le marché seul ne suffit pas à faire percer, il faut une volonté politique, une stratégie et une vision à long terme, des financements, une adaptation de la réglementation à l'échelle européenne et nationale.
        À ce sujet le prĂ©cĂ©dent gouvernement avait concoctĂ© une loi de simplification de la vie Ă©conomique destinĂ©e Ă  faciliter l'installation de datacenters en France en les qualifiant de projets d'intĂ©rĂȘt national majeur (PINM) pour qu'ils puissent bĂ©nĂ©ficier de mesures dĂ©rogatoires, de procĂ©dures accĂ©lĂ©rĂ©es tout en contournant le pouvoir des Ă©lus locaux puisque ça sera l’État qui signera les permis de construire. Avec cette loi la mĂ©tropole de Rennes n'aurait sans doute pas pu refuser l'implantation d'un datacenter de Microsoft s'il avait Ă©tĂ© jugĂ© d'intĂ©rĂȘt national. Aujourd'hui ce projet de loi continue son bonhomme de chemin lĂ©gislatif malgrĂ© l'instabilitĂ© politique actuelle.
        Cet objectif de dĂ©veloppement d'une offre de proximitĂ© n'est pas forcĂ©ment compatible des objectifs environnementaux et de dĂ©veloppement durable que la France s'est imposĂ©e, mais il faut voir ça comme une opportunitĂ© pour innover et ne plus ĂȘtre Ă  la traĂźne des États-Unis dans ces domaines technologiques.

        En guise de conclusion

        D'une simple prĂ©sentation technique autour de la virtualisation, on en arrive en tirant la pelote Ă  des considĂ©rations Ă  fort enjeu sur la gestion et la confidentialitĂ© des donnĂ©es que bien des utilisateurs de cloud n'imaginent pas, ni mĂȘme ne considĂšrent Ă  sa juste importance. Pourtant il suffirait qu'ils en prennent conscience pour orienter leur choix vers des solutions respectueuses qui peinent encore aujourd'hui Ă  Ă©merger malgrĂ© les vƓux pieux de l’État qui n'est pas toujours exemplaire dans le domaine.

        Pour aller plus loin

        Quelques pages de vulgarisation

        Une sélection de sites sur les enjeux et le futur autour de la virtualisation et les datacenters

        Sites divers

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        ❌