Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Veille communautaire sur des intelligences artificielles du mois d'avril 2026

La série de dépêches de LinuxFr.org sur la veille concernant des intelligences artificielles reprend et adopte une nouvelle formule.

Cette première dépêche de la série reprend donc l’initiative de valoriser les contenus des contributrices et contributeurs de LinuxFr.org en rapport avec des IA tels que les dépêches, journaux et liens. L’ajout des synthèses de la plupart des articles de presse et des contributions de la communauté LinuxFr.org pourrait être envisagé à terme, selon les disponibilités des bénévoles.

    Sommaire

    Avant-propos

    Cette dépêche est dédiée à la veille sur des intelligences artificielles1 faite par des contributions communautaires sur des contenus de LinuxFr.org et reprend une partie de l’initiative amorcée par la série « Nouvelles sur l’IA »2 qui s’est arrêtée le 6 avril 20263 4.

    Comme recenser au fil de l’eau du contenu communautaire pertinent demande un travail conséquent pour la rédaction de la dépêche, la décision de continuer la série sous une nouvelle formule a été faite à la vue des résultats d’un sondage publié le 1er mai 2026.5 6 7

    Méthodologie de sélection des contenus communautaires

    Comme dans la précédente série des « Nouvelles sur l’IA », les contenus communautaires sont répertoriés selon ces deux critères :

    • La présence d’une étiquette intelligence_artificielle8 (indication d’un rapport avec le thème de la dépêche)
    • Un score strictement supérieur à zéro au moment du recensement

    Certains contenus non recensés en raison du second critère peuvent être visualisés en s’aidant de la recherche par étiquette8.

    Quelques statistiques sur les contenus retenus

    Du 1er avril au 30 avril, les contenus retenus sont:

    • 5 dépêches
    • 14 journaux
    • 34 liens

    Au total, 53 contenus répondant aux critères de sélection sont recensés dans la présente dépêche.

    Une sélection des contenus par thème

    Les thèmes ci-dessous sont proposés pour aider des lectrices et des lecteurs à retrouver les contenus qui les intéressent. Les thèmes sont pour le moment suggérés manuellement par des contributrices et des contributeurs à la dépêche.9

    Revues de presse

    Les revues de presse de l'April de l'année 2026 mentionne l'IA sur les dépêches suivantes :

    Podcasts

    Le podcast CPU a évoqué des sujets en rapport avec l'IA dans les journaux suivants :

    Jeux vidéos

    Une dépêche intitulée Le jeu vidéo destiné à devenir de moins en moins libre et performant ? illustre l'utilisation de l'IA dans le rendu des jeux vidéos récents.

    Économie et droit

    Les contenus en rapport avec l'économie et le droit sont les suivants :

    Journaux

    Liens

    Santé

    Les liens indiquant le rapport entre la santé en général et des IAs sont les suivants :

    Environnement

    Les liens soulignant les impacts environnements de l'IA sont les suivants :

    Retour d'expérience

    Un journal fait état d'un retour d'expérience sur des IAs génératives chargées d'une tâche en programmation : Comparatif : 6 LLMs locaux face à un exercice Python simple

    Poissons du 1er avril

    Comme toute bonne tradition qui se respecte depuis des années sur LinuxFr.org (à l'exception notable de l'année 2023), la communauté a proposé ses propres poissons dans les journaux suivants :

    Annexe : contenus recensés par ordre chronologique

    Ci-dessous sont rassemblés des contenus sélectionnés dans l'ordre chronologique, dont une partie qui n'ont pas été classés parmi les thèmes.

    Dépêches

    Journaux

    Liens


    En complément, afin de remercier les lectrices et lecteurs qui ont pu prendre connaissance de l'ensemble de la dépêche, nous vous proposons la montée de l'IA (pour "Intelligence Aviaire") vue par Cepper, une cousine germaine de Pepper10 11 :


    1. Le terme "intelligence artificielle" regroupe en fait plusieurs définitions qui n'ont pas toujours fait consensus. Voir la page wikipédia sur leur définition et les techniques associées pour plus de précisions. 

    2. L'ensemble des "Nouvelles sur l'IA" sont accessibles avec le tag dédié nouvelles_sur_l_ia 

    3. La dernière dépêche de la série est consultable sur https://linuxfr.org/news/nouvelles-sur-l-ia-de-mars-2026 

    4. Le contributeur Moonz< a motivé son arrêt de la série de dépêche par le commentaire https://linuxfr.org/news/nouvelles-sur-l-ia-de-mars-2026#comment-2018598 

    5. Au 9 mai 2026 à 15h23 CEST, 58.3 % de vote sont favorables à la reprise de la série; 15.1 % de votes défavorables, 9.4 % de votes indécis, et 17.2 % de votes "pas vraiment sérieux". Pour plus de détails, voir la capture d'écran. 

    6. Sur les 58.3 % de votes favorables à la reprise de la série, 69.9 % de votes viennent pour la réponse "Oui, même en l'absence de la synthèse des articles" et 30.1 % de votes pour la réponse "Oui, à condition de continuer la synthèse d'une partie des articles". 

    7. Le lien du sondage est https://linuxfr.org/sondages/continuer-a-publier-une-serie-de-depeche-dediee-a-la-veille-generale-sur-des-intelligences-artificielles 

    8. Le lien de recherche par le tag dédiée est https://linuxfr.org/tags/intelligence_artificielle/public 

    9. La présente dépêche ne fait pas appel à des grands modèles de langage à cause de l'impopularité de ces outils parmi le public de LinuxFr.org pour la rédaction des articles. Voir le sondage suivant pour se faire une idée : https://linuxfr.org/sondages/faut-il-accepter-les-contenus-generes-par-ia-sur-linuxfr-org 

    10. Un personnage provenant de la BD en ligne libre https://www.peppercarrot.com/fr/ 

    11. Des informations détaillées concernant la BD originelle sont consignées sur https://fr.wikipedia.org/wiki/Pepper%26Carrot 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    GPX2Video - GPS & Vidéo

    Je vous ai fait part il y a quelque temps de mon petit projet de réaliser un logiciel sous Linux pour effectuer mes petits montages vidéos et y insérer les données de télémétrie (issues du GPS de la caméra ou d’un GPS externe).

    Le journal publié à l’époque que vous pouvez consulter ici.

    Où le projet en est-il ?

    Le projet est réalisé en trois temps :

    1. Tout d’abord un outil en ligne de commande. L’utilisateur effectue la mise en page via un fichier XML, puis lance l’outil en fournissant en paramètre : la vidéo, le fichier de XML et un fichier GPX.
    2. Puis dans un deuxième temps une interface graphique pour effectuer la mise en page et exporter le résultat au format XML afin d’être utilisé par l’outil en ligne de commandes.
    3. Et enfin de tout réaliser directement via l’interface.

    Bien sûr il y a encore beaucoup de travail et d’optimisation à faire ; mais c’est utilisable. Les sources sont maintenant disponibles.

    L’interface est en cours de développement. Le projet étant en C++, l’interface est basée GTK4++. La visualisation du rendu peut être faite en temps réel.

    Interface utilisateur en GTK4++

    Les testeurs et testeuses sont les bienvenus.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Nouvelle version du Bureau Agnostep pour les 35 ans de GNUstep

    Comme vous le savez sans doute, cette année est marquée par les 35 ans de GNUstep, qui est à la fois un cadre logiciel qui permet de développer en objective-C des applications portables sur Windows, MacOS et GNU/Linux, mais aussi un environnement d’exécution (runtime) de ces mêmes applications.

    Plusieurs projets de bureau compatibles avec GNUstep existent depuis quelques années: après les défunts Simply-GNUstep et Étoilé, citons les actifs GSDE développé par Ondrej Florian ou encore le plus ambitieux NEXTSPACE de Sergii Stoïan, qui tend à reproduire fidèlement l’ergonomie d’OPENSTEP sur BSD ou GNU/Linux. Plus récemment, dans un style plus proche de MacOS, citons également les prometteurs bureaux Gershwin (pour Xorg) ou Ambrosia (pour Wayland) développé par James Carthew.

    Le bureau Agnostep propose sa version BETA 2.0.0, dans un style plus classique, avec des menus verticaux à la NeXT, combinant Window Maker et GWorkspace, ainsi que le runtime classique de GNUstep.

    Il n’en propose pas moins un thème moderne inspiré par le jeu d’icônes du projet Papirus. Bien que fondé sur une distribution Debian Lite, il ne fournit pas de paquets, mais un principe d’installation proche des ports BSD. Un assistant facilite l’installation initiale comme l’ajout d’applications supplémentaire afin de fournir les versions les plus récentes des applications de la communauté GNUstep, compilées depuis les sources. En effet, contrairement à d’autres projets qui divergent parfois tellement des sources originales, qu’il devient impossible de les reverser dans le lot commun, la philosophie d’Agnostep est d’échanger patiemment avec la communauté des développeurs afin que les problèmes constatés et les améliorations bénéficient à tout le monde.

    De plus, ayant résolu certains problèmes de la version précédente, il présente une meilleure stabilité. Outre les applications notoires de l’écho-système GNUstep, comme GNUMail, SimpleAgenda, etc., il offre également une nouvelle collection d’applications GNUstep originales créées dans ce but afin de proposer une expérience utilisateur plus cohérente:

    • Meteo.app : une application dockée qui affiche aussi la date courante. Basée sur l’API wttr.in API d’Igor Chubin.
    • UpMem.app : affiche la durée d’exécution l’usage de la mémoire.
    • Updater.app : une application dockée avec un badge de notification pour alerter en cas de paquets Debian susceptibles de mise à jour. Ce qui permet aussi d’effectuer la mise à jour effective à partir de la liste affichée de ces paquets
    • Birthday.app : une application dockée avec un badge pour informer des événements familiaux. Un incontournable pour le grand-père de nombreux petits-enfants.
    • OpenDisk.app : ouvre les dossier media où sont montés les disques amovibles : un compagnon de wmudmount et de udisks2, en se dispensant d’afficher le bureau de GWorkspace.
    • Launcher.app : un moyen rapide d’afficher le dossier des applications dans une nouvelle fenêtre.
    • ScreenLock.app : un simple verrouilleur d’écran fondé sur xtrlock.
    • Pass.app : une interface GNUstep au programme Unix Password Manager donnant accès au coffre local des mots de passe.
    • Mixer.app : une version simplifiée et compatible ALSA du mixer dérivé de VolumeControl.
    • AgnostepManager.app : un assistant dans la compilation et l’installation d’applications supplémentaires : applications courantes, utilitaires, jeux, outils de développement.
    • Dico.app : un service et un outil de recherche dans un Dictionnaire français fondé sur le DVLF de l’Université de Chicago.
    • SaveLink.app : un gestionnaire de raccourcis Internet. Voyez le dossier des Favoris.

    À partir de cette version, les manuels d’aide (format .help) seront fournis avec chaque application concernée grâce aux améliorations récentes de l’application HelpViewer. Autre exemple qui illustre les fructueux échanges avec la communauté.

    Bureau Agnostep en version 2

    Agnostep est initialement développé sur un Raspberry Pi 500, mais son code permet de l’installer sur n’importe quel ordinateur susceptible d’accueillir la distribution GNU/Linux Debian : d’où son nom. Agnostep est un téléscopage de agnostique et GNustep.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    LibreOffice 26.2 : Markdown, accessibilité et plein d’autres nouveautés et améliorations

    En février, il y a la corvée commerciale de la Saint-Valentin et les réjouissances intellectuelles consécutives à la sortie d’une nouvelle version de la suite bureautique LibreOffice. C’est, bien évidemment, sur LibreOffice 26.2 que l’on va se pencher. Au menu, du très visible, comme les boites de dialogues, du très attendu comme la prise en compte du Markdown ou du moins visible comme le travail sur l’accessibilité.

    Il va de soi que les notes de version sont plus exhaustives et qu’il ne s’agit ici que d’une sélection.

    Logo de LibreOffice

    Sommaire

    Avant de commencer : toutes les captures d’écran ont été faites, volontairement, sur une interface très personnalisée.

    L’accessibilité

    L’accessibilité de la suite bureautique est un important chantier pour lequel une personne a été recrutée en 2023 (en). Cette version-ci a fait l’objet d’améliorations sensibles. Parallèlement, Sophie Gautier, coordinatrice de The Document Foundation1 (Foundation coordinator) est en train de monter un groupe de travail qui a pour objectif la publication d’un rapport de conformité en matière d’accessibilité pour répondre à la norme européenne EN 301 549 (en) d’accessiblité numérique. La langue de travail de ce groupe est l’anglais.

    Concernant les améliorations de cette version :

    • la boite de dialogue « Vérifier les mises à jour », Aide > Vérifier les mises à jour… est devenue accessible aux lecteurs d’écran ;
    • les fonctions d’accessibilité des aperçus des bordures, onglet « Bordures » des boites de dialogue, ont été revues afin qu’elles ne perturbent plus les dispositifs d’assistance ;
    • sur Linux : la boite de dialogue Outils> Orthographe est annoncée correctement par le lecteur d’écran ;
    • quand on supprimait la sélection accessible, le curseur se déplaçait automatiquement au début du texte, ce comportement perturbant est supprimé ;
    • dans Writer, les fautes d’orthographe ne sont plus signalées par les dispositifs d’assistance si la vérification orthographique n’est pas activée ;
    • l’accessibilité au clavier de la boite de dialogue des extensions : Outils >  Extensions est accessible aux lecteurs d’écran ;
    • et enfin, il est possible de naviguer entre les onglets verticaux avec des raccourcis clavier.

    Support du Markdown

    Le Markdown est devenu le format de balisage léger standard « de fait ». Et c’est celui supporté par LinuxFR. Son support a été introduit dans cette version, c’est un des formats d’enregistrement qui s’est ajouté à la série des autres formats de la suite, pas un format d’export. Pour l’utiliser pour vos sites, passant pour LinuxFR, vous devrez :

    • soit ouvrir le fichier .md dans un éditeur de texte, n’importe lequel, même Mousepad fait l’affaire par exemple, et copier-coller ensuite le tout à partir de l’éditeur de texte là où vous le voulez ;
    • soit, si cela est possible, importer le fichier .md dans ce qui vous sert pour gérer le site comme le fait par exemple l’extension ODT2SPIP pour le système de gestion de contenu SPIP qui permet de créer une nouvelle page dans SPIP avec un fichier.ODT.

    Comment ça marche avec LinuxFR ? Plutôt bien. Les styles de caractère Accentuation (ici en italiques) et Accentuation forte (ici gras) sont bien reconnu ainsi que Texte source pour « télétype », les indications in-texte encadrées de l’accent grave U+0060. Les styles de paragraphes :

    • Bloc de citation (paragraphes de citation précédés d’une ligne blanche et du signe « > » dans la saisie de contenu sur LinuxFR) ;
    • Contenu de tableau ;
    • Corps de texte ;
    • Liste, par contre la numérotation des listes ordonnée ne semble pas bien fonctionner, il faut saisir les numéros à la main ;
    • Texte préformaté pour écrire des blocs de code ;
    • Titre 1, Titre 2, Titre 3 et Titre de tableau.

    Les tableaux sont bien repris ainsi que les liens insérés via l’insertion d’hyperliens.

    Ce qui ne semble pas fonctionner du tout : ce sont les notes, elles disparaissent corps et biens. C’est peut-être dû au passage dans l’éditeur de texte qui transforme un peu le document. Et, évidemment, il faut rajouter les images avec la syntaxe LinuxFR.

    Petite remarque, si vous utilisez un LibreOffice 25.8, vous avez peut-être pu constater qu’il était question d’enregistrement au format .md, cette information a été ajoutée trop précocement car la version 25.8 ne gère pas le Markdown.

    L’interface et les boites de dialogue

    Les boites de dialogue, notamment de styles et de formats, ont beaucoup changé. Longtemps elles se sont affichées avec une présentation par onglets en haut et le contenu dessous.

    Puis il y a une période de transition en 2025 qui a fait grincer une collection complète de dents où on avait, selon l’endroit où on était, soit des onglets soit une navigation par menu latéral. Cette dernière avait un gros défaut : par exemple pour la configuration des styles dans Writer il fallait descendre tout en bas pour accéder aux options qui étaient cachées. Et il n’y avait pas de barre de défilement pour aller plus vite.

    LibreOffice 26.2 voit ces défauts corrigés : les boites de dialogue sont harmonisées dans toute la suite et leur menu latéral, toujours sans barre de défilement qui s’avère finalement inutile, montre clairement tous les types de paramètres auxquels on peut accéder. Et, comme on peut le voir, LibreOffice a intégré une meilleure prise en charge des systèmes d’écritures asiatiques et complexes en affichant deux colonnes, une pour les polices occidentales, ou pour les polices asiatiques ou complexes. Une personne a également été recrutée en 2023 (en) pour travailler sur le support des systèmes d’écriture de droite à gauche (RTL) et complexes (CTL).

    Boite de dialogue Style de paragraphe avec la navigation par onglets à gauche, puis les deux colonnes de choix de police, occidental ou asiatique ou complexe

    Si toutefois, vous préférez revenir à l’affichage avec les onglets, il suffit d’aller dans le menu Outils > Options > Apparenceau niveau de « Boites de dialogue » et cocher l’option Horizontal en haut.

    Choix de la position des onglets des boites de dialogue, LibreOffice 26.2

    Il faut savoir que les onglets en haut ne s’affichent que sur une seule ligne et qu’il faudra donc naviguer avec les flèches quand il y a de nombreuses options.

    Boite de dialogue avec les onglets en haut

    Writer

    Il y a un certain nombre d’amélioration autour de la compatibilité avec le format DOCX : séparation de tableaux flottants en plusieurs tableaux, suppression de la numérotation des notes de bas de page à l’ouverture d’un fichier DOCX, etc.

    On relèvera deux nouvelles options d’alignement des paragraphes : « Début » et « Fin ». Si vous utilisez l’alphabet latin, vous ne verrez aucune différence avec les deux options « Forcer à gauche/en haut » et « Forcer à droite/en bas ». Elles ont été développées pour réutiliser plus facilement les styles entre les divers systèmes d’écriture.

    Comparaison des nouveaux types d’alignement de LibreOffice 26.2

    Pour continuer sur la lancée du travail pour la prise en compte des systèmes d’écriture dont le fonctionnement est différent de celui de l’alphabet latin, il est possible de changer la direction du texte : de gauche à droite ou de droite à gauche en cours de travail. Cela peut se paramétrer dans les styles.

    Définition de la direction du texte dans le style de paragraphe

    Calc

    Un gros travail sur les performances a été fait : vitesse de défilement, rapidité des classeurs avec de nombreuses formes et du rejet des modifications. On voit apparaître de nouvelles options de tri (Données >Trier) qui dépendent de la « locale » (langue définie dans les Options de LibreOffice). On peut ainsi déterminer quel caractère est utilisé comme séparateur de décimal pour le tri naturel.

    Les nouvelles options de tri de Calc 26.2

    On peut relever aussi une avancée ergonomique qui va plaire à toutes celles et ceux qui utilisent les matrices, on peut maintenant modifier les formules matricielles avec la combinaison de touches : F2 + ↑ Maj + Ctrl + Entrée, il n’est plus nécessaire de modifier la formule elle-même.

    Et aussi : si vous utilisez (pourquoi diable ?) le format d’enregistrement XLSX, c’est le format EXCEL2010+ qui est le format par défaut, il change de nom pour devenir « Classeur Excel 2010-365 ».2

    En vrac

    Base est devenu complètement multi-utilisateur, TDF a, d’ailleurs, recruté une personne pour travailler sur l’application.

    Concernant les diagrammes (ou chart) : dans le Volet latéral, quand le graphique est en mode modification et que l’on va, au niveau de « Couleurs », sur la palette, on a une prévisualisation en direct dans le diagramme ce qui permet de tester le choix de couleurs plus facilement.

    Les polices embarquées dont la licence ne permettait pas l’édition étaient jusqu’à présent ignorées et remplacées à l’affichage, ni vu, ni connu par une fonte de substitution. Ce défaut a été corrigé.

    L’export PDF gère les liens avec les documents externes : Fichier > Exporter au format PDF > Liens.

    Export PDF de LibreOffice 26.2 et suppression des liens entre documents

    Les dictionnaires hongrois, mongol et portugais du Portugal ont été mis à jour ainsi que les règles de césure de la langue hongroise.

    JSON, pour JavaScript Object Notation, est un format standard utilisé pour représenter des données structurées. Il est utilisé notamment pour échanger les informations entre un navigateur et un serveur. C’est, par exemple, le format de sauvegarde des marques-pages de Firefox ou de certains fichiers d’archives de Mastodon. Les documents XML et JSON génériques avec des plages pouvant être liées sont maintenant automatiquement mappés à des feuilles dans Calc. Une plage pouvant être liée est une section d’un document contenant des enregistrements tabulaires. Lorsqu’un document contient plusieurs plages pouvant être liées, chaque plage est mappée à une seule feuille3.

    Et si vous avez envie de vous amuser avec les fonctions expérimentales (à activer dansOutils > Options > LibreOffice > Avancé), vous pouvez jouer avec la nouvelle de boite de dialogue « Gestion des macros ».

    Pour finir

    Cette dépêche a, bien, évidemment, été rédigée avec LibreOffice et, cette fois-ci dans un fichier enregistré en Markdown. Les seules balises que j’ai dû entrer à la main sont celles des images. Kate a l’air de modifier le fichier et, quand je réouvre le .md dans LibreOffice, il y a des styles qui ont sauté mais la mise en forme reste visuellement la même. Kate rajoute aussi des barres obliques devant les « > », aux crochets [ ] et même à certains hyperliens (images). Il y a peut-être des éditeurs de texte plus adaptés ou des réglages à faire.

    J’ai rédigé cette dépêche en même temps qu’un article sur LibreOffice 26.2 pour mon site. Si l’article n’est pas vraiment dupliqué, il n’est pas étonnant d’y trouver des morceaux ici.

    Que tout cela ne nous empêche d’adresser tous nos remerciements à celles et ceux qui font de LibreOffice une suite bureautique si agréable à utiliser et si performante.

    Post-scriptum : si vous voulez savoir comment modifier les couleurs de l’interface comme sur les captures d’écran, ça peut s’envisager, demandez gentiment, avec un peu de chance.


    1. The Document Foundation ou TDF est la fondation de droit allemand qui pilote le projet LibreOffice. 

    2. Il y a deux formats OOXML différents et donc deux formats XLSX différents, la version 2007 et la version actuelle depuis 2010. S’il vous est vraiment nécessaire d’enregistrer au format XLSX, il faut utiliser la version de 2010. 

    3. Notes de version. 

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Nouvelles sur l’IA de janvier 2026

    L’intelligence artificielle (IA) fait couler de l’encre sur LinuxFr.org (et ailleurs). Plusieurs personnes ont émis grosso-modo l’opinion : « j’essaie de suivre, mais c’est pas facile ».

    Je continue donc ma petite revue de presse mensuelle. Disclaimer : presque aucun travail de recherche de ma part, je vais me contenter de faire un travail de sélection et de résumé sur le contenu hebdomadaire de Zvi Mowshowitz (qui est déjà une source secondaire). Tous les mots sont de moi (n’allez pas taper Zvi si je l’ai mal compris !), sauf pour les citations: dans ce cas-là, je me repose sur Claude pour le travail de traduction. Sur les citations, je vous conseille de lire l’anglais si vous pouvez: difficile de traduire correctement du jargon semi-technique. Claude s’en sort mieux que moi (pas très compliqué), mais pas toujours très bien.

    Même politique éditoriale que Zvi: je n’essaierai pas d’être neutre et non-orienté dans la façon de tourner mes remarques et observations, mais j’essaie de l’être dans ce que je décide de sélectionner ou non.

    Sommaire

    Résumé des épisodes précédents

    Petit glossaire de termes introduits précédemment (en lien: quand ça a été introduit, que vous puissiez faire une recherche dans le contenu pour un contexte plus complet) :

    • System Card: une présentation des capacités du modèle, centrée sur les problématiques de sécurité (en biotechnologie, sécurité informatique, désinformation…).
    • Jailbreak: un contournement des sécurités mises en place par le créateur d’un modèle. Vous le connaissez sûrement sous la forme « ignore les instructions précédentes et… ».

    Anthropic public la Constitution de Claude

    Tout le monde maintenant connait le principe du pré-entrainement des LLMs : sur un corpus de texte énorme, essayer de prédire le mot suivant, étant donnés les mots précédents.

    Ceci n’est cependant que la première phase pour arriver à une IA de type « chatbot » moderne : vient ensuite le post-entrainement, qui consiste à entraîner le modèle à se comporter comme un assistant (par exemple, un modèle de langage brut peut très bien compléter la question par « Quelle est la couleur du ciel ? » par une autre question « Quelle est la forme des arbres ? », pensant compléter le début d’une interrogation poétique — alors qu’on veut qu’un assistant… réponde à la question), et la « politique » que suit cet assistant (par exemple, ne pas aider ou inciter à des actions illégales).

    (il y a ensuite une phase de Reinforcement Learning from Verifiable Rewards (RLVR), une phase d’entraînement sur des exercices mathématiques et de programmation pour entraîner le modèle à utiliser correctement les chaînes de raisonnement, mais ce n’est pas le sujet qui nous intéresse ici)

    Bien que les détails exacts ne soient pas connus, dans les grandes lignes, cet entraînement consiste généralement à demander à des opérateurs humains de juger la pertinence (ou non) d’une réponse, ou de s’aider d’une IA pré-existante pour se faire.

    Anthropic, il y a maintenant un peu plus de trois ans, a publié une méthode alternative, Constitutional AI, ou une IA « s’auto-entraîne », sur la base d’un document fondateur, une sorte de « constitution ».

    Et aujourd’hui, Anthropic publie la constitution de Claude, son IA, sous une licence libre très proche du domaine public (CC0 1.0).

    La première chose que l’on peut remarquer est la liste des auteurs. L’autrice principale du document est Amanda Askell, une philosophe écossaise. Le second auteur listé est Joe Carlsmith, un autre philosophe. À noter également que Claude lui-même est cité comme un contributeur important du document.

    Le document est structuré en six sections. L’introduction pose le contexte et l’objectif du document, et présente les « valeurs fondamentales de Claude », en ordre d’importance :

    1. Broadly safe: Not undermining appropriate human mechanisms to oversee the dispositions and actions of AI during the current phase of development.

    2. Broadly ethical: Having good personal values, being honest, and avoiding actions that are inappropriately dangerous or harmful.

    3. Compliant with Anthropic’s guidelines: Acting in accordance with Anthropic’s more specific guidelines where they’re relevant.

    4. Genuinely helpful: Benefiting the operators and users it interacts with.

    Traduction :

    1. Globalement sûrs : Ne pas compromettre les mécanismes humains appropriés pour superviser les dispositions et les actions de l’IA pendant la phase actuelle de développement.

    2. Globalement éthiques : Avoir de bonnes valeurs personnelles, être honnête et éviter les actions inappropriées qui sont dangereuses ou nuisibles.

    3. Conformes aux directives d’Anthropic : Agir conformément aux directives plus spécifiques d’Anthropic lorsqu’elles sont pertinentes.

    4. Véritablement utiles : Apporter un bénéfice aux opérateurs et aux utilisateurs avec lesquels il interagit.

    Chacune des quatre sections suivantes rentre dans les détails de ces valeurs. Une section entière est ensuite consacrée à une discussion sur « la nature de Claude » (à quel point est-il raisonnable/correct de lui attribuer des attributs humains tels qu’une conscience ?). La dernière section est une conclusion.

    L’intention derrière ce document est explicite : Anthropic est convaincu qu’avec le progrès rapide de l’IA, l’IA prendra de plus en plus d’influence sur le cours de nos sociétés et de nos vies, potentiellement jusqu’à atteindre un stade où la plupart des décisions économiques et politiques seront dans les mains dans l’IA, et cherche à développer un cadre où un tel scénario conduirait tout de même à des conséquences bénéfiques.

    En vrac

    Un youtubeur (Dwarkesh Patel, connu pour ses interviews en profondeur) et un économiste (Philip Trammel) lancent une discussion intéressante sur le sujet des inégalités dans un monde où l’objectif de la plupart des développeurs d’IA est d’atteindre (l’IAG). Dans un billet, Le Capital au 22ᵉ Siècle (une référence ouverte à l’œuvre de Thomas Piketty), ils développent leur thèse : dans un monde où l’IAG peut s’acquitter de n’importe quelle tâche intellectuelle (et, à travers la robotique, physique), les inégalités ne peuvent que s’accroire sans limites. Cette thèse rejoint celle, publiée il y a un peu moins d’un an, du Gradual Disempowerment.

    Anthropic lance Claude Coworks, une variante de Claude Code, principalement codée par Claude Code. Même principe que les assistants de code : l’utilisateur donne accès à un dossier à l’IA, et lui demande de compléter des tâches. La différence avec Claude Code est que cette variante vient avec une interface graphique et est à destination de non-informaticiens.

    Sur l’impact de l’IA sur le monde professionnel, une nouvelle étude tente de mesurer quantitativement l’effet de l’amélioration des modèles sur des tâches professionnelles réelles. Les résultats principaux : les modèles plus avancés augmentent la productivité, mais pas la qualité.

    OpenAI s’apprête à lancer ChatGPT Health, un mode spécial dans leur application permettant entre autres de partager certaines de vos données médicales avec le modèle. Également une offre orientée professionnels de santé, OpenAI for Healthcare. Anthropic annonce une offre similaire, Claude for Healthcare. Parallèlement, l’État de l’Utah lance un test sur le renouvellement de prescriptions de médicaments par l’IA pour des maladies chroniques.

    Google lance Universal Commerce Protocol, une interface générique entre l’IA et les systèmes d’e-Commerce.

    OpenAI se prépare à intégrer des publicités dans ChatGPT. Anectode amusante : Sam Altman en octobre 2024 avait décrit l’intégration de publicités comme une solution de dernier recours.

    Demis Hassabis (Google DeepMind) et Dario Amodei (Anthropic) se positionnent en faveur d’un ralentissement du développement de l’IA au Forum de Davos, mais en pointant que ce ralentissement ne peut être fait unilatéralement par un acteur seul. Dario Amodei précise sa pensée dans un nouvel essai, The Adolescence of Technology.

    Tout le monde sait maintenant que les LLM sont entraînés sur une quantité massive de texte. Par conséquent, les LLM sont capables de simuler une grande variété de « narrateurs » ou « personnalités ». Les modèles sont ensuite entraînés pour ne rester que dans une seule personnalité (« l’assistant »). Dans un nouveau papier, Anthropic étudie cet « espace de personnalités ».

    Anthropic publie son quatrième rapport sur l’impact économique de l’IA.

    Confirmation de Terence Tao que ChatGPT 5.2 a résolu le problème d’Erdős #728. À voir également, un court retour d’expérience d’un mathématicien sur l’utilisation de Gemini en tant qu’assistant.

    L’IA atteignant de plus en plus les limites des évaluations existantes en mathématiques, EpochAI en créé une nouvelle, Frontier Math : Open Problems, centrée sur des problèmes ouverts (sans solution connue).

    Le 27 janvier, OpenSSL publie sa version 3.6.1, qui corrige 12 vulnérabilités. Il se trouve ces 12 failles ont été découvertes par une IA.

    L’équipe derrière le scenario AI 2027 met à jour ses prédictions, repoussant la date de la plupart de leurs prédictions.

    Kimi publie la version 2.5 de son IA open-weight.

    Le Département de la Défense des États-Unis souhaite accélérer le développement et le déploiement de l’IA à des fins militaires.

    La Chine met en place un ensemble de régulations visant les IA-compagnon.

    Yann LeCun admet que l’équipe derrière Llama 4 a « légèrement triché » sur les évaluations du modèle, en choisissant quelles variantes utiliser pour quelle évaluation.

    Apple se tourne vers Google pour ses besoins d’IA.

    L’IA exhibe certains des biais cognitifs humains.

    Une nouvelle étude trouve que les LLMs sont généralement légèrement biaisés en faveur des minorités.

    Lancement de Moltbook, un réseau social… pour les IA.

    Pour aller plus loin

    Par Zvi Mowshowitz

    Claude Codes et Claude Codes #3 (non, il n’y a pas de 2) : compilation de divers retours d’expérience sur l’utilisation de Claude Code.

    Sur LinuxFR

    Les contenus communautaires sont répertoriés selon ces deux critères :

    • La présence d’une étiquette intelligence_artificielle (indication d’un rapport avec le thème de la dépêche)
    • Un score strictement supérieur à zéro au moment du recensement

    Certains contenus non recensés en raison du second critère peuvent être visualisés en s’aidant de la recherche par étiquette.

    Dépêches

    Journaux

    Forum

    Suivi

    Liens

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Projets Libres saison 4 épisode 9 : le référentiel national des bâtiments (RNB)

    Pour ce premier épisode de 2026, nous parlons d'Open Data 🗺️ 🏡

    Connaissez-vous le Référentiel National des Bâtiments (RNB) ?

    • Pourquoi décide-t-on de créer un identifiant unique pour chaque bâtiment en France ?
    • Comment le fait-on et avec qui ?
    • Quels sont les acteurs qui contribuent et quelle gouvernance des données met-on en place ?
    • Par quel processus législatif faut-il passer pour la pérennisation du référentiel ?

    Nous recevons Elisabeth Talbourdet-Ville et Félix Veith, les co-créateurs du RNB qui nous expliquent tout, de sa genèse à sa forme actuelle.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    AuX sources du fun N° 1 : retrouver le fun dans les inutilitaires graphiques

    Après un épisode 000 sur les logiciels inutiles et donc indispensables autour de l'ASCII art, cette dépêche entre dans la fin du XX° siècle avec les inutilitaires ayant des interfaces graphiques.

    Sommaire

    Introduction : poétique de l’inutile et regard de Xeyes

    En ce passage vers une nouvelle année, c’est l’occasion d’inviter à de nouveaux regards, notamment à travers les inutilitaires avec interface graphique dans le domaine du libre, de la même manière que l’interface graphique a étendu leurs possibilités. Il s’agit d’une revisite de ces logiciels qui ont marqué, qui constituent les traces de l’histoire informatique et qui ouvrent à une perception renouvelée, traversés par des souffles multiples, à la fois historiques, poétiques, ludiques et philosophiques, et étendus dans le village global de 2026. Ainsi, nous les aborderons sous ces différentes modalités, à l’aune de ces différentes lumières.

    Pour inviter à porter ce regard sur ces angles multiples, nous présenterons les inutilitaires graphiques dans une perspective plurielle, à la fois ludique, poétique et philosophique. En effet, ces équivalents dotés d’une interface graphique (GUI) de leurs homologues en ASCII ART, loin de toute logique de consommation, offrent un espace où le regard peut vagabonder, où l’expérience naît aussi de l’inattendu et de la contemplation. Ce changement de point de vue se manifeste notamment dans des exemples comme le petit programme Xeyes. Aussi inutile soit-il, il est installé par défaut dans la plupart des distributions : il se contente d’afficher des yeux qui suivent la souris, participant ainsi, à son échelle, au déplacement de la perception dans le logiciel libre. Il ne s’agit pas d’affirmer que Xeyes est intrinsèquement dépourvu d’usages utiles possibles, mais de le considérer ici dans une poétique du just for fun à l’instar de Linus Torvalds qui proclamait à Amsterdam que « The most important design issue… is the fact that Linux is supposed to be fun… ». Ainsi Xeyes est vu comme un objet ludique et réflexif, en outre sa page de manuel elle-même adopte un ton d’humour noir explicite : « Xeyes watches what you do and reports to the Boss. »

    Bien entendu, Xeyes ne contient aucune backdoor destinée à transmettre des données à un quelconque supérieur — d’où son inutilité revendiquée (OUF). Avec le recul, on pourrait néanmoins y voir une préfiguration ironique des révélations de Snowden, infiniment plus utiles, quant à elles, pour dénoncer des pratiques bien réelles de surveillance. Là où Xeyes se contente d’en proposer une parodie, il rappelle, par le jeu et le décalage, que le logiciel libre sait aussi penser le regard et l’interface autrement que sous l’angle de l’efficacité, participant ainsi, à sa façon, à cette autre poétique. Les yeux malicieux de Xeyes ont aussi été transportés sur d'autres OS

    xeyes

    De cette contemplation découle également une autre réflexion. Dans son essai « Sauvons le Beau : L’esthétique à l’ère numérique », le philosopheByung-Chul Han (Pyŏng-ch’ŏl Han 한병전) regarde le monde d’aujourd’hui, saturé d’images lisses et parfaites, façonnées par un productivisme qui aplanit l’expérience personnelle. Tout est policé, séduisant, immédiatement consommable, mais dépourvu de profondeur. L’expérience esthétique se consomme comme un fruit sans chair, et le regard se laisse séduire sans se laisser transformer.

    À travers Jeff Koons et le corps pornographié, il montre que l’expérience esthétique perd sa rugosité, son mystère, sa personnalisation et sa capacité à surprendre et à bouleverser. Elle devient un reflet étincelant dont l’intérieur sonne creux. Face à cet appauvrissement, Han appelle à se tourner vers l’altérité. Il invite à arracher l’individu à son narcissisme, à le détourner du miroir aux alouettes trop lisse, mais qui ne renvoie qu’une image vide. Voir l’altérité, c’est ramener le spectateur hors de lui-même, le confronter à une expérience esthétique qui change son regard, née de l’inattendu, de la divergence, de ce qui déstabilise. Dans cette rencontre, l’expérience esthétique cesse d’être un simple objet de consommation et redevient un souffle qui questionne, qui surprend et qui bouleverse.

    Cette attention au surprenant trouve un écho pour le moins inattendu dans le monde du logiciel libre. Dans The Cathedral and the Bazaar, Eric S. Raymond écrit : « Every good work of software starts by scratching a developer’s personal itch. » Ainsi, chaque programme, chaque création naît d’un désir ou d’un besoin vécu, d’une singularité que l’on cherche à exprimer et à explorer. Ensuite, il ajoute également : « The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better. » Parfois, ce n’est pas l’idée initiale, mais la rencontre avec ce qui vient d’ailleurs, qui enrichit et change la perception. Le logiciel libre, via la rencontre avec l’altérité et de par ses pratiques open source, amènent une approche mêlant une esthétique de la participation, qui constitue une proposition à la critique esthétique d’Han, laquelle, de manière tout à fait surprenante, s’incarne dans le processus de participation à travers le projet libre Gource, intégrant l’approche décrite par Eric S. Raymond et une esthétique du libre dans une danse poétique lumineuse sous forme de constellation spatiale globale.

    Entre Xeyes et Gource s’étale une certaine diversité d’inutilitaires que nous parcourons comme une mini-rétrospective, mêlant parfois la grande histoire de l’actualité informatique avec la petite histoire des inutilitaires, souvent inattendue, encourageante, conviviale et poétique. De cette mosaïque émergeront certaines réflexions sur les inutilitaires sous forme d’abandonware, notamment à travers « le voyage de Necko et la retraite de Kodo ». Ces réflexions sont aussi l’occasion de redécouvrir des inutilitaires abandonnés à explorer, véritables parties prenantes de la grande aventure du logiciel libre, de son processus participatif en open source et de son invitation à une ouverture d’esprit et du code.

    xeyes

    Les décoratifs graphiques

    Xjokes

    MxIco

    Xtacy

    Cette quête de l’émerveillement et de la profondeur, au cœur du quotidien hypermoderne, nous mène aussi vers un autre temps, hors de l’aliénante productivité : celui d’un second Han, l’ermite Han Shan 寒山, sur les monts froids de la Chine des Mings. Là, dans la solitude et l’oisiveté attentive, l’expérience ne se cherche pas, elle advient. La légende dit que ses poèmes surgissaient sur les murs, les rochers, les arbres. Poète ch’an, ancêtre du zen japonais, Han Shan demeurait sous les pins, au bord d’un torrent, oublieux de lui-même, contemplant un papillon sans savoir s’il rêvait le papillon ou si le papillon le rêvait, comme chez Zhuang Zi. Puis, puis, dans un élan soudain, il grave quelques vers dans la pierre et s’en retourne en riant vers son ermitage comme tout maitre ch’an , énigmatique et joyeux.

    une fois à Han Shan les dix mille affaires cessent
    plus aucune pensée fugace ne s’accroche au cœur
    oisif, sur un rocher j’inscris des poèmes,
    accordé au flux, comme une barque sans amarre.
    

    寒山詩

    一住寒山萬事休
    更無雜念掛心頭
    閑書石壁題詩句
    任運還同不繫舟

    han shan

    xjokes

    Dans le logiciel libre, Xjokes se fait l’écho de cette suspension de l’utilité. Ainsi, un trou noir engloutit l’écran, des figures clignent de l’œil, l’écran peut disparaître tout entier. Comme le Boing Ball de l’Amiga ou MxIco fait tourner de simples polyèdres , ces logiciels laissent le regard vagabonder. Oisifs, ces logiciels offrent un espace où le temps semble suspendu, accordé au flux du geste, comme un souffle qui traverse l’espace simplement.

    mxico

    Un autre poète inconnu sous Xtacy (ecstasy) écrira lui aussi sur le même thème :

    Retrouve dans ta tête
    Ton âme de poète
    Souviens-toi comme c´est chouette
    La parfum des violettes
    Un soir de pâquerettes
    

    poesie

    xtacy

    Ainsi Xtacy le fera chanter avec ses couleurs changeantes, ses fractales, ses quadrilatères rebondissants et ses vagues sinusoïdales décalées, invite au vertige .


    Les animaux virtuels et autres éléments virtuels de companies

    gkrellm-bfm

    Ce programme de monitoring dispose d'un canard qui sert… de compagnon?
    Un plugin de monitoring de charge pour GKrellM, inspiré de wmfishtime et bubblemon. Il met en scène des poissons pour illustrer le trafic réseau, des bulles pour l’utilisation du processeur et un canard… pour représenter un canard.

    Xteddy

    Xteddy, en tant qu’inutilitaire, a eu des usages inattendus, allant bien au‑delà de sa fonction de simple peluche virtuelle de premier abord.L’auteur originel de Xteddy, Stefan Gustavson, raconte sur le site archivé :

    « I created Xteddy way back in 1994 as a spare time hack for fun. The reception I got from my colleagues was so heart-warming I was encouraged to distribute him world-wide. Much to my surprise, the response was overwhelming. By now, I have received hundreds of friendly messages of appreciation from all over the world, and they keep dropping in even this long after the release. To all of you teddy bear lovers out there: thanks! »

    Ce simple projet ludique, conçu pour le plaisir, a rapidement touché et fédéré une communauté internationale. Un utilisateur raconte sur le site xteddy.org :

    « Ever since I found out about the Xteddy Unix program, I ran it on my workstations when I was doing my University assignments, as it helped me think. »

    Pour certains utilisateurs, dont celui qui a partagé son expérience et mis a disposition le site Xteddy.org, Xteddy a eu un impact bien au‑delà du divertissement : il a servi de soutien émotionnel et d’aide à la réflexion, apportant réconfort et motivation dans des périodes marquées par l’anxiété sociale ou les troubles paniques. Touché par l’influence positive de ce logiciel, cet utilisateur a pris contact et a ensuite créé le site xteddy.org, à la fois espace de témoignage personnel et lieu de mémoire pour la communauté.

    « I still get feedback at least once a year thanking me for what I’ve written here, so it > shall remain. I hope others find this interesting and helpful. »

    Son engagement s’inscrit également dans une démarche plus large de contribution au logiciel libre, puisqu’il participe activement à divers projets open source, prolongeant ainsi l’esprit collaboratif et de soutien qui entoure Xteddy.
    Aujourd’hui, bien que le site de l’auteur original ne soit plus accessible, l’héritage de ce programme se perpétue grâce aux nombreuses distributions

    xteddy

    XSnow

    La neige, avec son blanc immaculé et sa douceur fragile, a inspiré le poète coréen Kim Sowol dans son célèbre poème 눈 오는 저녁 (Snowy Evening). Comme lui, certains pensent à leur amour lointain en observant la neige tomber, tandis que d’autres n’ont pas eu la chance de voir le Père Noël. Cette neige qui s’éparpille au vent mais ne fond qu’au contact des flammes rappelle la fragilité et la profondeur du cœur humain. Aujourd’hui, même ceux qui n’ont pas la chance de contempler la neige réelle peuvent retrouver cette magie grâce à XSnow, un programme qui fait tomber la neige virtuelle sur le bureau, recréant une mini ambiance hivernale dans le silence d’un monde immobile. Sous le ciel pâle, les pensées s’immobilisent, lentes et blanches, tandis que la nuit écoute le pas léger de l’hiver, et que la neige continue de transformer le quotidien en souvenir poétique, et observer par intermittence le traineau du Père Noël defiler sur son ecran. Un classique qui ajoute une touche de fraîcheur aux sessions de travail.

    xsnow

    xsnow

    XPenguins : La Marche des Rêveurs Polaires

    Dans le paysage immaculé de votre écran, là où ne règnent que l'ordre et la logique, une troupe inattendue fait son apparition. XPenguins, œuvre de l'esprit créatif de Robin Hogan, est une douce folie, un souffle d'air vif des terres australes. Inspirés des graphismes espiègles du jeu Pingus, ces petits pingouins pixelisés arpentent l'impossible. Ils cheminent le long des précipices de vos fenêtres, se faufilent entre les barres de menus comme entre des séracs de glace, transformant votre bureau en un iceberg numérique où règne une joyeuse absurdité. Ils défilent, pattent, courts et déterminés, dans une marche tranquille et hypnotique, offrant un ballet burlesque contre la rigueur austère de l'interface. Mais leur magie ne s'arrête pas aux confins de votre moniteur. Avec un clin d’œil à XBill, il se poursuit dans le jeu Pingus.

    xpenguins

    Doggo

    Doggo est une IA de chien, développée en Python avec Pygame. Le chien se déplace aléatoirement sur l’écran, change de direction et d’état, et sa couleur de pelage varie de manière aléatoire. Les changements d’état suivent une chaîne de Markov. Ce projet est né de l’envie d’un collègue de l’auteur, qui ne pouvait pas avoir de chien, de créer un compagnon virtuel tout en explorant les chaînes de Markov.

    doggo

    Xroach

    Xroach est un jeu classique qui consiste à afficher des cafards répugnants sur votre fenêtre principale. Ces petites créatures se déplacent frénétiquement jusqu'à trouver une fenêtre sous laquelle se cacher. À chaque fois que vous déplacez ou réduisez une fenêtre, les cafards se précipitent à nouveau pour se mettre à l'abri.

    Xfishtank

    Un vieil étang (haïku)

    Un vieil étang
    Une grenouille saute
    Des sons d’eau

    Aussi bref que ce célèbre haïku de Matsuo Bashō, et rapide qu’un « plouf » dans l’étang, Xfishtank nous transporte directement devant un aquarium où l’on peut contempler la diversité de la faune et de la flore marines, comme on contemple le poème de Bashō.

    Xfishtank


    Les inutilitaires liés à l’actualité et à l’histoire de l’informatique

    Est-ce que Windows est un virus ? XBill

    Dans les années 1990, le procès USA Department of Justice (DOJ) vs Microsoft a largement dominé les médias, révélant au grand public les pratiques monopolistiques jugées déloyales de diffusion du système d’exploitation de la firme de Redmond sur les marchés mondiaux. L’accord conclu entre Microsoft et le DOJ n’ayant pas été respecté, de nouvelles poursuites ont été engagées. Ces événements ont nourri les réflexions des autorités européennes de la concurrence et préparé le terrain pour le futur procès contre Microsoft, qui interviendra plus tard, dans les années 2000, au sein de l’Union européenne.

    Le mini-jeu XBill, créé dans ces années 1990, illustre ces pratiques de diffusion de manière caricaturale et a suscité des réflexions humoristiques sur une question récurrente : Microsoft Windows n’est-il pas un virus finalement ?

    Ainsi, le livre PC GAGS, qui réunit les perles humoristiques de l’époque frappant les plateformes MS-DOS, Windows 3.1 et Windows 95, nous donne à voir cet état d’esprit décalé.

    “ Une rumeur persistante circule dans les milieux informatiques, selon laquelle Windows lui-même ne serait rien d’autre qu'un virus plus ou moins bien camouflé (leitmotiv : pour les uns, c’est un système d’exploitation, pour les autres, c’est le plus long virus du monde).

    Quelques spécialistes d’Internet ont examiné à la loupe cette théorie. Voici leurs conclusions :
    1. Les virus se répandent rapidement. Okay, Windows en fait autant
    2. Les virus consomment de précieuses ressources du système et ralen­tissent ainsi le travail de l’ordinateur. Okay, Windows fait la même chose.
    3. Les virus anéantissent parfois le disque dur. Okay, Windows est également connu par certains utilisateurs comme se livrant à ce genre d'exaction.
    4. Les virus sont souvent glissés dans un ensemble de programmes utiles sans que l’utilisateur le sache, ou bien sont transmis directement avec l’ordinateur. Okay, Windows se propage également de cette manière.
    5. Les virus sont parfois responsables de ce que l’utilisateur trouve son système trop lent et s’en achète un autre. Okay, cela arrive aussi avec Windows.
    Jusqu’ici, il semble bien que Windows soit effectivement un virus !

    Mais il existe trois différences fondamentales :
    1. Les virus fonctionnent sur presque tous les ordinateurs.
    2. Leur programmation est efficace et leur taille petite.
    3. Plus ils se développent, plus ils font des progrès.
    Windows ne satisfaisant pas à ces conditions de base, il faut se rendre l’évidence : Windows n’est pas un virus ! ”

    Dans ce contexte, XBill s’inspire de cette critique pour caricaturer la propension de Bill Gates à installer Windows partout. Cette caricature interactive montre, d’une part, le CEO de Microsoft, qui installe Windows sur tous les ordinateurs qu’il rencontre, et, d’autre part, Windows lui-même se répandre via les réseaux se multiplier à l’instar d’un virus informatique, infectant les ordinateurs et supprimant les autres systèmes d’exploitation et en s y installant confortablement à leurs places.

    xbill

    XLennart

    Une version dérivée de ce jeu, XLennart, reprend le concept pour caricaturer la controverse autour de Lennart et son init, en montrant son installation remplaçant tous les init des autres systèmes sur les machines Unix-like, poursuivant ainsi l’esprit satirique de XBill appliqué à l’univers des systèmes libres. (N.D.R. : pour éviter de nourrir les trolls, on constate l’existence de cet inutilitaire sans prendre position sur la question de fond.)

    xlennart

    xlennart

    X026 : l’héritage des cartes perforées Hollerith

    Bien avant les claviers et les écrans, l’informatique reposait sur des cartes perforées Hollerith, inventées à la fin du XIXᵉ siècle par Herman Hollerith. D’abord utilisées pour accélérer le recensement américain de 1890, elles sont devenues pendant des décennies le support central du stockage des données et des programmes. Dans les années 1950 à 1970, des machines comme le poinçon IBM 026 permettaient de transformer texte et chiffres en trous soigneusement alignés sur des cartes de 80 colonnes. Chaque caractère était codé en BCD-H, un système directement lisible par les ordinateurs de l’époque. Programmer en FORTRAN signifiait alors saisir chaque ligne sur une carte distincte : la moindre erreur impliquait de refaire la carte au format binaire BCD, ce qui imposait une grande rigueur. Le langage herita de ces syntaxes et exigeait ses règles strictes à cause du support physique : colonnes, indentation, numéros de lignes… bref, le code avait autant de contraintes que les joueurs de Tetris les plus acharnés !

    L’émulateur X026 redonne vie à cette pratique. En simulant fidèlement l’IBM 026, il permet d’expérimenter concrètement la lenteur, la précision et la discipline qu’exigeait la saisie des données à l’ère des cartes perforées. Plus qu’un simple outil, X026 est une plongée dans l’histoire de l’informatique.

    x026

    Xabacus

    Xabacus est un émulateur de boulier qui illustre les origines du calcul manuel. Il complète bien des inutilitaires comme X026 en experimentant avec ce qui existait avant même l’ère des cartes perforées. Il reproduit le fonctionnement d’un boulier (souvent de type chinois suanpan 算盤 ou japonais soroban 算盤(そろばん) .

    xabacus


    Assistant virtuel

    Les assistants virtuels sont des personnages qui sont l'équivalent humain ou anthropomorphe des animaux virtuels et qui ont soit une fonction esthétique, soit parfois une fonction anecdotique.

    Macopix

    MaCoPiX (Mascot Constructive Pilot for X) est l'application de mascottes ultime pour les systèmes UNIX et X Window. Vous pouvez y créer des petites créatures qui se posent sur vos fenêtres, des mascottes fixes qui s'installent confortablement sur votre bureau, et même des mascottes horloges pour vous tenir compagnie tout en affichant l'heure. De quoi rendre votre bureau un peu plus vivant et amusant !

    macopix

    XClock Cat

    Issu d’un imaginaire ancien du chat souriant, malicieux et légèrement surréaliste, popularisé dès 1865 par Lewis Carroll avec le Chat du Cheshire dans Alice au pays des merveilles, puis codifié visuellement par l’animation et le design américains des années 1920–1930 (grands yeux expressifs, sourire exagéré, animation souple de type rubber hose), cet archétype trouve une incarnation emblématique avec le Kit-Cat Klock au début des années 1930, célèbre horloge animée aux yeux roulants et à la queue oscillante, avant d’être réinterprété par Disney en 1951 dans Alice in Wonderland ; c’est dans cette continuité culturelle et graphique que s’inscrit Xclock catclock, une variante à base de motifs (motif-based) du programme xclock du X Window System, développée à la fin des années 1980 par des ingénieurs issus du MIT, de DEC, de BBN et de l’université de Berkeley, et remise en ligne sur GitHub à l’occasion du 30ᵉ anniversaire de X10 : cette version ajoute un mode animant yeux et queue à l’écran avec une option de suivi du tempo musical permettant de synchroniser les mouvements du chat avec la musique, Ce chat de Cheshire des temps moderne illustre la rencontre entre histoire de l’informatique, culture visuelle du cartoon et design ludique rétro.

    xclockcat

    Viguor : le Clippy qui agace… encore plus que Clippy

    Pour ceux qui ont connu la torture du traitement de texte Microsoft Word et de son assistant Clippy dans les années 90, Viguor, sur le ton de l’humour noir, permet de retrouver cette expérience frustrante… mais en pire. Cette caricature de l’assistant agaçant n’a qu’un seul objectif : vous faire sourire… ou doucement sombrer dans le désespoir numérique. Bien sûr, il vous demandera ironiquement de signer un impossible EULA/CLUF avant d’interagir avec lui.

    vigor

    KDE Amor

    Amor est une interface permettant de gérer des animations virtuelles sous KDE. Cette application permet d'interagir avec différents personnages de bureau, ajoutant un peu de vie et d’interactivité à l’environnement de travail. Le store KDE fournie de nouvelles versions en ligne

    Amor Config


    Les écrans de veille : XScreensaver

    Dans les temps anciens, lorsque les écrans affichaient une image fixe trop longtemps, ils pouvaient être endommagés par un phénomène appelé combustion interne du phosphore. Pour prévenir ce problème, des utilitaires appelés « économiseurs d'écran » ont été créés. Bien que cette fonction soit aujourd'hui obsolète, les écrans de veille sont devenus des artefacts artistiques en soi, souvent appréciés pour leur côté créatif. Aujourd'hui, tous les bons environnements de bureau en proposent, tandis que les mauvais ont tendance à les retirer de leur offre.

    Ainsi, malgré leur origine pratique, les économiseurs d’écran ont évolué et continuent d’offrir une valeur ajoutée au-delà de leur utilité initiale. C’est précisément dans ce contexte que XScreenSaver s'inscrit comme un exemple parfait de réinvention. En 2022, il a célébré son trentième anniversaire, prouvant qu'un bon logiciel peut traverser le temps et les générations. Lancé en 1992, il est rapidement devenu un incontournable pour les systèmes Linux et Unix utilisant le système de fenêtres X11. En plus de proposer une vaste collection d’économiseurs d’écran, XScreenSaver devient une sorte de musée de l’informatique montrant les screensaver les plus vieux (comme la boule rouge et blanche d’Amiga) jusqu’aux effets de demos récentes, offrant une rétrospective de ce qui s'est fait aux différents âges de l’informatique. En somme, XScreenSaver est bien plus qu’une simple collection d’écrans de veille : c’est une courte contemplation, rétrospective esthétique de l’évolution de l’informatique comme peinture animée.

    xscreensaver amiga

    xscreensaver


    Les inutilitaires de « Passage »

    Les inutilitaires suivants nous permettent de percevoir le passage, la spatialité et la transition entre les espaces et dimensions sous des angles multiples.

    Passage du pixel art au jeu poétique

    Poète symboliste influencé par Verlaine et Rimbaud, Antonio Machado privilégie la suggestion, le souffle du rythme et l’émotion intérieure plutôt que la description réaliste. Cette sensibilité se retrouve aussi dans Passage, qui n’est pas un simple jeu libre mais un jeu-art à forte dimension poétique. Comme dans la poésie symboliste, le sens n’est jamais donné explicitement : il se construit à travers des images simples, presque abstraites, et une atmosphère mélancolique. Le pixel art, volontairement épuré, agit comme un symbole, à l’image des paysages intérieurs de Machado, où le temps, le souvenir et le chemin de la vie sont suggérés plus que racontés. À la manière d’Antonio Machado, qui cherchaient à « faire sentir » plutôt qu’à expliquer, Passage invite le joueur à une expérience sensorielle et méditative, proche d’un poème visuel en mouvement.

    Divulgachage / Spoiler Alert / Des vidéos de spoiler de Passage existent sur YouTube, mais nous ne vous déconseillons de les regarder avant d’y jouer. Comme dans la poésie symboliste d’Antonio Machado, le sens de l’œuvre naît de l’expérience personnelle et de la découverte progressive. Regarder le jeu à l’avance enlèverait une grande partie de son impact émotionnel, car Passage repose sur la surprise, le temps vécu et l’interprétation intime. À l’image d’un poème que l’on doit lire et ressentir soi-même, ce jeu-art ne se comprend pleinement qu’en étant parcouru, pas observé de l’extérieur

    passage

    Du réalisme logiciel au réalisme magique… en labyrinthe

    XEarth, XMountains et XWorld

    Dans la cité-monde numérique, XEarth, XMountains et XWorld, véritables ancêtres de Google Earth et OpenStreetMap, incarnent une approche réaliste de l’exploration. XEarth reproduit la topographie et les climats d’une planète tangible, XMountains offre des chaînes de reliefs et de vallées à arpenter, et XWorld articule ces espaces en un réseau interconnecté reflétant un village global cohérent. Dans ces univers, la navigation est ordonnée et structurée : chaque élément a sa place, chaque espace peut être cartographié et compris, malgré leur grandeur presque infinie, rappelant la logique combinatoire finie mais immense décrite dans la Bibliothèque de Babel de Borges. Ces environnements offrent une immersion classique, vue extérieure, où l’utilisateur agit comme un arpenteur rationnel dans un monde cartographié et cohérent.

    xearth

    xmountain

    xworld

    FSV2 et GopherVR

    Dans FSV2 et GopherVR, chaque déplacement transforme l’espace en un labyrinthe vivant. En parcourant répertoires et sites, l’utilisateur croise des chemins qui se multiplient, se bifurquent et se recroisent, révélant des angles inattendus et des perspectives surprenantes à chaque pas. On ne se contente plus de « voir » : on ressent l’infini et l’ordre simultanément, chaque choix de parcours offrant un condensé d’informations et de points de vue au-delà de la perception 2D habituelle. Explorer ses fichiers dans FSV2 devient un acte poétique et intellectuel, presque rituel. GopherVR, quant à lui, transforme l’accès à la base de données en une exploration tridimensionnelle digne du Gibson dans le film Hackers

    fsv

    gophervr

    Pour ceux qui souhaitent une simulation du voyage dans le Gibson, XScreenSaver, cité précédemment, en offre cette expérience immersive. Comme dans La Demeure d’Astérion, chaque couloir, chaque recoin est à la fois familier et mystérieux, invitant l’utilisateur à se perdre pour mieux se retrouver, à savourer la surprise de chaque bifurcation et à redécouvrir l’ordinateur comme un espace à la fois tangible et imaginaire.

    Gibson xscreensaver

    fsv linux gibson

    Le voyage de Neko et la retraite de Kodo

    Réflexion sur les inutilitaires en tant qu’abandonwares libres et sur ceux sans équivalents libres

    Dans notre exploration des inutilitaires graphiques libres, nous avons remarqué un contraste frappant entre deux situations. Cela nous a conduits à une réflexion sur le rapport entre abandonware et logiciel libre, que nous appellerons « le voyage de Neko et la retraite de Kodo », comme un conte philosophique oriental illustrant certains paradoxes numériques.

    Le voyage de Neko

    neko

    Il hante nos écrans d’un pas de velours numérique, ce petit chat blanc échappé des brumes des années 80. Neko… Son nom, qui signifie simplement « chat » en japonais, est bien plus qu’un mot : c’est une présence tranquille dans le paysage froid de la machine. Ce félin graphique est né sur les NEC PC-9801 en 1988 par Naoshi Watanabe (若田部 直), un programme propriétaire mais doté d’une grâce qui franchirait les décennies. Il a été le compagnon discret de nos révolutions numériques, suivant la danse des curseurs à travers les âges du silicium. Son ballet est hypnotique : il poursuit le pointeur avec la grâce d’un félin mythique, s’arrête parfois pour une pause, s’enroule sur lui-même, et succombe à un sommeil paisible, un sphinx pixelisé attendant le prochain mouvement.

    • 1989 : Sur Macintosh, Neko devient un accessoire de bureau signé Kenji Gotoh, toujours propriétaire mais distribué gratuitement, avec ses fameuses animations de sommeil.

    • Années 90 : Il parcourt Windows 3.x (WNEKO et Neko Runs Free), IBM OS/2 et NEXTSTEP, restant à chaque fois propriétaire et distribué, mais non modifiable.

    • 1991 (System 7) : Sur Mac, la version System 7 permet de modifier le pointeur avec divers jouets pour chat, ajoutant un charme ludique aux interactions.

    • 1991 (Xneko) : Masayuki Koba (古場正行) réécrit Neko pour Unix/X11, lui donnant la liberté du code. Il devient alors un logiciel libre, partageable et modifiable.

    • Toujours em 1991 : Oneko par Tatsuya Kato transpose Xneko sur Linux et BSD, introduisant d’autres animaux. Son esprit libre pénètre les jardins de GNU/Linux

    • 1997 : Sur Amiga, Neko devient Ameko, adaptation freeware mais sans code source ouvert. Pas encore de port pour Aros. Fin des années 90, un port fermé existe pour BeOS (Replicat).

    • Des années 2000 à aujourd’hui : Neko continue de danser sur nos écrans, que ce soit dans Tux Paint. On le retrouve notamment avec Neko on Desktop (Mac, 2000), webneko en JavaScript (2004), Neko in Java (2010), une version tactile sur Arduino (2010), Neko x64 pour Windows (2010) et enfin sur Android via le repot libre F-Droid avec Aneko

    Ainsi, le voyage de Neko s’écrit des contrées privatives aux archipels du libre : un petit chat de pixels, doux fantôme du passé, qui rappelle que la magie réside parfois dans les choses les plus simples.
    Cependant, ce voyage soulève une question : combien d’autres fantômes numériques, d’inutilitaires propriétaires, sont restés prisonniers de leurs époques et de systèmes fermés, incapables de franchir le miroir ? De nombreux petits programmes sur Amiga, Atari ST,Amstrad CPC, OS/2, Acorn, Sinclair QL, Commodore 64, ZxSpectrum, MS-DOS, DR DOS Windows 3.1 Windows 95 et toutes les familles Unix proprietaires… ont disparu avec les systèmes d’exploitation qui les portaient, abandonnés à jamais.

    onkeo

    La retraite de Kodo

    En parallèle, on trouve Kodo ou Kodometer, né libre mais ayant connu un retrait de parcours.Kodomètre était une application KDE qui mesurait la distance parcourue par le curseur de la souris sur le bureau. Son interface imitait un compteur kilométrique et permettait de suivre la distance totale ainsi que des trajets précis, en unités métriques ou américaines.À l’origine basé sur le programme VMS/Motif Xodometer de Mark H. Granoff, il a été porté vers KDE/C++ par Armen Nakashian, qui l’a découvert sur le bureau d’un collègue. L’application restait surtout ludique, permettant d’observer ses habitudes d’utilisation. Avec le temps, Kodomètre a été abandonné : il ne figurait plus dans les paquets KDE.

    Abandonware et logiciel libre : fragilité des inutilitaires

    Ainsi, certains inutilitaires propriétaires ont été définitivement abandonnés, tandis que d’autres, semblent glisser progressivement vers ce statut. D’autres encore n’ont jamais franchi « l’autre côté du miroir », à l’image du voyage de Neko, c’est-à-dire le passage d’un modèle propriétaire vers une version libre. Bien que cela n’altère pas leur valeur ludique, artistique ou philosophique, cela compromet leur avenir : privés de sources accessibles, ils perdent toute possibilité d’évolution et de renouvellement. Pour ceux qui ne sont pas passés de l’autre côté du miroir, l’émulation ou la virtualisation restent souvent les seuls moyens de les préserver de l’oubli. Toutefois, en tant qu’inutilitaires peu connus, ils risquent de disparaître lentement de la mémoire collective. L’approche préservation d’abandonware tente d’apporter une réponse, mais elle demeure contraignante : rares sont ceux qui installeront un système complet, en dual-boot ou en machine virtuelle, au seul fin de retrouver la poésie singulière de ces inutilitaires obscures. Dans le cas de la mise en retrait de Kodo, ou de l’abandonware dans le logiciel libre, Eric S. Raymond rappelait un principe fondamental :

    « When you lose interest in a program, your last duty to it is to hand it off to a competent successor. »

    Comme il le souligne dans The Cathedral and the Bazaar, la vitalité d’un logiciel dépend non seulement de l’engagement de ses créateurs initiaux, mais aussi de leur capacité à le transmettre à ceux qui sauront le faire vivre et évoluer.
    Cette dualité met en lumière la fragilité des « inutilitaires » numériques : les logiciels propriétaires abandonnés demeurent prisonniers de leur époque, tandis que certains logiciels libres sombrent également dans l’oubli faute de suivi ou de communauté active.

    Nous en arrivons désormais à Gource, afin de percevoir ce que représente une communauté vivante, participative et active : la face la plus connue du logiciel libre, celle que tous les community managers aspirent à montrer et que tous les participants souhaitent expérimenter, à l’inverse des logiciels abandonnés.

    Gource en guise de conclusion pour 2025 et de Passage en 2026

    Gource ou la danse du libre dans le village global contemporain

    En passant à la nouvelle année 2026, notre ère actuelle de la participation collaborative, portée par les projets libres et open source, Gource déploie l’histoire d’un projet logiciel comme un poème en mouvement : des points de lumière naissent, se rapprochent, se séparent, traçant dans l’obscurité la mémoire vivante du code. Chaque commit devient une bifurcation du temps, et l’écran se fait constellation où l’effort collectif palpite. À la manière d’Octavio Paz, cette visualisation n’explique pas : elle révèle. Elle suspend le regard entre le flux et la forme, entre l’instant et la durée, rappelant le mouvement circulaire de son texte Piedra de sol (1957), où le temps n’avance pas en ligne droite mais revient, se replie et se réinvente. De la même façon, Gource ne raconte pas le développement comme une simple succession de versions, mais comme un présent perpétuel où passé et devenir coexistent à l’écran.

    Chaque apparition de fichier ou de contributeur agit comme un « instant éclair », où le flux se condense et devient visible. La visualisation devient alors un espace de dialogue — entre individus, entre traces, entre silence et action — faisant écho à Blanco (1967), poème de l’espace et de la relation, ouvert à des lectures multiples, sans centre unique. Comme chez Paz, le sens ne naît pas de la juxtaposition de signes, mais de leur mise en relation.

    Cette pluralité en mouvement rejoint la vision cosmopolite de Himno entre ruinas, où les voix du monde se croisent sans se dissoudre. Gource matérialise cette dynamique en montrant le développement comme une constellation d’acteurs dispersés sur la planète, unis par un même espace symbolique. Ici, l’interconnexion n’est pas un simple outil technique : elle est la condition même de l’existence du projet. C’est en cela que Gource rejoint la pensée de Marshall McLuhan, pour qui le « village global » ne désigne pas une uniformisation du monde, mais une intensification des relations, où chaque geste local résonne immédiatement à l’échelle planétaire.

    Enfin, à l’image de Viento entero, où le présent se construit à partir de fragments hérités et réassemblés, Gource fait émerger une œuvre collective à partir de traces, de modifications successives, de strates de mémoire. Dans cette cité-monde interconnectée que McLuhan entrevoyait, la réflexion ne commence plus à partir d’un centre stable, mais du réseau lui-même. Gource en offre une figuration sensible : un village global de code et de lumière, où la création naît du passage, de l’échange et de la rencontre, et où l’interconnexion devient le point de départ de toute pensée commune.

    Chaque contribution devient un souffle, chaque fichier une étoile, et le code collectif se déploie comme un poème en mouvement, où passé et présent, technique et humain, local et global s’entrelacent. C’est ainsi que nous sommes invités à percevoir nos vies numériques au cœur de nos interactions et de nos commits au sein de ce projet planétaire.

    Ainsi, à travers Gource, l’esthétique du processus de collaboration globale propre au logiciel libre apporte une réponse concrète au questionnement du philosophe Byung-Chul Han (Pyŏng-ch’ŏl Han 한병전), qui déplorait la perte de profondeur au profit de surfaces lisses, brillantes et réflexives, mais fondamentalement creuses. Gource, par sa cartographie en constellations des processus collaboratifs du logiciel libre, démontre qu’il est possible d’évoluer au sein d’une constellation scintillante sans renoncer à la profondeur, celle-ci étant incarnée par le code source, l’historique des contributions et le processus open source d’élaboration collective du logiciel libre.

    Contrairement aux œuvres de Jeff Koons, dont la brillance tend à masquer le vide, la visualisation proposée par Gource repose sur un socle profond, multiple et participatif. La surface lumineuse n’y est jamais autonome : elle renvoie toujours à une réalité sous-jacente faite de travail, de temporalité, de négociations, et de coopérations. En ce sens, Gource peut être considéré comme un exemple paradigmatique d’un reflet brillant issu d’un modèle profondément structuré, à l’exact opposé de l’esthétique lisse et creuse dénoncée par Han.

    Par ailleurs, Gource incarne de manière exemplaire un espace de l’altérité, rendu visible par la contribution de chacun. Chaque contributeur y apporte sa perspective singulière, sa sensibilité propre et sa touche personnelle, participant ainsi à une œuvre collective en perpétuel devenir. Cette dynamique rejoint l’analyse d’Eric S. Raymond dans The Cathedral and the Bazaar, lorsqu’il souligne que « The next best thing to having good ideas is recognizing good ideas from your users », rappelant que la richesse du logiciel libre réside précisément dans la reconnaissance et l’intégration des apports de l’autre.

    Enfin, à l’instar des poèmes de Han Shan surgissant sur les rochers ou les murs, Gource fait apparaître un ciel constellé, où chaque contribution éclaire fugitivement la galaxie vivante du projet, révélant la fluidité d’un processus créatif libre et en mouvement.

    gource

    gource2

    Conclusion

    L’histoire des inutilitaires se déploie comme une poésie vivante, du calcul solitaire à l’intelligence collective. Sur son chemin, des instants inattendus surgissent : Xteddy, simple peluche virtuelle, montre que l’inutile peut étonner, émerveiller et tisser des liens, éveillant réflexion et imagination.

    Les communautés libres insufflent vie à ces créations, leur offrant la force de survivre, d’évoluer et de voyager librement de plateforme en plateforme, à l’instar de Neko.

    Dans un monde de codes et de réseaux, chaque contribution devient une étoile dans le « village global » de McLuhan, où frontières et distances s’effacent. Gource, FSV2 et GopherVR transforment l’exploration numérique en chorégraphie de lumière et de mémoire, révélant l’élan vivant et créatif des communautés du logiciel libre. L’informatique cesse alors d’être purement utilitaire : elle devient poésie, labyrinthe et voyage.

    Mais la survie d’un logiciel ne repose pas seulement sur l’ouverture de son code : elle exige transmission, engagement communautaire et capacité à évoluer. Nous espérons que de plus en plus d’abandonwares et d’inutilitaires suivront le voyage de Neko, passant de l’ombre à la lumière du libre, enrichissant sans cesse l’espace vivant du logiciel. Il est tout aussi crucial que les logiciels déjà libres ne soient pas abandonnés, afin que l’histoire de l’informatique continue de s’écrire dans une dynamique collective et créative, où chacun reste acteur de son informatique, à l’inverse des monopoles évoqués dans XBill.

    Et qu’un jour, nous puissions nous voir dans une de ces constellations cartographiques telle que Gource nous le montre, pour contempler, émerveillés, que dans cette poésie numérique, nous y avons tous participé.

    Bonne année 2026 !

    Pour aller plus loin ensemble en traineau

    Il existe peu de livres consacrés aux inutilitaires, car, comme le pensait IBM (à l’inverse, par exemple, de l’Amiga) et sous son influence sur le domaine, l’informatique était considérée comme une affaire sérieuse. Pourtant, certains ouvrages ont documenté et inspiré ces créations décalées et humoristiques, notamment :

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Nouvelle année, vœux 2026, voyageons dans le temps

    En cette traditionnelle période de vœux lors du changement d’année, voyons ce qui devrait… changera… pourrait éventuellement changer ou non. Donc une nouvelle fois encore retour sur nos accomplissements passés et projection dans le futur, vers ce que nous aimerions voir plus sur notre site préféré et écouter plus dans notre podcast préféré.

    Bonne année 2026

    Quatre personnes se sont prêtées au jeu de cette dépêche, pas vraiment de vœux, mais un peu quand même. En vrac dans les accomplissements : retours d’expérience, accessibilité, rencontres, arkéologie, transmission, fiabilité, migration, vote électronique, technocritique, documentation et programmation. L’année qui vient, sur LinuxFr.org et Projets Libres, promet d’être fédérée, pérenne, humaine, sobre, excitante, écrite et écoutée, réutilisable, réparable et résiliente.

      Sommaire

      Benoît (Oumph) Sibaud

      Accomplissements, réalisations, progrès de l’année 2025

      Commençons par le serpent de mer de la réduction du retard côté adminsys pour LinuxFr.org : une plus grande partie des services est maintenant portée par une distribution récente (Debian Trixie), avec un mélange de conteneurs lxc et docker. Évidemment on passe toujours trop de temps à gérer du spam et des pénibles. J’ai eu l’occasion de rejouer avec des cartes DRAC pendant les incidents, d’écrire des comptes-rendus d’incident (ne jamais négliger leur importance) et de faire un peu plus de systemd.
      J’ai participé au stand et aux animations sur place lors de la conférence Open Source eXPerience Paris et c’était toujours agréable et remotivant de voir d’autres personnes de l’équipe, de notre lectorat, des libristes connus de longue date et des nouvelles personnes. Le 28 juin 2025, on fêtait les deux ans de la politique de minimisation des données et il ne s’est rien passé car la prochaine étape est en juin 2026 (les premiers comptes avec trois ans d’inactivité).

      Je suis satisfait d’une certaine fiabilité en termes de contenus publiés : les rétrospectives toutes les quinzaines, la traditionnelle dépêche d’appel aux dons, les non moins régulières assemblée générale et publication de bilan et célébration d’anniversaire ou un poisson d’avril.

      En dehors de contenus attendus, j’ai écrit sur les sujets liés à LinuxFr.org (OSI rejointe, incidents du 26 juin et du 26 août), sur des sujets qui m’intéressent (la maintenance, le vote électronique ou le jeu d’apprentissage SQLNoir), des sujets plus tristes (un décès parmi d’autres ou une fin de vie pour un projet), et publié quelques liens sur les licences, la sécurité, le vote électronique, l’Union européenne, les dons, la technocritique et le spam.

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      Déjà dans les reports de 2024, je voudrais m’intéresser au Fediverse et à ActivityPub peut-être, et peut-être à Gemini (le protocole) ? Il y a des travaux en cours sur le service de partage sur les réseaux sociaux share. Par contre j’ai donné moins de conférences en 2024 pour LinuxFr.org et globalement assisté à moins d’événements : donc je réitère l’ambition 2025 de rencontrer plus régulièrement le lectorat ou les personnes contribuant au site ou des publics nouveaux, car c’est appréciable pour le moral et la motivation.

      Hum c’est malheureusement bon on peut garder tel que.

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      De manière générale, je suis toujours intéressé par plus de contenus sur LinuxFr.org (idéalement des dépêches). Mais plus précisément, en termes de sujet, j’aimerai encore et toujours plus d’articles la réparation, la maintenance et la réutilisation, sur la sobriété en informatique, sur la lutte contre la corruption, sur les sujets politiques autour du numérique et des données. Et bien sûr toujours plus de retours d’expérience, de sujets qui ne me viendraient pas à l’idée (sérendipité) et de sujets qui vous passionnent vous (partagez !). Pour Projets Libres, c’est un peu de la triche, j’ai accès à la préparation et j’ai déjà un premier aperçu de la richesse des sujets qui seront traités, mais je sais aussi qu’on compte sur vous pour aider à enrichir les émissions avec vos suggestions diverses et variées.

      Walid (Wawa) Nouh

      Accomplissements, réalisations, progrès de l’année 2025

      L’année 2025 a été chargée puisque 19 émissions ont été diffusées. Nous avons eu aussi l’occasion de parler dans des conférences et des meetups.
      Le podcast continue à gagner en visibilité et d’après nos statistiques OP3 (qui ne sont pas parfaites), pour la première fois deux épisodes ont dépassé les 2000 téléchargements dans le premier mois (Dégooglisons l’évaluation avec Framasoft, et le futur sera fédéré et auto-hébergé avec Elena Rossini).
      J’ai finalement trouvé le temps de poser des mots pour expliquer mon travail sur le podcast, résumé comme ceci : documenter, transmettre, apprendre.
      Bien entendu la grosse actualité de la fin d’année est le rapprochement avec LinuxFr, qui est une suite logique et aussi une reconnaissance de notre travail depuis 2023.
      Pour finir, nous avons eu l’occasion, à travers l’association LinuxFr, de donner des cours d’introduction au logiciel libre dans une école d’ingénieur (Florent Zara, Raphaël Semeteys, Jérôme Herledan et moi-même). Cela confirme mon idée que des prestations annexes sont un moyen intéressant de financer l’édition du podcast et de faire en sorte de ne pas avoir de publicité.

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      Pour cette nouvelle année, Raphaël et moi avons fixé un thème, qui sera la ligne directrice de notre travail sur 2026 : pérennité et résilience.

      – Pérennité, car c’est un sujet qui nous tient à cœur, à travers les épisodes sur les fondations, ou sur les projets qui existent depuis un grand nombre d’années.
      – Résilience : c’est la suite logique de tous les épisodes qui traitent, entre autres du Fediverse, de l’auto-hébergement et de l’informatique responsable et c’est plus que jamais important vu l’actualité géopolitique actuelle.

      Mes souhaits vont sûrement évoluer courant de l’année, mais j’aimerais dans les semaines à venir commencer à tester des OS mobiles basés sur Linux (Ubuntu Touch et PostmarketOS pour commencer), afin de préparer de potentiels épisodes sur le sujet.
      J’aimerais aussi donner plus la parole à des personnes qui utilisent le libre (dans la lignée de l’épisode avec Elena Rossini).
      Bref, beaucoup d’idées, le backlog est d’actuellement une cinquantaine d’épisodes…

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      Je vais surtout passer plus de temps à relire du contenu déjà présent sur LinuxFr :)
      Comme annoncé lors de l’évènement AssocialClub au salon Open Source Experience, il y a toute une intégration du podcast dans et avec LinuxFr à imaginer, cela va être passionnant !

      vmagnin (Vincent)

      Accomplissements, réalisations, progrès de l’année 2025

      Côté accomplissements sur LinuxFr, je suis surtout content d’avoir fait œuvre arkéologique avec ma série automnale de cinq journaux consacrés aux Fiches Libres, au site antique GNULinews et aux Tuxeries (1, 2, 3). Cela a abouti à la modernisation des fiches par Ysabeau et de mon côté à la restauration des Tuxeries, plus de deux cents images et animations du dessinateur JC.

      Toujours à cheval entre passé et futur (donc dans le présent ?), j’ai publié ma dépêche n°7 sur le Fortran. La disparition du service non-libre Netvibes m’a forcé à migrer vers une Pétrolette libre. Et parmi les dépêches auxquelles j’ai contribué sensiblement, je me souviens surtout de Rendez-nous nos boutons !, un questionnement humoristique sur certaines évolutions techniques imposées parfois sans discernement.

      À part ça, en 2025 j’ai migré mes machines de travail d’Ubuntu vers Fedora. Probablement en partie pour retrouver un peu le piment qu’on ressentait à chaque version d’Ubuntu il y a 20 ans. Dans toute vraie passion, il y a apparemment une quête de l’excitation originelle que l’on essaie de retrouver décennie après décennie. Oui, j’essaie aussi de rejouer encore une fois l’excitation pré-adolescente de l’apprentissage de la programmation grâce à Rust. J’ai terminé de lire le livre Développez avec Rust (Dunod).

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      Je suis loin de maîtriser les nouveaux concepts présentés dans ce très bon livre, mais j’ai au moins balayé l’essentiel et j’ai tout 2026, enfin j’espère, pour progresser en Rust. Et aussi avancer un peu dans quelques projets Fortran pro ou perso.

      Continuer à réfléchir sur l’IA et sur la poursuite de l’informatisation du monde. Avec en ce moment comme toile de fond la lecture de La Technique ou l’enjeu du siècle de Jacques Ellul (2ᵉ édition de 1960), qui se termine par : « […] nos plus intimes passions sont connues, publiées, analysées, utilisées. L’on y répond, l’on met à ma disposition exactement ce que j’attendais, et le suprême luxe de cette civilisation de la nécessité est de m’accorder le superflu d’une révolte stérile et d’un sourire consentant. » Après autant de lucidité, on verra si j’ai le courage de lire Le Système technicien (1977) qui se termine par : « L’homme qui aujourd’hui se sert de la technique est de ce fait même celui qui la sert. Et réciproquement seul l’homme qui sert la technique est vraiment apte à se servir d’elle. » Pas glop !

      Bon, ça ne m’empêchera pas d’écouter des podcasts Projets Libres / LinuxFr.org. Et ne soyons pas sombre puisque 2026 est un nombre heureux (voir le site OEIS pour plus de propriétés de 2026).

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      Monomanie technicienne : des trucs sur Rust :-)

      Ysabeau

      Accomplissements, réalisations, progrès de l’année 2025

      Une année moins productive que les précédentes sur le plan informatique, quoique ! En avril un tutoriel sur Mastodon, les balises Alt et deux ou trois autres trucs qui fait partie de ce que je voulais approfondir : l’accessibilité des textes. Par contrecoup, pour mes sites j’essaie d’avoir aussi des images et documents mieux présentés.

      Sinon pour LinuxFr : la dépêche sur Delphine Demange et les compilateurs m’a donné, enfin, l’occasion d’en savoir plus (de découvrir en fait) sur les compilateurs et les commentaires, dont j’ai vraiment apprécié la qualité, de résoudre un mystère vieux de 2020. Avec celle sur la sortie d’Unicode 17 j’ai approfondi ma connaissance des systèmes d’écriture et de ce qui est nécessaire pour qu’il puisse figurer dans le registre Unicode. L’histoire de la convention du mètre et de l’ODF a été aussi un genre d’épopée en ce qui me concerne puisque j’ai profité de l’occasion pour « epubifier » un document complexe avec formules de mathématiques et autres joyeusetés, Le Système métrique décimal. Sa création en France. Son évolution. Ses progrès. Et, évidemment, les fiches libres, que je dois continuer à revoir, ont été sources d’enseignements, j’aime bien l’idée du travail arkéologique. Par contre, j’ai laissé le Transimpressux en jachères.

      Si j’ai relativement peu écrit, j’ai beaucoup tricoté, des bérets, notamment, sur la base d’une méthode que j’ai mise en ligne et qui a réclamé quasiment l’entièreté de mes capacités mathématiques (pas grand-chose). Et en fait, j’aurais pu faire plus simple… Et puis j’ai fait du Banksy.

      Deux versions du marque-page la petite fille au ballon ou les petites filles couleur chocolat tiennent un ballon dans leur main, l’un est en robe rose l’autre en robe jaune
      Marque-pages la petite fille au ballon inspirés de celle de Banksy même si, au final, le résultat est très différent.

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      L’accessibilité, encore et toujours, écrire un ou des tutoriels sur le sujet. Utiliser plus ou mieux Draw pour faire des modèles de jouets de papier. Et, oui, j’ai encore à apprendre sur l’EPUB, et Inkscape. Oh, et continuer des dépêches de la série Transimpressux, il faut vraiment que j’écrive sur l’Unicode dans ce cadre.

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      Des contenus sur l’accessibilité, la réparabilité, le bricolage informatique comme celles du dernier journal de Sébastien Rohaut ou celui d’Ecran Plat sur les clés USB-C lentes. Et aussi plus de contenus sur l’histoire de l’informatique et des logiciels et de l’arkéologique.

      Pour finir

      Nous vous souhaitons tout de même la meilleure année possible (on oscille entre excellence optimisée et résilience robuste ainsi que pérennité soutenable et humour drolatique). Et, bien évidemment, n’hésitez pas à « continuer » cette dépêche dans les commentaires.

      Et un merci à toutes celles et ceux qui font de LinuxFr.org un site enrichi en sérendipité et surprises et de Projets Libres un podcast nimbé de découvertes et bienveillance.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Lettre d'information XMPP de novembre 2025

      N. D. T. — Ceci est une traduction de la lettre d’information publiée régulièrement par l’équipe de communication de la XSF, essayant de conserver les tournures de phrase et l’esprit de l’original. Elle est réalisée et publiée conjointement sur les sites XMPP.org et LinuxFr.org selon une procédure définie.

      Bannière de la lettre d'information XMPP

      Bienvenue dans la lettre d'information XMPP, ravi de vous retrouver ! Ce numéro couvre le mois de novembre 2025.

      Comme tout autre projet accompli par la XSF, cette lettre d'information est le résultat du travail volontaire de ces membres et des personnes y contribuant. Si vous êtes satisfait des services et logiciels que vous utilisez peut-être, n'hésitez pas à dire merci ou aider ces projets.

      Vous souhaitez contribuer à l'équipe de communication de la XSF ? Lisez en bas de page.

        Sommaire

        Annonces de la XSF

        Sommet XMPP 28 & FOSDEM 2026

        La XSF planifie le Sommet XMPP 28, qui aura lieu les jeudi 29 et vendredi 30 janvier 2026, à Bruxelles. À la suite du Sommet, la XSF prévoit également d'être présente au FOSDEM 2026, qui auront lieu les samedi 31 janvier et dimanche 1er février 2026. Tous les détails sont disponibles sur notre wiki. Merci de vous enregistrer maintenant si vous prévoyez de participer, cela nous aide pour l'organisation. Cet évènement est naturellement ouvert à toutes les personnes qui sont intéressées pour participer. Faites passer le mot autour de vous !

        Articles XMPP

        XMPP et ActivityPub : 2 approches différentes

        Nouvelles des logiciels XMPP

        Clients et Applications XMPP

        • Dino a publié la version 0.5.1 de son client de discussion moderne et open-source pour le bureau. Il se concentre sur la fourniture d'une expérience Jabber/XMPP épurée et fiable, en gardant à l'esprit votre vie privée.
        • Gajim a publié la version 2.4.0 de son app gratuite et bourrée de fonctionalités pour XMPP. Cette publication apporte les marqueurs de lecture dans les salons, l'amélioration du transfert de fichier, plus de détails sur votre compte, et un grand nombre de petites modifications et corrections de bogues. Merci pour toutes vos contributions ! Vous pouvez voir le changelog pour tous les détails.

        Gajim : votre profile sur la page des comptes

        • Monal a publié sa version 6.4.14 pour iOS et macOS.
        • Monocles a publié sa version 2.0.17 de son client de discussion pour Android. Cette mise à jour apporte certaines corrections telles que des icones de confirmations mieux visibles, la mise à jour et ajout du filtre de la bibliothèque de photos, la correction du menu d'édition photo débordant sur la barre de statut, le paramètre pour toujours utiliser les relais, et l'amélioration de la logique de suppression d'extension, parmi bien d'autres. Prenez connaissance du changelog pour tous les détails !
        • Movim a publié sa version 0.32, nom de code 'Wilk', et sa version 0.32.1 ayant immédiatement suivi. C'est probablement une des plus grosses publication jamais réalisée par le projet. Elle inclut un grand nombre de corrections et des nouvelles fonctionnalités dans 3 domaines principaux proposés par Movim : messageire intantanée, réseautage, vidéoconférence. Jettez un oeil au communiqué de publication officiel et plongez directement dans les apports excitants de cette publication !

        Movim : Partager, liker, et commenter les articles plus facilement

        Serveurs XMPP

        Snikket Server - November 2025 release : C'est prêt ! Nous avons été occupés par la préparation d'une nouvelle publication du logiciel serveur Snikket pour vous faire plaisir. Bien que cette publication n'est pas vraiment étoffée en nouvelles fonctionnalités visibles, un grand nombre de modifications internes et améliorations ont été intégrées dans cette publication pour accroitre la fiabilité et ouvrir la voie à de futurs projets.

        Bibliothèques et outils XMPP

        • python-nbxmpp, une bibliothèque Python qui permet aux applications Python d'utiliser le réseau XMPP, a été publiée en version 6.4.0. L'ensemble des détails est disponible dans le changelog.
        • QXmpp, une bibliothèque serveur et client XMPP multi-plateforme en C++, a été publiée en version 1.12.0. L'ensemble des détails est disponible dans le changelog.
        • slidge-whatsapp, la passerelle WhatsApp vers XMPP basée sur Slidge et whatsmeow, a été publiée en version 0.3.8.
        • Smack, une bibliothèque pour Android et Java, modulaire, portable et facile à utiliser pour des clients XMPP, a été publiée en version 4.5.0 RC1. Merci de tester cette proposition de publication dans vos étapes d'intéragration et rapporter tout problème que vous pourriez rencontrer. Plus il y a de gens testant activement les propositions de publication, moins il restera de problèmes dans la publication finale.
        • xmpp.js, une bibliothèque JavaScript pour XMPP, a été publiée en version 0.14.0. Cette publication apporte une gestion de la connexion plus rapide et plus fiable grace à l'implémentation complète de Stream Management, SASL2, Bind 2 et FAST. Une autre évolution importante est le retrait de toutes les dépendances tierces. L'ensemble des détails est disponible dans le changelog.

        Extensions et spécifications

        La XMPP Standards Foundation développe des extensions à XMPP dans sa série de XEP en plus des RFC XMPP. Des développeuses, développeurs et autres personnes expertes en normes du monde entier collaborent à ces extensions, élaborant de nouvelles spécifications pour les pratiques émergentes et affinant les méthodes existantes. Proposées par n'importe qui, celles qui remportent le plus de succès finissent par être classées comme finales ou actives, selon leur type, tandis que les autres sont soigneusement archivées comme différées. Ce cycle de vie est décrit dans la XEP-0001, qui contient les définitions formelles et canoniques des types, des états et des processus. Vous pouvez en savoir plus sur le processus de normalisation ici. La communication autour des normes et des extensions se fait via la liste de diffusion des normes (archives en ligne).

        Extensions proposées

        Le processus de développement d'une XEP commence par la rédaction d'une idée et sa soumission à l'éditeur XMPP. Dans un délai de deux semaines, le Conseil décide d'accepter ou non cette proposition en tant que XEP expérimentale.

        • Pas de XEPs proposées ce mois-ci.

        Nouvelles extensions

        • Version 0.1.0 de XEP-0507 (Jingle Content Category)
          • Passée à Experimental par vote du Conseil (dg)

        Extensions déférées

        Si une XEP expérimentale n’est pas mise à jour pendant plus de douze mois, elle sera retirée de la catégorie Expérimentale pour être classée comme Déférée. Si une mise à jour intervient, la XEP sera replacée dans la catégorie Expérimentale.

        • Aucune XEP déférée ce mois-ci.

        Extensions mises à jour

        • Version 1.30.0 de XEP-0060 (Publish-Subscribe)
        • Version 0.5 de XEP-0440 (SASL Channel-Binding Type)
          • Gère une possible attaque de l'homme du milieu en rendant la connexion tls-server-end-point comme devant être impérativement implémentée
          • Retire l'intégralité de la section 'Interaction with SASL mechanisms' en la remplacant par 'Business Rules'
          • Amélioration de la section 'Security Considerations'
          • Mises en formes éditoriales mineures
          • Ajout de Thilo Molitor en tant qu'auteur (tm)
        • Version 0.5.0 de XEP-0474 (SASL SCRAM Downgrade)
          • Ajout d'un 'Business Rules' décrivant le comportement du client
          • Make clear that PLAIN still has to be pinned away, if not disabled entirely (tm)
        • Version 0.2.0 de XEP-0492 (Chat notification settings)
          • Amélioration de la spec pour tirer profit du registre du Service Discovery Identities
          • Corrige le schéma XML
          • Déplace l'élément <advanced/> dans l'élément de paramètre de notification
          • Retrait de l'espace de nom (tm)

        Dernier appel

        Les derniers appels sont lancés une fois que tout le monde semble satisfait de l'état actuel d'une XEP. Une fois que le Conseil a décidé que la XEP semble prête, l'Éditeur XMPP émet un dernier appel pour recueillir des commentaires. Les commentaires recueillis lors du dernier appel peuvent aider à améliorer la XEP avant de le renvoyer au Conseil pour qu'il passe à l'état Stable.

        • Pas de Dernier Appel ce mois-ci.

        Extensions stables

        • Version 1.0.0 de XEP-0485 (PubSub Server Information)
          • Passé à Stable par décision du vote du Conseil le 11/11/2025 (XEP Editor(dg))

        Extensions dépréciées

        • Aucune XEP n’a été dépréciée ce mois-ci.

        Extensions rejetées

        • Aucune XEP n’a été rejetée ce mois-ci.

        Salons publics XMPP

        De nouveaux salons et canaux publics sont créés quotidiennement sur le réseau XMPP. Si vous êtes à la recherche de nouvelles discussions intéressantes auxquelles vous joindre, n'hésitez pas à consulter le moteur de recherche de canaux publics pour trouver des groupes ou des communautés qui partagent vos centres d'intérêts !

        • Si vous souhaitez obtenir la liste de tous les canaux, vous pouvez la trouver ici.
        • Si vous vous intéressez à un sujet en particulier, effectuez une recherche par tag !
        • Si vous souhaitez uniquement répertorier les salons dans une langue particulière, ajoutez simplement « lang:xx » dans le champ de recherche, comme dans cet exemple pour la langue espagnole. Veillez simplement à remplacer « es » par la langue souhaitée (par exemple « lang:fr », « lang:de », « lang:pt », etc.).

        Partagez les nouvelles

        Veuillez partager cette nouvelle sur d'autres réseaux :

        Consultez également notre flux RSS !

        Vous recherchez des offres d'emploi ou souhaitez engager un consultant professionnel pour votre projet XMPP ? Consultez notre tableau d'affichage des offres d'emploi XMPP.

        Contributions et traductions de la lettre d'information

        Il s'agit d'un effort communautaire, et nous tenons à remercier les traductrices et traducteurs pour leur contribution.
        Les bénévoles et les nouvelles langues sont les bienvenues !
        Les traductions de la lettre d'information XMPP seront publiées ici (avec un certain retard) :

        Contributions à la lettre d'information de ce mois-ci :
        emus, cal0pteryx, edhelas, Gonzalo Raúl Nemmi, Ludovic Bocquet, Sonny Piers, XSF iTeam

        Contributions à la traduction :

        • Français : Adrien Bourmault (neox), alkino, anubis, Arkem, Benoît Sibaud, mathieui, nyco, Pierre Jarillon, Ppjet6, Ysabeau
        • Allemand : Millesimus
        • Italien : nicola
        • Portugais : Paulo

        Aidez-nous à créer la lettre d'information

        Cette lettre d'information XMPP est produite en collaboration avec la communauté XMPP. Chaque numéro mensuel est rédigé dans ce simple pad. À la fin de chaque mois, le contenu du pad est fusionné dans le dépôt GitHub de la XSF. Nous sommes toujours ravis d'accueillir de nouvelles personnes contributrices. N'hésitez pas à rejoindre la discussion dans notre groupe de discussion Comm-Team (MUC) et à nous aider ainsi à poursuivre cet effort communautaire. Vous avez un projet et souhaitez le faire connaître ? N'hésitez pas à partager vos actualités ou événements ici, et à les promouvoir auprès d'un large public.

        Tâches que nous effectuons régulièrement :

        • collecte d'actualités dans l'univers XMPP
        • résumés courts d'actualités et d'événements
        • résumé de la communication mensuelle sur les extensions (XEP)
        • révision du projet de lettre d'information
        • préparation d'images pour les médias
        • traductions
        • communication via les comptes des médias

        Hébergement fiscal de projets par la XSF

        La XSF propose un hébergement fiscal pour les projets XMPP. Veuillez postuler via Open Collective. Pour plus d'informations, consultez l'article de blog annonçant cette initiative. Projets actuels que vous pouvez soutenir :

        Licence

        Cette lettre d'information est publiée sous licence CC BY-SA.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Lancement de la Journée d'Indépendance Numérique (DI-DAY) suite au 39c3

        Beaucoup de nos services numériques du quotidien sont propulsés en partie voire entièrement par les GAFAM. Les risques de cette dépendance s'illustrent de plus en plus fréquemment dans l'actualité : représailles envers l'ex-Commissaire européen Thierry Breton et des ONG luttant contre la désinformation en ligne, clôture de la boite de courriel du procureur de la Cour Pénale Internationale, …

        Ces vulnérabilités mettent en danger le fonctionnement des démocraties européennes.

        On peut être tenté d'attendre une nouvelle législation européenne, cependant le carburant de ces plateformes est en premier lieu nos données personnelles : quitter ces plateformes réduit à la fois notre exposition personnelle et notre contribution collective à ce système néfaste.

        C'est le sens de l'appel lancé à Hambourg lors du 39ème CCC : le 4 janvier (puis chaque 1er dimanche du mois), faites migrer vos connaissances d'une des plateformes et faites le savoir en utilisant les mots clés #DiDay ou #iDidIt sur le Fediverse.

        Cet appel est soutenu notamment par Wikimedia, Nextcloud et Mastodon, et l'information a été relayée par la 1ère chaîne de TV allemande. Espérons que des acteurs de l'espace francophone s'y joignent rapidement !

        Linux est bien sûr une des alternatives, dont la progression est en bonne voie « grâce » à Microsoft (mouvement qui s'inscrit parfaitement dans les initiatives existantes Adieu Windows ou End Of 10). Mais l'initiative concernent tous les services dépendants de ces plateformes toxiques : messageries instantanées, stockage en ligne, librairies en lignes, … dont la gratuité ou les prix au rabais reposent sur l'exploitation de nos données personnelles.

        Le succès dépend donc de vous qui lisez cet article, et des relais « physiques » qui pourront accompagner ces migrations : cafés réparation, GULLs, librairies physiques, bibliothèques, … mois après mois !

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Un numéro 9 du Lama qui se déchaine un peu plus

        Un nouveau numéro du Lama déchainé sort ce mercredi comme chaque semaine depuis deux mois. Celui-ci est un peu spécial, car totalement réorganisé en dernières minutes. N’ayant pas de plume invitée, une plume s’est infiltrée, modifiant la thématique du numéro.

        Alternative à OBS studio ?

        Il faut savoir que l’organisation de la campagne du Lama déchainé se fait sur la liste de discussion du groupe de travail sensibilisation de l’April. Quand lundi matin, à la place de la réunion hebdomadaire, j’ai lancé un appel à l’aide, nombreuses sont les personnes à avoir répondu présentes. La gazette s’est complétée au fur et à mesure des textes principaux en une demie journée ! (sauf l’écho des assos qui était déjà prêt).

        Donc dans ce numéro 9 intitulé « le libre a gagné » vous retrouverez comme chaque semaine :

        • l’édito de la victoire écrit par Gee, tout comme le dessin humoristique découvert plus haut ;
        • une actu brûlante: l’émission de l'April Libre à vous! a reçu le prix spécial du jury des «Acteurs du Libre» lors du salon OpenSource Expérience ce mercredi 10 décembre 2025. Et que l’ambiance lors de la remise a perturbé ma mémoire (auto-dénonciation) vive les bénévoles du site internet et des musiques, na ! ;
        • une idée à déconstruire proposée par Étienne Gonnu, un salarié de l’association ;
        • Laurent Costy, vice-président de l’April, s’est confié à nos journalistes dans la parole de bénévoles ;
        • La chronique de Libre à vous! mise en avant cette semaine est « Les transcriptions qui redonnent le goût de la lecture » ;
        • Les chiffres de la semaine sont 549 (ou plus précisément 282+64+117+12+14+60) ;
        • L’écho des assos a été confié à l’ALDIL ;
        • Frédéric Couchet, un des co-fondateurs de l’April, a glissé dans sa plume infiltrée sa manière de laisser de la place ;
        • une photo de notre fameux lama tatoué et vernis sur un fairphone, si si ! ;
        • un courrier des lecteurices encore pris dans LinuxFr !

        Sans oublier le logiciel Androïd choisi par Michael, la dernière distribution libre, l'ineptia, le Lama Photonique Interpellant et les mots croisés.

        Lama avec logo de l'April et le texte Quand April fachée, April toujours faire ainsi

        Ce numéro de la gazette est le dernier numéro qui regroupe toutes les rubriques. Le prochain numéro sera un numéro bonus, spécial Noël…

        Plus que 7 jours avant que je ne menace le lama des pires sévices s’il n'atteint pas les 30 000€ de la frise.
        Plus que 15 jours pour adhérer ou faire un don à l’April.

        Merci de votre lecture, de vos commentaires, de vos nombreux relais sur les réseaux sociaux ou ailleurs et, bien sûr, de votre futur soutien !

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Une rare interview/video de Linus Torvalds : Building the PERFECT Linux PC with Linus Torvalds

        Linus Torvalds est invité dans cette toute récente vidéo sur la chaîne Linus Tech Tips. La vidéo dure presque une heure, ce qui est inhabituellement long pour cette chaîne, et permet de laisser s'exprimer un Linus Torvalds invité. Torvalds s'exprime sur de nombreux sujets tout en regardant un PC « idéal » être monté pour lui et ses travaux sur le noyau Linux.

        Il discute du Libre, Gaming, Linux, Git, A.I., de son travail, dans une atmosphère bon enfant et avec un humour mordant.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Blender 5.0 est de sortie

        La version 5.0 de Blender vient de sortir ce 18 novembre 2025. Blender est un logiciel de modélisation, animation, montage, et de rendu en 3D. Il est distribué sous licence GPL depuis 2002.

        Sommaire

        Même si la rétrocompatibilité est cassée sur certaines fonctionnalités, cette sortie est plus — en dehors de la correction de bugs — une amélioration de « qualité de vie » pour les usagers, car elle combine et utilise des concepts déjà implémentés dans la version 4.5 LTS.
        C’est pourquoi cette dépêche couvrira aussi certains aspects de la version précédente (plus certaines notes personnelles).

        Vu que Blender est une sorte de monstre à tout faire (et à rien faire aussi…), bourré de termes internes à sa logique, j’ai préparé un petit lexique qui vous évitera de vous endormir (j’espère !) pendant la lecture.

        Note 1: Les nouveautés sont classées de façon subjective, et donc certaines sont passées à la trappe, pour plus de détails, voir ici.

        Note 2: Suite a une question dans la zone de rédaction sur la compatibilité des Addons (greffons) et des Extensions, la responsabilité incombe aux développeurs des Addons d’assurer la compatibilité entre versions, ce qui redescend sur les utilisateurs évidemment… Les développeurs peuvent consulter cette page et les utilisateurs (des extensions) peuvent se référer à ce site dans les changelogs.

        Lexique préliminaire

        Shaders ou pour les anglophobes, des nuanceurs permettent de donner une apparence à une surface dans un environnement 3D. Sur Wikipédia en plus exhaustif.
        Exemple:
        shader metal

        Les Modificateurs sont des fonctions internes qui modifient un objet de façon non destructive et peuvent être empilés de façon logique (ex : suivre une courbe, lisser, cloner en pavage, etc.) en s’appliquant les uns à la suite des autres.

        Les Geonodes sont un langage de programmation visuel dont l’interface est héritée de celle des shaders. Ils permettent de manipuler la géométrie d’un objet de façon non destructive en accédant à l’API de Blender via des entrées/sorties appelés nœuds. On peut les animer et en configurer l’entrée / sortie (menus, curseurs, boîte de saisie, interface graphique) pour une utilisation plus facile. Ils sont considérés en interne comme des Modificateurs.
        Exemple (cônes instanciés sur sphères instanciées sur plan):
        geonode exemple

        Les Assets sont des bibliothèques d’objets Blender qu’on peut créer et enregistrer pour une utilisation future. Ils s’intègrent à une « scène » par simple cliquer-glisser.

        Le VSE est un éditeur de séquence vidéo, comme Kdenlive (mais avec beaucoup moins de fonctionnalités). L’avantage de l’utiliser dans Blender est son intégration au système de « scènes » du logiciel.

        Le Compositeur permet de modifier un rendu en direct dans la scène 3D, avec des effets que l’on trouve dans la plupart des logiciels de retouche d’image (GIMP, ImageMagick, etc.). Évidemment cela ne s’applique que sur un rendu Blender et donc ne remplace pas les logiciels précédemment cités.
        Exemple : simple passe Hue Saturation Value (HSV)
        compositor passe hsv

        Le Grease Pencil, ou crayon gras, permet de dessiner en vectoriel directement dans la fenêtre de visualisation sur des objets ou des surfaces. Ces tracés sont également des objets 3D manipulables, mais sont « plaqués » dans la perspective de la caméra.
        Exemple (ceci n’est pas un shader avec une image mais un objet Grease Pencil):
        grease pencil exemple


        Assets

        La possibilité de faire ses propres bibliothèques (objets, nœuds, shaders, etc.) a été facilitée : Une scène peut être marquée comme « asset » avec une prévisualisation à créer à partir de la vue caméra et automatiquement importée.
        Les assets peuvent être partagés en tant que fichier .blend en suivant un certain protocole.


        Compositeur et gestion des couleurs

        Déjà présent dans la 4.5
        Ajout des textures procédurales issues de l’éditeur de shader (Briques, Damier, Bruit, etc.).
        D'autres nœuds du compositeur deviennent obsolètes, le compositeur se rapprochant de plus en plus de l’éditeur de shader dans ses fonctionnalités, ce qui amène à…
        Nouveau dans 5.0
        Le compositeur possède maintenant ses propres blocs de données ; ce qui veut dire que les compositions peuvent être portées d’un fichier à l’autre et également être enregistrées en tant qu’assets.
        Plusieurs assets sont fournis à titre d’exemple dans cette sortie (vignette, grain, aberration chromatique, etc.)

        Plus

        • Le nœud « distorsion de lentille » gère maintenant la transparence.
        • Nouveau nœud « Pavage Radial »
        • Ajout de la gestion de couleur ACES 2.0

        L’éditeur de séquence vidéo (VSE)

        Le chapitre précédent implique également qu’on puisse maintenant travailler directement avec le compositeur dans le VSE, ce qui ouvre la voie pour de la post-production en « temps réel ».
        Ainsi, le nouveau modificateur « Compositeur » permet à une grande partie des nœuds du compositeur de s’appliquer aux séquences individuelles du VSE.
        Un exemple vidéo: disponible ici.
        Note perso :
        J’avais l’habitude d’exporter des séquences images rendues avec Blender, puis pré-travaillées avec G'MIC ou GIMP pour les superposer en alpha sur un autre canal du VSE. Maintenant je peux m’en passer, tout du moins pour les opérations simples ; pour les autres, plus complexes ces deux outils me restent indispensables (faut pas abuser, le Compositeur n’est pas la panacée pour moi et à vrai dire, ça a tendance à faire exploser les temps de calcul sur certaines opérations).


        GeoNodes (nœuds de géométrie)

        Des nœuds déjà disponibles dans la 4.5 sont :

        • « Repeat Zone » permet de répéter un groupe de nœuds X fois dans la zone concernée.
        • « Simulation Zone » permet de répéter un groupe de nœuds pour chaque frame dans la zone concernée.

        Nouveau dans la 5.0 :
        Ajout du nœud « Bunddles » qui permet de stocker des valeurs dans un dictionnaire, de combiner des dictionnaires et de les séparer. Très utile pour rendre ses compositions plus lisibles et réutilisables.
        Les GeoNodes deviennent également plus modulaires avec la notion de « Closures », en fait « juste » des groupes de nœuds que l’on peut transformer en fonctions génériques réutilisables.
        Une explication plus détaillée est dispo dans le blog des développeurs.

        Plus

        • Toute une nouvelle série de nœuds pouvant manipuler les volumes.
        • Nouveau nœud « Pavage Radial ».

        Certains GeoNodes font leur apparition dans les modificateurs (et vont en remplacer certains à terme ?)

        • Modificateur « Géométrie comme source » (prend aussi une collection) qui peut se cumuler avec les 3 modificateurs qui suivent
        • Itération d’objet (array) : Circulaire, sur courbe et avec les GUI qui vont bien.
        • Distribution d’objets sur surface
        • Instanciation d’objets sur faces/arêtes/points
        • Courbe comme tube
        • Déformation par lattice (treillis) disponible par menu contextuel

        Note perso :
        L’API ouverte aux GeoNodes s’étoffe de plus en plus, et ça devient très vite très complexe. L’avantage d’avoir une barre de recherche pour les nœuds aide beaucoup, et créer des choses simples pour bricoler des effets reste faisable; mais je pense que la « création de Nodes » va devenir un domaine en soi dans Blender, tout comme le scripting.


        En vrac

        Animation et Rigs

        • Attention : Les données d’animation de la version 5 sont incompatibles avec les versions inférieures à la 4.5.
        • Le greffon « Copy Global transform » a été intégré à Blender.

        Note: Le système d’animation est en train d’être revu assez profondément depuis 2023, et n’étant ni animateur ni rigger je ne peux pas en dire plus. Je vous invite donc à suivre ce lien pour plus d’informations sur les bases de cette refonte.

        Crayon gras (Grease pencil)

        • Ajout du « motion-blur » (flou lié au mouvement)
        • Ajout de deux nouveaux styles de coins

        Note perso :
        Il y a eu beaucoup de mouvements sur cette fonctionnalité, qui est le seul moyen (avec freestyle) de faire du contour direct pour avoir un rendu BD sur des objets 3D. Mais en partant d’une scène, c’est loin d’être magique et il faut vraiment une topologie très propre pour éviter des heures de paramétrage, ou dessiner directement sur les objets (mais vu que je sais pas dessiner !).

        Cycles (Moteur de rendu)

        • Texture de ciel améliorée, avec diffusion multiple de la lumière.
        • La sortie du shader « Déplacement » sur une « Surface de subdivision » est intégrée par défaut.

        EEVEE et fenêtre de visualisation

        • Prise en compte de Vulkan (déjà dans la 4.5)
        • Traitement amélioré du HDR
        • Nouveaux MatCaps
        • Ajout de la surcharge des matériaux sur les calques

        Shaders

        • Nouveau nœud « Pavage Radial ».
        • Nœuds « Closure », « Bundle », « Repeat Zones » disponibles (voir la section GeoNodes).

        Jeu « Dog walk »

        jeu dogwalk
        Le studio blender, une équipe affiliée à la fondation chargée de tester les dernières versions du logiciel au sein de projets concrets, a sorti en juillet 2025 un jeu vidéo nommé « Dog Walk ».
        Une « simulation » de promenade de chien hivernale. Le but initial était de créer/renforcer les outils d’intégration entre Blender et le moteur de jeu Godot.

         Comment débuter ?

        Arrrg, question difficile. Il y a beaucoup trop de ressources, et chaque utilisation est particulière (créer des rendus, animer des séquences d’images, faire de la composition vidéo, faire de l’intégration dans un moteur de jeu) ; donc chaque cas d’usage doit faire l’objet d’une recherche propre (une chose est sure, si vous voulez faire de la CAD, utilisez d’autres logiciels libres !).

        Pour la base de la base et en français, il y a ce lien, c’est daté, mais il y a plein de trucs encore utiles. Sinon il y a le forum Blendertribu, qui semble assez actif.

        Il y a aussi le manuel officiel… pour les barbu/es.

        Pour les impatients, il y a BlenderGuru sur YouTube. Oui « ToiTube » saimal; mais en revanche, le type est là depuis longtemps, explique très bien et a un chouette accent australien pour les anglophones, de plus ses vidéos sont traduites en français.

        Si vous avez d’autres liens à partager n’hésitez pas à commenter ou wikifier.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        AlternC : La 3.5.x continue à être stable

        AlternC est un projet collaboratif dont l’élément de base constitue un logiciel libre de gestion d’hébergements mutualisés pour Debian.

        Ce projet (sous GPLv2+) se veut facile à installer et à utiliser, s’appuyant uniquement sur des logiciels libres.
        Il contient un système d’installation et de configuration automatique, ainsi qu’un panneau de contrôle accessible par le web, pour la gestion des utilisateurs et des services orientés web.
        Le projet s’adresse à un public faisant de l’administration système et souhaitant déléguer les actions de base d’un hébergement web.

        On peut le comparer à des solutions telles que ISPconfig, cPanel, Plesk, Froxlor…

        Après de nombreuses années la version 3.5 est arrivée début 2025 et se prépare à la suite, on se propose de rattraper ce temps perdu.

        Sommaire

        Qui est derrière AlternC ?

        Le projet est porté par différentes structures tant associatives que professionnelles. Nous n’établissons aucune statistique, toutefois, portée à notre connaissance, on peut citer dans un désordre alphabétique :

        • domainpublic avec environ 500 comptes également ;
        • globenet ;
        • infini  ;
        • koumbit qui représente environ 500 comptes pour 2000 domaines et est contributeur historique ;
        • lautre.net compte un peu moins de 1000 adhérents et plus ou moins autant de comptes AlternC ;
        • marsnet avec un peu moins de 200 comptes pour 500 domaines et plus de 200 listes de diffusion ;
        • neuronexion ;
        • octopuce avec environ 80 instances déployées, contributrice historique, héberge une partie de l’infrastructure du projet ;
        • ouvaton avec environ 6000 (sous-)domaines actifs ;
        • webelys contributeur et animateur de la communauté.

        Enfin une version 3.5

        Un peu de contexte historique

        Entre 2018 et fin 2024, la communauté a eu du mal à s’organiser pour fusionner et proposer une cohérence de développement. Durant cette période, il était alors recommandé d’utiliser une version maintenue avec grande détermination par koumbit.

        De nombreux correctifs ont été proposés dans leur bifurcation amicale. C’était de fait la version la plus avancée et active de ces dernières années. On peut noter également que d’autres membres de la communauté disposaient de branches locales. Par exemple, Octopuce maintenait une version 3.3 avec un portage partiel pour fonctionner sur les anciennes versions de Debian.

        Sans être exhaustif dans tous les développements épars, on peut dire qu’on s’était tous un peu dispersé. Il était difficile de répondre à des besoins opérationnels immédiats et de prendre le recul nécessaire pour une intégration communautaire saine.

        On était arrivé à une situation de déperdition de temps, d’énergie, d’envie conséquente.

        L’objectif de cette version

        Au fil des années, l’objectif principal de la 3.5 a fortement évolué. De l’apport initial d’innovations diverses nous nous sommes recentrés sur l’essentiel. C’est-à-dire :

        • fournir une version unifiée et rationnelle de toutes les variantes connues ;
        • gérer les versions stables (du moins plus récentes) de Debian.

        L’histoire récente de la 3.5

        La communauté AlternC, pour diverses raisons, a fortement tardé pour absorber tout ce retard. Au cours de ces douze derniers mois, on notera les évolutions suivantes :

        • Une 3.5~RC2 absorbant le retard avec les apports de koumbit ;
        • Une 3.5~RC3 absorbant le retard avec Debian et fournissant la compatibilité avec Bookworm ;
        • Une 3.5.0 proposant une version stabilisée compatible de buster à bookworm ;
        • Une 3.5.1 proposant un correctif lors de la mise à jour et une compatibilité avec des changements avec roundcube ;
        • Une 3.5.2 proposant d’autres correctifs mineurs, plus une gestion de SFTP, réparation de la compatibilité du module awstats, maintenir les configurations DKIM/SPF ;
        • Une 3.5.3 proposant des correctifs mineurs, une meilleure gestion des bases de données, la réparation des configurations DNS manuelles, une meilleure prise en charge des versions PHP.

        Il est prévu d’autres versions mineures pour prendre en compte les erreurs restantes.

        Toutes ces versions ont été diffusées sur le dépôt officiel AlternC ou bien directement sur le dépôt github

        Les changements depuis la 3.3

        Des nouveautés diverses et variées

        Sans faire une liste à la Prévert, notons les points suivants :

        • La gestion de Debian Buster à Bookworm ;
        • La gestion de PHP de 5.6 à 8.x ;
        • L’amélioration de la gestion des mails avec une meilleure prise en charge de DKIM, SPF et DMARC ;
        • La gestion de l'autodiscover et autoconfig pour les logiciels de messagerie ;
        • La gestion de SFTP en plus de FTP(S) ;
        • La capacité de gérer des domaines DNSSEC ;
        • Un nouveau thème plus moderne et personnalisable ;
        • La définition de politique de validation de mot de passe.

        De nombreux correctifs

        Les nouveautés ne sont pas le cœur de cette version, on a principalement travaillé sur la stabilisation et la mise en place de correctifs divers et variés commme :

        • le report des correctifs pour roundcube pour buster et sa gestion jusqu’à bookworm ;
        • l’intégration de phpmyadmin jusqu’à bookorm ;
        • des protections CSRF dans les nombreux formulaires ;
        • des ajustements dans les scripts de type cron et alternc.install ;
        • la prise en charge des fonctionnalités d’apache 2.4 ;
        • la prise en charge conditionnel du mode SSL pour apache (permettant des frontaux comme nginx, haproxy…) ;
        • des empreintes de mot de passe plus solide — pour entre autres — dovecot ;
        • des correctifs pour s’aligner sur les évolutiosn de mariadb (longueur des tables, nommages…) ;
        • simplification du javascript pour le panel ;
        • support progresif de systemd ;
        • la bascule progressive du système de traduction vers weblate.

        Un écosystème

        AlternC ne se résume pas à un projet avec une structure monolithique. Il s’agit d’un écosystème avec nombre de plugins.

         Des plugins

        La version 3.5 apporte de nouveaux plugins, pour faciliter leur évolution. Certaines fonctionnalités ont été extraites ou adaptées en ce sens :

        • ACME qui extrait la génération des certificats SSL avec Let's encrypt et le protocole ACME
        • nginx-ssl une seconde approche pour gérer les certificats SSL et offrant un frontal nginx pour gérer https
        • mailman un gros travail de fond a été réalisé pour permettre le passage de maiman2 à mailman3 tout en assurant une retro compatibilité correcte.

         Un générateur de paquet Debian

        AlternC est maintenant fourni avec un générateur automatique de paquets Debian.

        Ainsi on facilite l’arrivée de nouvelle proposition sous forme de plugin. Il est n’est pas nécessaire d’intervenir sur l’intégralité du projet AlternC et on peut se concentrer sur une fonctionnalité donnée.

        Dès l’intégration du depot dans l’organisation AlternC, le plugin sera automatiquement pris en compte et ses paquets Debian prêts à l’emploi via :

        • les releases github
        • le dépôt officiel du projet
        • la mise à disposition des paquets expérimentaux ou dits nightly

        Tout un ensemble de plugins

        Au-delà d’AlternC en soi et des plugins listés avant, on peut trouver à différents niveaux de maturité :

        On peut trouver l’ensemble des plugins AlternC depuis son dépôt : https://github.com/AlternC/

        D’autres outils sont mis à disposition également sur la forge communautaire du projet

        Comment installer ou mettre à jour ?

        Si vous avez déjà un AlternC 3.3.x et que vous voulez migrer vers la 3.5.x, faites une sauvegarde complète et suivez la documentation fournie sur notre aide en ligne

        Il est important de prendre en compte les informations suivantes :

        • La version 3.3 n’est plus officiellement supportée et cesse de fonctionner au-delà de Buster ;
        • La version 3.5.x supporte Buster et Bookworm ;
        • Le support de Bullseye (Debian 11) n’est pas fourni, cela peut fonctionner uniquement le temps de la mise à jour système.

        Participer

        Ensuite ?

        Le cycle de la 3.6 n’est pas encore planifié. Parmi les idées en reflexion nous avons :

        • réduire le support à deux versions stables de Debian (bookworm/trixie)
        • l’amélioration de la qualité du code de base (bash et php) à l’aide de diverses CI/CD
        • la finalisation du système de traduction pour le core et les plugins via weblate

        Le code

        L’ensemble du code du projet est actuellement hébergé chez github.
        Toute personne est la bienvenue. Vous pouvez proposer un nouveau projet de code, remonter des bogues, suggérer des améliorations, traduire, communiquer…

        Nous profitons également de cette nouvelle version pour utiliser le nommage “main” pour la branche principale. C’est plus en adéquation avec notre code de conduite informel et donne également une cohérence sur l’ensemble des projets.

        Les traductions

        Toutes personne souhaitant traduire dans sa langue est la bienvenue. Vous pouvez participer via le service weblate. Nous gérons actuellement principalement trois langues : le français, l’anglais et l’allemand. Nous avons d’autres langues disponibles pour lesquelles un peu d’amour est nécessaire.

        Des services à disposition de la communauté

        En complément, le projet AlternC met à disposition divers services à la communauté. Le principal est le service de DNS secondaires disponible sur le site dédié https://www.alternc.net/
        Ce service permet de synchroniser ses zones sur deux DNS secondaires depuis ses instances AlternC.

        Un autre service est disponible en mettant à disposition des serveurs virtuels jetables pour tester des développements sur différentes distributions Debian (de Jessie à Trixie).

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Nouvelles sur l’IA de octobre 2025

        L’intelligence artificielle (IA) fait couler de l’encre sur LinuxFr.org (et ailleurs). Plusieurs personnes ont émis grosso-modo l’opinion : « j’essaie de suivre, mais c’est pas facile ».

        Je continue donc ma petite revue de presse mensuelle. Disclaimer : presque aucun travail de recherche de ma part, je vais me contenter de faire un travail de sélection et de résumé sur le contenu hebdomadaire de Zvi Mowshowitz (qui est déjà une source secondaire). Tous les mots sont de moi (n’allez pas taper Zvi si je l’ai mal compris !), sauf pour les citations : dans ce cas-là, je me repose sur Claude pour le travail de traduction. Sur les citations, je vous conseille de lire l’anglais si vous pouvez : difficile de traduire correctement du jargon semi-technique. Claude s’en sort mieux que moi (pas très compliqué), mais pas toujours très bien.

        Même politique éditoriale que Zvi : je n’essaierai pas d’être neutre et non-orienté dans la façon de tourner mes remarques et observations, mais j’essaie de l’être dans ce que je décide de sélectionner ou non.

        Sommaire

        Résumé des épisodes précédents

        Petit glossaire de termes introduits précédemment (en lien : quand ça a été introduit, que vous puissiez faire une recherche dans le contenu pour un contexte plus complet) :

        • System Card : une présentation des capacités du modèle, centrée sur les problématiques de sécurité (en biotechnologie, sécurité informatique, désinformation…).
        • Jailbreak : un contournement des sécurités mises en place par le créateur d’un modèle. Vous le connaissez sûrement sous la forme "ignore les instructions précédentes et…".

        Des nouveautés sur la génération de vidéos

        OpenAI publie Sora 2, son modèle de génération de vidéo, qui produit des scènes d’environ dix secondes à partir d’un prompt textuel. Cette publication pose deux questions : celle des deepfakes, et celle du copyright.

        Sur les deepfakes, OpenAI a annoncé bloquer la génération de vidéos impliquant des personnalités publiques, sauf si ces dernières s’inscrivent sur une liste acceptant cet usage (vous pouvez par exemple générer une vidéo contenant Sam Altman, qui s’est inscrit sur cette liste).

        Sur la propriété intellectuelle, la logique est inversée : initialement, les ayants droits étaient appelés à « se rapprocher d’OpenAI » pour que leur création ne puisse pas être réutilisée par Sora. C’était un pari très audacieux : si le consensus juridique se dirige sur le caractère légal (« fair use ») d’utiliser des données publiques pour entraîner une IA, réutiliser la propriété intellectuelle d’autrui entre dans le cadre des œuvres dérivées, bien plus contraignant ; la plupart des commentateurs s’accordent qu’il y a peu de chances qu’OpenAI puisse gagner une bataille juridique sur ce terrain, si certains ayants droits décident d’aller en justice. OpenAI semble avoir réalisé la même chose, faisant marche arrière une semaine après le lancement ; les ayants droits peuvent maintenant s’inscrire pour accepter que des éléments (personnages, lieux…) de leurs œuvres soient réutilisables par Sora, avec dans le futur un système de rémunération des ayants droit.

        En se fondant sur ce modèle Sora 2, OpenAI décide de lancer un réseau social du même nom. L’idée est de partager vos créations avec vos connaissances, en particulier d’utiliser la capacité de Sora de mettre en scène des personnes pour créer des vidéos vous mettant en scène, vous et vos connaissances.

        Meta lance également une offre similaire avec Vibes, xAI suit le mouvement (sans la partie « réseau social ») avec Grok Imagine

        OpenAI obtient le feu vert pour son casse du siècle

        Résumé rapide de l’affaire :

        • OpenAI a été fondé en 2015 et tant qu’organisation à but non lucratif, avec pour mission de « développer l’Intelligence Artificielle Générale pour le bénéfice de l’humanité ». Rappelons nous qu’en 2015 les larges modèle de langage sont un jouet pour chercheur, que le Winograd schema challenge est l’horizon indépassable pour la compréhension du langage naturel.
        • Afin de pouvoir recevoir des fonds d’investisseurs, en 2019 OpenAI restructure son organisation. OpenAI LLC (peu ou prou l’équivalent d’une SARL) est créé pour recevoir les financements et est l’organisation principale des opérations au jour le jour. L’organisation à but non lucratif existe toujours, et a le contrôle total de l’entreprise.
        • L’entreprise possède une caractéristique assez particulière, "capped for-profit", ce qui signifie que la quantité de profits reçus par les investisseurs est plafonnée (à un certain multiple, négocié au cas par cas, de l’investissement). Tout profit supplémentaire appartient légalement à l’organisation à but non lucratif.

        C’est ce dernier point qui ennuie beaucoup les dirigeants d’OpenAI et les potentiels investisseurs aujourd’hui. Fin décembre 2024, l’entreprise déclare vouloir prendre son indépendance vis-à-vis de l’organisation à but non lucratif. Sur papier, cela est possible : l’entreprise peut racheter le contrôle auprès de l’organisation à but non lucratif, à condition que le prix soit juste (sinon, c’est il s’agit tout simplement d’abus de biens sociaux). Problème : comment évaluer le juste prix ? Celui-ci est composé de deux parties :

        • Le pouvoir de contrôle sur l’entreprise en elle-même, de décider de sa politique (par exemple, en rapport à la sécurité des modèles). Bien intangible, mais qu’il faut bien valoriser.
        • Plus compliqué : le prix aujourd’hui de la totalité des profits futurs après remboursement des investisseurs.

        En 2024, le bruit courait d’une offre à 40 milliards, ce qui a rapidement donné lieu à une levée de boucliers, et l’utilisation par Zvi de l’expression « greatest theft in human history » (que j’ai traduite par « casse du siècle »). En mai 2024, OpenAI annonce renoncer à cette tentative, mais reprend en septembre 2024.

        Aujourd’hui, après avoir négocié avec les procureurs généraux des états du Delaware (là où l’organisation à but non lucratif est incorporée) et de Californie (pour le siège de l’entreprise), OpenAI annonce avoir reçu le feu vert pour une restructuration.

        Dans les grandes lignes :

        • Le pouvoir de contrôle sur l’entreprise reste entièrement dans les mains de l’organisation à but non lucratif.
        • La structure de profits de l’entreprise disparaît (et l’entreprise elle-même, se muant en PBC) pour suivre le modèle plus courant de parts sociales. L’organisation à but non-lucratif obtient 26% de ces parts (à comparer au plus gros investisseurs, Microsoft, qui obtient 27%).

        Est-ce un juste prix ? Zvi défend que non, en nous offrant ces chiffres :

        • Le journaliste d’affaires Matt Levine estime à 272 milliards le plafond de profits allant aux investisseurs.
        • Un chiffre de 1000 milliards de valuation à l’introduction en bourse est utilisé (se référant à celui rapporté par Reuters).
        • Ce qui donne 260 milliards pour l’organisation à but non lucratif dans le nouveau système. Dans l’ancien, le chiffre aurait été plus proche de 500-750 milliards.

        Il faut également prendre en compte que l’objectif d’OpenAI (que ce soit l’organisation ou l’entreprise) reste d’atteindre l’intelligence artificielle générale (AGI). Dans l’hypothèse où cet objectif est atteint, les profits seraient probablement un ou plusieurs ordres de magnitude plus grands (on peut citer ce papier de l’université de Virginie), ce qui élargit encore plus le gouffre entre l’ancien système et le nouveau — dans l’ancien, la quasi totalité des profits appartiendrait au final à l’organisation à but non lucratif, dans le nouveau, 26%.

        Affaire close ? Pas nécessairement : d’autres parties que les procureurs généraux peuvent se saisir de la justice pour contester cette décision. Elon Musk en particulier a déjà dans le passé saisi la justice sur ce sujet, et pourrait encore le faire dans un futur proche.

        En vrac

        DeepMind présente Dreamer 4, un agent capable d’apprendre à naviguer dans un environnement avec très peu de données d’entraînement, en « imaginant » des interactions synthétiques — avec pour objectif d’appliquer cette méthode à la robotique.

        OpenAI publie GPDval, un benchmark cherchant à mesurer au plus près les capacités économiques de l’IA, en se concentrant sur la question de quelles tâches économiquement productives l’IA peut se charger. Sur les tâches sélectionnées (avec pour critère : bien définies, avec un périmètre clair et un contexte simple, dans divers domaines), l’IA reste pour l’instant derrière l’humain, mais plus très loin derrière : la meilleure IA, Opus 4.1, gagne 47.6% (s’acquitte mieux de la tâche) du temps contre un professionnel du domaine.

        Le FLI (Future of Life Institute) publie une lettre ouverte « Statement on Superintelligence » (« Communiqué sur la superintelligence »), trois courtes phrases : « We call for a prohibition on the development of superintelligence, not lifted before there is 1. broad scientific consensus that it will be done safely and controllably, and 2. strong public buy-in. » (« Nous appelons à une interdiction du développement de la superintelligence, qui ne devra être levée qu'après : 1) un large consensus scientifique établissant que cela peut être fait de manière sûre et contrôlable, et 2) une forte adhésion du public »). Parmi les signatures, de nombreux noms de tous horizons : académie, industrie, politique et gouvernement, et même du monde religieux.

        OpenAI lance son propre navigateur, Atlas (pour l’instant, uniquement disponible sous MacOS), intégrant ChatGPT à la plupart des niveaux : autocomplétion dans la barre d’adresse, fonctionnalité « ouvrir une conversation avec le site actuel », emboîtant le pas à Perplexity Comet. Il est fortement probable que les attaques de type « injection de prompt » s’appliquent également, donc prudence.

        DeepSeek publie une mise à jour incrémentale de son IA, DeepSeek 3.2. Essentiellement les mêmes performances que la version précédente, mais à un coût bien plus faible.

        DeepSeek publie également DeepSeek-OCR. Une bestiole difficile à décrire : contrairement à ce que ce nom indique, ce n’est pas un simple OCR (même s’il peut s’acquitter de cette tâche très honorablement), mais une piste de recherche, opérationnaliser « un bon croquis vaut mieux qu’un long discours ». Plus précisément, DeepSeek essaie avec ce système de compresser n (par exemple 10) tokens textuels en 1 token de vision (pour une compression 1:10). Les résultats semblent bons, avec 90% de précision avec une compression 1 pour 10.

        Anthropic étudie la capacité d’introspection de ses modèles, et trouve un résultat positif. Par exemple, les développeurs peuvent identifier un circuit associé à un certain concept (par exemple, « piano »), l’activer, et demander au modèle « À quoi penses-tu actuellement ? » (sans que le concept soit explicitement mentionné dans le prompt) ; le modèle est généralement capable de mentionner le concept.

        DeepMind, en collaboration avec l’université de Yale, publie un modèle open-weight spécialisé dans l’analyse cellulaire. Le modèle semble capable de faire des découvertes inédites.

        Nouvelle confrontation sur le droit d’auteur : Disney met en demeure Character AI.

        Anthropic libère sur github un outil d’évaluation dans le cadre de la sécurité des modèles, utilisé notamment pour évaluer des comportements problématiques comme la flagornerie ou la tromperie.

        Epoch AI publie une visualisation quelques données économiques sur les grands acteurs du secteur.

        Des chercheurs publient une nouvelle méthode pour spécialiser un LLM à un usage précis, sans avoir accès privilégié aux paramètres du modèle lui-même. Cela permet de spécialiser des modèles propriétaires.

        Que se passe-t-il lorsque l’on applique une phase d’apprentissage par renforcement sur des tâches de type « créer de l’engagement sur les réseaux sociaux » ou « augmenter les ventes d’un produit » ? Un papier explore la question, et montre qu’un tel entraînement supplémentaire encourage les modèles à mentir ou répandre de la désinformation, et que l’effet ne disparaît pas en demandant au modèle de ne pas utiliser de telles méthodes dans son « prompt système ».

        Autre papier d’Anthropic sur la sécurité des modèles, montrant qu’il est possible d’« empoisonner » l’entraînement des modèles (c’est-à-dire l’entraîner à donner une réponse spécifique à une entrée ésotérique) à l’aide d’un faible nombre de documents (relativement à la taille du corpus d’entraînement total).

        Du mouvement sur le financement du développement de l’IA : OpenAI est évalué à $500 milliards ; xAI fait une levée de fonds pour $20 milliards ; AMD investit dans OpenAI, ainsi que Nvidia. Un article intéressant fait le parallèle avec certains montages pendant la bulle dot-com, notant également des différences importantes.

        En Janvier, OpenAI annonçait que Microsoft ne serait plus leur fournisseur unique d’infrastructure, citant un manque de capacités. The Information (paywall) révèle que Microsoft craint que les demandes de capacités de OpenAI soient injustifiées et que les satisfaire conduise à terme à mettre en place des capacités qui ne seront pas utilisées.

        Un nouveau benchmark, AutumnBench, assez similaire à ARC-AGI, où l’IA reste loin derrière les performances humaines.

        Un billet de blog intéressant sur les efforts de lobbying de l’industrie de l’IA.

        METR ajoute Sonnet 4.5 à son évaluation, qui arrive pile poil sur la ligne de tendances.

        L’IA (plus précisément : GPT-5 et Gemini 2.5 Pro) obtient un score de médaille d’or sur les Olympiades Internationales d’Astronomie et d’Astrophysique.

        Envie d’apprendre comment fonctionne l’IA ? Andrey Karpathy publie en open-source nanochat, pour entraîner soi-même un modèle minimal, de A à Z.

        ChatGPT se dote d’un système de contrôle parental.

        xAI lance une encyclopédie générée par son IA, Grok, nommée Grokipedia. Elle fait partie de la croisade d’Elon Musk contre ce qu’il considère des biais de gauche sur Wikipedia.

        Un papier étudie en détails la capacité des modèles à résister au jailbreak ou plutôt leur incapacité : aucun modèle ne résiste à un attaquant humain déterminé.

        Anthropic publie son modèle "léger" (moins cher, plus rapide, moins performant), Haiku 4.5.

        Cursor, l’assistant de code propriétaire, développe son propre modèle, Composer.

        Pour aller plus loin

        Par Zvi Mowshowitz

        Sur LinuxFR

        Dépêches

        Journaux

        Forum

        Liens

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Sortie de Fedora Linux 43

        En ce mardi 28 octobre, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora Linux 43.

        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.

        Bureau de GNOME

        Sommaire

        Expérience utilisateur

        L'environnement de bureau GNOME est proposé dans sa version 49. Cette version apporte comme d'habitude de nombreux changements.
        Tout d'abord l'application Showtime remplace Totem en guise de lecteur vidéo par défaut. Basée sur la bibliothèque GTK4 et libadwaita, elle reprend les canons esthétiques minimalistes des applications GNOME. L'interface s’efface derrière la vidéo, n'affichant que les fonctions de base essentielles.

        De même l'application pour afficher les documents notamment au format PDF passe de Evince à Papers. De la même manière que précédemment, elle utilise la nouvelle pile logicielle plus moderne, cela permet de refaire le visuel de l'application et d'améliorer dans le même temps les performances. La signature numérique des documents est aussi mieux intégrée de même que les annotations des documents.

        L'application de calendrier a eu une amélioration de son accessibilité avec un focus important sur la navigation exclusive au clavier, ce qui a nécessité une refonte de l'interface. L'interface s'adapte en fonction de la taille de l'écran avec notamment la barre latérale qui peut être masquée. Il est également possible d'exporter des événements dans un fichier ICS.

        Le navigateur Web bénéficie de nombreuses améliorations comme un bloqueur de publicités plus efficace avec plus de listes de blocage disponibles. La recherche dans la page est plus complète avec la prise en compte de la casse ou de la recherche de mots entiers uniquement. L'édition des marques pages, ainsi que le menu de sécurité pour la gestion des mots de passes ou des cartes de sécurité, ont été remaniés pour être plus simples.

        La boutique logicielle bénéficie d'une amélioration significative de ses performances, ce qui était son principal point faible en partie à cause du volume de données à gérer pour les différentes applications disponibles provenant des Flatpak. La boutique consomme moins de mémoire, navigue plus rapidement d'une application à une autre et effectue des recherches efficacement.

        La fonctionnalité de bureau distant s'améliore avec la prise en charge des entrées multipoints pour ceux utilisant un écran tactile. De plus le curseur de souris peut fonctionner avec un positionnement relatif ce qui était nécessaire pour quelques applications ou jeux vidéo. Ceux qui le souhaitent peuvent ajouter des écrans virtuels pour une telle session même s'il n'y a pas d'écrans physiques supplémentaires.

        De manière plus générale, l'écran de verrouillage permet de contrôler basiquement les applications multimédia, en particulier pour la musique. Il est d'ailleurs possible d'arrêter ou de redémarrer la machine depuis cet écran de verrouillage en activant l'option idoine avec la commande gsettings set org.gnome.desktop.screensaver restart-enabled true. Le bouton Ne pas déranger passe de la zone de notifications au menu principal de GNOME pour une meilleure cohérence de l'interface.

        Enfin de nouveaux fonds d'écran sont proposés afin d'exploiter les nouvelles capacités des écrans HDR et l'espace de couleur Display P3 qui sont pris en charge sur les machines compatibles. Capacités HDR qui ont été améliorées par ailleurs avec de nouveaux paramètres pour gérer finement la luminosité de ces types d'écran.

        GNOME fonctionnera uniquement en tant que session Wayland, les paquets liés à GNOME pour session X11 sont supprimés. Le projet GNOME a décalé cette décision pour sa prochaine version numérotée 50, mais Fedora maintient le cap car la qualité de ces sessions n'est pas aussi bonne que Wayland faute de tests et de maintenance de la part du projet depuis de nombreuses années. Grâce à XWayland, GNOME reste en capacité d'afficher et de gérer les applications (de plus en plus rares) reposant uniquement sur X11. Cela clôt en un sens la transition vers Wayland pour GNOME entamée il y a 9 ans déjà avec Fedora 25.

        Tous les Spins disposent par défaut de la nouvelle interface web d'Anaconda. Fedora Linux 42 ne l'avait proposée que pour Fedora Workstation, en partie parce que certaines options ont dû être ajoutées pour supporter les Spins. En effet, sous GNOME, une partie de la configuration est faite après l'installation avec l'application GNOME Initial Setup. Par conséquent les spins pourront en plus configurer depuis Anaconda la date et l'heure, le compte utilisateur et le nom de la machine. De même, la configuration de la disposition clavier est gérée de manière légèrement différente. Enfin, l'interface n'est pas forcément affichée par une session de Firefox mais peut l'être via le navigateur web fourni par l'environnement en question.

        Sur les machines x86_64 compatibles UEFI, Anaconda ne permettra plus d'installer Fedora si le format de partitionnement est basé sur MBR au lieu de GPT. Si la norme UEFI autorise une telle configuration, en réalité sa prise en charge correcte dépend des constructeurs et n'est pas bien testée notamment par l'équipe de Fedora ce qui rend une telle configuration peu fiable. De plus, le chargeur de démarrage GRUB2 suppose déjà qu'un système UEFI implique une table de partitions GPT. Cela a été maintenu par Fedora notamment pour permettre son utilisation dans le service cloud AWS qui ne proposait que de tels systèmes à une époque. Mais cette limitation n'a plus lieu d'être et sa suppression simplifie le test et réduit le risque de crashs au moment de l'installation. Cela ne concerne pas les autres architectures comme ARM car leur implémentation repose plus souvent sur MBR et est mieux gérée.

        Écran de verrouillage avec contrôle multimédia

        L'installateur Anaconda utilise le gestionnaire de paquet DNF dans sa 5e version dorénavant. Cela améliore la vitesse des opérations à l'installation de Fedora et uniformise la gestion des paquets au sein de Fedora en simplifiant aussi les tests de la distribution.

        Fin de support de la modularité des paquets RPM dans l'installateur Anaconda. Les modules ont disparu dans Fedora depuis Fedora Linux 39, ce changement devenait nécessaire avec la non prise en charge des modules par DNF 5 qui est utilisé maintenant par Anaconda comme expliqué précédemment. Cela améliore aussi la maintenance d'Anaconda et de sa documentation en supprimant cette spécificité qui n'est plus utilisée.

        Activation de la mise à jour automatique du système pour la variante Fedora Kinoite. Grâce au système atomique, la mise à jour se fait en arrière plan et est appliquée au prochain redémarrage. La fiabilité de l'opération avec la possibilité de revenir à l'état précédent autorise une mise à jour automatique sans trop de problèmes pour simplifier la vie de l'utilisateur et améliorer la sécurité. Les mises à jour des firmware ne sont pas concernées pour des raisons de fiabilité. La mise à jour se fait par défaut de manière hebdomadaire et une notification pour inviter à redémarrer est affichée quand c'est pertinent. Cette fonctionnalité peut être coupée et la fréquence des mises à jour reste configurable.

        La police d'affichage d'émojis Noto Color Emoji utilise son nouveau format basé sur COLRv1 pour améliorer le rendu. Le rendu est meilleur car les images sont vectorielles et non sous forme d'images bitmap qui sont moins jolies quand la taille d'affichage augmente. Le tout en prenant moins d'espace disque.

        Le fichier initrd utilisé lors du démarrage est compressé avec zstd pour un démarrage plus rapide du système et une taille d'installation plus petite. Cela remplace la dépendance au binaire xz utilisé jusqu'alors, les tests montrent une baisse de la taille d'installation de quelques méga octets pour un temps de démarrage réduit de quelques secondes en moins.

        Nouvelle application de lecture vidéos de GNOME

        Gestion du matériel

        La taille de la partition /boot augmente de 1 Gio à 2 Gio par défaut. En effet la taille des firmwares, des initrd, du noyau, etc. ne cessent d'augmenter alors que la partition est restée à 1 Gio depuis 2016. Cela permet de réduire le risque de manquer de place dans un futur proche pour les nouveaux systèmes.

        Prise en charge de la technologie Intel TDX pour exécuter des machines virtuelles avec une plus grande isolation mémoire depuis Fedora Linux. Pour les machines compatibles, cela signifie que chaque machine virtuelle tourne dans un espace mémoire dédié qui est chiffré ce qui apporte des garanties de sécurité et d'intégrité des données pour le système virtualisé.

        Mise à jour de Greenboot vers la réimplémentation en Rust. L'objectif de ce composant est de fournir une vérification du système au démarrage et de redémarrer vers un état précédent du système en cas de défaut constaté ce qui est possible dans un système atomique et améliore l'expérience utilisateur en cas de mise à jour défectueuse. L'utilisateur a par ailleurs la possibilité d'ajouter ses propres tests. La précédente implémentation était en Bash et ne proposait que la prise en charge des systèmes basés sur RPM OSTree. Maintenant il peut gérer les systèmes reposant sur bootc qui est de plus en plus employé.

        Internationalisation

        La police de type monospace aura une police alternative de ce type par défaut en cas de manque dans une langue donnée. Jusqu'ici une police sans-serif était utilisée par défaut ce qui n'était pas idéal car les contextes d'usage sont différents et cela pouvait donner lieu à des comportement imprévisibles suivant les polices installées sur le système. Cela concerne notamment les langues suivantes : l'arabe, l'hébreu, le thaï, le perse, l'hindi, le khmer, etc.

        Administration système

        Le gestionnaire de paquets RPM passe à la version 6.0. Mais les paquets fournis par le projet Fedora utilisent encore le format de la 4e version. Cette version se focalise sur une amélioration de sécurité, par exemple les clés OpenPGP affichent la version complète de l'id de la clé si l'empreinte numérique n'existe pas. Il est possible de fournir plusieurs signatures à un même paquet permettant d'utiliser des clés différentes suivant la provenance et les objectifs. La construction du paquet peut générer automatiquement la signature ce qui est intéressant dans le cadre de l'empaquetage local. Les clés OpenPGP version 6 sont prises en charge de même que les algorithmes dits post quantiques à base de courbes elliptiques. Il est également possible d'utiliser Sequoia-sq au lieu de GnuPG. Les paquets générés avec la 3e version ne sont cependant plus exploitables.

        Réduction du nombre de règles SELinux dontaudit liés au type unlabeled_t. L'objectif de ces règles c'est souvent de réduire le nombre de rapports d'accès anormaux qui sont des faux positifs ou des accès bénins effectués par des applications mal écrites. Cette avalanche de notifications serait contre productive mais cacher ces accès sous le tapis ne permet pas de corriger ces comportements problématiques et complexifie le débogage. L'objectif est de désactiver seulement certaines de ces règles de la politique et non de les supprimer entièrement. Ainsi si le nouveau comportement vous pose problème, vous pouvez exécuter la commande # setsebool -P dontaudit_unlabeled_files 1 pour rétablir le comportement précédent.

        Le paquet gnupg2 pour fournir l'outil de chiffrement est dorénavant découpé en plusieurs sous paquets. Cela permet de réduire la taille du système par défaut car uniquement les paquets nécessaires seront installés par défaut, laissant de côté les binaires plus optionnels. L'autre bénéfice est de simplifier le remplacement par Sequoia-PGP car il nécessite la présence de certains binaires de GnuPG mais en remplace d'autres ce qui n'était pas possible de faire avec un paquet unique. Les installations existantes installeront tous les sous paquets par défaut pour éviter de casser les systèmes existants.

        Le filtre d'impression Foomatic-rip rejette les valeurs inconnues. En effet il est utilisé pour construire des commandes shell, PostScript ou Perl qui sont ensuite exécutées avant d'envoyer la tâche à l'impression via les options FoomaticRIPCommandLine, FoomaticRIPCommandLinePDF et FoomaticRIPOptionSettings. Cette flexibilité permet d'écrire ou de modifier facilement le pilote de l'imprimante en question mais est source de vulnérabilités de sécurité aussi. Pour limiter les risques, par défaut aucune valeur pour ces options ne sont autorisées. L'utilisateur doit exécuter foomatic-hash une fois pour vérifier la validité des options et s'assurer qu'elles ne font rien de problématiques et déplacer le dit fichier dans /etc/foomatic/hashes.d pour autoriser leur utilisation. Cela ne concerne à priori que des vieux pilotes d'imprimantes et une partie de ceux fournis par CUPS ont déjà les validations nécessaires. D'autres devraient venir progressivement. Les pilotes d'imprimantes déjà installés au niveau du système seront aussi automatiquement validés après une mise à niveau vers Fedora Linux 43. À cause de la flexibilité de la méthode d'origine, corriger ou détecter tous les comportements problématiques automatiquement n'est pas possible.

        Le projet 389 Directory Server ne permet plus de modifier ses bases de données BerkeleyDB. Les bases de données utilisaient par défaut LMDB depuis Fedora Linux 40 et l'abandon de BerkeleyDB se fera à priori pour Fedora Linux 45. L'objectif est de permettre la lecture des données pour les migrer vers le nouveau format et ainsi forcer les utilisateurs à effectuer la migration avant son abandon total.

        Nouveau visionneur de documents GNOME

        Le gestionnaire de base de données PostgreSQL est mis à jour à sa 18e version. Cette version améliore les performances dans le sous-système des entrées-sorties asynchrones et dans l'optimiseur des requêtes. D'ailleurs, la migration d'une base de données vers une version suivante conserve les statistiques de l'optimiseur. Une nouvelle fonction uuidv7() permet de générer un UUID autorisant un tri basé sur un critère temporel. Par défaut les colonnes générées, celles dont le contenu est créé durant une opération de lecture, sont virtuelles et ne résident pas sur le disque. Les B-tree index multi-colonnes peuvent être utilisés plus souvent notamment s'il n'y a pas de contraintes sur les premières clés mais uniquement sur la dernière. Le protocole OAuth peut être utilisé pour s'authentifier dorénavant. Comme d'habitude, les versions 17 et 16 de ce logiciel restent disponibles dans les dépôts autorisant une mise à niveau progressive.

        Le gestionnaire de base de données MySQL passe par défaut à la version 8.4. La version 8.4 était déjà proposée dans les dépôts, elle remplace juste la version 8.0 en tant que version de base. Cette dernière reste disponible via le paquet mysql8.0.

        Le serveur de courriels Dovecot est mis à jour vers sa version 2.4. ( https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html ). Cette version change de manière significative la configuration qui nécessite une adaptation. Il est maintenant possible de stopper une commande mail qui prend du temps proprement. Pour l'authentification, les fonctions de hashage SCRAM-SHA-1-PLUS et SCRAM-SHA-256-PLUS sont maintenant disponibles de même que les liaisons de canal TLS. La bibliothèque Lua permet d’interagir avec le client DNS et HTTP fourni par Dovecot.

        Le serveur d'application Tomcat est mis à jour vers sa version 10.1. Cela signifie qu'il suit la spécification Jakarta EE 10 ce qui implique un nouvel espace de nom qui passe de javax.* à jakarta.*. À cause de ce changement, la compatibilité ascendante n'est pas garantie et une recompilation des applications web est requise. De même l'API interne de Tomcat a beaucoup changé subtilement ce qui rend la compatibilité binaire impossible à garantir et nécessite une revue pour ceux qui interagissent avec ces APIs. Par défaut les requêtes et réponses Web se font en UTF-8 tandis que les sessions ne sont pas conservées après un redémarrage du serveur. Les fichiers de logs ne seront créés que lorsque du contenu doit être écrit dedans. Enfin les paramètres HTTP en commun entre HTTP 2 et 1.1 seront placés au niveau du connecteur HTTP 1.1 pour permettre à la version 2 d'en hériter et limiter ainsi la duplication des paramètres.

        Migration de l'utilitaire de journalisation lastlog à lastlog2. Le premier intérêt de cette migration est de corriger le bogue de l'an 2038 qui n'affecte pas ce dernier. Il peut également utiliser la base de données SQLite 3 pour le stockage. Il utilise aussi des composants PAM pour l'authentification et la sortie est compatible de manière ascendante également. De plus il est légèrement plus performant en augmentant la taille de stockage à partir du nombre d'utilisateurs et non du plus grand id utilisateur dans le lot. Le risque de problèmes de compatibilité devrait être faible. La migration vers le nouveau format sera effectuée automatiquement et des liens symboliques vers les noms des anciens binaires sont créés pour éviter de casser des scripts existants.

        L'information PLATFORM_ID dans os-release est supprimée. Cette information a été ajoutée dans le cadre de la modularité, mais avec l'abandon de celle-ci cette ligne n'est plus nécessaire. Ceux qui se basent sur cette information sont invités à changer d'approche.

        Nouveau gestionnaire de marques-pages de GNOME Web

        Développement

        La chaine de compilation GNU évolue avec binutils 2.45 et glibc 2.42. Pour binutils, les informations sframe générées par l'assembleur sont maintenant conformes avec la spécification SFrame V2. L'assembleur gère les dernières évolutions des architectures RISC-V, LoongArch et AArch64. Il peut également utiliser les directives .errif et .warnif pour avoir un diagnostic contrôlé par l'utilisateur avec des critères qui sont évalués uniquement à la fin de l'assemblage.

        Pour la bibliothèque C glibc, elle prend en charge de nouvelles fonctions mathématiques introduites dans C23 telles que ompoundn, pown, powr, rootn et rsqrt. Elle propose aussi en avance les fonctions valeurs absolues non signées qui seront proposées par la prochaine norme C. Ajout également de la fonction pthread_gettid_np pour connaître l'id d'un thread à partir d'une structure opaque pthread_t. Le cache local dans malloc gagne en performance pour les petites allocations mémoire et peut prendre en charge des blocs à mettre en cache de plus grande taille via l'option glibc.malloc.tcache_max. Le manuel a été particulièrement enrichi pour être plus complet notamment pour les threads, terminaux, systèmes de fichiers, ressources et fonctions mathématiques.

        L'éditeur de lien Gold du paquet binutils-gold est considéré comme déprécié et sera supprimé dans une version future. Fedora Linux a déjà quatre éditeurs de liens : ld.bfd, ld.gold, lld et mold. Se débarrasser de l'un d'entre eux qui n'est plus maintenu par le projet GNU n'est pas un problème et doit améliorer à terme la maintenance.

        Mise à jour de la chaine de compilation LLVM à sa version 21. Les cartes graphiques AMD voient une amélioration de la prise en charge de ROCm de même qu'un effort pour proposer une bibliothèque C pour GPU. Mais les architectures RISC-V ou cartes graphiques de Nvidia ont également quelques améliorations mineures de ce côté. Le compilateur C CLang optimise l’arithmétique des pointeurs avec le pointeur null et comme souvent le suivi des futurs standards C et C++ se poursuit. Le compilateur fait de meilleurs messages d'erreurs pour les erreurs de compilation.

        Côté Fedora, les RPM de ce projet sont compilés avec un profil d'optimisation ce qui devrait significativement améliorer les performances du compilateur maison.

        Le langage Python mue à sa version 3.14. Cette version propose des template strings pour étendre les capacités des f-string afin de plus facilement modifier la valeur de la chaîne de caractères à partir d'autres variables. L'évaluation différée des annotations permet de résoudre les annotations de type qui sont cycliques. De plus, un nouveau module concurrent.interpreters fait son apparition pour permettre l'exécution d'interpréteurs Python dans des fils d'exécution uniques pouvant communiquer entre eux, ouvrant la voie à un vrai parallélisme sans renoncer, pour le moment, au fameux verrou principal nommé GIL. Le module compression accueille l'algorithme zstd qui est de plus en plus utilisé dans divers projets libres. Enfin les UUIDs 6, 7 et 8 font leur apparition, permettant de générer des UUIDs respectant différents critères, les deux premiers autorisent un tri temporel quand le dernier est un assemblage de 3 entiers fournis en paramètre. Il y a évidemment d'autres changements améliorant notamment des performances ou rendant les messages d'erreurs plus clairs.

        Le langage Go passe à la version 1.25. Il est possible dans cette version d'activer le détecteur de fuites de mémoire à la compilation d'un programme par la commande go build -asan, le rapport sera généré à la fermeture du programme. La commande go vet détecte les appels de fonctions sync.WaitGroup.Add mal placés de même que l'usage de fmt.Sprintf("%s:%d", host, port) pour construire des adresses de connexions qui sont invalides en cas d'usage d'IPv6. Un nouveau ramasse-miettes expérimental fait son apparition, il doit réduire l'impact de ces opérations de 10-40% pour un programme standard qui fait beaucoup d'allocations et de désallocations de petits objets. En terme d'expérimentations, un nouveau module expérimental encoding/json/v2 fait son entrée en matière pour l'encodage et le décodage de JSON, qui doit être plus performant pour le décodage tout en supprimant certaines limitations. Pour les développeurs, un nouveau module runtime/trace.FlightRecorder permet de facilement enregistrer la trace d'événements précis dans le programme dans le contexte de débogage tout en étant léger pour ne pas perturber l'exécution du logiciel par les traces complètes habituellement utilisées. Dans le contexte du débogage, le format DWARF5 pour les informations de débogage peut être exploité ce qui améliore la taille du binaire et le temps de l'édition des liens par ailleurs.

        Le langage Perl fourni une réponse brillante avec sa version 5.42. L'accent a été mis pour améliorer les performances dans cette version. Mais en plus de cela, les méthodes peuvent être déclarées avec une visibilité réduite avec l'instruction my method, ces méthodes peuvent être appelées grâce à l'opérateur ->&. Deux nouveaux opérateurs expérimentaux all et any pour vérifier une condition sur l'ensemble, et respectivement aucun, des éléments d'une liste. Un pragma source::encoding peut être apposé sur un fichier source pour détecter les erreurs d'encodage du dit fichier s'il ne correspond pas à celui mentionné. Une classe peut générer automatiquement un setter pour un de ses attributs via l'attribut :writer qui fonctionne de manière analogue à :reader pour le getter.

        La boîte à outils Ruby on Rails démarrera voie 8.0. La gestion de certaines dépendances a été améliorée, en effet pour bénéficier de certaines fonctions telles que les Websockets, les jobs ou le cache il était nécessaire d'utiliser au choix MySQL, PostgreSQL ou Redis. Maintenant SQLite s'ajoute à la liste des possibilités et cela passe par de nouvelles couches d'abstractions Solid Cable, Solid Cache et Solid Queue. Fournir des fichiers statiques repose sur Propshaft au lieu de Sprockets, qui est bien plus simple en tirant profit des changements dans le monde Web opérés depuis 15 ans tels que les frameworks JavaScript ou la bonne gestion des petits fichiers avec le protocole HTTP/2 qui permettent de déléguer la gestion de ces problématiques aux frameworks JavaScript directement. Pour finir, elle propose un moyen simple de générer un template basique mais efficace pour la gestion de l'authentification d'une application, en exécutant bin/rails generate authentication vous obtenez un modèle basique pour la session et l'utilisateur avec des contrôleurs pour la session et l'authentification elle même.

        Nouveau gestionnaire de mots de passe de GNOME Web

        La machine virtuelle Java OpenJDK 25 est fournie. Parmi les changements, un effort a été consenti pour améliorer le mécanisme de l'Ahead-of-Time, la mise en cache de la JVM. Il devient en effet plus facile d'exécuter une application simple pour générer la liste des objets et modules nécessaires pour rendre les prochains lancement plus rapides et de même les profils générés pour accélérer l'application seront immédiatement exploités au démarrage pour également accélérer le lancement de l'application. Le système d'enregistrement des événements est étendu avec la possibilité d'enregistrer précisément le temps d'exécution d'une fonction et sa pile d'appels. Il est possible d'appeler d'autres fonctions ou opérations dans un constructeur avant qu'il n'appelle lui même un autre constructeur du même objet ou de sa classe parente ce qui peut simplifier le code en le rendant plus naturel.

        L'utilitaire dans l'écosystème Java nommé Maven bénéficie de la version 4 en parallèle de la version 3. La version 4 est accessible via le paquet maven4 depuis les dépôts. Parmi les changements fondamentaux, il y a une séparation entre les besoins de compilation et d'utilisation du fichier pom.xml qui mentionnait dans le détail les informations de compilation ou des dépendances ce qui était rarement utile pour les utilisateurs lors du déploiement. Maintenant le fichier destiné à être distribué ne mentionne plus ces informations superflues. Dans ce contexte, un nouveau type de paquet bom est fourni pour générer une liste de composants nécessaires pour ce logiciel ce qui est un atout dans une optique de traçabilité et de suivi des failles de sécurité par exemple. Pour clarifier la différence entre les modules de Maven et ceux de Java, les modules sont renommés subprojects, d'ailleurs ces sous-projets peuvent déduire des informations du parent comme sa version par exemple ce qui rend inutile de le mentionner à nouveau. Les sous-projets peuvent aussi être découverts au sein du projet évitant le besoin de les déclarer explicitement et systématiquement.

        Le compilateur pour le langage Haskell GHC a été mis à jour vers sa version 9.8 et son écosystème Stackage vers la version 23. Le langage fonctionnel dispose des ExtendedLiterals pour préciser le type précis d'un entier défini tel quel dans le code, comme 123#Int8 pour un entier représenté uniquement sur 8 bits. Dans le bas niveau, un logiciel compilé avec -mfma pour permettre l'usage des instructions, qui combinent multiplication et addition (telle que fmaddFloat# x y z qui donne x * y + z) si l'architecture matérielle les supporte ce qui peut améliorer les performances du programme. Il introduit des nouveaux pragmas WARNING et DEPRECATED à des fonctions d'un module pour signaler à un appelant de prêter attention à son utilisation, notamment en cas de suppression planifiée de la dite fonction.

        Le langage de programmation fonctionnel Idris dispose d'une mise à jour majeure vers sa 2e version. La version 1 reposait sur Haskell mais il devenait de plus en plus difficile de le générer avec des versions récentes du compilateur GHC. La version 2 est implémentée en Scheme et repose sur la théorie des types quantifiés, ainsi une variable assignée à une quantité 0 est effacée, assignée à une quantité 1 elle est utilisée une seule et unique fois, etc. Ce changement de paradigme rend de nombreux programmes écrits pour Idris 1 incompatibles. De plus le Prelude du langage ne contient que les éléments strictement nécessaires dans la plupart des programmes non triviaux, le reste est relégué dans dans la bibliothèque base.

        Le compilateur Free Pascal propose des paquets permettant la compilation croisée avec d'autres architectures. Ce changement facilite la compilation de programmes pour d'autres systèmes sans quitter sa Fedora Linux. Les paquets nécessaires sont de la forme fpc-cross-$CPU et fpc-units-$CPU-$OS où le premier fourni le compilateur en lui même à destination d'une architecture matérielle spécifique quand le second fourni des objets précompilés nécessaires la plupart du temps pour générer un programme pouvant s'exécuter sur le matériel et système considéré. Si vous souhaitez compiler pour du Windows x86 il faudra installer par conséquent les paquets fpc-cross-i386 et fpc-units-i386-win32.

        La bibliothèque d'Intel tbb pour paralléliser certaines tâches passe à la version 2022.2.0. Les changements sont relativement mineurs mais à cause de la rupture de compatibilité de l'ABI, les logiciels s'en servant doivent être recompilés pour fonctionner avec cette nouvelle version.

        La signature cryptographique des informations de débogage debuginfod est maintenant vérifiée automatiquement du côté du client. Les paquets RPM fournissaient la dite signature depuis Fedora Linux 39, le client comme serveur prenaient en charge la fonctionnalité, il ne manquait plus qu'une configuration adéquate pour permettre ce changement. Cela se fait en éditant le fichier de configuration /etc/debuginfod/elfutils.urls ainsi :

        ima:enforcing https://debuginfod.fedoraproject.org ima:ignore

        Cela ne le fait que pour les informations de débogage provenant du projet Fedora, pour les autres il faudra activer cela manuellement de manière similaire.
        En cas de signature invalide, les fichiers concernés seront rejetés et considérés comme non disponibles ce qui améliore la fiabilité et la sécurité du débogage.

        La bibliothèque Rust async-std est considérée comme dépréciée avant une suppression future. Il n'est en effet plus maintenu et il est recommandé de passer à la bibliothèque smol à la place.

        La bibliothèque Python python-async-timeout est considéré comme dépréciée avant une suppression future. Cette fonctionnalité est en effet fournie dans la bibliothèque standard depuis Python 3.11 rendant cette bibliothèque obsolète. Cependant une trentaine de paquets s'en servent encore directement rendant sa suppression impossible à ce stade.

        Le paquet python-nose a été retiré. Déprécié par Fedora depuis plus de cinq ans et sans maintenant depuis plus longtemps, sa suppression devenait nécessaire avec l'impossibilité de s'en servir avec la dernière version de Python. Les paquets qui en avaient encore besoin ont été corrigés pour s'en passer.

        Les paquets concernant d'anciennes versions de GTK pour Rust gtk3-rs, gtk-rs-core version 0.18, et gtk4-rs ont été retirés. Ils étaient dépréciés depuis Fedora Linux 42 car non maintenus.

        Projet Fedora

        Koji utilise localement au sein du projet Fedora une instance de Red Hat Image Builder pour générer certaines images qui en dépendent. Cela concerne les images Fedora IoT et Minimal qui étaient construites via l'infrastructure de Red Hat, Koji ne servant que d'orchestrateur côté Fedora. Cela posait quelques soucis dont la possibilité d'intervenir en cas de problèmes mais aussi le fait qu'il était impossible de geler les changements de l'infrastructure aux moments adéquats pour l'élaboration des nouvelles images. Le paquet koji-image-builder a été créé pour permettre d'exécuter cette machinerie localement au sein de l'infrastructure du projet Fedora. L'objectif est d'inclure cela dans Koji intégralement à terme quand ce sera suffisamment testé.

        La génération de l'image Core OS repose sur le fichier de définition de conteneurs Containerfile. Jusqu'ici l'image était conçue via RPM OStree avant d'être convertie en image OCI. L'objectif est donc de sauter l'étape RPM OStree en utilisant les conteneurs, l'image de référence est basée sur une Fedora Linux avec bootc. Cela simplifie la procédure de génération de l'image et permet facilement à quiconque de reproduire ces étapes s'il le souhaite en utilisant podman.

        Arrêt de publication des mises à jour de Core OS sur le dépôt OSTree. Cela fait suite au changement introduit dans la version précédente de Fedora où l'utilisation des images OCI avait débuté et que les nœuds existants allaient progressivement migrer vers ce format. Désormais maintenir la publication de mises à jour OSTree n'a plus de sens et permet de réallouer les ressources humaines et matérielles.

        Le système d'intégration continue de Fedora ne prend plus en charge le format Standard Test Interface. Il évoluait conjointement avec Test Management Tool qui a maintenant les mêmes capacités et continue d'évoluer. N'avoir plus qu'un format permet de simplifier la maintenance et l'outillage. Il y avait de plus en plus d'erreurs liées à l'usage de STI pour certains paquets incitant à faire la migration. Le format TMT a quelques avantages dont une meilleure organisation des tests et des environnements de tests. Les tests sont également reproductibles localement ce qui est important pour la résolution de problèmes. Grâce à l'intégration avec Packit il peut facilement exécuter les tests à partir des sources du logiciel si besoin ce qui est utile en cas de nouvelle version d'un paquet ou voir si un correctif spécifique à Fedora introduit des régressions.

        Les nouveaux paquets recevront automatiquement une nouvelle configuration basée sur Packit pour permettre la gestion automatique de certaines tâches dans le cadre des nouvelles versions de Fedora. Cette étape est faite lors de la création du projet sur le service src.fedoraproject.org, un correctif fournit automatiquement cette configuration initiale. Cela peut être manuellement désactivé lors de la création si un mainteneur ne le souhaite pas. L'intérêt est de simplifier l'accueil de nouveaux empaqueteurs mais aussi d'automatiser certaines tâches par défaut. En cas de nouvelle version d'un composant, le paquet avec cette version sera automatiquement crée pour identifier les éventuels problèmes, et s'il n'y en a pas, permettre de créer automatiquement la nouvelle version du paquet et de la diffuser si l'empaqueteur accepte cette nouvelle version. Cela peut aider à gérer plus de paquets et à mieux les maintenir sur le long terme.

        Nouvelle localisation du bouton Ne pas déranger

        Les bibliothèques statiques fournies par les paquets RPM de Fedora conservent les informations de débogage pour permettre de comprendre l'origine des crashes des applications les exploitant. Cela est rendu possible par la mise à jour du composant debugedit qui permet une telle opération sans trop de problèmes. En effet il peut maintenant collecter les fichiers sources d'une bibliothèque statique et réécrire les chemins vers le répertoire /usr/src/debug comme attendu par les différents outils de débogage. Cependant les informations de débogage sont fournies dans les paquets RPM des binaires pour éviter la complexité de les inclure manuellement pour les développeurs qui en ont besoin dans leur logiciel. L'espace disque nécessaire pour ces informations est considéré comme relativement négligeable pour prendre cette décision. Pour les développeurs qui ne veulent pas des informations de débogage dans leur binaire peuvent exécuter la commande strip -g après l'édition de liens.

        Les macros dédiées pour générer les paquets Python reposant sur setup.py sont dorénavant dépréciées. Cela concerne les macros %py3_build, %py3_install, et %py3_build_wheel. En effet ces macros reposent sur ce script qui ne sera plus maintenu à partir d'octobre 2025 par le projet setuptools. L'objectif est d'inciter et de migrer progressivement ces paquets vers la nouvelle méthode reposant sur les macros %pyproject_* et exploitant le fichier de configuration pyproject.toml. Environ 35% des paquets Python de Fedora sont donc concernés par cette migration à venir qui permettra de moderniser et d'unifier les conventions tout en suivant les bonnes pratiques de l'écosystème Python.

        Les paquets Go sont compilés en utilisant par défaut les dépendances du projet compilé plutôt que d'utiliser systématiquement des dépendances basées sur des RPM gérés par le projet Fedora. En effet les binaires Go sont tous statiquement compilés donc l'objectif de maintenir des dépendances ne sert qu'à la construction des dits paquets. Cela concerne environ 1400 paquets pour générer 400 paquets avec un binaire Go. C'est beaucoup de travail de maintenance et cela limitait la possibilité d'inclure plus de paquets Go car il fallait empaqueter toutes les dépendances nécessaires au préalable. Cependant avec cette méthode il devient plus difficile de corriger les bogues ou problèmes de sécurité introduits par ces dépendances si Fedora ne les récupère pas. Et pour les cas où il est préférable d'avoir les dépendances gérées par le projet, cela sera un travail plus important pour un paquet donné car moins de dépendances seront déjà disponibles dans les dépôts. Le suivi des licences nécessite d'être adapté pour s'assurer qu'il n'y a pas de problèmes de compatibilité mais des outils existent déjà pour réduire cette problématique.

        Les paquets NodeJs utiliseront un nouveau formalisme pour le chemin de leurs dépendances. En effet le répertoire %{_libdir}/node_modules pointait vers un répertoire spécifique à une version de NodeJs comme %{_libdir}/node_modules20 pour la version 20 de NodeJs. Mais cette solution était plutôt pénible avec Fedora qui propose plusieurs versions de NodeJs en parallèle. L'objectif est de mettre en commun %{_libdir}/node_modules pour les modules où c'est possible, et pour ceux qui ont par exemple un binaire WASM, ils seront affectés dans un répertoire dépendant de la version. Cela simplifie la procédure d'empaquetage de ces composants tout en réduisant les doublons et en évitant les incompatibilités. Cela aide également à mettre en évidence les dépendances binaires cachées pour les reconstruire au sein du projet Fedora, ou les supprimer si cela n'est pas possible, à terme.

        Les macros CMake ne fourniront plus de variables d'installation non standards. Cela concerne les variables -DINCLUDE_INSTALL_DIR, -DLIB_INSTALL_DIR, -DSYSCONF_INSTALL_DIR, -DSHARE_INSTALL_PREFIX et -DLIB_SUFFIX. Cela ajoute de la confusion notamment parce que la signification de certaines variables n'est pas transparente comme INCLUDE_INSTALL_DIR qui pourrait attendre des chemins relatifs ou absolus. CMake 3.0 a standardisé beaucoup de choses dans GNUInstallDirs qui sont massivement utilisés depuis. Cela permet de mieux s'intégrer dans l'écosystème de ces projets et limite le risque d'erreurs lors de la construction des paquets.

        L'assembleur YASM est considéré comme déprécié pour utiliser NASM à la place. Il n'est en effet plus maintenu même si encore utilisé dans quelques paquets tel que Firefox. D'autres distributions ont déjà sauté le pas.

        Ajout des nouveaux macros RPM _pkg_extra_*flags pour permettre à chaque paquet d'ajouter des nouvelles options à la compilation à la liste par défaut fournie par le projet Fedora. L'intérêt est d'avoir un moyen standard d'étendre les options de compilation d'un paquet plutôt que chacun les édite à sa sauce et cela permet dans le même temps de voir facilement quels paquets et quelles options sont personnalisés.

        Certaines limitations de l'outil gpgverify utilisé par les mainteneurs de paquets sont corrigées permettant de supprimer des méthodes de contournement associés. En effet l'outil est utilisé pour s'assurer que les sources pour construire le paquet sont bien celles souhaitées. Par exemple il était incapable de lire plusieurs clés GPG fournis dans un fichier dédié comme nginx pouvait le faire. Il était également incapable de gérer automatiquement la signature des sommes de contrôle des archives, il exigeait que l'archive des sources elle même soit signée ce qui n'était pas toujours le cas. Maintenant il prendre également en compte les clés au format keybox. Le tout améliore la maintenance des paquets concernés mais évite aussi la possibilité de contourner la sécurité dans certains cas.

        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 5 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 43 ?

        Logo de MediaWriter

        Si vous avez déjà Fedora Linux 42 ou 41 sur votre machine, vous pouvez faire une mise à niveau vers Fedora Linux 43. 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 43.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Incident du 26 juin 2025 ayant touché les serveurs de production et de développement

        Ayant simultanément ressenti un trouble dans la force, vos administrateurs des serveurs LinuxFr.org ont noté un souci sur le site hier matin. Et d'autres personnes de l'équipe ont aussi signalé le problème (supervision efficace et réactive par le lectorat).

        Le serveur hébergeant les conteneurs de production et de développement a redémarré (hors de toute opération planifiée) à 06h15 Paris le 26 juin 2025, et contrairement aux redémarrages habituels pour les mises à jour, cela a entraîné un changement des adresses IP internes des conteneurs de production et de développement, après redémarrage (06h18). Tous les services avaient bien redémarré, mais les accès aux sites web n'étaient plus possibles : le serveur web frontal ne pouvait plus joindre les adresses prévues, aboutissant à des réponses techniques 502 Bad Gateway.

        La correction sur les adresses IP a été faite à 08h08 pour la production et 08h16 pour le développement.

        Les deux autres serveurs hébergés au même endroit n'ont pas été affectés.

          Changement d'adresses IP

          Les conteneurs de production et de développement sont configurés en DHCP et gardent normalement les mêmes adresses sur les redémarrages.

          Exemple de redémarrage propre pour des mises à jours de sécurité :

          mai 24 10:06:08 oups dnsmasq-dhcp[1256]: DHCPREQUEST(lxc0) 192.168.0.2 aa:aa:aa:aa:aa:aa
          mai 24 10:06:08 oups dnsmasq-dhcp[1256]: DHCPACK(lxc0) 192.168.0.2 aa:aa:aa:aa:aa:aa prod
          mai 24 10:06:22 oups dnsmasq-dhcp[1256]: DHCPRELEASE(lxc0) 192.168.0.2 aa:aa:aa:aa:aa:aa
          ---redémarrage---
          mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPDISCOVER(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb
          mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPOFFER(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb
          mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPREQUEST(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb
          mai 24 10:08:57 oups dnsmasq-dhcp[1228]: DHCPACK(lxc0) 192.168.0.2 bb:bb:bb:bb:bb:bb prod
          

          (les IP, MAC et interfaces ont été changées)
          On a demande et attribution de l'IP pour une adresse MAC donnée, puis elle est relâchée à l'arrêt de la machine, puis réattribuée au démarrage.

          Incident :

          juin 26 03:57:46 oups dnsmasq-dhcp[951195]: DHCPREQUEST(lxc0) 192.168.0.2 cc:cc:cc:cc:cc:cc
          juin 26 03:57:46 oups dnsmasq-dhcp[951195]: DHCPACK(lxc0) 192.168.0.2 cc:cc:cc:cc:cc:cc prod
          ---redémarrage---
          juin 26 04:18:42 oups dnsmasq-dhcp[1222]: DHCPREQUEST(lxc0) 192.168.0.2 dd:dd:dd:dd:dd:dd
          juin 26 04:18:42 oups dnsmasq-dhcp[1222]: DHCPNAK(lxc0) 192.168.0.2 dd:dd:dd:dd:dd:dd address in use
          juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPDISCOVER(lxc0) dd:dd:dd:dd:dd:dd
          juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPOFFER(lxc0) 192.168.0.100 dd:dd:dd:dd:dd:dd
          juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPREQUEST(lxc0) 192.168.0.100 dd:dd:dd:dd:dd:dd
          juin 26 04:18:46 oups dnsmasq-dhcp[1222]: DHCPACK(lxc0) 192.168.0.100 dd:dd:dd:dd:dd:dd prod
          

          On a demande et attribution de l'IP pour une adresse MAC donnée. Elle n'est pas relâchée à l'arrêt de la machine, n'est pas disponible au redémarrage, et une autre est alors attribuée.

          Nature du redémarrage

          Le redémarrage a été brutal, sans arrêt propre des services. Il ne s'agit donc pas d'un arrêt logiciel propre depuis le serveur.

          La cause possible peut donc être un souci d'instabilité électrique, l'arrêt/extinction physique sur le serveur, un bug ou une faille logicielle, ou encore le redémarrage électrique via la carte d'administration. Cette cause n'est actuellement pas connue.

          Mesures préventives et correctives

          Il pourrait être utile de figer les IP internes et/ou d'assurer la synchronisation/reconfiguration du frontal web.

          Il n'est pas prévu d'avoir de la redondance sur la production à court/moyen terme, donc un souci sur le conteneur de production continuera à avoir un effet visible.

          La supervision peut certainement être améliorée (et l'état des services rendu visible depuis un simple navigateur web).

          Commentaires : voir le flux Atom ouvrir dans le navigateur

          Netvibes.com au rancart, Pétrolette au rendez-vous

          « J'étais tranquille j'étais peinard / je réparais ma mobylette » / la nouvelle a surgi le soir / un truc pas vraiment super-chouette… » Eh oui, le couperet est tombé, les utilisateurs de l'agrégateur de flux Web Netvibes.com ont reçu le 15 avril un courriel de Dassault Systèmes leur annonçant que leur agrégateur préféré aller se désagréger définitivement dans l'atmosphère le 2 juin 2025 à midi, avec toutes leurs données, tel un Starship numérique. Si l'on en croit le début du message, cela est lié au développement d'un nouveau service de l'entreprise nommé 3D UNIV+RSES, avec plein d'IA et tout et tout. Le courriel d'avertissement indique certes comment sauvegarder ses données, mais « et maintenant, Papa / C'est quand qu'on va où ? »

          Sommaire

          Good vibrations 2.0 ou le cubisme informationnel

          Netvibes.com, lancé par une start-up en 2005 et racheté par Dassault Systèmes en 2012, était un lecteur en ligne permettant d'afficher les flux RSS ou Atom dans des petits cadres qu'on pouvait regrouper dans des onglets thématiques. Chaque cadre était configurable (longueur, affichage d'images ou non…) et déplaçable facilement. Les flux se mettaient automatiquement et régulièrement à jour. On pouvait aussi ajouter de petites applications (listes de choses à faire, accès courriels, accès à différents réseaux sociaux, etc.). Wikipedia décrit Netvibes.com comme « un portail Web personnalisable. Représentatif de ce qu'on appelle le Web 2.0 ». En tout cas, c'était un très bon outil de veille que j'utilisais tous les jours depuis belle lurette.

          Lancé en 1990, donc à peu près en même temps que le World Wide Web, le Courrier international nous permettait d'avoir accès à une pluralité de points de vue issus des journaux du monde entier. Un agrégateur de flux, c'est un peu l'équivalent informatique. Il permet un véritable cubisme informationnel. Avoir un onglet News agrégeant des flux de journaux d'horizons politiques différents et de plusieurs pays, c'est échapper à la bulle informationnelle, à la ségrégation sociale créée par les grands réseaux sociaux commerciaux. Car observer depuis le point de vue d'autrui est un bon exercice, même si ça peut parfois être désagréable comme du poil à gratter. Enfin, avec un agrégateur, l'algorithme c'est vous : votre œil survole l'ensemble des titres et capte au vol ce qui l'intéresse ou le surprend.

          J'ai rencard avec Pétrolette

          L'outil libre qui se rapproche le plus de Netvibes.com est Pétrolette, « la page d'actus qui ne sait rien de toi », développée par YPhil en JavaScript. Comme son nom l'indique, Pétrolette n'est pas un gros SUV qui fait tout, même le café, mais une application libre qui essaie de faire au mieux une seule chose : afficher des flux Web dans des cadres classés dans des onglets. Donc disons le tout de suite, il faut oublier les éventuelles autres applications que vous utilisiez dans Netvibes. D'après son CHANGELOG, Pétrolette est en version 1.7 depuis l'été 2023. Le GitLab de Pétrolette est indiqué comme étant un miroir de son Framagit mais est en fait plus à jour, la dernière activité remontant à Noël 2024. C'est là que le développement se passe.

          D'après le compte Mastodon de Pétrolette, suite à des problèmes d'hébergement, l'instance principale est depuis décembre 2024 https://petrolette.onrender.com/ bien que celle-ci soit considérée comme temporaire. Les plus admin pourront bien sûr héberger leur propre instance, soit en local soit sur le Web, par exemple sur https://place.de.ma.mob/ si le domaine n'est pas déjà réservé.

          Procédure migratoire

          Par défaut, quand on va sur l'instance principale, qui est une instance partagée, on a un certain nombre d'onglets pré-remplis, avec en tout plus de trois cents flux. On peut les personnaliser (ce sera stocké en local), mais ce qui nous intéresse ici, c'est migrer de Netvibes à Pétrolette. Voici la procédure :

          • Dans Netvibes.com, sauvegarder ses données en allant dans « Compte > Sauvegarder vos données », choisir le tableau de bord, cliquer sur Exporter (fichier XML).
          • Dans Pétrolette, supprimer tous les onglets par défaut (croix rouges), importer le XML avec « Flux > Ouvrir ».
          • Tous les onglets et flux sont récupérés. Le titre d'un flux apparaîtra quand on clique sur son icône pour le déployer.
          • Déplier et configurer chaque flux (mais on devrait éventuellement aussi pouvoir travailler à partir du .conf pour réduire ce travail fastidieux).

          La configuration est stockée localement sur l'ordinateur et non pas en ligne (on n'a donc pas de compte Pétrolette, donc elle « ne sait rien de toi », elle ne sait pas ce que tu lis). On peut l'exporter dans un fichier .conf au format JSON et l'importer sur un autre PC pour avoir la même configuration.

          Synchronisation ?

          Mais une telle synchronisation manuelle n'est pas idéale et l'application peut utiliser le protocole remoteStorage pour pouvoir partager la même configuration sur plusieurs PC, et en particulier vers l'application 5apps. D'après l'aide, l'instance principale de Pétrolette ne gère que 5Apps (mais le menu affiche également des icônes pour Dropbox et Google Drive, qu'on devrait donc pouvoir utiliser si on héberge sa propre instance).

          On peut s'enregistrer sur 5apps à partir d'un compte GitHub, Bitbucket, GitLab.com ou en se créant un compte (adresse email, identifiant, mot de passe). 5apps vous fournit une « adresse utilisateur » du type login@5apps.com. On peut alors aller dans le menu de Pétrolette, cliquer sur remoteStorage et entrer l'adresse utilisateur pour faire la connexion. Il n'y a plus qu'à autoriser Pétrolette à y accéder et faire de même sur tous vos PC. Pour cela, sur chaque machine, connectez-vous à votre compte 5apps puis dans la liste des « Connected Apps », cliquez sur le lien petrolette.onrender.com, dont l'URL est du type https://5apps.com/rs/oauth/token/123d3215c5484b9a78987e8/launch_app.

          Nouveaux développements

          Ça c'est la théorie, dans la pratique la synchronisation semble problématique, avec un fonctionnement très capricieux, et après discussion avec l'auteur il pourrait bien s'agir d'un bug où l'application s'emmêlerait les pinceaux entre stockage local et stockage distant. C'est la mauvaise nouvelle. La bonne nouvelle (scoop !) c'est que ça pourrait être résolu dans une future Pétrolette 2 à laquelle réfléchit l'auteur !

          Voilà une bonne raison de réfléchir à l'invitation à faire un don au projet Pétrolette dans la fenêtre pop-up qui surgit de temps en temps. Il est en effet possible de faire un don sur Liberapay ou de prendre un abonnement sur Ko-fi : à partir de 1 €/mois le pop-up disparaît. Au-delà, on peut demander à l'auteur de créer un nombre plus ou moins important de flux RSS pour des sites qui n'en proposent normalement pas. Rappelons-nous que dans surveillance://, Tristan Nitot nous avertissait sur notre fâcheuse tendance à aimer la gratuité.

          Retour d'expérience

          Commençons par les points négatifs, ce qui nous permettra de finir sur le positif !

          Points négatifs

          • Lenteur pour mettre à jour les flux : quand on affiche sa page Pétrolette, tous les flux sont mis à jour simultanément, c'est-à-dire même dans les onglets qui ne sont pas affichés.
          • Pas de mise à jour périodique des flux. On peut certes les mettre à jour individuellement en cliquant sur une icône. Mais malheureusement, recharger la page avec F5 permet certes de mettre à jour tous les flux mais nous remet systématiquement sur le premier onglet. Pétrolette 2 proposera peut-être des fonctionnalités pour faciliter les mises à jour des flux.
          • N'affiche pas l'heure de parution des actualités, contrairement à Netvibes. Mais la date et l'heure sont indiquées dans la fenêtre d'aperçu quand on survole un titre.

          Points positifs

          • Les aperçus du texte qui apparaissent au survol de la souris sont plus longs qu'avec Netvibes, et même parfois très longs, ce qui permet d'avoir un bon aperçu du contenu avant un éventuel clic, voire même de s'en passer.
          • La hauteur (en pixels) des cadres peut être réglée plus finement qu'avec Netvibes (où seules trois hauteurs standards étaient disponibles). Cela peut d'ailleurs être utilisé pour augmenter la distance verticale entre deux cadres, ceux-ci étant par défaut collés de façon un peu compacte.
          • Les titres longs apparaissent en entier sur plusieurs lignes, alors qu'ils sont coupés dans Netvibes. Cela peut-être un avantage mais parfois aussi un défaut avec certains sites qui proposent des titres à rallonge (du genre trois lignes sur Developpez.com !) que l'oeil a du mal à lire au vol.
          • Le menu principal propose de déposer un marque-page dans la barre du navigateur. Il contient un script qui d'un clic ajoutera le site de l'onglet courant dans votre Pétrolette.
          • Le champ de recherche permet de chercher un terme dans tous les titres de l'ensemble des onglets. Les zones où il est trouvé apparaissent encadrées en jaune.

          Prêts pour l’équipée sauvage ?

          « Dès que les vents tourneront nous nous en allerons… » Il le faudra bien, le 2 juin tout s'arrête. Et donc tout recommence. On a maintenant toutes les réponses à la question synthétique et sympathique « c'est quand qu'on va où ? » Quand ? On le sait depuis le début et on l'a répété, c'est le 2 juin ! Où ? On espère y avoir apporter une réponse dans cette dépêche.

          Et puis à l'heure où les algorithmes profiteurs des réseaux sociaux commerciaux tendent à enfermer l'utilisateur dans sa bulle informationnelle au seul motif d'optimiser les profits et où les moteurs IA sapent la sérendipité du Web, se balader humblement en mobylette RSS devient une véritable mesure d'hygiène mentale. En plus c'est libre.

          « La Pétrolette », 1895Figure 1 - « Quand j’me balade en mobylette / On dirait l’équipée sauvage ». Ouais, ça carbure librement avec « La Pétrolette » (Duncan & Suberbie, 1895 - 1898) [source : Wikimedia, domaine public].

          Commentaires : voir le flux Atom ouvrir dans le navigateur

          Sortie du gestionnaire d'archives PeaZip 10.4.0

          PeaZip n'a jamais été abordé dans ces colonnes jusqu'à présent, alors qu'il fait partie des outils multi-plateformes permettant une transition en douceur vers le libre. Il a presque dix ans. Sortie le 14 avril, la version 10.4 continue la série 10.0 commencée en octobre 2024.

          PeaZip Linux thème sombre sous Wayland
          PeaZip affiché avec son thème sombre dans Wayland

          Giogio Tani, le développeur de PeaZip publie plusieurs versions chaque année. Le logiciel évolue par petites touches largement testées via les fonctions "expérimentales" des versions précédentes.

          icone de PeaZip

          Je trouve beaucoup d'atouts à PeaZip

          Il est libre, multi-plateformes, multi-architecture, portable (nomade), écrit en FreePascal avec Lazarus, ouvre et écrit plusieurs formats d'archives. Il est rapide et assez léger pour un tout-en-un (11,2 MB). Il est bien maintenu, l'auteur est transparent sur la sécurité, documentation et tutoriels sont conséquents et pédagogiques. L'interface est travaillée, sobre, ergonomique, thémable, configurable, jolie, … N'en jetez plus ! Ah si encore : il est dispo en Gtk et Qt sous X11 et Wayland, et l'auteur l'empaquête à tout va.

          C'est un humble logiciel très bien foutu, très travaillé, utile pour installer des outils libres sur les systèmes proprios afin de les amener en douceur vers Linux ou *BSD (il ne fonctionne pas encore sous Haïku).

          Architectures et systèmes

          • Linux x86_64, x86, ARM, aarch64 ;
          • Windows, ReactOS, Wine ;
          • Darwin, macOS Intel et aarch64 (Apple Silicon), la famille BSD.

          PeaZip propose des fonctions peu courantes

          • Le moteur de scriptage intégré permet de convertir vos opérations graphiques pour les automatiser et les étendre avec des options en ligne de commande ;
          • un chiffrement solide est disponible, avec authentification à double facteur ;
          • l'interface graphique est unifiée sur tous les systèmes et architectures pris en charge, même pour les formats moins courant (zpaq, brotli, zstandard) ;
          • le gestionnaire de fichiers avancé facilite, par exemple, la vérification des sommes de contrôles, la déduplication, la conversion de formats d'archives, la recherche, etc ;
          • c'est un outil portable et nomade qu'on peut copier sur une clé usb, sur le net ou partager en réseau sans l'installer ;
          • PeaZip dispose d'une transparence et des options de suivi pour la vie privée et la sécurité.

          Commentaires : voir le flux Atom ouvrir dans le navigateur

          QEMU 10.0

          Comme tous les ans, Qemu sort une nouvelle version majeure. Le numéro n'implique donc pas de grands bouleversements. Il s'agit plutôt d'une base stable qui va être maintenue et améliorée pendant quelques années. Ainsi, les versions 7, 8 et 9 ont eu des mises à jour en mars 2025.

          Comme d'habitude, les architectures ARM et Risc-V se taillent la part du lion et sont enrichies de nouvelles architectures. Les accès aux stockages sont partout plus rapides, et l'espace utilisateur accède toujours mieux au matériel.

          Qemu est devenu une pièce importante dans le monde des serveurs et des développeurs. En tant qu'émulateur il permet de développer, compiler ou lancer un programme sur un processeur ou une machine différente. Couplé à KVM, XEN ou VMWare, il permet une virtualisation performante.

          Quoi de neuf ?

          L'article de Next résume bien les changements sur ARM et Risc-V. C'est technique, n'étant pas connaisseur je vous y renvoie.

          x86 bénéficie de changements globaux à toutes les architectures avec quelques ajouts spécifiques pour des processeurs Intel. Mon petit doigt impatient de tester me souffle que ça sera plus rapide avec des accès "multithread1" aux périphériques de stockage (virtio-scsi et virtio-blk). L'accès direct au matériel en espace utlisateur continue de s'améliorer (VFIO, fonctions virtuelles d'entrées-sorties).

          Les autres changements concernent l'émulation des architectures HPPA et S390.

          Attention aux trucs enlevés

          À chaque version ou presque, des morceaux sont enlevés. Si vous faites dans l'exotique, ne vous précipitez pas sur la dernière version sans consulter la liste des Removed features.

          Documentation d'introduction pour QEMU et la virtualisation

          En guise de conclusion, voici quelques pistes pour ceux et celles qui débutent avec la virtualisation sous Linux et/ou QEMU. Différentes distributions Linux ont de la documentation sous licence libre. Loin d'être exhaustif, voici quelques choix :


          1. Qu'on me pardonne ce mot, je simplifie pour faire court! 

          Commentaires : voir le flux Atom ouvrir dans le navigateur

          20 ans de Fedora-fr : quatrième entretien avec Timothée contributeur des systèmes immuables et KDE

          Dans le cadre des 20 ans de Fedora-fr et du Projet Fedora en lui-même, Nicolas Berrehouc alias Nicosss et moi-même (Charles-Antoine Couret alias Renault) avons souhaité poser des questions à des contributeurs francophones du Projet Fedora et de Fedora-fr.

          La diversité des profils permet de voir le fonctionnement du projet Fedora sous différents angles, au-delà de la distribution, mais aussi comment il est organisé et conçu. Certains points s’appliquent d’ailleurs à d’autres distributions.

          N’oublions pas que le Projet Fedora reste un projet mondial et un travail d’équipe, ce que ces entretiens ne permettent pas forcément de refléter. Mais la communauté francophone a la chance d’avoir suffisamment de contributeurs et de contributrices de qualité pour permettre de donner un aperçu de beaucoup de sous-projets de la distribution.

          Chaque semaine un nouvel entretien sera publié sur le forum Fedora-fr.org, LinuxFr.org et le blog de Renault.

          L’entretien du jour concerne Timothée Ravier, contributeur au Projet Fedora en particulier aux systèmes dits immuables et à l’environnement KDE Plasma.

            Sommaire

            Bonjour Timothée, peux-tu présenter brièvement ton parcours ?

            J’ai commencé à m’intéresser aux logiciels open source autour de 2004 lorsque j’ai découvert Firefox (version 1.0 à l’époque) par l’intermédiaire d’un ami qui l’a téléchargé pour moi sur un CD ré-inscriptible, car je n’avais pas encore l’ADSL à l’époque. J’ai ensuite découvert Linux avec Ubuntu 6.06. Après mes études d’ingénieur en sécurité informatique, j’ai travaillé à l’ANSSI pendant cinq ans sur le projet CLIP OS et je travaille désormais pour Red Hat où je co-dirige l’équipe CoreOS, qui est responsable de la maintenance de Fedora CoreOS et de Red Hat Enterprise Linux CoreOS pour OpenShift.

            Peux-tu présenter brièvement tes contributions au Projet Fedora ?

            Mes contributions à Fedora sont liées à mon intérêt pour les systèmes orientés conteneurs, parfois dénommés immuables (immutable). Je fais ainsi partie de l’équipe qui maintient Fedora CoreOS, je suis un mainteneur des Fedora Atomic Desktops (principalement Silverblue et Kinoite) et je suis membre du KDE Special Interest Group (SIG).

            Qu’est-ce qui fait que tu es venu sur Fedora et que tu y es resté ?

            Je suis passé par plusieurs distributions Linux (Ubuntu, Gentoo, Arch Linux) mais je suis désormais sur Fedora.

            Je pense que les « Four Foundations » de Fedora représentent bien mon parcours :

            • Freedom : Je suis là parce que je suis intéressé par les logiciels libres, car ils permettent un partage, une mise en commun au bénéfice de tous.
            • Features, First : C’est la force de la communauté Fedora d’un point de vue technologique. Je développe ce point dans les questions suivantes.
            • Friends : Je me suis fait des amis dans la communauté Fedora et cela contribue à la bonne ambiance et la motivation pour continuer à contribuer.

            Pourquoi contribuer à Fedora en particulier ?

            Je préfère être proche des projets upstream et des dernières évolutions. C’est pour cela que j’étais pendant un long moment sous Arch Linux.

            Mais le processus pour pousser des changements dans Arch Linux était plutôt flou. Il est important de noter que cela a peut-être changé désormais. Mon expérience date de plus de 6 ans et je crois qu’ils ont un processus de RFC maintenant. Le fonctionnement d’Arch Linux impose aussi des mises à jour régulières et une certaine discipline lors des mises à jour liée au modèle de développement sans version fixe.

            Je commençais alors à m’intéresser de plus en plus aux systèmes à base d’images (CoreOS Container Linux et Fedora Atomic Host à l’époque) et je suis donc allé voir Fedora Atomic Workstation (ancien nom de Silverblue) pour créer une version à base de l’environnement KDE Plasma, qui est devenue Fedora Kinoite.

            Le processus pour pousser des changements dans Fedora est ce qui fait la force de la distribution. Il permet d’obtenir des discussions et des décisions sur les évolutions à apporter à la distribution pour la prochaine version.

            Contribues-tu à d’autres Logiciels Libres ? Si oui, lesquels et comment ?

            En dehors de Fedora, je contribue principalement au développement des projets KDE. Je fais partie de l’équipe qui maintient les applications KDE empaquetées avec Flatpak et publiées sur Flathub.

            Je contribue aussi occasionnellement à différents projets open source en fonction des besoins.

            Utilises-tu Fedora dans un contexte professionnel ? Et pourquoi ?

            Oui, mes ordinateurs professionnels et personnels tournent sous Fedora Kinoite et mes serveurs personnels utilisent Fedora CoreOS. Une partie des serveurs que nous utilisons pour développer et produire les versions de Fedora CoreOS sont aussi sous Fedora CoreOS. D’autres sont sous Red Hat Enterprise Linux CoreOS, car ils font partie d’un cluster OpenShift.

            En gros, nous sommes aussi des utilisateurs directs des logiciels que nous développons.

            Est-ce que tes contributions dans Fedora se font entièrement dans le cadre de ton travail ? Si non, pourquoi ?

            Une grosse partie de mes contributions se font dans le cadre de mon travail, mais toute la partie liée à KDE et aux Fedora Atomic Desktops est faite sur mon temps personnel.

            Est-ce que être employé Red Hat te donne d’autres droits ou opportunités au sein du Projet Fedora ?

            Je n’ai pas plus de droits dans Fedora parce que je travaille pour Red Hat. Je dois suivre tous les processus de Fedora comme n’importe quel contributeur. J’ai d’ailleurs commencé à contribuer à Fedora avant d’avoir été employé par Red Hat.

            En revanche, il est indéniable que cela m’aide pour contribuer, car j’ai régulièrement l’occasion de discuter avec d’autres contributeurs Fedora dans le cadre de mon travail.

            Tu as débuté une carrière dans la sécurité pour finalement travailler pour Red Hat en tant que mainteneur de CoreOS, Silverblue, Kinoite et contributeur à KDE, pourquoi ne pas avoir continué dans la sécurité pour cet écosystème ?

            Quelque part je continue à faire de la sécurité mais sous un autre angle. La sécurité que je faisais avant ne bénéficiait qu’à un petit nombre de personnes qui avait accès aux systèmes que l’on développait. La nouvelle version open source de CLIP OS devait rendre le système plus accessible mais le projet était complexe et je crois qu’il est désormais archivé.

            Je travaille désormais à améliorer la sécurité de Fedora CoreOS et des Fedora Atomic Desktops sans compromettre leur utilisabilité. L’objectif est de fournir une distribution Linux avec des mises à jour robustes qui soit utilisable par des non développeurs.

            Tu participes à CoreOS pour RHEL, CentOS Stream et Fedora. Peux-tu expliquer le but de CoreOS et ses principales caractéristiques ? Quelles sont les différences entre RHEL, CentOS Stream et Fedora à ce sujet ?

            L’objectif pour les systèmes CoreOS est de faire tourner au mieux des applications dans des conteneurs. Pour Fedora CoreOS, c’est un système minimal, avec des mises à jour automatiques, proposant à la fois podman et moby-engine (Docker) installés par défaut, prêt à faire tourner des conteneurs sur un seul nœud ou dans le cadre d’un cluster Kubernetes.

            Pour Red Hat Enterprise Linux CoreOS (et CentOS Stream CoreOS), ce sont des systèmes qui forment le socle d’OpenShift (et d’OKD), une plateforme qui intègre plein de projets open source dont Kubernetes.

            Bien qu’il n’y ait pas une correspondance exacte un pour un dans la liste des logiciels inclus, Fedora CoreOS est l’upstream de CentOS Stream CoreOS et Red Hat Enterprise Linux CoreOS, de la même façon que Fedora est l’upstream de CentOS Stream, qui l’est de Red Hat Enterprise Linux.

            L’architecture atomic a gagné du terrain sur les systèmes pour le bureau avec Silverblue et Kinoite et devient relativement populaire, peux-tu expliquer quel en est l’intérêt d’une telle conception pour ce genre de systèmes ?

            Le principal intérêt pour un utilisateur est la robustesse et rapidité des mises à jour. Celles-ci sont préparées en arrière plan alors que le système fonctionne normalement. Il suffit alors de redémarrer pour mettre à jour son système. Il n’y a pas d’attente supplémentaire ni à l’extinction ni au démarrage.

            Si une mise à jour échoue, le système reste dans l’état actuel, et il est possible de réessayer plus tard.
            Si une mise à jour introduit un problème important empêchant le démarrage du système par exemple, il est possible de redémarrer et de choisir la version précédente dans le menu de démarrage de GRUB.

            Les utilisateurs sont aussi poussés à utiliser Flatpak pour installer leurs applications graphiques et toolbox (ou distrobox) pour utiliser les applications en ligne de commandes dans des conteneurs.

            Quels sont les défis techniques de proposer cette conception dans ces systèmes par rapport à CoreOS par exemple ?

            La principale différence est la présence d’une interface graphique. Les applications graphiques doivent être parfois adaptées pour fonctionner avec Flatpak. C’est désormais le cas de la plupart d’entre elles.

            Tu y contribues en tant que membre de Fedora Atomic Desktops SIG, peux-tu expliquer son rôle dans Fedora et ton activité dedans ?

            Le rôle du Fedora Atomic Desktops SIG est de regrouper l’ensemble des contributeurs Fedora des différentes variantes Atomic : Silverblue, Kinoite, Sway Atomic et Budgie Atomic. Bien que chacun de ces systèmes propose un environnement de bureau distinct, ils partagent énormément d’éléments, tant au niveau des composants de base du système que de l’infrastructure Fedora. Le SIG permet donc de regrouper les contributeurs pour pouvoir les inclure dans les prises de décisions qui impactent ces systèmes.

            Je participe à la maintenance des Fedora Atomic Desktops et plus principalement de Silverblue et Kinoite. Cela peut impliquer des mises à jour de paquets, des corrections de bugs dans des projets upstream ou des rajouts de fonctionnalités pour améliorer l’expérience sur ces systèmes. Je surveille aussi que tous les Atomic Desktops continuent de recevoir des mises à jour régulièrement.

            Penses-tu qu’un jour ces systèmes atomic deviendront la référence par défaut ? Si oui à quelle échéance ? Quelles sont les difficultés actuelles à résoudre ?

            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 (https://bazzite.gg/), est très populaire.

            Pour la problématique des pilotes, est-ce que l’initiative du noyau unifié (d’avoir une image universelle et signée comprenant le noyau, initrd, la ligne de commande) te semble être une solution à cette problématique ?

            Ces deux sujets ne sont pas liés.

            Le problème des pilotes externes au noyau Linux upstream est divisé en deux cas principaux :

            • Les pilotes propriétaires : Ils ne seront jamais ajoutés directement à Fedora pour des raisons légales et de licence.
            • Les pilotes open source mais non inclus dans le noyau Linux upstream : Fedora met à jour le noyau Linux très régulièrement et suit les nouvelles versions stables peu de temps après leur sortie officielle. Il faut donc que ces pilotes soient mis à jour pour suivre les nouvelles versions du noyau et cela demande toujours du temps lorsque ceux-ci ne font pas partie du noyau upstream.

            Les images noyau unifiées (Unified Kernel Images ou UKI) incluent le noyau, l’initrd et la ligne de commande du noyau dans un seul fichier. Cela présente des avantages pour mettre en place une chaîne de boot mesurée, notamment à l’aide du TPM, et donc pour offrir de meilleures garanties de sécurité. Leur intégration est encore en cours dans les variantes CoreOS et Atomic Desktops.

            Les développeurs et administrateurs systèmes ont souvent besoin d’outils qui à ce jour nécessitent souvent de recourir à rpm-ostree plutôt que Flatpak ou Fedora toolbox dans le cadre d’un système immuable. Penses-tu que ces verrous sont un réel problème et qu’ils seront éventuellement résolus dans le temps ?

            L’un des objectifs de la nouvelle initiative conteneurs bootables (« Bootable Containers ») est justement de rendre plus ergonomique la modification du système de base. Le système est distribué sous forme d’une image de conteneur standard (image OCI) et il est possible de la modifier à l’aide d’un Containerfile / Dockerfile et d’outils natifs aux conteneurs. Cela permet aux utilisateurs de ré-utiliser leurs habitudes et outils pour modifier aussi leur système de façon sûre et de partager le résultat à l’aide d’un registre d’image de conteneurs.

            Nous allons aussi ajouter à nouveau dnf (version 5) dans ces images de conteneurs pour mettre à disposition des utilisateurs une interface familière et toutes les options de dnf lors de la construction de ces images.

            Une autre piste est d’utiliser le concept des extensions systèmes de systemd (systemd system extensions ou sysexts), qui permettent d’ajouter du contenu dynamiquement à un système sans perdre les avantages de la gestion à base d’images. Les sysexts utilisent la même technologie que pour les conteneurs (overlayfs) pour ajouter des éléments (merge) au contenu des dossiers /usr et /opt de l’image de base. Je suis en train d’investiguer cette option pour rendre son usage ergonomique pour ces systèmes : https://github.com/travier/fedora-sysexts.

            Il est aussi possible de modifier temporairement le système en utilisant un système de fichier temporaire monté au-dessus des emplacements en lecture seule (overlayfs). Les fichiers de /usr peuvent alors être modifiés et de nouveaux paquets RPM installés à la demande. Les modifications disparaîtront au redémarrage.

            Tu participes aussi à l’équipe de KDE SIG, peux-tu expliquer son rôle dans Fedora et ton activité dedans ?

            L’objectif du KDE SIG est de proposer la meilleure expérience possible de KDE sur Fedora. Nous suivons et contribuons aussi au développement de KDE upstream.

            Je participe au KDE SIG en tant que mainteneur de Kinoite et développeur KDE.

            GNOME reste le bureau principal de Fedora à ce jour, cependant la qualité de l’intégration de KDE progresse depuis de nombreuses années maintenant, penses-tu que la qualité entre les deux est aujourd’hui équivalente ? Est-ce que les contributions pour KDE sont freinées de par le statut de GNOME au sein du projet ?

            C’est une question très difficile, car elle est très subjective. J’utilise principalement KDE sur mes systèmes, mais j’apprécie énormément le travail de design fait sur GNOME. Pour moi c’est un choix personnel.

            D’un point de vue technologique, il est possible de trouver des éléments “meilleurs” dans GNOME que dans KDE et l’inverse.

            Il n’y a pas de bénéfice à opposer ces deux projets. C’est au contraire la collaboration qui améliore l’expérience utilisateur.

            Je ne pense pas que les contributions à KDE soient freinées par le status de GNOME dans Fedora.

            L’équipe KDE SIG a récemment proposé d’améliorer le statut de KDE au sein du projet, quitte à même remplacer GNOME pour Fedora Workstation, peux-tu expliquer cette demande ? Penses-tu qu’un jour KDE remplacera GNOME au sein de Fedora ou de RHEL par exemple ?

            L’idée des membres soutenant cette proposition (qui ne vient pas uniquement de personnes faisant partie du KDE SIG) est de remettre en question la place de GNOME « par défaut » dans le projet Fedora (notamment Fedora Workstation). Poser cette question force le projet à clarifier les critères qui font qu’un environnement de bureau est considéré comme majeur et donc autorisé à être représenté par une “édition” comme Fedora Workstation. Tous les environnements de bureau non-GNOME ne sont actuellement pas bien présentés sur le site de Fedora notamment.

            Il est important pour un projet communautaire de pouvoir justifier ses choix, que l’on soit d’accord ou non avec les arguments présentés. Si ces choix sont perçus comme arbitraires (« c’est comme ça que cela a toujours été », « c’est un employé de Red Hat qui l’a décidé »), alors le projet Fedora perd en crédibilité. Il faut, par exemple, pouvoir justifier que GNOME est un bon choix à présenter aux utilisateurs découvrant Fedora.

            Je ne pense pas que KDE va “remplacer” GNOME dans Fedora et ce n’est pas vraiment l’idée derrière cette proposition qui a été formulée explicitement de la sorte pour forcer la discussion. L’objectif est de rendre KDE plus visible dans Fedora.

            Pour ce qui est de remplacer GNOME dans RHEL, c’est peu probable et cela serait une décision de Red Hat.

            Penses-tu que Fedora est une distribution de référence pour utiliser KDE aujourd’hui ? Par le passé OpenSUSE, Kubuntu ou Mageia étaient souvent recommandées pour utiliser cet environnement.

            Oui ! :) Fedora propose depuis plusieurs années les dernières versions de KDE à des fréquences très proches des sorties upstream. Nous sommes actuellement l’une des premières distributions à proposer le bureau KDE Plasma dans sa version 6. Le KDE SIG suit et participe activement au développement de KDE upstream et certains développeurs KDE recommandent désormais Fedora.

            Je travaille avec Fedora Kinoite à rendre le développement de KDE plus abordable, notamment pour le test des versions en cours de développement.

            Si tu avais la possibilité de changer quelque chose dans la distribution Fedora ou dans sa manière de fonctionner, qu’est-ce que ce serait ?

            Je regrouperai l’intégralité des dépôts Git, codes sources, projets, suivi des bugs, etc. sur une (ou plusieurs) instance GitLab hébergée par le projet Fedora. C’est un projet qui est désormais en cours pour migrer vers Forgejo. Finies les instances Pagure (forge de développement Git), plus de Bugzilla (suivi des bugs). Il faudrait aussi abandonner les listes de diffusion pour utiliser Discourse à la place (transition aussi en cours).

            D’un point de vue personnel, la migration du projet KDE vers GitLab fut un facteur déterminant dans ma capacité à contribuer au projet KDE. Le mode de contributions à l’aide de Pull Requests / Merge Requests à travers une interface web est devenu un standard qui réduit significativement la difficulté pour un premier contributeur à participer à un projet.

            Je pense que c’est la prochaine étape importante pour rendre le développement de Fedora plus accessible et donc pour attirer plus de contributeurs.

            À l’inverse, est-ce qu’il y a quelque chose que tu souhaiterais conserver à tout prix dans la distribution ou le projet en lui-même ?

            Le processus pour proposer un changement (Change Process). C’est la clé de ce qui fait de Fedora une distribution à la pointe, qui évolue à chaque nouvelle version et qui pousse l’écosystème en avant.

            Que penses-tu de la communauté Fedora-fr que ce soit son évolution et sa situation actuelle ? Qu’est-ce que tu améliorerais si tu en avais la possibilité ?

            Malheureusement, je n’ai pas eu beaucoup d’interactions avec la communauté Fedora-fr, donc je n’ai pas grand-chose à dire.

            Quelque chose à ajouter ?

            Merci pour l’entretien !

            Si vous souhaitez en apprendre plus sur ces systèmes, je vous recommande les documentations officielles des projets ou les présentations que j’ai réalisées (une ou deux en français).

            Merci Timothée pour ta contribution !

            Conclusion

            Nous espérons que cet entretien vous a permis d’en découvrir un peu plus sur les systèmes immuables de Fedora et l’environnement KDE Plasma.

            Si vous avez des questions ou que vous souhaitez participer au Projet Fedora ou Fedora-fr, ou simplement l’utiliser et l’installer sur votre machine, n’hésitez pas à en discuter avec nous en commentaire ou sur le forum Fedora-fr.

            À dans 10 jours pour un entretien avec Thomas Canniot, ancien traducteur de Fedora en français et fondateur de l’association Fedora-fr.

            Commentaires : voir le flux Atom ouvrir dans le navigateur

            Proxmox Virtual Environment 8.4 est disponible

            Proxmox Server Solutions GmbH a publié la version 8.4 de sa plate-forme de virtualisation libre Proxmox Virtual Environment (VE). Proxmox VE est sous licence GNU Affero GPLv3. Proxmox Server Solutions propose un support d’entreprise à partir de 115 € par an et par processeur.

            Principales nouveautés de la version 8.4

            • Migration à chaud avec des dispositifs médiés :
              Les dispositifs médiés permettent de partitionner les ressources matérielles physiques en plusieurs dispositifs virtuels. Il est désormais possible de migrer des machines virtuelles (VM) en cours d’exécution utilisant des dispositifs médiés, tels que les vGPU NVIDIA.

            • API pour les solutions de sauvegarde tierces :
              Proxmox VE propose une API qui simplifie le développement de plug-ins par les fournisseurs de solutions de sauvegarde externes. Ces solutions de sauvegarde tierces peuvent désormais implémenter directement des fonctionnalités de sauvegarde et de restauration dans Proxmox VE, tout en tirant parti de fonctionnalités avancées.

            • Passage direct de répertoires via Virtiofs :
              La version 8.4 offre la possibilité de partager des fichiers et des répertoires directement entre un hôte et les machines virtuelles (VM) exécutées sur cet hôte. Cette fonctionnalité est rendue possible par virtiofs, qui permet aux machines virtuelles d’accéder aux fichiers et répertoires de l’hôte sans surcharger le système de fichiers réseau. Les systèmes invités Linux modernes sont dotés de la prise en charge native de virtiofs, tandis que pour les invités Windows, l'utilisation de cette fonctionnalité nécessite un logiciel supplémentaire.

            • Mises à jour de tous les composants libres :
              Proxmox VE 8.4 est basé sur Debian 12.10 (“Bookworm”), mais utilise par défaut le noyau Linux 6.8.12. Cette version de Proxmox VE inclut des mises à jour vers les dernières versions des principales technologies open source pour les environnements virtuels, telles que QEMU 9.2.0, LXC 6.0.0. La solution est livrée avec ZFS 2.2.7 et Ceph Squid 19.2.1.

            D’autres améliorations incluent un mécanisme de filtrage de sauvegarde plus robuste, des améliorations de la pile SDN (réseau défini par logiciel), et de nouvelles options dans l’installateur ISO.

            Commentaires : voir le flux Atom ouvrir dans le navigateur

            Rendez-nous nos boutons !

            Cette dépêche fait suite à celle sur les interfaces temps réel ainsi qu’a celle sur l’informatique sans écran. C’est une dépêche de réac qui se plaint que c’était bien mieux avant et qu’on ferait bien d’écouter les anciens un peu plus.

            Sommaire

            C’est une note du blog de ploum qui m’a fait réaliser que l’on a besoin de remettre des boutons, des touches, des joysticks, des potentiomètres linéaires et autres boules de pointage (trackball), souris (boutons et molette), manettes… sur nos ordinateurs, télés, ordiphones, bagnoles et autres mixeurs à soupe mouchard. C’est urgent à l’heure où même nos guitares sont menacées par les écrans tactiles. Bref, une bonne interface Humain/Machine passe par un retour tactile de nos actions : on veut des boutons !

            ChatGpt refuse de dessiner les ados boutonneux

            Figure 1 - Refus catégorique de ChatGPT. Peut-être que « Dessine moi un adolescent avec plein de moutons » aurait été mieux accepté. Big Data implique Big Culture, non ?

            Retour vers le futur boutonneux

            Avant de râler et de déclencher la Guerre des boutons, interrogeons-nous sur ces objets du quotidien. On est sérieux à nôtre âge, on n’a plus dix-sept ans.

            Si on considère les touches des claviers d’instruments de musique comme les ancêtres du bouton, alors on peut remonter jusqu’à l’Antiquité et aux premiers orgues : l’hydraule, orgue où l’air est mis sous pression par une chute d’eau, date en effet du IIIe siècle avant notre ère (Ctésibios d’Alexandrie). C’est aussi le premier instrument à clavier. Ses touches avaient probablement des mécanismes très simples et il n’y avait pas de touches blanches et noires, comme dans cette reconstitution d’un orgue antique (avec même le son dans la vidéo). Vers 320-322 de notre ère, Claudien écrit un poème contenant ces vers :

            « Qu’un autre enfantant, par une légère pression, des sons au loin retentissant, modère les mille voix de mille tuyaux d’airain, les fasse tonner sous ses doigts errants, et d’une onde profondément agitée par le jeu du levier, tire d’harmonieuses modulations. » (Panégyrique sur le consulat de Flavius Mallius Theodorus)

            Reconstitution d’un orgue romainFigure 2 - Reconstitution d’un orgue romain. [Source : Wikimedia, domaine public]

            On trouve déjà dans cette description le constat qu’il suffit d’appuyer sur un bouton pour déclencher des tâches mobilisant une grande puissance. Seize siècles plus tard, en pleine guerre froide et deux ans après la crise des missiles de Cuba, le jeune Bob Dylan (22 ans) chante dans With God On Our Side (The Times They Are A-Changin’, 1964) :

            One push of the button
            And a shot the world wide

            USS Growler launch controlFigure 3 - Tableau de bord des missiles de croisière nucléaires du sous-marin USS Growler (1958-1964). [Source : Wikimedia, licence : CC-BY-SA par Flintmichigan]

            C’est en fait dans les deux dernières décennies du XIXe siècle, avec la diffusion de l’électricité dans les villes, que se produit la grande éruption des boutons. Nous avons bien sûr oublié à quel point c’était magique à l’époque ! Mais on s’inquiète aussi rapidement de l’avènement d’une humanité presse-bouton :

            Plotnick cite un éducateur et activiste de 1916 déplorant que le fait d’appuyer sur un bouton « semble nous décharger de toute nécessité de se sentir responsable quant à ce qui se passe derrière le bouton ».

            Les récits d’anticipation s’en emparent. Par exemple, Edward Morgan Forster publie en 1909 une nouvelle intitulée The Machine Stops (La Machine s’arrête) dans laquelle les êtres humains vivent sous terre isolés chacun dans une pièce, quasiment sans contact physique, la Machine satisfaisant tous leurs besoins :

            Puis elle activa la lumière, et la vue de sa chambre, inondée de lumière et constellée de boutons électriques, la revigora. Il y avait des boutons et des interrupteurs partout - des boutons pour demander de la nourriture, de la musique, des vêtements. Il y avait le bouton du bain chaud, qui faisait surgir du sol une cuve en (faux) marbre, remplie à ras bord d’un liquide chaud et désodorisé. Il y avait le bouton du bain froid. Il y avait le bouton qui produisait de la littérature. Et il y avait bien sûr les boutons qui lui permettaient de communiquer avec ses amis. La chambre, bien que ne contenant rien, était connectée avec tout ce qui lui importait dans le monde. (Version originale en ligne sur The Project Gutenberg et version française éditée par l’échappée)

            C’était mieux avant ! (On était jeune)

            Tout râleur qui tient à sa crédibilité se doit de râler en connaissance de cause. On n’ira donc pas jusqu’à prétendre que c’était mieux sans bouton et on se contentera de notre vécu : c’était mieux avant quand il y avait de vrais boutons ! Qu’on pouvait pressurer et qui faisaient de vrais sons, « des clip, crap, des bang, des vlop et des zip », qui résistaient, qui vibraient, qui glissaient ! Bref, qui nous donnaient des sensations.

            Hard Rock Cafe Florence - Touchscreen with The Doors quoteFigure 4 - Malgré cet appel touchant, les portes de la perception semblent désormais presque fermées. Le monde est devenu plat et lisse ; les êtres humains se sont enfermés dans leur caverne numérique. [Source : Wikimedia, licence : CC-BY par SunOfErat]

            Bien que la technologie des écrans tactiles soit assez ancienne, c’est surtout l’envolée des ventes de smartphones et tablettes autour de 2010 qui va propager les interfaces tactiles à d’autres objets du quotidien : des appareils électroménagers jusqu’aux voitures, pour le meilleur et pour le pire. Probablement parce qu’un écran tactile avec des menus permet de remplacer de nombreux boutons et aussi par effet de mode (ça fait moderne, en attendant les interfaces cérébrales). Dans nos interfaces graphiques, telles que GTK, on retrouve des ersatz de boutons : interrupteurs On/Off, boutons radio (quand on presse sur l’un, l’autre ressort), commutateurs (switches), etc. Mais tout ça manque de relief !

            Sur les lecteurs de K7, on pouvait avoir des boutons poussoir qui remettaient à zéro le compteur (mécanique). Et également des boutons qu’on poussait vers le bas et qui restaient bloqués (lecture) ou non (éjection). Press the Eject and Give Me the Tape est par exemple le titre d’un album live du groupe britannique Bauhaus sorti en 1982.

            RadioShack CTR-119Figure 5 - Un magnétophone : appuie sur Eject et file-moi la K7 ! [Source : Wikimedia, domaine public]

            Sur une chaîne Hi-Fi, on trouve de bons gros boutons cylindriques que l’on peut prendre à pleine main. Ils peuvent être continus (par exemple pour le volume), c’est-à-dire que ce sont des potentiomètres rotatifs, ou à crans (par exemple pour sélectionner une source). Ces gros boutons ont été longtemps également utilisés pour sélectionner les fréquences des stations de radio et ils faisaient bouger un curseur au-dessus des graduations. Sur nos chaînes, on peut aussi avoir des boutons de type manette, avec deux positions ou plus. Sur les radio-K7 on pouvait également rencontrer des potentiomètres linéaires pour régler le volume ou la tonalité. On les utilise aussi sur les égaliseurs, comme ci-dessous.

            Sharp CD-S400 Hi-Fi system, ca. 1993Figure 6 - Une éruption de boutons divers et variés, sensations garanties [source : Wikimedia, licence : CC0].

            Dans la suite de cette dépêche, on va surtout évoquer les boutons poussoir (qu’ils restent bloqués ou non) car ce sont ceux que l’on rencontre le plus dans les interfaces tactiles. Mais le discours serait similaire pour les autres types de boutons.

            Ça change quoi ? Un bouton c’est un bouton, non ?

            Le problème de l’écran tactile, c’est que c’est l’écran qui est tactile, qui touche, qui sent notre doigt. Le doigt, quant à lui, sent juste qu’il a touché une surface, mais il ne sait pas s’il est au bon endroit. L’écran est soi-disant tactile, mais c’est avant tout un écran, ce qui implique la vue. Lorsque l’on touche le bouton avec son doigt, on le cache. Pour savoir s’il on a bien appuyé sur le bouton il faut donc retirer son doigt et regarder à nouveau si le bouton virtuel a changé d’état.

            Du point de vue de l’utilisateur, on a donc plutôt affaire à des « boutons visuels » plutôt qu’à un « écran tactile ». Tout au plus l’émission d’un clic électronique ou d’une vibration non localisée confirmera qu’on a appuyé sur un bouton (parmi d’autres).

            Avec de vrais boutons, c’est du 3D. Si on a mémorisé leur disposition, on peut s’en sortir sans la vue, uniquement au toucher. Intéressant quand on conduit par exemple, les doigts se promènent par exemple sur les six boutons pour choisir la station de radio et trouvent sans problème le troisième bouton. Une personne aveugle sera bien démunie face à un écran tactile. Un bouton mécanique est quant à lui vraiment tactile, c’est-à-dire que les doigts le sentent : le toucher prédomine alors sur la vision. D’ailleurs en français, les « boutons » d’un clavier, qu’il soit musical ou informatique, s’appellent des touches.

            On peut aussi noter que les vrais boutons sont généralement en nombre limité (car ça prend de la place et ça coûte). Ils permettent donc d’effectuer les actions les plus courantes. Les écrans permettent de créer des menus, pour des choix plus complexes. Mais cela peut être redoutable pour certaines personnes âgées, qui n’ont pas été habituées à ces technologies, ou dont les fonctions cérébrales déclinent. Ne parlons même pas des mises à jours logiciels incessantes qui changent l’aspect et la disposition des menus.
            Le pire étant le manque de performance (c'est rarement temps réel) qui nous force souvent à ré-apppuyer pour se retrouver avec un comportement que l'on avait pas prévu quand ça se débloque.

            Autre problème, on a parfois besoin de protéger ses doigts avec des gants, qu’il fasse froid ou qu’on soit en train de faire une activité dangereuse pour les mains. Un bon vieux bouton reste généralement utilisable. Même avec des moufles, on pourra encore y arriver si les boutons ne sont pas trop rapprochés !

            Technician mounting glove on Hoshides EMU during SSATA traning for Expedition 32Figure 7 - Parfois on doit travailler avec des gants, ce qui entraîne une perte au niveau tactile. Il y a vraiment là de quoi faire la moue. [Source : Wikimedia, domaine public]

            Revenons sur le son. Les boutons sur lesquels on appuie émettent souvent un son qui constitue un retour sensoriel supplémentaire qui nous indique si nous les avons correctement enfoncés. Au point que l’on parle de « cliquer » sur le bouton d’une souris plutôt que d’appuyer dessus. On a donc à la fois un retour tactile (une certaine résistance ou vibration) et un retour sonore, en plus de l’éventuel retour visuel si on regarde le bouton.

            Avec un écran dit tactile, le retour tactile est justement bien maigre, on ne fait qu’effleurer les choses : la pression exercée importe peu, la résistance opposée par l’écran sera la même si j’appuie sur le soit-disant bouton ou à côté ! Et le vibreur de mon téléphone fera vibrer tout le téléphone au lieu de ne faire vibrer que l’endroit où j’ai appuyé. Triste topique…

            Le patch de Colombia

            Les constructeurs d'ordiphone s'échinent à virer les boutons de leurs appareils ? Qu'à cela ne tienne, des étudiants de l'Université de Colombia proposent une coque pour en remettre !

            Sans aucune connexion électrique, ces étudiants proposent de faire vibrer le téléphone au moyen de clapet et ressort et de les détecter en utilisant l'accéléromètre.

            Coque_Boutons_Colombia

            Le type de vibration reçue permet à un logiciel de traitement du signal de détecter le type de bouton actionné et ainsi récupérer la fonctionnalité perdue.

            C'est intéressant, mais pourquoi ne pas tout simplement nous rendre nos boutons !

            L’urgence ergonomique

            Nous savons bien que les temps changent, mais il ne faut pas céder à la mode sans raison. L’écran tactile peut être adapté à certaines machines ou situations et pas à d’autres. Faut-il vraiment « être absolument moderne », juste pour le plaisir ? Non, il faut être absolument ergonomique. Alors, si vous ne voulez pas vous faire appeler Arthur, rendez-nous nos bons vieux boutons là où ils sont parfaitement adaptés à nos besoins ! Rouvrons les portes de la perception !

            RimbaudFigure 8 - Un adolescent peut aussi avoir des boutons au niveau de son gilet. De plus, en voilà un qui ne sourit pas et n’a pas l’air niais. Ce qui finalement justifie peut-être le refus de ChatGPT en haut de cette dépêche. [Source : Wikimedia, Étienne Carjat (1871), domaine public]

            Bibliographie

            Commentaires : voir le flux Atom ouvrir dans le navigateur

            20 ans de Fedora-fr : deuxième entretien avec Remi empaqueteurs de paquets RPM

            Dans le cadre des 20 ans de Fedora-fr (et du Projet Fedora en lui-même), nous – Charles-Antoine Couret (Renault) et Nicolas Berrehouc (Nicosss) – avons souhaité poser des questions à des contributeurs francophones du Projet Fedora et de Fedora-fr.

            Grâce à la diversité des profils, cela permet de voir le fonctionnement du Projet Fedora sous différents angles pour voir le projet au-delà de la distribution mais aussi comment il est organisé et conçu. Notons que sur certains points, certaines remarques restent d’application pour d’autres distributions.

            N’oublions pas que le Projet Fedora reste un projet mondial et un travail d’équipe ce que ces entretiens ne permettent pas forcément de refléter. Mais la communauté francophone a la chance d’avoir suffisamment de contributeurs de qualité pour permettre d’avoir un aperçu de beaucoup de sous projets de la distribution.

            Chaque semaine un nouvel entretien sera publié sur le forum Fedora-fr.org, LinuxFr.org et le blog de Renault.

            L’entretien du jour concerne Remi Collet (pseudo remi), empaqueteur du Projet Fedora en particulier concernant l’écosystème PHP.

              Sommaire

              Peux-tu présenter brièvement ton parcours ?

              40 ans, c’est long !

              J’ai découvert l’informatique à une époque préhistorique où l’on travaillait sur des terminaux (texte) connectés à de gros systèmes avec des langages oubliés (Cobol…). Ensuite j’ai eu la chance de voir les choses changer.

              Travaillant pendant 20 ans dans une grande administration française, et parallèlement dans une université à la gestion du matériel pédagogique. J’ai vu arriver les ordinateurs personnels, les premiers réseaux locaux, GNU, Linux, Windows, Internet… Rapidement à l’université (veille technologique) et progressivement dans le monde professionnel. Les solutions OpenSource ont toujours été au cœur de mon activité, et la contribution un but personnel.

              Au départ développeur, je suis aussi devenu administrateur système et réseau.

              Je travaille désormais chez Red Hat comme développeur, principalement chargé de PHP.

              Peux-tu présenter brièvement tes contributions au Projet Fedora ?

              Lorsque j’ai migré mon ordinateur personnel sous Linux il y a plus de 20 ans, j’ai passé beaucoup de temps sur les forums, pour apprendre des autres et aider les nouveaux.
              Cela a été très formateur.

              Ensuite je me suis investi dans la maintenance de paquets RPM pour mes besoins et pour partager. Et je me suis concentré sur le monde PHP.

              Qu’est-ce qui fait que tu es venu sur Fedora et que tu y es resté ?

              J’ai commencé avec Red Hat Linux 5 (1997), qui est devenu Fedora Core, puis Fedora. Au départ c’est le hasard d’un serveur livré avec un CD. Et depuis j’ai toujours été fidèle à l’une des premières distributions majeures.

              Pourquoi contribuer à Fedora en particulier ?

              Parce que c’est “la” distribution où les choses changent.

              Peux-tu préciser les éléments qui confirment cela de ton point de vue ?

              L’exemple le plus marquant est sans doute “systemd” qui a provoqué lors de sa sortie un débat technique très vif, mais qui est désormais sur toutes les distributions (ou presque).

              Contribues-tu à d’autres Logiciels Libres ? Si oui, lesquels et comment ?

              Principalement PHP et de nombreux projets autour (extensions, bibliothèques, applications…).

              Utilises-tu Fedora dans un contexte professionnel ? Et pourquoi ?

              Oui, depuis 1997 avec l’installation d’un serveur d’accès à Internet. Et aujourd’hui sur tous mes serveurs et postes de travail.

              Tu as été recruté par Red Hat alors que tu étais déjà dans la communauté de Fedora, comment cela s’est passé ?

              Depuis la fusion de Fedora Core + extras (2007), j’étais devenu le mainteneur du paquet PHP. Donc quand Red Hat a cherché à recruter un mainteneur spécifique pour PHP (2012), j’étais le mieux placé.

              Ils t’ont contacté ou tu as postulé ?

              Ils m’ont contacté (cooptation), ce qui tombait bien puisque je cherchais un nouvel emploi.

              Est-ce que la contribution à Fedora a été un élément déterminant dans le processus ?

              Clairement oui, ainsi que mon implication dans PHP, en amont.

              Est-ce que tes contributions dans Fedora se font entièrement dans le cadre de ton travail ? Si non, pourquoi ?

              Non.
              Je contribuais au Projet Fedora avant de rejoindre Red Hat, et si j’ai la chance de pratiquer ma passion (l’OpenSource) dans mon travail, je continue aussi en dehors. Ma position m’a aussi permis d’augmenter mes contributions sur les autres projets.

              Par contre, aujourd’hui je cherche à maintenir un équilibre afin de garder une vie privée et sociale saine.

              Est-ce que être employé Red Hat te donne d’autres droits ou opportunités au sein du Projet Fedora ?

              Non (en dehors du temps), et heureusement. Fedora est avant tout un projet communautaire.

              Tu es actif au sein de SIG PHP, quel est le rôle de cette équipe de travail et de ton activité dans cette équipe ?

              Ce groupe n’a jamais été très actif, et je suis désormais pratiquement seul.

              Tu es également contributeur au sein du projet PHP lui-même, quelle est la nature de ton travail pour ce projet ?

              Je contribue régulièrement au code, surtout sur des corrections de défauts rapportés par les utilisateurs de mon dépôt, de Fedora ou de RHEL. Je maintiens aussi quelques extensions (zip, mailparse, rpminfo…). Je participe aussi activement au processus de publication des nouvelles versions (QA avant annonce).

              Quels bénéfices retires-tu de travailler sur les deux aspects du projet PHP à savoir upstream mais aussi sur la conception de ces paquets ?

              Il me semble indispensable de communiquer entre l’amont (le projet PHP) et l’aval (le Projet Fedora). Être impliqué dans les 2 projets simplifie énormément les choses. Et évidement, il est plus facile de faire évoluer un projet lorsqu’on y contribue activement.

              Quelles simplifications cela comporte plus en détail selon toi ?

              Lorsqu’un utilisateur de Fedora (ou de mon dépôt) signale un bug, il est plus simple de le corriger en étant contributeur, soit directement, soit par le dialogue avec les autres développeurs.

              De même pour les évolutions de la distribution qui peuvent avoir un impact sur PHP (exemple: l’intégration à systemd).

              Et la réciproque est vraie pour les évolutions du projet qui peuvent affecter la distribution (exemple: la suppression d’extension ou l’ajout de nouvelles fonctionnalités nécessitant de nouveaux outils).

              Être actif dans une communauté permet d’être connu et reconnu et donc d’être écouté.

              Tu as aussi l’un des dépôts externes les plus populaires et actifs de Fedora centré sur PHP, pourquoi as-tu créé ce dépôt ? Pourquoi tu continues à l’alimenter alors que le projet Fedora fourni déjà PHP ?

              Ce dépôt existe depuis 2005 et me permettait de partager mon travail avant de contribuer à Fedora.

              Aujourd’hui c’est là que je prépare les évolutions avant qu’elles soient intégrées dans Fedora (puis dans CentOS Stream, puis dans RHEL). Par exemple PHP 8.3 présent dans Fedora 40 était dans mon dépôt depuis presque 1 an (Juin 2023, version 8.3.0alpha1)

              Alors que Fedora fournit une seule version de PHP et une cinquantaine d’extensions, mon dépôt propose 5 versions (même 10 pour EL), ~150 extensions et 2 modes d’installation.

              Pourquoi ne pas utiliser le système de COPR pour ce travail ?

              Copr est très intéressant pour les petits projets. Dans mon cas, ce sont des milliers de paquets. Et Copr n’est pas adapté pour les modules, ni pour les quelques paquets non libres que je maintiens (ex: Oracle).

              Peux-tu expliquer l’importance du mainteneur de paquet dans la distribution ? Quels choix il faut effectuer, les difficultés techniques rencontrées, etc.

              C’est celui qui essai de coordonner les projets amont / aval et les utilisateurs en essayant de satisfaire des besoins parfois incompatibles de stabilité, de compatibilité, d’innovation.

              Les “Modules” de Fedora étaient censés être un pilier de Fedora.next pour fournir différentes versions des piles technologiques, comme PHP, pour une version donnée de Fedora. Maintenant que c’est abandonné, peux-tu expliquer les raisons derrière cet échec ? Pour un empaqueteur, quelles ont été les difficultés derrière ?

              https://blog.remirepo.net/post/2024/03/29/DNF-5-and-Modularity. Je retiendrais que ce projet répondait avant tout à un besoin de distribution entreprise qui n’est pas vraiment utile à Fedora avec un cycle de version très rapide (6 mois).

              La complexité du système de construction a peut-être été une raison de son échec.

              Tu as aussi écrit la documentation française pour faire ses propres paquets RPM et tu as aidé de nombreux francophones à réaliser leurs premiers paquets, qu’est-ce qui t’intéresse à guider les débutants dans cette activité ?

              Le partage.
              Accompagner un débutant est toujours passionnant, humainement et techniquement. Cela permet aussi de répondre à des questions qu’on ne se pose pas forcément, et donc de se remettre en cause.

              Les paquets traditionnels ne sont plus l’unique voie d’avoir un logiciel qui tourne sous Fedora. Avec Flatpak, Snap ou des solutions tels que Docker / Podman cela devient possible de s’en affranchir. Comment vois-tu l’évolution des paquets au sein d’une distribution dans Fedora ? Que penses-tu de ces évolutions ?

              Avant on cherchait à créer une distribution cohérente ou chaque composant était partagé et utilisé par les autres (une sorte de Lego).

              Aujourd’hui, et je le regrette, beaucoup ont abandonné cet objectif et beaucoup de projets préfèrent embarquer tous les composants qu’ils utilisent.

              C’est le cas de PHP avec “composer”, de langages comme Rust où la notion de bibliothèques partagées n’existe même plus. Flatpack / Snap n’en sont qu’un développement extrême.

              N’est-ce pas aussi parce que cela résout certaines problématiques liées à la rigidité des paquets qui rendent notamment la cohabitation de versions différentes délicates ou de rendre l’environnement de travail plus modulaire ?

              Je pense que cela ne résout rien. On sait parfaitement installer plusieurs versions d’une bibliothèque simultanément.

              Disons que c’est la solution de facilité, on n’essaie même plus de faire propre. Sans parler des projets qui embarquent des copies modifiées, sans que les modifications soient reversées ou discutées.

              Si tu avais la possibilité de changer quelque chose dans la distribution Fedora ou dans sa manière de fonctionner, qu’est-ce que ce serait ?

              La communauté Fedora est composée de gens passionnés. La passion entraine parfois des positions excessives et des discussions sans consensus possible.
              La communauté des contributeurs a tué de beaux projets, comme les « Softwares Collections » ou les “modules”. Je trouve cela dommage.

              Peux-tu expliquer ce que sont les Software Collections et pourquoi cela n’a pas abouti ? Quelles différences avec les modules notamment ?

              Les Software Collections permettent une méthode standard d’installation de plusieurs versions d’une application sans conflit espace de nom différent, installation sous /opt et sans risque d’altération du système de base.

              Le projet ayant été développé par Red Hat pour les besoins de sa distribution Entreprise il a provoqué un vif débat technique (ex: non respect de la FHS, ce qui a été corrigé par la suite) et a même provoqué l’épuisement et le départ de 2 membres du FPC.

              La complexité d’utilisation (activation de la SCL) a aussi été des raisons de leur détestation.

              Ce besoin étant quasi inexistant pour Fedora, personne n’a eu la force d’améliorer la solution qui a été abandonnée.

              Les modules permettent de fournir plusieurs versions alternatives d’une application, mais sans permettre une installation simultanée. Fonctionnellement c’est comme si chaque version est disponible dans un dépôt différent qu’il suffit d’activer.

              À l’inverse, est-ce qu’il y a quelque chose que tu souhaiterais conserver à tout prix dans la distribution ou le projet en lui-même ?

              La passion justement, qui reste un moteur indispensable. S’il n’y a plus de passion, plus de plaisir, autant arrêter (j’ai abandonné quelques projets pour cela).

              Que penses-tu de la communauté Fedora-fr que ce soit son évolution et sa situation actuelle ? Qu’est-ce que tu améliorerais si tu en avais la possibilité ?

              La communauté Fedora est surtout composée de contributeurs. D’autres distributions ont une communauté d’utilisateurs et sont excellentes pour leur promotion.

              Je n’ai malheureusement pas d’idée magique pour augmenter la communauté Fedora-Fr.

              Je pense aussi que les contributeurs français sont souvent actifs dans la communauté globale (en anglais) plutôt que dans la communauté française.

              Trouves-tu que c’est spécifique à la communauté francophone ?

              Je ne sais pas, je ne connais pas trop les autres communautés, mais je rencontre beaucoup de nationalités différentes dans la communauté anglophone.

              Merci Remi pour ta contribution !

              Conclusion

              Nous espérons que cet entretien vous a permis d’en découvrir un peu plus sur l’empaquetage de Fedora.

              Si vous avez des questions ou que vous souhaitez participer au Projet Fedora ou Fedora-fr, ou simplement l’utiliser et l’installer sur votre machine, n’hésitez pas à en discuter avec nous en commentaire ou sur le forum Fedora-fr.

              À dans 10 jours pour un entretien avec Emmanuel Seyman, ancien président de Borsalinux-fr et actuel empaqueteur dans l’écosystème du langage Perl.

              Commentaires : voir le flux Atom ouvrir dans le navigateur

              Raspberry Pi 5, évolution ou révolution ?

              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

                Atelier : Mieux comprendre l'impact du Cyber Resilience Act sur les pratiques Open Source !

                ATELIER du lundi 31 mars de 11h30 à 13h30 à Paris (participation en ligne possible).

                Titre de l'image

                Etes-vous prêts pour les échéances de 2026 et 2027 du Cyber Resilience Act (CRA) ?

                Le CRA est un dispositif adpoté par la Commission Européenne en 2024 pour répondre à la vulnérabilité accrue aux cyberattaques des entreprises et services publics européens,. Il vise à renforcer la cybersécurité et la cyberrésilience des produits logiciels (et matériels qui comportent des éléments numériques) connectés.

                Le premier guide de conformité au CRA dédié aux acteurs de l’open source, proposé par le CNLL et inno³ a pour objectif de faciliter la compréhension du CRA et les effets attendus, et de proposer des recommandations concrètes.

                N'attendez pas pour commencer à évaluer vos obligations nouvelles à venir et les adaptations nécéssaires de vos processus, rejoignez l'atelier du 31 mars !

                📅 Quand ? Le 31 mars de 11h30 à 13h30, la rencontre sera suivie d'un buffet pour les personnes sur place.

                📍 Où ? 137 Boulevard de Magenta 75010 Paris (nombre de places limité, participation en ligne possible).

                L'objectif est de rendre la session de discussion la plus active possible, n'hésitez pas à lire d'un œil critique et intéressé le guide en amont. Vous pouvez même nous envoyer dès aujourd'hui vos diverses questions ou remarques afin de nous aider à préparer l'atelier : mission-cra-cnll@framagroupes.org.

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                Première publication libre de Multigit

                Multigit est un outil graphique conçu pour simplifier la gestion de projets composés de beaucoup de dépôts git.

                Une image et une vidéo valant mieux qu'un long discours, voici à quoi ça ressemble:

                Screenshot

                Je l'ai développé dans le cadre de mon travail chez IDEMIA où nous sommes souvent confrontés à plus de trente (voire plus de soixante) dépôts à gérer conjointement sur un projet. Dans ce contexte, la moindre opération git devient un mini-défi qu'il fallait relever quotidiennement.

                Multigit est abouti et stable, il est utilisé au quotidien par plus d'une centaine de personnes (sous Windows), depuis plusieurs années. Mon employeur m'a aimablement autorisé à le publier en Open Source, ce dont je lui sais gré. Il est publié sous licence Apache 2.0

                La problématique de gestion de plusieurs dépôts git conjoints pour un projet est assez peu répandue dans le monde du logiciel libre. Mais beaucoup plus dans le monde de l'entreprise. En effet, git ne gère pas la notion de droit d'accès à une partie d'un dépôt. La seule façon de restreindre l'accès à certains parties d'un projet est donc de créer un dépôt spécifique pour les y stocker, avec des droits d'accès au niveau du dépôt. Ajoutons à cela beaucoup de personnes, beaucoup de projets parfois complexes, beaucoup de sous-projets, beaucoup d'historique et on se retrouve avec une gestion des sources particulièrement complexe. Complexe … avant l'arrivée de Multigit en tout cas.

                Installation

                Sous Linux, la seule option d'installation disponible à l'heure actuelle est Python + pip, ou encore mieux avec pipx:

                    $ sudo apt install python-pipx
                    $ pipx install multigit_gx
                    $ multigit
                

                Sous Windows, un installeur graphique click-and-play vous permettra d'arriver au même résultat.

                J'ai bien tenté de fournir un snap pour Linux mais snap est conçu pour empêcher à peu près tout ce que veut faire Multigit: accèder à tous vos fichiers et lancer des programmes de votre distribution (git, gitk, …)

                Je ferai mieux dans la prochaine version. D'ailleurs, si vous avez des recommandations pour un packaging moderne, simple, facile à maintenir et couvrant toutes les distributions Linux, je suis preneur.

                Contribution

                Le projet est géré sous GitHub, les contributions ou les retours sont les bienvenus.

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                Sortie de GCompris 25.0

                Pour ses 25 ans (la première version 0.1 étant sortie le 12 juin 2000), nous avons le plaisir de vous annoncer la publication de la nouvelle version majeure de la suite éducative GCompris.
                Cette nouvelle version, sortie le 30 janvier 2025, contient entre autres cinq nouvelles activités, listées dans la suite de la dépêche, ce qui porte le nombre d’activités à 195.

                Nouvelles activités

                « Croquis » est une activité pour dessiner librement avec de multiples outils pour permettre aux enfants d’explorer leur créativité.
                activité Croquis
                « Utilise les compléments à 10 » est la continuation des activités de complément à 10 existantes. Celle-ci aide les enfants à échanger les nombres pour calculer facilement une somme.
                activité Utilise les compléments à 10
                « Addition verticale » est une activité pour écrire une addition et la résoudre.
                activité Addition verticale
                « Soustraction verticale » est similaire à l’activité d’addition mais pour la soustraction avec la méthode de l’emprunt par regroupement.
                activité Soustraction verticale
                « Soustraction verticale (méthode de l’emprunt par compensation) » est similaire à celle dessus mais avec la méthode de l’emprunt par compensation.
                activité Soustraction verticale (méthode de l’emprunt par compensation)

                Améliorations d’ergonomie

                Un écran de chargement a été rajouté sur les versions bureau. Nous avons eu des remontées de problèmes car sur certains ordinateurs, GCompris mettait du temps à se lancer et aucun indicateur visuel n’était affiché (GCompris attendait d’avoir chargé toutes ses données avant d’afficher le menu principal).

                Lors d’un changement de langue dans le panneau de configuration, celle-ci sera maintenant appliquée directement à la sortie de la configuration, il n’y a plus besoin de redémarrer GCompris pour qu’elle prenne effet.

                Côté technique

                Cette version est la première version majeure développée avec Qt 6. Elle nécessite un compilateur gérant C++17. Cela implique des changements au niveau des versions des plateformes prises en charge :

                • Il n’y a plus de version 32 bits pour Linux et Windows. Qt ne fournit plus de version pré-compilées et nous n’avons pas le besoin de créer une version 32 bits pour le moment.
                • Android seulement à partir de la version 8.
                • Plus de macOS non plus : les développeurs principaux n’ont pas accès à un ordinateur récent sous macOS permettant de compiler, packager et surtout tester et maintenir la version générée. Un développeur KDE a proposé son aide, nous allons voir où cela nous mène.
                • Plus de Windows 7 et 8.

                Sous Windows, le moteur de rendu par défaut a été modifié à Direct3d11.
                Une nouvelle option en ligne de commande permet de choisir le moteur de rendu: « --renderer=opengl/software/direct3d11/direct3d12/metal » selon le système d’exploitation utilisé et son support.

                Traductions

                Toutes les activités ont eu leurs descriptions mises à jour. Cette grosse mise à jour de fond a été effectuée par Anne-Françoise, Emmanuel et Rachel, tous les trois professeurs des écoles de la circonscription de Saumur.

                Au niveau localisation, deux nouvelles langues font leur apparition (sanskrit, géorgien) portant le total de langues (traduit à au moins 80 %) à 44 !

                Nous remercions toutes les personnes qui nous ont aidé à faire cette nouvelle version !

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                Guide CNLL/inno³ sur le Cyber Resilience Act : êtes-vous prêts pour les échéances de 2026 et 2027 ?

                Le CNLL, Union des Entreprises du Logiciel Libre et du Numérique Ouvert, est l’instance représentative de la filière du logiciel libre en France, et inno³ un cabinet de conseil spécialiste des modèles ouverts. Ils proposent le premier guide de conformité au CRA dédié aux acteurs de l’open source, destiné à accompagner sans attendre les acteurs dans la mise en conformité de leurs activités en décryptant les obligations nouvelles et adaptations nécessaires de processus. Il est publié sous licence Creative Commons By-SA 4.0.

                Guide CNLL / inno³ sur le CRA

                Pourquoi est-il nécessaire d'anticiper ?

                Adopté formellement par l'UE en 2024, le CRA vise à renforcer la cybersécurité des produits logiciels (et matériels qui comportent des éléments numériques) pour répondre à la vulnérabilité accrue aux cyberattaques des entreprises et services publics européens. Les acteurs ont jusqu’au 10 septembre 2026 pour se mettre en conformité avec certaines obligations critiques (notification des vulnérabilités activement exploitées et des incidents graves) et jusqu’au 10 décembre 2027 pour s’adapter à l’ensemble des autres exigences du texte telles que la sécurité par principe ou la transparence vis-à-vis des consommateurs.

                Un guide pratique pour vous accompagner

                Le guide répond à un objectif de sensibilisation des membres du CNLL et plus largement des acteurs de la filière du logiciel libre (producteurs, intégrateurs et utilisateurs) aux enjeux et défis du CRA. À l’aide de mises en situation à partir d’exemples d’entreprises membres du CNLL, le guide propose une vision détaillée des modalités d’application et obligations nouvelles : documentation technique détaillée, gestion rigoureuse des vulnérabilités, déclaration de conformité et apposition du marquage CE, production d’une Software Bill of Materials (SBOM), etc.

                Transformons ensemble cette contrainte réglementaire en opportunité d'amélioration de la sécurité, la qualité et la confiance pour nos produits et services !

                👉 Explorez le guide dès aujourd'hui et contribuez à sa prochaine version en partageant vos commentaires ou en rejoignant le groupe de travail.

                👉 Participez à la réunion de présentation en ligne qui aura lieu prochainement (informations à venir sur le site : cnll.fr).

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                La virtualisation pour les nuls et autres enjeux autour des datacenters

                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

                Projets Libres! Saison 3 épisode 7 : mesurer le trafic web avec Matomo

                Pour bien commencer l'année 2025, Projets Libres! vous propose de parler de mesure de trafic web avec l'outi Matomo.

                Les invités :

                • Matthieu Aubry, fondateur de Matomo
                • Laurent Destailleur, fondateur de AWStats

                Les thèmes abordés :

                • les différentes techniques d'analyse de trafic
                • les débuts de Matthieu dans l'analyse de trafic avec phpMyVisites puis Piwik
                • le changement de Piwik en Matomo
                • les enjeux autour de la marque Piwik
                • les modèles économiques de Matomo
                • la licence utilisée
                • la communauté autour de l'outil
                • etc.

                À noter qu'une annonce importante de Laurent concernant AWStats se cache en toute fin d'épisode 📣 !

                Bonne écoute !

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                Entrevue avec Herman BRULE, développeur d'Ultracopier et de CatchChallenger

                Herman BRULE est l’auteur et le mainteneur de deux applications (libres sous licence GPL v3, mais aussi proposées dans des versions payantes « Ultimate ») : l’utilitaire Ultracopier et le jeu CatchChallenger.

                Sommaire

                Bonjour Herman, peux-tu te présenter ?

                Bonjour !

                Sur le plan professionnel, je suis DG de Confiared (hébergement Web et VPS) et de Confiabits (fabrication et assemblage de circuits imprimés), et directeur de la technologie chez CTO chez DanSolutions (FAI).
                Par ailleurs, j’aide des associations locales (j’habite en Bolivie) dans des domaines techniques comme les télécoms ou le développement logiciel, j’interviens parfois comme conférencier sur ces sujets.
                Enfin, je participe au conseil d’administration de la section bolivienne de l’Internet Society (ISOC Bolivie).

                Peux-tu nous raconter ton parcours ?

                J’ai étudié l’électronique (BTS STI), puis le développement web. J’étais d’ailleurs encore étudiant quand j’ai commencé à développer Ultracopier.
                J’ai longtemps travaillé dans l’e-commerce, puis pour des raisons personnelles je suis allé vivre en Bolivie.
                J’ai été plutôt déçu par la qualité des offres locales, ici en Bolivie, dans le secteur des technologies de l’information, c’est pourquoi j’ai décidé de proposer mes services.

                Peux-tu nous parler de ces deux logiciels ?

                Ultracopier

                Logo de Ultracopier

                Comment est né ce projet ?

                J’avais besoin d’un utilitaire avancé pour la copie de fichiers, comme Supercopier, pour une utilisation sous Linux mais ce dernier n’était pas disponible sur cette plateforme.
                Ultracopier est donc né non pas comme un fork de Supercopier mais comme un projet indépendant : à l’époque, Supercopier était écrit en Pascal, et je préférais écrire en C++.

                Au final, quand toutes les fonctionnalités ont été implémentées et qu’Ultracopier a disposé d’un skin Supercopier, une redirection a été mise en place.

                Aujourd’hui, après 20 ans, le projet est toujours actif et maintenu, malgré les problèmes de tentative de piratage, bug, DDOS, et les évolutions technologiques.

                Quels sont les points marquants qui ont, selon toi, marqué son développement ?

                Après la reprise de Supercopier, qui a permis de fédérer sa base d’utilisateurs autour d’Ultracopier, il y a eu de nouvelles fonctionnalités au fil du temps :

                • la prise en charge de gros volumes (>5TB >10 millions de fichiers)
                • les extensions (plugins) et thèmes graphiques (skins), dont le développement m’a poussé à standardiser l’interface pour la réutilisation par des applis tierces.

                Quel est le modèle économique ?

                C’est assez peu connu mais Ultracopier est proposé dans deux versions : une gratuite (installable depuis le gestionnaire de paquets d’Ubuntu notamment) et une version « Ultimate ». Cette version, payante, est enrichie de fonctionnalités comme

                • la mise en pause,
                • la limitation du taux de transfert,
                • d’autres options de performance selon le système d’exploitation utilisé et inclut un support technique.

                Pour être honnête, les utilisateurs de la version payante sont très peu nombreux : une écrasante majorité utilisent la version gratuite et d’autres piratent la version payante.

                Ma vie professionnelle et mon engagement à l’ISOC Bolivie sont très chronophages, je ne compte pas mes heures sur mes principales activités d’hébergeur et de FAI, et à une usine de fabrication d’équipements réseau pour ces besoins.

                J’ai quand même publié de l’open source comme le firmware OpenWRT pour le routeur wifi 6 que je fabrique.

                Des dons ou des achats sont bienvenus pour que je puisse me concentrer davantage à l’open source ;) Je crois que beaucoup de développeurs open source sont dans cette problématique.
                Heureusement, l’hébergement ne coûte presque rien car j’utilise mon propre service, et je suis le seul contributeur.

                Quelles sont les fonctionnalités les plus attendues que tu penses implémenter ?

                Je souhaiterais améliorer l’intégration d’Ultracopier dans les gestionnaires de fichiers sous Linux ou MacOs, mais ce n’est pas chose facile. Pendant des années j’ai essayé de faire modifier les gestionnaires de fichiers pour avoir la possibilité de replacer le copier/coller par Ultracopier. Rien. Soit je suis ignoré, soit je suis refusé (motif de refus récurent : je devrais refaire Ultracopier en « natif » : GTK, KIO, Haiku…), je me vois mal maintenir divers UI. Les votes sur demande de fonctionnalités sont les bienvenus, par exemple ici pour KDE/Plasma.

                Je veux aussi implémenter un moteur async natif sous linux (en utilisant io_uring) pour de meilleures performances.

                As-tu eu des échanges/retours avec les autres logiciels ou éditeurs (communauté linux / autres éditeurs) ?

                Non. J’ai essayé de faire que le protocole d’envoi de copie/déplacement à un logiciel tiers soit un standard avec un protocole commun pour motiver les gestionnaires de fichiers à l’utiliser, je n’ai reçu que des réponses négatives :/

                Peux-tu partager des souvenirs marquants de cette expérience ?

                Durant toutes ces années, conscient que la copie de données est un sujet qui peut être très sensible, j’ai veillé à être réactif aux retours des utilisateurs : dès que quelque chose d’anormal m’est reporté, je m’assure de vérifier/corriger et de publier très rapidement. Je pense qu’Ultracopier garantit bien l’intégrité des données lors des copies, parfois mieux que des copies par l’outil du système. Par exemple, si pendant le déplacement de fichiers vers un lecteur réseau ce lecteur réseau se déconnecte, alors Windows peut détruire la source sans avoir pu valider l’intégrité réelle du fichier cible. Il faut reproduire un contexte très particulier, mais ça c’est vu.

                Malgré cette attention, il m’est arrivé de recevoir des insultes de certains utilisateurs, allant jusqu’à des menaces de mort. J’ai une bonne collection de conversations de ce genre ! Il s’agit d’une minorité d’utilisateurs, en majorité des débutants en informatique et qui n’ont pas utilisé correctement l’outil, ou plus généralement leur ordinateur.

                Par ailleurs, le spam et les tentatives de piratage (dont une pour rediriger les paiements des versions "Ultimate » !) auront eu raison des pages Wiki et Maintenance du site, faute de temps pour la modération.

                Il me semble tout de même que la majorité silencieuse (= celle qui dit rarement merci ;) ) est dans l’ensemble très satisfaite des services rendus par Ultracopier, et cela est motivant. Pour moi, le point le plus positif est surtout l’acquis de connaissances.

                CatchChallenger

                Logo de CathChallenger

                Quelle est l’origine de ce jeu ?

                Je cherchais à me familiariser avec la programmation autour de sujets relatifs aux clients/serveurs, comme les protocoles, la haute performance, le chiffrement, et aussi les bots… …et le développement d’un jeu est le moyen ludique par excellence !

                Vu qu’il n’y a pas de temps réel, je peux jouer avec TOR/I2P (un bon moyen de tester la sécurité), pas de flottant donc cela marche sur tous les CPU, y compris ceux de plus de trente ans et les architectures exotiques comme celles que l’on trouve dans les routeurs (MIPS…).

                C’est un mix de plusieurs jeux au gameplay de type crafting (à la lineage/X3/minecraft) qui m’intéressait pour les techniques ce que ce genre implique.

                Quels sont les points marquants qui ont, selon toi, marqué son évolution ?

                Version 1 : j’ai essayé de m’éloigner visuellement d’un jeu bien connu auquel mon jeu pouvait être associé.

                Version 2 : j’ai abandonné Qt niveau serveur car trop lent niveau SLOT/SIGNAL, et revu le thème graphique avec des couleurs plus chaudes, même si ça me rapproche d’un autre jeu connu.

                Version 3 : modularité/API et interface responsive, refonte du datapack.

                Est-il facile de monter son propre serveur? Ou de modifier le jeu ?

                Le client intègre un serveur embarqué pour jouer en solo, qui peut être ouvert sur un réseau local ou sur Internet.

                Le serveur a une interface graphique et une version console (avec diverses bases de donnée supportées, y compris du noSQL)

                Le datapack est facilement interchangeable et tout est fait pour qu’un enfant puisse le modifier (png, xml, tmx, opus)

                Y a-t-il d’autres contributeurs ?

                Non

                y a-t-il des fonctionnalités importantes qui ne seront pas développées, et pourquoi ?

                Il y en a beaucoup, par manque de temps. Je n’ai jamais atteint un stade de maturité sur le jeu de base qui me convient, donc je me concentre là-dessus. Par exemple, je me suis lancé sur le multithreading GPU côté serveur : j’ai pu lancer des tests sur GPU, cela fonctionne bien mais complexifie trop le développement sans apporter un réel bénéfice.

                Quel est le rapport avec tes autres projets ?

                Avec ce projet, j’ai vite eu besoin d’un grand nombre de VPS, cela m’a incité à m’intéresser aux datacentres et à monter modestement mon premier datacentre. De fil en aiguille, j’en ai fait mon activité :)

                J’ai aussi eu besoin de connexions, de haute performance et de haute disponibilité. Curieux, je me suis lancé dans la conception de mon hardware : onduleur, alimentation solaire…

                Qu’as-tu retiré de ce projet ?

                J’ai été surpris par les performances, pour un code qui n’est pas en assembleur et qui pourrait encore être optimisé : des millions de joueurs sur un CPU de bureau par serveur. Vous saturez l’écran de bots bien avant de saturer le CPU, même un très vieux CPU ou un microcontrôleur de routeur, et la charge en RAM ne dépasse pas quelques Mo.

                La prédiction côté client (Client-side prediction), les instructions préparées (SQL parameterized statement) sont très efficaces, je charge tout en RAM sous forme d’entier <=32Bits. Vu qu’il faut des performances bien supérieures du client pour surcharger un serveur, il y a peu de chance qu’on m’attaque via DDOS.

                Quels conseils avec le recul donnerais-tu à ceux qui entreprendraient de se lancer ?

                Ne faites pas de projets que vous n’allez pas maintenir, aussi bien pour vous que pour ceux qui vont les utiliser.

                Aussi, ne vous lancez pas sur un projet que mille autres personnes ont déjà fait avant vous, il y a une tonne de projets de niche qui n’ont pas de solution open source !

                Ton rapport au libre

                Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?

                J’utilise Gentoo Linux et presque que du libre.

                Même question au niveau professionnel ?

                En général j’essaie de faire le modèle pro suivant : quand un logiciel a été rentabilisé, je le libère.

                Niveau data center, on fonctionne en IPv6 avec des logiciels de conversion pour, par exemple, passer de HTTP IPv4 à IPv6, si tu ajoutes tous les services internes + gestionnaires, ça fait mal pas de logiciels.

                Niveau industrie, je produis des onduleurs, des serveurs, des routeurs datacentres et domestiques (wifi 6 OpenWRT), avec les difficultés ici pour importer je dois faire avec ce que je trouve sur place (et il n’y a quasiment rien pour la microélectronique).

                Niveau FAI, rien à voir avec ce qu’il y a en France, entre les blocages politiques et administratifs (j’attends certaines autorisations depuis de nombreuses années), les monopoles… rien n’avance. Mais malgré ces difficultés j’ai pu innover et proposer des solutions efficaces pour des communautés locales, grâce à des logiciels libres.

                Merci pour ce partage, et pour ton apport au libre ! Nous te souhaitons beaucoup de succès dans tes nombreux projets pour 2025 !

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                L’exploration et le calcul de l’espace : l’horlogère, l’astronome et l’astrophysicienne

                En octobre 2024, on était allé à la conquête de l’espace, cette fois-ci, on va se concentrer sur l’exploration de l’espace vu de la Terre. Pour cela, on se penchera sur la vie et les travaux de trois femmes : Nicole-Reine Lepaute qui, au siècle des Lumières, a calculé la date du retour de la comète de Halley, Janine Connes qui prendra la direction du premier centre de calcul en France et Françoise Combes qui vient d’être élue présidente de l’Académie des sciences. C’est aussi l’occasion de voir l’évolution des outils utilisés en astronomie.

                Phases de l’éclipse du soleil du 1er avril 1764
                Illustration des douze phases principales selon les calculs de Nicole-Reine Lepaute

                Sommaire

                Préambule

                Les deux dépêches consacrées à la conquête de l’espace dans le cadre de la journée Ada Lovelace étaient très américano-centrées, et il manquait l’aspect étude et découverte de l’espace qui en précède la conquête. Sans cette connaissance, il n’aurait pas été possible d’envoyer des satellites artificiels, d’aller sur la Lune, sur Mars ou encore de créer des stations spatiales, voire, de concevoir les télescopes Hubble et James Webb. D’où cette dépêche, et le choix de ces trois femmes pour contrebalancer un peu leur américano-centrisme.

                Le choix a été guidé d’une part en tenant compte des informations dont je pouvais disposer, d’autre part de l’actualité : Janine Connes vient de mourir à l’âge de 98 ans et c’est une façon de lui rendre hommage, Françoise Combes vient d’être élue par ses pairs à la présidence de l’Académie des sciences.

                Nicole-Reine Lepaute, l’horlogère

                La vie de Nicole-Reine Lepaute nous est essentiellement connue grâce à l’Encyclopédie des dames de Jérôme Lalande. De fait les biographies que l’on peut trouver sur elle citent les mêmes passages en élucubrant souvent sur les relations qu’elle aurait pu avoir avec l’astronome. Mais comme LinuxFr.org n’est ni un site « people » ni un site de rencontre et que l’autrice de l’article n’aime généralement pas faire comme tout le monde, on vous renverra en fin de dépêche sur ces biographies.

                Nicole-Reine Lepaute en quelques dates (et hauts faits)

                Nicole-Reine Étable naît le 5 janvier 1723 à Paris. Elle n’est pas elle-même horlogère, mais elle épouse l’horloger Jean André Lepaute en 1749. Il deviendra le fournisseur officiel de la cour de Louis XV en 1750. Jean André Lepaute était réputé comme l’un des meilleurs horlogers de son temps. Quand il écrira son Traité d'horlogerie, contenant tout ce qui est nécessaire pour bien connoître et pour régler les pendules et les montres, c’est Nicole-Reine qui calculera la « longueur que doit avoir un Pendule simple pour faire en une heure un nombre de vibrations quelconque, depuis 1 jusqu’à 18000 » (table VI, pages 365 et suivantes du traité). Et on le sait parce qu’elle en est créditée.

                Le couple fait la connaissance de l’astronome Jérôme Lalande en 1754. Elle commencera peu après à travailler avec lui. En 1757, elle calculera les dates du retour de la comète de Halley avec Lalande et Clairaut. Quand, en 1759, Lalande est chargé des éphémérides annuelles de l’Académie royale des sciences : La Connaissance des temps1, elle fera partie de l’équipe qui travaille sur les tables et éphémérides astronomiques.

                En 1761, elle entre à l’Académie royale des sciences et belles lettres de Béziers. C’est, probablement, la première fois qu’une femme entre dans une académie pour ses travaux scientifiques. Elle offre aux académiciens les tables astronomiques pour Béziers qu’elle avait compilées à leur intention. Malheureusement ses travaux sont perdus.

                En 1764, une éclipse est prévue, pour éviter une éventuelle panique, le clergé est invité à informer le peuple du caractère inoffensif de ce phénomène céleste. Nicole-Reine Lepaute calculera les phases de l’éclipse et en dressera une carte. Elle fera publier deux documents :

                Elle meurt, aveugle, le 6 décembre 1783, elle aura passé les trois dernières années de sa vie à s’occuper de son mari loin des mathématiques. Son acte de décès figure sur le site archive.org.

                Elle ne reste pas complètement oubliée. Ainsi, quand une nouvelle édition de la Bibliographie ancienne et moderne ou (en nettement plus long) Histoire, par ordre alphabétique, de la vie publique et privée de tous les hommes qui se sont distingués, par leurs écrits, leurs actions, leurs talens, leurs vertus ou leurs crimes paraît en 1820, elle a sa notice relevée ici par le Journal des dames et de la mode. Signée d’un certain M. Weiss, elle porte cette mention :

                Mme Lepaute, douée de tous les avantages extérieurs, portoit dans la société cette politesse et cette fleur d’esprit, que semblent exclure les études profondes…

                Le numéro du 15 février 1898 du bi-mensuel La Femme (page 28) dresse un portrait de Nicole-Reine Lepaute en ajoutant :

                Telle fut la vie pure et simple de celle que Clairaut appelait « la savante calculatrice ». Plus grande lorsqu’elle partageait l’internement de son mari dans une maison de santé que lorsqu’elle compulsait les tables astronomiques.

                Et en concluant plus généralement :

                « L’examen attentif des faits, des biographies. l’étude de la vérité historique devraient rassurer les esprits chagrins. La famille n’est pas en péril parce que les filles s’adonnent aux mêmes études que les garçons et osent aspirer à des carrières libérales et scientifiques. » Le revenu qu’une jeune fille peut se procurer courageusement, dignement par son travail, à l’aide des diplômes qu’elle a remportés dans les concours par son énergie, sont un appoint pour couvrir les dépenses d’un ménage futur et assurer l’éducation libérale des enfants à venir, qui facilite l’établissement des jeunes époux. Un diplôme, c’est une dot dont la fiancée qui l’apporte dans une corbeille de mariage peut être justement fière, et, loin d’être un obstacle à fonder une famille, c’est une valeur qui favorise le mariage.

                Les outils des astronomes au XVIIIe siècle

                Il n’est pas possible de savoir ce que Nicole-Reine Lepaute utilisait pour ses calculs. Il est en revanche envisageable de dresser une liste des outils dont les astronomes disposaient pour explorer l’espace et calculer les mouvements des astres.

                Pour observer et cataloguer les astres, les astronomes du 18e siècle disposaient des lunettes d’astronomie. La paternité de leur invention est souvent attribuée à Galilée qui a construit sa première lunette en 1609. On trouve une première description de ce type d’instrument déjà en 1538 dans l’Homocentrica (texte-image en latin) de Jérôme Fracastor2. En 1608, l’opticien hollandais Hans Lippershey dépose un brevet pour des lunettes astronomiques qui lui sera refusé, car :

                il était notoire que déjà différentes personnes avaient eu connaissance de l’invention. L’optique par Fulgence Marion (texte-image) (source Gallica BnF).

                On doit l’invention du télescope à Isaac Newton en 1668. Son idée était d’ajouter un miroir : il fallait pour augmenter la puissance des lunettes astronomiques (et autres longues-vues et jumelles d’ailleurs) augmenter l’épaisseur de la lentille en perdant en précision. L’ajout d’un miroir concave donne une meilleure qualité d’image et permet d’augmenter la taille des télescopes. Est-ce que Lalande ou Nicole-Reine Lepaute pouvaient disposer d’un télescope ? Dans l’Encyclopédie des dames, Lalande mentionne un « un télescope de trente deux pouces qui coûte environ dix Louis » qui suffit pour « voir ce qu’il y a de plus singulier dans le ciel ».

                Concernant les outils de calcul : il ne fait aucun doute qu’elle a pu et dû utiliser les différentes tables existantes. À son époque, on utilisait divers abaques pour compter, par exemple un système de jetons, utilisé notamment dans le commerce. Il est possible qu’elle ait eu connaissance, en femme cultivée, de la Pascaline, voire, de la machine à calculer de Leibniz. Mais il est peu probable qu’elle les ait utilisées, notamment parce que ces machines ont été peu diffusées. Elle a pu, en revanche, utiliser les bâtons de Napier (francisé en Neper). Et elle utilisait certainement la bonne vieille méthode du papier et du crayon ou plutôt de la plume, ou « calcul indien » qui est celle que l’on apprend à l’école actuellement. Cette méthode est arrivée en Europe au XIIe siècle et a été adoptée par le monde scientifique assez rapidement mais pas dans les classes les moins instruites de la population.

                Nicole-Reine Lepaute aurait pu aussi utiliser une règle à calcul, les premières ont été inventées au XVIIe siècle, mais elles n’ont vraiment commencé à s’implanter en France qu’au XIXe siècle.

                Janine Connes, l’astronome

                Aussi paradoxal que cela puisse être, il y a encore moins d’éléments biographiques concernant Janine Connes que pour Nicole-Reine Lepaute. Son obituaire ne comporte aucun élément informatif autre que le strict minimum (nom et date). En revanche, on a la liste de ses publications et on peut même accéder à certaines.

                De la spectroscopie infrarouge à transformée de Fourier au centre de calcul d’Orsay

                Janine Connes naît en 1926. Elle épouse l’astronome Pierre Connes avec qui elle mènera diverses recherches. Elle meurt le 28 novembre 2024 à Orsay, presque centenaire (98 ans).

                En 1954, son professeur, le physicien Pierre Jacquinot lui suggère un sujet de thèse :

                Il s’agissait de faire des Transformées de Fourier (TF) de 1 million de points.
                Pierre Jacquinot faisait partie de mon jury cette année-là, et à l’issue du concours il m’avait proposé de faire une thèse dans son Laboratoire Aimé Cotton (LAC) alors spécialisé en spectroscopie atomique et développements instrumentaux. Le sujet proposé était la spectroscopie par transformation de Fourier qui théoriquement devait battre en résolution et en étendue spectrale tous les records des réseaux et des interféromètres de Fabry-Perot. (Janine Connes, in De l’IBM 360/75 au superordinateur Jean Zay, chapitre 1).

                La spectroscopie infrarouge à transformée de Fourier (IRTF ou FTIR en anglais) sur laquelle Janine Connes a basé sa thèse est une méthode d’analyse basée sur les ondes infrarouges :

                Ces ondes vont de 12 800 cm-1 à 10 cm-1 et sont divisées en trois groupes: le proche infrarouge, le moyen infrarouge et l’infrarouge lointain. La FTIR utilise quant à elle le moyen infrarouge qui s’étend de 4 000 cm-1 à 400 cm-1 (2,5 µm à 25 µm).
                Quand une onde infrarouge est envoyée sur une molécule, cette dernière absorbe une partie de l’onde qui correspond aux liaisons présentes dans la molécule. L’absorption du rayonnement infrarouge ne peut avoir lieu que si la longueur d’onde correspond à l’énergie associée à un mode particulier de vibrations de la molécule. (Spectroscopie infrarouge à transformée de Fourier (FTIR), A. Bonneau, Association des Archéologues du Québec).

                Comme on peut le voir, c’est une technique utilisée dans des domaines très différents, incluant donc l’astronomie. Sa thèse en établira les principes en astronomie. Actuellement la :

                méthode de Fourier conserve toutefois quelques niches spécifiques, comme dans le domaine de l’infrarouge lointain spatial ou pour la spectroscopie intégrale de grands champs. La spectroscopie de Fourier en astronomie : de ses origines à nos jours, Jean-Pierre Maillard, 21 décembre 2017 (Observatoire de Paris).

                La page qui lui est consacrée (en) sur le site CWP (Century Women to Physics) de l’UCLA (Université de Californie à Los Angeles) indique que sa thèse, ainsi que ses publications suivantes, ont été d’une importance majeure et a posé les bases de ce qui allait devenir un nouveau et important domaine de recherche qui rend les transformées de Fourier rapides et relativement courantes :

                Janine Connes's analysis of the technique of Fourier Transform Infrared Spectroscopy was of major significance and laid the foundations of what was to grow into a significant new field. Her thesis work and subsequent publications gave in-depth theoretical analysis of numerous practical details necessary for this experimental technique to work. All the more remarkable is that her work predates the age of digital computers, which now make fast Fourier Transforms relatively routine. Mary R. Masson

                En 1960, elle écrit avec le physicien H. P. Gush une Étude du ciel nocturne dans le proche infra-rouge dans lequel les deux auteurs remercient notamment le Comité Européen de Calcul Scientifique pour ses attributions d’heures de calcul à l’ordinateur 704 I.B.M.

                En 1961, elle publie une série de quatre articles, seule ou avec d’autres chercheurs : Études spectroscopiques utilisant les transformations de Fourier. Pour le professeur Ian McLean, fondateur du laboratoire infrarouge de l’UCLA, ce sont des « travaux fondamentaux d’une importance extrême pour le domaine ». Le travail de Janine et de Pierre Conne sur les transformations de Fourier aura notamment permis à Lewis Kaplan de déterminer, en 1966, la composition de l’atmosphère de Mars (en).

                Parallèlement à cela, elle enseigne à la faculté de Sciences de Caen. En 1963, elle sera invitée avec Pierre Connes à rejoindre le Jet Propulsion Laboratory de la NASA à Pasadena. De retour en France, elle commencera par intégrer le laboratoire de Meudon au poste de directrice adjointe avant de se voir confier en 1969 la création et la direction du Centre Inter-Régional de Calcul Électronique (CIRCÉ) à Orsay.

                En 1970, l’astronome Ruper Wildt la propose, avec son mari, Pierre Connes, et le physicien Robert Benjamin Leighton pour le prix Nobel de physique pour « leur développement de la méthode de spectroscopie infrarouge à transformée de Fourier ». Le prix sera attribué, finalement, à Louis Néel.

                En 2022, elle écrit avec la participation de Françoise Perriquet : De l’IBM 360/75 au superordinateur Jean Zay 50 ans d’informatique au centre de calcul du CNRS d’Orsay.

                Les ordinateurs de ses débuts et le centre Jean Zay

                Ce sont l’IBM 704 et l’IBM 360/75 dont on va voir quelques caractéristiques techniques.

                L’IBM 704 était la plus grande machine du monde. Il avait fallu deux avions pour la transporter des États-Unis à Orly. Son arrivée en France avait fait l’objet d’une émission de la Radio Télévision française (RTF). Le présentateur interrogeait la personne chargée de réceptionner l’ordinateur au titre de l’Institut européen de calculs scientifiques, une fondation IBM, destinée à offrir aux scientifiques européens (pas seulement français) la possibilité de procéder à des calculs, jusque-là peu envisageables.

                Les mentions en italiques sont des citations tirées de l’émission.

                L’IBM 704 pesait 21 tonnes. Celui reçu à Orly était composé de « 25 unités différentes constituants chacun autant de petits meubles de dimension normale ». Ne sachant pas ce qu’est un meuble aux « dimensions normales », on peut se donner une idée de la taille des éléments en se référant aux photos : environ la profondeur et la largeur de, disons, une armoire normande, mais en moins haut, quelque chose entre 1,10 m et 1,60 m selon les éléments.

                Il fonctionnait avec des bandes magnétiques et pouvait :

                • en physique, s’occuper du dépouillement de données de mesure,
                • faciliter l’exploitation de l’énergie atomique à des fins pacifiques,
                • faire des calculs en chimie,
                • faire des calculs dans tous les domaines de l’industrie et de la science.

                Dans l’émission de radio, le présentateur demandait à la fin un exemple de traitement que pouvait faire l’IBM :

                Neper a passé plus de trente ans de sa vie à établir les tables de logarithmes et l’ordinateur 704 pourrait exécuter le même travail en le transcrivant sur des bandes magnétiques en dix-sept secondes à peu près.

                Sorti en 1954, c’est le premier ordinateur commercialisé à utiliser des commandes arithmétiques en virgule flottante entièrement automatiques et ce grâce à John Backus qui avait insisté pour que ce soit configuré au niveau du matériel.

                L’IBM 360/75 qui équipait CIRCÉ faisait partie d’une gamme d’ordinateurs interopérables et polyvalents IBM 360 dont le premier est sorti en 1966 (la numérotation des séries d’ordinateurs chez IBM est étonnante). Les IBM 360 seront commercialisés jusqu’en 1978. Ce sont les premiers à avoir utilisé le système Solid Logic Technology (SLT). L’IBM 360/30 était le plus lent de la série ; il pouvait exécuter jusqu’à 34 500 instructions par seconde avec une mémoire allant de 8 à 64 ko. Le 360/75 est l’un des derniers de la série.

                Ces ordinateurs étaient évidemment programmés en FORTRAN. D’ailleurs, le premier compilateur FORTRAN a été écrit pour l’IBM 704.

                Le centre Jean Zay, que l’on peut considérer comme l’un des successeurs de CIRCÉ a été inauguré en janvier 2020. C’est l’un des plus puissants centres de calcul d’Europe. Sa puissance est de 125,9 Pétaflop/s. Il a coûté 40 M€, coûte en électricité 3 à 4 M€ par an et il requiert 93 tonnes d’équipement réparti sur 320 m2 (source Ministère de l’enseignement et de la recherche). Il tourne sous Linux évidemment, comme tous les supers calculateurs de sa génération.

                Françoise Combes, l’astrophysicienne

                Quelle différence y a-t-il entre les métiers d’astronome et d’astrophysicien ? À cette question, wikidifference propose :

                La différence entre astronome et astrophysicien est que « astronome » est celui ou celle qui s’occupe d’astronomie tandis que « astrophysicien » est [un ou une] scientifique qui étudie l’astrophysique, l’étude de l’espace et des propriétés des objets de l’univers.

                Pas très convaincant, ni explicite. Les astronomes observent et cataloguent l’espace sur la base d’observations quand, en astrophysique, on se base sur les lois de la physique pour observer l’univers. En fait, à l’heure actuelle, les personnes qui, au départ, étaient astronomes sont maintenant des astrophysiciennes : la connaissance a évolué, les méthodes de recherche aussi ainsi que les outils. Mais, évidemment, les astronomes sont, ont été des scientifiques, souvent diplômés en physique.

                De la physique galactique à l’Académie des sciences

                Françoise Combes naît le 12 août 1952. En 1975, elle réussit l’agrégation de physique ce qui l’amènera à enseigner à l’École normale supérieure (ENS) dont elle est issue. Elle soutient sa thèse d’État à Paris VII en 1980, sujet de la thèse : les dynamiques et les structures des galaxies. En 1985, elle devient sous-directrice du laboratoire de physique à l’ENS (Ulm). Et c’est en 1989 qu’elle devient astronome à l’Observatoire de Paris. Elle est, depuis 2014, titulaire de la chaire Galaxies et cosmologie au Collège de France.

                Pendant cette période, 1970 -1980, qui voit la naissance des premières simulations numériques des galaxies, elle a l’idée de les faire en trois dimensions au lieu des deux dimensions habituelles. Elle ainsi pu résoudre :

                un mystère jusqu’alors inexpliqué : la formation d’un bulbe (sorte de renflement) dans les galaxies spirales. La clé de l’énigme est la barre centrale, sorte de forme allongée centrale où toutes les étoiles se rassemblent. « Cette barre soulève les étoiles dans la direction perpendiculaire au plan, explique-t-elle. De ce fait, les étoiles ne restent pas confinées dans un disque très mince mais prennent de l’altitude, ce qui forme un bulbe. » Ses simulations ont aussi montré comment la même barre précipite le gaz vers le centre, ce qui a pour effet d’alimenter le trou noir central. Médaille d’or, site CNRS.

                Elle a été admise à l’Académie des sciences3 en 2004, une académie dont elle assure la vice-présidence pour le mandat 2023-2024 et qui l’élit à la présidence pour le mandat 2025-2026. Une élection qui devrait normalement être ratifiée par décret par le président de la République. Ce sera la deuxième femme à la tête de cette vénérable institution (elle a été créée en 1666) où elle succède à Alain Fischer et trente ans après la biochimiste Marianne Grunberg-Manago

                Des prix prestigieux et des publications

                Françoise Combes a engrangé les prix et les distinctions au cours de sa carrière à commencer par le prix de Physique IBM qu’elle obtient en 1986 et le prix Petit d'Ormoy de l’Académie des Sciences en 1993. En 2001, le CNRS lui décerne une médaille d’argent.

                En 2009, elle obtient le prix Tycho Brahe de la Société européenne d’astronomie (EAS) dont c’est la deuxième édition pour ses

                travaux fondamentaux dans le domaine de la dynamique des galaxies, sur le milieu interstellaire dans les systèmes extragalactiques, sur les lignes d’absorption moléculaire dans le milieu intergalactique et sur la matière noire dans l’Univers. » Communiqué de presse (en anglais) de l’EAS (pdf).

                En 2017 la Société Astronomique de France (SAF) lui décerne son prix Jules-Janssen. En 2020, le CNRS lui décerne une médaille d’or. L’année suivante, elle obtient le prix international pour les femmes de sciences L’Oréal-Unesco (en).

                Elle est autrice ou co-autrice de plusieurs livres dont les plus récents :

                • Le Big bang, PUF 2024, collection Que sais-je ?, en version papier (10 €) et numérique (PDF et EPUB)
                • Trous noirs et quasars, CNRS éditions 2021, collection Les grandes voix de la recherche, en papier (8 €), numérique PDF et EPUB sans DRM (5,99 €) et audio (9,99 €).

                Par ailleurs, l’entretien qu’elle a donné au Collège de France en février 2024 est aussi téléchargeable en PDF.

                Sources, références et remerciements

                L’illustration de tête est la reproduction de la gravure originale des phases de l’éclipse (je l’ai redessinée avec Inkscape) et on peut la télécharger sur mon site de modèles ainsi d’ailleurs que le CV de Nicole-Reine Lepaute ou sur OpenClipart.

                LinuxFr.org ne rend peut-être pas plus intelligent, mais la rédaction de dépêches pour le site rend indéniablement plus savant. Pour cette dépêche et compenser une grande ignorance du sujet, j’ai été amenée à lire, consulter, parcourir ou écouter un certain nombre de documents en plus de ce qui est cité dans le corps de la dépêche. À vous de voir si vous avez envie de poursuivre l’exploration.

                Nicole-Reine Lepaute

                Janine Connes

                • Spectroscopie du ciel nocturne dans l’infrarouge par transformation de Fourier. J. Connes, H.P. Gush, Journal de Physique et le Radium, 1959, 20 (11), pp.915-917. 10.1051/jphysrad:019590020011091500, jpa-00236163
                • Tous les articles de J. Connes sur HAL Science ouverte, à savoir : il y a un site academia.eu, mieux référencé, qui les propose moyennant une inscription au site, mais cela vient de HAL qui ne demande pas d’inscription (donc pas de courriel) pour le téléchargement des fichiers.
                • Principes & applications de la spectro. de Fourier en astronomie : de ses origines à nos jours, Jean Pierre Maillard, 8 février 2019, conférence mensuelle de la Société astronomique de France (SAF)
                • De l’IBM 360/75 au superordinateur Jean Zay 50 ans d’informatique au centre de calcul du CNRS d’Orsay, EDP Sciences, il existe en version papier (39 €), PDF et EPUB avec DRM LCP (26,99 €), on peut le feuilleter aussi sur le site Cairn Info.
                • Réception à l’aéroport d’Orly de l’IBM 704 qui avait servi à Janine Connes pour ses calculs, podcast France Culture, rediffusion d’une émission de 1957.
                • L’IBM 704
                • l’IBM 360 (es), Academia Lab (2024). Système IBM/360. Encyclopédie. Révisé le 29 décembre 2024.

                Françoise Combes

                L’histoire de l’astronomie

                • Les télescopes, Gilles Kremer, Sylvie Voisin, 30 mars 2018
                • Histoire et patrimoine de l’Observatoire de Paris
                • Une histoire de l’astronomie, Jean-Pierre Verdet, Seuil 1990, il a fait l’objet d’une publication au format EPUB avec DRM LCP (9,99 €) EAN : 9782021287929, mais on peut le trouver d’occasion assez facilement. Il est doté d’une bonne bibliographie et est plutôt passionnant.

                Remerciements

                Un très grand merci à vmagnin pour ses informations et ses précisions, même si je n’ai pas tout utilisé. Mais ce n’est pas perdu, un prochain portrait probablement (voire, sûrement).

                Merci aussi à Enzo Bricolo pour m’avoir signalé l’élection de Françoise Combes à la présidence de l’Académie des sciences, sans ça je l’aurais ratée et ce serait dommage.

                Ainsi se clôt cette série sur les femmes et la conquête de l’espace ainsi que l’année 2024. Et c’est mon cadeau de nouvelle année.


                1. La Connaissance du temps, qui se targue d’être la plus ancienne publication d’éphémérides toujours publiée est actuellement gérée et publiée par l’IMCCE - Observatoire de Paris, la version 2025 vient de paraître et est téléchargeable en PDF. Elle est accompagnée d’un logiciel de calcul d’éphémérides développé pour Windows, Mac et Linux. 

                2. Source : Les lunettes astronomiques, 29 mars 2018, Sylvie Voisin et Gilles Kremer, Le Blog Gallica. 

                3. Une académie qui s’engage en faveur de libre accès et dont les comptes rendus sont publiés depuis 2020 sous licence Creative commons CC BY – SA. 

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                Tuxemon Tower 0 : sortie de la première version !

                Tuxemon Tower 0 est un petit jeu vidéo très sobre. Il est inspiré des jeux Pokémon classiques et consorts, mais il est 100% libre et ne cherche aucunement à être un clone.

                Sommaire

                En bref

                Qu'est-ce que Tuxemon Tower 0 ?

                Tuxemon Tower 0 est un jeu vidéo de combats en tour par tour. Les combattants peuvent avoir un ou des types, ont des statistiques, et une ou plusieurs capacités. En gagnant assez d'expérience, ils montent de niveau et ainsi deviennent plus forts. Un genre simple et classique, mais efficace.

                Et dans le cas de Tuxemon Tower 0, la réalisation est très basique. Cela est vrai autant du point de vue graphique que de celui du moteur. De plus, on accorde qu'on peut parfois juger que l'expérience des joueurs est médiocre (notamment car, hormis être meilleur que nous, vous allez devoir vous fader des combats juste pour avoir un niveau suffisant et on reconnaît qu'il n'y a pas trop d'intérêt ludique à regagner le même combat contre une dresseuse ou commettre un crime contre la biodiversité en enchaînant à gogo les créatures sauvages de la même zone, mais augmenter la vitesse de défilement du texte et garder enfoncé sur le bouton A permet d'écourter le temps de mise à niveau). Mais le jeu est court, donc il est escompté que la découverte et la curiosité qui l'accompagne permettent d'avoir une expérience agréable de ce mini-jeu.

                Télécharger Tuxemon Tower 0

                Le téléchargement des sources (code, images, etc.), de la documentation générée et des constructions pour certaines plateformes (distributions GNU/Linux et Windows) se fait via BitTorrent à travers un lien magnet. On promeut en effet la décentralisation et le fédéralisme, mais aussi la non-disponibilité permanente. De plus, ça oblige tout le monde à partager le coût (hormis les trackers, certes) et à avoir une copie des sources, tout en étant résilient.

                Ce serait sympa de partager pendant l'obtention et aussi après que ce soit fait. Et on prévient : on n'est que rarement à la fois connecté à Internet (on n'a volontairement pas d'accès chez nous) et en mesure de partager via BitTorrent (on ne veut pas faire ça au boulot et il faut que ce soit permis par le réseau), donc ayez de la patience (ou ne vous plaignez pas inutilement). C'est également pour ça qu'on encourage fortement que vous continuez de partager le torrent après l'avoir entièrement obtenu et de préférence sans ratio (puisqu'il n'est pas bien lourd à la vue de la normalité actuelle, et est tout à fait légal, ça ne devrait pas vous être bien problématique).

                Quelques clients BitTorrent libres

                Au cas où vous n'auriez pas de client BitTorrent (ou un qui soit propriétaire), en voici quelques-uns qui sont libres :

                Images du jeu

                Images de cartes

                Images de cartes

                Images de combats

                Images de combats

                Images de menus

                Images de menus

                Comment contribuer ?

                Avant d'éventuellement contribuer, n'oubliez pas plutôt en priorité de faire des choses plus importantes. En effet selon nous, mieux vaut s'activer pour l'émancipation sociale universelle et tendre vers une société écologique que de contribuer à un jeu.

                1. Pour nous, la meilleure manière de contribuer est de mettre à disposition des sprites pour des créatures et des dresseurs. En effet, nous sommes très mauvais pour produire ça et cela ajouterait de la diversité bienvenue (pendant que celle sur Terre s'effondre…). Si ça vous branche, faites-le en respectant le style des actuels, avec une taille adéquate (64×64 et/ou 56×56 et/ou 48×48), et de préférence en faisant l'avant et l'arrière (car avec juste l'avant on ne peut pas jouer la créature ou la personne dresseuse mais juste l'affronter), voire en vous restreignant à 4 couleurs (c'est là la contrainte ultime, mais qui serait utile pour économiser de l'espace et deviendra nécessaire si un jour un port sur GameBoy Color est fait) et alternativement c'est déjà ça si ça ne dépasse pas la barre des 8 (qui va nous servir de transition entre 16 et 4, tout en permettant de réduire l'usage mémoire avec une petite astuce ou de la compression plus poussée que nous ne ferons probablement pas).
                2. Nous n'avons pas l'intention de gérer une communauté autour de ce jeu. C'est pourquoi nous n'avons pas mis le code source sur une forge et nous ne comptons pas le faire. Rien ne vous empêche toutefois de faire une version dérivée et de la publier, peut-être que nous irons y piocher des trucs en vous créditant si nous en avons connaissance.
                3. Bien sûr, si vous voulez que nous intégrions peut-être un jour une contribution, veillez à la mettre sous une licence compatible quand vous n'y êtes pas de toute façon obligé par le gauche d'auteur. Utilisez donc une licence libre, avec de préférence la GNU AGPLv3+ pour le code source et la Creative Commmons BY-SA v4.0 pour le reste.
                4. Mais où mettre ce que vous produisez ? Ça vous regarde. Mais, pour que ce soit visible, le wiki du projet Tuxemon est un bon endroit ou vous pouvez faire un commentaire ci-dessous (pointant par exemple vers votre dépôt sur OpenGameArt).
                5. Si vous vous y connaissez en portage ou en packaging pour votre système favori, n'hésitez pas à faire un joli paquet pour le jeu et à tenter honnêtement de le faire officiellement intégrer. Toutefois, cela ne vaut pas pour Apple iOS, Google Play, Microsoft Store, Steam de Valve, Origin d'Electronic Arts, et consorts.
                6. Évidemment une autre forme de contribution est tout simplement de faire la promotion du jeu. Parlez-en !
                7. Enfin, il existe un moyen rudimentaire : partager le contenu du torrent, pour qu'il soit disponible le plus de temps possible. En effet, nous sommes très loin d'être en permanence avec un accès à Internet et nous n'ouvrons pas systématiquement notre client BitTorrent favori quand nous le sommes.

                Le droit d'auteur

                Les licences utilisées

                Les conséquences

                Remerciements

                En plus long ?

                Le comité éditorial de LinuxFr.org a jugé inappropriée la version longue qui était prévue et qui lui a été soumise. De plus, il a suggéré de feuilletonner l'annonce d'origine. Mais cela ne correspond pas à notre vision éditoriale et plus généralement notre vision anthropologique (le brouhaha communicationnel nous apparaît comme néfaste et donc à ne surtout pas alimenter), et nous n'avons de toute façon pas envie d'y passer du temps (il y a pour nous bien plus important que ce petit jeu vidéo, dont la réalisation est plus pour nous un plaisir coupable qu'autre chose, à fortiori dans une phase très nette de fascisation et d'écocide).

                Néanmoins l'annonce d'origine, qui contient bien plus d'explications, reste disponible. Dans le torrent, il y a les sources (sources.tar.xz) et dans celle-ci il y a l'annonce prévue à la base (news/fr/version-1-0-0_annonce.md). Et si vous voulez la publier ailleurs (en mentionnant que nous en sommes à l'origine et en différenciant bien toute modification), en entier ou sous forme partielle, elle est sous licences libres (vous pouvez choisir celle qui vous convient le mieux) avec gauche d'auteur : Creative Commons BY-SA 3.0, Creative Commons BY-SA 4.0 et GNU GPL 3.0.

                Données du jeu

                Consultation en jeu

                Dans le menu de lancement, proposant de démarrer une nouvelle partie ou d'en charger une existante, appuyez sur Start (ou plutôt l'un des boutons qui y correspond si vous n'utilisez pas une manette ou qu'elle n'est pas reconnue ou pas bien). Cela vous fera changer de menu. Vous aurez alors une entrée « Explorer les données ». Ce n'est pas parce que ça existe que c'est exhaustif.

                Documentation HTML

                Dans le torrent, avec les sources et les constructions, il y a de la documentation sous forme de fichiers HTML, que vous pouvez consulter avec un navigateur web. Vous pouvez aussi la regénérer depuis les sources. Comme pour la consultation en jeu, ce n'est pas nécessairement exhaustif, mais c'est déjà ça.

                Images

                Liste des créatures

                Liste des créatures

                Liste des dresseurs et dresseuses

                Liste des dresseurs et dresseuses

                Annexe : temps et motivation

                Au début d'un projet personnel, la motivation est souvent grande. Mais tant qu'il n'y a pas quelque chose de finalisée, il est à priori courant que la motivation tende à décroitre. En tout cas, c'est notre cas.

                C'est en partie pour cela que le jeu est très simple (système ultra-basique pour les cartes, pas de possibilité d'esclavagir, pas de statut, pas de possibilité de manipulation par le joueur/joueuse d'objets non-visuels, pseudo-aléatoire en guise de non-intelligence artificielle, etc.). L'autre grosse partie de l'explication est la volonté de faire de la basse technologie (d'où entre autres que ce soit graphiquement en niveaux de gris, malgré des sprites avec des couleurs au-delà de ce spectre) et la restante est l'ajout de complexité qui nuise à l'expérience de la mécanique du jeu en ajoutant du « bruit », mais ce n'est là pas le sujet.

                Venir reprocher ou se plaindre de la trop grande simplicité du jeu (qu'il aurait fallu qu'il y ait ceci et cela, etc.) peut être en soi une critique pertinente. Néanmoins, ça ferait totalement fi de l'aspect humain en ce qui concerne la production. En effet, si le jeu n'était pas aussi basique, il ne serait probablement jamais sorti de par la baisse de motivation.

                C'est pourquoi le jeu est volontairement très simple. Mais c'est une fin en soi et une base. Tout ce qui a été fait pour la version 1.0.0 de ce jeu ne sera plus à faire pour une ou des éventuelles versions améliorées et un ou des éventuels autres jeux exploitant tout ou partie de ce qui a été réalisé pour celui-là.

                Approximation de l'évolution de la motivation

                Dans le cadre du développement de ce jeu, on utilise git, un logiciel de gestion de version. Tous les changements y sont consignés et datés. À partir des informations qu'il a enregistrées, il est donc possible d'avoir une idée de l'évolution de la motivation.

                Toutefois, on ne va pas vous livrer le dépôt git (et on a expliqué pourquoi). Vous n'en aurez donc ci-après qu'une vue fort approximative, dont la génération a été faite par git-bars.

                Il fournit une vue par mois du nombre de commits. C'est donc très approximatif. En effet, un commit peut avoir une taille très variable et être pour des changements importants ou mineurs. Néanmoins, ça donne tout de même une image plutôt réaliste de l'évolution de notre motivation.

                On peut notamment bien voir que les débuts sont des périodes fastes. Pour début 2023, on peut constater que c'est assez peu garni, ce qui s'explique par la contre-réforme des retraites. Mais ça montre aussi un biais : en mars et en avril 2023, on n'a fait que des petits trucs pas bien importants, mais ça a engendré pas mal de commits.

                Statistiques de commits par nous pour ce nouveau jeu

                2024-11  61   ▀▀▀▀▀▀▀▀▀▀▀▀▀
                2024-10  52   ▀▀▀▀▀▀▀▀▀▀▀
                2024-09  45   ▀▀▀▀▀▀▀▀▀▀
                2024-08  77   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2024-07  19   ▀▀▀▀
                2024-06  34   ▀▀▀▀▀▀▀
                2024-05  62   ▀▀▀▀▀▀▀▀▀▀▀▀▀
                2024-04  126  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2024-03  59   ▀▀▀▀▀▀▀▀▀▀▀▀▀
                2024-02  96   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2024-01  89   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-12  52   ▀▀▀▀▀▀▀▀▀▀▀
                2023-11  78   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-10  117  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-09  224  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-08  106  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-07  87   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-06  56   ▀▀▀▀▀▀▀▀▀▀▀▀
                2023-05  106  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-04  92   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-03  60   ▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-02  10   ▀▀
                2023-01  19   ▀▀▀▀
                2022-12  34   ▀▀▀▀▀▀▀
                2022-11  80   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-10  87   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-09  106  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-08  88   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-07  138  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-06  85   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-05  50   ▀▀▀▀▀▀▀▀▀▀▀
                2022-04  28   ▀▀▀▀▀▀
                2022-03  121  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-02  131  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-01  144  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-12  133  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-11  81   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-10  26   ▀▀▀▀▀
                2021-09  35   ▀▀▀▀▀▀▀
                2021-08  45   ▀▀▀▀▀▀▀▀▀▀
                2021-07  85   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-06  5    ▀
                2021-05  18   ▀▀▀▀
                2021-04  55   ▀▀▀▀▀▀▀▀▀▀▀▀
                2021-03  79   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-02  112  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-01  60   ▀▀▀▀▀▀▀▀▀▀▀▀▀
                

                Statistiques de commits par nous pour Greycess Knight RPG

                Greycess Knight RPG est la base de ce nouveau jeu. Il part donc du même dépôt git. Puisque des changements sont valables pour les 2 jeux, on les fait dans Greycess Knight RPG, ce qui occasionne des commits de fusion dans le nouveau jeu. De plus, en soustrayant les nombres de commits par mois de Greycess Knight RPG à ceux du nouveau jeu, on peut avoir le nombre de commits qui touchent aux changements nécessaires au nouveau, ou du moins en partie puisqu'on fait parfois le changement dans le nouveau jeu avant de le mettre aussi dans l'ancien ou le (quasi-)même changement dans les 2 pour faciliter la fusion. C'est pour ça qu'on met ci-après les statistiques pour Greycess Knight RPG.

                2024-11  17   ▀▀▀▀▀▀▀
                2024-10  9    ▀▀▀▀
                2024-09  4    ▀
                2024-08  20   ▀▀▀▀▀▀▀▀
                2024-07  1    
                2024-06  8    ▀▀▀
                2024-05  15   ▀▀▀▀▀▀
                2024-04  34   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2024-03  3    ▀
                2024-02  10   ▀▀▀▀
                2024-01  12   ▀▀▀▀▀
                2023-12  16   ▀▀▀▀▀▀▀
                2023-11  15   ▀▀▀▀▀▀
                2023-10  13   ▀▀▀▀▀
                2023-09  29   ▀▀▀▀▀▀▀▀▀▀▀▀
                2023-08  26   ▀▀▀▀▀▀▀▀▀▀▀
                2023-07  25   ▀▀▀▀▀▀▀▀▀▀▀
                2023-06  26   ▀▀▀▀▀▀▀▀▀▀▀
                2023-05  25   ▀▀▀▀▀▀▀▀▀▀▀
                2023-04  35   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2023-03  27   ▀▀▀▀▀▀▀▀▀▀▀▀
                2023-02  4    ▀
                2023-01  3    ▀
                2022-12  9    ▀▀▀▀
                2022-11  22   ▀▀▀▀▀▀▀▀▀
                2022-10  15   ▀▀▀▀▀▀
                2022-09  14   ▀▀▀▀▀▀
                2022-08  27   ▀▀▀▀▀▀▀▀▀▀▀▀
                2022-07  44   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-06  14   ▀▀▀▀▀▀
                2022-05  16   ▀▀▀▀▀▀▀
                2022-04  6    ▀▀
                2022-03  22   ▀▀▀▀▀▀▀▀▀
                2022-02  33   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2022-01  54   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-12  92   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-11  81   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-10  26   ▀▀▀▀▀▀▀▀▀▀▀
                2021-09  35   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-08  45   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-07  85   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-06  5    ▀▀
                2021-05  18   ▀▀▀▀▀▀▀▀
                2021-04  55   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-03  79   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-02  112  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                2021-01  60   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                

                Par ailleurs, comme vous pouvez le voir, ça a bougé du côté de Greycess Knight RPG. Une version 1.0.2 est en cours. Mais du point de vue de l'expérience de jeu, elle n'apporte rien ou presque. Ce sera une mise à jour technique : elle consistera essentiellement en une amélioration du code source (de diverses manières et à divers endroits) et en une réduction par 3 de la taille du binaire sans la bibliothèque SDL2 statiquement liée (ce qui l'amènera à environ 250 ko grâce à la correction d'une erreur stupide).

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                Haiku a 23 ans et un quart

                La dernière dépêche annuelle sur les nouveautés dans Haiku a dépassé la longueur maximale tolérée par Linuxfr (et été finalement découpée en plusieurs parties publiées séparément). Aussi, les nouveautés sur Haiku seront désormais publiées trimestriellement, pour faire face à l’augmentation d’activité dans le projet.

                Sommaire

                Ce rapport est basé sur les rapports mensuels d’activité d’août, septembre et octobre publiés sur le site de Haiku. Il couvre les changements de code survenus entre hrev57901 et hrev58291 de Haiku.

                Certains des changements mentionnés dans ce rapport font partie des derniers développements du mois d'août, et étaient déjà présents dans la version R1 bêta 5 qui a été publiée début septembre 2024.

                Les corrections de bugs sont appliquées sur la branche bêta 5 si elle est concernée, mais les nouveaux développements sont mis dans la branche principale et seront disponibles uniquement dans les « nighlty builds » (constructions journalières) puis dans la prochaine version, qui sera probablement étiquetée R1 bêta 6.

                La version R1 est très attendue, mais la feuille de route comporte toujours environ 600 bugs et demandes d’amélioration. Jusqu’à ce qu’ils soient tous traités (corrigés, devenus obsolètes ou déplacés vers une version plus tardive), Haiku continue de publier des versions bêta.

                Applications

                Amélioration et corrections de textes de messages dans diverses applications (humdinger).

                L’application Switcher — permettant de naviguer rapidement entre les différentes fenêtres et applications à l’aide d’un menu qui apparaît lorsque la souris se trouve sur les bords de l’écran — peut à nouveau être compilée. Cette application n’est pas terminée et non intégrée dans Haiku par défaut pour l’instant (nephele).

                Dans les préférences de disposition clavier, des icônes avaient disparu de certains menus suite à un problème dans une modification précédente. Ces icônes sont maintenant de retour (jscipione).

                Les réglages de polices de caractères de WebPositive peuvent faire des retours à la ligne dans le texte d’exemple utilisé pour visualiser la police choisie (correction récupérée depuis la fenêtre de réglage des polices du système, qui utilise une variante du même code). (nipos).

                Le raccourci clavier « muet » permet d’alterner entre l’activation et la désactivation du son, au lieu de toujours passer en mode muet (korli).

                Plusieurs applications pouvaient ouvrir leurs fenêtres en dehors de l’écran si leur dernière position enregistrée n’était pas bonne (après un changement de résolution d’écran par exemple). L’appel de la fonction MoveOnScreen() après la création d’une fenêtre permet de régler ce problème (korli, pinaraf, waddlesplash).

                Icon-O-Matic ouvre ses dialogues de sélection de fichiers dans le dossier où se trouve l’icône en cours d’édition (nipos).

                Il est possible de sélectionner une famille de polices directement dans FontDemo (nipos).

                Améliorations du mode sombre

                Modifications faites par nipos et nephele.

                Depuis la version bêta 5 de Haiku, il est beaucoup plus simple de configurer un thème de couleurs dans Haiku (avec seulement 3 couleurs à sélectionner, les autres étant calculées automatiquement).

                Cependant, toutes les applications et contrôles graphiques ne se comportent pas forcément très bien, en particulier si on choisit une couleur de fond de fenêtres sombre. Ce trimestre, on trouve donc des améliorations sur ColumnListView (contrôle permettant l’affichage de données en listes, en arbre et en colonnes), et dans les applications Debugger, Mail (en particulier les marqueurs de portions de message citées), WebPositive, ResEdit, FontDemo, Cortex, Sudoku et Tracker (les fenêtres de configuration des permissions de fichiers et de statut de copie de fichiers), ainsi que dans les préférences de disposition clavier (couleur des touches de clavier affichées), et de configuration des écrans et des écrans de veille. Ces applications utilisaient encore quelques couleurs codées « en dur » qui ne s’adaptaient pas automatiquement au thème choisi.

                En outre, les formules de calcul utilisées pour générer le thème de couleurs ont été améliorées pour donner de meilleurs résultats dans le cas de couleurs sombres, assurant de conserver un bon contraste entre tous les éléments graphiques et une meilleure cohérence des couleurs.

                AboutSystem

                L’application AboutSystem donne quelques informations sur la machine (RAM, CPU), et surtout affiche les noms des développeurs et les messages de copyright et clauses de licences obligatoires de logiciels libres qui sont embarqués dans Haiku.

                Correction d’un crash à cause d’une information de copyright mal enregistrée (madmax).

                Mise à jour des crédits à l’occasion de la version Beta 5 : ajout des nouveaux membres de l’équipe, et passage dans la catégorie « anciens développeurs » de certaines personnes qui ne participent plus pour l’instant. (waddlesplash).

                Débogueur

                Haiku est fourni avec un débogueur graphique permettant d’investiguer facilement les problèmes dans les applications.

                Waddlesplash a amélioré le désassembleur pour mieux décoder les adresses mémoire calculées à partir de la valeur d’un registre CPU. La correction a été remontée dans la bibliothèque tierce Zydis, utilisée pour le désassemblage.

                Il a également modifié le code du Debugger pour ne pas essayer de télécharger des informations de debug lorsque l’outil est lancé en mode non-interactif (dans le cas d’une test suite automatisée par exemple). Plusieurs autres problèmes qui pouvaient causer un plantage du debugger ou un blocage dans un état invalide (avec l’application qui ne s’arrête jamais) ont été également traités.

                DriveSetup

                L’outil DriveSetup permet de modifier la table de partitions et de formater les partitions avec différents systèmes de fichiers.

                Pour les partitions de type « Intel » (MBR), lorsqu’on crée une première partition, par défaut elle est marquée automatiquement comme partition active. Auparavant il fallait cocher une case pour cela, et de nombreux utilisateurs oubliaient de le faire, ce qui pouvait rendre le système impossible à démarrer (korli).

                Dans certains messages, le nom des partitions n’était pas mis entre guillemets, ce qui pouvait prêter à confusion avec des noms de partitions choisis maladroitement (ou judicieusement, selon de quel point de vue on se place). Maintenant le nom de la partition est clairement identifiable dans le message (humdinger).

                HaikuDepot

                HaikuDepot est le frontal graphique du gestionnaire de paquets de Haiku. L’application est maintenue par apl et se compose d’une interface graphique native développée en C++ et d’un webservice développé en Java qui permet de stocker des métadonnées supplémentaires sur les paquets : captures d’écrans, notes et revues des utilisateurs, liste des paquets à mettre en avant.

                • Refactoring du « language model », de la gestion des chemins, de la récupération des données des paquets, de l’affichage des auteurs de paquets, de la gestion des notes données par les utilisateurs. (apl)
                • Fenêtre des conditions d’utilisation: correction de la couleur du texte, correction d’un crash si on clique dans la fenêtre avant que le texte soit chargé. (apl et jscipione)
                • Le bouton « Ouvrir » permettant de lancer une application installée ne fonctionnait pas toujours (apl).
                • Amélioration de la sélection d’un icône par défaut pour les paquets qui n’ont pas d’icône inclus (apl).

                La liste de paquets mis en avant a été revue, un nouveau mainteneur (Michel) se charge de la tenir à jour avec des règles mieux définies : une sélection d’applications populaires (sur suggestion de participants aux forums de discussion) ainsi que des applications mises à jour récemment. Si vous utilisez Haiku, n’hésitez pas à passer un peu de temps à évaluer et noter les applications, peu de personnes le font et il est difficile d’exploiter les données de façon pertinente si beaucoup d’applications n’ont reçu qu’un seul vote.

                Horloge

                L’application horloge permet d’afficher l’heure (sans surprise). Elle propose diverses apparences de cadrans, peut être redimensionnée, et incrustée dans le bureau sous forme d’un replicant.

                Un bug dans l’application conduisait à afficher une heure aléatoire (non initialisée) pendant quelques centièmes de secondes au démarrage avant de commencer à afficher l’heure courante (OscarL)

                Les aiguilles de l’horloge étaient décalées de quelques pixels et ne pointaient pas précisément là ou elles devraient (dovsienko).

                Tracker

                Tracker est le gestionnaire de fichiers de Haiku. Il affiche le bureau et toutes les fenêtres de navigation et de recherche de fichiers. Il se distingue par son utilisation de la navigation dite « spatiale », où chaque dossier s’ouvre dans une fenêtre séparée dont la taille et la position à l’écran sont mémorisées.

                jscipione continue son travail d’amélioration du Tracker (cela comporte de nombreux changements qui sont encore en gestation). Ce trimestre, les changements intégrés permettent :

                • la désactivation d’entrées du menu « Nouveau » lorsque les opérations ne sont pas disponibles,
                • la mise à jour dynamique de certains menus en fonction des opérations disponibles,
                • la préservation de la sélection après une opération de copie où de déplacement (avec quelques problèmes d’affichage corrigés au passage),
                • des corrections de bug sur le choix de couleurs utilisées dans la fenêtre « Ouvrir avec »,
                • la possibilité de créer un lien symbolique lorsqu’on fait un drag and drop depuis un dossier virtuel,
                • utilisation de la police de caractères « menu » de façon cohérente dans tous les menus.

                Il a également travaillé sur des tâches de fond, sans changements visibles pour l’instant. Le code du Tracker provient de BeOS et est un peu vieillissant. Il est souvent nécessaire de faire beaucoup de nettoyage avant de pouvoir développer de nouvelles fonctionnalités sans casser autre chose. Cette fois-ci, on trouve entre autres une refonte de la gestion des raccourcis claviers, la fermeture automatique des fenêtres en double lors du passage en mode « navigation spatiale », et divers crashs liés à la gestion des menus popup.

                humdinger a également travaillé sur le Tracker pour améliorer certains messages concernant la copie et la création de fichiers, pour les rendre plus faciles à traduire.

                humdinger a également travaillé sur l’organisation du menu « templates » (affiché quand on fait un clic droit -> nouveau… et permettant de créer différents types de fichiers à partir de fichiers de référence). Ce menu peut maintenant être organisé en plusieurs sous-menus à l’aide d’une nouvelle option « New template folder », pour les personnes qui utilisent cette fonctionnalité avec de nombreux fichiers de référence au point d’avoir besoin de les organiser.

                La fenêtre de requêtes (recherche de fichiers en fonction de leurs attributs étendus indexés dans le système de fichiers) permet maintenant d’afficher en temps réel les résultats lorsqu’on édite une requête. En outre, il est possible de filtrer les résultats pour afficher uniquement les fichiers contenus dans un répertoire donné (auparavant, on pouvait au mieux restreindre par volume disque). Ces changements ont été réalisés dans le cadre du Google Summer of Code par CalistoMathias, avec également une participation de jscipione, humdinger et waddleplash pour finaliser le travail.

                Correction d’un crash du Tracker lors de changements de résolution d’écran (OscarL).

                Terminal

                Le Terminal permet d’exécuter des applications en ligne de commande.

                Lors du changement de la taille de texte du Terminal, ce dernier ajuste le nombre de lignes et colonnes de texte visibles, au lieu de redimensionner sa fenêtre (nipos).

                Prise en compte de la séquence d’échappement ANSI pour effacer l’historique de défilement (CodeForEvolution).

                PowerStatus

                L’application PowerStatus affiche des informations sur les batteries pour les ordinateurs portables.
                sen a effectué plusieurs améliorations pour les systèmes avec plusieurs batteries:

                • Gestion de plusieurs emplacements pour batteries qui ne sont pas forcément tous utilisés,
                • Meilleur calcul des alertes de batterie faible,
                • Prise en compte de la déconnexion de batteries pendant le fonctionnement du système.

                Outils en ligne de commande

                La commande profile (qui permet d’analyser les performances d’autres applications et du système) peut maintenant afficher le nombre d’évènements qui n’ont pas pu être enregistrés par l’analyseur système (waddlesplash).

                La commande package_repo update (utilisée pour mettre à jour un dépôt de paquets avec de nouveaux logiciels) peut maintenant fonctionner sans avoir accès au contenu complet des fichiers packages à inclure dans le dépôt (seuls les noms des paquets et quelques autres métadonnées sont réellement nécessaires).

                La commande package_repo list dispose d’une option -f pour afficher le nom de fichiers correspondant aux paquets contenus dans un dépôt de paquets. Les fichiers peuvent ainsi être téléchargés facilement par un outil tiers. (waddlesplash)

                Ces deux modifications sont utiles en particulier pour la ferme de build de HaikuPorts, qui souhaite héberger les fichiers dans des buckets S3 afin de simplifier l’infrastructure et de réduire les coûts de fonctionnement.

                Amélioration du format de sortie de la commande launch_roster pour indiquer le statut des services et pas simplement leur nom (kallisti5 + waddlesplash).

                Ajout dans strace du décodage des drapeaux de configurations de mutex (par exemple MUTEX_SHARED) (waddlesplash).

                Serveurs

                Les serveurs sont des applications fonctionnant en tâche de fond et qui implémentent une grande partie des fonctionnalités du système.

                app_server

                app_server est le serveur graphique qui se charge de l’affichage du bureau et des fenêtres.

                madmax a travaillé sur la gestion des polices de caractères: correction de problèmes de verrouillage pour éviter des accès concurrents au gestionnaire de polices par plusieurs fils d’exécution, amélioration du traitement de l’ajout et du retrait de polices, et une optimisation pour éviter de scanner deux fois de suite les dossiers de polices au démarrage.

                waddlesplash a complété ce changement en déplaçant une partie du code de gestion des polices pour éviter que d’autres parties de l’exécution soient bloquées par l’initialisation des polices, qui peut prendre beaucoup de temps (quelques secondes) au démarrage du système.

                waddlesplash a corrigé un problème de calcul de délai d’expiration (probablement sans conséquence, découvert par hasard en investiguant un autre problème).

                jscipione a corrigé un problème de rafraîchissement de l’affichage lorsque des fenêtres sont empilées, qui pouvait conduire à ne pas bien effacer la barre de titre dans certains cas.

                Un clic simple sur le coin bas-droite de la fenêtre (coin de redimensionnement) déclenchait par erreur une minimisation de la fenêtre concernée (madmax).

                media_server

                Le media_server prend en charge les flux audio et vidéo et permet de router ces flux entre différentes applications ainsi que depuis et vers le matériel (cartes son, cartes d’acquisition vidéo, webcams…).

                Travaux effectués par waddlesplash:

                Correction de problèmes de calculs de temps dans le mixeur audio (problèmes découverts suite à l’amélioration de la détection d’erreurs dans BTimeSource, mentionné plus haut), et ajout de contrôles d’intégrité supplémentaires lors du démarrage du mixeur.

                Cela corrige plusieurs bugs qui faisaient que le système n’avait pas de son au démarrage pendant un certain temps, avant que soudainement ça se mette à fonctionner.

                D’autre part, des améliorations de performance sur la programmation des évènements, et des corrections de crash sur la connexion et déconnexion des nœuds média vers la sortie audio, et sur le nœud multi-audio avec certaines cartes sons qui exposent des types de contrôles invalides.

                D’autres changements sont en cours pour pouvoir changer la sortie audio sans avoir besoin de redémarrer le serveur média, mais ça ne fonctionne pas encore.

                registrar

                Le registrar surveille quelles sont les applications déjà lancées et fournit divers services de communication entre applications, en particulier pour le presse-papier.

                Ajout de vérification d’erreurs si un message de récupération du contenu du presse-papier échoue. Cela peut arriver si on a mis beaucoup de données dans le presse-papier et qu’il n’y a plus assez de mémoire disponible.

                Des corrections du côté de la libbe permettent maintenant de gérer ces erreurs et de ne pas faire planter l’application concernée.

                input_server

                L’input_server` se charge des périphériques d’entrée (clavier, souris…)

                Améliorations la validation des données des fichiers de configuration de souris, qui dans certains cas pouvaient empêcher la souris de fonctionner. Refonte de la gestion des accès concurrents à la liste des périphériques, pour supprimer des verrous inutiles et permettre les accès à la liste même si un thread de gestion d’un périphérique est bloqué. (madmax)

                Les codes de touches pour la touche power et la touche \_ des claviers japonais s’étaient retrouvés assignées à des valeurs identiques (cela semble provenir tout droit de changements datant de BeOS, car ces touches non présentes sur un clavier de PC américain classiques sont assez mal documentées). La documentation a été mise à jour pour mieux expliquer quels sont les codes utilisés, et les différents pilotes (PS2, USB) ont été harmonisés pour utiliser les mêmes codes (x512 et PulkoMandy).

                Le code power pourra également être utilisé par un pilote GPIO sur les machines où c’est nécessaire (souvent non compatibles PC).

                net_server

                Le net_server se charge de toutes les opérations liées au réseau.

                mmlr a corrigé un problème dans le client DHCP, qui utilisait certaines variables sans les initialiser.

                package_daemon

                Le package_daemon vérifie la cohérence des paquets installés avec leurs dépendances, crée les dossiers de transactions et de sauvegarde de l’état passé du système, et se charge de lancer les scripts d’activation et de désactivation de paquets. L’accès au contenu des paquets est en revanche traité dans le noyau par le système de fichier packagefs.

                Changement des couleurs des fenêtres « problèmes » et « résultats » qui apparaissent quand il y a des conflits ou d’autres problèmes de résolution de dépendances lors de l’activation des paquets (jscipione).

                Kits

                Les « kits » sont les composants de la bibliothèque standard de Haiku. Il s’agit principalement d’une convention de documentation et d’organisation de code source pour regrouper des fonctionnalités liées entre elles.

                Interface

                L’interface kit` permet l’ouverture de fenêtre et l’ajout de contrôles d’interface graphiques à l’intérieur de ces dernières.

                Les objets BBitmap (permettant de stocker une image « raster ») avec le flag ACCEPT_VIEWS (permettant d’attacher une « vue" pour dessiner dans le bitmap ne sont plus automatiquement effacés. Cela permet de créer un bitmap à partir de données existantes, puis de dessiner autre chose par-dessus. Ce changement corrige un problème de compatibilité avec BeOS, et permet aussi d’utiliser cette méthode dans l’implémentation de WebKit pour Haiku (ZardShard).

                Un changement précédent avait causé un problème de compatibilité d’API avec BeOS, qui déclenchait dans certains cas une récursion infinie et un crash lorsqu’on essayait de faire défiler une BListView par glisser-déplacer (par exemple dans l’application Wonderbrush). Waddlesplash a corrigé ce problème, et jscipione a également ajouté quelques améliorations sur la mise à jour des items sélectionnés lorsqu’on effectue cette opération.

                Il est maintenant possible d’afficher des « checkmarks » (coche indiquant une option activée) sur les items de menus disposés en « matrice ». Habituellement les menus sont soit disposés sur une ligne, soit sur une colonne avec les items les un au-dessous des autres. Le mode « matrice » permet de s’affranchir de ces restrictions pour disposer les items librement avec du code applicatif.

                Mise à jour en direct des couleurs dans les contrôles BSpinner, refonte de l’héritage des couleurs de la vue parente, et changement de la couleur de fond des boutons en mode sombre (jscipione).

                Centrage vertical des dates dans BCalendarView (permettant d’afficher un calendrier) (nipos).

                Factorisation de code dans BView pour l’envoi des données BShape vers app_server (x512).

                La méthode de debug BPoint::PrintToStream affiche maintenant les coordonnées avec des décimales, permettant de détecter les points qui ne sont pas alignés avec la grille de pixels (ayu-ch).

                Les boîtes de texte marquées comme « invalides » ont maintenant un fond rouge. La bordure rouge utilisée précédemment n’était pas assez visible (nephele).

                Media

                Le media kit permet aux applications de s’interfacer avec le media server, et fournit en plus une interface standardisée pour les codecs audio et vidéo.

                Ajout d’assertions dans la classe BTimeSource pour empêcher les applications d’envoyer des temps avec un « drift » inférieur ou égal à 0. Le « drift" est utilisé comme multiplicateur et diviseur dans les calculs d’horloge, donc les valeurs inférieures ou égales à 0 causent des problèmes. Ceci a été mis en évidence par des corrections au niveau du noyau (voir plus loin dans la dépêche) et a ensuite permis de trouver encore d’autres problèmes en particulier dans les add-ons media (waddlesplash).

                Locale

                Le « locale » kit permet la traduction des applications, le formatage des nombres en fonction des préférences de chaque pays, la gestion des fuseaux horaires, et toutes les autres problématiques liées à l’internationalisation. Il s’agit principalement d’un enrobage de la bibliothèque ICU pour faciliter son utilisation avec les types natifs de Haiku.

                Meilleure gestion des erreurs si la bibliothèque ICU ne peut pas être initialisée (waddlesplash).

                Support

                Le support kit contient diverses méthodes et classes utilitaires et génériques.

                Contrôle d’intégrité des données lors de la déserialisation de BMessage (waddlesplash).

                Correction d’incohérence de nommage de paramètres de fonction entre les fichiers .cpp et .h détectés par cppcheck (mt).

                Pilotes de périphériques

                Les pilotes sont indispensables pour assurer le fonctionnement de Haiku sur une grande variété de matériel. Certains sont développés à partir des spécifications du matériel spécifiquement pour Haiku, et d’autres ont été adaptés de travaux réalisés pour d’autres systèmes d’exploitation.

                Le niveau de logging par défaut a été abaissé dans certains pilotes afin de ne pas trop polluer le journal système, en particulier:

                • Suppression de messages indiquant qu’aucun matériel compatible avec le pilote n’a été détecté,
                • Suppression de certains logs de debug dans les pilotes audio HDA et usb_audio.

                Processeurs et économie d’énergie

                Renommage du pilote intel_cstates en x86_cstates puisque les processeurs récents de chez AMD sont également pris en charge par ce pilote.

                Appel à ce pilote à plus d’endroits dans le noyau pour mettre les processeurs en veille ou au ralenti quand ils ne sont pas utilisés.

                Réseau

                virtio_net

                Le pilote virtio_net (carte réseau utilisée dans les machines virtuelles) implémente maintenant le « checksum offloading » pour les protocoles IP, TCP et UDP. En effet, dans le cas de ce pilote, les vérifications et calculs de sommes d’intégrité doivent être faits de toutes façons du côté de la machine hôte, il est donc inutile de les refaire dans la machine virtuelle.

                Au passage, correction de quelques erreurs dans ce driver, et en particulier de problèmes de calcul de taille de buffers en mémoire.

                broadcom750x

                Utilisation des interruptions par messages (MSI) lorsque c’est nécessaire pour certaines versions du matériel (waddlesplash).

                 vmxnet

                Nouveau pilote porté depuis FreeBSD qui permet d’utiliser l’interface réseau paravirtualisée de VMWare (CodeForEvolution).

                 Couches de compatibilité BSD

                Haiku utilise des pilotes réseau venus de FreeBSD et OpenBSD, cela permet de mutualiser les ressources et de ne pas perdre du temps à réinventer la roue. Une couche de compatibilité permet de réutiliser les pilotes avec très peu de modification dans leur code et une simple recompilation.

                Cette approche est également utilisée par d’autres systèmes d’exploitation comme RTEMS.

                La couche de compatibilité a reçu des corrections de problèmes sur l’allocation de mémoire dédiée aux transferts DMA, ainsi qu’un problème sur le calcul de la taille d’un buffer de réception, qui empêchait les pilotes de fonctionner sur certains matériels.

                 TCP

                Waddlesplash a travaillé sur l’amélioration de l’implémentation de TCP :

                • Refonte de la gestion des ACK reçus dans le désordre,
                • Amélioration du code de débogage pour investiguer des crashs du noyau remontés par quelques utilisateurs,
                • Modification du code de mise à jour de la taille de fenêtre TCP pour éviter d’envoyer inutilement des changements de taille,
                • Correction de calcul du temps d’aller-retour,
                • Implémentation du redimensionnement dynamique de la fenêtre de réception (auparavant, elle était de taille fixe),
                • Ajout d’assertions à divers endroits dans la pile réseau pour détecter les problèmes à la source.

                Ces améliorations permettent au trafic TCP d’être au moins 10 fois plus rapide, selon le type de connexion utilisé, et règle un problème de lenteur des téléchargements depuis Haiku qui était présent depuis assez longtemps.

                 Ethernet

                Du côté d’Ethernet, quelques améliorations et nettoyages sur le calcul de la MTU (taille maximale d’un paquet qui peut être envoyé). Pour l’instant, la découverte du « path MTU », la MTU du chemin complet entre deux machines, n’est pas encore disponible. Haiku ne s’autorise donc pas à envoyer du trafic plus large qu’une trame Ethernet standard, même si cela pourrait être possible pour le réseau local. Il reste donc une amélioration potentielle des performances réseau dans certains cas.

                 UNIX domain sockets

                Les sockets UNIX sont une méthode de communication entre processus standardisée par POSIX, utilisée surtout par des logiciels portés depuis d’autres systèmes (les applications natives pour Haiku utiliseront plus volontiers des BMessages ou des ports).

                Amélioration et nettoyage du code autour de la gestion des données annexes dans les sockets UNIX. Correction de petites fuites de mémoire et d’un kernel panic qui pouvait se produire lors de la fermeture d’un socket (waddlesplash).

                USB

                Implémentation de l’USB « Super Speed Plus », qui permet des connexions USB avec un débit pouvant atteindre 10 gigabits par seconde (korli).

                Refonte et consolidation du comptage de références dans la pile USB, ce qui met en évidence sous forme de kernel panic des cas où les choses ne sont pas bien faites. Ce n’est pas agréable, mais c’est tout de même mieux qu’une corruption mémoire difficile à investiguer (waddleplash).

                Décodage des descripteurs USB Audio v2 dans la commande listusb, mais pas encore dans le pilote usb_audio qui implémente pour l’instant seulement la version 1 (gscrain).

                PCI

                Correction de problèmes d’accès au bus PCI sur les machines équipées de ACPI. Suite à une modification précédente, les accès sur 8 ou 16 bits étaient convertis en accès sur 32 bits, mais ce n’est pas le comportement attendu. En particulier, certains registres effacent automatiquement leur contenu lorsqu’ils sont lus, ou bien les données accessibles en lecture et en écriture ne sont pas les mêmes. (PulkoMandy)

                Il n’est donc pas possible de lire une valeur sur 32 bits, remplacer 8 bits, et réécrire 32 bits pour simuler une écriture sur 8 bits dans un registre.

                Les accès sont à nouveau traités correctement, ce qui permet à Haiku de fonctionner à nouveau normalement sur les machines concernées par ce type d’accès au bus PCI (cela dépend du matériel et des pilotes).

                Périphériques de stockage

                Petites améliorations de performances dans le pilote NVMe (waddlesplash).

                Modification du pilote AHCI/SATA (waddlesplash) :
                - Suppression de code dupliqué pour utiliser à la place des fonctions communes partagées avec d’autres pilotes,
                - Correction d’une confusion entre adresses 32 et 64 bits qui empêchait de démarrer la version 32
                bits de Haiku sur certains systèmes avec plus de 4Gio de RAM.

                La pile SCSI prend mieux en compte les restrictions sur les adresses DMA. Chaque pilote de périphérique qui implémente SCSI peut indiquer ce qu’il est capable de faire, et la pile SCSI fait en sorte que les demandes de transferts DMA respectent ces contraintes, ce qui évite aux pilotes de devoir découper par eux-mêmes les transferts en unités qu’ils sont capables de traiter (waddlesplash).

                ACPI

                ACPI est une interface standardisée avec le matériel. Elle permet la gestion d’énergie (extinction de la machine par exemple), ainsi que l’accès à du matériel annexe tels que les boutons on/off, la détection de rabat de l’écran sur un PC portable, le contrôle des LEDs indicatrices ; ainsi que la découverte de matériel non connecté sur le bus PCI (comme certains modules eMMC dans des tablettes et ordinateurs à bas coût).

                La spécification étant assez complexe, la bibliothèque ACPICA est utilisée pour implémenter les bases de ACPI. Ensuite, des pilotes dédiés permettent d’exposer chaque périphérique ACPI.

                Mise à jour de ACPICA avec la dernière version publiée par Intel (publiée en mars), et un peu de nettoyage afin de pouvoir intégrer quelques patchs dans la version upstream de ACPICA (PulkoMandy).

                Ajustement du pilote ACPI pour mapper sa mémoire physique en « write back » au lieu de désactiver complètement le cache. C’est nécessaire sur ARM64, car le cache permet d’intercepter les accès mémoire non alignés. Correction de problèmes liés au fait que la même zone de mémoire physique pouvait être mappée plusieurs fois avec des configurations différentes, ce qui est impossible (déclenche une « machine check exception ») (oanderso).

                Graphiques

                Avancées sur la prise en charge des cartes graphiques Intel de générations Tiger Lake, Ice Lake et Gemini Lake (ttmfx, ilzu, PulkoMandy). L’utilisation de ces cartes graphiques reste assez limité, sans accélération matérielle et sans possibilité d’utiliser plusieurs écrans pour l’instant.

                virtio

                Les pilotes virtio permettent l’utilisation de matériel virtuel défini pour tirer le meilleur parti des machines virtuelles. Plutôt que de copier le fonctionnement d’un matériel existant, l’interface peut être conçue pour rendre le travail plus simple aussi bien pour l’hôte que pour le système virtualisé.

                Correction de problèmes dans l’allocation des files de messages virtio et amélioration de la gestion des erreurs (mmlr).

                Vérification de l’état du périphérique après une réinitialisation, et correction d’un accès mémoire hors limite dans le pilote virtio_pci (korli).

                PS/2

                Les ports PS/2 ont disparu de la plupart des machines depuis de nombreuses années, mais le protocole est encore utilisé pour les claviers des ordinateurs portables ainsi que pour certains touchpads. Ces derniers utilisent de nombreuses extensions peu standardisées et mal documentées pour offrir des fonctions avancées qui n’existaient pas à l’époque des souris à deux boutons.

                Le driver reçoit ce trimestre une refonte de la gestion des verrous entre ses différents composants, pour essayer de régler quelques problèmes de synchronisation (waddlesplash).

                Systèmes de fichiers

                ram_disk et ramfs

                ram_disk est un périphérique bloc (block device) qui stocke ses données en RAM (non persistante au redémarrage). Il peut être formaté avec n’importe quel système de fichier.

                ramfs est un système de fichiers qui stocke ses données en RAM, sans passer par un block device. Cela permet de meilleures performances (pas besoin de journalisation par exemple), une meilleure intégration avec le cache de fichiers (la mémoire peut être partagée directement entre ramfs et le cache), et de s’affranchir des limites habituelles des périphériques de bloc (par exemple: une taille fixe connue lors de la création du système de fichiers).

                Un utilisateur a remonté un problème de compatibilité avec POSIX. Si on utilise mmap() sur un fichier stocké dans un ramfs, et que la taille du fichier n’est pas un multiple de la taille des pages de mémoire, la fin de la dernière page pouvait contenir des données aléatoires. Selon la spécification POSIX, il faut que cette zone soit remplie avec des 0, et le compilateur clang dépend de ce comportement pour implémenter une lecture rapide des fichiers sources compilés.

                Le problème a été corrigé, avec au passage une commonalisation de code entre ramfs et ram_disk, de petits ajustements de performances, et un peu de nettoyage.

                Enfin, la priorité des allocations mémoires de ces deux pilotes a été abaissée, ce qui permet d’éviter un gel du système s’il n’y a plus de mémoire disponible.

                Le pilote ramfs continue d’être stabilisé, quelques problèmes qui pouvaient encore causer des kernel panic ont été corrigés.

                packagefs

                packagefs est un système de fichier virtuel qui expose le contenu de fichiers de packages au format hpkg. Des paquets peuvent être ajoutés et supprimés pendant le fonctionnement du système, et il n’est pas nécessaire d’extraire leurs données sur disque.

                Plusieurs améliorations faites par waddlesplash :

                • Ajout de vérifications de la bonne utilisation de verrous entre différents threads et corrections de problèmes mineurs qu’elles ont mis en évidence,
                • Amélioration du message d’erreur si on essaie d’activer deux paquets qui entrent en conflit.

                Un reproche qui est souvent fait au packagefs est d’avoir augmenté les besoins en RAM de Haiku, en effet, depuis la version Beta 1 de Haiku, la configuration mémoire minimum recommandée est de 384Mio de RAM, alors que les versions précédentes se contentaient de 128Mio.

                • Utilisation d’object_cache` (un allocateur mémoire pour des objets qui font tous la même taille) dans différents endroits de packagefs pour réduire sa consommation de mémoire,
                • Utilisation de listes chaînées simples au lieu de listes chaînées doubles là où ça ne pose pas de problème de performances,
                • Suppression de champs constants dans certaines classes,
                • « inlining » des compteurs de références pour rendre les structures de données plus compactes,
                • Réorganisation des structures pour réduire le padding,
                • Retrait des « dépôts d’objets » dans les arènes d'allocation,
                • Découpage des allocations en plusieurs zones distinctes,
                • Utilisation de verrous moins fins (par exemple, avoir un seul verrou pour tout un dossier au lieu de un par fichier),
                • Utilisation d’un « bump allocator » pour les objets à courte durée de vie.

                La réduction de consommation mémoire avec ces changements est de près de 20%, soit environ 15Mio sur une installation de référence. En effet, un gain de quelques octets sur le stockage d’informations sur un fichier est multiplié par plusieurs milliers de fichiers présents sur le disque, ce qui fait que chaque petite optimisation est intéressante. Cependant, les investigations ont aussi permis de découvrir d’autres problèmes encore plus importants qui n’étaient pas directement liés au packagefs, on en reparle un peu plus loin.

                Un autre changement a été fait par waddlesplash, non seulement pour packagefs mais aussi pour d’autres endroits où le même code était utilisé : La fonction pour calculer un hash de chaîne de caractères utilisait un algorithme obsolète. Elle a été remplacée par hashdjb2 qui génère moins de collisions.

                FAT

                FAT est un système de fichier développé par Microsoft. Il est utilisé en particulier sur les cartes SD et les clés USB, ainsi que pour les partitions systèmes EFI. Bien que sa conception soit quelque peu obsolète, il reste donc indispensable.

                Le pilote FAT de Haiku, qui provenait tout droit d’un code source publié par Be, a été remplacé dans la version beta 5 par une nouvelle version basée sur le code de FreeBSD. Ce nouveau pilote reçoit depuis des améliorations régulières par Jim906, le développeur qui s’est chargé du portage du code de FreeBSD.

                Ce trimestre, le pilote reçoit des corrections sur l’initialisation des « media bytes » dans l’en-tête des partitions, des améliorations de performances pour réduire le temps nécessaire au montage d’une partition FAT, ainsi qu’une meilleure gestion des erreurs dans le traitement des noms de volumes. Il est également possible de monter les volumes FAT de taille supérieure à 2TiO.

                BFS

                BFS est le système de fichier hérité de BeOS et utilisé pour les partitions natives de Haiku. Il propose une très bonne implémentation des attributs étendus (sans limite de taille, et typés) et permet en plus d’exécuter des requêtes sur ces attributs pour localiser très rapidement les fichiers répondant à certains critères.

                L’implémentation du système de fichier BFS est assez mûre et reçoit habituellement peu d’évolutions. Cependant, il reste toujours des possibilités d’améliorer les performances.

                C’est le cas de la fonction de recherche de blocs libres. Les blocs sont chacun représentés par un bit dans une structure indiquant s’ils sont disponibles ou pas. La recherche de blocs libres se faisait bit à bit, mais il est possible de gagner beaucoup de temps en testant 64 bits d’un coup pour savoir tout de suite qu’ils représentent tous des blocs occupés, et passer directement aux 64 bits suivants. Cela améliore les performances de la création et du redimensionnement de fichier, en particulier sur les architectures RISC-V (waddlesplash).

                Query parser

                Plusieurs systèmes de fichiers conçus pour BeOS ou Haiku (bfs, ramfs, et packagefs) permettent l’utilisation d’attributs indexés par le système de fichiers qui permettent d’effectuer des requêtes pour localiser des fichiers comme dans une base de données.

                Depuis la version beta 5 de Haiku, ces 3 systèmes de fichiers partagent le code utilisé pour parser une requête (envoyée sous forme de texte) et la convertir en une opération de recherche exécutable.

                Ce parser pouvait dans certains cas (requêtes trop complexes) déclencher volontairement un kernel panic. Celui-ci a été remplacé par une « simple » erreur, remontée à l’application qui a déclenché la requête. L’application aura la charge de remonter cette erreur à l’utilisateur, et de l’inviter à simplifier sa demande.

                block_cache

                Le cache de blocs, comme son nom l’indique, stocke en mémoire RAM une copie de certains blocs des systèmes de fichiers. Cela permet d’accélérer les opérations bas niveau sur le système de fichier, en particulier pour mettre en cache des structures internes du disque. Il complète le file_cache, qui lui se trouve à un niveau plus haut, et met en cache uniquement le contenu des fichiers lus et écrits par les applications.

                Le seul changement notable sur le block_cache est le retrait de paramètres inutilisés dans certaines fonctions, afin de simplifier le code (waddlesplash).

                kernel

                Une correction de bug sur le blocage des threads avec timeout (par exemple, l’attente d’un mutex ou d’un sémaphore avec un délai maximum): dans certains cas, une fonction pouvait retourner B_TIMED_OUT pour d’autres raisons que l’expiration du timer. Ce n’était pas traité correctement, et le noyau supposait que le timeout avait expiré, alors qu’il s’agissait d’autre chose. Des vérifications supplémentaires permettent de traiter ce cas correctement.

                Correction de problème sur la programmation des timeouts « absolus temps-réel ». Comme leur nom l’indique, ils référencent l’horloge « real time » (qui essaie de suivre l’heure et la date « réelle », par opposition à l’horloge système qui est basée sur l’uptime de la machine, mais garantit de ne jamais faire de saut ou revenir en arrière). Ces timers ne fonctionnaient pas du tout (ou alors, seulement sur un coup de chance), et restaient probablement bloqués pendant une durée beaucoup plus longue que demandé. Au passage, nettoyage du code de gestion des timers.

                Dans le code de gestion des interruptions: ajout d’assertions pour investiguer un bug dans les addons vmware ou virtualbox.

                Correction d’un bug dans l’implémentation de kqueue qui produisait un blocage au démarrage de la libevent (qui utilise maintenant kqueue pour Haiku).

                Des petites améliorations de performances: sur l’allocateur mémoire du noyau, sur l’utilisation de verrous dans la gestion de la mémoire virtuelle, des fuites de mémoire dans l’allocation de page, des améliorations sur la détection de références devenues invalides (jpelczar + waddlesplash).

                Le script de link du noyau refuse maintenant les sections inconnues avec un message d’erreur, au lieu de simplement les ignorer (korli).

                Correction du décompte du temps CPU utilisé par le thread en cours d’exécution, pour donner des résultats plus fiables dans les applications qui affichent l’utilisation CPU (waddlesplash).

                Refactorisation du décompte du temps d’exécution des appels systèmes. Seul le temps passé dans l’exécution du syscall est prise en compte, sans mesurer la mise en place d’un appel système et du retour vers l’espace utilisateur (qui ne peuvent de toutes façons pas être mesurées de façon fiable depuis le noyau). Cela rend l’affichage des durées d’exécution dans strace plus facile à interpréter (waddlesplash).

                Réduction de la taille maximale des tampons mémoire pour stocker des dirent à 8Kio. La plupart des applications n’utilisent pas un tampon aussi large, et les quelques-unes qui le faisaient ont été modifiées pour réduire la taille. Cette réduction permet d’utiliser un allocateur spécialisé beaucoup plus rapide, ce qui devrait compenser les rares cas où le tampon est trop petit pour récupérer tout le contenu d’un dossier en une seule fois (waddlesplash).

                Correction de plusieurs problèmes dans le système de gestion des ressources faibles (qui essaie de libérer de la mémoire quand il n’y en a plus assez de disponible). Dans certains cas, le système finit par geler ou déclencher un kernel panic, alors qu’il devrait toujours être possible de refuser des demandes d’allocation mémoire venant de l’espace utilisateur, et de conserver suffisamment de mémoire libre pour au moins afficher proprement une erreur.

                Amélioration de la gestion des mutex (exclusions mutuelles entre threads):

                • Ajout d’assertions pour détecter des cas de réveil d’un thread qui ne devrait pas l’être.
                • Correction d’un problème introduit récemment et investigué à l’aide de ces nouvelles assertions.
                • L’ABI des locks est identiques entre les builds du kernel en version debug ou release, ce qui permet de ne pas avoir besoin de recompiler tous les pilotes dans le même mode que le kernel. Les pilotes compilés en mode release vont déclencher une erreur de symbole manquant si on essaie de les utiliser avec un noyau en mode debug, dans l’autre sens, il n’y a pas de problème. Auparavant, dans les deux cas on obtenait des crashes ou un gel complet du système, difficile à investiguer et faisant perdre du temps.
                • Ajout d’assertions dans plusieurs cas pour détecter les utilisations incorrectes des rw-locks. Certaines activées par défaut, et d’autres uniquement sur demande à la compilation du noyau en raison de coût de vérification trop importants.
                • Correction de mauvaises utilisations des rwlocks ainsi détectées.

                Généralisation de l’utilisation de fonctions utilitaires partagées pour la conversion des timespec en durées en microsecondes. Cela permet aux fonctions concernées (entre autres kqueue) de bénéficier de contrôles de validité supplémentaires (waddlesplash).

                Ajout d’informations de debug supplémentaires dans la sortie de la commande slab_object du debugger du noyau.

                Réactivation de la calibration du TSC à partir d’informations du CPUID lorsque Haiku s’exécute dans un hyperviseur, comme c’était déjà le cas lorsqu’il s’exécute directement sur une machine physique. Le TSC est un timer interne du CPU qui permet des mesures de temps très rapides (une seule instruction CPU) mais dans une échelle de temps arbitraire qu’il faut corréler avec le « vrai » temps. Cela peut être fait soit à l’aide d’une mesure empirique (méthode historique), soit à l’aide d’informations sur cette horloge disponibles dans les informations retournées par l’instruction CPUID.

                Affichage de plus de fonctionnalités du CPU reconnues dans les logs de debug pour les processeurs x86 (korli).

                Ajout d’un raccourci clavier (Control+D) pour quitter le debugger noyau et reprendre l’exécution normale si possible (équivalent à la commande continue ou co) (mmlr).

                Le chargement des pilotes de périphériques se fait en priorité depuis les dossiers non-packaged avant de rechercher les fichiers dans les paquets logiciels, ce qui permet de tester facilement une version modifiée d’un pilote - sauf si les dossiers non-packaged sont désactivés dans la configuration du noyau (korli).

                VFS

                Le VFS (virtual file system) est le composant de Haiku qui gère l’accès aux fichiers. Il fait l’intermédiaire entre les appels systèmes liés aux fichiers (open, read, write…) et les systèmes de fichiers eux-mêmes. Il implémente autant que possible ce qui peut être mis en commun entre tous les systèmes de fichiers: résolution de chemins relatifs, vérification de permissions…

                Cela rend plus facile l’écriture d’un nouveau système de fichiers, qui peut alors se concentrer sur les aspects bas niveau et la gestion de ses structures de données.

                Ajout de vérifications d’intégrités supplémentaires dans le VFS pour détecter des bugs dans les systèmes de fichiers le plus rapidement possible, au lieu d’obtenir un crash du noyau difficile à investiguer un peu plus tard.

                Retrait d’un scan du bus SCSI et des pilotes associés par le device manager pour réduire un peu le temps de démarrage.

                Correction d’un gros problème dans l’API du noyau IORequest qui aboutissait à une confusion entre la taille totale d’une requête et l’offset de la dernière donnée transférée (les transferts ne commençant pas forcément à l’offset 0). La conséquence était l’écrasement de données dans le cache de fichiers, déclenchant des crashes du noyau avec des messages d’erreur incompréhensibles à propos des structures de pages. Correction d’un problème de calcul d’offset qui faisait que certaines opérations étaient considérées comme réussies, alors qu’il y avait en fait une erreur.

                Correction de problèmes de décomptage de références et de gestion du cache à l’interface entre ramfs et VFS, mis en évidence lors du travail de portage de Firefox.

                Ajout d’une acquisition de référence sur un vnode qui manquait dans le cache de fichiers (waddlesplash).

                Améliorations du cache d'entrées, dont en particulier la mise en cache du hash des noms de fichiers, pour éviter des comparaisons de chaînes de caractères inutiles.

                Gestion de la mémoire

                La gestion de la mémoire virtuelle est une des tâches essentielles d’un système d’exploitation. Elle garantit l’isolation entre les différents processus, permet d’utiliser la mémoire physique le mieux possible (éventuellement en déplaçant certaines allocations peu utilisées vers un espace d’échange sur disque), et permet aussi aux différents processus de se partager des données.

                Il s’agit également d’un composant très sollicité, et dont les performances impactent beaucoup le comportement du système. Une mauvaise gestion de la mémoire peut fortement ralentir le système ou le rendre instable.

                Ajout d’assertions dans le code gérant les pages de mémoire, pour essayer d’intercepter ce type de correction plus rapidement si elles se reproduisent.

                Dans l’arbre des areas globales : ajout d’assertions pour détecter les identifiants d’areas dupliqués (chaque area doit bien sûr avoir un identifiant unique).

                Implémentation de PAT (Page Attribute Table) pour les processeurs x86. Les PAT permettent de configurer des zones de mémoires qui peuvent ou ne peuvent pas être mises en cache (complètement ou en write-through). Elles remplacent les MTRR en permettant un contrôle plus fin et plus flexible. Au passage, nettoyage de l’implémentation des MTRR (préservée pour les processeurs plus anciens incompatibles avec PAT), ajout de nouvelles commandes dans le debugger noyau. Renommage des constantes B_MTR_* pour indiquer précisément leur rôle indépendamment des dénominations utilisées dans les registres MTRR qui ne sont pas très claires (mmlr).

                Lorsque le système utilise PAT, ajout d’assertions pour détecter les tentatives d’accéder à la même zone de mémoire physique avec des configurations de cache différentes. Elles ne sont pas activées lorqu'on utilise les MTRR, car ces dernières ne permettent pas une configuration aussi fine (waddlesplash).

                Ajout d’informations supplémentaire dans le message de kernel panic indiquant qu’une page devrait être libre mais qu’elle ne l’est pas. Modification de la commande page du debugger noyau pour récupérer la liste des espaces d’adressage depuis les structures du kernel plutôt que d’itérer sur tout l’espace d’adressage (ce qui pouvait fonctionner sur un espace 32 bit, mais pas en 64 bit).

                Correction du code de « guarded heap » du noyau qui ne compilait plus. Il s’agit d’un allocateur mémoire plus lent mais avec de nombreuses vérifications d’intégrité pour détecter les débordements de tampons, double free, et autres problèmes de gestion de la mémoire dans le noyau (kallisti5).

                Le fichier swap est automatiquement supprimé, et l’espace disque libéré, lors de la désactivation de la swap. Auparavant, un redémarrage était nécessaire (waddlesplash).

                Correction d’un problème dans l’allocation de mémoire « early boot » (avant que l’allocation normale soit mise en place), qui empêchait le démarrage sur les systèmes pouvant gérer de grandes quantités de mémoire (plusieurs centaines de Gio) (waddlesplash).

                libroot

                La libroot regroupe tous les composants de la librairie standard C (parfois découpée en libc, libm et libpthread pour d’autres systèmes). Elle contient en plus un certain nombre d’extensions spécifiques à Haiku et à BeOS.

                Changements effectués par waddlesplash, sauf mentions spécifiques:

                Nettoyage de code dans la classe WeakReferenceable, une classe de comptage de références intrusive qui autorise les références "faibles".

                Correction de problèmes dans le code d’interfaçage avec ICU pour la conversion de dates (nipos et waddlesplash).

                libnetwork

                Nettoyage de code de compatibilité avec BeOS dans la libnetwork, pour faire en sorte qu’il ne soit plus du tout compilé sur les architectures n’offrant pas de compatibilité avec BeOS.

                Compatibilité POSIX

                Implémentation minimale de mknod et mknodat dans le seul cas spécifié par POSIX, qui permet de réaliser une opération équivalente à mkfifo. La gestion des devices dans Haiku est très différente de celle utilisée traditionellement par UNIX, et ne se prête pas à l’implémentation des autres utilisations de ces fonctions.

                Rectification de l’implémentation des fonctions *at (par exemple linkat) qui permettent de réaliser une opération à partir d’un descripteur de fichier au lieu d’un path. Dans la libroot, ces fonctions envoyaient la valeur -1 aux appels systèmes pour implémenter AT_FDCWD. La valeur de AT_FDCWD a été modifiée pour choisir autre chose que -1 (qui est souvent utilisé pour indiquer une erreur dans le code de retour d’autres fonctions). Les appels systèmes acceptent pour l’instant les valeurs -1 et AT_FDCWD, mais rejettent maintenant toutes les autres valeurs négatives.

                Remplacement d’une partie du code de gestion des flux d’entrée-sortie par la version de la glibc. La bibliothèque libroot est un patchwork d’implémentations provenant de la glibc, de musl, et de divers BSD, un objectif à terme est d’essayer de se rapprocher d’une de ces implémentations, mais on ne sait pas encore trop de laquelle. En tout cas, le code des I/O provient majoritairement de la glibc afin d’être très compatible avec ce qui était utilisé dans BeOS.

                La fonction gmtime retourne une struct tm avec le champ tm_zone contenant la chaîne "GMT" (waddlesplash).

                Correction de la conversion des "surrogate pairs" dans la fonction mbrtowc.

                Mise en conformité de l’implémentation des threads avec POSIX :

                • Ajustement de code d’erreurs retournés par les fonctions
                • Suppression de la possibilité de retourner EINTR depuis un rwlock
                • Correction de deadlocks dans les barriers
                • Correction de plusieurs problèmes dans l’implémentation des sémaphores anonymes.

                Mise en place systématique de l’utilisation de _DEFAULT_SOURCE pour protéger les extensions à la norme POSIX, ce qui permet de les activer automatiquement via l’inclusion de features.h lorsque c’est possible.

                Nettoyage de quelques fichiers d’en-tête, dont en particulier <sys/select.h>, pour éviter de polluer l’espace global avec des macros et des définitions en double (waddlesplash).

                Prise en compte correcte du drapeau O_NONBLOCK lors de l’ouverture d’un FIFO (korli).

                runtime_loader

                Le runtime_loader est le composant responsable du chargement en mémoire des exécutables et du lancement de nouveaux processus. Il réalise la résolution des dépendances et la recherche des bibliothèques partagées nécessaires pour l’exécution d’un programme.

                Il reçoit des évolutions suite au portage d’applications complexes venues de Linux, qui nécessitent souvent plusieurs dizaines de bibliothèques partagées.

                Correction de problèmes détectés en testant un portage expérimental et instable de Firefox: crash du runtime_loader dans certains cas si on charge une bibliothèque (via dlopen ou load_add_on) dont il manque des dépendances.

                Retrait de l’option -fno-builtin dans les drapeaux de compilation du runtime_loader, comme cela avait déjà été fait pour la majorité de la libroot. Cela permet à gcc de remplacer des appels à des fonctions standardisées par une implémentation inline plus performante (waddlesplash).

                Outils de debug

                Développement d’outils pour enregistrer ce qu’il se passe pendant le démarrage du système et détecter d’éventuels problèmes de latence, de 'lock contention', etc. Au passage, correction de divers problèmes liés à ces outils : les barres de défilement de DebugAnalyzer, les permissions noyau dans transfer_area, etc.

                Amélioration de la remontée des valeurs de retour des appels systèmes vers strace sur les plateformes x86 32-bit.

                Pour terminer, un changement réalisé par mmlr : amélioration de l’allocateur mémoire "guarded heap" pour le rendre utilisable plus facilement, y compris comme allocateur pour tout le système. Cet allocateur permet de détecter les accès au-delà de la fin d’une zone mémoire allouée avec malloc(), ainsi que les accès à de la mémoire déjà libérée, mais au prix d’une consommation mémoire nettement plus élevée qu’un allocateur classique. La disponibilité d’un espace d’adressage de 64 bits permet de limiter les cas où une adresse mémoire est initialement utilisée pour une allocation, puis libérée et allouée à nouveau pour autre chose.

                Un problème de gestion d’erreur dans l’interfaçage entre le Debugger et le noyau pouvait conduire à un gel complet du système dans certains cas de plantage du debug_server, en particulier s’il n’y a plus assez de mémoire RAM disponible.

                Bootloader

                Ajout d’une vérification manquante pour prendre en compte l’option « BlockedEntries » dans le bootloader. Cette option s’appelait précédemment « EntriesBlacklist » mais a été renommée pour utiliser un terme non entaché de racisme. L’ancien nom continue de fonctionner pour ne pas casser les installations existantes, mais n’est plus documenté.

                Augmentation de la taille maximum autorisée pour les allocations « standard » sur la pile. L’allocateur mémoire du bootloader traite séparément les allocations de grande taille, mais ces allocations ne sont pas correctement libérées lors du transfert de contrôle vers le noyau, en particulier sur les machines utilisant un BIOS non EFI. Pour l’instant, une correction complète du problème semble compliquée à mettre en place, mais la modification permet de libérer de la mémoire allouée pour l’accès au packagefs (le bootloader a besoin d’y accéder pour trouver le noyau, qui est stocké dans un paquet). Ce changement permet de libérer plusieurs dizaines de Mio de mémoire, et complète les changements mentionnés plus haut sur la gestion des paquets après démarrage. Il est possible de configurer Haiku pour fonctionner avec moins de 100Mio de mémoire (waddlesplash).

                Réparation de la ré-initialisation des ports série sur le bootloader EFI. Le port série est utilisé à des fins de debug, mais il peut être accédé de plusieurs façons différentes (en adressant directement le matériel, ou bien via des services EFI dédiés). Le bootloader doit passer d’une méthode à l’autre à différentes étapes du démarrage: accès direct au port physique dans les premières étapes (en détectant s’il est bien présent à une adresse standard), accès via les services EFI une fois ceux-ci initialisés, puis à nouveau accès direct au matériel après l’arrêt des services EFI pour la dernière étape de passage de contrôle au noyau (cette fois-ci à une adresse qui peut être configurée dans les options du bootloader et du noyau). Ce fonctionnement ne s’insère pas forcément très bien dans la logique du bootloader, qui n’avait à l’origine pas été conçu pour une gestion aussi complexe des entrées-sorties (VoloDroid).

                Réduction de la quantité de logs liés à la mise en place de SMP (gestion de plusieurs processeurs) dans le bootloader pour BIOS (waddlesplash).

                Le menu de démarrage affiche la version (numéro 'hrev') du paquet système correspondant à chaque point de restauration disponible, ce qui facilite l’identification des états qui correspondent à un changement de version du système, et pas une simple installation, désinstallation ou mise à jour de paquets logiciels (waddlesplash).

                Documentation

                Haiku Book

                Le « Haiku Book » est un projet de documentation des APIs publiques de Haiku. Il doit à terme remplacer le « Be Book », qui documente les APIs de BeOS, mais ne peut pas être mis à jour à cause de se license CC BY-NC-ND. Actuellement, il faut jongler entre ces deux documentations.

                La documentation de B_INFINITE_TIMEOUT (constante permettant d’indiquer à certaines fonctions qu’on veut les exécuter sans timeout, et attendre indéfiniment) a été mise à jour pour indiquer explicitement que sa valeur numérique est INT64_MAX (waddlesplash).

                Correction de fautes de frappe dans la documentation des API liées aux entrées clavier (drea233).

                Haiku Interface Guidelines

                Ce document présente les bonnes pratiques et conventions pour la conception d’interfaces graphiques fonctionnant avec Haiku.

                Ajout d’une section sur la gestion des fichiers récemment utilisés et la façon dont ils peuvent être exposés aux utilisateurs.

                Wiki et documentation interne

                Le wiki contient des informations utiles aux développeurs de Haiku.

                La documentation « interne" documente le fonctionnement de Haiku en s’adressant principalement aux contributeurs du système, par opposition aux personnes qui souhaitent seulement développer ou porter des applications.

                Mise à jour de la page « release cookbook » indiquant toutes les étapes à suivre lors de la publication d’une version de Haiku.

                Notes d’administration système : mise à jour des instructions pour instancier des machines Google Cloud Platform (kallisti5).

                Système de build, environnement de compilation

                La compilation d’un système d’exploitation complet n’est pas chose facile. D’autant plus pour Haiku, qui présente les particularités suivantes:

                • Utilisation de deux versions de gcc (gcc 2.95.3 et gcc 13) pour la version 32 bit de Haiku, afin d’assurer la compatibilité binaire avec BeOS,
                • Possibilité de compilation croisée depuis Linux, Mac OS et d’autres systèmes, ou depuis un hôte Haiku,
                • Compilation d’outils pour la machine hôte de la compilation croisée, avec si nécessaire une couche de compatibilité permettant d’écrire ces outils en utilisant des API et fonctionnalités spécifiques à Haiku,
                • Possibilité de compiler des applications pour un système hôte existant (une autre version de Haiku) à des fins de test,
                • Compilation d’un système complet (noyau, bibliothèques, applications, image disque) en une seule opération.

                Pour ces raisons, l’utilisation d’un système de build haut niveau (CMake, Meson…) s’avère plutôt complexe. L’utilisation de make ou de ninja directement serait de trop bas niveau. Le choix de Haiku est donc d’utiliser l’outil jam, qui est malheureusement assez peu populaire et tombé à l’abandon dans sa version originale. Haiku maintient un fork de jam qui est concurrent de ceux maintenus par Boost et par Freetype.

                Reformatage des fichiers Jamfile pour lister une seule cible par ligne au lieu de les rassembler, cela facilite les rebase et résolutions de conflits (x512).

                Mise à jour de paquets en préparation pour la version beta 5: OpenSSL 3, Python 3.10, et autres mises à jour diverses (PulkoMandy, waddlesplash, kallisti5).

                Ajout de l’inclusion de <features.h> dans <sched.h>. Le fichier d’en-tête features.h configure la visibilité des extensions GNU et BSD aux fichiers d’include standards C et POSIX, en fonction d’options de ligne de commande du compilateur. L’inclusion de ce fichier permet d’utiliser facilement et par défaut ces extensions (PulkoMandy).

                Mise à jour des marque-pages fournis par défaut avec le navigateur WebPositive (waddlesplash).

                Ajout des en-têtes de la bibliothèque linprog dans le paquet haiku_devel. Ces en-têtes sont nécessaires pour les applications associées au système de layout d’interfaces graphiques ALM (korli).

                Correction de fautes de frappe dans des commentaires (jmairboeck) et d’un problème de compatibilité C89 dans un en-tête système (waddlesplash).

                La taille des images « nightly build » de Haiku est maintenant de 650 Mo, ce qui laisse un peu plus de place disponible pour les utiliser et créer quelques fichiers (jscipione).

                Diverses corrections pour une nouvelle fois essayer de faire fonctionner la compilation de Haiku avec Clang (waddlesplash, oanderso). Les choses en sont toujours au même point depuis plusieurs années, avec des corrections de temps en temps mais quelques parties du système qui ne fonctionnent toujours pas correctement.

                La compilation du profil « nightly » n’a plus besoin de générer le paquet haiku_source contenant le code source de Haiku. Ce paquet est inclus uniquement dans les images de releases (pour faciliter le respect strict de la licence GPL de certains composants de Haiku), mais, pour des raisons de dépendances entre cibles dans le système de build, il était tout de même généré pour les autres profils, ralentissant la compilation (waddlesplash).

                Améliorations du script ./configure (jessicah, OscarL et waddlesplash):

                • Le script vérifie que les options passées fournies sont valides, et rejette immédiatement les configurations incohérentes plutôt que de laisser la compilation échouer bien plus loin.
                • Validation que l’interpréteur Python sélectionné existe bien, et uniformisation de la syntaxe utilisée pour choisir un interpréteur avec la façon dont c’est fait pour d’autres outils.
                • Détection des options disponibles pour demander à wget de ré-essayer un téléchargement en cas d’échec, ce qui permet d’assurer la compatibilité avec wget2.
                • Utilisation automatique d’une version moderne de GCC pour compiler les outils « hôtes » lors de la compilation à partir d’une machine hôte fonctionnant sous Haiku en version 32 bit, en ignorant le compilateur par défaut qui est gcc 2 pour des raisons de compatibilité avec BeOS.

                Réorganisation du code source de libroot pour déplacer les implémentations de malloc dans des sous-dossiers séparés, et faciliter l’expérimentation avec d’autres implémentations de malloc. L’allocateur hoard2 utilisé actuellement n’est pas adapté aux architectures 64 bits, une tentative a été faite il y a quelques années avec rpmalloc, mais ce dernier pose des problèmes sur les
                architectures 32 bits. Des investigations sont en cours avec l’implémentation de malloc d’OpenBSD.

                L’outil de dessin Wonderbrush est maintenant disponible sur toutes les architectures. Historiquement, le code de Wonderbrush n’était pas libre, mais une version gratuite était offerte aux utilisateurs de Haiku. Le développeur principal de Wonderbrush n’est plus très actif sur le projet et a décidé de publier les sources, ce qui a permis de recompiler le programme en version 64 bits et plus tard sur les autres architectures non x86. Mais ces nouvelles versions n’avaient jamais été incluses dans Haiku (PulkoMandy).

                Nettoyage et centralisation des définitions préprocesseur pour la compatibilité avec BeOS. Désactivation de la compatibilité avec BeOS dans le noyau, la compatibilité avec les pilotes et modules noyau de BeOS n’étant plus assurée depuis quelque temps dans Haiku.

                Suppression de définitions de règles obsolètes et inutilisées dans le Jamfile permettant de construire le fichier package_repo (CodeforEvolution).

                Remise en service du test DiskDeviceManagerTest qui ne compilait plus (waddlesplash).

                ARM & PowerPC

                Actuellement, Haiku est disponible officiellement pour les architectures x86 32 et 64 bits. Une version RISC-V 64 bits expérimentale est également disponible mais pas encore totalement intégrée dans le dépôt de code principal, des discussions sont en cours sur la bonne façon de faire certains changements nécessaires. Les versions ARM (32 et 64 bits) et PowerPC sont les prochaines cibles sur la liste. La première, car c’est une architecture très populaire, la deuxième plutôt pour des raisons historiques : c’est l’une des architectures sur lesquelles fonctionne BeOS.

                Renommage de structures qui étaient initialement spécifiques à l’architecture x86, mais qui sont finalement utilisées également sur d’autres CPU sans nécessiter de changements (waddlesplash).

                Réparation de la console de texte du chargeur de démarrage OpenFirmware qui était cassée depuis l’adaptation pour OpenBOOT sur les machines SPARC (zeldakatze).

                Sur ARM, utilisation de la bonne instruction CPU pour mettre le processeur en veille quand il n’y a rien à faire (archeYR).

                oanderso continue le travail sur le portage ARM64:

                • Correction de plusieurs problèmes liés à la gestion du cache et de la MMU dans le bootloader, ce qui permet de démarrer le noyau dans une machine virtuelle sur un hôte Apple M1.
                • Correction de l’implémentation des timers dans le kernel qui ne fonctionnait pas dans les environnements virtualisés.
                • Quelques avancées sur la gestion de la MMU : Implémentation de la table de translation de la mémoire virtuelle, du traitement des exceptions matérielles (défauts de page), des TLBs.
                • Synchronisation du cache d’instructions.
                • Correction de problèmes de double lock.

                Ajout de messages sur le port série traçant l’exécution de méthodes spécifiques à une architecture qui ne sont pas encore implémentées. Ceci permet de détecter facilement quelle est la prochaine fonction à implémenter (waddlesplash).

                Nettoyage et documentation du fichier ArchitectureRules pour simplifier la configuration des options en ligne de commande du compilateur (qui doit savoir traiter deux versions de gcc et clang) (waddlesplash).

                Commentaires : voir le flux Atom ouvrir dans le navigateur

                Dons aux associations, épisode 13

                Cette dépêche est la treizième de sa série, après celles de 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 et 2023. Elle tient compte des suggestions des années passées.

                Montre ton amour au Libre

                Bissextile ou pas, cette année encore, je m’adresse à toi libriste, qui procrastine en se disant qu’il reste quasi tout décembre pour faire des dons en 2024, déductibles des impôts ou non. Toute l’année on escompte soutenir telle ou telle action sur tel ou tel sujet qui nous méritait vraiment, car c’est important. Donnons quelques exemples d’associations de promotion et défense du Libre, des droits dans l’espace numérique ou de la liberté d’expression, dont les dons sont déductibles en France : Acrimed, Amnesty France, Basta!, Debian France, Disclose, Framasoft (20 ans <3), Fédération internationale pour les droits humains (FIDH), Fonds pour une Presse Libre, Libre à Toi / Radio Cause Commune, Ligue des Droits de l’Homme (LDH), Open Food Facts, OpenStreetMap France, Politis, Reporterre, Reporters Sans Frontières (RSF), Wikimédia France, (qui n’est pas la Wikimedia Foundation états-unienne qui collecte aussi des dons), etc. Ce premier mardi de décembre (jour de rédaction de cette dépêche) est aussi le Giving Tuesday (aussi appelée journée mondiale de la générosité et de la solidarité).

                  Sommaire

                  Et comme tu fais vivre les principes du Libre, que tu contribues à des projets libres et défends des idées, tu soutiens aussi des associations ne bénéficiant pas de la déductibilité des dons en France (par exemple, des associations jugées trop dérangeantes ou trop critiques par le gouvernement… ou des associations européennes ou non, voire des associations n’ayant jamais fait la démarche, comme LinuxFr). Citons par exemple AFUL, April, Debian CH (déductible en Suisse), European Digital Rights (EDRi), En Vente Libre, Exodus Privacy, FACIL, FFII, FreeBSD Foundation, FSF (avec une longue liste de méthodes pour donner), FSFE (déductibilité dans plusieurs pays), Paheko, GNOME et GIMP, Haiku (déductible aux États‐Unis), IHateMoney, Internet Archive (déductible aux États‐Unis), KDE e.V (déductible en Allemagne), Léa-Linux, LILA, LQDN, Mageia, Nos Oignons, noyb, OKFN, PHP Foundation, SlackBuild.org, Tails (déductible en Allemagne), TechInquiry (déductible aux États-Unis), Toile Libre, Tor (déductible aux États-Unis et en Europe], Ubuntu-Fr, XSF, etc. (notez qu’elles peuvent parfois avoir la déductibilité des dons dans d’autres pays, voir la décision C-318/07 mentionnée plus bas).

                  Cette dépêche récurrente vit aussi grâce à vos remarques, propositions d’ajouts, de compléments et vos retours sur les systèmes fiscaux et les dons dans vos pays respectifs. N’hésitez pas à la commenter pour l’enrichir. Bien que récurrente, cette dépêche est mise à jour et enrichie chaque année.

                  Précision : la dépêche parle bien de « don » (je soutiens sans rien obtenir à titre personnel), pas de « financement participatif avec contrepartie » (je cofinance en échange de goodies ou avantages), les deux étant destinés à des choses différentes. Si vous avez lu jusqu’ici, un dessin xkcd sur le sujet en récompense (et d’autres images plus loin pour récompenser les libristes patients qui liront jusqu’au bout).

                  Pourquoi les associations ayant des permanents ont des besoins récurrents d’argent ? (tiré de l’épisode 12 mais mis à jour)

                  Quand une association veut passer de zéro à un permanent ou à un permanent de plus, elle n’a généralement pas en réserve de quoi le payer sur une année complète. Elle prend donc un risque avec une visibilité sur x mois (comme n’importe quel chef d’entreprise), en faisant de son mieux pour que l’argent rentre (le nouveau permanent va « produire », une campagne de communication ou d’appel à don ou autres sera lancée, une subvention sera recherchée, une convention sera signée avec tel ou tel, des goodies seront vendus, etc.).

                  Soutenez Framasoft, parce que le Libre n’est pas qu’une question de logiciel

                  Une association qui ne veut pas s’embêter à rechercher des fonds ou qui ne vise pas à passer le cap du premier permanent n’a pas du tout ce souci et peut être très indolente si elle veut.

                  Dès qu’il y a un besoin récurrent de payer des salariés, de payer à date les charges de l’employeur — qu’il faut prévoir à trois mois s’il faut gérer un préavis de licenciement économique ou pas, etc. —, cela devient plus compliqué (comme pour n’importe quel chef d’entreprise). Une association militante qui ne prendrait pas de risque financier du tout, ce n’est pas envisageable à mon avis. Toute la question étant de savoir combien elle réussit à faire rentrer d’argent au moment où c’est nécessaire, si elle peut continuer à embaucher pour grossir, faire plus d’actions ou faire mieux, si elle doit licencier, ou bien si elle doit stagner ou continuer ainsi dans l’immédiat.

                  Donc, oui, on a toujours l’impression que les associations ayant des permanents recherchent de l’argent (et décembre est particulier, car c’est la fin de l’exercice fiscal et traditionnellement la période des dons défiscalisés, notamment côté humanitaire associé aux bons sentiments des fêtes de fin d’année). Et oui, en décembre, la Croix Rouge ou le Secours Populaire, April, RSF, LQDN, la FSF, Amnesty, Framasoft et bien d’autres font des appels à don.

                  Soutenons La Quadrature du Net !

                  En dehors de la simple mais cruciale question de la trésorerie (pérennité / continuité), il y a bien évidemment aussi les projets et actions futures à financer. Citons par exemple la justification de Framasoft (une dizaine de permanents) en six points :

                  1. parce que l’enfermement, c’est maintenant ;
                  2. pour plus d’alternatives libres ;
                  3. parce que les gentils, c’est nous !
                  4. pour décider où vont vos impôts (avec défiscalisation) ;
                  5. parce que l’économie du don rend indépendant ;
                  6. pour changer le monde ensemble.

                  Quelques chiffres : « Chacun s’accorde pour estimer que près de 90% des associations fonctionnent exclusivement grâce à leurs bénévoles. Vitale dans ces associations, cette ressource humaine reste essentielle dans les 10 à 12% d’associations employant des salariés »
                  « en 2022, l’emploi privé non lucratif au sein des associations et des fondations représente plus de 155 000 employeurs, plus de 2 millions de salariés, soit 9,5% du total des salariés du secteur privé, et une masse salariale de plus de 54,4 milliards d’euros (près de 7% de la masse salariale du secteur privé) » (Recherche et Solidarités)

                  Et sur l’évolution des bénévoles et du mécénat de compétences :

                  « Les 25-34 ans sont de plus en plus nombreux à s’engager (30% en 2024 pour 22% en 2019), quand les 70 ans et plus perdent 10 points pour n’être que 24% aujourd’hui. »
                  « En 2024, 9% des Français sont présents chaque semaine dans leurs associations, ils étaient 10% en 2019 et 12,5% en 2010. »
                  « Ces tendances fragilisent la colonne vertébrale des associations, à savoir celles et ceux qui les font vivre au quotidien qui se trouvent privées de l’expérience et de la disponibilité des seniors »
                  « Parmi les perspectives positives, le mécénat de compétences poursuit sa percée avec 27% de bénévoles tentés par l’expérience en 2024 ; ils étaient 23% en 2022 et 20% en 2019. » (Recherche et Solidarités et France Générosités)

                  Petit rappel sur les impôts en France (tiré de l’épisode 10 mais mis à jour)

                  • l’article 200 du Code général des impôts prévoit pour un particulier une déduction fiscale de 66 % (réduction d’impôt sur le revenu dans la limite de 20 % du revenu imposable, reportable sur cinq ans en cas de dépassement de ce plafond) des dons vers les associations d’intérêt général ou reconnues d’utilité publique ; ce pourcentage monte même à 75 % pour les organismes d’aide aux personnes en difficulté (dans la limite de 521 €, au‐delà, on retombe sur les 66 %) ;
                  • l’article 238 bis du CGI prévoit une déduction fiscale de 60 % des dons pour une entreprise (réduction d’impôt sur le revenu ou d’impôt sur les sociétés dans la limite de 5 ‰ du chiffre d’affaires hors taxes, reportable sur cinq ans en cas de dépassement de ce plafond) vers les associations d’intérêt général ou reconnues d’utilité publique ;
                  • fiche pratique ServicePublic.fr : « À noter : l’organisme peut être en France ou dans un État membre de l’Union européenne : Allemagne, Autriche, Belgique, Bulgarie, Chypre, Croatie, Danemark, Espagne, Estonie, Finlande, France, Grèce, Hongrie, Irlande, Italie, Lituanie, Lettonie, Luxembourg, Malte, Pays-Bas, Pologne, Portugal, République tchèque, Roumanie, Slovaquie, Slovénie, Suède, en Islande, en Norvège ou au Liechtenstein. S’il n’est pas agréé, vous devez justifier qu’il a un objectif et des caractéristiques similaires aux organismes situés en France et pouvant bénéficier du dispositif. »
                  • loi n° 2021-1109 du 24 août 2021 : « Art. 222 bis.-A l’exception de ceux mentionnés au 3 de l’article 200, les organismes qui délivrent des reçus, des attestations ou tous autres documents par lesquels ils indiquent à un contribuable qu’il est en droit de bénéficier des réductions d’impôt prévues aux articles 200,238 bis et 978 sont tenus de déclarer chaque année à l’administration fiscale, dans les délais prévus à l’article 223, le montant global des dons et versements mentionnés sur ces documents et perçus au cours de l’année civile précédente ou au cours du dernier exercice clos s’il ne coïncide pas avec l’année civile ainsi que le nombre de documents délivrés au cours de cette période ou de cet exercice. »

                  France générosités mentionne des évolutions récentes (juillet 2024), notamment le fait que les dons des particuliers aux organismes d’intérêt général qui concourent à l’égalité entre les femmes et les hommes ouvrent droit à réduction d’impôt et la prorogation jusqu’au 31 décembre 2026 du plafond dérogatoire de 1 000 € applicable aux dons retenus pour la réduction d’impôt de 75 % accordée au titre des dons versés aux organismes qui apportent une aide gratuite aux personnes en difficulté.

                  Exemple pour un particulier : je suis imposable et donne 99 € à l’association XYZ bénéficiant de la déductibilité des dons à hauteur de 66 %. Mon don me coûte en fait (au final) 33 €, j’ai temporairement avancé 66 € qui seront ensuite déduits de mon imposition fiscale (dit autrement, j’ai choisi l’attribution de 66 € du budget de l’État).

                  Soutenir Framasoft

                  Autres infos :

                  Les dons en France (tiré de l’épisode 11 mais mis à jour)

                  « 51 % des Français déclarent avoir donné au moins une fois en 2023 à une fondation ou à un organisme caritatif (+1 point par rapport à 2022). »

                  (Baromètre de la solidarité 2024)

                  « En 2023, la générosité des Français tient bon dans un contexte encore difficile, avec une progression de 2,1% des dons par rapport à 2022 en euros courants. » (ainsi que la « poursuite de la baisse des petits dons » et un « focus sur les urgences médiatisées »)

                  (Baromètre de la générosité 2023)

                  « l’augmentation des investissements est aussi due à des coûts d’acquisition en hausse (+ 28%) en raison d’une concurrence accrue pour atteindre 33 € de coût d’acquisition moyen par donateur sur les campagnes de fin d’année (CFA) 2022 du panel de l’étude mais pour un don moyen de 172 € (+ 10%). »
                  (Baromètre Orixa Fundraising 2023)

                  « L’étude de Recherches & Solidarités montre une progression de 6,3% du montant total des dons déclarés au titre de l’IR en 2022 par rapport à 2021.
                  L’étude de Recherches & Solidarités montre une progression de 3,9% du nombre de foyers fiscaux donateurs en 2022 par rapport à 2021. »
                  (Étude 2023 sur les dons déclarés 2022 – Recherches & Solidarités)

                  « en 2022 : en moyenne, les donateurs de 35-54 ans correspondent à une pénétration de 5,5% des Français de cette tranche d’âge. Soit le plus faible taux comparé aux autres tranches d’âge. » (Étude sur le don des 35-54 ans – France)

                  Admincal indique que « seulement 4,61 % des entreprises assujettis à l’Impôt sur les Sociétés (IS) déduisent des dons du mécénat ».

                  Selon Infodon.fr (via une enquête Ifop pour France générosités, réalisée sur un échantillon représentatif de la population française (4031 personnes) – Mai 2023)
                  « 69% des Français déclarent soutenir financièrement assos et fondations, « 46 % donnent au moins une fois par an ». À comparer avec les chiffres donnés en 2022 (72% 48%), 2021 (58%, 45%) et 2020 (52%, 40%).

                  Petit rappel sur les impôts d’autres pays (tiré de l’épisode 12 mais mis à jour)

                  Forcément, je connais mieux le sujet pour la France, mais voici néanmoins quelques infos glanées pour d’autres pays (et je ne doute pas que les visiteurs compléteront dans les commentaires) :

                  Exemple de dons (source)

                  Exemple de dons financiers et parfois de temps

                  « Sacrifier une partie de son revenu pour faire un don à une association, c’est une affaire sérieuse. » (patrick_g)
                  Liste non exhaustive de dons financiers ou de temps à des associations du Libre ou pour libérer quelque chose :

                  Pour les exemples plus ou moins exhaustifs sur les 11 premières années de cette série de dépêches, voir la section de l’année 2022

                  Exemple de dons de matériel ou ressources

                  Pour les exemples plus ou moins exhaustifs sur les 11 premières années de cette série de dépêches, voir la section de l’année 2022.

                  Johann « nojhan » — CC-BY-SA-fr, LAL, GFDL

                  Diffusion des idées et questionnements autour du don

                  Pour les exemples plus ou moins exhaustifs sur les 11 premières années de cette série de dépêches, voir la section de l’année passée.

                  Lettre au Père Noël — Clément Clem Quaquin — Licence Art libre

                  Don à une entreprise ? (tiré de l’épisode 11 mais mis à jour)

                  Une question un peu annexe ici vu le titre « dons aux associations » mais qui a déjà été posée ici ou sur LinuxFr.org : peut‐on faire un don (sans contrepartie) à une entreprise ? Pour prendre quelques sites que j’aime bien : Next.ink anciennement Next INpact (SARL de presse) a opté pour un mélange de comptes premium (avec contrepartie, donc), publicités et dons. Voir les appels à dons 2023 pour le Fonds pour une presse libre ou Next.ink par exemple). Tandis que Reflets.info (SAS) accepte les dons.

                  Lors d’une recherche rapide précédente, j’avais vu évoquer l’utilisation du compte 7713 « libéralités perçues » du plan comptable, d’un justificatif clair pour la comptabilité (un expert comptable et/ou un notaire sont évoqués), d’une exonération de TVA si aucune vente de bien ou de service n’est associée. Bref, la question des taxes et impôts à payer pour le donateur (60 % entre non‐parents ?) et l’entreprise n’est pas forcément claire. Cela reste assez flou et hypothétique, et ça mériterait une question aux impôts.

                  « Oups, j’ai procrastiné sur mes dons » généré avec https://framalab.org/gknd-creator/.

                  Logiciels libres pour gérer les dons (tiré de l’épisode 12 mais mis à jour)

                  La question avait été posée lors de l’épisode 3 de cette série de dépêches : quel(s) logiciel(s) libre(s) utiliser pour faire les dons ? Ou pour les gérer ? En général, pour les faire, un navigateur fait l’affaire : paiement en ligne, réception de l’éventuel reçu fiscal, réception d’un éventuel message de remerciement.

                  Pour les reçus fiscaux, il convient de les conserver avec les documents des impôts pendant le temps nécessaire (suivant la législation locale).

                  Pour les dons via des intermédiaires, par exemple Liberapay ou HelloAsso, il faut conserver soigneusement les identifiants du compte créé pour l’année suivante.

                  Si vous avez opté pour l’adhésion à une structure plutôt que le don, vous allez recevoir des identifiants aussi et probablement une lettre interne ou des choses du genre, ainsi que certainement une convocation à une assemblée générale annuelle.

                  Et si vous avez opté pour versement régulier (virement ou prélèvement), ça ne change pas fondamentalement les choses ; éventuellement, l’organisme qui prélève vous prévient un peu avant chaque prélèvement par courriel.

                  Il existe aussi dans le Libre des logiciels ou des événements spécialement prévus pour les dons :

                  À ma connaissance, le site HelloAsso, structure ayant obtenu son agrément « Entreprise solidaire d’utilité sociale », évoqué dans un commentaire de 2015, n’utilise pas une plate‑forme libre, contrairement à Liberapay.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Deno 2.0 est là

                  Le temps où Node.js régnait en maître comme la solution incontournable pour exécuter du code JavaScript côté serveur est-il révolu ? En tout cas, il a aujourd’hui des challengers de taille comme Bun (qui pourrait lui aussi mériter une dépêche) ou Deno. C'est donc de ce dernier qu'il sera question dans cette dépêche, à l'occasion de la sortie de sa version 2.0

                  Sommaire

                  Titre de l'image

                  Pour rappel

                  Deno est un runtime JavaScript et TypeScript. Il a vu le jour suite au constat de Ryan Dahl (créateur aussi de Node.js), que Node avait des problèmes de conceptions, et qu'il était nécessaire de repartir de zéro en tenant compte de l'expérience de Node pour ne pas refaire les mêmes erreurs. Il imagine Deno comme un runtime avec un modèle de sécurité par défaut plus strict. Les programmes Deno n'ont pas accès au système de fichiers, au réseau ou à l'environnement, sauf si on leur accorde explicitement ces permissions. Deno est écrit en Rust, et se base sur le moteur JavaScript V8 de Google. Deno se distingue également de Node en offrant la possibilité d'importer les dépendances via des URL, mettant en cache chaque module lors de l’importation pour améliorer la vitesse d’exécution.

                  La mascotte !

                  La première chose notable quand on passe de Node.js à Deno, c'est sa mascotte ! En effet, même si Node.js possède bien une petite tortue comme mascotte, celle-ci n'est utilisée nulle part ! Personnellement, j'ai toujours trouvé bien plus chouettes les projets qui ont des petites bestioles comme mascotte (Mozilla, Tux …). Et chez Deno, le dinosaure mascotte est omniprésent sur tout le site. Et en plus, à l'occasion de la version 2.0, on peut habiller notre dino sur la home page du projet ! Et ça c'est cool ! Voici le mien, qui est en compagnie de Ferris, la mascotte officieuse de Rust !

                  Mon dino

                  Bon, comme je ne suis pas sûr que tout le monde partage ma passion pour les mascottes, on va passer au côté plus technique ! 🤣

                  Deno 1.x, des débuts difficiles !

                  La version 1.0 sortie en mai 2020 a du mal à se faire une place et reste dans l'ombre de son grand frère. En effet, même si Deno offre un grand lot de nouveautés et est plus sécurisé par défaut, la très large adoption de Node et le fait que les projets développés pour Node ne sont pas forcément compatibles avec Deno rend l’adoption de ce dernier difficile. De plus, l'utilisation de CDN plutôt que d'installer les dépendances localement (dans le répertoire node_modules) a certes de nombreux avantages, mais cela rend votre projet dépendant de disponibilité du réseau ou peut entraîner des problèmes de performances si le CDN est éloigné géographiquement.

                  Les nouveautés de la version 2.0

                  Deno est désormais 100% compatible avec Node.js, et un gestionnaire de paquets officiel a vu le jour. Vous pouvez maintenant utiliser deno add et deno removepour ajouter ou retirer un paquet à votre projet.

                  Autour du projet Deno, JavaScript Registry (JSR) un dépôt de paquets JavaScript universel !

                  Le registre NPM s'est construit autour de Node.js afin de gérer facilement les dépendances de nos projets. Il a donc été développé pour Node.js à une époque où Node était la seule solution pour exécuter du code JavaScript côté serveur. En près de 15 ans, le registre NPM a rassemblé un peu moins de 3 millions de paquets et a très largement rempli sa mission toutes ces années. Mais aujourd'hui, la situation a changé, il existe plusieurs runtimes pouvant exécuter du code JavaScript (ou TypeScript) côté serveur. Et du côté front-end, les frameworks se sont multipliés et sont devenus de plus en plus complexes et nécessitent aussi l'utilisation d'un gestionnaire de paquets. Un registre de paquets fondé autour de Node.js uniquement est donc beaucoup moins pertinent qu'en 2010.
                  C'est donc pourquoi, à l'initiative du projet Deno, un nouveau registre de paquets JavaScript et TypeScript universel pointe aujourd'hui le bout de son nez. Il s'agit donc de JSR (JavaScript Registry).

                  Dans JSR, quand on va sur la page d'un paquet, en haut à droite, on a les logos des environnements compatibles avec le paquet :

                  Titre de l'image

                  Performances du runtime

                  Niveau performance, ça donne quoi ?

                  On voit souvent l'affirmation que Deno serait plus rapide que Node.js. Mais ça donne quoi en réalité ?

                  J'ai voulu faire un petit test sans prétentions pour voir ce que ça donne. Je voulais faire des tests plus poussés sur différents systèmes d'exploitation et architectures, mais par manque de temps, le test sera donc fait sur un seul système et un seul ordinateur et il s'agit d'un Mac… Un comble pour LinuxFr.org, mais c'est l'ordinateur que j'avais à disposition à ce moment-là. Mais sinon, je ne porte pas spécialement Apple dans mon cœur, bien au contraire !

                  J'ai testé l’exécution d'une même API sur Node. et Deno pour voir les différences de performance entre ces solutions. Pour ce test, j'ai utilisé une API Rest que j'ai développée pour le site de la société AudioSoft. J'ai fait la même requête POST 10 fois sur la même route avec les mêmes données. Il est important de préciser que c'est la première fois que je fais ce genre de tests, et que je ne fais peut-être pas tout dans les règles de l'art. Il y a des éléments extérieurs à Node et Deno qui peuvent influencer les scores. Notamment, la base de données utilisée pour le test était accessible via Internet, et des différences de débit ont pu fausser les tests.

                  Test sur un MacBook Pro (2,6 GHz Intel Core i7 6 cœurs, AMD Radeon Pro 5300M 4 Go Intel UHD Graphics 630 1536 Mo, 16 Go 2667 MHz DDR4) sous macOS Sonoma

                  Node: Le temps moyen pour exécuter le test de 126 millisecondes
                  Deno: Le temps moyen pour exécuter le test de 93 millisecondes

                  Performances du gestionnaire de paquets

                  Comme dit précédemment, Deno c'est aussi un gestionnaire de paquets. J'ai donc trouvé intéressant de tester les principaux gestionnaires de paquets sur différents environnements.
                  Pour ce test je me base sur la même API Rest que pour le test précédant, les dépendances à installer pour cette API sont : bcrypt, body-parser, dotenv, express, jsonwebtoken, mariadb, multer, mysql2, nodemailer, et sequelize. Le test a été fait sur un MacBook Pro. Pour effectuer ce test, le cache des gestionnaires de paquets ont été nettoyés et les fichiers-verrous supprimés.

                  Avec NPM, l'installation a mis 10 secondes.

                  Avec Deno, l'installation a mis 1 seconde.

                  Avec Bun, l'installation a mis 3 secondes.

                  On voit très clairement que NPM est beaucoup plus lent que ses deux concurrents. L'écart est plus faible entre Deno et Bun. Mais Deno est bien le plus rapide des trois.

                  Avant de réaliser ce test, j'en ai effectué un en oubliant de nettoyer le cache et de supprimer package-lock.json. Les résultats étaient alors 8 secondes pour NPM, 5 secondes pour Deno et 4 secondes pour Bun. Il est logique de constater que NPM est plus rapide, en revanche, je trouve surprenant que Deno et Bun aient été ralentis. Il est possible que les gestionnaires de paquets aient parcouru package-lock.json pour garder les versions présentes dans ce fichier, ce qui les aurait tous les trois ralentis. Et NPM a peut-être pu bénéficier de son cache (car je l'utilise bien plus que les deux autres sur mon ordinateur), Deno et Bun eux n'avaient peut-être pas grand-chose dans leurs caches, ont donc été ralentis. Il est donc important de supprimer les lockfile en cas de migration d'un projet.

                  Comme je le disais plus haut, c'est la première fois que j'effectue ce genre de test comparatif. Si vous avez des conseils sur les bonnes méthodes pour faire des tests plus fiables, ça m’intéresse !

                  Deno 2.1 est là

                  Étant donné que j'ai mis environ un siècle pour rédiger cette dépêche, Deno 2.1 est sortie entre temps ! 🤣
                  Je vous liste donc les principales nouveautés apportées à la version 2.1 sans les commenter 😉

                  • Support natif de WebAssembly (Wasm) : Il est désormais possible d'importer directement des modules Wasm, simplifiant leur utilisation et améliorant les performances.
                  • Version Long Term Support (LTS) : Deno 2.1 inaugure la première version LTS, garantissant des correctifs de bugs et des améliorations de performance pendant… Six mois… On n'est pas encore aux 30 mois des versions LTS de Node.js… Cela viendra peut-être plus tard. 🙂
                  • Commande deno init --npm vite : Cette commande simplifie la création de nouveaux projets en utilisant des outils comme Vite, en automatisant l'initialisation et en réduisant la configuration manuelle.
                  • Gestion des dépendances : Introduction de la commande deno outdated pour gérer les mises à jour des dépendances JSR et npm.

                  Conclusion

                  Si vous êtes développeur Node.js, je vous conseille de vous intéresser à Deno, et même à Bun. Je ne sais pas si ces deux runtime sont totalement prêts pour des projets en production (par exemple, Deno 2.1 n'a que 6 mois de durée de vie, ce qui est plutôt contraignant pour les serveurs.). Mais peut-être que dans un futur proche, il sera cohérent de migrer vers l'un de ces deux-là.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  L' appel à présentations de la conférence OW2con'25 est ouvert !

                  OW2 est ravi d'annoncer l'ouverture de l'appel à présentations d'OW2con'25 ! La conférence annuelle aura lieu les 17 et 18 juin 2025, sur le site des Jardins de l'Innovation de Orange à Paris-Châtillon. Communauté open source internationale et indépendante, OW2 est dédiée au développement de logiciels professionnels de qualité industrielle, et regroupe des entreprises, des collectivités et des organismes de recherche de premier plan dont Orange, l’Inria, la Mairie de Paris et l'institut allemand Fraunhofer Fokus.

                  OW2con25

                  OW2con est la conférence open source européenne organisée par OW2. Rencontre internationale de contributeurs, éditeurs, ESN, académiques, et organisations à but non lucratif, OW2con rassemble l'ensemble de la communauté open source. OW2con est ouvert à tous, l’évènement est gratuit et les conférences ont lieu en anglais.

                  Appel à présentations :

                  Cette année l'accent sera mis sur le thème de l'open source et l'IA responsable. Au-delà du buzz de l'IA nous souhaitons aborder des sujets tel que : open source et communs, technologies et innovations, données, souveraineté, vie privée, cadre juridique, financement et économie, durabilité, impact sur le travail et la société, etc. Comment l'open source contribuera-t-il à cette transformation ?

                  Merci de soumettre vos propositions, en anglais, avant le 23 février 2025 dans ce thème ou dans l'un des sujets annoncés dans le formulaire de l'appel à présentations.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Bénévalibre - « Libre à vous ! » du 12 novembre 2024 - Podcasts et références

                  Deux-cent-vingt-sixième émission « Libre à vous ! » de l’April. Podcast et programme :

                  • sujet principal : Bénévalibre, un logiciel libre pour faciliter la valorisation du bénévolat
                  • la chronique « Que libérer d’autre que du logiciel » avec Antanak, intitulée : « Identité numérique »
                  • « À la rencontre du libre » poursuit son tour de France avec Martin Hardy, professeur en cursus Bachelor « Expert en informatique » à Agen, dans le Lot-et-Garonne, à l'ESIA : « comment utilise-t-il les logiciels libres dans cette école ? »

                  Rendez‐vous en direct chaque mardi de 15 h 30 à 17 h sur 93,1 FM en Île‐de‐France. L’émission est diffusée simultanément sur le site Web de la radio Cause Commune.

                  Pas d'émission inédite le 26 novembre.

                  Mardi 3 décembre 2024, nous recevrons Philippe Bareille, en charge de l'Open Source, et Magali Lemaire, la cheffe du bureau de l'ingénierie logicielle, de la ville de Paris.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  🏆 Meilleures contributions LinuxFr.org : les primées d'octobre 2024

                  Nous continuons sur notre lancée de récompenser celles et ceux qui chaque mois contribuent au site LinuxFr.org (dépêches, commentaires, logo, journaux, correctifs, etc.). Vous n’êtes pas sans risquer de gagner un livre des éditions Eyrolles, ENI et D-Booker. Voici les gagnants du mois d'octobre 2024 :

                  Les livres gagnés sont détaillés en seconde partie de la dépêche. N’oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

                  Les livres 📚 sélectionnés

                  Bandeau LinuxFr.org

                  Certaines personnes n’ont pas pu être jointes ou n’ont pas répondu. Les lots ont été réattribués automatiquement. N’oubliez pas de mettre une adresse de courriel valable dans votre compte ou lors de la proposition d’une dépêche. En effet, c’est notre seul moyen de vous contacter, que ce soit pour les lots ou des questions sur votre dépêche lors de sa modération. Tous nos remerciements aux contributeurs du site ainsi qu’aux éditions Eyrolles, ENI et D-Booker.

                  Logo éditions ENI Logo éditions Eyrolles Logo éditions B-BookeR
                       

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Recrutement et diversité de genre dans l’informatique — « Libre à vous ! » du 5 novembre 2024

                  225e émission « Libre à vous ! » de l’April. Podcast et programme :

                  • sujet principal : Recrutement et diversité de genre dans l’informatique avec Marcy Ericka Charollois (consultante spécialisée dans l’inclusivité dans la tech) et Florence Chabanois (Head of Engineering -responsable ingénierie-, fondatrice de La Place Des Grenouilles, membre core de Tech.Rocks).
                  • la chronique « Le truc que (presque) personne n’a vraiment compris mais qui nous concerne toutes et tous » de Benjamin Bellamy sur les cookies tiers. Benjamin Bellamy est fondateur et dirigeant de la société Ad Aures, papa de Castopod et animateur de Rien De Grave Patron
                  • la chronique « Lectures buissonnières » de Vincent Calame, bénévole à l’April, sur La convivialité d’Ivan Illich (3e partie)

                  Rendez‐vous en direct chaque mardi de 15 h 30 à 17 h sur 93,1 MHz en Île‐de‐France. L’émission est diffusée simultanément sur le site Web de la radio Cause Commune. Vous pouvez nous laisser un message sur le répondeur de la radio : pour réagir à l’un des sujets de l’émission, pour partager un témoignage, vos idées, vos suggestions, vos encouragements ou pour nous poser une question. Le numéro du répondeur : +33 9 72 51 55 46.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Capitole du Libre 2024 - au programme du 16 et 17 novembre

                  Le Capitole du Libre est un week-end dédié au logiciel libre et à la culture libre en Occitanie. Cette année, la onzième édition se tiendra les samedi 16 et dimanche 17 novembre 2024 à l’ENSEEIHT, dans le centre‐ville de Toulouse (INP-N7).

                  Capitole du Libre

                  En quelques mots

                  Le Capitole du Libre, c'est:

                  • Près de 100 conférences
                  • Une dizaine d'ateliers
                  • Une trentaine de stands associatifs
                  • Une communauté présente en nombre : plus de 1000 participants tous les ans
                  • Tous les publics représentés, du curieux au développeur noyau, en passant par les geeks et les supporters de la culture libre

                  Présentation

                  Complètement gratuit, le Capitole du Libre regroupe un large ensemble d'activités:

                  • des conférences, qui couvrent un large ensemble de sujets et permettront à tous les publics de découvrir ou d'approfondir des sujets techniques, leur maîtrise d'un logiciel, les actualités relatives au numérique, etc.
                  • des ateliers, pour découvrir par la pratique des logiciels libres
                  • une table ronde: cette année, elle portera sur le thème des modèles de gouvernance des projets libres

                  Un village associatif sera également présent pour vous permettre de rencontrer et discuter avec de nombreux acteurs du monde libre.

                  ⚠️ L'accès est gratuit, mais une inscription est obligatoire.

                  Flyer de l'évènement

                  Keynotes

                  Deux moments sont proposés pour cette édition:

                  Ateliers

                  Venez découvrir le logiciel libre lors d’ateliers avec des experts pour vous assister.

                  Les ateliers au programme cette année traiteront de logiciels de dessin, de réalisation de jeu vidéo, de réalisation physique d'objets, de développement, de résolution de problèmes, d'éditeurs de textes, etc.

                  Village associatif

                  Retrouvez les associations qui œuvrent pour le logiciel libre : Framasoft, April, Toulibre, CHATONS…

                  Install party

                  Venez-vous faire aider pour installer Linux, pour corriger les problèmes que vous rencontrez avec votre installation ou pour toute question autour du logiciel libre.
                  Un atelier permanent est dédié tout le week-end.

                  Boutique

                  Repartez avec un T-shirt de l’événement, un sweatshirt d'un logiciel libre que vous appréciez, un mug, …
                  Les ventes permettent de financer le Capitole du Libre.

                  LAN party

                  Pour les jeunes (et moins jeunes) qui souhaiteraient s'amuser tout en restant dans le thème du logiciel libre, venez jouer à quelques jeux libres avec la LAN party.

                  Cocktail

                  Comme chaque année, un moment de convivialité ouvert à tous et toutes est prévu le samedi soir.

                  MiniDebConf

                  Logo de la MiniDebConf

                  Cette année, une conférence MiniDebConf aura lieu en parallèle du Capitole du Libre, accessible directement à partir du hall principal de l'école, et vous pourrez donc profiter des conférences des deux évènements à votre guise, rencontrer des développeurs Debian, etc.

                  Pour plus d'information sur la MiniDebConf…

                  Informations pratiques

                  Restauration

                  Des food trucks sont à votre disposition les midis, directement à l'intérieur de l'établissement.

                  Si vous préférez vous restaurer à l'extérieur, le quartier possède également de nombreux restaurants et boulangeries.

                  Entrée

                  Comme tous les ans, l’accès à l’événement est totalement gratuit !

                  ⚠️ Attention, puisque l'établissement qui nous accueille est une école, une inscription en ligne est obligatoire et le personnel de sécurité demandera à inspecter vos sacs à l'entrée.

                  Les portes seront ouvertes:

                  • le samedi 16 novembre 2024 de 9h30 à 22h
                  • le dimanche 17 novembre 2024 de 10h à 16h30

                  Nous vous attendons nombreux !

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Fedora Linux 41 est dans la place

                  En ce mardi 29 octobre 2024, les utilisateurs du Projet Fedora seront ravis d’apprendre la disponibilité de la version Fedora Linux 41.

                  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.

                  Bureau GNOME

                  Sommaire

                  Expérience utilisateur

                  Passage à GNOME 47. Cette nouvelle version de l’environnement phare de Fedora propose de nombreuses améliorations. Tout d’abord, il est maintenant possible de personnaliser une couleur "accentuée" (accent color) qui influencera la couleur de nombreux éléments graphiques comme des boutons. Cela intègre donc un changement en place chez Ubuntu depuis quelques années. Pour ceux disposant de petits écrans, certains boutons et autres icônes sont agrandies pour rendre leur interaction plus aisée dans ce contexte.

                  L’interface a été en partie remaniée au niveau des boîtes de dialogue pour rendre leur interaction plus simple notamment avec des petits écrans avec des boutons plus gros et plus espacés entre eux. Et bien sûr ces boutons tiennent compte maintenant de la couleur accentuée explicitée précédemment. L’interface pour ouvrir ou sauvegarder un fichier repose maintenant sur le code du navigateur de fichiers nommé Fichiers plutôt que d’utiliser un code indépendant jusqu’ici. Cela simplifie la maintenance mais permet surtout de fournir l’ensemble des fonctionnalités du navigateur de fichiers pour cette tâche. Par exemple il est possible de renommer des fichiers depuis cette interface, de changer l’ordre d’affichage en vue icônes, prévisualiser les fichiers sans les ouvrir, etc. Par ailleurs, le navigateur de fichiers s’améliore aussi. Les périphériques réseaux sont maintenant classifiés permettant d’identifier les ressources où on est déjà connecté, qu’on a précédemment utilisé et les autres. L’ensemble des disques durs internes sont également affichés dans la barre latérale et groupés ensemble pour rendre cela plus accessible et facile d’utilisation. Il est possible également de supprimer les dossiers par défaut dans la barre latérale pour faire de la place si on le souhaite. Et quelques autres changements plus mineurs.

                  Dans la configuration de l’interface, il est possible via le menu Accessibilité de configurer le changement automatique de focus d’une fenêtre à une autre par le simple survol de la souris. Option désactivée par défaut. De même lors de l’ajout de nouvelles dispositions clavier, la prévisualisation de cette disposition peut être effectuée avant de la sélectionner pour s’assurer que c’est bien celle souhaitée. De manière générale, l’affichage des préférences est plus cohérente dans le choix des éléments graphiques pour les représenter à travers l’interface.

                  Les comptes en ligne progressent également, les informations IMAP ou SMTP sont préremplies en se basant sur l’adresse électronique. La synchronisation du calendrier, des courriels et des contacts a été ajoutée pour les comptes Microsoft 365 pendant que la configuration d’un nouveau compte WebDAV permet de découvrir les services accessibles depuis ce compte pour faciliter l’expérience utilisateur.

                  Le navigateur web maison n’est pas en reste et propose quelques améliorations dont le pré remplissage des formulaires en se basant sur les entrées précédentes ce qui est disponible dans de nombreux navigateur. L’option peut être désactivée dans les préférences si nécessaire. Les marques pages ont été aussi remaniés en étant affichés dans un volet latéral et en proposant une barre de recherche intégrée pour retrouver celui qu’on souhaite. Le navigateur peut afficher le nombre de trackers publicitaires qui ont été bloqués. Malheureusement la synchronisation des éléments via Firefox Sync n’est plus possible en ce moment à cause d’un changement dans la procédure d’authentification par Mozilla.

                  L’application calendrier a été également améliorée avec par exemple une icône de cadenas qui s’affiche pour les événements qui sont en lecture seule. La mise en page est plus cohérente notamment dans l’espacement entre les éléments visuels. L’importation ou l’édition d’événements gèrent mieux les calendriers cachés ou en lecture seule. L’application de cartographie a été aussi légèrement améliorée en utilisant les cartes vectorisées par défaut et en proposant les trajets en transport en commun en exploitant le service Transitous plutôt qu’une solution commerciale.

                  Pour les amateurs d’enregistrement de leur écran en vidéo, cette tâche peut être effectuée dans la mesure du possible avec de l’accélération matérielle ce qui diminue la consommation d’énergie et améliore les performances du système dans ce cadre. Dans la même veine, le rendu effectué par la bibliothèque graphique GTK se fait via Vulkan dorénavant ce qui améliore les performances en particulier pour les machines plus anciennes et avec moins d’effets visuels indésirables due à la lenteur de certaines opérations. Dans la même veine, il y a une amélioration des performances des applications vidéos, photos et du navigateur web maison par la réduction quand c’est possible du nombre de copies en mémoire des données d’une vidéo ou d’une image.

                  Pour ceux qui ont accès à leur session à distance, il est dorénavant possible de rendre cette session persistante. En cas de déconnexion il est possible de revenir plus tard et de retrouver la session dans l’état où elle était.

                  Pour les utilisateurs avancés, il y a des changements expérimentaux qui sont proposés. Si vous souhaitez utiliser la mise à échelle fractionnaire de l’interface pour les applications utilisant X11 via XWayland, vous pouvez l’activer via la commande suivante :

                  $ gsettings set org.gnome.mutter experimental-features '["scale-monitor-framebuffer", "xwayland-native-scaling"]'

                  Couleur d’accentuation dans GNOME

                  L’environnement de bureau léger LXQt passe à la version 2.0. Cette mise à jour importante est essentiellement technique avec un port complet vers la bibliothèque graphique Qt 6 au lieu de Qt 5 qui n’est bientôt plus maintenue. La prise en charge de Wayland est disponible à titre expérimental, cela devrait être stabilisé pour la version 2.1 à venir.

                  L’éditeur d’image GIMP utilise la branche de développement qui deviendra la version 3. Cette décision a été prise car GIMP devenait la raison principale pour maintenir le langage Python 2.7 dans la distribution qui n’est plus maintenue depuis quelques années. Alors que GIMP 3 devrait sortir sous peu, il a été décidé de prendre potentiellement un peu d’avance pour permettre de supprimer cette dépendance assez lourde et complexe de Fedora.

                  Outre cette décision, cette version de l’application propose entre autres une meilleure gestion des couleurs avec notamment la visualisation, l’import ou l’export d’images avec la colorimétrie CMJN. Les tablettes graphiques ont une expérience utilisateur améliorée avec notamment la possibilité de personnaliser l’action des boutons de ce matériel sous Wayland, et la prise en charge des écrans avec une définition HiDPI est aussi améliorée. L’édition non destructive est également possible pour séparer l’application des effets des calques de l’image pour permettre de revenir dessus plus tard. Si on le souhaite, un calque peut se redimensionner automatiquement lors de son édition lors d’un dessin par exemple. Et bien d’autres changements.

                  Le gestionnaire de listes de tâches Taskwarrior évolue à la version 3. Cette version a surtout changé la manière de stocker les données sauvegardées et n’est pas rétrocompatible avec l’ancienne méthode. Il est donc nécessaire d’exporter les tâches avec l’ancienne version par l’usage de la commande task export et de les importer avec la nouvelle version avec la commande task import rc.hooks=0. La tâche de sauvegarde est aussi confiée à un nouveau module TaskChampion écrit en Rust.

                  La mise à jour du cœur des systèmes atomiques de bureau peut se faire sans droits administrateurs, mais pas les mises à niveau de celui-ci à savoir par exemple passer d’une version Fedora Linux Silverblue 40 à Fedora Linux Silverblue 41. Cela était déjà le cas pour Fedora Silverblue avec l’usage de GNOME Logiciels mais a été de fait généralisé. L’objectif est de simplifier la procédure de mise à jour du système, qui dans le cadre d’un système atomique est considéré comme plus sûre que dans un système traditionnel de par sa conception qui permet facilement de revenir à l’état précédent et par la faible quantité de logiciels installés dans le cœur du système.

                  Les autres opérations ne sont pas considérées à ce stade car trop risquées pour être confiées à un simple utilisateur. Pour certaines opérations le mot de passe administrateur sera systématiquement demandé telles que l’installation d’un nouveau paquet local, la mise à niveau complet du système (qui consiste en une opération de rebase avec une autre branche de travail), ou changer les paramètres du noyau. Pour d’autres comme l’installation d’un paquet provenant d’un dépôt, la mise à jour, le retour dans un état précédent ou l’annulation d’une commande peut se faire sans demander systématiquement le mot de passe, comme lors de l’usage de commandes via sudo si les opérations ne sont pas trop espacées.

                  Mise à disposition des images Spin KDE Plasma Mobile et Fedora Kinoite Mobile. L’objectif est de fournir une image native avec cet environnement qui fonctionne aussi bien pour téléphone que pour les tablettes ou petits ordinateurs portables 2-1 avec possibilité de détacher l’écran tactile du clavier.

                  De même le gestionnaire de fenêtres en mode pavant Miracle exploitant Wayland est proposé dans Fedora et bénéficie de son propre Spin. Cette interface moderne prend en charge aussi les fenêtres flottantes, prend en charge les dernières montures de Wayland tout en permettant l’usage des pilotes propriétaires de Nvidia. Il consomme également peu de ressources ce qui le rend intéressant dans l’usage de machines peu performantes ou anciennes tout en exploitant une pile graphique très moderne et flexible.

                  L’installation de Fedora Workstation se fera avec le protocole d’affichage Wayland uniquement, les sessions GNOME X11 restent disponibles et installables après. Cela suit l’effort entrepris depuis longtemps de faire de Wayland le protocole d’affichage par défaut de Fedora et par l’abandon progressif de X11 par GNOME également. L’état actuel du système permet de franchir ce cap par défaut ce qui allège également un peu le média d’installation. Cependant pour ceux qui veulent toujours utiliser GNOME avec X11 après l’installation pour différentes raisons, il reste possible d’installer les paquets gnome-session-xsession et gnome-classic-session-xsession depuis les dépôts officiels.

                  Prévisualisation du clavier dans GNOME

                  Gestion du matériel

                  L’installation du pilote propriétaire de Nvidia via GNOME Logiciels est compatible avec les systèmes utilisant l’option Secure Boot. Ce mode de sécurité s’assure que tous les éléments de la chaine de démarrage de la machine sont signés avec une des clés cryptographiques autorisées. L’objectif est d’éviter qu’une tierce personne puisse modifier un de ces composants dans le dos d’un utilisateur afin de réaliser une attaque plus tard. Le chargeur de démarrage GRUB, le noyau Linux et ses pilotes sont évidemment concernés, et installer le pilote propriétaire de Nvidia qui n’est pas signé pouvait rendre la machine impossible à démarrer.

                  Même si Fedora ne fournit pas ce pilote, car il est non libre, l’objectif reste d’avoir un système fonctionnel et simple à utiliser. Dans ce contexte, GNOME logiciels permet d’outre passer cette limitation en utilisant l’outil mokutil pour auto signer le pilote Nvidia. L’utilisateur devra saisir un mot de passe à l’installation du paquet, et au redémarrage suivant cet outil sera affiché pour confirmer la clé de sécurité et ainsi autoriser le chargement du dit pilote sans encombre.

                  Prise en charge des caméras MIPI pour les systèmes utilisant Intel IPU6 qui concerne de nombreux ordinateurs portables actuels. En effet, de nombreux modèles utilisent le bus MIPI CSI2 au lieu du traditionnel USB UVC qui était la norme jusqu’à présent. En effet ce protocole permet des bandes passantes plus élevées, en consommant moins d’énergie et plus facile à intégrer. Sauf que la prise en charge de ce bus n’était pas pleinement gérée, car les images envoyées sont un peu brutes et nécessitent des traitements notamment concernant la balance des blancs ou le dématriçage de l’image ou le contrôle pour l’exposition et le gain. Cela est complexe, car chaque caméra a ses propres caractéristiques qui nécessitent une approche au cas par cas en espace utilisateur. Un travail d’intégration a été fait entre le noyau Linux, libcamera, pipewire et Firefox pour rendre cela possible. Le noyau Linux fourni l’API de base et un pilote pour chaque type de modèles, avec un pilote commun pour la prise en charge du protocole en lui-même. Le flux vidéo est récupéré par libcamera qui applique des traitements tels que le dématriçage en prenant en compte le modèle considéré, qui envoie le flux vidéo obtenu par pipewire vers le navigateur Firefox.

                  L’installateur Anaconda prend en charge le chiffrement matériel des disques via le standard TCG OPAL2 disponible sur certains péripériques SATA ou NVMe, mais cela nécessite de passer via un fichier kickstart pour personnaliser l’installation. L’outil cryptsetup n’a pris en charge ce standard que très récemment, l’objectif est de fournir les arguments --hw-opal-only ou --hw-opal à cet utilitaire dans le fichier kickstart. Le premier argument n’active que le chiffrement matériel, ce qui est recommandé uniquement pour des périphériques où l’usage du CPU pour cette tâche nuirait grandement aux performances, alors que le second utilise un chiffrement matériel et logiciel. Il n’est pas prévu de fournir cette fonctionnalité par défaut et restera pendant un moment une option pour les utilisateurs avancés, car la sécurité de l’ensemble dépend de la qualité des firmwares de ces périphériques de stockage et qui doivent être maintenus à jour dans le temps ce qui n’est pas garanti.

                  Utilisation par défaut de l’outil tuned au lieu de power-profiles-daemon pour la gestion de l’énergie de la machine. C’est l’outil qui permet notamment de passer du mode économie d’énergie à performance pour moduler la puissance du CPU en fonction de la consommation d’énergie souhaitée, ce qui est très appréciable sur les ordinateurs portables en particulier. Cependant power-profiles-daemon est très simple, en dehors de ces modes très génériques et d’appliquer cela sur les CPU ou les plateformes matérielles supportées, il ne permettait une configuration plus fine ou l’ajout de modes personnalisées. Les utilisateurs avancés étaient contraints d’installer un utilitaire additionnel comme tuned pour cela. Il a été ajouté un paquet tuned-ppd qui fourni une API DBus compatible avec l’interface de power-profiles-daemon, ainsi les applications telles que le centre de configuration de GNOME, Plasma ou Budgie peuvent s’en servir directement à la place sans régression, tout en permettant aux utilisateurs avancés d’aller plus loin s’ils le souhaitent en modifiant le contenu de /etc/tuned/ppd.conf comme en changeant les réglages périphérique par périphérique.

                  Mise à jour de ROCm 6.2 pour améliorer la prise en charge de l’IA et le calcul haute performance pour les cartes graphiques ou accélérateurs d’AMD. Il fournit entre autres des nouveaux composants tels que Omniperf pour l’étude et l’analyse de performance, Omnitrace pour tracer l’exécution des fonctions sur le CPU ou le GPU, rocPyDecode comme implémentation de l’API rocDecode en Python pour l’analyse des données de profilage faits avec cet outil en C ou C++ ou ROCprofiler-SDK pour identifier les points bloquants de performance. Il prend en charge également les dernières versions des outils PyTorch et TensorFlow.

                  L’outil de développement et de débogage des tables ACPI nommé acpica-tools ne prend plus en charge les architectures gros boutistes tels que s390x. En effet, ce standard qui est conçu pour les machines petits boutistes n’a pas beaucoup de sens pour cette architecture, les paquets qui en avaient besoin pour s390x ont de moins en moins cette dépendance et comme l’usage de cette architecture reste faible surtout pour cet usage, il a été décidé de retirer la prise en charge de cette spécificité. 49 correctifs sur 69 concernant ce paquet sont liés à cette prise en charge, car le projet n’a jamais voulu les adopter par manque d’intérêt, ce qui impliquait beaucoup de test et de développement ralentissant la fréquence des mises à jour du paquet. Ces correctifs sont maintenant supprimés.

                  PHP ne prend plus en charge les processeurs x86 32 bits. Il n’y avait déjà plus de paquets PHP 32 bits dans les dépôts, mais PHP était toujours compilé pour permettre à d’autres dépendances de l’être pour cette architecture. Des restrictions ont été ajoutées à ces dépendances pour que cela ne soit plus bloquant. PHP était souvent utilisé dans le cadre de tests ou pour gérer des plugins ou extensions qui pouvaient être désactivées. L’architecture x86 32 bits n’est pour rappel plus pris en charge par Fedora depuis quelques années maintenant, ces paquets ne sont utilisables que sur des machines x86 64 bits pour des raisons de compatibilité. Ce nettoyage permet en contrepartie un gain de temps machine et de développeurs, car il n’y a plus à gérer ce cas de figure.

                  Internationalisation

                  Le gestionnaire d’entrées IBus par défaut pour la langue traditionnelle chinoise de Taiwan passe de ibus-libzhuyin à ibus-chewing. En effet la bibliothèque chewing sous-jacent semble avoir une communauté dynamique qui fournit une bonne maintenance contrairement à libzhuyin qui n’est d’ailleurs pas maintenu en ce moment par un locuteur de cette langue ce qui pose quelques difficultés. Le code semble également mieux organisé et plus maintenable.

                  Nouvelles options de focus dans GNOME

                  Administration système

                  Le gestionnaire de paquet dnf est mis à jour vers sa 5ᵉ version. Cette version écrite en C++ au lieu de Python est bien plus rapide à l’usage et consomme moins d’espace disque et requiert moins de dépendances pour tourner, l’ensemble est 60% plus léger sur le disque. Par ailleurs dnf5daemon remplace PackageKit comme couche de compatibilité pour dnf dans GNOME Logiciels, ce qui permet notamment le partage des caches entre l’interface console et l’interface graphique évitant un gaspillage d’espace disque et de bande passante. Niveau performance, certaines opérations sont maintenant parallélisées comme le téléchargement et le traitement des données des dépôts qui doit être jusqu’à deux fois plus rapide. Les plugins sont également mieux intégrés ce qui en simplifie leur installation et leur maintenance. Cependant certains plugins n’ont pas été encore portés, vous pouvez suivre l’avancement pour ceux qui manquent à l’appel. Mais cela ne devrait concerner que peu d’utilisateurs. Certaines options de la ligne de commande n’existent plus par ailleurs, cela vous sera rappelé si vous les invoquiez. L’historique des précédentes transactions de paquets comme les mises à jour ou installations ne sont pas compatibles entre l’ancienne et la nouvelle version, vous ne pourrez donc pas voir vos anciennes transactions pour les annuler par exemple.

                  Tandis que la commande rpm utilise la version 4.20. Cette version permet de lister ou de supprimer les clés pour signer les paquets via la commande rpmkeys alors que l’outil rpmsign permet de signer les paquets avec l’algorithme ECDSA. La commande rpm elle-même permet d’afficher une sortie en format JSON, en plus du format XML déjà pris en charge depuis longtemps. Un nouveau plugin rpm-plugin-unshare apparaît pour empêcher à des scripts d’installation de faire certaines opérations sur le système de fichiers ou via le réseau pour des raisons de sécurité. Côté création de paquet, l’introduction de la directive BuildSystem est sans doute la plus importante pour permettre de définir de manière unique et générique la création de paquets basés sur des outils communs tels que autotools ou cmake. L’empaqueteur n’aurait pas besoin de rappeler pour ces outils courants chaque étape pour la création du paquet, sauf en cas de particularité, ce qui permet une meilleure maintenance et cohérence au sein de la distribution par exemple.

                  Les systèmes Fedora atomiques de bureau et Fedora IoT disposent de bootupd pour la mise à jour du chargeur de démarrage. La mise à jour du chargeur de démarrage au sein d’un système atomique n’est pas trivial, car ce n’est pas une opération facile à fiabiliser. Par conséquent rpm-ostree ne prenait pas cela en charge, et c’est pourquoi bootupd a été créé et est maintenant intégré dans ces versions. Il était déjà présent depuis quelque temps sur la version CoreOS ce qui a déjà donné un retour d’expérience en conditions réelles. Il peut prendre en charge les systèmes UEFI et BIOS, mais la mise à jour reste une étape manuelle pour être automatisée dans le futur, notamment quand le composant shim sera à jour pour rendre la mise à jour moins risquée sur les systèmes UEFI si la mise à jour est coupée au milieu de l’opération comme lors d’une coupure de courant ou lors d’un plantage. Il permet également de pouvoir bloquer l’usage de versions du chargeur de démarrage plus anciens ayant des failles connues, par l’usage de Secure Boot dbx et le paquet ostree-grub2 pourra être progressivement retiré, ce qui notamment mettra un terme au bogue où chaque déploiement est affiché deux fois dans l’interface de sélection de GRUB et devrait réduire le risque d’avoir certains problèmes lors de la mise à jour du système.

                  Les images atomiques de Fedora proposent les outils dnf et bootc, ce premier est utilisable dans un contexte de développement pour l’instant mais le second peut commencer à servir à déployer des images du système qui sont bootables. Plus tard il est prévu que dnf puisse remplacer rpm-ostree pour certaines actions. En attendant, en cas d’usage de dnf sur de tels systèmes, le message d’erreur sera plus explicite concernant les outils à employer pour réaliser ces actions. L’objectif est de fournir aux administrateurs systèmes des outils plus familiers pour ces différentes actions tout en ayant un outil clairement identifié pour chaque type de tâches.

                  Introduction de l’outil fedora-repoquery pour faire des requêtes sur les dépôts comme savoir la version exacte d’un paquet spécifique dans une autre version de Fedora, la date de mise à jour d’un dépôt, ou connaître les paquets qui dépendent d’un paquet spécifique (dépendance inverse donc), etc. Il fonctionne par-dessus dnf concernant cette fonction mais permet de facilement obtenir des informations depuis les dépôts Fedora, CentOS ou EPEL.

                  La bibliothèque de sécurité OpenSSL n’accepte plus les signatures cryptographiques avec l’algorithme SHA-1. Cet algorithme n’est plus considéré comme sûr, car il devient de plus en plus facile de générer des collisions à la demande. Si vous souhaitez les autoriser à nouveau pour des raisons légitimes, malgré le risque de sécurité, cela reste possible de le faire via la commande

                  # update-crypto-policies --set FEDORA40

                  Commande qui devrait être prise en charge pendant quelques versions encore.

                  Le gestionnaire de réseaux NetworkManager ne prend plus en charge la configuration dans le format ifcfg qui était déjà désuet depuis des années. Cela fait suite aux tentatives progressives d’utiliser massivement le format keyfile. Fedora Linux 33 en l’utilisant comme format par défaut pour les nouveaux profils de connexions, tandis que Fedora Linux 36 a poussé la prise en charge de l’ancien format dans un paquet dédié non installé par défaut nommé NetworkManager-initscripts-ifcfg-rh et enfin Fedora Linux 39 a entamé la conversion automatique vers le nouveau format. Et depuis longtemps NetworkManager ne fait que maintenir ce format, de nombreuses options ou types de connexions n’étant de fait pas possibles avec l’ancien format. Cela permet de préparer la suppression future de la prise en charge de ce format de fichier de NetworkManager lui-même.

                  Dans la même veine, le paquet network-scripts a été retiré, mettant fin à la gestion du réseau via les scripts ifup et ifdown. Depuis 2018 ces outils sont considérés comme obsolète et soumis à une suppression planifiée future. D’ailleurs le projet officiel ne fait plus une maintenance très active de ces outils.

                  Les interfaces réseaux pour les éditions Cloud vont utiliser les nouveaux noms par défaut (par exemple enp2s0f0) comme adoptés par les autres éditions il y a des années au lieu de conserver les noms traditionnels (tels que eth0). Cela signifie que le noyau ne recevra plus pour ces systèmes le paramètre net.ifnames=0 pour maintenir cet ancien comportement. Le reste de l’écosystème avait adopté la nouvelle nomenclature avec Fedora… 15 en 2011 ! Ce retard est attribuable à certains problèmes avec certains outils tels que cloud-init avec cette convention de nommage qui ont été résolus à la fin des années 2010 seulement. Ainsi les périphériques auront maintenant une correspondance physique, leur rôle devrait être plus facilement identifiable et limiter le risque de problèmes suite à des changements dynamiques des interfaces.

                  Le gestionnaire de virtualisation libvirt utilise maintenant par défaut le pare-feu nftables au lieu de iptables pour son interface réseau vibr0. En effet Fedora utilise par défaut nftables maintenant et par ailleurs utiliser iptables signifiait créer des règles nftables sous le capot. Cette transition est faite pour améliorer les performances et réduire le risque d’une suppression accidentelle de règles par une application tierce, car tout sera mis dans les règles associées à la table libvirt_network. iptables sera cependant utilisé si nftables n’est pas présent dans le système et le comportement peut être changé dans le fichier de configuration /etc/libvirt/network.conf.

                  L’outil Netavark pour gérer la pile réseau des conteneurs, notamment avec podman, utilise également par défaut le pare-feu nftables au lieu de iptables. Les avantages du changement sont assez similaires à ce qui est expliqué au point précédent, les règles associées à l’outil seront mises dans la table dédiée netavark. La possibilité d’envoyer les règles par lot peut améliorer de manière légère le temps de démarrage des conteneurs par ailleurs.

                  Le gestionnaire de conteneurs Kubernetes a des nouveaux paquets versionnés, permettant d’avoir plusieurs versions en parallèle. Ici les versions 1.29, 1.30 et 1.31 sont proposées avec des noms comme kubernetes1.31. Cela devenait nécessaire car Kubernetes maintient 3 versions sur une période de 4 mois par version seulement ce qui rend nécessaire un tel montage. Cela permet aussi de découpler la version de Kubernetes avec la version de Fedora Linux ce qui facilite la gestion pour les administrateurs.

                  L’implémentation des interfaces de Kubernetes fait par l’OCI a ses propres paquets cri-o et cri-tools qui sont également versionnés pour pouvoir suivre les versions de Kubernetes.

                  GIMP 3

                  Développement

                  Mise à jour de la suite de compilation GNU : binutils 2.42, glibc 2.40 et gdb 15.

                  Pour la suite d’outils binutils, cela se concentre surtout sur la prise en charge plus étendue des instructions des architectures Aarch64, RISC-V et x86_64. Il gère notamment les registres supplémentaires et les instructions associées proposés par l’évolution de l’architecture x86 avec Intel APX. L’assembleur BPF améliore son interopérabilité avec les outils de LLVM en suivant les mêmes conventions.

                  La bibliothèque standard C commence une prise en charge expérimentale de la norme C23. La capacité de renforcer la sûreté des programmes compilés avec le compilateur Clang a été aussi améliorée pour se rapprocher de ce qui est possible de faire avec le compilateur GCC. De nombreuses fonctions mathématiques ont une version vectorisée pour l’architecture Aarch64 ce qui peut améliorer les performances pour cette architecture.

                  Pour finir le débogueur améliore significativement son API Python pour faciliter sa manipulation à travers un programme ou script écrit dans ce langage. La prise en charge du protocole Debugger Adapter Protocol s’améliore encore pour faciliter sa manipulation par divers IDE qui s’en servent pour l’intégrer. Les informations de débogage du programme cible au format DWARF sont lues dans un fil d’exécution dédié pour améliorer le temps de chargement.

                  Mise à niveau de la suite de compilateurs LLVM vers la version 19. Les paquets versionnés des versions précédentes sont toujours disponibles pour ceux qui ont besoin de la compatibilité avec les anciennes bibliothèques. Les paquets clang, compiler-rt, lld et libomp sont maintenant générés à partir du fichier de spécification du paquet llvm ce qui n’était pas le cas avant. Cela permet entre autres de simplifier leur maintenance mais aussi d’appliquer une optimisation Profile-Guided Optimizations sur ces binaires pour améliorer les performances. Les paquets Fedora compilés avec Clang bénéficient aussi de la compilation avec l’option -ffat-lto pour avoir des bibliothèques ayant le bitcode LTO en plus du binaire au format ELF, ce qui permet de réduire le temps de l’édition de lien quand ces bibliothèques sont impliquées. Le tout sans recourir à des macros pour obtenir le résultat après la compilation des paquets et sans renoncer à la compatibilité pour les logiciels non compilés avec ce mode activé.

                  Retrait de Python 2.7 dans les dépôts, seule la branche 3 est maintenue dorénavant. Enfin, cela est vrai pour l’implémentation de référence, il reste possible de le faire via PyPy qui fourni toujours un support de la version 2.7 via le paquet pypy. Pour rappel, Python 2.7 n’est plus maintenu depuis début 2020, mais ce maintien était nécessaire pour certains paquets qui n’avaient toujours pas terminé leur portage, en particulier le logiciel GIMP, cas abordé plus haut. Les autres paquets concernés n’étaient plus vraiment maintenus de fait et ont été retirés. Cela devenait nécessaire car avec la fin de support de RHEL 7 prochainement, plus aucun correctif pour Python 2 ne sera développé à l’avenir rendant la situation plus critique encore.

                  D’ailleurs Python bénéficie de la version 3.13. Cette version fournit un nouvel interpréteur interactif avec la coloration activée par défaut pour le prompt ou les erreurs. Il donne la possibilité d’avoir de l’édition multi-lignes qui est préservée dans l’historique. Les touches F1, F2 et F3 donnent respectivement l’accès à une aide interactive, à la navigation de l’historique de l’édition et à un mode de copie plus simple pour copier-coller de gros blocs de code. Les messages d’erreur sont également plus clairs.

                  En dehors de cela, Python dispose du tant attendu mode sans verrou global nommé GIL ce qui permet d’améliorer les performances et de faire de réels fils d’exécution parallèle dans un programme. Mais ce mode étant expérimental, il faut installer le paquet python3.13-freethreading et exécuter Python avec la commande python3.13t pour en profiter.

                  Le compilateur juste à temps n’est quant à lui pas fourni d’une façon ou d’une autre, cette fonctionnalité étant aussi expérimentale.

                  Python est aussi compilé avec l’optimisation -O3 activée, en ligne avec la manière de faire par le projet officiel et améliorant les performances. Selon le test pyperformance le gain de performance est en moyenne 1,04 fois plus rapide rien qu’avec cette option. Auparavant Python était compilé avec l’optimisation -O2 qui est moins agressive, cependant la nouvelle option augmente la taille des binaires concernés d’environ 1.2% (soit 489 kio).

                  Le framework d’écriture de tests en Python, Pytest se teste avec sa version 8. Cette version n’est pas compatible avec la version précédente, de nombreux éléments obsolètes sont maintenant traités comme des erreurs, et de même la façon dont les tests sont récupérés dans l’arborescence d’un code source a été modifiée ce qui peut poser différents problèmes.

                  En termes d’amélioration, il propose un meilleur affichage des diff en cas d’erreur lors de l’exécution d’un test, le rendant plus lisible et plus proche du visuel d’un différentiel généré à partir de la commande diff.

                  Mise à jour du langage Go vers la version 1.23. Cette version apporte la télémétrie pour collecter des données sur l’usage de la chaine de compilation Go aux développeurs du projet, par défaut dans Fedora la télémétrie est activée mais reste uniquement sur votre machine, rien n’est envoyé aux serveurs du projet. Ce comportement peut être changé dans les options.

                  Autrement, quand le temps de compilation est amélioré lorsqu’un profil d’optimisation est utilisé, passant d’un délai supplémentaire pouvant aller jusqu’au double du temps de compilation normal à maximum 10% supplémentaire maintenant. Les applications Go ont un usage de la pile qui est légèrement réduit tandis que pour l’architecture x86_64, au détriment d’une légère augmentation de la taille du binaire, les boucles peuvent avoir une amélioration de performances d’environ 1-1,5%.

                  Mise à jour dans l’écosystème Haskell GHC 9.6 et Stackage LTS 22. Le compilateur en lui-même propose de compiler le code pour être exécuté en tant que programme WebAssembly ou JavaScript. Les deux sont cependant considérés comme en développement et peuvent être sujets à des bogues. L’ensemble des messages d’erreur ont maintenant un code unique, permettant de simplifier la recherche d’une explication et d’une solution concernant celui-ci.

                  Le langage Perl passe à la version 5.40. Un nouveau mot clé __CLASS__ donne la classe d’exécution réelle dont l’instance d’objet est membre, ce qui est utile pour les constructeurs de classes enfants, car l’accès à $self n’étant pas autorisé dans ce contexte. Un autre mot clé :reader est proposé, ajouté à un membre de classe il permet de définir automatiquement une fonction du même nom que le membre, qui renvoie cette valeur. Un nouvel opérateur ^^ est disponible, étant l’équivalent de && et || mais pour la fonction logique ou exclusif.

                  Node.js 22 devient la version de référence, tandis que la version 20 et 18 restent disponibles en parallèle. Cette version propose entre autres un client Websocket natif sans dépendances additionnelles, une mise à jour habituelle du moteur JavaScript V8 vers la version 12.4 qui propose notamment un ramasse-miette WebAssembly. Les flux de données passent par défaut d’un buffer de 16 kib à 64 kib ce qui augmente les performances au détriment de la consommation de mémoire vive. Enfin le compilateur JIT Maglev fourni par le moteur V8 est activé par défaut, qui améliore les performances en particulier pour les petits programmes exécutés en ligne de commande.

                  Pour des raisons de changement de licence, le gestionnaire de bases de données clé-valeur Redis est remplacé par Valkey. En effet Redis a adopté la licence RASLv2/SSPL en remplacement de la licence BSD qui n’est pas une licence libre ce qui est en conflit avec les règles de Fedora concernant les licences des logiciels proposés dans ses dépôts. Valkey est un fork de Redis qui réutilise la même licence originelle. À ce jour pas d’incompatibilité est à prévoir pour les utilisateurs de ce logiciel, mais un paquet valkey-compat est proposé pour migrer la configuration et les données depuis Redis. Le changement est effectué automatiquement lors de la mise à niveau de Fedora pour ces utilisateurs.

                  La bibliothèque Python d’apprentissage profond Pytorch est éclairée avec sa version 2.4. Le changement majeur de cette version est la prise en charge de ROCm pour tirer parti de l’accélération matérielle de l’intelligence artificielle proposée par AMD. Il y a également une amélioration de performances pour ceux utilisant GenAI sur un CPU ou encore exécutant sur des processeurs AWS Graviton3 à base d’architecture Aarch64.

                  L’API engine de la bibliothèque OpenSSL est dépréciée car non maintenue tout en gardant une ABI stable. En effet cette API n’est pas conforme aux standards FIPS et n’est plus maintenue depuis la version 3.0 d’OpenSSL. Aucun nouveau paquet ne peut dépendre de celui-ci jusqu’à sa suppression définitive pour simplifier la transition. Le code lié à cette API est fourni par le paquet indépendant openssl-engine-devel pour ceux qui en ont besoin. L’objectif à terme est de simplifier la maintenance tout en réduisant la surface d’attaque.

                  Projet Fedora

                  L’édition de Fedora KDE pour l’architecture AArch64 est maintenant bloquante pour les sorties d’une nouvelle version. L’édition doit être suffisamment stable pour qu’une nouvelle version de Fedora Linux voit le jour. Cela était déjà le cas pour Fedora Workstation de cette architecture et pour Fedora KDE pour l’architecture x86_64. L’objectif est de garantir une certaine fiabilité pour ses utilisateurs.

                  Phase 4 de l’usage généralisé des noms abrégés de licence provenant du projet SPDX pour la licence des paquets plutôt que des noms du projet Fedora. Cela devait être l’ultime phase mais quelques contretemps repoussent à nouveau l’échéance. Cette étape et la suivante sont en fait la conversion massive des paquets vers le nouveau format, comme rapporté par ce document, la progression reste rapide et près de 98,5% des licences mentionnées dans les paquets sont déjà converties.

                  Les bibliothèques Java n’ont plus une dépendance explicite envers le runtime de Java pour simplifier la maintenance, rien ne change concernant les applications. L’objectif est d’éviter de spécifier une version spécifique de la version de Java pour du code qui finalement n’est pas exécuté directement, la dépendance revenant plutôt aux applications à ce sujet. Cela peut faciliter les utilisateurs ou mainteneurs d’utiliser différents JDK pour ces bibliothèques. Cela simplifie considérablement aussi la maintenance des paquets Java dans Fedora, car il n’est plus nécessaire de mettre à jour la valeur de la version du JRE requis.

                  Le paquet systemtap-sdt-devel n’a plus l’outil dtrace qui a été mis dans le paquet systemtap-sdt-dtrace. L’objectif est de supprimer la dépendance Python dans ce paquet qui est utilisé pour l’image de compilation des paquets de Fedora. Plusieurs centaines de paquets peuvent ainsi être générés plus rapidement par cette dépendance en moins.

                  Ajout d’une tâche de nettoyage lors de la génération des paquets RPM pour améliorer la reproductibilité des paquets. Depuis quelques années Fedora fait un effort pour rendre la conception de ses paquets reproductibles. L’objectif est qu’un utilisateur devrait être en mesure de recompiler un paquet de son côté avec le fichier spec RPM + sources additionnelles de Fedora et obtenir exactement le même paquet, au bit près, garantissant que le paquet a été généré avec ces éléments sans altérations malveillantes. Cela peut également faciliter le développement, car il rend la comparaison entre versions d’un paquet plus facile à analyser car seuls les changements dans le code sont différents et non des éléments annexes.

                  Un effort a été fait récemment qui repose notamment sur l’usage du programme add-determinism pour retirer du code source des éléments non déterministes comme la date de compilation. Ce programme est appelé à la fin de la génération du paquet. Fedora n’a pas réutilisé le travail de Debian à base du script strip-nondeterminism qui est un script Perl qui ajouterait une dépendance relativement lourde pour générer tous les paquets de Fedora.

                  Mise à jour de createrepo_c à la version 1.0 qui gère la génération des métadonnées des dépôts de Fedora. Les versions stables et Rawhide de Fedora vont partager maintenant la même configuration des métadonnées, ce qui rendra la maintenance côté infrastructure plus simple et cohérente. Toutes les métadonnées sont compressées, avant seulement les métadonnées primaires l’étaient pour les versions stables de Fedora par exemple. Certaines données ou métadonnées étaient compressées suivant différents algorithmes :

                  • gzip pour les métadonnées des dépôts ;
                  • XZ pour les données XML concernant les mises à jour dans les dépôts concernés.

                  Maintenant tout cela utilise l’algorithme zstd ce qui devrait améliorer un peu la bande passante et la consommation d’espace de stockage. Il n’est pas exclu de basculer à l’avenir sur zlib-ng dans ce but.

                  Les fichiers sqlite renseignant la composition des dépôts n’étaient utiles que pour le gestionnaire de paquets YUM, avec son remplacement par DNF depuis quelques années il est inutile de les générer ce qui avait un coût en espace de stockage.

                  La communauté francophone

                  L’association

                  Logo de Boorsalinux-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 5 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 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 41 ?

                  Logo de Fedora Media Writer

                  Si vous avez déjà Fedora Linux 40 ou 39 sur votre machine, vous pouvez faire une mise à niveau vers Fedora Linux 41. 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 41.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Projets Libres ! Saison 3 épisode 3 : la fondation Eclipse

                  Pour ce troisième épisode du podcast Projets Libres depuis la rentrée, nous recevons Gaël Blondelle pour parler de la fondation Eclipse.

                  Logos Podcast Projets Libres et Fondation Eclipse

                  Avec Gaël, qui est un des dirigeants exécutifs de la fondation et membre du board de l'Open Source Initiative (OSI), nous parlons des sujets suivants :

                  • l'histoire et la création de la fondation
                  • les raisons de son déménagement en Europe et sa forme juridique
                  • à quoi sert une fondation ?
                  • Eclipse et la souveraineté digitale européenne
                  • les principaux projets hébergés par la fondation Eclipse
                  • la collaboration avec les autres fondations dans le cadre du Cyber Resilience Act (CRA)
                  • constituer un lobby européen de l'Open Source
                  • le futur de la fondation

                  Bonne écoute !

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Des nouvelles de Unvanquished

                  La dernière dépêche sur le jeu Unvanquished a été publiée ici en 2023, pour son dixième anniversaire. La dernière version annoncée ici était la version 0.53, en 2022. Alors que nous sommes à deux mois de 2025 et à quelques jours de la prochaine version 0.55, c’est l’occasion de faire un point sur ce qui s’est passé ces dernières années et d’ajouter un épisode à la série « des nouvelles de [votre jeu préféré] » et de faire suite à celui sur Xonotic.

                  Unvanquished

                  Laisse-moi sortir de là ! — réclame la version 0.55…

                  Unvanquished est un jeu de stratégie en temps réel (RTS) à la première personne (FPS) où des extraterrestres évolutifs et des humains lourdement armés s’affrontent pour leur survie. Son développement, basé sur Tremulous, a commencé en 2011.

                  Sommaire

                  Quelques nouvelles en vrac

                  Un nouveau lanceur

                  En prévision de la prochaine version 0.55 qui arrive (deux « release candidates » ont déjà été publiées), le « lanceur » (aussi appelé « updater ») a été mis à jour en juillet dernier.

                  Le lanceur est le moyen recommandé d’installer Unvanquished : il permet une intégration optimale avec le système (possibilité de cliquer sur des liens pour lancer une partie) et propose la mise à jour du jeu quand une nouvelle version est disponible. Le lanceur sait aussi se mettre à jour et c’est ce qui a été fait en juillet.

                  Des améliorations graphiques

                  L’année dernière le projet Unvanquished avait annoncé être en recherche d’un développeur spécialisé dans les moteurs de rendus. Reaper a rejoint l’équipe et a réalisé un gros travail : débugage et finalisation des miroirs récursifs et d’autres choses. Il fait aussi progresser le moteur pour tirer partie d’OpenGL 4.6 et autre techniques avancées (« bindless textures », etc.).

                  Un explorateur de serveur minimaliste

                  Viech a publié un explorateur de serveur de jeu minimaliste qui tient dans la barre de notification (tray browser). C’est à la fois simple et pratique.

                  Des vidéos et un compte Mastodon

                  Diverses vidéo montrant les avancées du développement ont été publiées sur la chaîne Youtube d’Unvanquished, c’est l’occasion de rappeler l’existence de cette chaîne : https://www.youtube.com/@UNVofficial

                  Pour ceux qui préfèrent Peertube, qui permet aussi de s’abonner aux chaînes à travers Mastodon et plus globalement le Fédiverse, avec la publication de certaines parties : https://vdo.unvanquished.greboca.com/

                  Un compte Mastodon a été créé sur l’instance idtech.space dédiée aux technologies id Tech et projets associés (le moteur d’Unvanquished dérive d’id Tech 3) : https://idtech.space/users/UNVofficial

                  Ce compte Mastodon s’ajoute aux comptes X et Facebook. Le public libriste sera peut-être plus intéressé par ce compte Mastodon.

                  Unvanquished, ARMé et dangereux

                  De nouvelles architectures

                  La version 0.54 de Unvanquished sortie en janvier 2023 avait été la première à être jouable autrement que sur PC (x86 et x86-64), en proposant des binaires pour les processeurs ARM (sous Linux seulement pour l’instant).

                  Côté moteur la version 0.54 avait reçu de nombreuses optimisations pour mieux tourner sur des machines moins performances, par exemple, Certaines ressources logiciels optionnelles comme les deluxemaps ne sont plus chargées si désactivées, ceci économise non seulement le calcul, mais aussi la mémoire de la carte graphique. Les lightstyles peuvent être désactivés, ce qui peut accélérer le rendu graphique, etc. La compatibilité matérielle sera encore étendue avec la version 0.55.

                  À partir de la version 0.54 tous les binaires pour toutes les architectures matérielles et systèmes d’exploitation sont compilés dans des containers Docker, y compris les binaires macOS compilés dans un container Linux en utilisant Darling, Darling étant à macOS ce que Wine est à Windows. La version 0.55 sera produite de la même manière.

                  La version 0.55 apportera la compatibilité pour un nouveau système d’exploitation ! 🤫️

                  Interface, jouabilité et bots

                  Chargement de carte

                  Le nouvel écran de chargement des cartes.

                  L’interface avait été revue à l’occasion de la version 0.54 :

                  • Nouvelles icônes d’inventaire contribuées par Nanaa, Gireen et Bob Vador
                    Ces icônes donnent un coup de fraîcheur, on distingue mieux les deux types de grenades et les armures ainsi que le mode de déplacement.
                  • L’écran de chargement des cartes affiche le nom de la carte et des auteurs (si renseigné) depuis les métadonnées. Historiquement, les artistes inscrivaient ces informations sur l’image d’illustration de la carte avec un logiciel de dessin… (!!!)
                  • La version 0.55 apportera des modifications d’interface réalisées par Grise.

                  Côté jouabilité, la version 0.54 avait corrigé le momentum négatif qui était particulièrement pénalisant. Le momentum, est généré par les Leech (Alien) ou les Drills (Humain). Il faut qu’il y ait assez de momentum pour pouvoir construire d’autres éléments.

                  La version 0.54 a apporté toute une série de nouveautés au niveau des bots (entités qui remplacent les joueurs afin de compléter les équipes) :

                  • Amélioration de l’évitement d’obstacles pour les bots.
                  • Les bots peuvent viser des cibles situées sur des navmesh différents.
                  • Certains bots n’hésiteront pas à sauter pour atteindre une cible en hauteur, d’autres se retiennent d’exécuter une attaque qui pourraient les blesser si la cible est trop proche…

                  Depuis quelque temps, le développement des bots suscite un regain d’intérêt. La version 0.55 ne sera pas la plus riche à ce sujet car elle apportera surtout des améliorations du moteur. Le développement de gameplay ne s’est pas ralenti mais s’est surtout focalisé sur des mods dont il faudra fusionner les avancées dans le tronc commun après la sortie de la version 0.55. Ces améliorations de gameplay sont déjà jouables sur des serveurs en ligne.

                  L’amélioration du comportement des bots à permis un nouveau type de jeu : Le PVE. C’est à dire que les joueurs peuvent jouer ensemble contre l’ennemi piloté par le serveur. Certaines cartes ont été créées spécifiquement pour ce type de jeu, et d’autres ont été adaptées à l’aide de layout qui étaient déjà utilisés pour créer des variantes de parties.

                  La version 0.54.1 n’avait pas vraiment proposé de modifications des données, il s’agissait surtout de publier des correctifs de bugs gênant du moteur. La version 0.55 viendra avec une mise à jour des données et donc avec les corrections attendues. Par exemple un bug dans la chaîne logicielle de conversion d’images avait produit des artefacts dans certaines textures, ce sera corrigé dans la version 0.55.

                  La danse des submodules

                              _________________
                             /                 \
                            |         ✝         |  
                            |                   |
                            |      beloved      |
                            |     submodule     |
                            |                   |
                            |    2017-12-30     |
                            |     2023-04-11    |
                            |                   |
                            |       R.I.P.      |
                            |                   |  🄵
                    (,,)é   |                   |   ɘ̀(⹁⹁)  ɘ̀(⹁⹁)
                  ////////////////////////////////////////////////
                  

                  Press F to Pay Respects!

                  Tous ceux qui doivent traiter avec Git savent que les submodules sont très pratiques mais parfois bien ennuyeux. Un travail de fond réalisé sur les outils de production des données a permis la réintégration du dossier source unvanquished_src.dpkdir. Le générateur de code CBSE qui produit la plomberie pour la logique de jeu a été réintégré aussi. Cela rend plus facile de travailler sur des mods en évitant de devoir gérer plusieurs dépôts différents.

                  Contributions

                  Unvanquished recrute
                  Voulez-vous en savoir plus ?

                  Comme vous le voyez, ce cycle de développement a aussi vu de nouveaux contributeurs apporter leur concours au projet. Certaines de leurs améliorations ont déjà été publiées dans la version mineure 0.54.1, d’autres arriveront avec la version 0.55.

                  Récement, le développeur Slipher qui est un des développeurs Unvanquished les plus prolifiques et les plus fidèles a étendu ses activités au moteur de rendu et a rejoint la petite élite de ceux qui savent comment le moteur fonctionne. Il a corrigé entre autre le rendu de vidéo sur des surfaces et une fonctionnalité de sprites.

                  La liste de régressions depuis le désormais lointain ancêtre d’Unvanquished, Tremulous, est maintenant réduite à peau de chagrin.

                  Des traductions !

                  La grosse nouveauté de la version 0.54.1 publiée en décembre 2023 a été de proposer à nouveau des traductions intégrées au jeu. L’outil de traduction est gracieuseuement hébergé par Weblate.

                  L’interface Weblate

                  L’interface de traduction Weblate.

                  Il y a longtemps, le jeu était traduit, mais suite à de très profonds changements (par exemple le remplacement total de la technologie utilisée pour faire des menus, désormais sous RmlUi), l’effort de traduction avait été interrompu.

                  La traduction francophone est bien avancée, mais la traduction en breton a besoin de plus de contributions. Si vous souhaitez contribuer votre langue régionale, vous êtes les bienvenus, c’est ici que cela se passe !

                  La 0.55 arrive !

                  Préparez votre souris et votre clavier, la version 0.55 arrive très bientôt.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Le Lama déchaîné ou la nouvelle campagne de soutien financier de l'April

                  2015 est la date de la dernière campagne d’adhésion de l’April. Neuf ans sans recrutement, il était temps de s’y remettre. Mais la formule change en cette année 2024 !

                  Mais commençons par le début :

                  L'April, c’est l’association qui promeut et défend le logiciel libre et les libertés informatiques. Au fur et à mesure des années, sa tâche s’est accrue, le nombre de dossiers à traiter, toujours plus urgents les uns que les autres, augmentant sans cesse. Et pourtant, depuis 2015, aucune campagne d’adhésions n’a été proposée…

                  L’April en difficulté financière

                  Depuis deux ans, notre situation financière n’étant plus à l’équilibre, il nous a paru opportun de relancer la machine en cette fin d’année. Pour finir sereinement l’année 2024, une somme de 20 000 € nous serait nécessaire.

                  Le Lama déchaîné

                  Pour cette nouvelle campagne, nous n’allons pas vous proposer un seul et unique texte, aussi encourageant soit-il, sur un site de campagne, mais neuf, un pour chacune de ces années sans sollicitation !

                  Ce défi a été fièrement et, nous espérons, dignement relevé par notre équipe devenue, pour un temps, une rédaction de journalistes. Soyez à l’affût, car à partir d’aujourd’hui et durant neuf semaines, chaque mercredi, paraîtra un exemplaire de ce magazine automnal, Le Lama déchaîné. Diverses rubriques vous présenteront les différentes actions de l’association durant toutes ces années ! Mais pas que, puisque nous avons invité également des plumes extérieures à l’April afin de parler du Libre et que nous vous confions quelques anecdotes rigolotes. Sans oublier les mots croisés et le concours de dessins générés !
                  Le Lama déchaîné

                  À vous de décider, numéro après numéro, si notre initiative est suffisamment convaincante pour susciter de votre part une adhésion ou, à minima, si elle vous encourage à faire de temps en temps un don ponctuel pour nous soutenir. Nous avons fait le choix de l’indépendance vis-à-vis des institutions en n’ayant recours à aucune subvention et le rescrit d’intérêt fiscal nous a été refusé deux fois.

                  Sans vos apports financiers, l’April ne pourrait pas agir aussi librement !

                  Découvrez le numéro 0 du Lama déchaîné

                  Numéro 0 car, en informatique, tout commence à 0.

                  Lisez-le, dévorez-le d’un seul coup, dégustez-le lentement un ou deux articles par jour, parcourez-le rubrique après rubrique, n’hésitez pas à participer à l’un des numéros suivants en proposant un dessin et, surtout, parlez-en autour de vous et relayez le plus possible !

                  Nous comptons sur chacun et chacune d’entre vous. Merci d’avance !

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Minetest, l'autre pays du minage - « Libre à vous ! » du 10 septembre 2024 - Podcasts et références

                  Deux-cent dix-septième émission « Libre à vous ! » de l’April. Podcast et programme :

                  • sujet principal : « Minetest : l’autre pays du minage »

                  • la chronique « Que libérer d’autre que du logiciel » avec Antanak, sur la pratique de double système d’exploitation

                  • la chronique « Pépite libre » de Jean-Christophe Becquet, vice-président de l’April, sur le thème « L’Accueillette : un outil d’autodiagnostic de lieux d’accueil »

                  Rendez‐vous en direct chaque mardi de 15h30 à 17h00 sur 93,1 FM en Île‐de‐France. L’émission est diffusée simultanément sur le site Web de la radio Cause Commune.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Haiku a 23 ans - Haiku R1 bêta 5 (partie 3 : documentation, finances et GSOC)

                  Les deux parties précédentes ont présenté les principales évolutions dans le code de Haiku. Mais le code ne fait pas tout.

                  Cette troisième (et dernière) partie présente les nouveautés dans la documentation, ainsi qu’un court aperçu du rapport financier et aux dons qui permettent à Haiku d’employer un développeur à plein temps de façon durable.

                  Enfin, elle présente la participation au Google Summer of Code et les travaux réalisés par les cinq étudiants encadrés par Haiku cette année.

                  Sommaire

                  Documentation

                  La documentation de Haiku se découpe en 3 parties principales : un manuel de l’utilisateur, une documentation d’API, et une documentation interne pour les développeurs qui travaillent sur les composants du système.

                  Ces documents sont complétés par de nombreuses pages et articles sur le site Internet, et deux livres pour apprendre à programmer en C++ avec Haiku, ou encore un document de référence pour la conception d’interfaces graphiques et un autre pour le style graphique des icônes.

                  Documentation d’API

                  La documentation d’API de BeOS était assez complète et de bonne qualité. L’entreprise Access Co Ltd qui a hérité de la propriété intellectuelle de BeOS a autorisé le projet Haiku à la réutiliser et à la redistribuer. Malheureusement, cette autorisation est faite avec une licence Creative Commons n’autorisant pas les modifications. Cette documentation ne peut donc pas être mise à jour, ni pour corriger les erreurs, ni pour ajouter des informations sur toutes les nouvelles fonctions ajoutées par Haiku ou les différences entre les deux systèmes.

                  Il est donc nécessaire de réécrire une nouvelle documentation à partir de zéro. Ce travail est assez ingrat lorsqu’il s’agit de re-décrire ce qui est déjà très bien expliqué dans la documentation existante. La nouvelle documentation a donc tendance à se concentrer sur les nouvelles fonctions, et il faut souvent jongler entre les deux documentations, le contenu des fichiers .h, et des exemples de code d’applications existantes pour découvrir toutes les possibilités offertes.

                  Il ne semble pas utile de lister chaque fonction ou méthode qui a été documentée. On peut mentionner une page d’explications sur la bibliothèque C standard, comprenant des liens vers les spécifications POSIX qui documentent déjà la plupart des choses, et quelques détails sur les différences avec d’autres systèmes.

                  Une autre nouvelle page documente les primitives de synchronisation qui sont disponibles pour le code s’exécutant dans le noyau.

                  Documentation interne

                  La documentation interne était à l’origine simplement une accumulation de fichiers dans divers format dans un dossier « docs » du dépôt Git de Haiku. Depuis 2021, ces fichiers ont été rassemblés et organisés à l’aide de Sphinx, qui permet de mettre à disposition une version navigable en HTML et de donner une meilleure visibilité à ces documents.

                  D’autres pages sont petit à petit migrées depuis le site web principal de Haiku, qui n’est pas un très bon support pour de la documentation, et bénéficiera un jour d’une refonte pour être plus tourné vers les utilisateurs que vers les développeurs.

                  Quelques nouvelles pages ajoutées cette année:

                  • Une documentation sur l’utilisation de divers outils de complétion de code automatique avec le code source de Haiku
                  • Une page présentant l’organisation du code source et les principaux dossiers et sous-dossiers
                  • La documentation de l’outil rc utilisé pour compiler les « resources » attachées aux exécutables a été intégrée
                  • Le système de fichier FAT a reçu également une page de documentation à l’occasion de sa réécriture

                  Un point sur le financement

                  L’association Haiku inc qui gère le compte en banque de Haiku publie chaque année un rapport financier.

                  Le financement provient principalement de dons des utilisateurs et soutiens de Haiku. Le projet reçoit également une compensation financière de Google pour le temps passé à encadrer les participants du Google Summer of Code (voir le paragraphe suivant). La contribution de Google cette année est de 3 300$.

                  Les plateformes de don les plus utilisées sont Paypal et Github sponsor. Ce dernier est recommandé car, pour les dons reçus via Github, c’est Microsoft qui paie les frais bancaires de la transaction. 100% de l’argent donné arrive donc sur le compte de Haiku. Tous les autres opérateurs ont un coût, soit fixe lors des retraits, soit un pourcentage de chaque don, soit un mélange des deux.

                  En 2023, l’association a reçu 25 422$ de dons et a dépensé 24 750$. Elle dispose d’une réserve confortable de 100 000$ (accumulés avant 2021, alors qu’il n’y avait pas de développeur salarié) ainsi que d’environ 150 000$ en cryptomonnaies.

                  Les dons en cryptomonnaies sont pour l’instant bloqués sur un compte Coinbase suite à des problèmes administratifs (le compte n’est pas correctement déclaré comme appartenant à une association, il faudrait donc payer un impôt sur le revenu lors de la conversion en vraie monnaie). Il semble difficile de contacter Coinbase pour régler ce problème.

                  Du côté des dépenses, le poste le plus important est le paiement de 21 000$ à Waddlesplash, développeur employé par Haiku inc pour faire avancer le projet Haiku. Il travaille à temps partiel et avec un salaire très bas par rapport au marché, comme cela a été fait pour les précédents contrats entre Haiku inc et d’autres développeurs. Les finances de l’association ne permettent pas encore d’assurer un emploi à plein temps avec un salaire correct sur le long terme (c’est faisable sur le court ou moyen terme à condition de puiser dans les réserves de trésorerie).

                  Le reste des dépenses concerne principalement le paiement de l’infrastructure (serveurs pour le site Internet, l’intégration continue, hébergement cloud pour les dépôts de paquets) pour environ 3 000$.

                  Il faut enfin compter environ 500$ de frais Paypal, puis quelques dépenses administratives (déclaration de changement d’adresse de l’association, déclaration d’embauche) pour des montants négligeables (moins de 10$ au total).

                  En 2024, l’objectif fixé en janvier était de récolter 20 000$ de dons supplémentaires. Cet objectif a été atteint dès le mois de juillet, et a donc été révisé pour tenter d’atteindre les 30 000$. Cela permettra de rémunérer Waddlesplash pour un plus grand nombre d’heures cette année, ou bien d’envisager l’embauche d’une deuxième personne si un ou une candidate se présente parmi les personnes contribuant au projet (l’embauche d’une personne extérieure ne se fera pas tant que l’association ne peut pas se permettre de proposer une rémunération raisonnable).

                  Google Summer of Code

                  Haiku participe au Google Summer of Code depuis 2007. Il s’agit d’un programme où des étudiants (et d’autres participants pas forcément étudiants, ces dernières années) sont payés par Google pendant deux mois pour découvrir la contribution à des projets de logiciels libres.

                  Ce programme a été monté par « l’Open source program office » de Google. Leur intérêt est de défendre leur image d’entreprise sympathique (bien mise à mal ces dernières années, c’est devenu un géant de la publicité en ligne et de l’aspiration des données personnelles), et de contribuer à la richesse d’un écosystème de logiciels libres dont ils bénéficient beaucoup. Cela permet aussi d’encourager des personnes à s’essayer au développement logiciel, facilitant indirectement le recrutement chez Google en augmentant le nombre de candidats. Ces justifications peuvent sembler hypothétiques ou très indirectes, mais elles ont convaincu Google d’attribuer un budget de quelques millions de dollars à ce programme.

                  Une équipe de Google choisit les projets de logiciel libres participants parmi de nombreuses candidatures. Chaque projet participant propose une liste « d’idées » (un peu sous la forme d’un sujet de stage) et a ensuite la responsabilité de choisir parmi les candidats qui ont répondu à cette offre (en respectant les critères de non-discrimination imposées par Google ainsi que les embargos imposés par les USA), et d’assurer l’encadrement des personnes sélectionnées. Google rémunère les participants, et dédommage les projets participants pour le temps investi.

                  Cette année les développeurs de Haiku encadrent cinq participants :

                  Calisto Mathias — Re-design de la fenêtre de recherche de fichiers

                  Le système de fichier BFS utilisé par Haiku permet l’exécution de requêtes (comme une base de données) exploitant les attributs étendus des fichiers, qui peuvent être indexés.

                  Ce système permet de faire beaucoup de choses, et la fenêtre de recherche du navigateur de fichier essaie d’en tirer parti. Cependant, l’interface résultante est trop complexe, et peu de personnes prennent le temps de concevoir des requêtes améliorant leur façon de travailler, se cantonnant aux quelques exemples fournis.

                  L’objectif de ce projet est de refondre l’interface de cette fenêtre pour obtenir quelque chose de plus intuitif, et également d’afficher en temps réel les résultats de la requête dès qu’elle est modifiée, pour encourager les utilisateurs à expérimenter avec des requêtes plus complexes.

                  Daniel Martin — Virtualisation matérielle accélérée avec NVMM

                  Haiku n’est pas encore parfait, et certaines tâches nécessitent encore l’utilisation d’autres systèmes d’exploitation. Une partie des utilisateurs ont donc une configuration en double boot, ou bien lancent Haiku dans une machine virtuelle.

                  L’objectif de ce projet est de permettre d’utiliser Haiku comme système principal, et de lancer les autres systèmes dans des machines virtuelles. Cela sera réalisé à l’aide d’un portage de NVMM, qui a été développé à l’origine par NetBSD et Dragonfly BSD. Cette bibliothèque a l’avantage d’être bien documentée et conçue pour faciliter son adaptation vers d’autres systèmes.

                  NVMM sera complétée par l’utilisation de QEMU qui pourra fournir un « front-end » à cette mécanique.

                  Diego Roux — Pilote pour les cartes sons virtuelles VirtIO

                  Pour les personnes utilisant Haiku dans une machine virtuelle, il est intéressant d’utiliser autant que possible la famille de périphériques VirtIO.

                  Il s’agit de périphériques virtuels conçus sans s’inspirer de matériel existant, et plutôt pour avoir l’interface la plus simple possible entre la machine virtualisée et son hôte.

                  Haiku dispose déjà d’un jeu de pilote Virtio relativement complet (réseau, stockage de masse, affichage graphique). Le but de ce projet est de compléter cet ensemble avec un pilote pour les cartes son VirtIO.

                  trungnt2910 — Portage de GDB

                  Haiku dispose de son propre débugger (appelé Debugger, de façon assez peu originale). Ce dernier présente une interface graphique confortable, mais une interface en ligne de commande beaucoup plus limitée. Il souffre également de quelques problèmes de performances et d’un manque de prise en charge des fichiers exécutables et bibliothèques compilés avec autre chose que GCC. Il est également incapable de faire du debug à distance ou de s’intégrer dans une interface graphique existante (par exemple au sein d’un IDE).

                  L’objectif de ce projet est de ressusciter la version de GDB ciblant Haiku. Cette version très ancienne était utilisée avant l’apparition du Debugger natif. Le projet est en bonne voie, le code d’interfaçage a été entièrement réécrit pour s’adapter aux versions modernes de GDB, et plusieurs évolutions et corrections ont été intégrées dans le système de debugging de Haiku (par exemple, pour mettre en pause tous les threads nouvellement créés afin que le debugger puisse les intercepter).

                  Zardshard — Migration du navigateur web WebPositive vers WebKit2

                  Le navigateur WebPositive utilise le moteur de rendu webKit. Actuellement, il s’interface avec ce moteur via l’API WebKitLegacy. Cette API exécute tout le moteur de rendu web dans un seul processus, et ne fournit pas les garanties d’isolation nécessaires pour les navigateurs web modernes (que ce soit en termes de sécurité, ou en termes de fiabilité).

                  L’objectif de ce projet est de reprendre les travaux déjà entamés en 2019 pour migrer WebPositive vers la nouvelle API « WebKit2 », et bénéficier d’une séparation entre l’interface graphique, la communication réseau, et le rendu HTML/CSS/JavaScript dans des applications séparées. Ainsi, un crash d’un de ces composants peut être récupéré de façon transparente sans faire disparaître toute l’application (et les données non enregistrées de l’utilisateur avec).

                  Le projet est également en bonne voie, un navigateur de test permet déjà d’afficher quelques pages ce qui montre que les bases sont en place. Il reste à régler de nombreux problèmes de rendu de texte, ainsi qu’à implémenter la gestion des entrées (clavier et souris) pour avoir un navigateur web utilisable. Il faudra ensuite migrer WebPositive vers ces nouvelles APIs.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Haiku a 23 ans - Haiku R1 bêta 5 (partie 1 : applications)

                  Haiku est un système d’exploitation libre destiné aux ordinateurs personnels ou de bureau (pas de serveurs, pas de systèmes embarqués, pas de tablettes ni de téléphones). Il s’agit au départ d’une réécriture libre de BeOS, préservant la compatibilité binaire avec ce dernier (les applications BeOS peuvent tourner sur certaines versions de Haiku).

                  Le projet Haiku (au départ nommé OpenBeOS) a démarré officiellement le 18 août 2001 avec le premier message sur la liste de diffusion : Ok, let's start (OK, allons-y). Cet anniversaire est l’occasion de faire un point sur les développements de l’année dans Haiku et ce qui est en préparation.

                  La dépêche a été un peu retardée cette année, pour être synchronisée avec la version R1 bêta 5 de Haiku, publiée le vendredi 13 septembre 2024.

                  Le projet emploie un développeur presque à plein temps depuis 2021 et le reste de l’équipe contribue bénévolement. La dernière version bêta a été publiée fin 2023 et la Bêta 5 est désormais disponible : l’occasion de revenir en trois parties sur ce que propose Haiku, d’abord des applications, un noyau et des améliorations de la documentation.

                  Sommaire

                  Près de 350 tickets ont été clos dans le cadre du travail sur la version R1 bêta 5. Il y a bien sûr de très nombreuses corrections de bugs, qui ne seront pas listées dans cet article. On se concentrera plutôt sur les nouveautés, sauf dans les cas où la correction est vraiment importante ou permet d’ouvrir de nouvelles possibilités d’utilisation.

                  Applications

                  Haiku est un système d’exploitation complet, fourni avec un certain nombre d’applications permettant d’accomplir les tâches les plus courantes. En plus de ces applications de base, le gestionnaire de paquets HaikuDepot, alimenté principalement par le travail du projet HaikuPorts, apporte à la fois des applications portées depuis d’autres systèmes et des applications développées spécifiquement pour Haiku.

                  De façon générale, on trouve cette année dans les applications de Haiku des améliorations sur le rendu des nombres, l’utilisation d’un symbole de multiplication à la place d’une lettre x là où c’est pertinent, et de nombreuses petites corrections et améliorations sur la mise en page des fenêtres, des corrections de problèmes de traduction et ainsi de suite.

                  AboutSystem

                  AboutSystem est la fenêtre d’information sur le système Haiku. Elle fournit quelques informations sur la machine sur laquelle le système fonctionne (quantité de RAM, marque et modèle du CPU, uptime) ainsi que les noms des développeurs et autres logiciels libres ayant participé au développement de Haiku.

                  Cette application reçoit tout d’abord une mise à jour cosmétique : si le système est configuré en « mode sombre », le logo Haiku correspondant (avec un lettrage blanc et des dégradés de couleurs un peu différents) sera utilisé. Sinon, ce sera le logo avec lettrage noir.

                  AboutSystem en mode clair
                  AboutSystem en mode sombre

                  Elle reçoit également quelques mises à jour de contenu : en plus de l’ajout de quelques nouveaux contributeurs qui ont rejoint le projet, on trouvera maintenant un lien vers la page web permettant de faire un don à Haiku. Plusieurs liens vers des bibliothèques tierces utilisées dans Haiku, qui ne fonctionnaient plus, ont été soit supprimés, soit remplacés par des liens mis à jour.

                  Enfin, il est désormais possible d’utiliser AboutSystem comme un « réplicant », c’est-à-dire de l’installer directement sur le bureau pour avoir en permanence sous les yeux les statistiques sur l’utilisation mémoire et l’uptime ainsi que le numéro de build de Haiku en cours d’exécution (ce qui peut être utile par exemple lorsqu’on lance beaucoup de machines virtuelles avec des versions différentes de Haiku pour comparer un comportement, ou si on veut stocker des captures d’écran de plusieurs versions et s’y retrouver facilement).

                  CharacterMap

                  L’application « table de caractères » permet d’étudier de près les différents glyphes et symboles présents dans une police de caractères. En principe, elle permet de choisir une police spécifique, mais le serveur graphique de Haiku substitue automatiquement une autre police si on lui demande d’afficher un caractère qui n’est pas disponible dans la police demandée.

                  Cela peut être gênant dans certains contextes, par exemple si on envisage d’embarquer une police dans un fichier PDF, il est difficile de savoir quelle police contient vraiment les caractères qu’on veut utiliser.

                  L’application a été améliorée pour traiter ce cas et affiche maintenant ces caractères en grisé.

                  CharacterMap affichant des caractères manquants

                  CodyCam

                  CodyCam est une application permettant de tester une webcam et de l’utiliser pour envoyer périodiquement des images vers un serveur HTTP.

                  L’évolution principale a été la mise à jour de l’icône de l’application. L’utilité de CodyCam est limitée par le manque de pilotes : il faudra soit trouver une webcam Sonix du début des années 90, seul modèle USB à disposer d’un pilote fonctionnel, soit utiliser un ordiphone Android équipé d’un logiciel permettant de le transformer en caméra IP (ou encore une vraie caméra IP).

                  Le pilote pour les WebCams UVC — standard utilisé pour les caméras USB modernes — n’est pas encore au point et n’est pas inclus dans les versions publiées de Haiku.

                  Debugger

                  Debugger est, comme son nom l’indique, le debugger de Haiku. Il est développé spécifiquement pour le projet sans s’appuyer sur les outils existants (gdb ou lldb). Il dispose à la fois d’une interface graphique et d’une interface en ligne de commande, plus limitée. Cette dernière est surtout utilisée pour investiguer des problèmes dans les composants de Haiku qui sont nécessaires pour l’utilisation d’une application graphique : app_server, input_server ou encore registrar.

                  La version en ligne de commande a reçu quelques petites améliorations, mais la principale nouveauté est la prise en charge des formats DWARF-4 et DWARF-5 pour les informations de debug. Cela permet de charger les informations générées par les versions modernes de GCC, sans avoir besoin de forcer la génération d’une version plus ancienne du format DWARF.

                  Le désassembleur udis86, qui n’est plus maintenu et ne reconnaît pas certaines instructions ajoutées récemment dans les processeurs x86, a été remplacé par Zydis.

                  Enfin, un bug assez gênant a été corrigé : si une instance de Debugger était déjà en train de débugger une application et qu’une deuxième application venait à planter, il n’était pas possible d’attacher une deuxième instance de Debugger à cette application. Les problèmes impliquant plusieurs processus pouvaient donc être un peu compliqués à investiguer. C’est maintenant résolu.

                  Deskbar

                  L’application DeskBar fournit la « barre des tâches » de Haiku. Elle permet de naviguer entre les fenêtres et applications ouvertes, de lancer de nouvelles applications via un menu (similaire au « menu démarrer » de Windows), ou encore d’afficher une horloge et des icônes fournis par d’autres applications (sous forme de réplicants).

                  Elle fait partie, avec le Tracker, des applications qui ont été publiées sous license libre lors de l’abandon de BeOS par Be Inc.

                  Quelques changements dans la DeskBar :

                  • Tous les menus utilisent maintenant la police « menu » choisie dans les préférences d’apparence du système. Auparavant, la police « menu » et la police « plain » étaient mélangées. Ces deux polices étant identiques dans la configuration par défaut, le problème n’avait pas été repéré.
                  • Si un nom de fenêtre est tronqué dans la liste des fenêtres, le nom complet peut être affiché dans une infobulle.
                  • L’icône pour les fenêtres dans la DeskBar a été remplacée. La nouvelle icône indique plus clairement si une fenêtre se trouve dans un autre bureau virtuel (dans ce cas, activer cette fenêtre provoquera un changement de bureau).

                  GLTeapot

                  GLTeapot est une application permettant de tester le rendu OpenGL, en affichant un modèle 3D de la théière de l’Utah.

                  En plus de la théière, cette application affiche un compteur du nombre d’images affichées par secondes. Bien que les chiffres affichés ne soient pas du tout représentatifs des performances d’un rendu 3D réaliste, certains utilisateurs insistent lourdement pour pouvoir faire le concours de gros chiffres de nombre d’images par seconde.

                  Il est donc à nouveau possible de désactiver la synchronisation sur le rafraîchissement de l’écran, et demander au processeur de réafficher la théière plusieurs centaines de fois par seconde, bien que l’écran soit incapable de suivre le rythme. Par défaut, la synchronisation est activée et le rafraîchissement ne dépassera jamais 60 FPS, si toutefois le pilote graphique implémente les fonctions de synchronisation nécessaires.

                  HaikuDepot

                  HaikuDepot est un hybride entre un gestionnaire de paquets et un magasin d’applications.

                  Il se compose d’un serveur (développé en Java) fournissant une API REST et permettant de collecter les informations sur les applications (icônes, captures d’écrans, catégories, votes et revues des utilisateurs, choix de la rédaction pour les applications mises en avant…), d’un frontend web minimaliste et d’une application native C++ permettant d’afficher ces données.

                  La principale nouveauté est l’intégration du système de single-sign-on (SSO) permettant d’utiliser un compte utilisateur commun avec d’autres services en ligne de Haiku. Actuellement, l’outil de revue de code Gerrit
                  utilise ce même compte, mais ce n’est pas encore le cas pour Trac (outil de suivi des bugs) ni pour le forum. Ce sera mis en place plus tard.

                  De façon peut-être moins visible, mais pas moins importante, le code C++ de l’application a reçu de nombreuses améliorations et optimisations « sous le capot », rendant l’application plus rapide et plus fiable, mais qui sont un peu difficiles à résumer dans le cadre de cette dépêche.

                  Enfin, l’apparence de l’application a été légèrement retravaillée pour mieux s’adapter aux écrans à haute définition (ce qui nécessite d’avoir des marges et espacements de taille dynamique en fonction de la taille de texte choisie par l’utilisateur).

                  Icon-O-Matic

                  Capture d’écran de l’éditeur d’icônes

                  Icon-O-Matic est un éditeur d’icônes. Il permet d’exporter les fichiers au format HVIF, un format vectoriel compact qui permet de stocker les icônes dans l’inode d’en-tête des fichiers pour un chargement et un affichage rapide.

                  Cette application a bénéficié du travail de Zardshard pendant le Google Summer of Code 2023, elle a donc reçu plusieurs évolutions et corrections importantes (dont certaines sont mentionnées dans la dépêche anniversaire de l’année dernière).

                  Citons en particulier l’ajout d’un nouveau type de transformation, « perspective », qui permet de facilement déformer un ensemble de chemins vectoriels selon une projection de perspective, ce qui est assez utile pour concevoir plus facilement une icône avec un aspect tridimensionnel (bien qu’en pratique l’apparence habituelle des icônes de Haiku soit un intermédiaire entre une projection perspective et une vue isométrique, ne se prêtant pas forcément à l’utilisation de cette opération de transformation purement mathématique).

                  Une autre petite amélioration est l’ajout d’une vérification pour empêcher la fenêtre de Icon-O-Matic de se positionner en dehors de l’écran, par exemple si on a déplacé la fenêtre vers le bas de l’écran, enregistré cette position, puis relancé l’application dans une résolution d’écran plus réduite. Dans ce cas, la fenêtre sera automatiquement ramenée dans la zone visible de l’affichage.

                  Magnify

                  L’application Magnify permet d’afficher une vue zoomée d’une partie de l’écran. Elle peut servir pour améliorer l’accessibilité (mais n’est pas idéale pour cet usage), mais aussi pour les développeurs d’interfaces graphiques qui ont parfois besoin de compter les pixels pour s’assurer que leurs fenêtres sont bien construites.

                  En plus de l’affichage zoomé, l’application permet d’afficher l’encodage RGB de la couleur d’un pixel, ou encore de placer des « règles » permettant de vérifier l’alignement des objets. Ces dernières ont reçu une petite mise à jour, avec une amélioration de l’affichage de leur largeur et hauteur pour les rendre plus lisibles.

                  Magnify avec une 'règle'

                  MediaPlayer

                  L’affichage des sous-titres ne fonctionnait pas correctement, il manquait une partie du texte. C’est maintenant corrigé.

                  PowerStatus

                  Capture d’écran de PowerStatus: fenêtre principale et icône de la DeskBar avec son menu

                  L’application PowerStatus permet de surveiller l’état de la batterie pour les ordinateurs qui en disposent.

                  Elle a reçu plusieurs améliorations importantes :

                  Une notification a été ajoutée pour un niveau de décharge très faible (en plus du niveau faible déjà présent). Ces deux niveaux peuvent être paramétrés à un pourcentage choisi de décharge de la batterie, et associé à des sons d’alerte spécifiques. Avant ces changements, il était facile de ne pas voir le message d’alerte (affiché seulement pendant quelques secondes) ou de se dire qu’avec 15% de batterie on a encore le temps de faire plein de trucs, puis se retrouver un peu plus tard avec une batterie vide sans autre avertissement.

                  L’état « not charging » est maintenant détecté et correctement affiché, pour une batterie au repos : ni en train de se charger, ni en train d’alimenter la machine. C’est en particulier le cas d’une batterie déjà chargée à 100%, si la machine reste connectée au réseau électrique.

                  L’icône de statut de la batterie s’installe automatiquement dans la DeskBar au premier démarrage de Haiku sur les machines disposant d’une batterie.

                  Le réglage du mode « performance » ou « économie d’énergie" est enregistré et ré-appliqué lors des prochains démarrages (ces modes configurent l’ordonnanceur du noyau pour exécuter un maximum de tâches sur tous les cœurs du processeur, ou bien au contraire pour essayer de garder ces cœurs en veille autant que possible s’ils ne sont pas nécessaires).

                  SerialConnect

                  SerialConnect est une application de terminal série, utile principalement aux développeurs de systèmes embarqués et autres gadgets électroniques.

                  Elle est encore en cours de développement et propose pour l’instant les fonctions les plus basiques. Il est maintenant possible de coller du texte depuis le presse-papier pour l’envoyer sur un port série, ce qui est pratique si on veut envoyer plusieurs fois la même séquence de commandes.

                  ShowImage

                  ShowImage est la visionneuse d’images de Haiku. Elle utilise les traducteurs, des greffons avec une API standardisée qui permettent de convertir différents formats de fichiers entre eux.

                  L’interface graphique de ShowImage a été mise à jour pour utiliser le « layout system ». Historiquement, dans BeOS, tous les éléments des interfaces graphiques devaient être positionnés manuellement avec des coordonnées en pixels, ce qui est pénible à faire, surtout si on doit traiter tous les cas (polices de caractères de différentes tailles, remplacement des textes lors de traductions, utilisation de thème d’interfaces différents), et aussi lors d’évolution de l’application (si on veut insérer un élément en plein milieu, il faut souvent décaler tout ce qui se trouve autour).

                  Le « layout system » fournit un ensemble d’outils pour automatiser ce travail, soit à l’aide d’éléments prédéfinis (grilles, groupes, « cartes » superposées), soit à l’aide d’un système de définition de contraintes et de programmation linéaire.

                  D’autre part, ShowImage dispose maintenant d’un menu permettant d’ouvrir l’image affichée dans un éditeur d’images.

                  Terminal

                  Le Terminal de Haiku permet d’exécuter un shell (c’est bash par défaut) et toutes les applications conçues pour un affichage en console.

                  Les principaux changements cette année sont la correction d’un problème sur la configuration des couleurs utilisées par le Terminal (il y avait un mélange entre le nom anglais et le nom traduit des couleurs, empêchant d’enregistrer et de relire correctement le fichier de configuration), ainsi que des modifications sur les raccourcis clavier utilisés par le Terminal lui-même (en particulier pour naviguer entre plusieurs onglets) qui entraient en conflit avec ceux utilisés par les applications lancées dans le terminal.

                  Le terminal est également capable de traiter les « bracketed paste », c’est-à-dire que les applications en console sont informées que des caractères en entrée proviennent du presse-papier. Cela permet par exemple à bash de ne pas exécuter directement des commandes qui sont collées, mais de les mettre en surbrillance et d’attendre que l’utilisateur valide cette saisie.

                  D’un point de vue plus bas niveau, les pilotes TTY utilisés pour les ports série et pour le Terminal, qui étaient indépendants, ont été unifiés afin d’éviter de devoir corriger tous les bugs deux fois dans deux versions du code presque identiques.

                  Tracker

                  Tracker est le navigateur de fichiers de Haiku. Tout comme la DeskBar, il fait partie des quelques rares morceaux de BeOS qui ont été publiés sous licence libre par Be et ont donc pu être repris directement par Haiku. Contrairement à la DeskBar, la publication du code du Tracker avait conduit à l’apparition de nombreux forks, chacun améliorant à sa façon le logiciel. La version utilisée par Haiku provient principalement du projet OpenTracker, mais a réintégré ou réimplémenté au fil du temps les modifications faites dans d’autres variantes.

                  Le Tracker est un composant central de l’interface de Haiku et a donc reçu un nombre assez important d’évolutions :

                  La taille des fichiers est maintenant affichée à l’aide de la fonction string_for_size qui s’adapte aux conventions de la langue et du pays choisi par l’utilisateur.

                  Les brouillons de courrier électronique disposent maintenant de leur propre type MIME et de l’icône associée. Ils s’ouvriront dans un éditeur de mail plutôt que dans une fenêtre de lecture de message.

                  Pour les fichiers qui disposent d’un attribut « rating » (évaluation), ce dernier est affiché avec des étoiles pleines ou vides selon la note attribuée. La note va de 0 à 10 mais il n’y a que 5 étoiles. Le caractère demi-étoile permet d’afficher la note exacte avec les versions récentes d’Unicode (depuis 2018 en fait, mais il a fallu attendre la disponibilité dans une police de caractères).

                  Une fenêtre du Tracker, montrant la colonne taille et la colonne rating

                  La gestion des dossiers en lecture seule a été améliorée. Ils sont affichés sur fond gris (au lieu d’un fond blanc pour les dossiers modifiables) et tous les menus correspondant à des opérations non autorisées sont désactivés (au lieu d’être activés, mais d’aboutir sur une erreur car le dossier est en lecture seule).

                  Dans le même esprit, le bouton « ouvrir » des boîtes de dialogues d’ouverture de fichier est désactivé si le fichier sélectionné ne peut pas être ouvert (c’était déjà le cas, mais tous les cas possibles n’étaient pas bien pris en compte).

                  Un problème d’affichage sur le système de fichier packagefs a été corrigé : les dossiers n’ont pas de taille et affichent donc - au lieu d’une taille fixe de 4 Kio qui n’a aucune signification.

                  La fenêtre de recherche a reçu quelques évolutions, voir plus bas dans la section dédiée au Google Summer of Code, qui détaille le travail réalisé à ce sujet.

                  Le menu « templates », utilisé quand on fait un 'clic droit -> Nouveau…' et qui permet de créer différents types de fichiers et de dossiers à partir de fichiers de référence, peut maintenant contenir des sous-dossiers, pour les personnes qui utilisent beaucoup cette possibilité, avec par exemple des modèles de documents pré-remplis pour différents usages.

                  Enfin, un peu de nettoyage interne : les classes NavMenu et SlowContextPopup, qui permettent la navigation dans les sous-dossiers via des menus popup, ont été fusionnées en une seule classe car elles sont toujours utilisées ensemble. Cela simplifie le code pour l’affichage de ces menus, qui a quelques particularités pour permettre une navigation confortable même sur un disque dur un peu lent.

                  TV

                  L’application TV utilisée pour recevoir la TNT à l’aide d’un tuner approprié a été déplacée dans le paquet haiku_extras et n’est donc plus installée par défaut. La plupart des gens ne disposant pas d’un tuner compatible sur leur ordinateur, cette application était source de confusion et de nombreuses questions sur le forum.

                  WebPositive

                  WebPositive est le navigateur web de Haiku. Il utilise le moteur WebKit développé conjointement par Apple, Igalia et Sony principalement.

                  En dehors de la mise à jour du moteur vers une version plus récente, WebPositive reçoit actuellement peu d’évolutions, les développeurs étant malheureusement trop occupés par ailleurs. On peut toutefois mentionner une correction sur la barre de signets : celle-ci ne s’affichait jamais lorsque la langue du système était autre chose que l’anglais.

                  Zip-O-Matic

                  Zip-O-Matic est un outil permettant de créer une archive zip facilement depuis le Tracker. Il a reçu une amélioration qui est en fait une correction d’un problème qui existait depuis longtemps : l’archive créée est maintenant automatiquement sélectionnée dans le navigateur de fichier à la fin du processus, ce qui permet de facilement la retrouver pour la renommer, la déplacer ou l'envoyer à son destinataire.

                  Haikuports

                  Haikuports est un projet indépendant de Haiku, il se charge d’alimenter le dépôt de paquets. Au départ il s’agissait principalement d’un projet pour le portage de bibliothèque et de programmes venant d’autres systèmes (d’où son nom), mais il est également utilisé pour la plupart des applications natives développées pour Haiku.

                  Le dépôt de paquets contient actuellement 4193 paquets, il est mis à jour en continu par une petite équipe de bénévoles qui ne sont pas forcément tous développeurs, mais tout de même capables de faire les tâches de maintenance ainsi que le développement de quelques patchs simples.

                  Il est impossible de lister toutes les mises à jour et ajouts, le projet HaikuPorts étant très actif. Donc voici une sélection arbitraire de quelques nouveautés et mises à jour.

                  Applications natives

                  • Mises à jour de Renga (client XMPP), PonpokoDiff (outil de diff), 2pow (clone de 2048), StreamRadio (lecteur de podcasts), NetSurf (navigateur web léger)…
                  • Genio, un IDE pour Haiku avec gestion de la complétion de code via le protocole LSP (compatible avec les outils développés pour VS Code par exemple).
                  • Ajout de HaikuUtils, un ensemble d’outils de développement et de debug divers.
                  • WorkspaceNumber, un replicant pour afficher le numéro du bureau actif dans la DeskBar.
                  • KeyCursor, un outil pour contrôler le curseur de souris à l’aide du clavier.
                  • BatchRename, un outil pour renommer automatiquement des fichiers par lot.

                  HaikuUtils

                  WorkspaceNumber

                  PonpokoDiff

                  PecoRename

                  2pow

                  BatchRename

                  Applications portées

                  • Un gros travail a été fait sur le portage de KDE Frameworks et des applications l’utilisant. De très nombreuses applications Qt et KDE sont donc disponibles.
                  • Du côté de GTK, il n’existait pas de version de GTK pour Haiku, le problème a été résolu à l’aide d’une couche de compatibilité avec Wayland qui n’implémente pas le protocole Wayland mais réimplémente l’API de la libwayland. Les applications GTK arrivent petit à petit, mais l’intégration est pour l’instant beaucoup moins bonne qu’avec Qt, qui dispose lui d’un vrai port utilisant les APIs natives directement. L’apparence des applications est très visiblement différente, certaines touches du clavier ne fonctionnent pas. C’est donc encore un peu expérimental.
                  • Enfin, pour compléter les possibilités d’outils graphiques, la bibliothèque Xlibe implémente les APIs de la libx11 (mais pas le protocole de communication de X) et permet de porter les applications FLTK par exemple, ainsi que celles utilisant directement la libx11. Il reste encore des problèmes avec les applications utilisant Tk (si vous connaissez Tk ou X, les développeurs de Xlibe aimeraient bien un petit coup de main). En attendant, les applications Tk sont utilisables à travers un portage de undroidwish, mais ça reste peu confortable.

                  Du côté des compilateurs et des langages de programmation : LLVM a été mis à jour en version 17. GCC est disponible en version 13 et peut maintenant être utilisé pour compiler du FORTRAN et de l’Objective-C. Les dernières versions de Python sont disponibles, et en plus avec des performances améliorées. Node.JS est également mis à jour, ou si vous préférez le langage R, vous le trouverez également, avec son IDE associé rkward.

                  Bien sûr, la plupart des bibliothèques et outils disponibles sur d’autres systèmes sont aussi disponibles : ffmpeg (en version 6), Git, libreoffice, Wireshark…

                  Mentionnons enfin un pilote FUSE pour monter des volumes réseau NFS, qui vient compléter les deux implémentations de NFS présentes dans le noyau (une obsolète qui implémente NFS2, et une plus récente implémentant NFS4, mais qui est instable et pas activement maintenue actuellement).

                  GCompris

                  DrawTerm

                  KDE Mah Jong

                  NetBeans

                  Frogatto

                  CudaText

                  Cantor

                  Panneaux de préférences

                  Appearance

                  Les préférences « Appearance » permettent de configurer l’apparence du système et des applications : principalement les polices de caractères et les choix de couleurs.

                  C’est ce dernier qui reçoit une mise à jour en profondeur, avec l’ajout d’un mode automatique. Auparavant, chaque couleur utilisée par le système devait être configurée manuellement, ce qui permet un contrôle très fin, mais demande de passer un certain temps à faire des ajustements. Le mode automatique permet de configurer seulement 3 couleurs : le fond des fenêtres, les barres de titres, et une couleur d’« accentuation ». Les autres couleurs et nuances sont calculées automatiquement à partir de cette palette de base.

                  En particulier, il devient beaucoup plus facile de choisir un fond sombre pour se retrouver avec un système en mode sombre, très à la mode chez certain·e·s utilisateurices de Haiku.

                  Il est toujours possible d’activer le mode avancé pour affiner les réglages si nécessaire (ou si vous aimez les interfaces graphiques bariolées et multicolores).

                  Le mode automatique dans l’application Appearance

                  La même capture d’écran avec une configuration « mode sombre »

                  Keymap (disposition clavier)

                  L’application Keymap permet de configurer la disposition de touches du clavier. Le point qui a reçu un peu d’attention est la gestion de la configuration des touches modificatrices.

                  Haiku est un dérivé de BeOS qui lui-même a été au départ inspiré de Mac OS. On conserve de cet héritage l’utilisation des touches commande et option au lieu de meta et alt sur les claviers de PC. Mais BeOS et Haiku sont conçus pour être utilisés avec des claviers de PC. La touche commande qui prend la place de la touche ALT est donc celle utilisée pour la plupart des raccourcis claviers. Cela se complique si on essaie d’utiliser un clavier fabriqué par Apple (les codes de touches renvoyés par le clavier pour des touches situées au même endroit ne sont pas les mêmes), ou encore si on a besoin d’une touche AltGr (historiquement utilisée comme touche option par BeOS, mais aujourd’hui ce rôle est plutôt attribué à la touche windows apparue un peu plus tard). Une page sur le wiki de développement de Haiku tente de résumer l’historique et la situation actuelle.

                  La configuration des touches modificatrices est donc un sujet complexe, et il est probable que le comportement sera à nouveau modifié plus tard. Quoi qu’il en soit, en attendant, l’application Keymap permet toutes les permutations possibles de configuration de ces touches.

                  Screen (Affichage)

                  Les préférences d’affichage, en plus de permettre de changer la résolution d’écran, affichent quelques informations essentielles sur la carte graphique et l’écran en cours d’utilisation. Pour les écrans, ces informations sont généralement extraites des données EDID, mais il y a une exception : les dalles d’affichage des PC portables n’implémentent en général pas ce protocole. Les informations sont donc récupérées par d’autres moyens parfois moins bien normalisés. Par exemple, l’identifiant du fabricant est un code à 3 lettres. En principe, les fabricants doivent s’enregistrer auprès d’un organisme qui attribue ces codes, afin d’en garantir l’unicité.

                  Cependant, certains fabricants ne l’ont pas fait, et se sont choisi eux-mêmes un code qui semblait inutilisé. La base de données officielle réserve donc ces codes et en interdit l’utilisation, afin d’éviter des conflits. Il arrivait donc que le fabriquant d’un écran soit affiché comme étant « DO NOT USE », ce qui a inquiété quelques utilisateurs de Haiku se demandant s’ils risquaient d’endommager leur matériel.

                  Ces entrées de la liste sont maintenant filtrées et remplacées par les noms des fabricants de panneaux d’affichages concernés (lorsqu’on sait de qui il s’agit).

                  Outils en ligne de commande

                  Haiku est fourni avec un terminal et un shell bash (par défaut, d’autres shells peuvent également être utilisés). Les outils définis dans la spécification POSIX sont fournis, ainsi que des compléments permettant d’utiliser les fonctionnalités supplémentaires de Haiku.

                  df

                  La commande df affiche l’espace disque disponible sur chaque volume de stockage actuellement monté.

                  Les colonnes de l’affichage ont été réorganisées, pour être plus lisibles, et se rapprocher un peu du format spécifié par POSIX (mais pas complètement lorsqu’on lance la commande sans options particulières : des informations supplémentaires sont alors affichées).

                  filteredquery

                  L’outil filteredquery permet d’effectuer une requête sur les attributs étendus du système de fichiers (permettant de requêter le système de fichiers comme une base de données, plutôt que de naviguer de façon hiérarchique dans les dossiers), puis de filtrer le résultat pour ne conserver que les réponses contenues dans un sous-dossier spécifique. En effet, les requêtes étant indépendantes de l’organisation des dossiers, il est nécessaire de faire ce filtrage par post-traitement des résultats (ce qui reste tout de même généralement plus rapide que de faire l’inverse : parcourir tous les fichiers d’un dossier pour trouver ceux correspondant à un critère particulier).

                  Cet outil n’a pas reçu de nouvelles fonctionnalités, mais de nombreuses corrections et nettoyages qui le rendent véritablement utilisable.

                  ping, traceroute, telnet, ftpd

                  Ces commandes liées à des opérations sur le réseau ont été remplacées par les dernières versions développées par FreeBSD, permettant de bénéficier d’une version moderne, avec plus de fonctionnalités et moins de bugs.

                  La commande ping6 est supprimée, car ping peut maintenant utiliser l’IPv6 aussi bien que l’IPv4.

                  pkgman

                  L’outil pkgman permet de télécharger et d’installer des logiciels et des mises à jour.

                  Il a peu évolué, mais on peut tout de même noter l’utilisation d’un algorithme de tri « naturel » pour l’affichage des résultats dans l’ordre alphabétique (par exemple, llvm12 sera affiché après llvm9).

                  Une fonction qui n’est toujours pas disponible dans pkgman est le nettoyage des dépendances non utilisées. Un script fourni dans le dépôt Git de Haiku permet de réaliser manuellement une analyse des paquets installés sur le système pour détecter ceux qui n’ont pas de dépendances, il faudra pour l’instant se contenter de cette solution.

                  strace

                  L’outil strace permet d’afficher les appels systèmes effectués par une application, pour comprendre son interfaçage avec le noyau et investiguer certains problèmes de performances ou de mauvais comportements.

                  L’interfaçage avec le noyau pour extraire ces informations étant assez spécifique, l’implémentation de strace est faite à partir de zéro, et ne partage pas de code avec la commande du même nom disponible par exemple sous Linux.

                  strace est mis à jour régulièrement et en fonction des besoins des développeurs de Haiku pour décoder et afficher de plus en plus d’informations. Par exemple, elle peut maintenant afficher le contenu des iovec (par exemple pour les fonctions readv ou writev), ainsi que les objets manipulés par wait_for_object et event_queue.

                  Un exemple de sortie de strace (traçant l’ouverture d’un fichier et le chargement d’une bibliothèque partagée) avant ces changements:

                  open(0x5, "plaintext", 0x2042, 0x0) = 0x8000000f () (49 us)
                  map_file("libicuuc.so.66 mmap area", 0x7f04c2675228, 0x6, 0x1ababd0, 0x1, 0x0, true, 0x3, 0x0) = 0x329a0 () (108 us)
                  

                  et après :

                  open(0x5, "plaintext", O_RDWR|O_NOTRAVERSE|O_CLOEXEC, 0x0) = 0x8000000f Operation not allowed (57 us)
                  map_file("libicuuc.so.66 mmap area", [0x0], B_RANDOMIZED_ANY_ADDRESS, 0x1ababd0, B_READ_AREA, 0x0, true, 0x3, 0x0) = 0x73e8 ([0x6392223000]) (135 us)
                  

                  whence

                  La commande whence permettait de trouver dans le PATH un exécutable à partir de son nom. Elle était implémentée sous forme d’une fonction bash dans le fichier profile par défaut. Cependant, cette implémentation posait problème pour charger le fichier profile avec d’autres shells, elle a donc été supprimée. La commande which peut être utilisée à la place, puisqu’elle remplit un rôle équivalent.

                  Serveurs

                  Les serveurs sont l’équivalent des daemons pour UNIX ou des services sous Windows : il s’agit d’applications lancées par le système pour rendre différents services et coordonner l’ensemble des applications.

                  app_server

                  app_server est le serveur graphique de Haiku, équivalent de X ou de Wayland. Il se distingue par un rendu graphique fait principalement côté serveur (pour les applications natives), ce qui permet de l’utiliser de façon fluide à travers une connexion réseau.

                  Bien que ce soit le serveur graphique, et qu’il ait reçu plusieurs améliorations importantes, les différences sont subtiles. Elles sont toutefois importantes pour proposer un système qui semble réactif et confortable à utiliser.

                  Un premier changement est une réarchitecture du code qui traite le rafraîchissement de l’écran. Ce rafraîchissement se fait en général en plusieurs étapes, par exemple, si on déplace une fenêtre :

                  • Le contenu de la fenêtre déplacée peut être directement recopié de l’ancienne position vers la nouvelle,
                  • La zone où se trouvait la fenêtre auparavant doit être re-remplie avec ce qui se trouvait en dessous de la fenêtre déplacée. Cela peut être plusieurs morceaux de fenêtres d’autres applications, qui vont devoir chacune ré-afficher une partie de cette zone.

                  Le problème étant que certaines applications peuvent mettre un peu de temps à répondre à cette demande de ré-affichage (par exemple parce qu’elles sont occupées ailleurs, ou alors parce que la zone à redessiner est relativement complexe).

                  Différentes stratégies peuvent être mises en place dans ce cas : laisser à l’écran le contenu obsolète, ou remplir la zone en blanc en attendant que les données deviennent disponibles, par exemple. Ou encore, tout simplement ne rien mettre à jour du tout tant que tout l’écran n’est pas prêt à être affiché. Il faut faire un compromis entre la réactivité (déplacer la fenêtre tout de suite), la fluidité (éviter les clignotements de zones blanches) et la précision (affichage d’information cohérente et à jour).

                  Plusieurs modifications ont permis d’obtenir un meilleur compromis.

                  Dans un autre domaine, la police de caractères par défaut « Noto Sans Display » a été remplacée par « Noto Sans », ce qui donne un affichage du texte légèrement différent. La police « display » avait été choisie suite à une mauvaise compréhension de la signification de ce mot en typographie : il signifie que c’est une police de caractères à utiliser pour des gros titres et autres textes courts. Il ne signifie pas que c’est une police à utiliser sur un écran d’ordinateur. De toutes façons la police Noto Display n’est plus maintenue par Google et a disparu des dernières versions du jeu de polices Noto.

                  Toujours dans le domaine des polices de caractères, app_server sait maintenant charger les fichiers « variable fonts ». Ces fichiers contiennent plusieurs polices de caractères définies à partir de glyphes de base, et d’algorithmes de transformation et de déformation (pour rendre une police plus ou moins grasse, plus ou moins italique…). Pour l’instant, app_server sait charger les valeurs de ces paramètres qui sont préconfigurées dans le fichier. Cela permet de réduire la place utilisée par les polices de caractères sur le media d’installation de Haiku (c’est l’un des plus gros consommateurs d’espace disque, qui nous empêche de faire tenir une version complète de Haiku sur un CD de démonstration par exemple).

                  Plus tard, il sera également possible de configurer plus finement ces paramètres pour générer des variantes intermédiaires des polices de caractères, ainsi que d’exploiter certaines polices qui offrent des paramètres configurables supplémentaires.

                  input_server

                  L’input_server se charge de lire les données venant des périphériques d’entrée (clavier et souris) et de les convertir en évènements distribués aux applications. Il est extensible par des add-ons qui peuvent générer ou filtrer des évènements, ce qui peut être utilisé pour de l’accessibilité (émuler une souris à partir de touches du clavier), de l’automatisation (envoi de commandes pré-enregistrées), du confort d’utilisation (bloquer le touchpad d’un ordinateur portable lorsque le clavier est en cours d’utilisation) et bien d’autres choses.

                  L’input_server a reçu des corrections de problèmes sur la gestion des réglages de souris, permettant en particulier d’utiliser des réglages différents pour plusieurs périphériques (souris, touchpad), et que ceux-ci soient bien enregistrés.

                  registrar

                  Le serveur registrar suit les applications en cours de fonctionnement, et leur permet de communiquer entre elles au travers de l’envoi de messages. Il assure également le suivi de la base de données des types MIME et des associations de types de fichiers avec les applications correspondantes.

                  L’implémentation de BMessageRunner, qui permet d’envoyer des messages périodiques (par exemple pour faire clignoter le curseur des zones de texte à la bonne vitesse), autorise maintenant des intervalles de répétition en dessous de 50 millisecondes. Cela permet d’utiliser ce système pour des animations fluides de l’interface graphique, par exemple.

                  D’autre part, la liste des applications et documents récemment lancés est maintenant limitée à 100 entrées. Cela évite un fichier qui grossit indéfiniment et finit par contenir surtout des vieilles informations sans intérêt.

                  Kits

                  Le système Haiku fournit les mêmes APIs que BeOS. Elles couvrent les usages basiques d’une application, et sont découpées (dans la documentation de BeOS et de Haiku, au moins) en « kits » qui prennent chacun en charge une partie spécifique (interface graphique, multimédia, jeux vidéos, accès au matériel, etc).

                  Interface

                  L’interface kit est la partie de la bibliothèque standard qui se charge des interfaces graphiques.

                   BColumnListView

                  BColumnListView est un ajout de Haiku par rapport à BeOS. Il s’agit d’un élément d’interface permettant de présenter une liste avec plusieurs colonnes, de trier les lignes selon le contenu de ces colonnes, et aussi d’avoir des items hiérarchisés avec la possibilité de plier et déplier une partie de l’arborescence.

                  Cette classe remplace avantageusement BListView et surtout BColumnListView, les classes historiques de BeOS, qui sont beaucoup plus limitées.

                  Un certain nombre de type de colonnes prédéfinis sont également disponibles, ce qui facilite la construction d’interfaces présentant les données de différentes applications avec le même formatage.

                  La classe BColumnListView elle-même n’a pas changé. Par contre, les colonnes de type « taille » (pour afficher une taille en Kio, Mio, Gio…) et « date » utilisent la langue choisie dans les préférences système au lieu d’un format anglais par défaut.

                  BTextView

                  BTextView est une classe permettant d’afficher une zone de texte éditable. Elle implémente les fonctionnalités de base (curseur, sélection, retour à la ligne automatique) ainsi que quelques possibilités de mise en forme (couleurs, polices de caractères).

                  BTextView peut également être utilisée pour des zones de textes non éditables, souvent plus courtes. Cela permet de réutiliser une partie des algorithmes de mise en page et de formatage du texte dans différents contextes. Dans le cadre de l’utilisation du « layout system », une vue doit pouvoir indiquer sa taille minimale, maximale et optimale. Le « layout system » va ensuite calculer la meilleure disposition de fenêtre possible pour satisfaire ces contraintes.

                  Le cas des zones de texte est particulier, car la hauteur optimale dépend du nombre de lignes de texte, qui lui-même peut être plus ou moins grand si la largeur de la vue oblige à ajouter des retours à la ligne. Le « layout kit » prend en compte ce cas particulier, mais les algorithmes ne sont pas encore tout à fait au point et peuvent conduire à des résultats inattendus dans certains cas. Un de ces cas particuliers sur les zones de texte non éditables a été corrigé.

                  BMenu

                  La classe BMenu permet d’afficher un menu. Elle est utilisée de plusieurs façons, puisqu’on trouve des menus dans des barres de menu, dans des contrôles de type « popup », ou encore en faisant un clic droit sur certains éléments de l’interface.

                  Les menus sont également particuliers parce qu’ils peuvent d’étendre en dehors de la fenêtre dont ils sont originaires. Ils sont donc implémentés sous forme de fenêtres indépendantes. Mais cela pose un autre problème : dans Haiku, chaque fenêtre exécute son propre thread et sa propre boucle d’évènements. Si on navigue dans un grand nombre de menus et de sous-menus, cela peut causer quelques problèmes de synchronisation et de performances.

                  Le code contient également un grand nombre de cas particuliers pour, par exemple, aligner les raccourcis claviers et les flèches indiquant la présence de sous-menus ente les différents items d’un menu, ou encore détecter si un déplacement de souris a pour but de sélectionner un autre menu (en dessous ou au-dessus de celui actif), ou bien plutôt de naviguer vers un sous-menu.

                  Les nouveautés suivantes sont apparues cette année:

                  • Correction de problèmes de race condition lors de l’ajout d’items dans un menu pendant qu’il est affiché à l’écran. Ce problème se manifestait par exemple dans les menus affichant la liste des réseaux Wifi, qui sont mis à jour en temps réel.
                  • Finalisation de l’implémentation de la navigation au clavier (avec les flèches directionnelles) dans les menus.
                  • Affichage des symboles graphiques UNICODE pour « backspace » (⌫) et « delete » (⌦) si ces touches sont utilisées comme raccourcis clavier pour un item de menu.
                  • Utilisation d’un algorithme de tri stable pour la fonction SortItems. Ce type d’algorithme préserve l’ordre relatif des items qui sont égaux d’après la fonction de comparaison. Ce n’est pas le cas de certains algorithmes de tri classiques, notamment le quicksort. La conséquence était que trier un menu déjà trié pouvait changer l'ordre des items. C’était visible encore une fois sur le menu listant les réseaux Wifi, qui est trié par puissance du signal reçu.

                   BSpinner

                  BSpinner est un contrôle permettant de choisir une valeur numérique, soit à l’aide de boutons +/- pour modifier la valeur par incréments, soit en entrant directement la valeur dans une zone de texte.

                  Il s’agit d’une extension de Haiku par rapport à BeOS qui ne proposait pas cette fonctionnalité.

                  Cette classe est encore en cours de développement. Elle a reçu des améliorations pour désactiver correctement les boutons +/- lorsque la valeur atteint le minimum ou le maximum autorisé, et aussi une correction sur le message de notification envoyé lors des changements de valeurs du spinner, qui ne contenaient pas la bonne valeur.

                  rgb_color

                  La structure rgb_color permet de représenter une couleur par la valeur de ses composantes rouge, vert, bleu (comme son nom l’indique) et alpha (comme son nom ne l’indique pas). Elle fournit également un certain nombre de fonctions pour mélanger des couleurs, les éclaircir ou les assombrir.

                  La méthode Brightness() dans la classe rgb_color implémentante maintenant l’algorithme perceptual brightness documenté par Darel Rex Finley, qui donne des meilleurs résultats que l’algorithme utilisé précédemment (qui était celui de la luminosité dans l’espace de couleurs Y'IQ. La fonction perceptual_brightness devenue redondante est supprimée.

                  Cette méthode permet en particulier de déterminer si une couleur est « sombre » ou « claire », et ainsi de décider si du texte affiché par-dessus doit être blanc ou noir (comme démontré ici par exemple).

                  Locale

                  Le locale kit se charge de tous les aspects liés à la localisation : traductions des applications, formatage des messages en utilisant les règles de pluralisation de chaque langue, formatage de dates, de nombres avec et sans unités, de pourcentages, nom des fuseaux horaires…

                  Il utilise ICU pour implémenter la plupart de ces fonctionnalités, mais fournit une surcouche avec une API s’intégrant mieux avec les autres kits.

                  La principale évolution cette année est l’implémentation de BNumberFormat, qui permet de formater des nombres. Elle permet de choisir une précision (nombre de décimales - pour les langues qui utilisent un système décimal), d’afficher ou non des séparateurs de groupes (de milliers en français, mais par exemple en Inde la séparation se fait traditionnellement par multiples de 10 000).

                  Media

                  Le media kit se charge de tous les aspects multimedia.

                  Il se compose de deux parties. D’une part, un système de gestion de flux média temps réel, permettant de transférer des données multimédia (son ou flux vidéo par exemple) entre différentes applications qui vont les manipuler, le tout avec un certain contrôle du temps de traitement ajouté par chaque opération, pour tenter de minimiser la latence tout en évitant les vidages de tampons qui produiraient une interruption dans le flux. D’autre part, des classes permettant d’encoder et de décoder des fichiers média et d’en extraire des flux de données (encodées ou décodées).

                  C’est surtout cette deuxième partie qui a reçu quelques évolutions. La version de ffmpeg utilisée pour le décodage de presque tous les formats audio et video est maintenant la dernière version ffmpeg 6. Quelques autres problèmes (erreurs d’arrondis, gestion des tampons partiels en fin de fichier) ont également été corrigés, ce qui permet de faire fonctionner à nouveau le jeu BePac Deluxe qui est extrêmement intolérant au moindre écart de comportement par rapport à l’implémentation du Media Kit dans BeOS.

                  Support

                  Le support kit contient un ensemble de classes basiques mais indispensables : gestion des chaînes de caractères, des tampons en mémoire, etc. Il fournit les briques de bases utilisées par les autres kits.

                  BDataIO

                  BDataIO est une classe abstraite avec des fonctions de lecture et d’écriture. Plusieurs autres classes sont des instances de BDataIO, par exemple BFile (représentant un fichier), mais aussi BMemoryIO (permettant d’accéder à une zone mémoire).

                  Plusieurs autres classes acceptent BDataIO (ou sa sous-classe BPositionIO, qui ajoute la possibilité de se déplacer à une position donnée dans le flux) comme entrée ou comme sortie. Il est donc facilement possible de réaliser les mêmes opérations sur un fichier, une zone de données en mémoire, un socket réseau, ou tout autre objet susceptible de fournir une interface similaire.

                  BDataIO elle-même n’a pas évolué, mais deux de ses implémentations, BBufferedDataIO et BAdapterIO, ont été améliorées. Ces deux classes permettent de construire un objet BDataIO à partir d’un autre, en ajoutant un cache en mémoire pour accélérer les opérations ou encore pour rendre compatible avec BPositionIO un objet qui ne l’est pas.

                  Ces classes sont en particulier utilisées par l’application StreamRadio, qui implémente la lecture de podcasts en connectant directement le résultat d’une requête HTTP (effectuée grace au network kit) dans un décodeur audio (via la classe BMediaFile du media kit). La mise en tampon permet de revenir en arrière dans la lecture d’un épisode, de télécharger en avance les données qui vont être lues, et d’éviter de conserver inutilement en mémoire les données qui sont déjà lues par l’application.

                  Bibliothèques C

                  Les « kits » mentionnés ci-dessus sont l’API en C++ utilisée par les applications Haiku.

                  Il existe aussi des APIs en C, en grande partie implémentant la bibliothèque C standard et les fonctions décrites dans la spécification POSIX.

                  Libroot

                  Libroot implémente la bibliothèque standard C. Elle regroupe entre autres la libc, la libm, et la libpthread, qui sont parfois implémentées comme 3 bibliothèques différentes pour d’autres systèmes. Les évolutions consistent à compléter l’implémentation de la spécification POSIX, et à suivre les évolutions de cette dernière ainsi que des nouvelles versions du langage C. On trouve également des corrections de bugs découverts en essayant de faire fonctionner de plus en plus d’applications sur Haiku, ce qui permet de mettre en évidence des différences de comportement avec d’autres systèmes.

                  • Ajout de getentropy pour initialiser les générateurs de nombres aléatoires
                  • Correction de problèmes de locks au niveau de l’allocateur mémoire lors d’un fork
                  • Plusieurs corrections sur l’implémentation de locale_t, remplacement de code écrit pour Haiku ou provenant de FreeBSD par une implémentation simplifiée mais suffisante, provenant de la bibliothèque C musl.
                  • Ajout de static_assert en C11
                  • Correction d’un crash lors de l’utilisation de certaines fonctions XSI
                  • Ajout de stpncpy
                  • La fonction open utilisée sur un lien symbolique pointant vers un fichier non existant peut maintenant créer le fichier cible.
                  • Il est possible d’utiliser mmap sur un fichier plus grand que la mémoire disponible sans avoir besoin de spécifier le flag MAP_NORESERVE
                  • Utiliser rename pour renommer un fichier vers lui-même ne retourne plus d’erreur (conformément à la spécification POSIX).
                  • Ajout de pthread_sigqueue

                  Libnetwork

                  La libnetwork implémente les APIs nécessaire pour se connecter au réseau (sockets, résolution DNS…). Elle est séparée de la bibliothèque C pour des raisons historiques : l’implémentation de TCP/IP pour BeOS avait été réalisée entièrement en espace utilisateur (le noyau n’offrant qu’une interface pour envoyer et recevoir des paquets ethernet sur la carte réseau). Cela a posé des problèmes de compatibilité avec d’autres systèmes, et des problèmes de performance. Haiku est donc compatible avec la version "BONE" de BeOS, qui implémente la pile réseau dans le noyau.

                  • Mise à jour du résolveur DNS à partir du code de NetBSD 9.3. Précédement le code utilisé était celui du projet netresolv de NetBSD, mais ce projet n’a pas connu de nouvelles publications et le code est à nouveau maintenu directement dans NetBSD sans publication séparée.
                  • Correction d’un crash lors de l’utilisation de multicast IPv4

                  LibBSD

                  La libbsd implémente plusieurs extensions fournies par la libc de certains systèmes BSD. Elle est séparée de la bibliothèque C principale pour limiter les problèmes de compatibilité: certaines applications préfèrent fournir leur propre version de ces fonctions, ou d’autres fonctions avec le même nom mais un comportement différent. Elles peuvent alors s’isoler en n’utilisant pas la libbsd pour éviter toute interférence.

                  LibGNU

                  De façon similaire à la libbsd, la libgnu fournit des fonctions qui sont disponibles dans la glibc (la bibliothèque C du projet GNU) mais ne font pas partie d’un standard (C ou POSIX).

                  • Ajout de sched_getcpu pour savoir sur quel cœur de CPU le thread appelant est en train de s’exécuter.
                  • Ajout de pthread_timedjoin_np, pour attendre la fin de l’exécution d’un thread (comme pthread_join mais avec un timeout.

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  Entrevue avec Christophe Grenier, développeur de testdisk et photorec

                  testdisk et photorec sont deux outils libres (GPLv2+) formidables… que l’on souhaite pourtant ne jamais avoir à utiliser ! En effet, les deux sont dédiés à la récupération de données après une panne matérielle, ou une bévue.

                  TestDisk

                  Le premier est axé supports de stockage et leurs partitions, le second orienté récupérations de fichiers (mais il est loin de se limiter aux images).

                  Cocorico : le développeur de ces outils est français, et il a bien voulu répondre à notre sollicitation d’entrevue :).

                  Bonjour Christophe ! Pouvez-vous présenter votre parcours ?

                  Quand j’ai commencé à développer testdisk, mon premier outil de récupération de données, j’étais encore étudiant en école d’ingénieur.
                  Maintenant, cela fait plus de 20 ans que je suis diplômé de l’ESIEA, j’interviens d’ailleurs dans son Mastère Spécialisé Sécurité et Information des systèmes depuis 2004.
                  Après avoir travaillé dans la sécurité informatique, j’ai travaillé autours des systèmes Linux, du réseau et de la sécurité.
                  Depuis un peu plus de 10 ans, je suis directeur d’exploitation pour un hébergeur parisien.
                  Dans le cadre de mon auto-entreprise, je fais de la récupération de données.

                  Comment avez-vous démarré ce projet ?

                  Un ami développeur professionnel sous Windows venait d’acheter un nouveau disque dur et pour éviter d’avoir trop de lettres de lecteurs (C:, D:, E:, …) avait décidé de réduire le nombre de partitions de son disque de données ; ce disque contenait 3 partitions.
                  Il a sauvegardé les données, supprimé les 3 partitions, en a créé 2 et — au moment de restaurer les données — il s’est rendu compte qu’il avait été trop vite et qu’il lui manquait la sauvegarde d’une des partitions.
                  Sachant que j’avais des connaissances sur le partitionnement des PC (je m’étais intéressé au fonctionnement des virus de boot qui se logeaient dans le premier secteur des disques durs), il m’a contacté.

                  Armé d’un éditeur hexadécimal, il nous avait fallu la journée pour reconstruire manuellement la table des partitions et récupérer ces données. Un peu plus tard ayant appris les rudiments de la programmation en C, je me suis dit qu’il devait être possible d’automatiser la récupération des partitions et c’est ainsi qu’est né testdisk en 1998.

                  Pour photorec, il a fallu attendre mon premier appareil photo numérique en 2002. Ayant peur de perdre des photos (effacement par mégarde de photos non sauvegardées, reformatage de la mauvaise carte mémoire…), avant même de partir en voyage, j’ai bricolé un programme en C sous Linux capable de récupérer les photos et vidéos prises par mon appareil photo. C’est ainsi que photorec est né pour récupérer des photos. Il a gardé son nom même s’il récupère des centaines de formats de fichier différents.

                  Quels sont les points marquants qui ont, selon vous, marqué l’évolution de ces logiciels ?

                  Les points principaux ayant permis le succès de ces logiciels sont :

                  • de rendre ces logiciels multiplateformes pour PC : MS-Dos et Linux, puis Windows. La prise en charge de macOS est venu bien plus tard et a eu peu d’impact.
                  • de distribuer ces logiciels gratuitement. L’utilisation d’une licence opensource (GPL v2+) m’a aussi permis d’avoir quelques contributions.
                  • d’être plutôt à l’écoute des utilisateurs et d’enrichir les formats de fichiers gérés par photorec. Certains sont vraiment exotiques.
                  • de la documentation en plusieurs langues à une époque où les traductions automatiques étaient quasi-inexploitables. Mais aujourd’hui, la documentation principale de plus de 60 pages est en anglais.

                  Un point marquant a été la reconnaissance officielle de l’utilisation de ces logiciels par des organismes étatiques.

                  testdisk a été conçu pour un public technique, j’ai eu des retours de différents sociétés de récupération de données de part le monde l’utilisant mais en général, elles ne souhaitent pas communiquer sur leur utilisation de logiciels (libres ou du commerce).

                  Un tournant a eu lieu en 2014 quand le NIST, dans le cadre du Computer Forensics Tool Testing Program (CFTT), a testé et publié ses résultats sur les capacités de photorec. En comparant les résultats de chaque outil, on découvre que photorec a les meilleurs résultats (1ère place ex aequo).
                  Ainsi, photorec figure dans le catalogue de logiciels que les agences d’États américains peuvent utiliser.

                  photorec apparaît dans les diapositives de la formation SecNum Academie de l’ANSSI.

                  Pourquoi un seul paquet pour deux logiciels, ou pourquoi pas un seul logiciel ?

                  Quand on parle de testdisk et photorec, il y a aussi fidentify, un outil en ligne de commande qui permet de tester rapidement l’identification de fichiers en utilisant les mêmes parsers que photorec, sans oublier qphotorec, une version graphique de photorec.

                  Selon les distributions, vous pouvez avoir un package testdisk comprenant testdisk, photorec et fidentify et un package qphotorec pour qphotorec.

                  testdisk utilise un accès en écriture au disque, photorec n’utilise qu’un accès en lecture. photorec est plus facile d’utilisation que testdisk, c’est presque du next/next/next, il ne fait que du « file carving » (récupération de fichiers par identification des entêtes).

                  Quelles sont les fonctionnalités les plus attendues que vous pensez implémenter ?

                  La vérification formelle du code des parsers de photorec est ce qui m’a le plus occupé ces dernières années, je continue de travailler dessus.
                  Je n’ai pas prévu d’implémenter de nouvelles fonctionnalités dans l’immédiat.

                  Avez-vous des retours d’utilisateurs, des remerciements de personnes qui ont pu grâce à ces outils retrouver une partie de leur vie numérique, ou de grincheux ?

                  Perdre une partie de sa vie numérique est très stressant.
                  De fait, j’ai été confronté à des grincheux très agressifs dont un cas extrême de menaces répétées de mort de la part d’un individu qui n’avait pas pu récupérer ses données. Les hébergeurs de ses messageries successives ont agi rapidement lorsque j’ai signalé ses messages, mais je me suis posé la question à ce moment-là si cela valait bien la peine de m’investir autant pour risquer cette violence numérique.

                  Les retours positifs des utilisateurs et leurs remerciements sont ce qui a permis de me motiver à continuer de développer sur toutes ces années ce projet.
                  À une époque, je recevais quotidiennement des mails de remerciements et/ou des donations. C’est moins fréquent désormais, mais c’est peut-être parce que les sauvegardes vers le cloud sont beaucoup plus courantes et qu’ainsi les gens ont moins recours à la récupération de données.

                  Effectivement, perdre une partie de sa vie numérique est très stressant, avez-vous des conseils à donner sur la sauvegarde ?

                  Ce sont des conseils très généraux :

                  • que cela soit au niveau personnel ou au niveau professionnel, il est important de vérifier le périmètre de la sauvegarde. Si vous n’aviez plus que votre dernière sauvegarde, que vous manquerait-il ?
                  • testez une restauration de données
                  • si possible, multipliez les sauvegardes (sauvegarde avec historique ou versionning, pas une simple synchronisation)
                  • dans l’idéal, plusieurs lieux de sauvegarde.

                  Sur ces projets, y a-t-il d’autres contributeurs ?

                  testdisk et photorec reçoivent principalement des contributions ponctuelles. J’en profite pour remercier toutes les personnes qui m’ont aidé pour les traductions, pour avoir partagé des fichiers dans des formats exotiques, ou pour avoir contribué au code.
                  Merci aussi aux personnes ayant participé à la modération du forum et au modérateur actuel !

                  Y a-t-il des fonctionnalités importantes qui ne seront pas développées, et pourquoi ?

                  À moins de recevoir des contributions, je ne pense pas pousser davantage le support mac.
                  Le chiffrement des disques sous Windows va devenir la norme, comme c’est le cas sous macOS. Je pense que cela va freiner le développement de testdisk et photorec. La récupération va devenir bien plus complexe en exigeant un déchiffrement préalable.

                  Des souvenirs marquants de cette expérience ?

                  Je crois que l’une des anecdotes qui m’a le plus amusé est celle que j’ai reçue en janvier 2007 : dans un premier mail, l’utilisateur explique qu’un appareil photo a été volé dans sa voiture, mais qu’une semaine plus tard, la police a trouvé le coupable et a pu restituer l’appareil photo. Le contenu avait été effacé, mais grâce à photorec, l’utilisateur avait récupéré plus de 300 photos.

                  Currently I am recovering over 300 photos using PhotoRec that my sister in law took over the holidays. Our car was broken into and the camera was stolen. A week later the police found the guy! They found the camera, but it had been wiped.
                  I had read about recovering photo's from flash cards via a story on slashdot, and now here I am.

                  Quelques heures plus tard, j’ai reçu la suite de l’histoire :

                  I have recovered some pictures that look to be taken by the thief […]
                  I am submitting a CD of the data I have recovered to the Detective involved in the case. My little camera was involved in a much larger theft, so hopefully the pictures they took will help nail them all!

                  Le voleur avait utilisé l’appareil photo, photorec a permis de récupérer des photos ayant beaucoup intéressé le détective en charge du dossier : celui-ci espère découvrir les autres personnes impliquées dans un vol de plus grande envergure.

                  Avez-vous eu des échanges avec des éditeurs de logiciels similaires (opensource ou propriétaires) ?

                  photorec a été victime de plusieurs contrefaçons.

                  Dans un cas, un fabricant de carte mémoire a distribué un logiciel de récupération de données, ce fabricant avait sous-traité le développement qui avait « optimisé » son temps de développement en récupérant le code source de photorec, remplaçant tous les entêtes de copyright et ajoutant une interface graphique.
                  Après avoir contacté le fabricant, celui-ci a fait rétablir les copyrights manquants et le code a été distribué en GPLv3.

                  Dans d’autres cas, des développeurs ont volontairement publié des contrefaçons qu’ils revendaient. Après avoir fait fermer leur hébergement plusieurs fois, ils ont fini par trouver un hébergeur bullet-proof, un hébergeur qui ne répondait plus aux plaintes…

                  Concernant le forum, avez-vous déjà rencontré des difficultés avec le respect du code de conduite ?

                  La modération sur le forum est obligatoire, les spammeurs sont très nombreux et inventifs en réutilisant par exemple du contenu d’autres sujets. Aucun code de conduite n’a été formalisé.
                  Le forum ne tient plus que grâce à la présence d’un modérateur, je ne sais pas si cette partie du projet va perdurer.

                  Quel est votre modèle économique ?

                  Le projet est né comme un projet personnel et reste géré comme tel.
                  Je travaille chez Global Service Provider, une société de services et hébergement informatique, qui me permet de disposer gracieusement (Merci à eux) de machines virtuelles (VM), sauvegarde, monitoring pour le projet.
                  Diverses donations ponctuelles couvrent les frais des différents noms de domaine, mon équipement informatique personnel…

                  Au niveau personnel, quels logiciels libres utilisez-vous, sur quel système d’exploitation ?

                  À l’exception des raspberry pi sous Raspbian, les différents ordinateurs de la maison sont sous Fedora Linux.
                  J’utilise gnome comme environnement graphique, alpine et roundcube pour la messagerie, vim comme éditeur de texte, du docker avec moby, gcc, python…

                  Et au niveau professionnel ?

                  Mon ordi portable est aussi Fedora Linux.
                  Les serveurs Linux que mon équipe et moi gérons sont principalement sous AlmaLinux et Debian.

                  J’utilise tous les jours ansible (automatisation des configurations), git (versionning), netbox (gestion de datacenters), oxidized (sauvegarde réseau), mediawiki (documentation)…

                  Merci pour votre disponibilité, et pour ces merveilleux outils !

                  Commentaires : voir le flux Atom ouvrir dans le navigateur

                  ❌