Linuxfr.org
Nouveautés de juin 2026 de la communauté Scenari
Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous rédigez une seule fois votre contenu et vous pouvez les générer sous plusieurs formes : site web, PDF, OpenDocument, diaporama, paquet SCORM (Sharable Content Object Reference Model)… Vous ne vous concentrez que sur le contenu et l’outil se charge de créer un rendu professionnel accessible et responsive (qui s’adapte à la taille de l’écran).
À chaque métier/contexte son modèle Scenari :
- Opale pour la formation
- Dokiel pour la documentation
- Optim pour les présentations génériques
- Topaze pour les études de cas
- Parcours pour créer des scénarios de formation
- et bien d’autres…
- lien nᵒ 1 : Explication de Scenari
- lien nᵒ 2 : Pour démarrer
- lien nᵒ 3 : Téléchargements
- lien nᵒ 4 : Communauté Scenari
- lien nᵒ 5 : Mastodon
- lien nᵒ 6 : Bluesky
- lien nᵒ 7 : Telegram
- lien nᵒ 8 : LinkedIn
- lien nᵒ 9 : Canal Peertube
Podcast Projets Libres saison 4 épisode 19 : facturation électronique, état d’avancement pour les communautés Dolibarr et Odoo
Dans ce nouvel épisode, on reparle de la facturation électronique, qui arrive en France à partir de septembre 2026 !
Agenda du Libre pour la semaine 24 de l'année 2026
Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 52 événements (France: 44, Internet: 1, Belgique: 2, Québec: 3) est en seconde partie de dépêche.
- lien nᵒ 1 : April
- lien nᵒ 2 : Agenda du Libre
- lien nᵒ 3 : Carte des événements
- lien nᵒ 4 : Proposer un événement
- lien nᵒ 5 : Annuaire des organisations
- lien nᵒ 6 : Agenda de la semaine précédente
- lien nᵒ 7 : Agenda du Libre Québec
-
- [FR Dunkerque] Install-partie : découvrez, installez GNU-Linux - Le lundi 8 juin 2026 de 08h30 à 17h00.
- [FR Saint Clar] Tous les Lundis, médiatheque de Saint Clar - Le lundi 8 juin 2026 de 10h00 à 17h00.
- [FR Toulouse] Atelier sur les bases de la Langue des Signes Française (LSF) à destination des médiateurRICEs numériques - Le lundi 8 juin 2026 de 15h00 à 18h00.
- [Internet] Mapathon 2025-2026 par CartONG - Le lundi 8 juin 2026 de 18h00 à 20h00.
- [FR Saint-Étienne] Permanence de l'association Alolise - Le lundi 8 juin 2026 de 19h00 à 22h00.
- [FR Grenoble] Atelier applications mobiles autour de la contribution à OSM & Panoramax - Le lundi 8 juin 2026 de 19h00 à 21h00.
- [FR Sainte-Hélène] Cours gratuits d'Espéranto + Visio - Le lundi 8 juin 2026 de 19h30 à 21h30.
- [FR Dijon] Atelier du mardi - Le mardi 9 juin 2026 de 15h00 à 19h00.
- [Internet] Émission «Libre à vous!» - Le mardi 9 juin 2026 de 15h30 à 17h00.
- [FR Tours] Permanences Installation Linux et Usages logiciels libres - Le mardi 9 juin 2026 de 18h30 à 20h30.
- [FR Saint-Nazaire] insatll party - Le mardi 9 juin 2026 de 18h30 à 20h30.
- [CA-QC Québec] L’Événement public numériQc (ÉPN) 2026 - Le mardi 9 juin 2026 de 09h00 à 17h00.
- [FR Le Mans] Permanence du mercredi - Le mercredi 10 juin 2026 de 12h30 à 17h00.
- [FR Fourmies] La permanence du libre - Le mercredi 10 juin 2026 de 13h30 à 17h00.
- [FR Beauvais] Sensibilisation et partage autour du Libre - Le mercredi 10 juin 2026 de 18h00 à 20h00.
- [FR Marseille] Réunion d'information Installation Linux - Le mercredi 10 juin 2026 de 18h00 à 19h00.
- [FR Nantes] Contribatelier Nantais - Le mercredi 10 juin 2026 de 18h30 à 20h30.
- [FR Lyon] Réunion mensuelle - Le mercredi 10 juin 2026 de 19h00 à 22h00.
- [FR Cappelle en Pévèle] Mercredis Linux - Le mercredi 10 juin 2026 de 19h30 à 23h30.
- [FR Bordeaux] Cours gratuits d'Espéranto - Le mercredi 10 juin 2026 de 20h00 à 22h00.
- [FR Saint Etienne de Gourgas] Atelier d'autodéfense numérique - Le jeudi 11 juin 2026 de 18h30 à 21h00.
- [BE Huy] Réunion mensuelle LiHuy - Le jeudi 11 juin 2026 de 19h30 à 22h30.
- [FR Paris] Soirée de contribution au libre - Le jeudi 11 juin 2026 de 19h30 à 22h30.
- [CA-QC Montréal] Réseautage AQLL 2026 : 1er anniversaire de l’AQLL - Le jeudi 11 juin 2026 de 16h00 à 20h00.
- [FR Quimperlé] Point info GNU/Linux - Le vendredi 12 juin 2026 de 13h30 à 17h30.
- [FR Nogent] Les cafés du Logiciel Libre - Le vendredi 12 juin 2026 de 14h30 à 16h30.
- [Internet] Découverte de Scenari (en visio) - Le vendredi 12 juin 2026 de 16h00 à 17h00.
- [FR Bordeaux] Ğblabla à Bordeaux - Le vendredi 12 juin 2026 de 18h30 à 22h30.
- [FR Paris] Rencontre conviviale Libre en Communs - Le vendredi 12 juin 2026 de 19h00 à 22h00.
- [FR La Ferté Saint-Aubin] Réunion mensuelle de l'association Re-Boot - Le vendredi 12 juin 2026 de 20h30 à 23h30.
- [Internet] Pause Café Linux : Votre rendez-vous hebdomadaire - Le vendredi 12 juin 2026 de 11h45 à 13h00.
- [FR Villeneuve d’Ascq] Ateliers "Libre à vous" - Le samedi 13 juin 2026 de 09h00 à 12h00.
- [FR Amancy] Rencontre « Logiciels Libres » - Le samedi 13 juin 2026 de 09h00 à 12h00.
- [FR Noisy-le-Grand] Atelier Logiciels Libres / installation et entraide - Le samedi 13 juin 2026 de 09h00 à 13h00.
- [FR Beauvais] Utiliser son smartphone Android avec la bibliothèque F-droid - Le samedi 13 juin 2026 de 09h30 à 12h00.
- [FR Ballan-Miré] Passer de Windows à Linux ( Ubuntu 26.04 / LMDE7 ) - Le samedi 13 juin 2026 de 09h30 à 12h00.
- [FR Wimille] Retrouvez votre liberté numérique - Le samedi 13 juin 2026 de 10h00 à 12h00.
- [FR Brest] Samedi Open-Bénévoles - Le samedi 13 juin 2026 de 10h00 à 17h00.
- [FR Ivry sur Seine] Cours de l'Ecole du Logiciel Libre - Le samedi 13 juin 2026 de 10h30 à 18h30.
- [FR Lille] Anti-sommet de l’IA - Le samedi 13 juin 2026 de 10h30 à 22h30.
- [FR Wintzenheim] Réunion du Club Linux - Le samedi 13 juin 2026 de 13h30 à 19h00.
- [FR Lille] Install party des Robin des BIOS - Le samedi 13 juin 2026 de 14h00 à 17h30.
- [FR Faches-Thumesnil] Install Party GNU/Linux - Le samedi 13 juin 2026 de 14h00 à 17h00.
- [FR Strasbourg] Atelier numérique éthique HOP par Alsace Réseau Neutre - Le samedi 13 juin 2026 de 14h00 à 17h00.
- [FR Brasparts] Install-party et redistribution d'ordis Linux - Le samedi 13 juin 2026 de 14h00 à 18h00.
- [FR Paris] Install-Party - Le samedi 13 juin 2026 de 14h00 à 17h30.
- [FR Liévin] Foire aux install' - Le samedi 13 juin 2026 de 14h30 à 17h30.
- [FR Saint Martin de Tallevende, Vire] Install Party - Le samedi 13 juin 2026 de 15h00 à 19h00.
- [FR Le Chambon-sur-Lignon] Ateliers Informatiques : Linux, Site internet et webRadio. - Le samedi 13 juin 2026 de 15h00 à 19h00.
- [FR Quimper] Permanence Linux Quimper - Le samedi 13 juin 2026 de 16h00 à 18h00.
- [BE Antoing] Atelier Linux - Le samedi 13 juin 2026 de 18h00 à 20h00.
- [FR Plouaret] Atelier de réparation et d'installation de logiciel libre participatif - Le dimanche 14 juin 2026 de 13h00 à 17h00.
L'install-partie du jour se tient au sein de la Journée Numérique Séniors, dans le stand des logiciels libres.
Venez avec vos enfants, petits-enfants, nièces, neveux,… Vous pourrez tester diverses variétés de logiciels libres, et de distributions de GNU-Linux.
Apportez votre ordinateur: si une des distributions vous convient, vous l'installerez, avec l'aide des intervenants. N'oubliez pas: il est important faire une sauvegarde des données personnelles par avance, comme avant toute intervention technique sur un ordinateur.
Cette illustration de Gee est sous licence libre CC-BY-SA. Si elle vous plaît, visitez aussi le site Grisebouille
Cette install-partie est rattachée à l'opération « Adieu, Windows ».
En octobre 2025, l'entreprise Microsoft annonçait suspendre le support de sécurité pour Windows 10 ; grâce à l'organisation Halte à l'Obsolescence Programmée (HOP), Windows 10 est en sursis jusqu'à octobre 2026… dans le trimestre qui suivra, donc. C'est le bon moment pour installer GNU-Linux !
- la Halle aux Sucres, la Halle aux Sucres, 9003 route du quai Freycinet 3, Dunkerque, Hauts-de-France, France
- https://clx.asso.fr
- install-partie, logiciel-libre, clx, adieu-windows, repair-café, obsolescence-programmée, linux, gnu-linux, logiciels-libres
Tous les lundis de 10h à 17h sans interruption, l'association Prends toi en main / atelier abcpc, propose install party, suivi, dépannage, formation et revalorisation à petit prix sous Linux exclusivement.
L'atelier abcpc existe depuis plus de 10 ans et milite exclusivement pour les logiciels libres.
- Médiatheque, Médiatheque, 4 place Dastros, Saint Clar, Occitanie, France
- https://www.facebook.com/PrendsToiEnMain
- linux, permanence, dépannage, formation, adieu-windows, libres, logiciels-libres, abcpc, prends-toi-en-main, install-party
Association Coll.IN
Bonjour à tous et à toutes,
Lundi 8 juin à 15h, nous vous proposons un atelier sur les bases de la Langue des Signes Française (LSF) à destination des médiateurRICEs numériques, CNFS, agentEs d'accueil, animé par Audrey Calatayud.
Cet atelier est gratuit et aura lieu dans nos locaux: 12 avenue Winston Churchill, 31 100 Toulouse (cinq minutes du métro Reynerie).
Objectif ? Améliorer l'accessibilité de nos lieux de médiation.
Arrivée cinq minutes en avance
Trente minutes d'ateliers
Quinze minutes de pratique de la LSF
A très vite,
L'équipe de Coll.in
- Association Coll.IN, Association Coll.IN, 12 avenue Winston Churchill, Toulouse, Occitanie, France
- coll-in, langue, langue-des-signes, atelier, lsf
Vous voulez vous engager pour une cause, rencontrer de nouvelles personnes et découvrir la cartographie participative et humanitaire? CartONG vous invite à participer à un ou plusieurs mapathons en ligne!
Journée Rust Paris le 9 juin 2026 pour les devs et utilisateurs
Adeptes de Rust, et aussi ceux qui se demandent s'il faut s'y mettre, bloquez votre 9 juin 2026 la semaine prochaine ! La conférence Rust Paris revient pour sa troisième édition, même jour, même heure et même lieu. Cette journée est toujours dédiée aux développeurs et aux utilisateurs de Rust, avec un mot d’ordre : REX — retour d’expérience. Les intervenants viendront partager leurs succès, mais aussi les défis rencontrés, dans des contextes variés : WebAssembly, systèmes embarqués, critiques & Temps-réel, cybersécurité (fuzzing, audit), vérification formelle & certification, Big Data, HPC, Cloud & Microservices, Réseaux & Infrastructures, IA, recherche académique…
Portrait d’un membre de la communauté Scenari
NdM : Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support (Opale pour la formation, Dokiel pour la documentation, Optim pour les présentations génériques, Topaze pour les études de cas, Parcours pour créer des scénarios de formation, etc.)
Aujourd'hui nous échangeons avec Emmanuel Farcy, professeur de mathématiques au lycée Salvador Allende de Hérouville St Clair en Normandie, qui enseigne à des classes de 2de, 1ère et terminales générales et technologiques, et qui utilise Scenari pour créer et diffuser ses cours.
- lien nᵒ 1 : Scenari
- lien nᵒ 2 : Opale
- lien nᵒ 3 : Optim
- lien nᵒ 4 : SCENARIstyler
- lien nᵒ 5 : MyScenari
- lien nᵒ 6 : Elea
- lien nᵒ 7 : Forum Scenari
Je travaille avec Scenari depuis 2012 (d’abord en version collaborative avec mon collègue Olivier Lécluse aujourd’hui disparu), et depuis 2020, en local sur mon pc perso.
J'ai découvert Scenari avec Olivier et j'ai poursuivi son travail.
J'utilise Opale et Optim dans MyScenari, le service fourni par l'association à ses adhérents, essentiellement dans le cadre de mes cours de spécialité mathématiques de terminale.
Opale est un modèle Scenari qui sert à créer des contenus pédagogiques linéaires, et Optim est un modèle plutôt générique pour faire des sites web, des rapports, des diaporamas.
Avec Opale je crée mes chapitres, et avec Optim je fais une page d'accueil pour les modules Opale.
J’utilise aussi, de manière ponctuelle, SCENARIstyler qui me permet de créer mes propres habillages graphiques en personnalisant de manière très simple ceux qui sont proposés par défaut.
Quels sont les aspects de Scenari que tu trouves intéressants ?La force de Scenari est de pouvoir facilement créer mes pages web dans lesquelles je peux aisément insérer le code latex nécessaire aux mathématiques de lycée, de mettre des liens vers des documents.
D'autres outils ne permettent pas de faire ça ?Éléa (moodle) sur notre ENT me permettrait de faire des pages similaires, mais je préfère la simplicité de scenari.
Avec Scenari on a la main sur le contenu mais pas (ou peu) sur l'aspect esthétique. Ça t'a perturbé ? Comment t'es-tu adapté ?Initialement, j'avais des habitudes des traitements de textes, mais Scenari simplifie l'aspect esthétique et on se pose moins de questions.
La communauté Scenari t'apporte aussi quelque chose ?Je suis toujours surpris par l’aide très rapide apportée par les participants au forum Scenari. Les développeurs de Scenari y sont aussi présents et on obtient des réponses très précises et pertinentes.
Tu utilisais le service Canoprof du réseau Canopé, et qui est fait aussi en Scenari ?Oui mais juste pour publier mes productions. J'ai commencé à utiliser Scenari avant que Canoprof n'existe. J'aurais pu basculer totalement sur Canoprof, mais ça aurait changé beaucoup mes pratiques. J'ai préféré continuer à utiliser Opale pour créer mes cours.
Je vais devoir modifier ma façon de publier mes pages puisque Canoprof Cloud ferme ses portes en août.
Merci Emmanuel !
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Revue de presse de l’April pour la semaine 22 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.
- [actu.fr] Dans le Perche, les logiciels «en accès libre» sont favorisés face aux géants de la tech
- [ZDNET] La Commission européenne élève le logiciel libre au rang de levier de politique industrielle
- [Les Numeriques] Le logiciel libre l'emporte: Polytechnique dit non à Microsoft et déclenche une vague de rébellion dans les universités
- [ZDNET] Euro-Office: l'alternative open source et souveraine à Microsoft Office et Google Docs arrive le 9 juin
- [ZDNET] CrowdStrike et Google démantèlent GlassWorm, le botnet qui ciblait les développeurs open source
- lien nᵒ 1 : April
- lien nᵒ 2 : Revue de presse de l'April
- lien nᵒ 3 : Revue de presse de la semaine précédente
- lien nᵒ 4 :
Agenda du Libre pour la semaine 23 de l'année 2026
Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 59 événements (France: 52, Québec: 3, Internet: 2, Belgique: 2) est en seconde partie de dépêche.
- lien nᵒ 1 : April
- lien nᵒ 2 : Agenda du Libre
- lien nᵒ 3 : Carte des événements
- lien nᵒ 4 : Proposer un événement
- lien nᵒ 5 : Annuaire des organisations
- lien nᵒ 6 : Agenda de la semaine précédente
- lien nᵒ 7 : Agenda du Libre Québec
-
- [FR Montpellier] Journal | Libellule 207 - Le lundi 1 juin 2026 de 08h00 à 09h00.
- [FR Saint Clar] Tous les Lundis, médiatheque de Saint Clar - Le lundi 1 juin 2026 de 10h00 à 17h00.
- [FR Lyon] Ateliers Wikimédia Commons et Wikidata – initiation et contribution - Le lundi 1 juin 2026 de 10h00 à 16h30.
- [FR Saint-Étienne] Permanence de l'association Alolise - Le lundi 1 juin 2026 de 19h00 à 22h00.
- [FR Paris Châtillon] OW2con'26 - Du mardi 2 juin 2026 à 09h00 au mercredi 3 juin 2026 à 17h00.
- [FR Bayonne] Cartopartie - Le mardi 2 juin 2026 de 09h30 à 17h00.
- [FR Saint-Herblain] Repair Café numérique + Install Party - Le mardi 2 juin 2026 de 14h00 à 17h00.
- [FR Dijon] Atelier du mardi - Le mardi 2 juin 2026 de 15h00 à 19h00.
- [Internet] Émission «Libre à vous!» - Le mardi 2 juin 2026 de 15h30 à 17h00.
- [FR Tours] Permanences Installation Linux et Usages logiciels libres - Le mardi 2 juin 2026 de 18h30 à 20h30.
- [FR Croix] Atelier Local-Low-Tech - Le mardi 2 juin 2026 de 19h00 à 22h00.
- [CA-QC Montréal] Rencontres Linux au Québec - Le mardi 2 juin 2026 de 17h00 à 21h30.
- [FR Le Mans] Permanence du mercredi - Le mercredi 3 juin 2026 de 12h30 à 17h00.
- [FR Fourmies] La permanence du libre - Le mercredi 3 juin 2026 de 13h30 à 17h00.
- [FR Rouen] Install partie Linux et /e/OS - Le mercredi 3 juin 2026 de 14h00 à 17h30.
- [FR Beauvais] Sensibilisation et partage autour du Libre - Le mercredi 3 juin 2026 de 18h00 à 20h00.
- [FR Longvilliers] Contribution à Commons et Wikisource - Actes notariés de Longvilliers (Yvelines) - Le mercredi 3 juin 2026 de 18h00 à 20h00.
- [FR Bachy] Donnez une seconde vie à vos ordinateurs - Le mercredi 3 juin 2026 de 18h30 à 22h30.
- [FR Bordeaux] Cours gratuits d'Espéranto - Le mercredi 3 juin 2026 de 20h00 à 22h00.
- [CA-QC Montréal] Mesh night - Le mercredi 3 juin 2026 de 19h00 à 22h00.
- [FR Montpellier] Congrès ADULLACT - Du jeudi 4 juin 2026 à 09h00 au vendredi 5 juin 2026 à 17h00.
- [FR Paris] Tech Care #3 - Le jeudi 4 juin 2026 de 12h00 à 14h00.
- [FR Montpellier] Émission | Radio FM-Plus | Entrée Libre | Diffusion - Le jeudi 4 juin 2026 de 12h00 à 12h00.
- [FR Saint-Herblain] Repair Café numérique + Install Party - Le jeudi 4 juin 2026 de 14h00 à 17h00.
- [FR Limoges] Installer un bloqueur de publicité sur son navigateur - Le jeudi 4 juin 2026 de 17h00 à 17h55.
- [FR Angers] Rencontre mensuelle OpenStreetMap - Le jeudi 4 juin 2026 de 18h00 à 19h00.
- [FR Béziers] Permanence | Linuxerie | GNU/Linux et Logiciels Libres - Le jeudi 4 juin 2026 de 18h30 à 20h00.
- [FR Lyon] Entraide et Bidouille - Le jeudi 4 juin 2026 de 19h00 à 22h00.
- [FR Montrouge] Rencontre contributeurs OpenStreetMap Sud de Paris - Le jeudi 4 juin 2026 de 19h00 à 22h00.
- [BE Liège] Rencontre publique mensuelle de LiLiT - Le jeudi 4 juin 2026 de 19h00 à 22h00.
- [FR strasbourg] Adieux Windows - Le jeudi 4 juin 2026 de 19h00 à 21h00.
- [CA-QC Montréal, Québec] SymfonyDay Montréal 2026 - Le jeudi 4 juin 2026 de 09h00 à 18h00.
- [FR Montpellier] Festival | Semaine Culturelle des afriques - Du vendredi 5 juin 2026 à 10h00 au dimanche 7 juin 2026 à 23h00.
- [FR Lanmeur] Adieu Windows, bonjour le libre ! - Le vendredi 5 juin 2026 de 13h40 à 16h15.
- [FR Limoges] Rendez-vous du libre - Le vendredi 5 juin 2026 de 16h00 à 19h00.
- [FR Milly-sur-Thérain] Sensibilisation et partage autour du Libre - Le vendredi 5 juin 2026 de 17h00 à 19h00.
- [FR Rouen] Utiliser un GPS éthique - Le vendredi 5 juin 2026 de 17h30 à 20h00.
- [BE Antoing] Atelier Linux - Le vendredi 5 juin 2026 de 18h00 à 20h00.
- [FR Marseille] Apéro mensuel Aïolibre et PLUG, spécial Proxmox - Le vendredi 5 juin 2026 de 19h00 à 23h00.
- [FR Paris] Soirée « radio ouverte » au studio de Cause Commune - Le vendredi 5 juin 2026 de 19h30 à 22h00.
- [Internet] Pause Café Linux : Votre rendez-vous hebdomadaire - Le vendredi 5 juin 2026 de 11h45 à 13h00.
- [FR Montpellier] Émission | Radio Aviva | Équilibre | Diffusion - Le samedi 6 juin 2026 de 07h00 à 09h00.
- [FR Villeneuve d’Ascq] Ateliers "Libre à vous" - Le samedi 6 juin 2026 de 09h00 à 12h00.
- [FR Vanves] Portes ouvertes - Installations - Dépannages - Le samedi 6 juin 2026 de 09h30 à 18h00.
- [FR Ballan-Miré] Passer de Windows à Linux ( Ubuntu 26.04 / LMDE7 ) - Le samedi 6 juin 2026 de 09h30 à 12h00.
- [FR Fourmies] Atelier « Donnez une seconde vie à vos ordinateurs» - Le samedi 6 juin 2026 de 09h30 à 12h30.
- [FR Ivry sur Seine] Cours de l'Ecole du Logiciel Libre - Le samedi 6 juin 2026 de 10h30 à 18h30.
- [FR Illzach] Atelier Linux - Le samedi 6 juin 2026 de 14h00 à 17h00.
- [FR Saint-Cyr L'École] Permanences Logiciels Libres : pc et smartphones - Le samedi 6 juin 2026 de 14h00 à 17h00.
- [FR Le Mans] Permanence mensuelle du samedi - Le samedi 6 juin 2026 de 14h00 à 18h00.
- [FR Paris] Atelier de sensibilisation et essais téléphones à OS libéré - Le samedi 6 juin 2026 de 14h00 à 18h00.
- [FR Paris] Premier Samedi du Libre - Le samedi 6 juin 2026 de 14h00 à 18h00.
- [FR Suresnes] Linux : démos et installation + "Le petit cours de déGAFAMisation - épisode 1 : le mail" - Le samedi 6 juin 2026 de 14h30 à 17h30.
- [FR Juvisy-sur-Orge] Permanence GNU/Linux - Le samedi 6 juin 2026 de 14h30 à 17h00.
- [FR Nantes] Permanence Linux-Nantes - Le samedi 6 juin 2026 de 15h00 à 18h00.
- [FR Quimper] Permanence Linux Quimper - Le samedi 6 juin 2026 de 16h00 à 18h00.
- [FR Gaillac] Repair café - Le dimanche 7 juin 2026 de 10h00 à 14h00.
- [FR Pollionnay] Cyberpapote - Le dimanche 7 juin 2026 de 10h00 à 12h00.
- [FR Paris] Atelier de sensibilisation et essais téléphones à OS libéré - Le dimanche 7 juin 2026 de 14h00 à 17h00.
Comment la Chine redessine les règles du jeu technologique
Quand on parle d’open source, on pense spontanément à la Silicon Valley, à Linux, ou encore à des communautés de développeurs occidentales. Pourtant, depuis une dizaine d’années, la Chine s’impose comme un acteur incontournable de cet écosystème. Mais attention: son approche n’est ni naïve ni purement idéologique. Elle est profondément stratégique.
D’abord, un constat simple: la Chine a longtemps dépendu de technologies étrangères, notamment américaines. Cette dépendance est devenue un risque majeur, surtout dans un contexte de tensions géopolitiques et de restrictions à l’exportation. Résultat: Pékin a décidé d’investir massivement dans l’open source pour gagner en autonomie.
Contrairement à une idée reçue, l’open source n’est pas seulement une philosophie du partage. C’est aussi un levier de puissance. En participant à des projets ouverts, en en créant de nouveaux, la Chine peut à la fois accéder à des technologies de pointe, réduire ses coûts de développement, et influencer les standards mondiaux.
Prenons un exemple concret: Huawei. Malgré les sanctions américaines, l’entreprise a accéléré le développement de son propre système d’exploitation, HarmonyOS, en s’appuyant en partie sur des composants open source. De la même manière, des géants comme Alibaba ou Tencent contribuent activement à des projets internationaux, notamment dans le cloud et l’intelligence artificielle.
Mais la stratégie chinoise ne s’arrête pas là. Elle consiste aussi à structurer un écosystème national. Des fondations open source locales ont été créées, comme l’OpenAtom Foundation, qui vise à fédérer entreprises, chercheurs et institutions autour de projets communs. L’objectif est clair: bâtir une alternative crédible aux écosystèmes dominés par les États-Unis.
En résumé, l’open source est devenu un terrain de compétition internationale, où la Chine cherche à affirmer sa souveraineté technologique et à influencer les standards mondiaux.
Pour compléter cette réflexion, Montpel'libre pourrait se faire l’écho en recommandant de soutenir la création de hubs locaux ou nationaux d’innovation open source, afin de mutualiser les ressources, favoriser l’échange de bonnes pratiques, et ainsi mieux résister à la domination des grands acteurs internationaux. En somme, il s’agirait, à notre avis, pour la France de ne pas rester spectatrice, mais de jouer un rôle actif dans cette recomposition mondiale des règles du jeu technologique.
https://montpellibre.fr/docs/libellule207.pdf
- Salle de la Poésie, Salle de la Poésie, 9 rue de la Poésie, Montpellier, Occitanie, France
- https://montpellibre.fr
- montpel-libre, logiciels-libres, culture-libre, communs-numeriques, journal, libellule
Tous les lundis de 10h à 17h sans interruption, l'association Prends toi en main / atelier abcpc, propose install party, suivi, dépannage, formation et revalorisation à petit prix sous Linux exclusivement.
L'atelier abcpc existe depuis plus de 10 ans et milite exclusivement pour les logiciels libres.
- Médiatheque, Médiatheque, 4 place Dastros, Saint Clar, Occitanie, France
- https://www.facebook.com/PrendsToiEnMain
- linux, permanence, dépannage, formation, adieu-windows, libres, logiciels-libres, abcpc, prends-toi-en-main, install-party
La BU de l’université Lyon 3 vous invite le lundi 1er juin 2026 à une journée composée de deux ateliers sur les enjeux d’open data et open content à travers l’utilisation des plateformes Wikimedia Commons et Wikidata.
Wikimédia Commons est une médiathèque numérique collaborative, participative et non-lucrative qui héberge des images, audios, vidéos et autres médias sous licences libres. Wikidata est quant à elle la base de connaissances libre, collaborative et centralisée des projets relevant de la fondation Wikimedia, qui héberge Wikipédia. Au cours de ces deux ateliers, vous pourrez contribuer à l’enrichissement de ces plateformes en important des contenus libres, de votre choix, ou bien fournis par l’animateur de l’atelier, dans le respect des règles de propriété intellectuelle. Le matin, vous aurez l’occasion d’importer des images, tandis que l’après-midi, vous pourrez alimenter Wikidata avec de nouvelles notices et métadonnées.
Les deux ateliers se dérouleront dans la salle de formation de la Bibliothèque Denise Domenach située sur le campus des Quais (15 quai Claude Bernard). Il est recommandé de venir avec son ordinateur portable.
Lien d’inscription: https://bu.univ-lyon3.fr/atelier-wikimedia-commons-et-wikidata-initiation-et-contribution
Cette journée fait partie d’un cycle d’ateliers sur les projets Wikimédia (Wikipédia, Wikimédia Commons et Wikidata) organisés au sein de la BU de l’université Lyon 3, dans le cadre du Printemps de la donnée. L’université est membre de l’atelier de la donnée Lyon Saint-Étienne (DATALystE).
- Bibliothèque Denise Domenach, Bibliothèque Denise Domenach, 15 quai Claude Bernard, Lyon, Auvergne-Rhône-Alpes, France
- https://bu.univ-lyon3.fr/atelier-wikimedia-commons-et-wikidata-initiation-et-contribution
- wikidata, commons, opencontent, opendata, atelier, wikimédia
Tous les lundis soir de 19h à 22h (hors jours fériés) à la Bricoleuse.
Rencontrer les bénévoles, poser des questions sur le libre ou l'informatique, les logiciels, l'hébergement, passer de Windows à Linux.
Pour passer votre ordinateur sous linux, nous vous invitons à nous prévenir avant votre passage: contact@alolise.org.
- La Bricoleuse, La Bricoleuse, 27 rue de la Ville, Saint-Étienne, Auvergne-Rhône-Alpes, France
- https://alolise.org
- install-party, aide, logiciel-libre, entraide, alolise, permanence, linux, gnu-linux
OW2con est la conférence open source européenne organisée par OW2. Rencontre internationale de contributeurs, éditeurs, ESN, académiques, et organisations à but non lucratif, OW2con rassemble l'ensemble de la communauté open source.
Les membres de la communauté OW2 et participants extérieurs sont les bienvenus pour se retrouver lors de ces deux journées offrant des présentations variées, allant des sujets tech aux enjeux business et éthiques de l'open source, ainsi qu'un focus sur le thème de l'année (thème 2026 à préciser ultérieurement. C'est également une occasion unique de nouer des contacts avec ses pairs au travers de moments conviviaux de networking.
La conférence est ouverte à tous, l’évènement est gratuit et les conférences ont lieu en anglais.
- Orange Gardens, Orange Gardens, Paris Châtillon, Île-de-France, France
- https://www.ow2con.org
- ow2, communauté, europe, souveraineté
OpenStreetMap est un projet cartographique collectif, en ligne et mondial, on le surnomme le Wikipédia des cartes. Chacun peut l'actualiser ou l'améliorer.
Cet atelier spécial d’une journée complète consiste à permettre à chacun de s’approprier son territoire en accomplissant un acte citoyen envers la collectivité sous la forme d’une rencontre conviviale: la réalisation, par les habitants, d’une carte du territoire.
Les équipes sont organisées pour quadriller un secteur à cartographier. Les données sont collectées en petit groupe sur des cartes papier préparées préalablement (secteurs ou rues affectés à chaque groupe). Ensuite, tous les participants se retrouvent autour d’un repas puis au labo numérique pour saisir les données récoltées sur OSM et ainsi les publier, nous finissons bien sûr par un goûter !
Pour midi, chaque participant doit apporter son repas.
Inscription et renseignements auprès de la médiathèque.
- Bayonne Médiathèque centre-ville, Bayonne Médiathèque centre-ville, 10 rue des Gouverneurs, Bayonne, Nouvelle-Aquitaine, France
- https://mediatheque.bayonne.fr/iguana/www.main.cls?p=*&v=860c0c36-1326-4ea1-9997-ad8a729fc6f5#contentitem=8f86016e-7764-4a8f-80e5-995f54957c3a^2
- openstreetmap, osm, carto-party, cartographie, atelier-numérique
Un ordinateur qui rame, qui refuse de démarrer ou qui est cassé, venez le réparer en notre compagnie.
Marre de Windows et envie d'un peu de liberté, venez le libérer!
- Centre socioculturel du sillon de Bretagne, Centre socioculturel du sillon de Bretagne, 12 bis avenue des Thébaudières, Saint-Herblain, Pays de la Loire, France
- https://www.alamaisondulibre.org
- recyclage, repair-café, atelier, install-party, linux, logiciels-libres, gnu-linux, windows10, a-la-maison-du-libre, adieu-windows
Présentation de différents outils concernant les logiciels libres.
Assistance technique.
De préférence sur RDV directement sur le site de l'asso
- Maison des associations, Maison des associations, 2 rue des Corroyeurs, Dijon, Bourgogne-Franche-Comté, France
- https://desobs.fr
- informatique-libre, installation, réemploi, réparation, résilience, résoudre, atelier, desobsolescence, adieu-windows
L'émission Libre à vous! de l'April est diffusée chaque mardi de 15 h 30 à 17 h sur radio Cause Commune sur la bande FM en région parisienne (93.1) et sur le site web de la radio.
Le podcast de l'émission, les podcasts par sujets traités et les références citées sont disponibles dès que possible sur le site consacré à l'émission, quelques jours après l'émission en général.
Les ambitions de l'émission Libre à vous!
Découvrez les enjeux et l’actualité du logiciel libre, des musiques sous licences libres, et prenez le contrôle de vos libertés informatiques.
Donner à chacun et chacune, de manière simple et accessible, les clefs pour comprendre les enjeux mais aussi proposer des moyens d'action, tels sont les objectifs de cette émission hebdomadaire.
L'émission dispose:
- d'un flux RSS compatible avec la baladodiffusion
- d'une lettre d'information à laquelle vous pouvez vous inscrire (pour recevoir les annonces des podcasts, des émissions à venir et toute autre actualité en lien avec l'émission)
Radio Cause Commune, Radio Cause Commune, Internet
La permanence d'ADeTI est un moment d'accueil avec des bénévoles pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu, Linux Mint, Debian,…) mais aussi:
- réparer les problèmes de logiciels sur son ordinateur
- prendre des conseils pour choisir des logiciels alternatifs
- différencier les logiciels libres utilisables pour répondre aux besoins
- préserver et réfléchir sur ses usages (vie privée, éthique,…)
Mais c'est aussi un moment consacré pour:
- partager des connaissances et échanger des savoirs
- maîtriser les formats ouverts et la pérennité de ses documents
- Confidentialité, intégrité et disponibilité des systèmes d'information
- Diversité des alternatives
- Indépendance
Nous accueillons également des membres de l'association ALFA-Net et A-Hébergement qui peuvent répondre aux questions concernant Internet, les réseaux et l'hébergement: connexion à Internet, alternatives aux "Box" et aux opérateurs/FAI commerciaux, Neutralité du Net, Vie Privée, Blog, Site Internet/Web,…
- Centre Socioculturel Gentiana, Centre Socioculturel Gentiana, 90 avenue Maginot, Tours, Centre-Val de Loire, France
- https://www.adeti.org
- install-party, gull, linux, internet, réseau, adieu-windows, logiciels-libres, gnu/linux, adeti-org, hébergement, permanence
L'Association Club Linux Nord Pas de Calais est présent tous les premiers mardis du mois aux Petites Cantines, à Croix.
Au cours de ces séances, nous vous proposons d'installer le système d'exploitation libre Linux et/ou les logiciels libres que vous utilisez sur votre ordinateur.
Si votre ordinateur est récent et que vous vous voulez vous donner les moyens de maîtriser les informations qui y entrent et en sortent, ou si votre ordinateur devient poussif…
Pensez à nous rendre visite, c'est gratuit et on vous donnera toutes les clés pour que vous puissiez faire le choix qui vous convient
SelfRecover — protocole AGPL de récupération de compte sans email
Je suis agriculteur en Creuse et je code sur mon temps libre. J'ai commencé à m'intéresser à la question de la récupération de compte en développant ARC PVE Hub, un site destiné à fédérer une communauté de joueurs. Je n'ai jamais compris pourquoi il fallait transmettre son email pour régénérer un mot de passe — ça déplace la sécurité du compte vers un fournisseur SMTP tiers, qui n'est pas contrôlé par l'utilisateur.
J'ai donc imaginé un protocole de récupération sans email, sans SMS et sans tiers. Le travail s'est étoffé en partenariat avec un assistant IA (Claude), comme outil de réflexion et de mise en forme — j'y reviens en fin de dépêche dans une note de transparence.
L'incident de sécurité ANTS du 15 avril 2026 a publiquement illustré le problème. J'en ai eu connaissance après avoir développé SelfRecover, ce qui m'a confirmé la pertinence d'un protocole sans dépendance à l'email. SelfRecover est publié sous AGPL-3.0-or-later sur GitHub.
Cette dépêche présente le protocole, ses choix de conception, ses limites assumées, et la comparaison avec les approches existantes (Keycloak Recovery Codes en particulier, qui m'a été suggéré en relecture). Audit communautaire bienvenu.
- lien nᵒ 1 : Démo live
- lien nᵒ 2 : Code source
- lien nᵒ 3 : Whitepaper FR
-
- Le contexte
- Le protocole en deux phrases
- Deux modes d'adoption
- SelfRecover vs Keycloak Recovery Codes
-
Que se passe-t-il si l'utilisateur perd son secret ?
- Niveau 1 — Passphrase oubliée
- Niveau 2 — Passphrase perdue, mais identifiant + mot de récupération retenus
- Niveau 3 — Accès complètement perdu
- Chat administrateur humain en mode restreint — état actuel
- Évolution prévue (en réflexion) : pré-traitement optionnel par chatbot LLM local
- Démo standalone vs implémentation de référence
- Pourquoi assumer cette friction
- Pour quel public
- Modèle de menace assumé
- Démos en ligne
- Code et image Docker
- Licence et philosophie
- Note de transparence
- Pour aller plus loin
Depuis l'essor du web, la réponse standard à « l'utilisateur a oublié son mot de passe » est « on lui envoie un lien de réinitialisation par email ». C'est devenu si universel qu'on oublie ce que ça implique :
- La sécurité du compte est déléguée au fournisseur de la boîte mail (Gmail, Outlook, ProtonMail). Si la boîte mail tombe, le compte aussi.
- Le canal email est régulièrement exploité par phishing : campagnes imitant des mails de réinitialisation légitimes pour capturer les mots de passe.
- Les bases de données qui stockent les emails des utilisateurs deviennent une cible massive : leur fuite expose à la fois l'identité et les vecteurs de récupération.
L'incident de sécurité ANTS illustre une autre facette du problème de gestion des données d'authentification dans les services en ligne. Détecté le 15 avril 2026 et rendu public le 20 avril, il a touché 11,7 millions de comptes selon les communiqués officiels. La cause technique identifiée est une faille d'énumération de type IDOR (Insecure Direct Object Reference) : il était possible d'accéder aux données d'un autre compte en modifiant un identifiant dans une URL. La fuite ne concerne ni les mots de passe, ni les pièces justificatives, mais les données personnelles associées aux demandes de titres.
Devant ces limites structurelles autour de l'authentification web, SelfRecover propose une inversion : conserver le secret de récupération chez l'utilisateur, et utiliser le navigateur pour faire les calculs cryptographiques nécessaires à la vérification. Le serveur ne détient plus que des dérivés, jamais les secrets bruts.
Le protocole en deux phrasesCôté navigateur, on calcule HMAC-SHA256(secret, domaine) : une fonction cryptographique standard qui combine le secret de l'utilisateur avec le nom de domaine du site, et produit une empreinte impossible à inverser. Côté serveur, on ne stocke que cette empreinte, en plus protégée par un hash adaptatif et memory-hard : Argon2id, qui est le standard moderne recommandé contre les attaques par brute force.
Deux propriétés découlent de cette construction :
- Le secret brut ne quitte jamais le poste de l'utilisateur.
- Un secret capturé sur un site A (par exemple via phishing) est mathématiquement inutilisable sur un site B : la dérivation HMAC produit des empreintes différentes pour des domaines différents. C'est de l'anti-phishing par construction, pas par convention.
Note conceptuelle : l'inspiration vient des machines à rotors historiques type Enigma. Le principe partagé est qu'une même configuration secrète, présente des deux côtés (émetteur et récepteur), permet de produire et vérifier un message dérivé. La cryptographie moderne (HMAC-SHA256 ici) repose sur des fondations mathématiques différentes, mais ce principe de dérivation contrôlée par un secret commun est resté.
Deux modes d'adoptionSelfRecover propose deux modes selon le contexte de déploiement.
Mode Full — Sans emailL'application abandonne entièrement le flow de réinitialisation par email. L'utilisateur génère une passphrase diceware à l'inscription (liste EFF de 7 776 mots, 4 à 7 mots par défaut), qu'il mémorise ou stocke dans son gestionnaire de mots de passe. Cette passphrase, combinée au nom de domaine du site via HMAC-SHA256, permet de réinitialiser le mot de passe sans aucune dépendance externe.
Pour qui : nouveaux projets qui veulent s'affranchir de SMTP dès la conception, ou services qui adoptent un modèle de menace post-fuite (l'email n'est plus considéré comme un canal de confiance).
Mode Lite — Avec email + mot mémoriséL'application conserve le flow de réinitialisation par email habituel, mais y ajoute une étape supplémentaire : l'utilisateur saisit un mot mémorisé (choisi à l'inscription) qui est dérivé HMAC-SHA256 côté navigateur. Le mot brut n'est jamais transmis au serveur. La validation combine donc deux facteurs :
- La possession de la boîte mail (lien reset reçu)
- La connaissance du mot mémorisé (dérivé HMAC côté client)
Pour qui : applications existantes qui ne peuvent abandonner SMTP du jour au lendemain, mais veulent durcir progressivement leur flow de récupération. Conséquence : un email intercepté seul ne suffit plus à compromettre un compte — il faut aussi connaître le mot mémorisé.
Synthèse Mode Canal email Crypto utilisateur Cible Full Aucun Passphrase diceware EFF + HMAC Nouveaux projets Lite Conservé Mot mémorisé + HMAC Applications existantes SelfRecover vs Keycloak Recovery CodesLors de la relecture de cette dépêche, devnewton a soulevé une question importante : quelle est la différence avec les Recovery Codes de Keycloak ?
Keycloak est l'IAM (Identity and Access Management) open-source de référence, maintenu par Red Hat sous licence Apache 2.0, déployé dans de nombreuses organisations depuis plus d'une décennie. Son mécanisme de Recovery Codes est un fallback d'authentification à deux facteurs : si l'utilisateur perd son téléphone TOTP, il peut saisir un code de secours préalablement généré côté serveur.
Note importante de positionnement : les Recovery Codes Keycloak adressent le cas « j'ai perdu mon 2FA mais je connais toujours mon mot de passe principal ». Le password reset principal de Keycloak utilise, lui, le canal email standard (configuration SMTP dans l'onglet Email de l'admin console).
SelfRecover s'attaque à un cas différent : « j'ai oublié mon mot de passe principal et je ne veux pas dépendre de l'email pour le récupérer ». Concrètement :
Aspect Keycloak Recovery Codes SelfRecover Cible Fallback 2FA Password recovery sans email Architecture Serveur IAM standalone (Java + BDD + admin) Bibliothèque à intégrer dans le code de l'application Source du secret Serveur génère, utilisateur sauvegarde Utilisateur génère/mémorise (diceware ou mot mémorisé) Stockage utilisateur Codes à sauvegarder physiquement Passphrase mémorisable (mode Full) ou mot mémorisé (mode Lite) Email reset principal Reste nécessaire (SMTP configuré dans l'admin) Aucun (mode Full) ou en complément (mode Lite) Anti-phishing crypto Pas spécifique au mécanisme Dérivation HMAC par domaine : un secret capturé sur un site est mathématiquement inutilisable ailleurs Licence Apache 2.0 AGPL-3.0-or-later Maturité 10+ ans, audité, déployé largement Récent, audit communautaire bienvenuPour la majorité des projets qui acceptent l'email comme canal de récupération, Keycloak (et son écosystème) reste le bon choix. SelfRecover s'adresse aux applications qui veulent réduire ou supprimer leur dépendance à SMTP, et qui n'ont pas besoin de la richesse d'un IAM complet (multi-realm, OIDC/SAML, fédération d'identité, etc.).
Que se passe-t-il si l'utilisateur perd son secret ?C'est la question critique d'un protocole de récupération. SelfRecover y répond par escalade progressive sur trois niveaux, complétée par un système de litiges et un chat administrateur pour les cas extrêmes.
Niveau 1 — Passphrase oubliéeL'utilisateur saisit son username + sa passphrase diceware (match exact). Sur succès, un nouveau mot de passe est généré et affiché une seule fois. Anti-brute force : 3 tentatives par 15 minutes, 3 blocages successifs → éjection vers L2.
Niveau 2 — Passphrase perdue, mais identifiant + mot de récupération retenusL'utilisateur saisit son identifiant public (numéro client, identifiant métier — fourni par le site) et son mot de récupération dérivé HMAC-SHA256 côté navigateur. 3 tentatives maximum avec compteur visible. Sur 3 échecs → redirection vers L3. Un litige est automatiquement créé (LIT-XXXX), tracé en base, admin notifié. Les litiges auto-résolus sont purgés après 24 heures.
Niveau 3 — Accès complètement perduEntrée par un lien discret « accès perdu » sur la page de connexion. L'utilisateur saisit son identifiant public en premier (anti-timing : délai forcé de 2 à 3 secondes), puis remplit un formulaire de scoring multi-facteur :
Catégorie Champs Points Identifiant public 4 20 Mot de récupération (dérivé HMAC) 5 25 Username 3 30 Passphrase (fragments) 3 25Bonus passifs : IP connue (+5), fingerprint connu (+5).
- Score ≥ 60/100 → compte récupéré, nouveau mot de passe généré
- Score < 60/100 après 3 tentatives → le compte passe en mode restreint : l'utilisateur n'a plus accès qu'au chat administrateur, le compte n'est ni utilisable ni écrasable tant que l'admin n'a pas validé
- Cooldown : 1 heure entre tentatives
Dans l'implémentation actuelle (déployée en production sur ARC PVE Hub), le chat L3 est un canal direct entre l'utilisateur en mode restreint et un administrateur humain du site. Pas d'intermédiaire automatisé, pas de bot.
Le canal de chat est bidirectionnel et fonctionne en polling (pas WebSocket temps réel, pour rester simple). L'admin vérifie l'identité par l'échange et décide manuellement :
Accorder la récupération : mot de passe régénéré, compteurs réinitialisés, litige clôturé, mode restreint levé.
Refuser la récupération : ban temporaire de 24 heures, pas de nouveau litige possible pendant cette fenêtre, compteur de refus incrémenté (1/3, 2/3, 3/3). À chaque clic, l'interface admin rappelle explicitement les conséquences via une modale de confirmation (ban 24h aux refus 1 et 2, suppression définitive au 3e refus).
Au 3e refus, le compte est définitivement supprimé : décision exclusivement humaine, prise en pleine connaissance de cause par l'admin via la modale d'avertissement explicite. La suppression libère l'identifiant public pour une nouvelle inscription.
Principe de design MySelf : aucune destruction de données utilisateur n'est déclenchée sans validation humaine consciente. L'interface admin explicite systématiquement les conséquences avant chaque action irréversible. Une IA peut se tromper ou être manipulée ; lui déléguer la décision de supprimer un compte créerait une surface d'attaque.
Ce mécanisme empêche un attaquant de spammer les litiges indéfiniment : chaque refus lui coûte 24 h, et trois échecs effacent toute trace. Un propriétaire légitime bloqué par erreur peut retenter après chaque fenêtre de ban, ou se réinscrire depuis zéro si totalement verrouillé.
Évolution prévue (en réflexion) : pré-traitement optionnel par chatbot LLM localEn complément du chat admin humain (qui resterait toujours disponible), une couche de pré-traitement par un agent conversationnel local (Ollama auto-hébergé) est en cours de design. Le chatbot poserait les questions initiales de vérification d'identité et estimerait si la demande est légitime. Sur estimation positive, le mot de passe serait régénéré directement ; sur doute, l'admin humain reprendrait la main.
Cette option serait configurable par site qui déploie (activable ou non), et le chatbot ne se substituerait jamais à l'admin pour les décisions destructives (suppression de compte) — ces décisions resteraient exclusivement humaines, conformément au principe MySelf énoncé plus haut.
L'enjeu principal en cours de réflexion : calibrer le seuil de confiance du chatbot pour ne pas créer un nouveau vecteur d'attaque par social engineering (un attaquant pourrait essayer de manipuler le LLM par prompts).
Démo standalone vs implémentation de référenceLa démo publique (bi-self.my-self.fr/selfrecover/) ne couvre que les niveaux L1 et L2, car L3 nécessite une interface admin, un système de disputes et un dashboard — trop pour une démo à page unique.
L'implémentation de référence en production se trouve sur ARC PVE Hub, un site communautaire de joueurs ARC RAIDERS qui sert de terrain de test à l'écosystème MySelf. L1 + L2 + L3 + mode restreint + chat admin + dispute system y sont fonctionnels.
Pourquoi assumer cette frictionDans la vie réelle, si l'on perd sa carte bancaire, son code, sa pièce d'identité, son adresse et sa date de naissance, on ne récupère pas son compte bancaire par email. On passe en agence avec preuve d'identité.
SelfRecover applique la même logique en ligne : la sécurité réelle nécessite parfois un passage par l'humain ou un processus d'identification rigoureux. Cette friction est assumée comme un trade-off conscient, pas comme une limitation à compenser.
Pour quel publicAdapté :
- Applications avec un administrateur actif et disponible pour traiter les litiges (forum communautaire, association, e-commerce indépendant, boutique en ligne militante)
- Sites où la sécurité prime sur la fluidité de récupération (services manipulant des données sensibles)
- Communautés à taille humaine (du forum de 50 membres au service de quelques milliers d'utilisateurs)
Non adapté :
- Plateformes à très grande échelle sans admin individuel (réseaux sociaux massifs, services publics avec millions d'utilisateurs) — le volume de litiges dépasse les capacités d'un humain réactif
- Services où une friction de récupération est inacceptable (gaming compétitif, services temps-réel)
- Projets sans maintenance active (l'admin doit pouvoir répondre aux litiges dans des délais raisonnables)
Pour ces cas, un IAM mature comme Keycloak avec ses mécanismes éprouvés reste plus adapté.
Modèle de menace assuméPour la transparence, voici les classes d'adversaires explicitement hors périmètre du protocole :
- Compromission du poste utilisateur (logiciels malveillants, RAT, keyloggers) — un attaquant qui contrôle le poste peut capturer la passphrase à la saisie, indépendamment du protocole.
- Compromission du navigateur (extensions malveillantes, exploits 0-day) — même cause, même effet : si le moteur JS qui calcule HMAC est compromis, la sortie l'est aussi.
- Coercition physique — SelfRecover n'offre pas de plausible deniability (pas de second compte caché ou décoy).
- Cryptanalyse théorique de SHA-256 / HMAC / Argon2id — un cassage mathématique de ces primitives mettrait à mal la quasi-totalité des systèmes cryptographiques modernes, pas seulement SelfRecover.
Ces limitations sont le périmètre normal d'un protocole côté navigateur. Pour les usages à plus haute exigence (cérémonies cryptographiques sensibles, génération initiale de clé maître), MySelf-Live est annoncé dans la roadmap V0.2 : une distribution Linux Live USB minimale, RAM-only, signée GPG, qui isolerait les opérations sensibles du système hôte. Pour les usages courants à fort enjeu, Tails ou Qubes OS offrent déjà ce niveau d'isolation et sont recommandés.
Démos en ligne- Mode Full (sans email) : https://bi-self.my-self.fr/selfrecover/
- Mode Lite (email + mot mémorisé) : https://bi-self.my-self.fr/selfrecover/lite.html
- Comparatif sécurité 8 adversaires × 3 modèles : https://bi-self.my-self.fr/selfrecover/comparison.html
Aucune inscription préalable n'est requise. Les données sont éphémères côté serveur.
Code et image Docker- Repo : https://github.com/Pierroons/my-self/tree/main/bi-self/selfrecover
- Whitepaper FR : https://github.com/Pierroons/my-self/blob/main/bi-self/selfrecover/docs/whitepaper-fr.md
- Threat model : https://github.com/Pierroons/my-self/blob/main/bi-self/selfrecover/docs/threat-model.md
- Image Docker multi-arch (amd64 + arm64) :
La démo de référence tourne sur PHP 8.0+ et SQLite (~600 lignes auditables, zéro dépendance externe). Tag GPG-signé v0.1.1, release datée du 5 mai 2026.
Licence et philosophieAGPL-3.0-or-later. Toute version déployée publiquement doit publier ses modifications sous la même licence. Pas de capture SaaS possible.
SelfRecover est une brique du méta-projet MySelf, un écosystème de modules auto-hébergés qui couvre l'identité, la modération communautaire, le droit, et l'agriculture.
Un module complémentaire répond de manière directe à la problématique illustrée par l'incident ANTS : SelfDataGuard chiffre les données utilisateur côté client de telle sorte qu'une fuite de base de données ne livre que des blobs inexploitables. Le code est public, AGPL, en v0.1.0-beta — une dépêche dédiée pourra suivre quand le module aura plus de maturité (audit communautaire, retours d'intégration).
Note de transparence Conception en partenariat avec un assistant IACe protocole a été conçu et codé en partenariat avec un assistant IA (Claude), comme outil de réflexion, de revue critique, et d'écriture de code.
Pour être totalement transparent : je ne suis pas développeur de formation. Mon expérience technique vient du dev web amateur (ARC PVE Hub, un site destiné à fédérer une communauté de joueurs ; un outil de gestion de stock pour mon entreprise ; quelques sites perso). Pour SelfRecover, l'écriture des primitives cryptographiques et la mise en œuvre du protocole ont été largement assistées par l'IA, sur la base de mes choix architecturaux et de ma vision.
Ce qui vient de moi (humain) :
- La vision (souveraineté numérique, refus du SMTP comme canal de récupération)
- Les choix philosophiques (AGPL-3.0-or-later, fallback humain assumé, aucune destruction de données sans validation humaine consciente)
- Le contexte initial (besoin né en développant ARC PVE Hub)
- Chaque décision de trade-off d'architecture
- La responsabilité juridique et morale du code publié sous mon nom et signé GPG
Ce qui vient de l'IA :
- L'écriture des primitives cryptographiques (HMAC, dérivations, vérifications)
- L'agencement du code, la structure des fichiers
- La formalisation des paragraphes du whitepaper et de cette dépêche
- La génération de tests unitaires
- La vérification de cohérence interne
- Auto-audit interne : en cours et continu (chaque modification est relue critiquement)
- Audit communautaire : ouvert dès maintenant, je réponds aux remarques techniques avec sérieux (cette dépêche en est l'illustration directe)
- Audit tiers certifié : envisagé à moyen terme via un cabinet agréé CESTI ANSSI (Synacktiv, Quarkslab, Wavestone, ou équivalent), sous réserve de financement
SelfRecover en est à la version 0.1.1, taguée GPG et signée. C'est un état PoC fonctionnel + déployé en production sur un site réel (ARC PVE Hub), mais pas encore mature pour une adoption massive dans des contextes à fort enjeu. La roadmap V0.2 (MySelf-Live, finalisation du chatbot L3, audit tiers) précisera ce périmètre.
Engagement communauté LinuxFr et culture du libreMon compte LinuxFr est récent, mais mon ancrage dans la culture du libre ne l'est pas : utilisateur exclusif de distributions Linux depuis quinze ans (principalement Debian), j'ai aidé plusieurs proches à migrer des PC anciens vers Debian pour leur donner une seconde vie au lieu de la déchèterie. J'arrive sur LinuxFr depuis le monde agricole/permaculture et le jeu vidéo (ARC PVE Hub), pas du milieu dev historique.
Je suis salarié couvreur dans une PME et installé en agriculture à temps partiel — mon temps libre pour le développement et la participation communautaire est compté. Je m'engage à répondre aux retours techniques sur cette dépêche et à suivre les disputes sur l'état du projet. Pour le reste (commentaires réguliers, dépêches futures sur d'autres modules MySelf — en particulier SelfDataGuard quand il sera plus mature), ce sera au gré du temps disponible, sans promesse.
Toute critique technique constructive est bienvenue. Pour les critiques sur la légitimité du projet ou la nature humain/IA de la collaboration, j'invite à juger sur les choix concrets, le code public, et la qualité des réponses à vos questions.
Pour aller plus loinSelfRecover est un module de l'écosystème MySelf, expérimentation citoyenne sur la souveraineté numérique sous licence AGPL-3.0-or-later.
Les retours techniques, audits communautaires, propositions d'intégration et questions de fond sont les bienvenus — en commentaire de cette dépêche ou en issue sur le repo GitHub.
Si une administration ou une organisation souhaite tester le protocole en environnement isolé, l'image Docker et le Dockerfile sont à disposition. Aucune démarche commerciale n'est associée à cette publication.
Merci aux modérateurs et contributeurs de LinuxFr — Pierre Jarillon, devnewton, Florent Zara, bobble bubble — dont les retours pendant la phase de rédaction ont substantiellement amélioré cette dépêche.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Migrer de Windows vers un système libre — « Libre à vous ! » du 19 mai 2026 — Podcasts et références
276e émission « Libre à vous ! » de l’April. Podcast et programme :
- sujet principal : Migrer de Windows vers un système libre sur le poste de travail avec Magali Garnero, présidente de l’April, membre de Framasoft ; Zoé Pélegry, porte-parole des mouvements Alternatiba et ANV-COP21 ; David Frissard de l’association Désobsolescence
- chronique de Gee sur « Pourquoi je fais de l’art libre »
- chronique de Benjamin Bellamy sur « La nouvelle série à la mode dont tout le monde parle sur les réseaux sociaux »
- Quoi de Libre ? Actualités et annonces concernant l’April et le monde du libre
- lien nᵒ 1 : Podcast de la 276ᵉ émission
- lien nᵒ 2 : Les références pour la 276ᵉ émission et les podcasts par sujets
- lien nᵒ 3 : S'abonner au podcast
- lien nᵒ 4 : S'abonner à la lettre d'actus
- lien nᵒ 5 : Libre à vous !
- lien nᵒ 6 : Radio Cause Commune
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. La prochaine émission sera diffusée mardi 2 juin à 15h30 (puis en podcast). Nos invitées seront la LDH et Amnesty International France. Pour avoir le regard d'assocations dont l'objet premier n'est pas "le numérique", mais qui pour autant ont développé une analyse de ces enjeux à l'aune de leur propre combat. Et plus particulièrement, des associations de défense des droits humains.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
PyConFR 2026, à Biarritz du 29 octobre au 1 novembre
L’Association Francophone Python (AFPy) organise la PyConFR 2026 du jeudi 29 octobre au dimanche 1 novembre. Pour cette 17e édition, nous sommes accueillis par l'école ESTIA de Biarritz !
- lien nᵒ 1 : PyConFR 2026
- lien nᵒ 2 : Proposer un sujet à la PyConFR 2026
- lien nᵒ 3 : Supporter l’évènement
- lien nᵒ 4 : Association Francophone Python (AFPy)
- lien nᵒ 5 : Code de conduite de la PyConFR
La PyConFR, c’est un évènement gratuit sur 4 jours autour du langage de programmation Python. Elle est composée deux jours de développements participatifs (sprints), puis de deux jours de conférences et ateliers.
L’appel à propositions est ouvert jusqu’au 31 juillet 2026. Peu importe votre niveau en Python, vous pouvez proposer un sujet de sprint, de conférence ou d’atelier ! Venez parler de développement logiciel, de diversité, de communauté, faire un retour d’expérience sur un outil, présenter votre projet, un domaine d’activité…
Comme tous les ans, nous proposons aux personnes habituellement peu représentées en conférence de l’aide pour trouver un sujet, rédiger la proposition de conférence, rédiger le support de conférence et pour répéter. Vous pouvez nous contacter à l’adresse diversite@afpy.org si vous pensez en avoir besoin.
Enfin, la PyConFR est entièrement financée par les sponsors. Si vous connaissez des sponsors potentiels, n’hésitez pas à leur parler de l’évènement !
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Podcast Projets Libres saison 4 épisode 18 : OCS Inventory NG, 25 ans d'inventaire de votre parc informatique !
Connaissez-vous OCS Inventory NG ? C'est un logiciel pour inventorier votre parc informatique, démarré en 2000 !
Dans ce nouvel épisode nous vous proposons de découvrir sa riche et longue histoire :
- sa genèse
- l'arrivée de la Gendarmerie Nationale dans le projet
- sa collaboration avec l'outil de gestion de parc GLPI
- un fork de son agent Linux
- la transition vers un projet porté par la société FactorFX.
Bonne écoute !
- lien nᵒ 1 : Lien de l'épisode
- lien nᵒ 2 : Lien vers le site d'OCS Inventory NG
- lien nᵒ 3 : Soutenir le podcast
- lien nᵒ 4 : Lien vers l'épisode en anglais
- lien nᵒ 5 : Le site de FactorFX
Commentaires : voir le flux Atom ouvrir dans le navigateur
Lettre d'information XMPP de février 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.
Bienvenue dans la lettre d'information XMPP, ravi de vous retrouver ! Ce numéro couvre le mois de février 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.
- Annonces de la XSF
- Évènements XMPP
- Vidéos et conférences XMPP
- Articles XMPP
- Nouvelles des logiciels XMPP
- Extensions et spécifications
- Partagez les nouvelles
- Aidez-nous à créer la lettre d'information
- Licence
Comme nous l'avions annoncé dans notre lettre d'information de décembre 2025, le logo officiel de XMPP est désormais intégré à Font Awesome depuis la version 7.2.0. Et le résultat est vraiment trop cool (NDLR: awesome en anglais) !
Évènements XMPPInformations XMPP pour le DI.DAY : Quatre recettes pour utiliser un protocole de chat ouvert lors du « Digital Independence Day », l'initiative allemande (DI.DAY), proposées par la communauté XMPP pour permettre aux gens de se lancer dans la messagerie indépendante !
XMPP Sprint à Berlin (DE / EN) : l'événement se déroulera du vendredi 19 au dimanche 21 juin 2026, dans les bureaux de Wikimedia Deutschland e.V. à Berlin, en Allemagne. Si cela vous intéresse, n'hésitez pas à nous rejoindre ! Pensez simplement à vous inscrire ici, afin que nous sachions combien de personnes seront présentes et organiser l'événement au mieux. Si vous avez des questions ou des inquiétudes, rejoignez-nous sur le salon de discussion : sprints@muc.xmpp.org !
Vidéos et conférences XMPP- Discord n'a jamais été la fin de la partie [EN] par tony-btw.
- [PT-BR] XMPP #engineeringsessions #S06E16. [PT-BR]
- Changements à venir pour Let’s Encrypt et leurs conséquences pour les opérateurs, par l'équipe Prosody pour Prosodical Thoughts [EN].
- Apprise, système de notifications push compatibles avec presque toutes les plateformes, a rétabli sa prise en charge de XMPP via Slixmpp, (après plus de 4 ans). Pour l'instant, aucune version stable n'est disponible, mais ça arrive…
- Au revoir Discord, bonjour Movim !, par Timothée Jaussoin pour le Blog Movim. [EN]
- Une (grosse) optimisation de la mémoire à venir dans Movim, par Timothée Jaussoin pour le Blog Movim. [EN]
- Aidez Movim à atteindre ses objectifs pour 2026 par Timothée Jaussoin pour le Blog Movim. [EN]
- Great Invitations, un tutoriel expliquant comment créer des invitations pour les clients les plus populaires selon la norme XEP-0401 (Ad-hoc Account Invitation Generation), issu de la section tutoriels de joinjabber.org. [EN]
- Visitez notre cuisine, par Isadora pour le blog isacloud.im. [PT_BR]
- À propos de Snikket et Prosody IM : relations et objectifs dans l'écosystème XMPP, par MattJ sur Hacker News. [EN]
- Gérer mon propre serveur XMPP, par danny pour le blog dmcc. [EN]
- MembeBot: ohhh I member : Prêt à mettre en place votre propre système de notifications d'événements de calendrier sans dépendre des géants de la tech ? par TheCoffeMaker pour Cyberdelia. [ES]
- Présentation de Wimsy : Un client XMPP multiplateforme conçu avec Flutter.
- Conversations a publié les versions 2.19.10, 2.19.11 et 2.19.12 pour Android. Ces versions apportent une refonte de la gestion des QR code et URI, une correction d'un problème de rotation pour les tablettes et permet également de supprimer les messages lors du bannissement d'un participant d'un salon public, entre autres. Vous pouvez consulter le journal des modifications pour tous les détails.
- Fluux Messenger, un client XMPP moderne, multi-plateforme, pour les communautés et organisations, les versions 0.11.3, 0.12.0, 0.12.1, 0.13.0, 0.13.1 et 0.13.2 ont été publiées, avec une liste d'ajouts, nouvelles fonctionnalités, corrections de bogues et améliorations qui bien plus longue que ce qu'on peut mentionner ici. Consultez directement le journal des modifications pour tous les détails !
- Gajim a publié sa version 2.4.4 de son application de chat XMPP gratuit et bourré de fonctionalités. Cette publication apporte la prévisualisation des liens, un grand nombre d'améliorations pour macOS, et des corrections de bogues. Merci pour toutes vos contributions ! Vous pouvez consulter le journal des modifications pour tous les détails.
- Monal a sorti sa version 6.4.18 pour iOS et macOS.
- Monocles a sorti ses versions 2.1.2 et 2.1.3 de son client de messagerie instantanée pour Android. La première publication apporte des corrections pour la rétraction des messages, les images envoyées en tant que lien et la récursion infinie du TagEditorView, ajoute le support des liens dans les posts, désactive le bouton publication après un clic pour éviter un double post, refactorise l'interface utilisateur pour la correction des messages et une évolution dans le modèle d'accès au canal social pubsub. Pour la dernière, elle ajoute la pause et reprise de story sur le dialogue supprimer, des corrections pour la gestion de la barre d'avancement et la recherche de contact pour les stories, et enfin des corrections depuis Conversations, ainsi qu'une mise à jour des traductions.
- Profanity a sorti sa version 0.16.0 de son client XMPP console écrit en C. Cette publication apporte des corrections pour la détection OTR, le démarrage OMEMO, l'écrasement des nouveaux comptes lors de l'exécution en mode multi-instance, la reconnexion lorsqu'aucun compte n'a été encore configuré, l'ajout d'une nouvelle commande /changes qui permet à l'utilisateur de comparer les modifications de la configuration d'exécution et la configuration sauvegardée, parmi de nombreux autres corrections de bogues ou améliorations. Merci de consulter le journal des modifications pour tous les détails !
- xmpp-web a sorti sa version 0.11.0 de son client léger pour serveurs XMPP.
- ProcessOne a le plaisir d'annoncer la publication de correction de bugs de ejabberd 26.02. Lisez le journal des modifications pour tous les détails et la liste complète des corrections et améliorations apportées par cette publication.
- python-nbxmpp, une bibliothèque Python qui fournit aux applications Python un moyen d'utiliser le réseau XMPP, la version 7.1.0 a été publiée. Détails complets dans le journal des modifications.
- QXmpp, le client et serveur XMPP multi-plateforme en C++, les versions 1.13.1, 1.14.1, 1.14.2 et 1.14.3 ont été publiées. Détails complets dans le journal des modifications.
- Siltamesh, une passerelle simple entre Meshtastic et les réseaux XMPP, la version 0.2.0 a été publiée.
- Slidge : la version 0.3.7 a été publiée. Vous pouvez consulter les journaux des modifications intermédiaires de 0.3.6 à 0.3.7 pour tous les détails.
- Slixmpp, la bibliothèque XMPP pour Python 3.7+ sous licence MIT : les versions 1.13.0 et 1.13.2 ont été publiées. Vous pouvez consulter les annonces officielles ici et ici pour tous les détails.
- xmpppy, une librairie Python qui vise à fournir un environnement de script simple pour Jabber, la version 0.7.3 a été publié. L'ensemble des détails est disponible dans le journal des modifications.
La XMPP Standards Foundation développe des extensions à XMPP dans sa série de XEP en plus des RFC XMPP. Des développeuses, développeurs et autres personnes expertes en normes du monde entier collaborent à ces extensions, élaborant de nouvelles spécifications pour les pratiques émergentes et affinant les méthodes existantes. Proposées par n'importe qui, celles qui remportent le plus de succès finissent par être classées comme finales ou actives, selon leur type, tandis que les autres sont soigneusement archivées comme différées. Ce cycle de vie est décrit dans la XEP-0001, qui contient les définitions formelles et canoniques des types, des états et des processus. Vous pouvez en savoir plus sur le processus de normalisation ici. La communication autour des normes et des extensions se fait via la liste de diffusion des normes (archives en ligne).
Extensions proposéesLe 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.
-
Metadonnées des liens
- Cette spécification décrit comment attacher les métadonnées d'un lien dans un message.
- Version 0.1.0 de la XEP-0510 (Métadonnées de contact chiffrées de bout en bout)
- Acceptée comme Expérimentale par vote du conseil (dg)
- Version 0.1.0 de la XEP-0511 (Métadonnées des liens)
- Acceptée comme Expérimentale par vote du conseil (dg)
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
-
Version 1.26.0 de la XEP-0001 (XMPP Extension Protocols)
- Affichage (et correction) des informations de gestion du code source.
- Affichage de l'URL de publication (bien que je suppose que tous ceux qui lisent ceci l'ont trouvé depuis).
- Affichage des contributeurs.
- Ajout d'une clé concernant les auteurs de XEP faisant des PR s'ils n'existent pas - c'est "nouveau" plutot que de documenter l'usage actuel.
- Ajout d'une clé concernant les PR recevant l'approbation de l'auteur de la XEP (pratique existante toutefois non documentée).
- Ajout d'une clé concernant le Conseil (etc) ajoutant les auteurs aillant quitté (pratique existante toutefois non documentée).
- Ajout d'une note clarifiant que la Rétraction ne signifie pas la Suppression (pratique habituelle, documentée, mais a été mal interprété par le passé). (dwd)
-
Version 1.1.0 de la XEP-0143 (Guidelines for Authors of XMPP Extension Protocols)
- Reflète la préférence pour des pull request Github pour la soumission initiale,
- les PR ne contiennent qu'une XEP à modifier. (dwd)
-
Version 0.8.0 de la XEP-0353 (Jingle Message Initiation)
- Adapter l'usage des types JID aux cas d'usage réels :
- Envoi des réponses JMI au JID complet de l'initiateur au lieu du JID de base
- Envoi l'élément JMI <finish/> au JID complet des deux parties (melvo)
- Adapter l'usage des types JID aux cas d'usage réels :
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 de XEP ce mois-ci
- Pas de XEP passant stable ce mois-ci
- Pas de XEP dépréciée ce mois-ci
- Pas de XEP rejetée ce mois-ci
Veuillez partager cette nouvelle sur d'autres réseaux :
- Mastodon
- Movim
- Bluesky
- YouTube
- Instance Lemmy (non officielle)
- Reddit (non officiel)
- Page Facebook XMPP (non officielle)
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'informationIl s'agit d'un effort communautaire, et nous tenons à remercier les traductrices et traducteurs pour leur contribution.
Les bénévoles et les nouvelles langues sont les bienvenues !
Les traductions de la lettre d'information XMPP seront publiées ici (avec un certain retard) :
Contributions à la lettre d'information de ce mois-ci : emus, cal0pteryx, Gonzalo Raúl Nemmi, Ludovic Bocquet, sokai, XSF iTeam
Contributions à la traduction :
- Français: Adrien Bourmault (neox), anubis, seveso, impromptux
- Italien: Mario Sabatino, Roberto Resoli
- Portugais: Paulo
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
Cette lettre d'information est publiée sous licence CC BY-SA.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Sortie de la version 7.0 de Datafari, moteur de recherche open source « intelligent » pour entreprise
Nous (France Labs, éditeur de Datafari) sommes fiers de vous annoncer la mise à disposition de Datafari 7.0
Nous avons beaucoup travaillé sur l’intégration plus avancée de l’IA au moment de la recherche, avec à présent une interface dédiée, notre « assistant intelligent », qui permet de converser avec les documents internes.
Pour rappel, Datafari est une solution de recherche pour entreprise. Où que les connaissances se trouvent et sous quelque format que ce soit, elle permet aux employés de retrouver les données utiles.
Et désormais grâce à l’IA, de « discuter » avec ses connaissances. Plus concrètement, il s’agit de récupérer et d’indexer les données et documents depuis de nombreuses sources différentes et plusieurs formats de fichiers, et de permettre aussi de chercher des documents, mais aussi d’utiliser une IA générative pour les questionner.
- lien nᵒ 1 : Courte vidéo de démo
- lien nᵒ 2 : Page de téléchargement
- lien nᵒ 3 : Télécharger les sources
- lien nᵒ 4 : Le forum de discussion
- lien nᵒ 5 : La documentation
- lien nᵒ 6 : Le site officiel
- lien nᵒ 7 : Image Docker
- lien nᵒ 8 : Quick start guide
Pour cette dépêche, on se concentre sur la version libre et open source (licence Apache Public License v2).
Les nouveautés et changements principaux par rapport à la version 6 :
- Un assistant intelligent permettant de discuter avec les documents
- Un mode « Retrieval Augmented Generation » permettant d’obtenir des réponses basées uniquement sur les données internes, et ne nécessitant pas d’entraîner un modèle
- Un mode « agentic » permettant à l’IA de raisonner sur la question posée, et de décider quelles actions prendre pour y répondre
- Une recherche avec plusieurs modes : par mots clés, sémantique (basée sur la recherche vectorielle dans Solr) ou hybride
- Des corrections, des améliorations et des mises à jour logicielles
Pour voir à quoi ça ressemble, nous avons téléversé une courte vidéo de démonstration (voir le lien plus bas). Pour démarrer tout de suite, le mieux est d’aller lire le quick start guide. Nous mettons gratuitement à disposition notre documentation Datafari sur Confluence, qui couvre les usages, l’administration et le développement. Attention, les modules d’IA que nous avons développés, nécessitent la disponibilité d’un serveur exposant un modèle d’IA compatible. De base, Datafari n’héberge pas localement une IA. Le plus simple pour débuter est de le connecter par exemple à Mistral pour se faire la main, et ensuite de passer à des modèles locaux hébergés par vos soins ou par des partenaires.
Pour rappel, voici les principales fonctionnalités de Datafari en tant que moteur de recherche :
Que peut-on faire avec Datafari ?Datafari est un moteur de recherche pour entreprise enrichi à l’IA : membres de la famille des outils de gestion des connaissances, les solutions de recherche fédèrent les connaissances en analysant et indexant tous les documents d’une organisation, aussi bien leur contenu que leurs métadonnées. Pour cela, le moteur de recherche doit être multi‐sources, multi‐formats, et gérer la sécurité. En outre, il faut permettre l’administration de l’outil.
Dans la version libre, on peut, côté admin :
- Administrer les connecteurs vers les sources de données (nous utilisons Apache ManifoldCF avec tous ses connecteurs) ;
- Utiliser l’IA à l’indexation pour analyser et enrichir les contenus ;
- Gérer l’algorithme de pertinence qui classe les documents pour leur affichage suite à une requête ;
- Mettre en avant des documents pour des requêtes identifiées ;
- Créer des utilisateurs et leur assigner des rôles ;
- Voir des statistiques d’usage de l’outil ;
- Configurer le modèle d’IA et les paramètres de vectorisation ;
- Encore plein d’autres choses abordées dans la documentation Confluence.
Côté utilisateur, on peut :
- Chercher de façon simple ou avancée ;
- Poser des questions sur un ou plusieurs documents ;
- Laisser l’IA fouiller dans tous les documents pour répondre ;
- Bénéficier de la correction orthographique et de l’auto‐complétion ;
- Choisir et utiliser des facettes pour filtrer les résultats ;
- Créer des alertes par courriel quand des documents modifiés ou nouveaux correspondent à une requête ;
- ….
Pour 2026 et 2027, nous continuerons de faire évoluer la partie IA. En parallèle, nous travaillons à la refonte de notre système de moissonnage des données.
Des commentaires ?Nous sommes en permanence à l’écoute des commentaires et suggestions pour faire avancer le produit, alors profitez-en, que ce soit d’un point de vue technique ou fonctionnel, ça nous intéresse. Ha et si vous êtes déjà un utilisateur, n’hésitez pas à en parler sur le web !
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
LibrePlan 1.6.0 : nouvelle version de l’outil libre de gestion de projets
Une nouvelle version de LibrePlan vient d’être publiée.
LibrePlan est une application web libre de gestion de projets, de ressources et de portefeuilles de projets, développée depuis 2009. Le projet est distribué sous licence AGPLv3 et peut être auto-hébergé.
Le logiciel vise notamment les organisations souhaitant conserver la maîtrise de leurs données et éviter une dépendance à des plateformes SaaS propriétaires.
- lien nᵒ 1 : Code source
- lien nᵒ 2 : Site du projet
- lien nᵒ 3 : Démonstration en ligne
- lien nᵒ 4 : Images Docker
Cette version 1.6.0 introduit plusieurs évolutions importantes :
- gestion des risques et des incidents (« issue & risk log ») ;
- dépôt documentaire par projet ;
- vue pipeline des projets ;
- indicateurs visuels de statut des projets ;
- amélioration des fonctions de gouvernance et de suivi ;
- extension importante de l’internationalisation.
Le projet prend désormais en charge 18 langues. Les nouvelles traductions ont été produites à l’aide d’outils d’IA puis intégrées et corrigées par la communauté.
Sur le plan technique, LibrePlan continue à s’appuyer sur une architecture Java/PostgreSQL et propose un déploiement simplifié via Docker. Le projet utilise également Forgejo Actions pour son infrastructure CI/CD, dans une logique de souveraineté numérique et d’indépendance vis-à-vis des grandes plateformes centralisées.
LibrePlan peut être utilisé aussi bien par des entreprises que par des administrations publiques ou des organisations souhaitant disposer d’une solution libre et auto-hébergeable pour la planification, l’allocation des ressources et le suivi de projets.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Revue de presse de l’April pour la semaine 21 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.
- [Slate.fr] La France se prépare à larguer les géants américains de la tech, l'Europe pourrait suivre
- [Les Numeriques] Bye bye Microsoft Office: Euro-Office, l'alternative gratuite qui a séduit 2 millions d'Européens, arrive cet été
- [Solutions Numeriques & Cybersécurité] Souveraineté numérique: une coalition européenne de l'open source veut imposer l'examen systématique des alternatives ouvertes
- [Les Numeriques] “C'est ingérable”: Linux, pilier de l'open source mondial, fait face à la plus grande crise de son histoire à cause de l'IA
- lien nᵒ 1 : April
- lien nᵒ 2 : Revue de presse de l'April
- lien nᵒ 3 : Revue de presse de la semaine précédente
- lien nᵒ 4 :
Sortie de Tryton 8.0
Le 20 avril 2026 est sortie la version 8.0 de long support de Tryton un progiciel de gestion intégré modulaire et multiplate-forme.
La version 8.0 de Tryton s'inscrit dans la continuité des versions précédentes en améliorant la stabilité, les performances et les fonctionnalités (dont ci-dessous les principales).
Cette version a un support long de cinq ans comparé à une année pour version précédentes.
- lien nᵒ 1 : Annonce
- lien nᵒ 2 : Démo
- lien nᵒ 3 : Dépêche sur la sortie 7.8
- lien nᵒ 4 : Documentation
Quand un champ a été modifié par les actions de l'utilisateur, il est identifié afin de permettre une vérification visuelle avant de sauvegarder.
Les onglets peuvent être réorganisés maintenant aussi pour le client web et l'action de déconnexion est désormais dans le même menu qui contient déjà les notifications et les préférences utilisateurs afin de donner encore plus d'espace dans l'entête pour les onglets.
Modules métiersSur le plan fonctionnel, la version 8.0 s'enrichit avec de nouveaux modules : gestion des chèques, gestion des accises et suivi d’alcool ainsi que le suivi de la vente de service par des tâches de projet.
Les modules comptables espagnols et allemands ont été sortis du dépôt standard afin d'être gérés plus simplement par la communauté.
Administration et développementLa version 8.0 ajoute le support de Python 3.14 et arrête celui de Python 3.9.
La librairie psycopg est mise à jour à la version 3 ce qui permet d'envoyer les requêtes SQL et leurs paramètres séparément et ainsi lever les limitations sur la taille des paramètres (entre autre le nombre d'IDs dans les clause column IN (...)).
Il est maintenant possible de définir des champs Function (c-à-d calculés par l'ORM) uniquement par une expression SQL. Cette expression sera utilisée pour la lecture, la recherche et le tri.
La définition des modules a été améliorée pour permettre l'utilisation de sous-répertoires plus facilement. En effet, on peut maintenant créer un fichier tryton.cfg dans un sous-répertoire et utiliser un chemin relatif depuis celui-ci vers ses fichiers ressources.
Une API REST a été ajoutée au serveur et une librairie cliente naiad a été publiée. Elle permet de remplacer l'utilisation du module trytond directement pour la création d'applications connexes telles que des sites web. C'est une architecture plus flexible que celle utilisée jusqu'à maintenant comme dans le module flask-tryton.
Les sessions pour le client web sont maintenant stockées comme cookie pour plus de sécurité.
Le client web utilise à présent uniquement des chemins relatifs, ce qui permet de le servir depuis un sous-répertoire.
Pour préparer l'obligation de facturation électronique en France, un appel à sponsor a été lancé pour intégrer la plateforme agrée SUPER PDP.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Nouveautés de mai 2026 de la communauté Scenari
Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous rédigez une seule fois votre contenu et vous pouvez les générer sous plusieurs formes : site web, PDF, OpenDocument, diaporama, paquet SCORM (Sharable Content Object Reference Model)… Vous ne vous concentrez que sur le contenu et l’outil se charge de créer un rendu professionnel accessible et responsive (qui s’adapte à la taille de l’écran).
À chaque métier/contexte son modèle Scenari :
- Opale pour la formation
- Dokiel pour la documentation
- Optim pour les présentations génériques
- Topaze pour les études de cas
- Parcours pour créer des scénarios de formation
- et bien d’autres…
- lien nᵒ 1 : Explication de Scenari
- lien nᵒ 2 : Pour démarrer
- lien nᵒ 3 : Téléchargements
- lien nᵒ 4 : Communauté Scenari
- lien nᵒ 5 : Mastodon
- lien nᵒ 6 : Bluesky
- lien nᵒ 7 : Telegram
- lien nᵒ 8 : LinkedIn
- lien nᵒ 9 : Canal Peertube
Agenda du Libre pour la semaine 22 de l'année 2026
Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 63 événements (France: 54, Québec: 7, Internet: 2) est en seconde partie de dépêche.
- lien nᵒ 1 : April
- lien nᵒ 2 : Agenda du Libre
- lien nᵒ 3 : Carte des événements
- lien nᵒ 4 : Proposer un événement
- lien nᵒ 5 : Annuaire des organisations
- lien nᵒ 6 : Agenda de la semaine précédente
- lien nᵒ 7 : Agenda du Libre Québec
-
- [FR Saint Clar] Tous les Lundis, médiatheque de Saint Clar – Le lundi 25 mai 2026 de 10h00 à 17h00.
- [Internet] Mapathon 2025-2026 par CartONG – Le lundi 25 mai 2026 de 18h00 à 20h00.
- [FR Saint-Étienne] Permanence de l’association Alolise – Le lundi 25 mai 2026 de 19h00 à 22h00.
- [FR Saint-Étienne] OpenStreetMap, rencontre Saint-Étienne et sud Loire – Le lundi 25 mai 2026 de 19h00 à 21h00.
- [FR Moncheaux] Rendez-Vous d’entraide Informatique – Le mardi 26 mai 2026 de 09h00 à 23h30.
- [FR Dijon] Atelier du mardi – Le mardi 26 mai 2026 de 15h00 à 19h00.
- [Internet] Émission «Libre à vous!» – Le mardi 26 mai 2026 de 15h30 à 17h00.
- [FR Lyon] OpenStreetMap, rencontre mensuelle – Le mardi 26 mai 2026 de 18h30 à 20h30.
- [FR Tours] Permanences Installation Linux et Usages logiciels libres – Le mardi 26 mai 2026 de 18h30 à 20h30.
- [FR Lille] Permanence associative autour du Libre – Le mardi 26 mai 2026 de 20h00 à 22h00.
- [FR Lille] Permanence associative autour du Libre – Le mardi 26 mai 2026 de 20h00 à 22h00.
- [CA-QC Montréal] Conférence Souveraineté numérique : Le Québec à la croisée des chemins – Le mardi 26 mai 2026 de 18h30 à 20h30.
- [FR Le Mans] Permanence du mercredi – Le mercredi 27 mai 2026 de 12h30 à 17h00.
- [FR Mortagne au Perche] Parlons Linux et logiciels libres – Le mercredi 27 mai 2026 de 14h00 à 17h30.
- [FR Beauvais] Sensibilisation et partage autour du Libre – Le mercredi 27 mai 2026 de 18h00 à 20h00.
- [FR Argelès-Gazost] Repair Café – Le mercredi 27 mai 2026 de 18h00 à 21h00.
- [FR Cysoing] Mercredis Linux – Le mercredi 27 mai 2026 de 18h30 à 23h30.
- [FR Montpellier] Permanence | OpenStreetMap | HérOSM (hybride) – Le mercredi 27 mai 2026 de 19h00 à 22h00.
- [FR Chatenay Malabry] Utiliser des outils numériques éthiques ? – Le mercredi 27 mai 2026 de 20h00 à 20h00.
- [CA-QC Montréal] MoodleMoot Canada 2026 – Du mercredi 27 mai 2026 à 08h00 au jeudi 28 mai 2026 à 17h00.
- [CA-QC Montréal] Soirée Fédiverse – Du mercredi 27 mai 2026 à 19h00 au vendredi 29 mai 2026 à 19h00.
- [FR Saint-Girons] Install Party – Le jeudi 28 mai 2026 de 09h30 à 12h00.
- [FR Toulouse] Faire Festival – Du jeudi 28 mai 2026 à 10h00 au samedi 30 mai 2026 à 23h00.
- [FR Guérande] Installer Linux – Le jeudi 28 mai 2026 de 14h15 à 15h45.
- [FR Saint Étienne de Gourgas] Atelier d’autodéfense numérique – Le jeudi 28 mai 2026 de 18h30 à 21h00.
- [FR Lyon] Jeudi du Libre : Jouer sans limite – Le jeudi 28 mai 2026 de 19h00 à 21h00.
- [Internet Québec] Webinaire – Libérez vos logiciels – Le jeudi 28 mai 2026 de 12h00 à 13h00.
- [CA-QC Montréal] troisw.quebec – Édition-007 – Le jeudi 28 mai 2026 de 17h30 à 20h00.
- [FR Lanmeur] Adieu Windows, bonjour le libre ! – Le vendredi 29 mai 2026 de 13h40 à 16h15.
- [FR Nantes] Repair Café numérique + Install Party – Le vendredi 29 mai 2026 de 14h00 à 17h30.
- [FR La Ferté Saint-Aubin] Réunion mensuelle de l’association Re-Boot – Le vendredi 29 mai 2026 de 20h30 à 23h30.
- [CA-QC] Pause Café Linux : Votre rendez-vous hebdomadaire – Le vendredi 29 mai 2026 de 11h45 à 13h00.
- [CA-QC Montréal] Atelier – Installfest – Le vendredi 29 mai 2026 de 16h00 à 19h00.
- [FR Villeneuve d’Ascq] Ateliers « Libre à vous » – Le samedi 30 mai 2026 de 09h00 à 12h00.
- [FR Saumur] Séance d’installation de GNU/Linux – Le samedi 30 mai 2026 de 09h00 à 09h00.
- [FR Chaumont] Permanence Informatique – Le samedi 30 mai 2026 de 09h00 à 12h00.
- [FR Ballan-Miré] Permanence Linux – Le samedi 30 mai 2026 de 09h30 à 12h00.
- [FR Montendre] Repair café et install party – Le samedi 30 mai 2026 de 09h30 à 17h00.
- [FR Genech] Salon de la réparation de Genech #4 – Le samedi 30 mai 2026 de 09h30 à 09h30.
- [FR Ballan-Miré] Passer de Windows à Linux (Ubuntu 26.04 / LMDE7) – Le samedi 30 mai 2026 de 09h30 à 09h30.
- [FR Wimille] Retrouvez votre liberté numérique – Le samedi 30 mai 2026 de 10h00 à 12h00.
- [FR Lyon] Journées du Logiciel Libre 2026 – Du samedi 30 mai 2026 à 10h00 au dimanche 31 mai 2026 à 18h00.
- [FR Roubaix] Bonjour Linux – Le samedi 30 mai 2026 de 10h00 à 13h00.
- [FR Wimille] Retrouvez votre liberté numérique – Le samedi 30 mai 2026 de 10h00 à 12h00.
- [FR Saint-Malo] Passage de votre PC vers Linux dernière séance 2025/2026 – Le samedi 30 mai 2026 de 10h00 à 11h30.
- [FR Toulouse] Permanence d’aide et d’installation GNU/Linux et logiciels libres – Le samedi 30 mai 2026 de 10h00 à 18h00.
- [FR Ivry sur Seine] Cours de l’École du Logiciel Libre – Le samedi 30 mai 2026 de 10h30 à 18h30.
- [FR Lyon] "DéMAILnagez ! (votre boîte mail)" – Le samedi 30 mai 2026 de 11h00 à 11h50.
- [FR Lyon] "DéMAILnagez ! (votre boîte mail)" – Le samedi 30 mai 2026 de 12h00 à 13h00.
- [FR Saint-Cyr L’École] Permanences Logiciels Libres : pc et smartphones – Le samedi 30 mai 2026 de 14h00 à 17h00.
- [FR Marseille] Install Party GNU/Linux – Le samedi 30 mai 2026 de 14h00 à 18h00.
- [FR Oust] Repair’café du Haut-Salat – Le samedi 30 mai 2026 de 14h00 à 18h00.
- [FR Illzach] Atelier Linux – Le samedi 30 mai 2026 de 14h00 à 17h00.
- [FR Aubagne] Atelier Répare café et logiciels libres – Le samedi 30 mai 2026 de 14h00 à 18h00.
- [FR Paris] Install Party – Le samedi 30 mai 2026 de 14h00 à 17h00.
- [FR Ramonville Saint-Agne] Les ateliers du CULTe – Le samedi 30 mai 2026 de 14h00 à 18h00.
- [FR Rouen] Assistance numérique libre – Le samedi 30 mai 2026 de 14h00 à 18h00.
- [FR Pau] Atelier Open Source Intelligence (OSINT) – Le samedi 30 mai 2026 de 15h00 à 17h00.
- [FR Quimper] Permanence Linux Quimper – Le samedi 30 mai 2026 de 16h00 à 18h00.
- [FR Saint Martin de Tallevende, Vire] Atelier Libre – Le samedi 30 mai 2026 de 17h00 à 19h00.
- [FR Lyon] Concert KPTN aux JDLL 2026 – Le dimanche 31 mai 2026 de 14h00 à 15h00.
- [FR Argenteuil] Argenteuil ĞBien-Être et ĞRéparation – Le dimanche 31 mai 2026 de 14h00 à 19h00.
- [FR Perpignan] Marché monnaie libre – Le dimanche 31 mai 2026 de 14h30 à 18h00.
Tous les lundis de 10h à 17h sans interruption, l’association Prends-toi en main / atelier abcpc, propose install party, suivi, dépannage, formation et revalorisation à petit prix sous Linux exclusivement.
L’atelier abcpc existe depuis plus de 10 ans et milite exclusivement pour les logiciels libres.
- Médiatheque, Médiatheque, 4 place Dastros, Saint Clar, Occitanie, France
- https://www.facebook.com/PrendsToiEnMain
- linux, permanence, dépannage, formation, adieu-windows, libres, logiciels-libres, abcpc, prends-toi-en-main, install-party
Vous voulez vous engager pour une cause, rencontrer de nouvelles personnes et découvrir la cartographie participative et humanitaire? CartONG vous invite à participer à un ou plusieurs mapathons en ligne!
Portabase : un outil libre de sauvegarde et restauration pour bases de données
Portabase est un logiciel libre auto-hébergeable publié sous licence Apache 2.0, conçu pour automatiser la sauvegarde et la restauration de bases de données dans des scénarios de reprise après sinistre et de migration homogène (c’est-à-dire entre bases de données de même type).
Son architecture distribuée le rend particulièrement adapté à des environnements décentralisés, où les bases de données ne sont pas accessibles sur un même réseau. Il permet de piloter les sauvegardes depuis une interface unique, tout en laissant l’exécution effective aux agents déployés au plus près des bases de données.
- lien nᵒ 1 : Site web de Portabase
- lien nᵒ 2 : GitHub
- lien nᵒ 3 : Documentation de Portabase
- lien nᵒ 4 : Comparatif à des solutions de sauvegarde / restauration
- Un projet né d’un besoin opérationnel
- Une architecture distribuée : un serveur central et des agents
- Bases de données prises en charge
- Aperçu des fonctionnalités clés
- Installation et déploiement
- Feuille de route et fonctionnalités à venir
- Conclusion
Portabase a été créé il y a environ deux ans et demi pour répondre à un besoin interne : remplacer des scripts utilisés pour sauvegarder des bases PostgreSQL par une solution centralisée et facilement maintenable, évitant d’avoir à déployer un script avec une cron sur chaque serveur. N'ayant pas trouvé de logiciels libres répondant à ce besoin, nous avons investi pour créer cette solution et faire un premier pas dans la contribution au monde du libre, après avoir été de simples utilisateurs pendant de nombreuses années.
La construction d’une communauté autour du projet a réellement commencé depuis environ six mois, vers mi-décembre 2025, avec la publication d’une documentation plus détaillée, des articles sur Reddit et la création d’un serveur Discord.
Quelques statistiques à mi-mai 2026 :
- environ 850 étoiles, 90 issues ouvertes et 5 contributeurs sur GitHub
- plus de 10 000 pulls sur Docker Hub
- environ 2 000 visites mensuelles sur la documentation.
Le serveur central fournit l’interface graphique et joue le rôle de control-plane : il permet de déclarer les agents, configurer les sauvegardes, lancer des restaurations et connecter des systèmes tiers (stockages, notifications). Il est construit avec Next.js en TypeScript.
L’agent est déployé au plus près des bases de données : il exécute les tâches de sauvegarde et de restauration. Initialement écrit en Python, il a été réécrit en Rust afin d’obtenir un composant plus léger, plus prévisible et plus robuste à l’exécution. Les garanties apportées par le compilateur Rust contribuent à réduire drastiquement les bugs avant même la mise en production.
Le choix architectural est important : le serveur central ne contacte jamais directement les agents. Il n’est donc pas nécessaire d’ouvrir des ports entrants vers les environnements où résident les bases de données. Ce sont les agents qui contactent périodiquement le serveur central. Cette approche réduit la surface d’exposition réseau et limite les conséquences d’une compromission du serveur central.
Bases de données prises en chargeLe projet a démarré avec PostgreSQL, puis s’est étendu rapidement à d’autres moteurs, d’abord dans l’écosystème SQL.
Portabase prend aujourd’hui en charge neuf bases de données : PostgreSQL, MySQL, MariaDB, MongoDB, SQLite, Redis, Valkey, Firebird et Microsoft SQL Server. La prise en charge Microsoft SQL Server est plus récente, puisqu’elle date d’environ une semaine au moment de la rédaction, et doit donc encore être considérée comme en phase de test.
Aperçu des fonctionnalités clés Sauvegardes planifiées, déclenchement manuel et rétentionPortabase permet de planifier des sauvegardes selon des intervalles fixes ou à l’aide d’une syntaxe cron. Il reste également possible de déclencher une sauvegarde manuellement ce qui est utile avant une opération de maintenance, une mise à jour applicative, une migration ou toute intervention susceptible de modifier fortement l’état des données.
La gestion de la rétention repose sur trois politiques configurables :
- count-based : conserve un nombre maximal de sauvegardes
- time-based : conserve les sauvegardes pendant une durée maximale
- GFS (Grandfather-Father-Son) : pour un plan plus élaboré, cf. ci-après.
Le GFS permet une granularité avec des sauvegardes journalières, hebdomadaires et mensuelles. L’objectif est de couvrir aussi bien les petites installations auto-hébergées que les besoins d’équipes qui doivent formaliser un plan de conservation.
Restauration et migration homogèneSauvegarder est nécessaire, mais ce n’est pas suffisant ! L’objectif principal reste de pouvoir restaurer les données le moment venu, en écrasant les données existantes par celles contenues dans la sauvegarde sélectionnée.
Le cas de migration couvert est celui d’une migration homogène : même type de base de données, même version. Portabase permet ainsi de déplacer une base de données de manière contrôlée en passant par l’interface graphique, sans avoir à utiliser des commandes dans un terminal.
Attention : Portabase n’est pas un convertisseur de bases de données. Il ne sert pas à transformer une base PostgreSQL en base MySQL, ni une base MongoDB en base MariaDB.
Stockage local ou distantPortabase peut stocker les sauvegardes localement, sur l’instance qui héberge le serveur central, ou à distance via des stockages compatibles S3, par exemple AWS S3 ou Garage. Google Drive est également pris en charge. Une même sauvegarde peut être envoyée vers plusieurs destinations simultanément, ce qui permet de créer de la redondance.
Notifications lors d’évènements spécifiquesLe système de notifications couvre les canaux couramment utilisés par les équipes techniques : email, Slack, Discord, Telegram, Ntfy, Gotify et webhooks. Les alertes peuvent être déclenchées sur les succès comme sur les échecs de sauvegarde, avec des politiques personnalisables au niveau des bases de données.
Organisation et contrôle d’accèsPortabase intègre un système d’organisation par espace de travail. Toutes les ressources (agents, canaux de notification, stockage, etc) peuvent être attribuées à des organisations spécifiques, permettant de segmenter les accès. Cette fonctionnalité est principalement utilisée par des équipes qui gèrent plusieurs clients.
Installation et déploiementL’installation peut se faire avec le CLI, Docker ou sur Kubernetes via Helm Chart. Les images Docker sont disponibles pour les architectures linux/amd64 et linux/arm64.
Pour les personnes qui ne souhaitent pas utiliser la CLI, la documentation propose des configurations prêtes à l’emploi, aussi bien pour le serveur central que pour les agents, permettant de démarrer rapidement.
Feuille de route et fonctionnalités à venirLa feuille de route doit être mise à jour très prochainement. Les prochains développements porteront sur l’amélioration de l’expérience utilisateur, l’intégration dans des écosystèmes auto-hébergés comme Unraid, Proxmox VE Scripts, Dokploy et Coolify, ainsi que le renforcement des tests sur toutes les versions de bases de données prises en charge.
ConclusionPortabase est né d’un besoin très concret : disposer d’un outil centralisé pour gérer les sauvegardes et restaurations de bases de données, sans maintenir une collection de scripts maison répartis sur chaque serveur.
Le projet couvre déjà plusieurs besoins courants : politiques de rétention, notifications, stockage local ou distant, authentification OIDC/OAuth2, ainsi que des modes de déploiement adaptés à Docker et Kubernetes.
Des retours d’usage, rapports de bugs et contributions sont donc les bienvenus pour continuer à durcir le projet et l’adapter aux cas réels rencontrés sur le terrain. N'hésitez pas à rejoindre le Discord !
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Nouvelles de Haiku - Printemps 2026
Haiku est un système d’exploitation pensé pour les ordinateurs de bureau. Il est basé sur BeOS mais propose aujourd’hui une implémentation modernisée, performante, et qui conserve les idées qui rendaient BeOS intéressant : une interface intuitive mais permettant une utilisation avancée, une API unifiée et cohérente, et une priorisation de l’interface graphique par rapport à la ligne de commande pour l’administration du système.
Ce compte-rendu liste les principales modifications survenues en février, mars et avril. Ces changements sont numérotés de hrev59356 jusqu’à hrev59671 dans le code source de Haiku, soit environ 320 changements ce trimestre.
Les grosses nouveautés sont la disponibilité d’une version ARM64, l’accueil de 3 participants au Google Summer of Code et l’approche de la version beta 6, très attendue puisque la dernière version publiée, la beta 5, date de septembre 2024.
- lien nᵒ 1 : Rapport d'activité de février
- lien nᵒ 2 : Rapport d'activité de mars
- lien nᵒ 3 : Rapport d'activité d'Avril
- Portage de Haiku pour les architectures ARM64 et RISC-V
- Applications
- Outils en ligne de commande
- Kits
- Serveurs
- Pilotes matériels
- Systèmes de fichiers
- Réseau
- libroot
- Noyau
- Chargeur de démarrage
- Système de build
- Documentation
- C’est pour quand la bêta 6 ?
- Google Summer of Code
C’est la grosse nouvelle de ce trimestre : la version ARM64 de Haiku parvient enfin à lancer le Tracker et permet donc d’avoir un environnement fonctionnel !
Ce travail repose bien entendu sur les efforts de nombreux contributeurs par le passé pour mettre en place cette nouvelle architecture. Ces derniers mois, le travail a été complété par smrobtzz avec des corrections pour pouvoir compiler Haiku depuis macOS, des pilotes pour le port série S5L utilisé par Apple, une correction de l’adresse de base du noyau, la remise à 0 du frame pointer lors du début d’exécution du noyau, des corrections dans la gestion de la mémoire physique, ainsi que quelques correctifs dans l’espace utilisateur. SED4906 a également participé avec des corrections dans la gestion des pages mémoire du bootloader, ainsi que dans les vérifications de taille de pages du runtime_loader.
smrobtzz ne s’est pas arrêté là, il a ensuite ajouté la possibilité d’utiliser plusieurs cœurs et threads de processeur (SMP) et corrigé des problèmes de compatibilité avec la version du firmware EFI EDK2 fournie par défaut avec QEMU, ainsi que, entre autres, des problèmes avec la fonction system_time.
Une fois le système de base stabilisé, le travail s’est poursuivi du côté de Haikuports où smrobtzz et waddlesplah ont travaillé ensemble pour corriger de nombreux problèmes, en particulier sur les recettes de compilation croisée et le processus de “bootstrapping” qui permet de générer le jeu de paquets initiaux permettant d’exécuter Haiku. Les téléchargements de “nightly builds” pour ARM64 fournissent donc maintenant un système utilisable sur les machines ARM64 au moins dans QEMU.
Un fil de discussion sur le forum de Haiku permet de suivre l’évolution de ces développements. La prochaine étape est la compilation de toutes les applications disponibles dans Haikuports, la correction des problèmes que cela va immanquablement dénicher, et la stabilisation du système. Ensuite, le travail pourra se poursuivre pour rendre cette version de Haiku utilisable hors de QEMU sur du matériel réel.
Du côté de RISC-V, le portage de Haiku est un peu plus avancé depuis quelques mois déjà, et fonctionne sur certaines machines sans virtualisation dans QEMU. Ce trimestre, on voit donc seulement une correction de TODO dans le code pour le thread-local storage concernant l’utilisation de variables atomiques (waddlesplash).
Applications TextSearchTextSearch est une application de recherche de texte dans le contenu de fichiers. C’est l’équivalent graphique de la commande grep.
Désactivation de vérifications de types de fichiers redondantes pour accélérer l’application (Philippe Houdoin).
HaikuDepotHaikuDepot est à la fois un gestionnaire de paquets et un magasin d’applications.
apl continue d’améliorer l’application HaikuDepot.
- Modification du code de vérification des schémas JSON, en particulier pour préparer son intégration avec le code traitant les requêtes REST et pouvoir ainsi valider les requêtes et les réponses.
- Correction d’un problème d’affichage de l’onglet “Featured packages” (avec une correction dans BTabView).
- Refonte du code d’affichage des données dans la liste des paquets.
Software Updater est l’application permettant de télécharger et d’installer des mises à jour de paquets logiciels.
Correction d’un crash lorsque l’on quitte l’application pendant une mise à jour (Nathan242).
Ajout d’une option (activée par défaut) de nettoyage automatique des points de restauration anciens pour éviter de remplir le disque système avec des paquets obsolètes. La règle retenue est de conserver toujours au moins 10 points de restauration, et tous ceux qui sont plus récents que 30 jours (waddlesplash).
DeskCalcDeskCalc est une calculatrice.
Nettoyage et améliorations du code de calcul en précision arbitraire (John Scipione).
MailMail est le client email de Haiku. Il propose seulement l’affichage et la rédaction de mails : l’envoi et la réception sont traités par un service indépendant (mail_daemon), tandis que l’affichage de la boîte de réception est réalisé par des requêtes directement dans Tracker.
Humdinger s’est penché sur la gestion des mails avec plusieurs corrections et améliorations :
- L’attribut thread est correctement enregistré sur les messages envoyés, ce qui permet de facilement les regrouper avec les messages reçus dans la conversation correspondante.
- Quelques fichiers du code source n’étaient pas scannés par les outils de localisation, donc certains termes restaient invariablement en anglais.
- Implémentation de labels, permettant d’étiqueter les messages avec des chaînes de caractères arbitraires. Auparavant, l’attribut statut était détourné pour ça, mais cela pose des problèmes lors de la synchronisation avec les serveurs IMAP, pour lesquels le statut du message a une signification bien spécifique. Les labels sont pour l’instant entièrement locaux et ne sont pas synchronisés avec le serveur de messagerie. Cette fonctionnalité comprend également un nouvel add-on pour le Tracker, permettant de facilement étiqueter un fichier.
La couleur du texte pour le corps des messages se met à jour immédiatement lors d’un changement des préférences de couleur du système (John Scipione).
TrackerTracker est le gestionnaire de fichiers de Haiku.
John Scipione continue son travail sur le Tracker :
- L’aperçu des fichiers en cours de glissé-déplacé affiche maintenant les fichiers avec leur apparence « sélectionnée » (texte blanc sur fond noir), ce qui permet de garder le texte plus facilement lisible (bien que ce soit peut-être moins joli).
- L’icône de la corbeille s’affichait parfois pleine alors qu’elle est vide ou inversement, suite à des problèmes de synchronisation de cache et de collecte des informations de l’état de la corbeille de chaque disque monté.
John a également supprimé du code obsolète et corrigé de très nombreux problèmes, par exemple avec le tri des fichiers, la gestion des images de fond dans les fenêtres, le copier coller…
Nathan242 a quant à lui corrigé un plantage lorsqu’on annule le vidage de la corbeille ainsi que des problèmes de formatage de l’indicateur du nombre de fichiers sélectionnés.
Madmax a fait en sorte que les raccourcis claviers pour les add-ons se mettent à jour immédiatement (et pas lors de l’ouverture d’un menu pop-up) lorsque les add-ons sont modifiés.
Waddlesplash a également fait quelques corrections mineures, dont une mérite une mention : une optimisation pour réduire le nombre d’appels système pour le node monitring (réception de notifications lorsque des fichiers sont modifiés).
StyledEditStyledEdit est un éditeur de texte de type « bloc notes ». Il permet d’utiliser du texte formaté (polices, couleurs…)
Lors de la création d’un nouveau document texte, le nom « Sans titre 1 », « Sans titre 2 », etc. est généré avec le plus petit nombre non utilisé. Auparavant, les numéros s’incrémentaient même si certains fichiers avaient entretemps été renommés ou fermés (x512).
CharacterMapCharacterMap permet d’explorer le jeu de caractères unicode et d’y piocher des caractères intéressants.
Correction d’un bug dans la recherche par nom de bloc unicode, amélioration de la disposition des caractères, et diverses autres petites améliorations (madmax).
DeskBarDeskBar est la barre des tâches de Haiku, permettant de naviguer entre différentes fenêtres et applications.
Ajout dans la fenêtre des préférences d’un sélecteur de coin (similaire à celui déjà utilisé pour les coins actifs dans les préférences des écrans de veille). Ceci permet d’améliorer la découvrabilité de la possibilité de déplacer la DeskBar à différents endroits sur l’écran, et est plus facile à utiliser que le “grip” de déplacement de la DeskBar elle-même, qui est tout petit (PulkoMandy, basé sur un ancien patch de mmu_man).
TerminalAjout d’une initialisation manquante pour la couleur du curseur, en particulier lorsque le Terminal est utilisé comme réplicant dans une autre application (JackBurton79, suite à l’utilisation du Terminal dans l’IDE Genio).
Utilisation de _exit au lieu de exit dans les processus fils lancés par fork() sans exec(). L’utilisation de exit appelle les destructeurs globaux dont la destruction de certaines ressources partagées avec le processus parent. C’est une difficulté du mélange des API graphiques de BeOS avec un modèle POSIX complet (waddlesplash). Le même problème a été également corrigé dans l’application Expander.
LaunchBoxLaunchBox est un « dock » permettant de stocker des raccourcis vers des applications fréquemment utilisées.
Simplification du mécanisme d’enregistrement des paramètres. Auparavant, l’enregistrement était fait après un délai d’inactivité, pour éviter d’enchaîner plusieurs écritures sur disque à chaque modification de réglages. Il semble plus simple d’enregistrer les modifications tout de suite, et de laisser le cache disque faire son travail pour décider d’écrire ces changements sur disque tout de suite ou un peu plus tard (nephele).
MediaPlayerOptimisation du code de lecture des fichiers de playlist pour lire le contenu des fichiers ligne par ligne, et pas caractère par caractère (mohammedrattia, dans le cadre de sa candidature au Google Summer of Code).
ActivityMonitorActivityMonitor affiche des graphes avec différentes statistiques d’utilisation de la machine.
Correction d’un bug lors de l’affichage des températures du système dans les cas où le pilote ne fournit pas de nom pour la température mesurée (OscarL).
WebPositiveWebPositive est le navigateur web de Haiku. Il utilise le moteur WebKit qui est un projet libre co-développé principalement par Apple (Safari), Sony (PlayStation), et Igalia (versions GTK et WPE).
Pour les téléchargements dont la taille est inconnue, affichage d’un « barber pole » au lieu d’une barre de progression bloquée à 100 % (YashSuthar983 dans le cadre d’une candidature au Google Summer of Code).
Lorsque WebPositive est quitté en fermant le dernier onglet ouvert, il ne restaure pas ce même onglet lors du prochain démarrage (nipos).
Suppression de code obsolète dans la barre d’onglets (nipos).
DevicesDevices affiche une liste du matériel présent sur la machine.
Les premiers patchs développés par Aquamatic dans le cadre de sa candidature au Google Summer of Code ont été intégrés ce trimestre :
- Les périphériques peuvent être triés par bus (PCI, USB…) en complément des autres options déjà disponibles.
- Nettoyage du code pour prendre en compte certains « TODO » listés dans le code de l’application.
- Investigation et correction d’une fuite de mémoire.
Modification de la localisation dans plusieurs applications pour s’assurer que le comportement de l’option « traduire les noms des applications » est respecté partout lorsque le nom de l’application est mentionné dans un autre texte (humdinger).
Préférences d’apparenceRetrait d’espacements inutiles et disgracieux dans la fenêtre (humdinger).
Outils en ligne de commandeRemplacement des fonctions fork et exec dans time_stats pour utiliser posix_spawn (waddlesplash). L’utilisation de fork et exec pour lancer des processus enfants est la méthode traditionnelle, la première mise en place dans UNIX. Elle pose des soucis de performance et cause des comportements problématiques. En particulier, de nombreuses ressources du processus parent sont conservées (descripteurs de fichiers ouverts, sémaphores…) alors qu’ils ne sont pas toujours nécessaires. La fonction posix_spawn permet un meilleur contrôle de ces comportements, tout en étant beaucoup plus rapide et plus simple à implémenter. Le sujet a conduit à plusieurs modifications dans d’autres parties du code, dont on reparle plus loin dans la dépêche.
pkgman propose maintenant une sous-commande cleanup pour le nettoyage des points de restauration. Contrairement à SoftwareUpdater, ce nettoyage n’est pas automatique, car cela rendrait l’utilisation de pkgman potentiellement trop destructrice. Cependant, un message s’affiche après l’installation de mises à jour indiquant le nombre de points de restauration qui peuvent être nettoyés (waddlesplash).
Amélioration de la commande ltrace, mais celle-ci est toujours un travail en cours et pas encore utilisable (waddlesplash).
KitsLes APIs de programmation de BeOS et de Haiku sont implémentées en C++. Elles sont organisées en “kits” regroupant des fonctionnalités liées.
Application KitL'application kit comporte toutes les fonctions d’échange de messages entre applications et au sein d’une application.
Meilleure gestion d’un cas d’erreur dans BInvoker pour remonter l’erreur à la fonction appelante (korli).
Support KitLe support kit contient toutes sortes de fonctions utilitaires basiques : gestion des chaînes de caractères, parser JSON…
Ajout de tests unitaires pour la classe BStopWatch (priyanshu-gupta07).
La famille de fonctions string_for_size change d’unité lorsque la valeur atteint 1000 et pas 1024. Par exemple on affichera “0.9 Gio” plutôt que “1,000 Mio” (korli). Elles pré-initialisent certaines données au démarrage de l’application plutôt que de les recalculer à chaque appel, ce qui rend l’utilisation de ces fonctions beaucoup plus rapide (waddlesplash).
Les fonctions de géolocatisation BGeolocation utilisent maintenant les services de Beacon DB, suite à la fermeture de Mozilla Location Services (PulkoMandy).
Suppression des objets BLocker alloués statiquement à plusieurs endroits. Ils sont problématiques lors d’un fork : par défaut, les objets BLocker dans les deux processus résultants pointent vers le même verrou système, mais si l’un des deux processus s’arrête, il détruit le verrou et laisse l’autre dans un état incohérent. Dans ce cadre, ajout également de vérifications pour empêcher le processus fils de continuer à utiliser l’interface utilisateur ou même d’appeler la fonction exit() (waddlesplash).
Refonte des classes BBlockCache, BTokenSpace et BLooperList utilisées pour gérer des ressources diverses, en particulier dans BMessage : utilisation de locks moins lourds, suppression de sémaphores qui n’était pas nécessaires, optimisation des performances (waddlesplash).
Modernisation des tests unitaires du support kit, pour rendre plus facile l’ajout de tests supplémentaires (KapiX).
Optimisation des méthodes de recherches de BString (pour trouver un caractère, une sous-chaîne…) en utilisant les fonctions C prévues à cet effet dans la libc plutôt que des boucles écrites à la main (waddlesplash, avec des corrections de madmax).
Interface KitL'interface kit contient toutes les classes nécessaires à la réalisation d’interfaces graphiques.
Correction de l’utilisation de la touche “Suppr” dans une zone d’édition de texte lorsqu’il y a également un raccourci clavier de menu (même désactivé) associé à cette même touche (nathan242).
Optimisation des méthodes BView::FillStroke et FillPolygon dans leur variante recevant directement un tableau de points pour éviter de recopier ce tableau dans un objet temporaire (x512).
Correction d’incompatibilités avec BeOS dans le format d’enregistrement de BPicture (x512) :
- pour l’enregistrement d’images bitmap,
- le “cisaillement” (shear) des polices de caractères,
- les sous-pictures,
- les transformations affines,
- les “échappements” (espacement des caractères) de texte,
- et d’autres petits problèmes.
Ce format permet de stocker une suite d’instructions de dessin pour afficher quelque chose à l’écran. Il est parfois utilisé par certaines applications pour stocker des ressources dans un format vectoriel compact, c’est pourquoi le respect du format défini par BeOS est important.
Ajout d’une taille minimale pour les barres de défilement, pour qu’elles gardent une taille raisonable même si l’utilisateur choisit une taille de police de texte en dessous de 12pt. La taille de toute l’interface s’adapte automatiquement à ce choix, mais pas de façon linéaire (nipos).
Suppression d’une valeur présente en double dans le message « mouse idle » envoyé aux applications lorque la souris cesse de se déplacer (x512).
Correction du code de dessin des cases à cocher pour restaurer l’état initial de la vue dans laquelle le dessin est fait. Ce problème était visible en particulier dans WebPositive lors de l’affichage de cases au sein d’une page web (nephele).
Correction de la façon dont BButton initialise ses couleurs, pour correspondre au comportement de BeOS et corriger des problèmes avec les applications utilisant liblayout, en particulier Wonderbrush (PulkoMandy).
Deux modifications sur la gestion des raccourcis clavier :
- Vérification des changements de raccourcis seulement lorsque c’est vraiment nécessaire. Cela est particulièrement visible dans Tracker où la plupart des raccourcis sont dynamiques (par exemple, actifs seulement si un fichier est sélectionné) (jscipione)
- Remplacement du tableau simple utilisé pour stocker les raccourcis par un arbre binaire de recherche, permettant de trouver rapidement si une combinaison de touches est associée à un raccourci clavier (waddlesplash).
Le storage kit permet l’accès aux systèmes de fichiers.
Ajout de la nouvelle macro _DEPRECATED pour signaler au compilateur de déclencher un avertissement si certaines fonctions sont utilisées (via l’option -Wdeprecated). Les premières méthodes à recevoir ce traitement sont dans BMimeType et BResources (waddlesplash).
Grosse optimisation du « renifleur MIME » qui analyse le contenu des fichiers pour déterminer leur type MIME. L’utilisation de fonctions POSIX optimisées (memmem entre autres) et d’autres améliorations rendent l’étape « mimeset'ing package contents » de la compilation de Haiku ou de paquets HaikuPorts au moins 10 fois plus rapide (waddlesplash).
Network KitLe network kit permet la programmation d’application communiquant en réseau.
Correction d’un bug dans BSecureSocket qui ne validait plus les certificats SSL suite à une erreur lors d’une modification précédente (Horizons).
Media KitLe media kit se charge des médias audio et vidéo.
Réparation de l’add-on média « mixeur vidéo » qui est maintenant disponible dans l’image de base. Il est surtout utile comme démonstration des possibilités du media kit (x512).
ServeursLes serveurs sont des applications lancées en tâche de fond et qui rendent différents services. Ils sont similaires aux “daemons” de UNIX.
app_serverapp_server est le serveur graphique de Haiku.
Correction d’un crash lors de l’utilisation d’un dégradé de couleurs ne comportant aucune couleur (KapiX).
La taille indiquée aux accelerants pour les curseurs matériels n’était pas la bonne (Goldfish64).
Intégration de commits de versions plus récentes de AGG pour corriger des typos dans quelques fonctions (Coldfirex).
Correction de fautes de frappe détectées par codespell, un outil de vérification orthographique pour le code (korli). Ces modifications font suite à une mise à jour des règles de codage de Haiku pour spéficier que c’est l’orthographe américaine qui est préférée lorsqu’il y a des divergences avec l’anglais européen.
Ajout d’un nouveau mode de fonctionnement pour les accélerants où le framebuffer n’est accessible que par l’espace utilisateur. Pour l’instant, seuls les pilotes VESA et framebuffer sont concernés, mais les autres pilotes devraient être modifiés de la même façon, car il n’y a pas de raison pour le noyau d’accéder directement au framebuffer à part dans le cas d’un kernel panic, ce qui se fait de toutes façons par une autre méthode (waddlesplash).
launch_daemonlaunch_daemon est l’application “init” qui se charge du démarrage des autres services et des sessions utilisateurs. Il joue un rôle proche de celui de systemd pour Linux ou de launchd pour Mac OS.
Retrait des utilisations de fork+exec dans net_server et launch_daemon au profit de posix_spawn. Amélioration du code qui interprète les variables d’environnement (waddlesplash).
BluetoothLe serveur bluetooth centralise toutes les opérations concernant les périphériques Bluetooth.
Les premiers patchs des candidats au Google Summer of Code font que les choses bougent à nouveau du côté du serveur Bluetooth !
Vighnesh Sawant a corrigé le traitement du message “inquiry result” lorsqu’un appareil fournit plusieurs réponses d’un coup (ce qui est possible d’après la spécification du Bluetooth). Il a également implémenté le traitement de nouveaux types de réponses contenues dans ce message, terminé le code nécessaire pour la procédure d’appairage basique, corrigé l’apparition de périphériques bluetooth en double, et encore d’autres problèmes. Il a aussi déplacé tout le code concernant l’appairage basique dans un fichier source séparé.
Mohammed Rattia a quant à lui nettoyé les fonctions de recherche du périphérique Bluetooth local, et réparé la compilation des tests unitaires liés au Bluetooth.
Enfin, shivamsinghydv a ajouté une validation de l’adresse MAC des périphériques lors de leur activation par le serveur Bluetooth et corrigé un crash.
MailLe serveur de mail se charge de l’envoi et de la réception de courrier électronique (POP, IMAP et SMTP). Les messages sont mis à disposition du reste du système sous forme de fichiers avec des attributs étendus.
Philippe Houdoin a fait quelques changements sur le client IMAP :
Vérification des informations CAPABILITY retournées directement en réponse à une commande IMAP LOGIN. Les capacités étaient récupérées séparément, mais dans certains cas le serveur envoie cette liste dès le début de la connection, afin de pouvoir informer de capacités qui influent le processus de login, par exemple.
Modifications de la réponse à la commande ID pour identifier clairement le client mail de Haiku lorsque le serveur demande qui on est.
MediaLe serveur média permet l’interfaçage avec la carte son, et les entrées et sorties vidéo s’il y en a.
Le mélangeur de sons n’est démarré que lorsqu’une application a besoin de jouer du son pour la première fois. Cela économise du CPU et de la batterie (puisque la sortie de la carte son peut être laissée en veille jusqu’à ce moment. Pour l’instant il n’y a pas encore d’arrêt du mixeur et de mise en veille de la carte son lorsque la lecture de son est finie, cela pourra être ajouté plus tard. Cela corrige également certains problèmes conduisant à l’erreur « performance time too large ! » suite à une vérification ajoutée il y a environ deux ans pour détecter des utilisations incorrectes du media kit (waddlesplash).
Pilotes matériels StockageLe pilote virtio_block a été temporairement désactivé en préparation de la publication de la version beta 6 de Haiku. En effet, il semble causer des problèmes de corruption disque dans certains cas, sans que les développeurs de Haiku aient pu identifier pour l’instant la source du problème. Si vous utilisiez virtio_block, vous pouvez le remplacer par virtio_scsi qui fournit des fonctionnalités équivalentes mais avec un protocole de communication avec la machine hôte différent. Il faut donc par exemple modifier la ligne de commande de démarrage de QEMU (waddlesplash).
Ajout de paramètres manquants dans les APIs permettant de détecter les fonctionnalités disponibles pour les disques NVMe (feature management) (korli).
Amélioration de l’initialisation des périphériques connectés à un contrôleur SDHCI : désactivation des cartes dont la tension d’alimentation n’est pas compatible, et mise en place des premières étapes pour la communication avec les périphériques eMMC (Mahmoussam, dans le cadre d’une candidature au GSoC qui n’a pas pu être acceptée).
RéseauSynchronisation des pilotes réseau avec la dernière version d’OpenBSD (waddlesplash).
Correction d’un bug dans le pilote USB ethernet qui causait un plantage de certains adaptateurs USB lors de la lecture de l’adresse MAC (smrobtzz).
Ajout de l’USB dans la couche de compatibilité avec FreeBSD, ce qui a permis de remplacer le pilote ASIX-USB développé spécifiquement pour Haiku par celui de FreeBSD, qui permet d’utiliser une plus large gamme d’adaptateurs utilisant un chipset ASIX (waddlesplash et smrobtzz).
Import du pilote zyd de FreeBSD sous le nom zydzifi1211 avec l’ajout des fonctions nécessaires dans la couche de compatibilité. Ce pilote est à la recherche de testeurs pour confirmer son bon fonctionnement (waddlesplash).
AffichageAjout des identifiants PCI pour une nouvelle génération de contrôleurs GART Intel, permettant de gérer le partage de la mémoire entre le CPU et le GPU (OscarL).
USBDésactivation d’une optimisation « zéro copie » dans le pilote EHCI (USB 2). Cette optimisation semble déclencher des plantages ou des corruptions sur certaines machines (waddlesplash).
VirtualisationIntégration d’une série de pilotes pour le virtualiseur Hyper-V : souris, heartbeat pour confirmer que le système virtualisé est toujours vivant, synchronisation de l’heure, pilote SCSI, et diverses couches basses nécessaires à tous ces pilotes (Goldfish64).
Gestion d’énergieCorrection de messages de debug dans le pilote AMD P-States. Correction de la compilation du pilote audio HDA lorsqu’il est compilé sans les logs de debug. Ce pilote émet de très nombreux logs au démarrage pour identifier la carte son et toutes ses capacités, il est donc parfois utile de désactiver ces logs pour travailler sur autre chose (OscarL).
Systèmes de fichiersLes systèmes de fichiers semblent être une cible appréciée des contributeurs au Google Summer of Code : le périmètre est bien maîtrisé, et le gros du travail se situe au niveau des structures de données, qui sont enseignées dans la plupart des cursus scolaires en informatique.
Ceci explique une activité inhabituellement élevée dans ce domaine lors de la période de candidature. Cependant, les tâches les plus abordables ont déjà toutes été traitées, et aucun des dossiers de candidature reçus cette année dans ce domaine n’a été jugé de qualité suffisante pour embaucher un nouveau contributeur.
PackagefsPackagefs est un système de fichier virtuel permettant d’accéder aux contenus des paquets installés sur le système. Cette approche permet d’utiliser les paquets logiciels sans avoir besoin de les extraire, et accélère considérablement l’installation et la désinstallation de logiciels.
Amélioration de la gestion du manque de mémoire RAM, pour favoriser un ralentissement du système plutôt que de déclencher des erreurs de lecture (waddlesplash).
NTFSNTFS est le système de fichier utilisé par Windows.
Correction d’un crash lors de certaines erreurs de montage de partitions (waddlesplash).
BTRFSBTRFS est un des systèmes de fichiers utilisés par Linux. Il offre de nombreuses fonctionnalités avancées dont le pilote pour Haiku ne sait que faire. Seule la lecture de fichiers classiques est possible.
Lecture des fichiers compressés avec ZSTD (Abdullah Zulfiqar).
Corrections de warnings du compilateur et de bugs potentiels (grep-name).
Ajout de vérification de validité et traitement des collisions de hash dans les recherches de fichiers dans des dossiers ; vérification que la taille des partitions est suffisante avant de formatter un disque en btrfs ; amélioration de certains cas de gestion d’erreur ; nettoyage et amélioration de commentaires (Anuj Billore).
XFSXFS est un système de fichiers initialement développé pour IRIX mais dont le développement continue dans Linux. Il est une alternative populaire à ext4 pour ce dernier.
Plusieurs corrections par sleipbyte :
- Correction d’une erreur de compilation
- Implémentation de rewind_dir, qui permet au Tracker d’afficher le contenu des dossiers,
- Correction d’erreurs SMAP (accès à la mémoire utilisateur par le noyau sans validation de pointeurs)
- Amélioration de la détection des partitions
- Reconnaissance de nouveaux drapeaux indiquant des fonctionnalités additionnelles dans XFS (le système de fichier continue d’évoluer dans son implémentation pour Linux)
- Traitement d’un cas particulier pour la gestion des attributs étendus : leur absence peut être indiquée par un pointeur NULL ou une taille à 0.
NFS est un système de fichiers permettant d’accéder à des fichiers stockés sur un autre ordinateur.
Amélioration des logs d’erreur lorsqu’un volume NFS ne peut pas être monté (kallisti5).
Il existe un deuxième pilote plus récent mais qui reconnaît uniquement NFS version 4, malheureusement, certains NAS n’implémentent que la version 3…
FATFAT est un ancien système de fichiers utilisé par Microsoft, pour DOS et les premières versions de Windows. Il reste populaire sur certains périphériques de stockage amovible et comme dénominateur commun entre beaucoup de systèmes.
Correction d’un plantage qui pouvait survenir lors du formatage d’une image disque au format FAT (nathan242).
BFSBFS est le système de fichiers de BeOS et de Haiku. Il a la particularité d’avoir une gestion poussée des attributs étendus, et la possibilité d’effectuer des requêtes sur ces derniers à la manière d’une base de données.
Corrections et améliorations par Waddlesplash :
- Un plantage pouvait survenir lors de la vérification d’un système de fichiers corrompu,
- Une division par zéro dans le parseur de requêtes (utilisé aussi par packagefs et ramfs),
- Un break manquant qui pouvait déclencher un plantage du noyau (assertion ou même utilisation de mémoire libérée) lors de la suppression de plusieurs fichiers en parallèle,
- Ajout de notifications de renommage et déplacement pour les requêtes “live” en même temps que celles envoyées pour le « node monitoring », afin que les résultats de requêtes restent bien synchronisés avec l’état du disque.
RAMFS est un système de fichiers stockant les données directement en RAM. Il permet un accès très rapide aux fichiers, mais il est non persistant, les données sont perdues en cas de coupure ou de redémarrage du système.
Réorganisation du code par waddlesplash :
- Nettoyage du code pour tracer la taille des allocations,
- Consolidation de la logique do « node monitoring »,
- Correction des évènements « node monitor » sur les fichiers simples.
Le ramdisk n’est pas un système de fichiers, mais un périphérique de stockage de masse. Il peut être formaté avec n’importe quel système de fichiers.
Retrait de l’utilisation de l’ordonnanceur I/O et traitement direct des requêtes à la place. Cela contourne un bug de l’ordonnanceur dans le cas où la taille des secteurs du disque est plus large que les blocs du système de fichiers, ce qui force à écrire plusieurs blocs sur un secteur d’un seul coup. Ce problème ne se produit habituellement pas sur d’autres supports de stockage (la taille des secteurs étant habituellement de 512 octets dans les autres cas). L’ordonnanceur sera tout de même corrigé plus tard, pour permettre son utilisation dans d’autres cas où il est pertinent et dans ce cas de figure, comme les flash NAND accessibles sans contrôleur de haut niveau (nathan242).
RéseauCorrection d’une fuite de sockets dans la pile Bluetooth (Vighnesh Sawant).
Activation du code permettant de charger des modules pour le résolveur DNS nsswitch dans libnetwork. Cela permettra par exemple de charger le module mDNS (aussi connu sous le nom de Avahi pour Linux ou Bonjour pour Mac OS) pour la résolution des noms de machines sur le réseau local (Philippe Houdoin).
Vighnesh Sawant a également ajouté la possibilité d’utiliser l’option AI_V4MAPPED au résolveur DNS.
Ajout de la notification de l’erreur B_SELECT_DISCONNECTED (correspondant à l’erreur POSIX POLLHUP) dans les notifications sur les sockets, corrigeant ainsi un cas de test de compatibilité BSD (waddlesplash).
librootlibroot est l’implémentation de la librairie C standard de POSIX. Elle regroupe les fonctions habituellement réparties entre les libc, libm et libpthread sur les systèmes UNIX classiques.
Remise en place de code spécifique par architecture dans printf qui avait été incorrectement enlevé. Cela corrige des plantages dans certains cas spécifiques (waddlesplash).
Ajout de la définition de GETENTROPY_MAX qui était manquante dans limits.h (korli).
Implémentation de la réservation d’espace d’adresse pour le tas du runtime_loader. Ceci évite la fragmentation de l’espace mémoire et améliore les performances, en particulier lorsque l'ASLR est désactivé (Amir Ramez, dont c’est la première contribution).
Réécriture de l’implémentation de pthread_barrier pour utiliser moins d’appels systèmes, corriger des problèmes de synchronisation, et au final éliminer un blocage qui survenait dans des applications utilisant OpenGL (waddlesplash).
Remplacement de l’implémentation de strchr et de strcpy par des versions plus optimisées venant de la bibliothèque musl (waddlesplash).
Correction d’un plantage lors de l’utilisation des allocateurs mémoire “debug” ou “guarded” dans libroot, qui était causé par des changements sur l’ordre d’initialisation des données de localisation (waddlesplash).
Correction d’incompatibilités dans l’implémentation de kqueue, en particulier, la fermeture d’un descripteur de fichier surveillé déclenchait une notification alors que ce n’est pas le cas dans les implémentations BSD (waddlesplash).
Renommage de PTHREAD_RECURSIVE_MUTEX_INITIALIZER pour ajouter le suffixe _NP. La constante porte ainsi le même nom que dans glibc par exemple, indiquant clairement qu’il s’agit d’une extension non-POSIX (waddlesplash).
Remise en place d’une prise en charge multi-plateforme pour le type long double de 128 bits. Le code de glibc pour cela avait été supprimé lors d’un précédent nettoyage car les plateformes x86 utilisent un format à 80 bits. Cela devrait corriger des plantages sur ARM64 et RISC-V lors de l’utilisation de ce type de valeurs (waddlesplash suite à l’investigation de smrobtzz). Bien que le problème eût déjà été signalé lors de la suppression du code concerné, à l’époque il n’y avait pas d’architecture fonctionnelle permettant de prouver la présence du problème.
Ajout d’un wrapper pour la fonction sigaction dans le « POSIX error mapper », qui permet de faire fonctionner des applications dépendant du fait que les valeurs de errno sont positives (contrainte apparue dans les versions récentes de POSIX, mais impossible à satisfaire tout en conservant la compatibilité avec BeOS) (korli).
Réparation de POSIX_SPAWN_SETSID, qui ne fonctionnait pas (waddlesplash).
NoyauLe noyau de Haiku est un noyau monolithique assez classique. Il offre la possibilité de charger des modules, et une attention particulière est apportée à conserver le mieux possible l’API définie entre le noyau et les modules, rendant assez facile le développement de modules (tels que des pilotes de périphériques) indépendamment du noyau.
Gestion des hôtes Hyper-V : calibration TSC spécifique et pilote VMbus (Goldfish64 dont c’est la première contribution).
Amélioration du suivi des mutex de l’espace utilisateur dans le noyau, pour rendre les problèmes moins faciles à déclencher et plus faciles à rattraper (waddlesplash).
Korli a corrigé des problèmes détectés par les tests du langage Go :
- Lors de la création d’un fichier qui impose de traverser un lien symbolique vers un dossier qui n’existe pas encore,
- Dans la gestion des paquets réseaux, où une gestion de taille de tampon mémoire utilisait des valeurs incohérentes.
Retravail en profondeur des messages SMP (à la base de toute la mécanique de synchronisation de l’exécution du code entre différents threads et cœurs de CPU) : réduction des attentes actives en utilisant rw_spinlock au lieu de spinlock simples, envoi de messages à seulement certains cœurs plutôt qu’en broadcast, traitement des messages reçus par un cœur avant d’attendre la réception des messages envoyés aux autres, suppression d’opérations atomiques inutiles, etc. (waddlesplash). Ces changements ne semblent pas régler les gros problèmes de performance observés avec ce code lors de l’utilisation de Haiku dans VirtualBox, qui reste donc non recommandé pour utiliser Haiku.
Activation de l’utilisation de certaines fonctions “builtins” du compilateur dans le noyau. Le noyau est compilé avec l’option -freestanding pour indiquer au compilateur qu’il ne s’agit pas d’un environnement d’exécution standard, en espace utilisateur et avec une bibliothèque C. Cette option empêche le compilateur de supposer qu’une fonction nommée memcpy (par exemple) a un comportement spécifique et peut être remplacée par une implémentation accélérée. Cela limite les possibilités d’optimisation. Pour éviter ce problème, il faut appeler explicitement les fonctions built-in du compilateur qui implémentent ces opérations, ce qui se fait via des manipulations du préprocesseur C. Les noyaux Linux et FreeBSD ont déjà mis en place cette solution, et maintenant Haiku applique la même solution (waddlesplash).
Correction d’un problème d’initialisation de IO-APIC sur certains systèmes avec un bus PCIe (Goldfish64).
Optimisation de fonctions liées à la gestion de la swap (waddlesplash). Retravail de la gestion des allocations pour améliorer la stabilité et les performances lorsque la mémoire swap est utilisée (ce patch était en test depuis plusieurs mois afin de trouver un maximum de bugs avant de le fusionner, et de ne pas trop déstabiliser les nightly builds). Nettoyage du code vérifiant les permissions d’accès à la mémoire et la protection (en lecture ou en écriture).
Modification de l’initialisation des tas d’allocation mémoire du noyau pour permettre d’activer les modes “debug” ou “guarded” avec une option du menu de démarrage (sans devoir recompiler le noyau). Ainsi les utilisateurs peuvent facilement activer ces options pour aider à l’investigation de problèmes de corruption de mémoire qui ne se reproduisent que sur leur machine (waddlesplash).
Correction de problèmes de synchronization entre le cache de mémoire virtuelle et les opérations sur le système de fichiers, qui pouvait aboutir à un blocage complet du système. Ajout d’un test unitaire pour ce cas particulier (waddlesplash).
Réorganisation de la mémoire allouée pour le SMP (multiprocesseurs), pour éviter d’allouer un grand nombre de variables atomiques dans la même ligne de cache CPU (problème de "false sharing »). (waddlesplash)
Découpage des fichiers de code “VM” (gestion de la mémoire virtuelle) dans des fichiers de taille raisonable, par exemple pour le code d’initialisation et le « page writer ». Déplacement du code de notification de page occupée, suppression d’un champ inutile dans les page queues. Waddlesplash poursuit ce travail avec une refonte du page writer, qui n’est pas encore mergée pour l’instant.
Gestion des ASIDs dans les TLBCe sujet avait été discuté il y a quelques années dans le cadre d’un début de participation au Google Summer of Code qui n’avat pas abouti. Il est revenu à la surface suite à une série d’article « The Gerrit Code Review Iceberg », qui explore les patchs et changements abandonnés par leurs auteurs respectifs sur la plateforme de revue de code Gerrit (plus de 300 changements en attente). L’un des changements listés a attiré l’intérêt de SED4906 qui s’est penché sur les ASIDs. Le sujet est un peu technique et mérite quelques explications.
Pour gérer la mémoire virtuelle, on utilise une structure appelée TLB. C’est cette structure qui permet de faire correspondre une adresse en mémoire physique à une adresse en mémoire virtuelle, et également de gérer les permissions d’accès (lecture, écriture ou exécution) sur cette mémoire. Ces informations sont stockées en RAM et, pour gérer les vastes quantités de mémoire sur les machines modernes, peut comporter jusqu’à 5 niveaux d’indirection.
Si chaque accès mémoire devait traverser ces 5 niveaux pour trouver l’adresse physique à accéder, le système serait extrêmement ralenti. Le processeur inclut donc un cache spécifique dans lequel sont stockées les entrées TLB les plus récemment utilisées. Ainsi, la plupart des accès sont résolus très rapidement à l’aide de ce cache et l’impact de la mémoire virtuelle sur les performances est faible.
Cependant, ce cache crée un autre problème : lors d’un changement de contexte (exécution d’un autre processus par le processeur par exemple), il faut prendre garde à vider ce cache. Sans quoi, le nouveau processus pourrait accidentellement accéder aux données de l’ancien, suite à la mise en cache des mauvaises données. La solution traditionnelle à ce problème est de vider ce cache à chaque changement de contexte, c’est-à-dire plusieurs centaines de fois par seconde. Un processus interrompu, même brièvement, va donc se retrouver lorsqu’il reprend son exécution avec un cache vide, et les premiers accès à la mémoire seront donc fortement ralentis.
Une solution plus récente est l’utilisation d'ASIDs dans la table des pages. Cela signifie que, dans le cache TLB, chaque entrée va stocker non seulement l’adresse physique et les permissions, mais aussi un identifiant du processus auquel ces informations sont associées. Ainsi, lors d’un changement de contexte, il n’est plus nécessaire de vider le cache. Le nouveau processus disposant d’un ID différent, il ne va pas utiliser les entrées présentes pour un autre processus. Et si le processus initial reprend son exécution, il trouvera une partie du cache déjà préchargée avec ses informations.
Des identifiants spéciaux peuvent également être utilisés, par exemple pour l’espace mémoire du noyau. Cela permet de conserver dans le cache TLB toutes les entrées correspondant au noyau, qui sont utilisées lors des appels système peu importe le processus en cours d’exécution.
Le patch implémentant les ASIDs pour les processeurs x86 est encore en cours de développement. Mais la discussion autour de ces changements a déjà conduit à l’intégration de deux modifications plus simples:
- Lors de la synchronisation entre CPU : par exemple si plusieurs threads (partageant le même espace mémoire) s’exécutent sur des cœurs de processeur différents, il est nécessaire de synchroniser les caches TLB des cœurs de processeur correspondants. Pour ce faire, les processeurs s’envoient des messages s’informant mutuellement de la nécessité de vider le cache TLB. Ce message peut être reçu alors que le processus en cours d’exécution a déjà changé, et dans ce cas, il déclenchait inutilement une vidange du cache supplémentaire (waddlesplash).
- Il y avait d’autres problèmes dans l’implémentation spécifique aux processeurs x86. Les mesures de performances sur le patch avec activation des ASIDs (dans plusieurs versions) ont conduit à récupérer certains correctifs améliorant les performances sans nécessiter l’activation des ASIDs (SED4906 et waddlesplash).
Sur les processeurs x86, l’utilisation d’ASIDs est entièrement optionnelle. Ce n’est pas le cas sur d’autres architectures comme SPARC, où leur intégration dans le processeur est beaucoup plus profonde, avec par exemple des instructions permettant de travailler avec plusieurs espaces d’adressage simultanément.
Chargeur de démarrageCorrection d’un problème avec la fonction pour “bloquer” des fichiers (par exemple désactiver des pilotes de périphériques empêchant le démarrage) pour traiter correctement les noms de fichiers contenant des espaces (madmax).
Correction d’une fuite de mémoire dans le code affichant l’écran de démarrage. La mémoire était bien libérée lors du démarrage du noyau, mais seulement après avoir été tranférée du bootloader vers le noyau ce qui complique et rallonge inutilement la procédure de démarrage (waddlesplash). Augmentation de la taille de la zone de mémoire contenant les arguments du noyau, qui pouvait se remplir dans certains cas particuliers comme les images “bootstrap”.
Système de buildForçage de la compatibilité C89 lorsqu’on compile GCC 2 avec les versions récentes de GCC. GCC 2 est toujours utilisé dans Haiku pour assurer la compatibilité avec BeOS. Il n’est pas possible de le compiler avec un compilateur s’attendant à trouver du code compatible avec les versions actuelles du langage C (korli, waddlesplash, kallisti5). La plateforme d’intégration continue a ensuite pu être mise à jour vers une version de Linux qui fournit GCC 14.
Activation de l’option de compilation -Werror pour un plus grand nombre de dossiers, en particulier netfs, et les pilotes graphiques radeon et s3 (fruitdelapassion). Cette option demande au compilateur de déclencher une erreur de compilation, plutôt qu’un simple avertissement, pour un certain nombre de problèmes. Ainsi, on s’assure que les développeurs ne passent pas à côté d’un problème qui aurait pu être détecté tout de suite. La prochaine étape sera d’inverser la logique pour cette option : l’activer par défaut pour tous les dossiers, et la désactiver explicitement lorsque c’est absolument nécessaire, par exemple pour du code importé d’autres projets pour lequel il est préférable de limiter les modifications.
KapiX a démarré un chantier d’amélioration du système de tests unitaires afin de rendre plus facile l’ajout de nouveaux tests, réduire la quantité de code à écrire pour faire fonctionner un test, et encourager les autres développeurs à écrire des tests :
- Correction de la compilation des tests existants (kernel, app_server, libroot…)
- Définition d’un nouveau type d’image “test” contenant les tests unitaires et un serveur SSH. Cette image peut être générée par la CI, puis démarrée dans une machine virtuelle pour lancer les tests
- Désactivation des tests qui ne fonctionnent pas au point de provoquer un plantage irrécupérable.
Ajout d’un fichier de prédéfinition des paramètres POP/IMAP pour l’hébergeur disroot.org (humdinger).
Correction de la compilation de libroot avec le compilateur clang (nephele).
Nettoyage des Jamfiles, où du code exécuté en espace utilisateur employait les en-têtes normalement réservés au noyau. Les fichiers qui étaient souvent utilisés dans les deux espaces ont été déplacés dans un dossier commun (waddlesplash).
Modification de la gestion de errno dans libroot_build (la couche de compatibilité qui implémente des fonctions spécifiques à Haiku sur un système hôte utilisé pour la compilation croisée). Dans certains cas, la valeur de errno n’était pas bonne, ce qui créait des problèmes de comportement dans mimeset et dans d’autres outils utilisés lors de la compilation (waddlesplash).
Ajout d’un harnais fs_shell pour le système de fichiers ExFAT. Cela permet de tester le code du système de fichiers hors de Haiku, dans une interface en ligne de commande permettant de réaliser des opérations simples (Halonix).
Ajout d’un message d’avertissement dans la sortie de ./configure si certaines bibliothèques nécessaires à la compilation de Haiku ne sont pas disponibles (nephele).
Correction de diverses mauvaises orthographes pour le mot “unknown” un peu partout dans le code (SED4906).
Suppression d’un fichier temporaire qui était accidentellement laissé en place lors de la génération d’une image “MMC” (contenant un chargeur de démarrage pour une platforme ARM). Certains utilisateurs ont confondu ce fichier avec l’image finale et ont eu du mal à démarrer Haiku à cause de ce problème (waddlesplash).
DocumentationLa documentation de Haiku est séparée en 3 parties:
- Un guide de l’utilisateur, présentant les différentes applications, raccourcis clavier…
- Le « Haiku Book », une référence des API pour les développeurs d’applications,
- Une documentation “interne”, pour les développeurs qui travaillent sur le système d’exploitation lui-même.
La première est traduite dans plusieurs langues, tandis que les deux autres sont actuellement disponibles uniquement en anglais.
Haiku BookLe Haiku Book est actuellement à utiliser en complément du Be Book, son équivalent rédigé pour BeOS. Haiku a obtenu l’autorisation de distribuer des copies du Be Book, mais avec une license n’autorisant pas les modifications. Cela veut dire que le Haiku Book doit être réécrit de zéro. Les efforts ont donc été mis en priorité sur les nouveautés de Haiku, et la documentation des parties reprises de BeOS arrive petit à petit.
Ajout de documentation pour B_QUERY_WATCH_ALL qui devient une API publique. Ce flag permet de générer une requête sur le système de fichier et de recevoir des notifications du node monitor lorsque les fichiers trouvés par la requête sont modifiés, même si la modification n’entraîne pas un ajout ou une suppression du fichier des résultats de la requête. C’est l’équivalent de B_WATCH_ALL qui existait déjà pour le node monitoring sur un dossier classique (waddlesplash).
Ajout de documentation pour des classes liées à l’utilisation du réseau : BCertificate, BProxySecureSocket, BSecureSocket et BSocket (cafeina).
Gros nettoyage et amélioration de la documentation de BEntry et BStatable. Ajout d’une remarque sur MenusBeginning dans la documentation de BWindow (John Scipione).
Documentation pour les développeursLa documentation interne est un projet plus récent. Elle est construite à partir de documents, d’articles et de messages de mailing list écrits au cours du temps par les développeurs de Haiku, dans le but de mieux structurer ces connaissances et de décharger le site web principal du projet, qui avait initialement accueilli ce type de documents au début du projet. Aujourd’hui, il serait plus intéressant d’avoir un site web plus centré sur l’utilisation de Haiku que sur son développement, mais il ne faudrait cependant pas perdre ces informations, soit pour leur intérêt technique, soit pour leur intérêt historique et la vision qu’elles donnent sur les débuts du projet.
Clarification d’un paragraphe incompréhensible dans la documentation du device manager (OscarL).
Mise à jour de la documentation sur l’implémentation de la mémoire swap et suppression de vieux documents sur la VM (gestion de la mémoire virtuelle) qui ne correspondait plus du tout à l’implémentation actuelle (waddlesplash).
C’est pour quand la bêta 6 ?Waddlesplash inclut ce paragraphe dans les rapports d’activités mensuels. Le mieux pour se rendre compte des avancées est de reprendre tel quel les commentaires des 3 derniers mois :
FévrierOn s’approche !
Un gros changement sur la gestion de la mémoire qui corrige une méchante régression est en attente de revue depuis plus d’un mois mais aucun développeur ne semble disponible pour le relire.
Du côté du Tracker, la plupart des régressions sont corrigées, mais il en reste encore quelques-unes.
En dehors de ces deux gros sujets, il n’y a plus que 5 ou 6 bugs et régressions qui doivent absolument être corrigées, mais certaines d’entre elles promettent d’être des sujets compliqués qui vont demander un peu de temps.
MarsC’est pas pour tout de suite !
Il y a un problème de rafraîchissement de l’affichage dans WebPositive qui bloque le processus de release. Une bonne partie des autres problèmes sont corrigés.
AvrilPas encore !
Le problème dans WebPositive (dans HaikuWebKit, en fait) a été corrigé, mais il y a maintenant un problème pour télécharger les sources de HaikuWebKit depuis son nouvel hébergement sur Codeberg depuis les machines de build de Haikuports (le fichier est assez gros et déclenche un timeout du côté de Codeberg).
Et de toutes façons, il reste encore quelques bugs du côté de Haiku lui-même à traiter aussi.
On peut également jeter un oeil sur l'outil de suivi des bugs pour voir où on en est. Au moment de la rédaction de ce rapport, il reste 25 tickets ouverts dans le jalon beta 6, dont 3 de priorité critique :
- Un problème de texte illisible lorsqu’on fait un glisser-déplacer d’un grand nombre de fichiers dans le Tracker,
- Le mode « économie d’énergie » du scheduler empêche le fonctionnement de certains claviers et trackpads,
- La fenêtre de sauvegarde de fichiers a des problèmes de mise en page, parfois les contrôles de la fenêtre sont superposés
Haiku fait de nouveau partie des organisations sélectionnées cette année pour encadrer quelques participants au Google Summer of Code.
Une quarantaine de candidatures ont été reçues, dont une grande partie ont été assez rapidement éliminées : hors sujet, ne respectant pas le format demandé ou ne comprenant pas une contribution au code par exemple. Le projet Haiku s’en sort plutôt bien, là ou d’autres organisations plus reconnues ont reçues plusieurs centaines de propositions.
Finalement, étant donné le petit nombre de “mentors” disponibles pour encadrer les participants, seulement 3 participants ont été retenus cette année grâce à leur travail de très bonne qualité avec plusieurs patchs déjà intégrés avant même la fin de la période de candidature.
Aquamatic sera encadré par KapiX et Korli, et va améliorer l’application “Devices” (gestionnaire de périphériques), en particulier pour indiquer clairement les périphériques pour lesquels un pilote est disponible ou non.
Mohammed R. Attia et Vighnesh Sawant seront encadrés par Waddlesplash, Scottmc et PulkoMandy. Ils vont poursuivre l’implémentation du Bluetooth dans Haiku. Mohammed se concentre sur les périphériques HID (claviers et souris sans fil) tandis que Vighnesh se chargera du profil audio HFP et, si le projet avance bien, des autres profils audio de meilleure qualité.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur










