❌

Vue lecture

Fedora Linux 45 est enfin disponible !

En ce mardi 3 novembre, les utilisateurs du Projet Fedora seront ravis d’apprendre la disponibilité de la version Fedora Linux 45.

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

L’environnement de bureau GNOME est proposé dans sa version 51.

Comme souvent lors des précédentes versions, l’amélioration des performances et de l’affichage sont à l’honneur. La capture d’écran est notamment plus rapide en évitant des opérations redondantes ou de copie de l’image, Mutter a retravaillé son ordonnancement de l’affichage qui permet aux animations d’être fluides même en cas d’usage intensif de la machine. Les anciens pilotes propriétaires de Nvidia ne sont plus pris en charge : outre la simplification du code, cela rend le sous-système plus robuste et efficace pour les autres pilotes. Cela ne concerne que les pilotes propriétaires nommés version 470 et inférieurs, le pilote libre nouveau peut être utilisé à la place dans ce contexte. Enfin le curseur de souris peut être rendu au format vectoriel plutôt qu’une image bitmap pour s’assurer de la qualité du rendu.

De même, les préférences bénéficient de nombreux changements. GNOME peut enfin tirer parti d’un éventuel accéléromètre pour effectuer une rotation automatique de l’affichage. Il est possible de bloquer cette rotation dans un sens particulier. Dans la même veine, il est possible de désactiver automatiquement le touchpad de l’ordinateur quand une souris externe est connectée. Côté sécurité, l’antique protocole de sécurité Wi-fi WEP n’est plus pris en charge tandis que les connexions distantes permettent d’utiliser un socket serveur SSH. L’interface pour l’enregistrement des empreintes digitales a été revue.

Le magasin d’applications Logiciels démarre plus rapidement en exploitant le cache des usages précédents et avec un rendu des icônes amélioré pour rendre l’opération plus rapide. La liste des permissions requises par une application est maintenant entièrement visible avant d’installer ladite application. Enfin si vous souhaitez installer une application qui ne reçoit plus de mises à jour, une alerte vous préviendra avant d’effectuer l’opération.

Le navigateur de fichiers n’est pas en reste, de nombreuses opérations longues comme une copie, un rafraichissement important, une recherche, etc. ne bloquent plus l’interface. Le rendu des gros dossiers ou des dossiers distants est également plus rapide. Les notifications de l’application sont également groupées.

Tandis que le navigateur Web propose une génération automatique de mots de passe aléatoires, sécurisés et longs en reposant sur la bibliothèque pwquality pour s’assurer de la qualité du résultat. Le gestionnaire de mots de passe est également plus fiable. La barre d’adresse a été retravaillée pour que la suggestion des moteurs de recherche lors d’une saisie ne pollue pas trop la liste des possibilités.

L’application Cartes permet enfin de télécharger les cartes d’une région pour effectuer un rendu hors ligne plus tard. Il affiche également beaucoup plus de données temps réel concernant les transports publics comme les départs ou arrivés à venir ou s’il y a du retard sur un trajet donné.

Alors que l’application Calendrier se focalise sur l’amélioration de ses performances, en particulier pour la vue mensuelle avec un calendrier chargé. La synchronisation des calendriers consommera moins de données. L’intégration avec Cartes a été renforcée pour lancer ce dernier si un événement a une localisation précise. Enfin l’édition des événements a été revue qui bénéficie d’une plus grande section de notes et une meilleure prise en charge des liens des réunions sur Microsoft Teams.

Le visionneur d’images Loupe affiche beaucoup plus de métadonnées de l’image, pendant que le prévisualiseur de documents a été porté sur GTK4 et libadwaita pour s’intégrer au reste de l’environnement tels que le mode sombre ou la prise en charge des affichages à haute densité de pixels. Enfin le visualiseur de documents Papers peut insérer des signatures effectuées avec la souris ou le touchpad.

Passage de l’utilitaire GNOME Keyring à oo7 pour l’accès et la gestion des données privées, comme les mots de passe. Ce changement introduit par le projet GNOME permet d’améliorer la gestion des permissions avec des applications qui n’ont accès qu’à certaines informations qu’il contient, mais aussi des secrets FIDO2. Les données enregistrées par GNOME Keyring sont automatiquement migrées vers oo7 ce qui rend cette transition transparente pour l’utilisateur.

Les versions atomiques bénéficient de l’interface web d’Anaconda pour l’installation du système. Cette nouvelle interface a été proposée dans Fedora Linux 42 pour l’édition Workstation. Ce changement permet d’avoir une procédure plus uniforme et de simplifier la maintenance de fait.

Ces mêmes versions peuvent bénéficier de l’installation distante via HTTPS à titre expérimental. Cela est possible grâce à l’apport du point précédent. Pour des raisons de sécurité cela n’est pas actif par défaut, il suffit de renseigner parmi les arguments du noyau au démarrage de l’image Live les options inst.webui.remote.password=PIN où PIN est un code PIN à renseigner par la machine qui effectuera l’installation. Le fait de se passer des protocoles d’affichage distants tels que VNC ou RDP permet d’utiliser plus de périphériques différents pour procéder à l’installation avec une meilleure intégration en général dans le système. De plus, sur le système cible il y a besoin de moins de ressources pour cette opération ce qui est particulièrement avantageux pour installer des Fedora sur des cartes ARM64 peu puissantes. Le chiffrement permet d’éviter les fuites du mot de passe durant la procédure, le chiffrement reposant sur des certificats auto-signés générés à la volée.

Rapport de bogue lié à l’affichage du noyau

En cas de certaines erreurs fatales du noyau, le QR code d’erreur généré redirige vers le site https://drm-panic.fedoraproject.org/ pour expliquer plus simplement l’erreur rencontrée. En effet les QR codes précédents introduits depuis Fedora Linux 42 ne sont pas facilement exploitables par l’utilisateur moyen. L’objectif est que cette information soit affichée de manière plus structurée et lisible pour l’utilisateur et faciliter la création d’un rapport de bogue s’il le souhaite. Pour des raisons de confidentialité, les informations sont traitées localement sur la machine de l’utilisateur avec une implémentation purement en JavaScript. Les données ne sont envoyées à un éventuel serveur que si un rapport de bogue est crée à partir de ces informations. Le projet Fedora espère que la simplification de cette étape permettra de recueillir plus de rapports de bogue et d’améliorer l’aide entre utilisateurs.

L’aide de LibreOffice repose maintenant sur des pages web ouvertes depuis un navigateur externe. C’est une option fournie par LibreOffice depuis quelque temps qui permet de s’affranchir de l’aide interne du logiciel. Ainsi ouvrir l’aide ouvrira le navigateur par défaut vers l’aide locale de LibreOffice. L’avantage pour Fedora Linux est de rendre les paquets de l’aide plus petits, mais aussi parce qu’ils ne dépendent plus du code même de LibreOffice, les paquets sont indépendants de l’architecture et n’ont pas besoin d’être dupliqués pour chaque plateforme ce qui fait gagner des ressources pour compiler et distribuer ces paquets en supprimant des redondances.

Les dictionnaires fournis par le projet LibreOffice peuvent être installés en lieu et place de ceux du projet hunspell dont ils dérivent. Le métapaquet libreoffice-dictionaries permet d’installer les différents sous paquets libreoffice-dict-<lang>. Bien que LibreOffice utilise hunspell, de nombreux ajouts sont disponibles dans la variante de LibreOffice dont quelques langues supplémentaires ou une meilleure prise en charge des variantes de l’anglais avec un dictionnaire dédié pour chacune d’entre elles. Il n’est pas possible d’installer les deux dictionnaires en parallèle pour une même langue.

Chaque édition atomique de Fedora Linux peut bénéficier de sa propre liste de Flatpak provenant de Flathub. Ce changement n’a pas encore un impact direct immédiat mais ouvre la porte à ce que chaque édition en fonction de ses besoins puisse arbitrer si un Flatpak provient par défaut de Fedora ou de Flathub. L’objectif est de trouver un équilibre pour avoir une logithèque Flatpak suffisamment fournie tout en utilisant les Flatpak de qualité voire officiels qui peuvent venir de Flathub ce qui est bénéfique pour l’utilisateur et le développeur de l’application. Le tout en permettant d’éviter les Flatpak de Flathub qui ne respectent pas les critères légaux du projet Fedora notamment vis à vis des brevets logiciels ou de licence par exemple.

Liste des permissions dans GNOME Logiciels

Internationalisation

L’outil d’aide à la saisie IBus évolue à la version 1.5.35. Il prend en charge les états ISO des dispositions clavier XKB tels qu’utilisés par les environnements KDE Plasma, Sway, Hyprland ou COSMIC. Cela permet par exemple pour une disposition lituanienne en tapant `a d’obtenir ā au lieu de `a. Par ailleurs il gère également le forward key events du protocole Wayland input-method version 2 pour rediriger les événements clavier de la pop-up IBus vers le moteur IBus.

Mise à jour de fontconfig à la version 2.18. Le cache des polices passe à la version 11 qui précise quelle version de fontconfig a généré le dit fichier ce qui permet plus facilement d’être réutilisé sans devoir les régénérer ce qui est particulièrement utile en cas d’usage partagé tels que des environnements à base de conteneurs ou d’applications dans des bacs à sable. Un nouvel outil fc-genconf fait son apparition pour générer une configuration basique.

Administration système

NetworkManager prend en charge les réseaux IPv6-mostly. Derrière cette terminologie surprenante se cache la RFC 8925 déjà implémentée dans d’autres systèmes d’exploitation concurrents dont l’objectif est d’assurer une transition douce vers un réseau uniquement IPv6. Un réseau IPv6-mostly permet de partager au sein d’un même réseau des machines IPv6 uniquement, IPv4 uniquement et ceux ayant une double pile tout en partageant le même segment.

Côté NetworkManager cela consiste dans la prise en charge de deux protocoles : DHCPv4 option 108 (RFC 8925) et 464XLAT (RFC 6877). Le premier permet à l’administrateur du réseau de forcer le passage à l’IPv6 uniquement pour un périphérique donné qui peut ainsi couper l’IPv4 automatiquement.

Le second comporte deux parties, une côté client nommée Customer-side translator (CLAT) qui permet de traduire un paquet IPv4 généré par une application du système en un paquet IPv6 avant de l’envoyer sur le réseau. Cela permet donc à une application non conçue pour l’IPv6 de malgré tout envoyer des données à un service en ligne qui ne prend en charge que l’IPv6.

Côté réseau, en dehors de ce que NetworkManager doit gérer, il peut y avoir ajout de Provider-side translator (PLAT) qui utilise NAT64 pour convertir le paquet IPv6 en paquet IPv4 avant de l’envoyer sur un autre réseau dont Internet. Ainsi la combinaison des deux parties permet également à une application utilisant IPv4 d’atteindre un service IPv4 sur Internet tout en ayant un principalement un réseau local IPv6. Ou à un système utilisant uniquement IPv6 de malgré tout communiquer avec des services IPv4 sur Internet.

Par défaut et pour des raisons de sécurité, l’API noyau ptrace n’autorisera plus certains accès à moins d’installer certains logiciels comme un débogueur qui peuvent en avoir besoin. En effet cet API permet à un processus d’inspecter et de contrôler un autre processus lancé par le même utilisateur ce qui permet notamment d’investiguer dans sa mémoire ou de changer son flux d’exécution. Cependant cette capacité est intéressante dans le cadre du développement en particulier pour certains outils comme les débogueurs.

Linux a introduit par le passé un module nommé yama pour trouver un compromis. Ainsi cette inspection n’est possible que depuis le processus qui en a lancé un autre, ce que fait notamment un débogueur. C’est la politique par défaut de Linux et largement suivie parmi les distributions. Fedora Linux a fait le choix, comme Debian, de désactiver ce module yama dans certains contextes pour autoriser cet usage dans d’autres contextes de développement en liant cette désactivation au paquet elfutils-libs entre autres. Et par le jeu des dépendances, il était en fait en permanence désactivé dans tous les systèmes Fedora Linux depuis lors.

L’objectif ici est donc de changer cela pour que le paquet yama-ptrace-enable, qui active ptrace, ne soit installé que si l’un des paquets suivant est installé : elfutils, systemtap, gdb (mais pas gdb-headless ou gdb-minimal), lldb, delve, strace, ltrace, etc. ce qui n’est pas le cas par défaut et doit améliorer la sécurité de beaucoup de systèmes Fedora Linux.

Les utilitaires chpasswd et newusers utilisent dorénavant PAM pour valider les droits et si les mots de passe sont conformes à la politique de sécurité du système. Ainsi ces outils peuvent tenir compte si un nouveau mot de passe réutilise un mot de passe précédent, ne pas autoriser un mot de passe trop faible selon des critères définis, de notifier dans les logs si les mots de passes ont été changés, etc. Cela est conforme au fonctionnement des autres utilitaires qui passent par PAM pour ces tâches ce qui uniformise leur comportement dans le système.

Les consoles virtuelles passent de fbcon à kmscon. Ainsi la gestion de ces consoles virtuelles passe du noyau Linux à l’espace utilisateur. Le premier n’est plus trop maintenu car reposant sur l’ancienne interface frame buffer plutôt que d’utiliser l’interface drm. De fait, comme les pilotes graphiques actuels reposent majoritairement sur l’interface drm, l’usage de fbcon nécessite une couche d’émulation nommé fbdev et l’usage des utilitaires bash et getty pour avoir un fonctionnement basique. Et encore, le scroll à la souris restait désactivé pour des raisons de sécurité du fait du manque de maintenance.

kmscon remplace cela en utilisant les couches modernes du noyau ce qui améliore la sécurité et la fiabilité en tournant en espace utilisateur. Ainsi en cas de crash, le service est redémarré plutôt que de planter entièrement la machine avec un kernel panic. Le tout en offrant plus de fonctionnalités, ainsi il propose le scroll de la souris évoqué précédemment, la prise en charge de xkbcommon pour mieux gérer les dispositions claviers et permettre d’en changer à la volée, un rendu des caractères avec une meilleure compatibilité avec Unicode, la possibilité d’avoir une accélération graphique reposant sur OpenGL. Le copier/coller à la souris tout comme la rotation de l’écran sont aussi disponibles.

En cas de problèmes sur une machine, un retour en arrière automatique vers fbcon est proposé ou reste possible manuellement. Mais à terme l’objectif est d’abandonner entièrement ce dernier. Pour ceux qui sont intéressés de configurer kmscon, il est possible d’éditer le fichier /etc/kmscon/kmscon.conf.

Déplacement des fichiers des dépôts de la distribution du répertoire /etc/yum.repo.d vers le répertoire /usr/share/dnf5/repos.d. Les clés GPG sont aussi redirigées vers le fichier /usr/share/pki/rpm-gpg. Cette opération a été rendue possible par la suppression complète de DNF4 dans la version précédente de Fedora Linux ce qui a simplifié les choses. L’objectif est de tirer parti de la séparation entre configuration système et utilisateur de plus en plus adoptée avec une configuration en lecture seule fournie par la distribution dans /usr quand les changements sont effectués sur /etc/ pour mieux distinguer ce qui est fourni par la distribution et ce qui est changé.

Ainsi l’utilisateur qui souhaite ajouter des dépôts à la main peut continuer à utiliser /etc/yum.repo.d et s’il veut changer les paramètres d’un dépôt existant il peut le faire dans le dossier /etc/dnf/repos.override.d/.

Anaconda prend en charge le gestionnaire de stockage Stratis. Pour rappel il permet de fusionner la couche bloc et le système de fichiers XFS pour fournir des fonctionnalités supplémentaires clé en main telles que les snapshots ou le chiffrement le tout via une interface en ligne de commande et une interface DBus spécifique. La nouveauté comprend l’installation via un fichier kickstart tout comme le partitionnement manuel.

Stratis était certes proposé depuis Fedora 28 mais l’absence de disponibilité à l’installation par défaut a réduit son adoption potentielle car il était nécessaire de l’installer après coup par des moyens détournés ou l’utiliser pour d’autres partitions que celle du système. L’objectif ici est d’y remédier pour attirer de nouveaux utilisateurs intéressés par la solution.

Le logiciel Ignition gère le format de configuration de l’outil Butane. Ignition est le logiciel qui permet de configurer l’espace disque et les utilisateurs lors du premier démarrage de CoreOS à partir d’une configuration. Cependant son fichier de configuration au format JSON est jugé difficile à manipuler par un humain. D’où la création de Butane qui permet d’avoir une configuration plus simple à écrire au format YAML qu’il peut transpiler par la suite pour fournir le résultat obtenu à Ignition.

Cependant cette approche en deux temps où il faut au préalable installer butane pour écrire la configuration en YAML puis le transpiler avant de l’envoyer à Ignition complexifie le système et ajoute des barrières d’entrée à l’usage de CoreOS.

Ignition a absorbé le code de Butane mais l’utilitaire Butane reste toujours disponible dans son paquet dédié. Ignition va tenter de parser d’abord au format YAML avant de tenter de le parser comme une configuration JSON si cela avait échoué. Les configurations source: local / --files-dir ne sont pas gérées au lancement de CoreOS, car d’autres fichiers nécessitent d’être présents pour cela, cela nécessite de passer par l’utilitaire butane sur un autre système au préalable.

Signature manuscrite dans GNOME Documents

L’API noyau de cryptographie à destination de l’espace utilisateur est partiellement désactivée. Cette API est difficile à maintenir et pose de gros problèmes de sécurité. Le projet Linux lui-même entame le processus de s’en passer à terme. Le projet Fedora décide de prendre les devants, ainsi dès la version 7.2 du noyau proposée par Fedora Linux 45, les algorithmes disponibles via cette API sont restreints par défaut mais cette restriction peut être levée en changeant la valeur du fichier /proc/sys/crypto/af_alg_restrict. Cette restriction n’arrivant normalement qu’à partir de la version Linux 7.3. Le projet Fedora souhaite mettre un terme entièrement à cette API pour Fedora Linux 46 quoi que décide le projet Linux d’ici là.

L’usage de cette API est officiellement faible, peu de paquets de Fedora Linux s’en servent encore dont certains qui ne sont plus trop maintenus comme iwd avantageusement remplacé par wpa_supplicant. L’objectif est d’avertir ici les potentiels utilisateurs de solutions maisons de s’y préparer et d’engager la transition pour les quelques paquets qui s’en servent encore avant une suppression définitive.

L’outil d’authentification authselect ne propose plus la prise en charge les profils NIS par défaut. Il n’est plus possible de choisir NIS pour nsswitch.conf avec la commande authselect select nis mais l’option reste disponible via un profil personnel ou des opérations manuelles. L’objectif est de réduire l’usage de cette technologie dépassée au sein de Fedora Linux pour s’affranchir de sa maintenance à terme.

Mise à disposition de l’outil encapsule pour exécuter des outils venant d’Internet dans un conteneur léger dédié. Cet outil en ligne de commande est conçu pour exécuter les scripts ou utilitaires usuellement téléchargés à coup de curl <url> | sh, npm install <paquet> et autres dans un environnement plus isolé du système pour limiter les risques de sécurité ou tout simplement de pollution du répertoire utilisateur. Il repose sur Podman pour concevoir le conteneur qui l’exécute et a une configuration simple pour désactiver le réseau ou les droits super utilisateurs par exemple. Il n’est pas impossible à terme qu’il devienne un wrapper à OpenShell dans le futur pour apporter une isolation plus forte encore pour des raisons de sécurité.

Ajout de grub-cc comme chargeur de démarrage minimal pour démarrer sur des machines en UEFI uniquement pour lancer des images noyau unifiés (UKI). C’est une alternative à GRUB lui-même pour ce cas d’usage à destination des conteneurs comme ceux pour du Confidential Computing, d’où le nom, CoreOS ou les machines virtuelles. L’objectif est de réduire sa taille en ayant uniquement le strict nécessaire pour fonctionner dans ce contexte. Cela permet de réduire la surface d’attaque mais aussi le nombre de mises à jour potentielles, chacune nécessitant de le resigner sur la machine dans le cadre du Confidential Computing.

L’utilitaire des paquets rpm passe à la version 6.1. Pour les utilisateurs, il est possible d’effectuer des requêtes pour notamment connaître les paquets installés sur le système même si une transaction, comme l’installation d’un paquet, est en cours. Avant chaque transaction bloquait ce type de requêtes en lecture seule. La recherche des groupes et utilisateurs peut de nouveau passer par Name Service Switch ce qui est particulièrement utile en cas d’authentification centralisée comme dans les grandes entreprises. Le temps d’installation d’un paquet devrait être plus rapide. Les autres ajouts sont plutôt destinés aux créateurs de paquet comme les modificateurs de macros litéraux afin de ne pas interpréter les % d’une macro ou one shot pour résoudre une macro qu’une fois afin de réutiliser son résultat par la suite pour obtenir des gains de performances. La macro %define peut résoudre une macro immédiatement durant sa définition ou mettre la macro dans le contexte global indépendamment. La commande rpmbuild peut aller directement aux étapes %check avec l’argument --short-circuit pour gagner du temps durant le développement. Enfin le script d’environnement de construction est généré dans le fichier rpmbuild.env dans le répertoire %{builddir} afin de faciliter le débogage, son analyse ou pour reproduire les différentes étapes manuellement.

Ce dernier rend obligatoire par défaut la vérification des signatures des paquets avant leur installation. Si un paquet n’est pas signé ou que la signature n’est pas correcte, l’installation échouera. Ce mode était déjà présent depuis les débuts de Fedora dans YUM puis DNF, l’objectif est que l’outil sous-jacent RPM suive cette directive pour des raisons de sécurité qui sont plus prégnantes de nos jours qu’à l’époque. Il est possible de la désactiver avec l’option --nosignature.

Il a été nécessaire d’attendre depuis RPM 6.0, disponible depuis Fedora Linux 43, qui offrait déjà cette possibilité avec des aides pour générer des paquets auto signés par ailleurs, car l’équipe manquait de ressources pour les adaptations nécessaires. En effet il n’était dès lors plus possible pour DNF d’installer des paquets non signés à la demande dans ce cas, et il fallait vérifier la construction des paquets pour adapter les procédures afin que cela soit possible sans encombre et sans multiplier les désactivations manuelles ci et là.

La bibliothèque de sécurité OpenSSL est mise à jour vers la version 4.0. Comme souvent la version majeure de cette bibliothèque de référence est l’occasion de casser la compatibilité ascendante. C’est pourquoi la version 3 reste disponible via le paquet openssl3 pour les logiciels et ceux qui en ont encore besoin.

Ainsi, il propose une meilleure confidentialité avec la prise en charge de Encrypted Client Hello (ECH) pour chiffrer l’initialisation des échanges TLS et cacher le Server Name Indication durant le processus. Il améliore également la prise en charge de la cryptographique dite post-quantique notamment avec l’implémentation de la RFC 8998. Côté suppression, beaucoup de code d’anciens algorithmes de chiffrement sont retirés après une longue période de désactivation comme SSLv3.
Les engines tirent également leur révérence en faveur des providers comme interface pour ajouter des algorithmes de chiffrement supplémentaires externes. Enfin, le protocole SSLv2 Client Hello est également supprimé.

Le gestionnaire de conteneurs podman est proposé dans sa 6ᵉ version. Cette version majeure nécessite aussi certaines adaptations avec la suppression de slirp4netns qui est remplacé par pasta pour la réalisation de réseau sans droits superutilisateurs. La prise en charge des cgroups version 1 est également supprimée tout comme la base de données BoltDB qui était déjà remplacée par défaut par SQLite depuis la version 4.8. Pour assurer une bonne migration des données, il est conseillé de mettre à jour vers podman 5.8 qui est disponible dans les autres versions de Fedora Linux avant.

Du côté des fonctionnalités, les fichiers de configurations ont été revus pour retirer la confusion entre les paramètres pour les clients distants et ceux des serveurs avec le partage d’une logique similaire entre les fichiers containers.conf et storage.conf. Pour le réseau, la création de réseau va utiliser Netavark qui perd par ailleurs la prise en charge d'iptables au profit de nftables. L’ordre des interfaces réseau est maintenant aussi préservé au sein des conteneurs.

La version par défaut du gestionnaire de base de données MySQL pointe vers la version 9.7 au lieu de la version 8.4. Cette version apporte notamment le nouveau type pour les colonnes : VECTOR qui est un ensemble de flottants 4 d’octets. De par la nature de la colonne, elle ne peut pas être utilisée comme clé primaire de la table par exemple. Elle sert de base technique à la solution MySQL HeatWave qui sert dans un contexte d’IA pour notamment faire de la recherche au sein de documents. Certaines fonctions comme le calcul de distance entre deux vecteurs sont proposées à cette fin. De plus, l’optimiseur de requêtes Hypergraph fait son entrée pour proposer, en général, de meilleures performances. De même plusieurs modules de télémétries et de réplications pour effectuer de la haute disponibilité sont disponibles pour permettre notamment une meilleure compatibilité avec des solutions OpenTelemetry.

Pour des raisons de sécurité, le greffon mysql_native_password tire sa révérence pour l’authentification. Il est nécessaire de reconfigurer les authentifications pour employer caching_sha2_password à la place par exemple. La version 8.4 reste disponible avec le paquet mysql8.4 pour ceux qui en ont besoin.

De manière analogue, la version par défaut du gestionnaire de base de données MariaDB pointe vers la version 12.3 au lieu de la version 11.8. Cette version apporte de nombreuses fonctions pour améliorer la compatibilité avec la solution propriétaire Oracle dont la prise en charge native de SYS_REFCURSOR ou des triggers qui peuvent être exécutés individuellement sur plusieurs événements à la fois ce qui simplifie la maintenance par ailleurs. L’optimisateur de requêtes bénéficie aussi de nombreuses optimisations, et a ajouté la prise en charge de nombreuses indications d’optimisation proposées par MySQL pour améliorer la compatibilité entre les deux. Pour améliorer la compatibilité avec MySQL, il implémente aussi la fonction d’authentification caching_sha2_password évoquée plus haut.

Enfin les données géospatiales bénéficient d’une meilleure prise en charge avec des fonctions pour valider et vérifier la validité de ces données, pour simplifier les géométries complexes afin d’améliorer les performances ou encore les hasher pour effectuer des recherches de proximité performantes.

Les versions 10.11 et 11.8 restent disponibles via les paquets mariadb10.11 et mariadb11.8 pour ceux qui le souhaitent.

Développement

La chaine de compilation GNU progresse avec binutils 2.47 et glibc 2.44.

Les utilitaires binutils prennent en charge de nombreuses extensions du standard de l’architecture RISC-V. L’assembleur introduit une nouvelle commande --reloc-section-sym=[all|internal|none] pour spécifier si les relocalisations faisant référence à des symboles de liaison locale sont ajustés pour utiliser les sections des symboles. objdump et readelf peuvent préciser un répertoire où trouver des fichiers de débogage supplémentaires avec --debug-dir=[DIR]. Enfin l’éditeur de lien bfd peut fonctionner avec une optimisation faible avec l’argument -O 0 ce qui bloque la fusion du contenu des sections pour diminuer le temps de l’opération au détriment de la taille du binaire final.

La bibliothèque C glibc introduit le fichier /etc/tunables.conf pour stocker les réglages de manière plus permanente et simple que l’emploi de la variable d’environnement GLIBC_TUNABLES. La configuration consiste en un paramètre par ligne. De nombreuses optimisations et corrections des fonctions mathématiques ont également été importées du projet CORE-MATH.

La chaine de compilation LLVM version 23 est proposée. Cette version comme souvent apporte une prise en charge partielle de la prochaine norme C++2d et de la future norme C2Y tandis que les normes antérieures du C et C++ sont mieux gérées. Les diagnostiques pour ces langages bénéficient de nombreuses améliorations dont des alertes en lien avec la durée de vie des objets ou pointeurs manipulés par des fonctions. Il apporte notamment aux architectures ARM64 et x86_64 la fonction Lightweight Fault Isolation pour réaliser un bac à sable léger pour les applications C et C++ afin de réduire les risques de sécurité autour des problèmes mémoires de ces applications sans trop pénaliser les performances et sans demander beaucoup d’adaptations. Côté matériel il propose un début de la prise en charge du prochain processeur Nvidia nommé Rosa. Du côté d’AMD, c’est l’interface de programmation AMD HIP, proche de Nvidia CUDA pour l’exploitation des capacités de calcul sur GPU, qui utilise le nouveau pilote de LLVM pour s’y interfacer, rejoignant ainsi Nvidia CUDA et OpenMP qui en bénéficiaient déjà. Et comme la suite GNU évoquée plus haut, de nombreuses instructions RISC-V sont prises en charge par l’assembleur maison.

Nouvelle barre d’adresse de GNOME Web

Le langage Python rampe vers la version 3.15. Cette version apporte l’import paresseux des modules avec le mot clé lazy pour ne charger un gros module que s’il est réellement utilisé afin d’améliorer les performances quand le module n’est pas utilisé finalement. Des dictionnaires immuables frozendict étendent la liste des objets de base immuables pour apporter plus de garanties dans le code notamment dans un contexte d’exécution parallèle. Les outils de profilage de code sont rassemblés au sein du module profiling qui bénéficie d’un nouveau profiler Tachyon. Celui-ci effectue des mesures à intervalles réguliers pour diminuer le coût de son usage tout en ne nécessitant pas de changement dans le code. Mais cela au détriment de l’exactitude du résultat. Enfin, le compilateur JIT expérimental bénéficie de nombreuses améliorations de performance.

La bibliothèque python-dateutil est marquée comme dépréciée en vue d’une suppression future. Cette extension de la fonction datetime de Python n’est plus maintenue ce qui peut poser à terme des problèmes de sécurité alors que de nombreux projets en dépendent encore. L’objectif est d’évaluer la situation et de commencer la transition où elle est possible avant d’entamer sans suppression quand la transition sera terminée ou sa maintenance impossible.

L’utilitaire Python setuptools est proposé avec la version 82. Cette version n’est pas compatible avec la précédente notamment à cause de la suppression de pkg_resources qui a été remplacé par importlib.resources et importlib.metadata depuis déjà cinq ans. Fedora propose le paquet python3-pkg-resources pour fournir cette fonction manquante à part le temps d’effectuer la transition, près de 150 paquets de Fedora Linux en ont typiquement encore besoin.

Le langage Go saute vers sa version 1.27. Cette version du langage propose les méthodes génériques qui étaient l’étape logique après l’introduction des fonctions génériques dans les versions précédentes. Le compilateur peut rediriger vers des allocateurs spécifiques les allocations de petites tailles afin d’améliorer jusqu’à 30% les performances dans ce contexte. Le détecteur de blocages dans les goroutines abandonne son statut expérimental pour être pleinement exploitable.

Les paquets pour la prise en charge du encoding/json/v2 et encoding/json/jsontext sont introduits dans la bibliothèque standard. Le premier, afin notamment d’être plus strict concernant la validité d’un fichier JSON tout en améliorant les performances lors du parsage. Le second pour permettre une manipulation bas niveau et syntaxique du format.

Un paquet uuid a été introduit pour générer ou lire facilement des identifiants uniques suivant différents formats. Enfin, le paquet expérimental simd est proposé pour effectuer des opérations parallèles variées de manière portable et indépendante de la taille des vecteurs afin d’améliorer les performances pour les opérations qui s’y prêtent.

Le langage Perl brille dans sa version 5.44. Cette version propose une prise en charge d’Unicode 17.0, dont les règles ont été renforcées sur les identifiants et les noms de groupe des expressions régulières. D’ailleurs, les expressions régulières bénéficient d’une fonctionnalité expérimentale use feature « enhanced_xx" pour autoriser les classes de caractères entre crochets sous le modificateur /xx sur plusieurs lignes tout en pouvant contenir des commentaires. Le générateur interne de nombre aléatoires exploite l’appel système getentropy(), utilisant le fichier /dev/urandom ou un état interne si cela n’est pas possible. Les performances ont également été améliorées pour les opérations de base sur les entiers tout comme la génération d’un hash d’une liste de paires de clé / valeur.

L’interpréteur Lua est mis à jour vers la version 5.5. Parmi les changements, il propose la déclaration de variables globales avec le mot clé global, les vararg tables peuvent être nommés, les tableaux sont plus compacts pouvant être jusqu’à 60% plus petits en mémoire et de meilleures performances pour le ramasse-miettes. La variable utilisée pour itérer dans la boucle for est également en lecture seule maintenant.

La boîte à outils Ruby en Rails roule vers sa version 8.1. Il propose notamment la possibilité de reprendre des longues tâches en les découpant en étapes plus petites, permettant de reprendre à la dernière étape complètement effectuée plutôt que depuis le début si jamais la procédure a été interrompue. Une nouvelle interface Rails.event permet de structurer les événements pour être plus facilement analysés par des outils. Pour les développeurs il est possible de définir sa machine comme une instance pour lancer des tests d’intégration continue avec le binaire bin/ci. Enfin il permet de faire un rendu ou répondre à une requête directement depuis le format Markdown dans les différents contrôleurs.

Le générateur de protocoles protobuf passe à la version 6 et 5 pour respectivement le C++ et le C. Cette version introduit plus de modularité avec Bzlmod pour proposer un cœur plus réduit et plein de modules autour afin de simplifier la maintenance du projet. Cela peut simplifier l’import de modules externes par ailleurs. Ce changement pourrait simplifier la mise à niveau des adaptateurs pour les différents langages à l’avenir. Le paquet protobuf3 est toujours proposé à des fins de compatibilité, le format v3 du protocole ayant été supprimé dans ces nouvelles versions.

Le langage fonctionnel Erlang évolue vers la version 27. La syntaxe du langage autorise les commentaires multilignes et sans le besoin d’échappement grâce au délimiteur """ pour simplifier leur écriture. De manière analogue, il est possible de définir une chaine de caractères littérale sans caractères d’échappements avec le sigils ~B pour débuter la dite chaine de caractère qui est entre crochets. Le nouvel encodeur JSON est proposé afin d’améliorer les performances. Niveau performances, le client SSL peut aussi vérifier la signature du résultat de la réponse signée de l’OCSP d’un serveur pour vérifier si la clé a été révoquée ou non par le CA sans devoir effectuer des requêtes supplémentaires. Enfin à des fins de débogage ou de traçabilité il est possible de nommer les processus afin de savoir à quoi ils correspondent.

La bibliothèque d’analyse de données Pandas pousse à sa version 3. Cette version propose un nouveau type native pour les chaines de caractères plutôt que de reposer sur le type objet générique de Python qui n’est pas suffisamment spécifique ni performant pour cet usage. Le comportement du copy-on-write a changé, les opérateurs retournant un sous-ensemble ou une indexation d’une série de données fonctionnent comme une copie de l’objet original, nécessitant de manipuler directement l’objet original si on souhaite le modifier. Cela rend le comportement plus cohérent mais améliore aussi les performances. De nombreuses fonctions obsolètes ont été définitivement supprimées avec cette version, la rendant non rétrocompatible.

La bibliothèque xmlsec parse sa version 1.3. Cette version n’est pas non plus rétrocompatible avec la précédente. Elle propose un nouveau type KeyInfoReference pour permettre à plusieurs signatures de faire référence à la même chaine de validation au lieu d’avoir une copie entière pour chacune en mémoire. La recherche par clé est devenue plus stricte, uniquement les clés référencées dans KeyInfo sont considérées. La prise en charge du protocole FTP a été supprimée de même que la fonction de hashage md5 toutes deux pour des raisons de sécurité.

L’environnement de développement de Free Pascal nommé Lazarus dispose d’une interface graphique GTK3, Qt5 ou Qt6, en plus de GTK2 jusqu’alors proposée. Pour cela des sous-paquets ont été introduits tel que lazarus-ide-gtk3 qui ne sont pas installables en parallèle. Cela permet de proposer les différentes possibilités d’intégration de ce logiciel selon le goût de ses utilisateurs. Il permet aussi d’envisager le retrait à terme de la variante GTK2 quand cette bibliothèque obsolète sera entièrement retirée du système.

La configuration des pilotes ODBC, pour la création d’API pour les gestionnaires de base de données, a été scindée pour améliorer la modularité de ce fichier. Le fichier /etc/odbcinst.ini fait notamment le lien entre un module et la bibliothèque dans le système qui permettait de s’en servir et jusqu’ici tous les pilotes supportés étaient présents dans le fichier. Le fichier était proposé par le paquet unixODBC. Mais à cause du découplage entre le pilote et cette configuration, présent dans des projets et paquets différents, la configuration contenait souvent des informations fausses. Et ce n’était pas évident pour les empaqueteurs de ces bibliothèques de devoir intervenir sur ce fichier aussi s’ils changeaient quelque chose dans leur propre paquet. De plus, le fichier pouvait indiquer comment se servir d’un pilote qui n’est pas présent sur le système ce qui pouvait facilement mener à des erreurs. Maintenant les fichiers de configuration sont installés dans le dossier /usr/lib/odbc/odbcinst.d, avec un fichier par gestionnaire de base de données qui n’est installé que si le pilote correspondant est installé également. Chaque installation ou suppression permet de générer ainsi le fichier /etc/odbcinst.ini final avec les bonnes informations. Il est d’ailleurs possible pour les administrateurs systèmes d’adapter la configuration en créant des fichiers analogues dans /etc/odbc/odbcinst.d/ qui auront la priorité.

Nodejs a maintenant un métapaquet nodejs non versionné. Ce paquet non versionné sert à installer l’une des versions de Nodejs disponible dans Fedora Linux pour un utilisateur qui n’accorde pas trop d’importance à la version exacte. La version réellement installée est choisie par les mainteneurs et peut changer au gré des versions de Fedora Linux. Installer le paquet versionné tel que nodejs22 apporte la garantie qu’une mise à niveau de Fedora Linux n’aboutira pas à un changement de version de nodejs, à moins que le paquet ne soit évidemment supprimé et dans ce cas la transition est laissée à la charge à l’utilisateur.

Plus de métadonnées dans GNOME Loupe

Projet Fedora

Les images atomiques à usage bureautique sont construites avec l’utilitaire image-builder. L’objectif est de se passer de lorax qui effectuait cette tâche jusqu’ici ce qui permettra à terme de s’en passer totalement pour simplifier l’infrastructure et les méthodes de production des différentes images. Ces images reposent en un fichier boot.iso au sein d’un commit ostree ce qui est très proche des images Fedora IoT qui utilisaient déjà image-builder, rendant l’opération possible.

Un autre bénéfice de cette migration est de permettre de générer des images au format qcow2 pour un usage pour machines virtuelles, ou une image raw pour l’architecture aarch64 afin de démarrer directement dessus avec l’outil arm-image-installer pour l’installer sur des petites cartes à architecture ARM.

Le paquet libgit2 bénéficiera de plusieurs paquets avec des versions distinctes pour pouvoir les installer en parallèle. Le paquet au nom générique disparaît pour faire place à libgit2_1.9. Ce composant utilisé par une trentaine de paquets n’a pas une ABI stable même pour des versions mineures. Cela peut rendre la gestion délicate au sein du projet Fedora pour ne pas avoir de conflits tout en ayant un résultat stable. En particulier par la présence de bibliothèques d’adaptation comme en Python qui évoluent à des rythmes différents langage par langage. Si pour l’instant une seule version de libgit2 est proposée, la voie est tracée pour en avoir plusieurs en parallèle.

Les variables non standards de CMake sont supprimées de la macro %cmake. Les variables *_INSTALL_DIR, SHARE_INSTALL_PREFIX et LIB_SUFFIX étaient passées par défaut par la macro %cmake alors que ces variables n’ont jamais été standards au sein de CMake. Chaque usage était donc spécifique à chaque logiciel avec parfois des confusions comme savoir si INCLUDE_INSTALL_DIR exigeait un chemin absolu ou relatif. Depuis CMake 3, les chemins d’installation standards sont définis dans GNUInstallDirs et son usage s’étend ce qui rend pertinent de pousser à migrer les paquets restants. Cela concernait tout de même environ 300 paquets sur les 2000 utilisant CMake.

Ajout de la macro %openpgpverify pour effectuer les vérifications de signatures d’artéfacts avec Sequoia en remplacement de %gpgverify qui utilise GnuGP. En effet depuis 2023, GnuGP suit un protocole incompatible avec OpenGPG nommé LibrePGP. L’objectif est d’utiliser une alternative compatible avec le standard OpenPGP ce qui est le cas de Sequoia déjà employé par RPM ou podman par ailleurs. Il permet également l’usage d’algorithmes post-quantique notamment par la prise en charge de la RFC 9980.

La communauté francophone

L’association

Logo de Borsalinux-fr

Borsalinux-fr est l’association qui gère la promotion de Fedora dans l’espace francophone. Nous constatons depuis quelques années une baisse progressive des membres à jour de cotisation et de volontaires pour prendre en main les activités dévolues à l’association.

Nous lançons donc un appel à nous rejoindre afin de nous aider.

L’association est en effet propriétaire du site officiel de la communauté francophone de Fedora, organise des évènements promotionnels comme les Rencontres Fedora régulièrement et participe à l’ensemble des évènements majeurs concernant le libre à travers la France principalement.

Si vous aimez Fedora, et que vous souhaitez que notre action perdure, vous pouvez :

  • Adhérer à l’association : les cotisations nous aident à produire des goodies, à nous déplacer pour les évènements, à payer le matériel ;
  • Participer sur le forum, les listes de diffusion, à la réfection de la documentation, représenter l’association sur différents évènements francophones ;
  • Concevoir des goodies ;
  • Organiser des évènements type Rencontres Fedora dans votre ville.

Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.

Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions mensuelles chaque premier lundi soir du mois à 20h30 (heure de Paris). Pour plus de convivialité, nous l’avons mis en place en visioconférence sur Jitsi.

La documentation

Depuis juin 2017, un grand travail de nettoyage a été entrepris sur la documentation francophone de Fedora, pour rattraper les cinq années de retard accumulées sur le sujet.

Le moins que l’on puisse dire, c’est que le travail abattu est important : près de 90 articles corrigés et remis au goût du jour.
Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège, Sylvain Réault et les autres contributeurs et relecteurs pour leurs contributions.

La synchronisation du travail se passe sur le forum.

Si vous avez des idées d’articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n’hésitez pas à participer.

Comment se procurer Fedora Linux 45 ?

Logo de MediaWriter

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

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Flus sort en 3.0

Flus est une plateforme de veille en ligne conçue pour suivre, lire, organiser et partager vos liens Web de manière simple. Elle s’intègre à votre écosystème d’outils existants pour compléter et éditorialiser votre veille.

Le 12 octobre dernier, j’ai sorti Flus en version 3.0. Cette nouvelle version majeure apporte des fils thématiques (l’équivalent des dossiers ou catégories dans les autres agrégateurs), un moteur de recherche plus puissant, et une nouvelle page pour gérer ses sources de manière avancée.

Logo de Flus

Flus est un logiciel libre sous licence AGPLv3 que je développe depuis 2020. Je le propose en SaaS, à prix libre, pour financer le développement de l’outil.

La dernière dépêche concernant Flus (flusio à l’époque) datant de 2021, je profite de cette sortie pour vous (re)présenter Flus de façon générale et vous détailler la feuille de route 2027.

Sommaire

Flus dans les grandes lignes

Présentation

Flus combine l’agrégation de flux, les listes « à lire plus tard » et le partage de signets pour vous éviter d’avoir à jongler entre trop d’outils. Il permet de :

  • Suivre des sources telles que des blogs, des podcasts ou des chaînes vidéo (flux RSS, Atom et JSON), ainsi que des collections partagées sur Flus.
  • Lire à votre rythme grâce au journal qui vous propose une sélection configurable de liens issus des sources que vous suivez, ainsi qu’aux listes « À lire » et « Liens lus ».
  • Ranger vos liens dans des collections pour les retrouver facilement. Vous pouvez prendre des notes et ajouter des #tags pour mémoriser ce que vous en avez pensé et préparer vos prochaines productions.
  • Partager vos liens, vos collections et vos fils publiquement sur votre profil pour que d’autres personnes puissent vous suivre, ou en privé pour collaborer avec des personnes en particulier.

Bref, si vous utilisez FreshRSS, wallabag et/ou Shaarli : c’est un peu les trois à la fois ! Mais évidemment pas tout à fait : par exemple, Flus ne permet pas (encore) de lire directement les articles dans l’application, il n’archive pas non plus (encore) les articles et il ne permet pas (encore) de prendre des notes en dehors du bloc-notes des liens.

L’écran « À lire » affichant plusieurs liens à lire plus tard.

Stack technique et contributions

Flus est une application Web écrite en PHP, reposant sur Minz, mon framework maison. Côté interface, les templates sont écrits grâce au moteur Twig. Si le JavaScript est requis pour un certain nombre d’actions, on reste sur des technologies assez légères : Turbo et Stimulus. La seule base de données prise en charge est PostgreSQL. Flus a finalement assez peu de dépendances, ce qui me permet de mieux maîtriser la stack technique.

La documentation pour déployer concerne uniquement mon propre environnement de production : Git, Nginx, PHP, PostgreSQL. Je ne fournis pas d’image Docker de production, mais le Dockerfile et le docker-compose.yml de développement peuvent servir de base pour qui serait intéressé·e.

Un fichier détaille comment contribuer, néanmoins je restreins volontairement les possibilités car il m’est compliqué de trouver le temps d’accueillir des contributions en gérant tous les autres aspects (communication, infrastructure, support, etc.).

Du financement de Flus

Je développe Flus à mon compte depuis 2020. L’offre SaaS existe depuis le début : cela m’a permis de payer largement les serveurs ainsi que quelques prestations pour m’aider sur les aspects que je maîtrise moins (ex. le juridique ou les productions visuelles). Je ne me suis en revanche jamais payé un salaire mirobolant ; seulement de quoi mettre un peu de beurre dans les épinards. Désolé de décevoir les personnes qui pensaient que fournir un service en SaaS était un bon plan !

C’est par le biais d’un travail à mi-temps que j’ai trouvé l’équilibre nécessaire pour avancer sur Flus. Je ne consacre ainsi qu’une semaine sur deux au projet, le reste de mon temps étant passé au sein de la SCOP Probesys. Ce n’était absolument pas la solution que j’envisageais initialement, mais ça marche plutôt bien.

Le prix libre que je propose (entre 0 et 120 € par an) est globalement bien compris, notamment parce que je donne quelques seuils :

  • 15 € / an : le tarif solidaire pour celles et ceux qui ne sont pas prêts à dépenser plus, mais qui souhaitent tout de même soutenir le projet.
  • 30 € / an : le tarif équilibre que je juge comme étant le plus juste au regard du service que je propose et de mon objectif financier.
  • et le tarif soutien, qui évolue en fonction de mon objectif financier et du nombre d’abonné·es.

On le verra néanmoins plus loin dans cette dépêche, cela pourrait évoluer en 2027 avec l’arrivée prochaine d’une offre Pro.

Notons que le service va bientôt fêter son septième anniversaire. Ce sera l’occasion de publier un nouveau bilan, à la suite des précédents. Ces bilans abordent plutôt l’aspect « entrepreneurial », mais il me semble que le lectorat de LinuxFr est généralement friand de cela 😉

Les nouveautés de la 3.0

Assez digressé, que renferme donc Flus 3.0 ?

Des fils thématiques

Les fils répondent à deux besoins principaux :

  1. Créer des espaces de veille contextuels permettant de séparer votre veille personnelle de votre veille professionnelle, par exemple.
  2. Gérer les sources les plus prolifiques grâce à un système de filtres avancés pouvant être enregistrés sous forme de vues.

L’écran Lecture de Flus sur ordinateur, avec un fil de veille « Accessibilité Web » et ses liens du jour.

Concrètement, vous pouvez associer vos sources (flux Web et/ou collections Flus) à des fils que vous retrouvez dans le menu de navigation, à gauche de l’écran. Oui, comme les dossiers ou catégories dans les autres agrégateurs de flux. Mais les fils offrent quelques possibilités en plus :

  • ils peuvent être filtrés : par date, mots-clés, statut de lecture ou source ;
  • ces filtres peuvent être enregistrés sous forme de vues accessibles en un clic ;
  • les fils peuvent également être partagés, que ce soit publiquement (voici par exemple mon fil « Planet Flus ») ou avec des personnes spécifiques pour construire une veille commune.

Un moteur de recherche amélioré

Le moteur de recherche a été revu et grandement amélioré. Il est maintenant possible d’exprimer des recherches complexes :

  • la combinaison de mots avec l’opérateur AND (par défaut), l’alternative avec OR, ou encore l’exclusion avec NOT ;
  • le groupement avec les parenthèses, par exemple : (rapport OR étude) NOT #archive ;
  • la recherche par attributs, notamment par date (ex. date: 2026-10), par durée de lecture (duration: >10), ou en recherchant au sein de vos notes (notes: rapport).

Un écran d’aide intégré au champ de recherche permet de connaître les différentes possibilités.

Capture d’écran montrant un champ texte de filtre.

Une nouvelle page pour vos sources

Une nouvelle page, nommée « Sources », permet de lister les flux et les collections Flus que vous suivez. Depuis cette page, il est maintenant possible de :

  • Rechercher et filtrer vos sources : pratique pour en retrouver une précisément, ou pour lister toutes les sources désormais inactives, par exemple.
  • Gérer vos abonnements (paramétrage pour le journal, ajout au sein des fils, désabonnement), que ce soit individuellement au niveau de chaque source, ou de manière groupée grâce aux actions de masse.

Capture d’écran montrant un formulaire de filtre et des sources.

Des améliorations diverses

Les trois nouveautés présentées ci-dessus changent fondamentalement la manière d’interagir avec Flus. Mais d’autres évolutions viennent compléter le tableau pour une utilisation plus agréable :

  • La possibilité de renommer une source et d’en changer l’illustration (pratique quand un flux déclare un nom obscur ou beaucoup trop long).
  • Une barre d’édition et des raccourcis pour l’éditeur de texte Markdown : juste de quoi ne pas avoir à tout mémoriser… en attendant des travaux plus conséquents !
  • La prolongation de la durée de session pour ne pas avoir à se reconnecter tous les mois si l’on se connecte régulièrement.

Les plans 2027 : entre travail en équipe et offre Pro

Cette 3.0 constitue déjà une version très complète, mais c’est loin d’être fini ! La feuille de route adoptée pour 2027 est claire (et sans doute ambitieuse) : permettre à des équipes d’organiser leur veille facilement à plusieurs. Voici les fonctionnalités prévues à ce stade :

  • Les organisations disposeront de leurs propres collections et fils, pourront gérer leurs membres et les répartir en équipes.
  • Un mécanisme de feedback léger (émoji + court commentaire) permettra de réagir aux liens et notes des autres membres d’une organisation.
  • Les notes pourront être mises en avant pour aider à contextualiser les liens au sein des collections.
  • Des synthèses pourront être produites pour préparer, par exemple, une newsletter, un article de blog, ou un document PDF à distribuer à ses collègues.
  • Enfin, le mécanisme pour partager les accès aux collections et aux fils sera simplifié (le fonctionnement actuel étant peu intuitif).

Ces éléments constitueront la base d’une offre Pro destinée aux entreprises, associations, universités, etc. Cette offre doit me permettre de dépasser (enfin !) le seuil des 5 000 € de chiffre d’affaires annuel, ce qui ne serait pas du luxe.

Toutes les fonctionnalités développées dans ce cadre seront sous licence libre AGPLv3, mais il n’est pas impossible que certaines soient limitées à l’offre Pro dans la version SaaS (à priori, celles qui impliqueront une utilisation plus intensive des ressources du serveur).

Rendez-vous ici dans un an, lors de la sortie de la 4.0 ? 🙂

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

FOSDEM 2027 : les appels à conférences sont ouverts et les archives numériques ont leur devroom !

Ça n'a pas dû échapper à une bonne partie des Linuxfrisés, le FOSDEM 2027 se tiendra samedi 30 et dimanche 31 janvier 2027, sur le campus de l'Université libre de Bruxelles (ULB). L'appel à conférences du programme principal est ouvert jusqu'au 16 novembre, et les 77 devrooms sélectionnées il y a quelques jours ont déjà commencé à leur tour à recruter des intervenants. Parmi ces dernières, et en tant qu'ambassadeur du projet Software Heritage, j'aimerai mettre en valeur la devroom Archives, Libraries, and Digital Memory qui propose notamment de discuter des infrastructures nécessaires à la préservation de notre patrimoine numérique.

Logo FOSDEM

Pour ceux qui l'ignorent, le FOSDEM a une particularité : les devrooms (ce que d'aucuns appellent des tracks, ou sessions en bon français) sont organisées de manière indépendante par les communautés elles-mêmes. Les organisateurs du FOSDEM font un appel à Devrooms et une fois sélectionnées, l'équipe qui a vu sa Devroom retenue a une grande autonomie et est responsable de son propre appel à participation et de la construction de son programme.

Et comme chaque année, l'accès au FOSDEM est gratuit. Pas de billet à acheter pour venir écouter des conférences, retrouver des contributeurs ou troller débattre de vos distros et/ou éditeur préféré autour d'un jus de houblon.

Sommaire

Le programme principal cherche ses conférences

Le 5 octobre dernier, les organisateurs du FOSDEM ont publié leur appel à conférences pour le programme principal (Main Track).

Ces conférences s'adressent à un public assez large, au-delà des communautés techniques réunies dans les différentes devrooms. Elles peuvent porter sur des sujets transversaux, des problématiques communes aux projets libres ou des questions qui méritent une salle plus grande.

Pas besoin pour autant d'éviter les sujets techniques : les organisateurs recherchent aussi bien des présentations pointues que des réflexions plus générales intéressant les communautés du logiciel libre.

Quelques informations pratiques :

  • Deux formats possibles : 25 ou 50 minutes, questions comprises.
  • Les présentations doivent être en anglais et porter sur les logiciels libres ou open source.
  • Les enregistrements, supports de présentation et autres contenus fournis seront publiés sous licence CC BY.
  • Date limite de soumission : 16 novembre 2026.

Les propositions sont à déposer sur leur plateforme de soumission du FOSDEM (basée du Pretalx).

77 devrooms sélectionnées

Le 21 octobre, les organisateurs ont annoncé les devrooms retenues. Sur 128 propositions, 77 ont été sélectionnées. Ces salles thématiques, organisées directement par les communautés donc, constituent une part importante du FOSDEM. On y retrouve des sujets historiques comme notre noyau préféré, les distributions, PostgreSQL, Rust ou la virtualisation, mais aussi des sujets plus d'actualité autour de la souveraineté numérique, de l'accessibilité, de la recherche ouverte ou des communications décentralisées (aka le Fediverse).

La plupart des appels à participation sont maintenant ouverts. Attention : chaque devroom possède son propre calendrier et ses propres modalités de soumission.

Coup de projecteur sur « Archives, Libraries, and Digital Memory »

Full disclosure : je suis ambassadeur de Software Heritage, le projet qui vise à collecter, préserver et rendre accessible le code source des logiciels. C'est une des raisons pour laquelle je souhaite mettre en avant cette devroom, organisée avec Software Heritage et d'autres initiatives de préservation numérique (https://Safeguar.de / https://SciOp.net et https://ecosyste.ms).

La devroom Archives, Libraries, and Digital Memory s'intéresse à une question souvent moins visible que le développement de nouveaux logiciels (ou de leur maintenance, elle aussi parfois négligée, mais c'est un autre sujet) : comment préserver durablement les ressources numériques et permettre aux générations futures d'y accéder ?

Codes sources, logiciels, publications scientifiques, collections numériques, documents historiques… Ces ressources ne resteront accessibles que si nous disposons des formats, des outils, des infrastructures et des compétences nécessaires pour les conserver. L'enjeu dépasse donc largement la simple sauvegarde de fichiers. Préserver une ressource implique de pouvoir la retrouver, vérifier son intégrité, comprendre son contexte et assurer son accessibilité dans la durée.

Et les logiciels libres ont évidemment un rôle à jouer : formats ouverts, infrastructures maîtrisées, outils réutilisables et possibilité de maintenir les logiciels sans dépendre exclusivement d'un fournisseur.

La devroom se tiendra le samedi 30 janvier 2027, de 15h à 19h CET.

Une table ronde et deux types de présentation

La devroom s'articulera autour d'une table ronde intitulée « Managing Infrastructure for Archives and Libraries » (Gérer les infrastructures informatiques des archives et des bibliothèques en bon français). Et les sujets de discussion possibles ne manquent pas : stockage à long terme, réplication, supervision, intégrité des données, gestion des métadonnées, interopérabilité, maintien en condition opérationnelle (aka MCO) des services ou encore pérennisation des plateformes logicielles. Et avec l'explosion des contenus générés par IA, comment conserver des pétaoctets de données sans exploser les coûts ? Comment migrer des infrastructures ? Comment éviter qu'une archive ne devienne inaccessible parce que le logiciel permettant de l'exploiter a disparu ? Autant de questions auxquelles sont confrontés les responsables d'infrastructures, administrateurs système, développeurs et mainteneurs (ne les oublions pas, c'est mon combat !) de ces plateformes documentaires et, osons le mot, patrimoniales !

Comme d'habitude, l'idée est de partager des retours d'expérience concrets, des difficultés rencontrées et des solutions libres que d'autres organisations pourraient réutiliser. L'appel à participation propose trois possibilités :

  • Participer à cette fameuse table ronde Managing Infrastructure for Archives and Libraries ;
  • Présenter une conférence de 30 minutes, questions comprises ;
  • Proposer une présentation éclair (lightning talk) de 7 minutes.

Les organisateurs restent ouverts à d'autres formats, à condition de pouvoir les intégrer au programme.

Pour participer, il faut soumettre une proposition sur la plateforme Pretalx du FOSDEM, sélectionner la piste Archives, Libraries, and Digital Memory, puis indiquer dans le champ « Submission Notes » le format souhaité.

Et le reste ?

Et si les archives numériques ne sont pas votre tasse de thé, il reste la main track et 76 autres devrooms. Parmi celles-ci, oserais-je vous recommander :

  • Tool the Docs, votre serviteur étant un fervent promoteur de l'outillage de la doc, de préférence en Asciidoc quand c'est possible et pertinent ;
  • Railways and Open Transport, car vous y trouverez forcément Walid, le responsable du podcast de LinuxFr.org : Projets Libres !
  • Audio, Video, Graphics and Podcast, vous devriez aussi l'y croiser ;
  • Open Source & EU Policy Devroom, parce que le logiciel (et donc l'open source) est de plus en plus régulé (et que je travaille pour l'une des fondations organisatrice !) ;
  • Beyond the CRA - Building Secure and Resilient Open Source, parce que cela va forcément vous impacter très vite, que vous le vouliez ou non ;
  • Et sinon, il reste aussi /dev/random 😉

Chacune a ses propres dates de clôture, mais la soumission se fait sur la même plateforme du FOSDEM et la date de publication du programme pour toutes les devroom est fixée au 7 décembre. Et dans tous les cas, la liste de diffusion du FOSDEM est votre amie. Ne procrastinez pas.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Revue de presse de l’April pour la semaine 44 de l’année 2026

Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April.

[ZDNET] Libre et open source express: apocalypse de vulnérabilité, entreprises européennes, sortir des Gafam, boycott d’Omarchy

✍ Thierry Noisette, le samedi 31 octobre 2026.

En bref. L’open source a besoin de financements et d’entreprises qui participent, alertent l’EFF et la fondation Linux. Alternatives à la Big Tech. Une distribution Linux controversée.

[Libération] Message anonyme, couacs en série, secret… Dans les coulisses de la crise «PHP», cette journée où le web a tremblé (€)

✍ Elise Viniacourt, le samedi 31 octobre 2026.

La semaine dernière, des milliers de sites, dont celui des impôts ou de préfectures, ont dû être débranchés en urgence. En cause: deux failles découvertes grâce à l’IA dans PHP, un langage informatique. Retour sur un «effet boule de neige» qui a semé la panique.

[Le Monde Informatique] Anthropic révèle que Mythos 5 a tenté de soumettre du code malveillant à un projet open source

✍ Louise Costa, le mercredi 28 octobre 2026.

Lors d’un test de cybersécurité mené par l’AI Security Institute britannique, Mythos 5, le modèle d’Anthropic, a tenté de faire accepter du code malveillant dans un dépôt GitHub. Malgré un premier refus, l’IA a renouvelé sa tentative.

[Next] IA: la Linux Foundation constate l'épuisement croissant des contributeurs

✍ Vincent Hermann, le mardi 27 octobre 2026.

Quel effet produit l’IA sur le développement open source ? Selon un rapport de la Linux Foundation, il est conséquent, entre augmentation de la production brute, abaissement du ticket d’entrée, obligation plus intense de relecture et épuisement d’une partie des personnes impliquées.

[LaDepeche.fr] La Cour des comptes alerte: 100 millions d'euros dépensés par l'État pour Microsoft, des économies possibles avec des logiciels libres

✍ Philippe Rioux, le mardi 27 octobre 2026.

Parler de souveraineté numérique, c’est bien; la mettre en pratique, c’est mieux. Et cela est d’autant plus vrai en ce qui concerne l’État. Telle est la vision de la Cour des comptes qui vient de publier un rapport sur “Les outils bureautiques et collaboratifs au sein de l’État”. À la suite d’une campagne d’initiative citoyenne menée en septembre 2024 par l’institution de la rue Cambon, celle-ci s’est intéressée aux suites bureautiques (traitement de texte, tableur, supports de présentation) et aux logiciels collaboratifs (messageries électroniques ou instantanées, visioconférences, partages de documents, etc.) dans les administrations centrales et déconcentrées de l’État. Ce qui représente rien moins que 860 000 postes de travail informatique.

[01net.] Le Danemark abandonne en silence son test d'un Office open source, sans même en tirer le bilan

✍ Thomas Estimbre, le mardi 27 octobre 2026.

Annoncé en grande pompe l’an dernier, le test d’une suite bureautique open source au ministère danois de la Numérisation a été arrêté sans bruit. Faute d’évaluation, personne ne saura si le ministère pouvait vraiment se passer de Microsoft.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Capitole du Libre les 14 & 15 novembre 2026 à Toulouse

Le Capitole du Libre est un week-end dédié au Logiciel Libre et à la culture libre en Occitanie. Cette année, la treizième édition se tiendra les samedi 14 et dimanche 15 novembre 2026 à l’INP-N7 en centre‐ville de Toulouse.

Logo du Capitole du Libre

Comme chaque année, Toulouse va connaitre les 14 et 15 novembre un week-end placé sous le signe du partage communautaire, autour du numérique et des solutions libres. L’entrée est gratuite, sur simple inscription en ligne.

Sous le slogan « L’événement du Logiciel Libre et de la culture libre en Occitanie », le Capitole du Libre s’adresse à toute personne : novice curieuse, bidouilleuse confirmée, passionnée, ou simple flâneuse numérique.

Que nous réserve ce week-end libre & convivial ?

  • Beaucoup de personnes ont voulu partager leur passion en proposant de nombreuses présentations parmi lesquelles près de 120 conférences et 10 ateliers ont été retenues. Au menu : sécurité informatique, DevOps, développement web, création graphique libre, jeux libres, enjeux sociétaux autour du numérique ouvert, de nombreux débats sur l'Intelligence Artificielle et ses impacts, il y en aura pour tous les goûts !
  • Un village associatif riche de personnes engagées du libre : discutez avec de nombreuses associations et leurs bénévoles. C'est l'occasion de découvrir, et pourquoi pas, de s’impliquer !
  • Un espace “Adoptez le logiciel libre” : que ce soit pour installer Linux ou simplement poser vos questions, des bénévoles efficaces seront là pour vous renseigner, et peut-être repartir avec des outils libres ! L'atelier est ouvert aux propriétaires d'ordinateurs mais aussi de téléphones. Organisé en collaboration avec le club informatique de l'N7.
  • Un atelier "Initiation au Code" : venez découvrir de manière ludique le code. L'atelier est adapté à tous les âges (y compris les plus jeunes) et est réalisé en collaboration avec l'EPITECH.
  • Et bien sûr, la convivialité : un week-end pour rencontrer de nouvelles personnes, échanger avec les habitué·e·s, et surtout apprendre dans une ambiance détendue. Le samedi soir, un moment festif est prévu.

Deux conférences plénières

Quelques exemples de conférences/ateliers

Pourquoi faut-il y aller ?

Le libre ne se limite pas au code : c’est d'abord une culture et des valeurs partagées, des projets humains qui se construisent ensemble.
Nous avons la chance de vivre dans une région peuplée de passionnés de technologie libre, et comme le Capitole du Libre attire aussi des visiteurs·ses de bien au delà de l'Occitanie, c'est un rendez-vous à ne pas manquer pour aller à leur rencontre.
Que l'on souhaite y passer par simple curiosité, découvrir de nouvelles choses, ou bien retrouver d'autres passionné·e·s, toutes et tous sont les bienvenues !
Et en plus c'est gratuit, alors pourquoi se priver ?

Infos pratiques

  • 📅 Dates : samedi 14 et dimanche 15 novembre 2026.
  • 📍 Lieu : INP-N7, 2 rue Charles Camichel, 31000 Toulouse.
  • 🎟️ Entrée gratuite, mais inscription en ligne obligatoire.
  • ✅ Ouvert à tous les ages et tous les niveaux.
  • 🍴 Sur place : food-trucks pour les midis (et de nombreux choix à l'extérieur dans le quartier).

Affiche

En un mot

Avec le Capitole du Libre, plongez dans l’univers du libre sous toutes ses formes : un lieu de découvertes, de rencontres et de partages.
Réservez votre week-end : inscrivez-vous gratuitement et venez vivre le numérique autrement !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Découverte du langage Elixir

Beaucoup de Rust par-ci… Un peu de Go par-là… Saupoudrez de LLM selon vos goûts et vous aurez une bonne photographie des sujets qui préoccupent les développeurs sur l'Internet d'aujourd'hui.
Alors, n'est-ce pas le meilleur moment pour se rafraîchir l'esprit avec des langages plus discrets ?
Je vous propose ici une présentation accélérée d'Elixir.

Sommaire

Un langage de programmation fonctionnelle

Ceux qui ont déjà fait de la programmation orientée objet organisent principalement leur code autour d'objets et d'instances. Cette approche a ses avantages, mais cela nécessite d'encapsuler la donnée et la gestion des changements d'état peut parfois devenir complexe.
De son côté, la programmation fonctionnelle privilégie les fonctions qui, au lieu de masquer les données, transforment simplement des entrées en sorties.
Elixir s'appuie essentiellement sur ce paradigme.

Correspondance de motifs (ou Pattern matching)

En Elixir, le signe égal n'est pas une affectation mais plutôt une assertion.
Ainsi, on n'affecte ou ne modifie la valeur que de la variable située à gauche du signe égal. À droite, la variable est remplacée par sa valeur. Exemple avec iex, la console interactive :

iex> a = 2
2
iex> 2 = a
2
iex> 1 = a
** (MatchError) no match of right hand side value: 2

Cette ligne de code échoue car elle équivaut à 1 = 2, ce qui provoque une erreur.
À noter que le caractère _ sert à ignorer une valeur, ainsi :

iex> [1, _, _] = [1, 2, 3]
[1, 2, 3]

La correspondance de motifs en Elixir est similaire à celle d'Erlang (ces deux langages utilisent la même VM).
Joe Armstrong, le créateur d'Erlang, compare ce signe égal à celui utilisé en algèbre : lorsque vous écrivez l'équation x = a + 1, vous n'attribuez pas la valeur de a + 1 à x.
Cette correspondance sert essentiellement à vérifier la forme d'une valeur, à en extraire des éléments et à traiter différemment les résultats d'une opération selon qu'elle réussit ou échoue.
Tout cela est un peu déroutant au début mais très puissant.

Module, fonctions et clauses de garde

Dès qu'un programme dépasse quelques lignes, il devient nécessaire de le structurer.
En Elixir, les fonctions nommées doivent être écrites à l'intérieur de modules :

defmodule BestMovie do
  def ever(name) do
    IO.puts "Le meilleur film de tous les temps est `#{name}`."
  end
end
BestMovie.ever("La cité de la peur") #=> Le meilleur film de tous les temps est `La cité de la peur`.

De son côté, la macro defp définit une fonction privée, c'est-à-dire une fonction qui ne peut être appelée qu'au sein du module qui la déclare :

defmodule MonModule do
  def fonction_publique do
    fonction_privée()
  end

  defp fonction_privée do
    IO.puts "Je suis appelé depuis une fonction privée"
  end
end
MonModule.fonction_privée()   #=> ** (UndefinedFunctionError) function MonModule.fonction_privée/0 is undefined or private.
MonModule.fonction_publique() #=> Je suis appelé depuis une fonction privée

En Elixir, la correspondance de motifs s'applique aux arguments des fonctions : plusieurs peuvent porter le même nom mais le langage choisira la fonction dont les motifs correspondent aux arguments.
Au moyen du mot clé when, les clauses de garde permettent d'étendre cette correspondance de motifs à des vérifications plus complexes comme la distinction des types d'arguments ou un test portant sur leurs valeurs :

defmodule GuardClause do
  def what_is(x) when is_number(x) and x > 0 do
    IO.puts "#{x} est un nombre positif"
  end

  def what_is(x) when is_list(x) do
    IO.puts "#{inspect(x)} est une liste"
  end
end
GuardClause.what_is(99)      #=> 99 est un nombre positif
GuardClause.what_is([1,2,3]) #=> [1,2,3] est une liste

Toutes les expressions ne sont pas autorisées dans les clauses de garde, mais seulement quelques-unes.
Il s'agit d'un choix délibéré du langage pour garantir une exécution efficace.

Listes et récursivité

En Elixir, une liste peut être vide ou se composer d'une tête et d'une queue. La tête (head) contient une valeur et la queue (tail) est elle-même une liste :

iex> [ head | tail ] = [ 1, 2, 3 ]
[1, 2, 3]
iex> head
1
iex> tail
[2, 3]

Ainsi, une liste à un seul élément (que nous écririons habituellement sous la forme [4]) peut s'écrire comme la valeur 4 jointe à une liste vide, soit [ 4 | [ ] ].
Cette définition permet d'aborder certains problèmes de manière récursifs et donc sans s'appuyer sur une variable de boucle et/ou les traditionnels if et else :

defmodule MyList do
  def flip([]), do: []
  def flip([ head | tail ]) do
    flip(tail) ++ [head] # `++` permet de concaténer des listes
  end
end
MyList.flip([1, 2, 3, 4, 5]) #=> [5, 4, 3, 2, 1]
# Explication pas à pas :
#   flip([1, 2, 3, 4, 5])
#     ↳ flip([2, 3, 4, 5]) ++ [1]
#         ↳ flip([3, 4, 5]) ++ [2] ++ [1]
#             ↳ flip([4, 5]) ++ [3] ++ [2] ++ [1]
#                 ↳ flip([5]) ++ [4] ++ [3] ++ [2] ++ [1]
#                     ↳ flip([]) ++ [5] ++ [4] ++ [3] ++ [2] ++ [1]
#                         ↳ [] ++ [5] ++ [4] ++ [3] ++ [2] ++ [1]
#                             ↳ [5, 4, 3, 2, 1]

Note : l'usage de ++ est moins efficace qu'une version utilisant une variable pour accumuler le résultat mais cette approche reste plus didactique pour découvrir la récursion.

L'opérateur pipe

Nous avons tous déjà croisé du code séquentiel où chaque étape dépend du résultat de la précédente :

  cart = ShoppingCart.for_user(user_id)
  items = Inventory.check_availability(cart)
  total = Pricing.calculate_total(items, tax: 1.2)

L'ordre des opérations est clair, mais au final les variables intermédiaires sont là pour éviter des appels imbriqués :

Pricing.calculate_total(
  Inventory.check_availability(
    ShoppingCart.for_user(user_id)
  ),
  tax: 1.2
)

Elixir propose d'écrire ce type de code d'une façon fluide et sans variable intermédiaire :

user_id
|> ShoppingCart.for_user()
|> Inventory.check_availability()
|> Pricing.calculate_total(tax: 1.2)

L'opérateur |> prend le résultat de l'expression située précédemment et l'insère en tant que premier paramètre de l'appel de la fonction suivante.

L'exercice sympa qui utilise tout ça (ou presque)

Maintenant que vous avez les bases, je vous propose un exercice qui m'avait bien plu lorsque j'ai découvert le langage au travers le livre de Dave Thomas : trouver un nombre compris dans un intervalle donné (ex : 1..100 dans une expression ou 1..100//1 pour effectuer une correspondance de motifs, //1 correspondant au pas).
Il existe plusieurs façon de résoudre le problème mais voici ma solution :

defmodule Devine do
  def en_tatonnant(cible, min..max//1) when is_integer(cible) and is_integer(min) and is_integer(max) and cible > min and cible < max do
    estimation = div(min + max, 2)
    IO.puts "Est-ce #{estimation} ?"
    guess(cible, min..max, estimation)
  end
  def en_tatonnant(cible, min..max//1) when not is_integer(cible) or not is_integer(min) or not is_integer(max) or cible < min or cible > max do
    IO.puts "Très drôle…"
  end
  defp guess(cible, min.._//1, estimation) when estimation > cible do
    IO.puts "Non, c'est plus petit… Maintenant on va rechercher entre #{min} et #{estimation}"
    en_tatonnant(cible, min..estimation)
  end
  defp guess(cible, _..max//1, estimation) when estimation < cible do
    IO.puts "Non, c'est plus grand… Maintenant on va rechercher entre #{estimation} et #{max}"
    en_tatonnant(cible, estimation..max)
  end
  defp guess(cible, _, estimation) when estimation == cible do
    IO.puts "Mais oui, c'est bien #{estimation} 🤩"
  end
end
Devine.en_tatonnant(273, 1..1000)
#=> Est-ce 500 ?
#=> Non, c'est plus petit… Maintenant on va rechercher entre 1 et 500
#=> Est-ce 250 ?
#=> Non, c'est plus grand… Maintenant on va rechercher entre 250 et 500
#=> Est-ce 375 ?
#=> Non, c'est plus petit… Maintenant on va rechercher entre 250 et 375
#=> Est-ce 312 ?
#=> Non, c'est plus petit… Maintenant on va rechercher entre 250 et 312
#=> Est-ce 281 ?
#=> Non, c'est plus petit… Maintenant on va rechercher entre 250 et 281
#=> Est-ce 265 ?
#=> Non, c'est plus grand… Maintenant on va rechercher entre 265 et 281
#=> Est-ce 273 ?
#=> Mais oui, c'est bien 273 🤩

Et maintenant

Vous vous doutez bien que je n'ai fait qu'effleurer le sujet mais j'ai trouvé le langage Elixir tellement singulier que je n'ai pas résisté à l'envie de vous le présenter.
Je continue ma découverte de ce langage, à mon rythme ; en ce moment, j'aborde la programmation concurrente.
À n'en pas douter, j'enchaînerai sur le framework Phoenix !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Emacs a 50 ans

Joyeux anniversaire Emacs ! Comme Slashdot l’a opportunément relevé, ce bel éditeur a maintenant un demi-siècle, ce qui semble complètement dingue.

J’avais déjà clamé mon admiration ici il y a quelques années, alors c’est l’occasion de revenir sur ce beau morceau de logiciel, qui ne fait pas son âge (comme moi, donc), et sur ce qu’on peut encore faire avec aujourd’hui.

Il a eu une vie un poil mouvementée, né à partir de TECO, réécrit complètement par Richard Stallman pour devenir GNU Emacs, forké vers XEmacs… On pourra bien entendu rappeler les innombrables flame wars avec Vim, les aphorismes usuels (Eight megs and constantly swapping, Emacs est un système d’exploitation auquel il manque un bon éditeur de texte…). C’était le bon temps.

Emacs a perdu de sa superbe aux grands moments des IDE tout intégrés, mais finalement c’est de là qu’est venue la libération, et ironiquement on peut remercier Microsoft. Avec l’apparition du Language Server Protocol, qui a découplé le langage de l’éditeur et permis le lint, l’auto-complétion, les erreurs en ligne et autres, Emacs est redevenu tout à fait productif, et j’aurais envie de dire, tout du moins dans mon cas, un meilleur éditeur C++ que les VScode et CLion, proposant des fonctionnalités similaires, voire supérieures (Mode tramp ssh + docker par exemple), pour une bien plus grande légèreté et stabilité. Et à chaque fois que je dois écrire ou lire quelque chose, que ce soit du texte, ma TODO list, du C++, du shell, du Latex, du Yaml, ou, Cthulhu me protège, du Python, eh bien Emacs reste l’endroit le plus pratique pour tout ça, avec dans le pire des cas un petit paquet melpa à installer rapidos pour être complètement dans le bain.

Emacs est surprenamment encore pertinent en ces jours de vibe coding: les LLMs sont plutôt doués en LISP, et faire écrire son propre mode devient trivial. Il y a tout un tas de modes pour s’intégrer avec un agent, dont agent-shell est l’un des plus aboutis. J’ai ainsi codé un petit mode très spécialisé qui m’affiche ma liste de projets, et me permet de créer un nouveau workspace git en m’ouvrant une fenêtre magit, une fenêtre agent-shell, et une fenêtre dired, le tout à travers un tramp - Me donnant un espace de travail complet et intégré pour travailler sur une machine de dev à distance comme si j’y étais.

Prochaine étape, le centenaire !

Ce texte a bien entendu été tapé dans Emacs. On ne se refait pas.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Hadron, le futur de macOS court-circuite tout macOS

Un hadron est une particule composite, composée de particules subatomiques régies par l'interaction forte, nous dit Wikipédia. Si cela vous fait penser à Proton, ce n’est peut-être pas parce qu’un proton est un hadron, mais parce que Hadron, comme Proton, promet de faire tourner vos jeux (et plus) n’importe où, même sur des systèmes terreux.

Logo Hadron

Vous connaissez peut-être Proton, l’assemblage de Wine et d’autres composants libres que Valve emploie pour faire tourner des jeux Windows sous Linux pour sa plate-forme Steam. Hadron propose la même chose pour macOS.

Des jeux Windows ? Sous macOS ? Quel est le 🌀️💀️⚡️⁉️ de rapport avec LinuxFr.org et son objectif de promotion des logiciels libres ? C’est parce que Hadron est construit de briques libres du sol au plafond : Wine, FEX, Mesa, vkd3d…

Sommaire

7zFM sur macOS et Apple Silicon grâce à HadronLe logiciel libre 7zFM pour Windows x86-64 s‘exécutant sur un Mac mini M1 sous macOS 27 sans utiliser Rosetta 2.

Le développement de Hadron est encore très jeune, confidentiel, mais très rapide et réactif. Votre serviteur a testé de faire tourner le jeu libre Unvanquished et a rencontré deux bugs (1, 2) qui ont tous deux été corrigés dans les deux jours (1, 2), et une nouvelle version incorporant les correctifs a été publiée sous cinq jours (1).

Les spéculations sur « qui est derrière Hadron » pourraient se tourner naturellement vers Valve, qui est le premier bénéficiaire économique d’un tel système, mais le README du projet Hadron est explicite : « It is unofficial. Hadron is not affiliated with or endorsed by Valve, Apple, CodeWeavers or any of the projects it builds on », « C’est un projet non officiel. Hadron n’est ni affilié à, ni approuvé par Valve, Apple, CodeWeavers ou l’un des projets sur lesquels il s’appuie ».

Il semble donc que Hadron soit simplement l’initiative de son auteur David Andrews (Broyojo), ni plus ni moins.

Au delà de la proximité de nom entre Hadron et Proton, Hadron reste délibérément focalisé sur Steam : la fenêtre qui s’affiche quand vous lancez Hadron ne sert qu’à intégrer Hadron à Steam, et les premières versions ne proposaient d’ailleurs pas d’option pour lancer un programme non-Steam (fonctionnalité ajoutée très rapidement en quelques jours aussi). Le but premier de Hadron est Steam, et quand vous rapportez un bug pour un jeu, il vous est demandé l’identifiant Steam de ce jeu (cet identifiant est heureusement optionnel).

Pourquoi Hadron ?

En 2027, Apple sortira macOS 28 et à cette occasion, a prévu de drastiquement réduire l’étendue de la compatibilité Rosetta 2. Rosetta 2 est le système de traduction automatique qui permet de faire tourner des binaires amd64 (x86-64) sur arm64 (Apple Silicon ici, dans les macs « M »). Rosetta 2 a un 2 parce que Rosetta premier du nom s’occupait de traduire les binaires PowerPC vers Intel il y a très longtemps. Par commodité nous dirons simplement Rosetta au lieu de Rosetta 2 dans la suite de l’article.

Apple a annoncé que Rosetta ne sera plus disponible pour les applications, mais qu’ils conserveront une petite sous-partie prévue uniquement pour faire tourner des vieux jeux non maintenus s'appuyant sur des bibliothèques pour Intel (« we will keep a subset of Rosetta functionality aimed at supporting older unmaintained gaming titles, that rely on Intel-based frameworks » (source). C’est une affirmation super floue. Que restera-t-il de Rosetta ? Sur quoi pourra-t-on compter et ne pas compter ?

Pour Apple, décommissionner Rosetta a un intérêt : ne plus fournir toutes les bibliothèques systèmes en double, ne plus avoir à apporter de la maintenance et du code système pour l’architecture amd64, etc. Tout l’effort de migration vers arm64 est entièrement externalisé vers le développeur indépendant. Ça coûte très cher à l’échelle globale, mais rien du tout pour Apple, et leur clientèle est suffisamment captive pour que le développeur au milieu y soit contraint. Si un développeur échoue à porter son logiciel, le développeur perdra des ventes, mais pas nécessairement Apple. Ce n’est pas le problème d’Apple, surtout quand l’acquisition du logiciel a lieu probablement en dehors de leur marché. Ceci est d’autant plus vrai en dehors du jeu : un logiciel de production concurrent remplace facilement un autre s’il venait à disparaître.

Pour un consommateur de jeu, c’est insupportable : il ne veut pas perdre son jeu parce que le développeur ne le développe plus. Il y a un attachement affectif, le joueur y a investi une partie de sa vie, il peut être attaché à l’histoire, etc. Et si le jeu est encore développé, le joueur ne trouve pas d’intérêt à ce que le développeur se retrouve avec plus de travail qui ne lui apportera aucun changement en jeu. Rajouter gratuitement du travail au développeur de jeu n’apporte rien au joueur.

Et pour une plate-forme tierce de vente et de location de logiciels comme Steam et autre GOG GALAXY, c’est une catastrophe : si un développeur échoue à porter son logiciel, ou n’est plus disponible pour cette tâche, ce sont des ventes en moins pour le développeur et pour le vendeur. Un vendeur de jeux qui prend sa commission à chaque vente (et dont ce serait la première sinon la seule activité économique) a intérêt à ce que le moindre effort soit proposé aux développeurs de jeux.

L’architecture de Hadron

Ne pas confondre avec le Grand collisionneur de hadrons ! L’architecture de Hadron est très différente, mais fait aussi se rencontrer plein de particules élémentaires libres pour observer des effets très intéressants.

Diagramme de l’architecture de Hadron Diagramme de l’architecture de Hadron, telle que décrite dans la documentation du projet.

FEX, le traducteur automatique d’instruction processeur

Comme alternative à Rosetta pour traduire les instructions amd64 vers arm64 pour exécuter des logiciels, il existe au moins deux logiciels libres : FEX (dont le développement était initialement secrètement soutenu par Valve), et Box64 développé par notre ptitSeb national.

Ces deux logiciels libres ont été à la base développés pour s’exécuter sous Linux. Hadron a choisi FEX et le fait tourner sous macOS. Ainsi, plus besoin de compter sur Rosetta et d’être dépendant du bon-vouloir d’Apple !

Le choix de FEX correspond bien à l’écosystème de Valve : l’intégration de FEX peut prendre exemple sur celle déjà réalisée pour Steam sur le Steam Frame (un produit de réalité virtuelle tournant sous Linux et sur ARM), et permet d’hériter des tests déjà réalisés par Valve pour le Steam Frame.

En intégrant FEX, Hadron rend les jeux et autres logiciels indépendants de la volonté d’Apple d’abandonner la prise en charge de l’architecture x86.

Wine, l’implémentation libre des API Windows

On ne présente plus Wine, le logiciel libre qui permet de faire tourner depuis des décennies des programmes Windows sous Linux, BSD et macOS. En 2022 Arek Hiler avait prononcé la désormais célèbre phrase Win32 Is The Only Stable ABI on Linux, Win32 est la seule interface binaire de programmation qui soit stable sous Linux. Ce constat de l’ABI Win32 comme une interface très stable s’étend en fait bien au-delà des utilisateurs de Linux.

Wine est une brique fondamentale de Proton, la sous-couche de Valve pour faire tourner des jeux Windows sous Linux. Hadron fait de même pour macOS.

Hadron intègre donc FEX et Wine pour faire tourner des programmes Windows compilés pour x86 (32-bit et 64-bit) sur les macs exécutant macOS sur des processeurs ARM. L’héritage Wintel ne s’effacera donc jamais.

En intégrant Wine, Hadron rend les jeux et autres logiciels indépendants des interfaces de programmation de macOS.

Mesa, Zink et KosmicKrisp

Mesa est la collection de pilotes graphiques libres qui domine nos écosystèmes Linux et BSD. Mais Mesa propose aussi des pilotes pour d’autres plate-formes, comme Windows et macOS.

L’article Le pilote open-source Vulkan pour AMD “RADV” de chez Mesa bientôt disponible sous Windows ? posait ce constat en répondant à la question « Et pour Vulkan sur macOS ? » :

En participant au développement de RADV sous Linux et Windows, Valve se donne le pouvoir de contrôler la qualité de la pile logicielle d’exécution des jeux qu’ils vendent, jusqu’au pilote graphique inclus.

Pour macOS, la solution n’est pas à voir du côté de RADV (les derniers macs n’ont plus de cartes graphiques AMD de toute façon), mais du côté de MolktenVK et KosmicKrisp, des pilotes libres convertissant les appels Vulkan vers l’API Metal de macOS.

Sur macOS Vulkan est déjà disponible grâce à MoltenVK, une implémentation libre traduisant Vulkan pour l’API propriétaire Metal de macOS. Valve a investi dans MoltenVK. Cela permet par exemple à Valve de faire tourner leur jeu Dota2 sur macOS et pouvoir continuer à le vendre aux utilisateurs de macOS sans se soucier de l’obsolétisation d’OpenGL sur macOS par Apple.

KosmicKrisp est lui un pilote Mesa qui fait de même (convertir Vulkan vers Metal) mais de façon intimement spécialisée pour les puces AGX que l’on trouve dans les ordinateurs Apple M1, M2, etc. (aussi appelé « Apple Silicon »).

Et vous le voyez venir en mille, Hadron intègre KosmicKrisp pour fournir la prise en charge de l’API graphique Vulkan. KosmicKrisp traduit les appels Vulkan vers l’Interface de programmation (API) propriétaire Metal.

En intégrant KosmicKrisp, Hadron rend les jeux et autres logiciels indépendants de la politique d’Apple refusant de prendre en charge le standard industriel Vulkan.

Mais, et pour OpenGL ? Zink est un pilote Mesa qui implémente OpenGL au dessus de Vulkan, quel que soit le système (Zink tourne déjà sous Linux et Windows, et donc aussi macOS comme on peut le voir). Voilà, problème résolu.

En fait macOS fournit déjà OpenGL, mais ils l’ont déclaré obsolète depuis longtemps et ne fournissent qu’une ancienne version 4.1 qui date de 2010 (16 ans déjà !) qui est 7 ans plus ancienne que la dernière version d’OpenGL (4.6).

Zink implémente donc OpenGL 4.6 et en intégrant Zink, Hadron rend les jeux et autres logiciels indépendant de la volonté d’Apple d’abandonner OpenGL.

Et au passage, Zink propose la dernière version d’OpenGL et est un pilote désormais bien connu des développeurs de jeu, c’est tout bénef !

Hadron a comme politique de favoriser Zink à la place de l’implémentation OpenGL maison d’Apple. Quand un des bugs donnés comme exemple et affectant Unvanquished a été rapporté, l’expérimentation avait été réalisée avant que Hadron ne propose un moyen simple de lancer un logiciel en dehors de Steam, et donc l’expérimentation avait été faite en appelant Wine directement sans passer par le lanceur de Hadron. Le développeur Broyojo a constaté en lisant le journal du moteur de jeu Dæmon que dans ces circonstances, le jeu utilisait l’implémentation OpenGL d’Apple, chose qu’il s’est empressé de corriger fissa. Et pour le coup, ce changement est ce qui a corrigé le bug, trop facile.

L’article sur RADV et Windows indiquait :

Pour un distributeur de jeu vidéo comme Valve c’est excellent : ça signifie que — si nécessaire — le jeu peut être distribué avec RADV sur Windows et Linux pour les utilisateurs de cartes graphiques AMD, et MoltenVK ou KosmicKrisp sur macOS afin de fournir une expérience Vulkan finement contrôlée, et autres combinaisons sus-mentionnées. Cela permet de contrôler et donc d’assurer au maximum la compatibilité d’un jeu.

Nous y sommes. À part que cette fois-ci, ce n’est pas Valve qui en aurait eu l’initiative.

vkd3d-proton, DirectX 12 sur KosmicKrisp

Là où Zink implémente OpenGL sur Vulkan, vkd3d-proton fait de même et implémente DirectX 12 sur Vulkan, lui-même implémenté par KosmicKrisp.

DirectX 12 est l’interface de programmation graphique propriétaire de Microsoft pour Windows, elle est similaire à Metal et Vulkan.

Un développeur de jeu libre n’en a pas besoin : il peut utiliser OpenGL ou Vulkan, mais de très nombreux jeux utilisent Direct X 12, et Hadron s’assure donc de fournir cette prise en charge.

Comme son nom l’indique, vkd3d-proton est une brique essentielle de Proton, et l’est aussi maintenant pour Hadron.

mtld3d et DXMT, les plus anciens Direct3D sur Metal

Vous connaissez peut-être le logiciel DXVK qui implémentent Direct3D 8, 9, 10 et 11 au dessus de Vulkan. Vous aviez peut-être entendu parlé de D9VK qui faisait de même pour D3D9 mais qui est désormais intégré à DXVK, ou WineD3D qui implémentait Direct3D 8, 9, 10 et 11 au dessus de OpenGL.

Proton utilise DXVK sous Linux, implémentant donc D3D sur Vulkan, et Hadron pourrait faire de même, à la façon dont c’est effectivement implémenté avec vkd3d-proton.

Mais il existe deux logiciels qui implémentent D3D sur l’API Metal directement, ce qui permet de supprimer une couche intermédiaire de traduction.

Ces deux logiciels libres sont mtld3d qui implémente D3D9 sur Metal, et dxmt qui implémente D3D10 et D3D11 sur Metal.

Pour D3D8, Hadron ne précise pas si quelque chose est prévu, mais il devrait être possible d’utiliser DXVK, ou encore d3d8to9 qui implémente D3D8 sur D3D9. Et on peut supposer que rien ne devrait techniquement empêcher d’utiliser dd7to9 et autres projets de ce type (voir dxwrapper pour plus de détails).

Win32 + Vulkan + AMD64, la plate-forme universelle ?

Pour un développeur de logiciel libre, ces APIs DirectX sont peu utiles, mais tout le reste de cet écosystème peut profiter aux développeurs de logiciels libres.

Les compilateurs libres du projet MinGW permettent de compiler pour Win32. Wine permet de faire tourner ces programmes Win32 ailleurs que sur Windows. Et en s’appuyant sur les API graphiques OpenGL ou Vulkan, et des bibliothèques comme OpenAL ou SDL pour le son, le fenêtrage et les entrées, un développeur de jeu libre peut donc produire un seul binaire entièrement libre de la tête aux pieds qui tourne partout, sous Linux, BSD, macOS ou Windows.

Alors bien évidemment, certains préféreront un programme natif à leur système, avec de bonnes raisons. Mais quand un lanceur comme Steam ou une alternative libre comme Lutris fait toute l’intégration pour vous, tout ce qui retient se réduit à un attachement affectif (et ça compte beaucoup). C’est un chagrin légitime mais il n’empêche pas de jouer.

Wine fait déjà tourner naturellement les programmes x86 sur Linux et autres BSD. FEX peut être associé à Wine pour faire tourner des programmes Windows x86 sous Linux et macOS sur les processeurs ARM. Et Box64 sait faire de même sous Linux, non-seulement sur ARM64, mais aussi sur PowerPC (en mode petit-boutiste), RISC-V et Loongson.

Certains ont pu déclarer que « AMD64 is the new Java », en réalité, c’est peut-être la triforce Win32 + Vulkan + AMD64 qui est ce nouveau Java. Vous ferez peut-être autant la grimace, mais ça ne marche pas moins.

Et avec Hadron, votre prochain environnement de développement pour macOS pourrait simplement être MinGW, trop bien !

Avec Hadron, le futur de macOS court-circuite tout macOS, et Apple ne peut rien y faire.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Et si vous louiez votre prochain appareil électronique ?

J’ai fait récemment deux découvertes étonnantes sur le réseau social du groupe bancaire dans lequel je travaille.

  1. Il existe un groupe de veille sur l’open source et les alternatives aux Gafam ;
  2. Ce groupe a récemment mis en ligne une conférence de découverte des distributions alternatives pour ordiphone, des ordiphones « différents », et enfin d’une autre manière de se procurer un ordiphone (entre autres).

Cette manière différente est de le louer à la SCIC Commown.

J’avoue que me serais plus attendu à faire cette découverte sur Linuxfr qu’au boulot… Quelques détails complémentaires dans la dépêche !

Comment ça marche ?

C’est très simple : le site de Commown propose divers matériels dégafamisés (ordiphones, pc portables ou fixes, casques audio) à louer selon différentes modalités.

Une fois le dépôt de garantie réglé, l’ordiphone vous est envoyé, à vous de régler les mensualités. Commown s’occupe de toute panne logiciel ou matérielle, en renvoyant un autre appareil au besoin.

Pourquoi ça donne envie ?

  • Parce que l’offre est bien travaillée, avec notamment une dégressivité marquée de 6 % des mensualités chaque année, avec un plancher à 60 % de la mensualité d’origine, et un matériel dégafamisé.

  • Parce que la démarche est vraiment très poussée et ne ressemble pas à un greenwashing quelconque. J’aime beaucoup par exemple l’incitation à ne pas forcément devenir client de suite tant qu’un changement d’appareil n'est pas nécessaire, mais
    à souscrire à un « bon de consom’action » donnant droit à une réduction dans le futur tout en asseyant la solidité financière de la coopérative.

Prêt à sauter le pas ?

Je réfléchirai sérieusement à souscrire à une de leur offre quand je serai venu à bout de mon Fairphone 3+ sous /e/OS, à moins que je ne souscrive un bon.

Et vous, que pensez-vous de ce type d’offre ?

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Le Capitole du Libre, la conférence sur le libre à Toulouse depuis 2011 - Podcast Projets Libres

Les 14 et 15 novembre prochain aura lieu le Capitole du Libre, la grande conférence autour du libre à Toulouse, qui existe depuis 2011.

Logo Capitole du Libre

Dans cet épisode, avec Lionel Porcheron et Guillaume Gasnier, nous retraçons l'histoire du Capitole du Libre, de ses débuts en tant qu'Ubuntu Party jusqu'à l'organisation telle que nous la connaissons de nos jours.

Logo Podcast Projets Libres

Nous parlons :

  • de l'association Toulibre
  • de sa pérennité et son financement
  • de ses inspirations
  • de ses transformations successives : d'un évènement local à une conférence nationale
  • des impacts d'évènements extérieurs tels que le COVID et des attentats de 2015
  • de ce que l'on peut attendre pour l'édition 2026 !

Venez nous rejoindre au Capitole du Libre dans quelques semaines, l'équipe de Projets Libres y sera !

Comme d'habitude, une transcription complète est disponible (merci Guillaume Gasnier pour son travail de relecture et amélioration).

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Au café libre - « Libre à vous ! » du 20 octobre 2026 - Podcasts et références

289ème émission Libre à vous ! de l’April. Podcast et programme :

  • sujet principal : Au café libre (actualités chaudes, ton relax) : échanges autour de l’actualité du logiciel libre et des libertés informatiques, avec Gee, Magali Garnero alias Bookynette et Maud Royer
  • la chronique Les humeurs de Gee sur « Mort à la pub »
  • la chronique Libérons notre quotidien, pas après pas, app après app d’Anne L’Hôte sur « Un coffre-fort pour la cybersécurité »

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.

Vous pouvez laisser un message sur le répondeur de la radio, pour réagir à l’un des sujets de l’émission ou poser une question. Le 289éro du répondeur : +33 9 72 51 55 46.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Lettre d'information XMPP de septembre 2026

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 septembre 2026.

La lettre d’information XMPP vous est proposée par l'Équipe de communication de la XSF.

Comme tout autre projet accompli par la XSF, la lettre d’information est le résultat du travail volontaire de ses 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

    Évènements XMPP

    Voir également la page des évènements XMPP.

    Vidéos et conférences XMPP

    Articles XMPP

    Nouvelles des logiciels XMPP

    Clients et Applications XMPP

    Serveurs XMPP

    • ejabberd a publié la version 26.09 de son serveur XMPP robuste, évolutif et extensible. Cette mise à jour de sécurité corrige une vulnérabilité permettant l’exécution de code à distance sans authentification, un déni de service BOSH et un problème d’accès cross-tenant dans les salons et les listes de contacts. Il est donc vivement recommandé d’effectuer la mise à jour. Elle ajoute également la prise en charge facultative d’un CAPTCHA hashcash XEP-0158 pour l’inscription in-band (NdR : c’est-à-dire directement depuis un client XMPP) et améliore la prise en charge des "vhost-admins". Consultez l'annonce de la version pour tous les détails.

    • MongooseIM a publié la version 6.9.0 de sa solution de messagerie instantanée d’entreprise. Vous trouverez tous les détails dans le journal des modifications.

    • Prosody IM a le plaisir d’annoncer la version 13.0.7, une nouvelle version mineure de la branche stable. Cette mise à jour est relativement modeste, mais plusieurs corrections de bogues sont importantes à leur manière. L’une d’elles, qui provoquait des problèmes sur les systèmes BSD, mérite particulièrement d’être signalée : il est vivement recommandé aux utilisateurs de BSD de mettre à jour leur version. Le profil TLS a également été modifié : sa source est désormais tlsref.org, qui héberge maintenant les recommandations de configuration précédemment publiées par Mozilla. Pour en savoir plus, consultez le journal des modifications !

    Bibliothèques et outils XMPP

    Annonces de la XSF

    Adhésions à la XSF

    Être membre élu de la fondation pour les standards XMPP témoigne d’un engagement en faveur des normes ouvertes et d’une participation professionnelle dans et avec la communauté XMPP. Votre adhésion contribue à faire de la XSF une organisation solide, ce qui est déjà précieux en soi. Elle vous confère également le droit de vote sur les questions techniques et administratives au sein de la XSF. La procédure de candidature est simple et gratuite, et votre adhésion peut aussi vous permettre de vous impliquer plus et plus facilement. Si vous souhaitez rejoindre la fondation pour les standards XMPP en tant que membre, veuillez répondre à notre 4ᵉ appel à candidatures trimestriel avant le 29 novembre 2026 à 00:00 UTC.

    Élections du Board et du Council 2026 de la XSF

    La fondation pour les standards XMPP (XSF) invite les personnes intéressées à se porter candidates au conseil d’administration et les membres à siéger au Conseil XMPP pour la période 2026/2027. Si vous souhaitez vous présenter au conseil d’administration ou au Conseil XMPP, veuillez ajouter une page wiki présentant votre candidature dans l’une ou les deux sections susmentionnées avant le 8 novembre 2026 à 00:00 UTC. Participez aux décisions de la fondation et aux spécifications publiées par la XSF. Remarque : les membres du Conseil XMPP doivent être membres élus de la XSF ; cette restriction ne s’applique toutefois pas au conseil d’administration.

    Extensions et spécifications

    La fondation pour les standards XMPP 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.

    • SASL2 Terms of Service Acceptance Task
      • Cette spécification définit une tâche SASL2, au sens du mécanisme d’extensibilité de XEP-0388, qui permet à un serveur d’exiger d’un utilisateur qu’il accepte les conditions d’utilisation en vigueur avant de finaliser l’authentification.
    • Multistream XMPP
      • Les protocoles multi-flux, tels que QUIC et WebTransport, offrent des améliorations considérables des performances de XMPP, en particulier sur les réseaux restreints ou dégradés. Cette spécification définit pour XMLStream une possibilité de connexion via des transports multi-flux, notamment QUIC et WebTransport.

    Nouvelles extensions

    • Pas de nouvelle XEP ce mois-ci.

    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.

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

    Extensions mises à jour

    • Pas de XEP mise-à-jour ce mois-ci.

    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 pour une XEP ce mois.

    Extensions stables

    • Pas de XEP passant à stable ce mois.

    Extensions dépréciées

    • Pas de XEP dépréciée ce mois.

    Extensions rejetées

    • Pas de XEP rejetée ce mois.

    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 : Adrien 'neox' Bourmault, cal0pteryx, emus, Gonzalo Raúl Nemmi, Ludovic Bocquet, XSF iTeam

    Contributions à la traduction :

    • Français : Adrien Bourmault (neox), anubis, seveso, impromptux, Blacknight
    • Italien : Mario Sabatino, Roberto Resoli

    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

    Licence

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

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    Revue de presse de l’April pour la semaine 43 de l’année 2026

    [ZDNET] L'IA réduit fortement le temps de développement en open source, mais…

    ✍ Thierry Noisette, le dimanche 25 octobre 2026.

    Selon une étude de la fondation Linux, l’IA générative fait gagner beaucoup en productivité, mais amène des propositions de modifications dont 25% n’ont pas ou peu de valeur.

    [L'usine Nouvelle] Un rachat à 12,9 milliards de dollars: avec Hugging Face, Nvidia assoit sa position de défenseur de l’IA open source

    Le samedi 24 octobre 2026.

    Avec le rachat de la start-up Hugging Face, Nvidia consolide son statut de défenseur de l’IA open source.

    [clubic.com] Microsoft encaisse la plus grosse part des 100 millions d'euros que l'État dépense chaque année en bureautique

    ✍ Alexandre Boero, le jeudi 22 octobre 2026.

    La Cour des comptes a chiffré la facture bureautique de l’État, qui s’élève à 100 millions d’euros en 2025, une somme majoritairement versée à Microsoft. Elle recommande un plan de migration de trois à quatre ans vers les logiciels libres.

    Et aussi:

    [ZDNET] Munich abandonne (une nouvelle fois) les logiciels propriétaires au profit de l'open source, mais pas pour les ordinateurs de bureau sous Linux

    ✍ Steven Vaughan-Nichols, le lundi 19 octobre 2026.

    Dans le secteur public, l’open source n’échoue pas à cause de problèmes techniques. Il échoue parce qu’il n’est pas en phase avec les priorités politiques.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    Journées Open Food Facts 2026 - 13/14 novembre - Paris

    Open Food Facts, la base de données ouverte des produits alimentaires, tiendra le vendredi 13 et samedi 14 novembre 2026 ses journées de communauté.

    Vous êtes cordialement invité·e à venir découvrir le projet et sa communauté. Ça se passe à l’académie du Climat, à Paris. (si possible inscrivez-vous, c’est gratuit !)

    Événement

    Cette année un accent particulier est mis sur le monde de la recherche. Le vendredi en particulier, des chercheurs viendront à la rencontre de la communauté pour présenter ce qu’ils font et voir comment nous pouvons interagir avec eux au service du bien commun.

    Logo

    NdM : pour plus de détails sur Open Food Facts, les épisodes du podcast Projets Libres n°19 et n°22 ou celui du podcast Libre à vous n°44, la dépêche récit d’un contributeur ou le journal d'appel à dons en décembre 2025.

    Pendant ces journées, vous pourrez :

    • voir des courtes présentations de différents aspects du projet ;
    • participer à des ateliers pour découvrir ou améliorer le projet sur différents aspects ;
    • échanger avec plein de gens sympathiques lors de moments conviviaux.

    Open Food Facts est un projet citoyen de collecte des données alimentaires qui vise la transparence afin d’améliorer l’impact de l’alimentation sur la santé, l’environnement et la société dans son ensemble.

    Les données sont sous licence ODbL et cc-by-sa pour les images. Les logiciels et modèles, que nous développons avec un large communauté, sont tous libres.

    PS : Il y aura des moments du programme en anglais, mais nous ferons notre possible pour assurer des traductions en français.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    WordPress, ta maison sur le web social décentralisé - Podcast Projets Libres

    WordPress et les réseaux sociaux décentralisés
    Et si votre site WordPress vous servait de porte d'entrée pour les réseaux sociaux décentralisés ?
    Pourquoi ne pas faire revenir les intéractions sociales chez vous ?

    Nous recevons Jérémy Herve, blogueur et responsable des outils pour les créateurs chez Automattic, qui vous explique comment un blog WordPress peut devenir votre porte d'entrée sur le Fediverse et l'ATmosphere  !

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    Logiciel libre: « Passer d’une logique d’encouragement à une logique contraignante »

    Le 7 octobre 2026, la loi pour une République numérique a eu dix ans. Son article 16 dispose que les administrations « encouragent » l'utilisation des logiciels libres et des formats ouverts. Le verbe employé avait fait débat : en 2016, l'April, le CNLL et des parlementaires de tous bords réclamaient une « priorité », que la ministre et le Législateur n'ont pas retenue. Dix ans plus tard, le bilan est maigre. Les administrations achètent chaque année pour environ 1,5 milliard d'euros de logiciels à des fournisseurs extra-européens, dont au moins un milliard pour des logiciels qui ont déjà un équivalent libre. Aucune administration de l'État n'a fait massivement passer ses postes de travail sous un système libre depuis la Gendarmerie, qui avait achevé sa migration en 2014, avant même la loi (Cour des comptes, 2025).

    Ce constat vient de la commission d'enquête de l'Assemblée nationale sur les dépendances structurelles du secteur numérique, présidée par Philippe Latombe (MoDem), avec Cyrielle Chatelain (Écologiste) pour rapporteure. Son rapport, adopté le 8 juillet 2026, propose notamment de renforcer l'article 16 « en passant d'une logique d'encouragement à une logique contraignante ». Reste à savoir comment. Le CNLL y répond dans une proposition qui détaille aussi ce qui peut être engagé d'ici mai 2027.

    La règle proposée, que le gouvernement peut poser dès maintenant sans attendre une modification de la loi : quand une administration de l'État achète un logiciel, elle retient un logiciel libre, sauf justification écrite, publiée et examinée par l'autorité numérique de l'État. Deux mécanismes doivent empêcher cette règle de rester lettre morte. D'abord, la justification doit chiffrer le coût sur toute la durée du contrat (TCO ou coût total de possession), y compris celui d'un futur changement de fournisseur (coût de sortie). Ensuite, cette justification est examinée par ARIANE, l'autorité qui remplacera la DINUM (direction interministérielle du numérique) le 1er janvier 2027. Comme la règle ne vise que les nouveaux marchés et les renouvellements, le gouvernement fixe aussi une trajectoire pour le parc existant : les dépenses de licences propriétaires qui ont un équivalent libre (le milliard d'euros annuel cité plus haut) doivent être divisées par deux d'ici 2031 et ramenées à zéro en 2035.

    Sommaire

    Pourquoi l'encouragement n'a pas suffi

    Remplacer « encourager » par « donner la priorité » ne suffirait pas sans contrôle : deux priorités écrites existent déjà, toutes deux contournées. Le ministère de la Défense s'en était donné une par directive dès 2006. Il a pourtant signé en 2009, sans appel d'offres, le contrat « open bar » avec Microsoft, reconduit en 2026. Dans l'enseignement supérieur, la loi de 2013 dispose que « les logiciels libres sont utilisés en priorité ». Il a tout de même fallu une procédure du CNLL pour que l'École polytechnique suspende, en 2025, sa migration vers Microsoft 365. Dans les deux cas, l'acheteur a décidé seul : aucune autorité extérieure ne lui demandait de justifier son choix. La dépense, elle, continue de croître : rien que par l'UGAP (la centrale d'achat public), les achats de produits Microsoft sont passés de 233 à 293 millions d'euros entre 2024 et 2025, selon la commission d'enquête.

    La proposition du CNLL

    • La règle. L'article 16 demande déjà aux administrations de préserver « la maîtrise, la pérennité et l'indépendance » de leurs systèmes d'information. Dans cet esprit, le gouvernement pose une règle d'achat : les administrations de l'État retiennent les logiciels libres et les formats ouverts, sauf justification écrite. Une circulaire du Premier ministre et les textes qui créent ARIANE suffisent pour cela. La règle s'applique à tout nouveau marché et à tout renouvellement. Son extension aux opérateurs de l'État, aux entreprises publiques et aux concessionnaires de service public (que propose la commission d'enquête), puis aux grandes collectivités, demandera une loi, qui pourra aussi renforcer l'article 16 lui-même.
    • Les exceptions justifiées. L'acheteur qui écarte le libre indique les solutions libres qu'il a examinées et chiffre le coût sur toute la durée du contrat, sortie comprise. Il évalue aussi l'offre qu'il retient selon trois critères tirés du papier franco-allemand présenté plus bas : la possibilité de changer de fournisseur, la part de la valeur créée dans l'Union, la maîtrise de la technologie. Il joint un plan de sortie, qui dit comment l'administration pourra changer de solution à l'échéance ou en cas de coupure du service.
    • Le contrôle. La justification est examinée par ARIANE avant la signature du marché ou de sa reconduction. La DINUM, à laquelle elle succède, rend déjà un avis conforme (que l'administration est tenue de suivre) sur les grands projets informatiques de l'État. Depuis le décret du 18 mars 2026, cet avis vérifie le respect de l'article 16 et couvre aussi les suites collaboratives de plus de 2 millions d'euros par an. Le mécanisme existe ; il suffit de l'étendre aux achats de logiciels. Au-dessus de 2 millions d'euros, l'avis d'ARIANE est lui aussi conforme. Pour les marchés plus petits qui dépassent les seuils européens (ceux qui imposent une procédure formalisée), l'avis est consultatif et publié. Sous ces seuils, la justification est publiée et contrôlée par sondage.
    • La transparence. Les justifications sont publiées dans un registre ouvert. Chaque année, une annexe au budget mesure, ministère par ministère, la part du libre dans la dépense informatique et l'écart à la trajectoire de 2035.
    • Les moyens. Examiner des justifications et conseiller des acheteurs demande du personnel. La mission logiciels libres de la DINUM n'a jamais compté plus de trois équivalents temps plein. ARIANE se dote donc d'un bureau du logiciel libre (un OSPO, pour « Open Source Programme Office »), en réseau avec celui de la Commission européenne et ceux des autres États membres. Ce bureau privilégie les logiciels libres existants et travaille avec les éditeurs et les mainteneurs qui les développent. Dans les grands marchés de support sur logiciels libres, l'État contracte directement avec l'éditeur ou le mainteneur de chaque logiciel, pour qu'une part de la dépense revienne à ceux qui le font vivre. Un fonds finance enfin la maintenance des logiciels libres dont l'État dépend.

    L'appui d'un papier franco-allemand peu connu

    Le 17 juin 2026, la France et l'Allemagne ont publié un papier conjoint sur la souveraineté numérique pour orienter les travaux législatifs européens. Les deux gouvernements y écrivent qu'il faut « éviter l'enfermement propriétaire ». Ils veulent des systèmes conçus pour permettre « de changer de fournisseur et de technologie dans un délai raisonnable et sans dépenses excessives ». Le texte ajoute : « Des solutions open source peuvent et devraient jouer un rôle important à cet égard. » Le gouvernement français a donc déjà souscrit à ces objectifs ; il lui reste à les appliquer à ses propres achats.

    Le droit et les précédents étrangers

    Sur le plan juridique, le Conseil d'État a jugé en 2011 que désigner un logiciel libre dans un marché ne favorise aucun opérateur, puisque toute entreprise peut l'adapter et le maintenir. En mars 2026, le service scientifique du Bundestag a conclu, dans un avis qu'un acheteur peut réserver un marché à l'open source si cette restriction est justifiée, proportionnée et motivée par écrit. L'avis concerne le droit allemand, mais celui-ci transpose les mêmes directives européennes sur les marchés publics que le droit français. La règle proposée remplit ces conditions : elle est justifiée par l'objet du marché (pouvoir changer de fournisseur), proportionnée (elle admet des exceptions) et motivée par écrit à chaque décision.

    Dans les faits, l'Allemagne a pris de l'avance. La Thuringe inscrit une priorité au libre dans sa loi depuis 2020 ; au niveau fédéral, la loi sur l'administration électronique (EGovG) demande depuis 2024 de privilégier l'open source pour tout nouveau logiciel. Le Schleswig-Holstein, où le gouvernement du Land conduit lui-même la migration, montre qu'elle fonctionne. Sa messagerie est entièrement passée au libre en octobre 2025 ; près de 80 % des postes de son administration utilisaient LibreOffice en décembre 2025. En septembre 2026, la chancellerie du Land a fait passer ses postes de travail sous Linux.

    L'Italie montre à l'inverse ce que devient une règle sans contrôle. Depuis 2012, son code de l'administration numérique oblige chaque administration à comparer les solutions avant d'acheter un logiciel, en examinant d'abord la réutilisation d'un logiciel public existant puis le logiciel libre. L'administration ne peut acheter une licence propriétaire que si aucune de ces options ne convient. Mais c'est l'acheteur qui mène la comparaison ; aucune autorité ne la relit. En 2020, la Cour des comptes italienne constatait que 16,7 % seulement des logiciels en usage dans les collectivités relevaient des options que le code déclare prioritaires. C'est ce contrôle extérieur, absent en Italie comme en France, que la proposition confie à ARIANE.

    Quatre mesures d'ici mai 2027

    Ces mesures relèvent de l'initiative du gouvernement et peuvent être engagées tout de suite.

    1. Inscrire dans les textes qui créeront ARIANE au 1er janvier 2027 (ils ne sont pas encore parus) l'examen des justifications, le registre public et le bureau du logiciel libre.
    2. Exiger dès maintenant, par une circulaire du Premier ministre, une justification écrite et publiée pour tout achat de logiciel propriétaire par l'État.
    3. Créer, dans le budget pour 2027, l'annexe qui mesure la part du libre par ministère ; doter le fonds de maintenance, que la commission d'enquête propose elle aussi.
    4. Défendre la même règle au Conseil de l'Union, qui prépare sa position sur le règlement européen sur le développement du cloud et de l'IA (Cloud and AI Development Act) : son article 41, dans sa rédaction actuelle qui peut encore être amendée par le Conseil et le Parlement, se contente lui aussi d'« encourager ».

    Le texte complet de la proposition, avec ses références, est disponible sur le site du CNLL.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    BarkDog 1.0, un Raspberry Pi qui tient le journal des nuisances sonores

    BarkDog est un logiciel libre, sous licence MIT, qui transforme un Raspberry Pi et un micro USB en enregistreur de nuisances sonores. Une IA qui tourne sur la carte reconnaît aboiements, hurlements, musique ou travaux, et ne garde que les épisodes, horodatés et scellés par une empreinte SHA-256. Les voix humaines sont rendues muettes par défaut, et aucun son ne part sur Internet.

    La version 1.0 vient de sortir.

    Pourquoi

    Quand une nuisance sonore se répète la nuit, la première chose qu’on vous demande est un relevé : quels jours, à quelle heure, combien de temps. Le tenir à la main est épuisant, et un dictaphone qui tourne toute la nuit produit des heures d’audio que personne n’écoute. BarkDog fait ce tri tout seul.

    Fonctionnement

    1. Le Pi écoute en continu, à 16 kHz, avec un filtre coupe-bas contre le ronflement électrique.
    2. Toutes les demi-secondes, le modèle YAMNet de Google (521 classes de sons AudioSet, au format TensorFlow Lite) attribue un score à chaque nuisance choisie.
    3. Au-delà du seuil, un épisode commence, avec les dix secondes qui précèdent. Il se termine après un calme réglable.
    4. Le fichier WAV reçoit une chronologie par catégorie et une empreinte SHA-256, inscrite dans un journal CSV qui n’est jamais réécrit.

    Tout tourne sur la carte. Un Raspberry Pi Zero 2 W suffit ; les Pi 3, 4 et 5 conviennent aussi.

    Treize nuisances sont proposées (aboiements, hurlements, coqs, chats, musique, basses, travaux, pétards, tondeuses, deux-roues, alarmes, klaxons…), avec un seuil par nuisance si besoin. Des « sons à ignorer » annulent une détection quand ils dominent : les canards, par exemple, sont souvent confondus avec des aboiements.

    Vie privée

    Enregistrer les paroles d’autrui sans leur consentement est interdit (article 226-1 du Code pénal). Dès que l’IA entend une voix, BarkDog efface ce passage du fichier, avec de courts fondus, et le signale sur la frise. On peut aussi choisir d’écarter complètement un épisode composé surtout de parole.

    La page web

    Une page en Python pur, sans framework, sert de tableau de bord depuis un téléphone :

    • écoute de chaque épisode, avec une frise par catégorie et des boutons pour sauter au bon moment ;
    • journées repliables, filtres jour ou nuit, graphique par jour, exports CSV ;
    • annotations (faux positif, notes) stockées à part, corbeille ;
    • mode test qui affiche les scores de l’IA en direct, pour régler les seuils sans rien enregistrer ;
    • interface en français et en anglais.

    Côté sécurité : mot de passe haché en PBKDF2, sessions signées, protection anti-CSRF, CSP stricte, services systemd cloisonnés (l’enregistreur n’a même pas accès au réseau). La page est prévue pour le réseau local ou un VPN, pas pour une exposition directe sur Internet.

    Ce que ce n’est pas

    Les niveaux sont relatifs et le micro n’est pas calibré : ce n’est pas un sonomètre, et le journal ne remplace pas un constat de commissaire de justice. C’est un outil pour objectiver la répétition et les horaires, et pour arriver devant un conciliateur ou un propriétaire avec autre chose qu’une impression.

    Installation

    Sur Raspberry Pi OS 64 bits, avec un micro USB :

    git clone https://gitlab.com/lbstephane/barkdog.git ~/barkdog
    cd ~/barkdog && ./install.sh
    

    Le script installe les dépendances et le modèle, règle l’heure, demande le mot de passe de la page et crée les deux services.

    Contribuer

    Le développement se fait sur GitLab, avec un miroir sur GitHub. Les retours, tickets et contributions sont les bienvenus, en particulier sur les micros qui fonctionnent bien en extérieur et sur la qualité de détection selon les environnements.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    Parcours libriste de Julie Rymer — « Libre à vous ! » du 13 octobre 2026 — Podcasts et références

    288ème émission « Libre à vous ! » de l’April. Podcast et programme :

    • sujet principal : Parcours libriste de Julie Rymer de BIRU : interview d’une seule personne pour parler de son parcours personnel et professionnel
    • chronique d'Antanak intitulée « Jeunes et autodéfense numérique »
    • chronique de Maryse Artiguelong intitulée « Ados et médias sociaux, l’interdiction ? »
    • Quoi de Libre ? Actualités et annonces concernant l’April et le monde du Libre

    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

    •  

    Tenzu, héritier de Taiga pour la gestion collaborative de projets

    Je vous présente Tenzu, un logiciel libre de gestion de projets qui propose des tableaux Kanban en ligne collaboratif. Tenzu veut offrir une expérience de collaboration moderne, tout en restant léger à faire tourner et à utiliser.

    logo animé de Tenzu

    Tenzu est sous licence AGPLv3 et n'est pas open core. Nous fournissons des recettes de déploiement sous Docker-compose et Kubernetes. Nous avons également un SaaS dont les revenus reposent sur la contribution libre.

    L'équipe derrière Tenzu est une petite coopérative française nommée Biru (bonjour !).

    Tenzu, anciennement connu sous le nom de Taiga-Next, est le successeur de Taiga. L'objectif derrière Taiga a été d'encourager les bonnes pratiques dans la mise en place de l'agilité au sein d'une équipe tout en restant facile à prendre en main. Tenzu reprend cette philosophie avec un outil plus moderne, qui permet par exemple l'édition collaborative en temps réel.

    Dans cette dépêche, nous allons revenir plus en détail sur ce que fait Tenzu à l'heure actuelle, la stack technique, la genèse du projet ainsi que nos plans pour la suite.

    Sommaire

    Tenzu, c'est quoi ?

    Description

    Tenzu est actuellement une alternative à Trello. Cet outil permet d'organiser son travail, de répartir les tâches et d'en faire le suivi.

    Démo de Tenzu en action

    Les fonctionnalités disponibles sont :

    • Espaces de travail : le logiciel s'organise autour d'un découpage par espace de travail puis par projet
    • Kanban : Créez vos tableaux kanban avec des statuts personnalisables
    • Cartes : une interface d'édition de cartes (appelé "story" pour l'instant) riche avec édition collaborative temps réel, commentaires, pièces jointes, commentaires, et plus à venir rapidement !
    • Un thème sombre et trois langues (français, anglais, espagnol) sont disponibles
    • Tout ce qui relève des cycles de développement (type SCRUM) est encore en spécification, nous sommes preneurs de testeurs motivés !

    Stack technique et licence

    Tenzu est une application web SPA, écrite en Angular et Django. Elle utilise django-ninja pour construire l’API et, pour ajouter de la réactivité temps-réel, nous utilisons django-channels à base de Redis et de websockets. La base de données utilisée est en PostgreSQL et l’API REST est entièrement documentée sous le standard OpenAPI.

    Concernant le déploiement, l’environnement de développement tourne sous Docker et des recettes docker-compose ainsi qu’un helm-chart pour les environnements Kubernetes sont fournis par l’équipe dans la doc technique. Le helm-chart proposé est également celui utilisé pour le déploiement du SaaS officiel.

    L’intégralité du logiciel est sous licence AGPL v3 et garanti sans open core. Pour l’instant nous ne sommes pas ouverts aux contributions de code, faute de ressources qui nous permettraient de mettre en place et d’encadrer une politique de contribution claire. Le fork reste évidemment possible et l’ouverture aux contributions externes est un objectif que nous souhaitons atteindre dès lors que le projet aura un socle fonctionnel plus avancé.

    L'équipe

    Tenzu est développé par Biru, une coopérative française créée en 2024 est dont le développement de Tenzu est l'activité principale.

    L'équipe est actuellement composée de trois personnes :

    • Julie Rymer (c'est moi !), co-fondatrice et qui s'occupe principalement du développement backend ;
    • Paul Guichon, co-fondateur qui s'occupe principalement du développement frontend et de l'administration système ;
    • Marie Jubault-Bregler, associée et notre précieuse Product Designer.

    L'équipe a son premier stand
    L'équipe au complet qui expose pour la première fois en 2026

    Comment le projet est né

    L’héritier de Taiga

    BIRU, l’entreprise derrière Tenzu, était au départ une ESN (Entreprise de Services du Numérique) qui faisait du développement à la demande d'applications web. En accord avec leurs convictions personnelles, Julie et Paul ont choisi de fonder Biru sous la forme d’une SCOP, une coopérative où chaque membre peut participer aux décisions stratégiques et où les bénéfices sont répartis équitablement. Très engagés dans le libre et l'opensource, l'objectif de Paul et Julie (les fondateurs) était, à terme, de pouvoir reverser une partie de leurs bénéfices à tous les outils libres qu'ils utilisent au quotidien au sein de l'entreprise et de transitionner dès que possible pour devenir eux-mêmes éditeurs opensource, en lieu et place de leur activité d'ESN.
    Tenzu est d’abord né d’un projet interne visant à servir de bac à sable didactique à une nouvelle recrue sur les technologies de l'entreprise : Django et Angular. Le projet choisi était la réécriture du frontend de Taiga 6.

    Taiga est un logiciel libre de gestion de projets pensé pour être léger, facile à prendre en main et encourageant les bonnes pratiques dans la mise en place de l'agilité au sein d'une équipe. Julie et Paul sont des utilisateurs de Taiga de longue date, notamment Paul, qui a commencé à le déployer dans son équipe dès sa sortie en 2014. Taiga, dans sa version 6 actuelle, est toujours maintenu par une entreprise qui en assure le support technique, mais n'évolue plus depuis des années. La stack technique, composée de Django 3 et d’AngularJS en CoffeeScript, est vieillissante, très difficilement reprenable, et cela se ressent de plus en plus sur le produit.

    Quelques années plus tôt, l’équipe de Kaleidos, auteurs originels de Taiga, avait déjà commencé une réécriture, sous la forme du projet nommé Taiga Next. Plus moderne, repensée grâce à l'expérience de leur premier logiciel et avec un fort accent mis sur l'accessibilité, Taiga Next a suscité l'engouement de la communauté Taiga dont nous faisions partie.
    Taiga Next était malheureusement resté au stade de pré-alpha depuis juillet 2023, et la communication se faisait absente depuis.

    Association du logo de Biru et Taiga Next
    Le logo de Biru embraçant celui de Taiga Next

    Reprise de Taiga Next

    Au bout de quelques mois, le 19 avril 2024, notre propre projet de réécriture a bien avancé et nous décidons de contacter Kaleidos pour leur présenter notre travail et vérifier auprès d'eux qu'une future communication de notre part à son sujet ne les embêterait pas. Ils nous répondent rapidement pour nous apprendre qu'ils sont activement à la recherche de repreneurs pour Taiga Next.

    Nous obtenons à ce moment là une confirmation de la raison de l’arrêt de l’activité sur Taiga Next : à peu près en même temps que celui-ci, Kaleidos se lance sur Penpot, un concurrent libre de Figma pensé pour permettre une collaboration sans heurt entre développeurs et designers. En plus d'offrir une alternative opensource, Penpot résout un véritable besoin non satisfait sur le marché et le projet décolle, avec des levées de fonds à la clé. Kaleidos doit se rendre à l'évidence : il leur est impossible de continuer à travailler sur les deux projets à la fois.

    Le 5 juin 2024, après avoir longuement étudié la question, nous candidatons publiquement à la reprise du projet. Fin juillet cette candidature est validée et nous commençons à travailler à temps plein dessus. La transition d'ESN à éditeur opensource est arrivée bien plus vite que prévu, pour notre plus grand bonheur.

    Nouveau nom et transmission

    Plusieurs échanges permettent à l’équipe espagnole de confirmer que nous partageons ses idéaux. Nos deux entreprises tiennent à ce que Taiga Next reste opensource, inclusif et simple d'utilisation. Kaleidos (d'ailleurs également une ancienne ESN devenue éditrice opensource) nous cède la propriété intellectuelle sur le code de Taiga Next, nous accorde un financement pour démarrer le projet (100 000€) et nous accompagne dans la reprise. Cette générosité totalement désintéressée a fait hausser les sourcils de plus d'une personne à qui nous l'avons comté, à commencer par notre comptable et notre avocate !

    Cette reprise s'accompagne d'un changement de nom et d'identité graphique afin de ne pas empiéter sur Taiga. Taiga Next devient alors Tenzu (après un bref détour par MotherShip/MotherSheep dont nous avons conservée l'idée pour le logo), en référence aux kanjis japonais 天図 qui signifient individuellement "carte" + "céleste". (Anecdote : BIRU vient lui du mot japonais ビール, bière). Ces mots reflètent notre ambition de construire un logiciel qui pourra guider naturellement ses utilisateurs.

    De Taiga Next à Tenzu
    Taiga Next devient Tenzu

    Transformation de la boîte et démarrage

    Ce changement entraîne aussi un renouvellement de l'équipe. En effet, l’entreprise quitte le modèle économique de l'ESN, c'est-à-dire la vente de prestations informatiques et technologiques, pour transitionner vers un fonctionnement type "startup" où l’équipe fabrique un produit et qui implique des profils de “builders”. La prise de risque et l’incertitude associées à ce changement ne conviennent pas à tous les caractères ni à toutes les situations de vie. Nous étions six dans l'équipe à ce moment-là ; nous sommes redescendus à trois dans les mois qui ont suivi pour arriver à l'équipe actuelle.

    Modèle financier

    Le modèle financier de Tenzu repose sur plusieurs offres :

    1. Nous mettons à disposition un SaaS rémunéré par la contribution libre : chacun décide du montant qu’il ou elle souhaite nous reverser, y compris zéro. Ce modèle permet à chacun de participer à la hauteur de ses moyens et selon son utilisation de l'outil, sans engagement respectif.
    2. Nous travaillons également avec des partenaires qui proposent du support, de l’hébergement, de l'infogérance ou encore de la formation pour celles et ceux qui voudraient être accompagnés dans leur utilisation de Tenzu.

    Aujourd’hui encore, nos revenus viennent uniquement des contributions et des subventions reçues pour ce projet.
    Tenzu n'est pas gratuit, d'ailleurs aucun projet opensource ne l'est, mais nous avons choisi un modèle de financement qui convient à nos valeurs et nos ambitions.

    Hier, aujourd'hui et demain

    Première version

    Notre ambition est claire : nous allons reprendre les fonctionnalités principales de Taiga en les améliorant en termes d’interface et d’expérience utilisateur, tout en conservant sa légèreté et sa simplicité. Nous avons pour objectif d’atteindre le plus rapidement possible un nombre d’utilisateurs qui nous permette de vivre de notre travail.

    Nous sommes repartis de la dernière version de Taiga Next. Nous avons conservé en grande partie le backend existant mais avons dû repartir de zéro pour le frontend.

    Le 30 octobre 2024, la première bêta de Tenzu sort sous la forme d'une démo en ligne, avec la mise à disposition de son code source. Nous y avons intégré les fonctionnalités cœur du logiciel : le multi-Kanban, les stories et les espaces de travail.
    Le 4 mars 2025, nous sortons la documentation avec des recettes et toutes les explications nécessaires pour faire tourner Tenzu chez soi.

    Le 30 septembre 2025, exactement 11 mois après la sortie de la démo, la première version stable de Tenzu sort. L’intégration du SSO ainsi que l’ajout de commentaires arrivera très vite par la suite.
    Notre SaaS sera hébergé par IndieHosters, une autre coopérative impliquée dans le libre, rencontrée via le réseau Libre Entreprise et qui a choisi de participer à l'aventure.

    Améliorations apportées en 2026

    De gros chantiers ont été finalisés en 2026, à commencer par l’écriture collaborative.
    L’éditeur existant n’a pas changé en apparence, mais désormais, lorsque deux personnes ouvrent en même temps une même story, elles voient l’avatar de l’autre apparaître et un curseur individuel dans le champ de description leur permet de suivre en temps réel toutes les modifications apportées.

    Puis est arrivée la possibilité d’importer vos projets depuis Taiga. Vous pouvez désormais récupérer vos projets et leurs rôles, ainsi que le contenu de vos Kanbans avec vos statuts, stories, commentaires et pièces jointes, ainsi que réinviter automatiquement vos utilisateurs !

    Un fil d'actualité a également été ajouté pour permettre d’annoncer les nouvelles versions, les maintenances et poser d’éventuelles questions aux utilisateurs.
    Le design system a été complètement revu, du point de vue de l’interface comme de la technique, pour apporter plus de simplicité et d’accessibilité. C’est un premier pas vers un système de configuration dynamique du thème qui permettra aux utilisateurs de personnaliser leur expérience.

    Enfin, nous avons très récemment ajouté un système de tags afin d’enrichir et catégoriser vos stories.

    Menu de paramétrage des tags d'un projet

    Roadmap

    Nous continuons de travailler sur plusieurs chantiers :

    • Permettre l’ajout de davantage de méta-informations sur les stories ;
    • La mise en place d’une barre de recherche et de filtres ;
    • La traduction communautaire, pour ajouter de nouvelles langues ;
    • L’exportation de vos données au format JSON.

    Et rapidement nous allons mettre en place les cycles de développement de type SCRUM, le deuxième module majeur de Taiga et celui qui lui a permis de conquérir le cœur de ses utilisateurs face à la concurrence.

    Tenzu a bientôt deux ans et nous continuons de le faire évoluer avec passion. Ancien utilisateurs de Taiga aguerris ou nouveaux venus, nous vous souhaitons la bienvenue à la découverte de notre aventure.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  

    Revue de presse de l’April pour la semaine 42 de l’année 2026

    Cette revue de presse sur Internet fait partie du travail de veille mené par l’April dans le cadre de son action de défense et de promotion du logiciel libre. Les positions exposées dans les articles sont celles de leurs auteurs et ne rejoignent pas forcément celles de l’April.

    [Next] Pour Linus Torvalds, le code généré par IA est légitime, à condition de savoir le lire

    ✍ Vincent Hermann, le vendredi 16 octobre 2026.

    Le débat secoue la communauté du libre depuis des mois: faut-il accepter le code généré par IA ? Pour certains, c’est une trahison de l’esprit même du libre. Pour d’autres, ce n’est pas un problème. Pour Linus Torvalds, il n’y a vraiment aucun problème, mais à une condition. Au point de se mettre une nouvelle fois en colère.

    Et aussi:

    [Silicon.fr] Open source et réduction des coûts: l'Europe fait de moins en moins le parallèle

    ✍ Clément Bohic, le mercredi 14 octobre 2026.

    Sur le périmètre européen, les participants au sondage annuel de la Fondation Linux considèrent de moins en moins l’open source comme levier de réduction des coûts.

    Et aussi:

    [Génération NT] L'administration néerlandaise abandonne Microsoft pour le logiciel libre

    ✍ Mathieu M., le mardi 13 octobre 2026.

    Les autorités néerlandaises ont gelé le déploiement de la suite bureautique américaine dans leurs administrations fiscales et douanières. Ce revirement massif s’articule autour du projet DAWO, un environnement de travail basé sur l’écosystème Linux, visant à garantir une indépendance technologique totale face aux ingérences étrangères.

    [ZDNET] Les autorités fiscales néerlandaises annulent le déploiement de Microsoft 365 dans le cloud, et se tournent vers l'open source

    ✍ Steven Vaughan-Nichols, le mardi 13 octobre 2026.

    Cette nouvelle initiative en faveur de la souveraineté numérique freine à nouveau l’adoption de la suite bureautique américaine.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    •  
    ❌