
Troisième et dernier épisode de la série sur l'April, l'association de promotion du logiciel libre en France
Voix off : Next, Next, Next, Next.
Mathilde Saliou : Comment les nouvelles technologies modifient-elles nos manières d'appréhender le monde ? En quoi nous aident-elles ? Dans quelle mesure nous freinent-elles parfois ? Quand les contestons-nous ? Qu'est ce qui nous convainc qu'elles nous augmentent ? Et qu'est-ce qui nous motive à les contourner ?
Bienvenue dans Entre la chaise et le clavier, le nouveau podcast de discussion de Next. Dans ces entretiens réguliers, je vous propose d'aller (…)
Les Journées du Logiciel Libre 2026 auront lieu le week-end du 30-31 mai 2026 !
Citoyens et citoyennes engagées, associations, entreprises ou flâneurs et flâneuses avides de découvertes se retrouveront le week-end des 30 et 31 mai 2026, cette année encore au sein du campus de l’École Normale Supérieure de Lyon - Site René Descartes, et son superbe jardin (https://www.openstreetmap.org/way/5212492). L'entrée sera comme toujours libre et gratuite.
Les Journées du Logiciel Libre se déroulent chaque année à Lyon depuis 1998 et rassemblent spécialistes, adeptes, curieux et curieuses de tous niveaux venus de toute la France pour un week-end riche en conférences, ateliers et rencontres.
Vous souhaitez proposer une intervention (conférence, atelier ou stand) pour les JdLL 2026 ? Vous avez jusqu'au 15 mars 2026 pour déposer votre proposition ici : https://pretalx.jdll.org/jdll2026/cfp
Vous souhaitez sponsoriser l'évènement ? C'est par là : https://jdll.org/soutenir
Et si vous souhaitez suivre nos dernières actualités, c'est sur le Fédiverse : https://framapiaf.org/@jdll
N'hésitez pas à passer le message autour de vous !
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Walid Nouh : Bienvenue sur Projets Libres, le podcast de linuxFR.org où l'on parle des logiciels libres, des données ouvertes et des communs numériques. Je suis Walid Nouh, je suis ravi d'être avec vous aujourd'hui pour le troisième épisode sur l'April, l'association April. Je vous encourage à aller écouter les deux premiers épisodes [Épisode 1, Épisode 2 si vous voulez avoir une introduction et en savoir plus sur l'histoire de l'April. Aujourd'hui, avec mes trois invitées, nous allons (…)
- Transcriptions / Walid Nouh, Julie Chaumard, Isabella Vanni, Marie-Odile Morandi, Libre à vous !, L'April, Transcriptions, Conférence, AudioNextcloud vient de sortir la version Hub 26 Winter, alias Nextcloud 33. Cette version se distingue par un gros travail de fond sur les performances, quelques ajouts dans Talk, Office et Mail, ainsi que la possibilité de créer des fédérations plus complètes (pour communiquer plus facilement avec d'autres instances Nextcloud).
Le changement le plus intéressant côté architecture, c'est l'introduction du moteur ADA (Accelerated Direct Access, clin d'œil à Ada Lovelace).
Concrètement, les deux High Performance Backends (HPB) ont été revus : celui de Nextcloud Files, réécrit en Rust passe en v2.0 et celui de Nextcloud Talk en Go. Le but de ces changements est d'améliorer les performances pour permettre une montée en charge, particulièrement sur les très grandes instances.
Côté base de données, la gestion des aperçus a été revue pour désencombrer le système et gagner en réactivité. Pour les installations utilisant le stockage S3, il y a un gain d'efficacité majeur. Les fichiers et leurs miniatures peuvent désormais être récupérés directement par l'utilisateur depuis le stockage sans avoir besoin d'être traités par le serveur PHP de Nextcloud.
Un article technique dédié rentre dans les détails si vous voulez creuser.
Nextcloud Talk : messagerie et visioPlusieurs fonctionnalités pratiques font leur apparition :
L'application Mail reçoit plusieurs améliorations :
Nextcloud Office propose désormais deux modes de comparaison de fichiers :
Le tableau blanc s'enrichit de minuteries, votes, réactions, commentaires, tables et historique des versions.
Fédération et migration de donnéesLa fédération qui permet de collaborer entre utilisateurs d'instances Nextcloud différentes est étendue à Deck (tableau Kanban), Calendrier et Teams (groupes fédérés).
L'outil de migration utilisateur est maintenant installé par défaut. Il prend en charge l'export/import de Mail, Contacts, Calendrier, Tables et Deck, facilitant le passage d'une instance à une autre.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
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 57 événements (France: 49, Internet: 4, Québec: 3, Suisse: 1) est en seconde partie de dépêche.
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.
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!
Bonjour à toutes et à tous. Pour moi c'est un réel plaisir de vous accueillir aussi nombreux et nombreuses pour cette troisième édition d'Alpes Open Source Software, AlpOSS, le principal événement isérois, voire régional, autour de l'écosystème des solutions en code source ouvert. Cette année, vous l'avez vu, nous avons fait le choix de nous délocaliser à La Rampe, notre belle salle de spectacle. Après deux éditions passées à l'hôtel de ville et face à l'affluence grandissante à AlpOSS, il (…)
- Transcriptions
PRÉSENTATION DE LINUX MINT et DÉMONSTRATION D'UNE INSTALLATION SUR UN ORDINATEUR PORTABLE
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.
Adieu Windows, bonjour le Libre ! Y en a-t-il qui savent ce dont je vais parler ? Cool ! Vous venez faire la conférence à ma place ? Non ! J'ai essayé ! Bonjour. Je m'appelle Magali Garnero, mais, dans la communauté je suis plutôt connue comme Bookynette, Bookynette parce que je suis libraire et que je fais moins d'un mètre soixante. C'est facile à retenir, vous voyez une naine avec un livre, c'est moi ! Je suis aussi présidente de l'April, j'oublie toujours ce moment-là, depuis 2022. Je (…)
- Transcriptions / Magali Garnero alias Bookynette, AdieuWindows, Obsolescence, Associations, Conférence, VidéoCela fait un petit moment qu'il n'y a pas eu d'actualités publiées concernant le jeu 0 A.D. : la dernière version annoncée en dépêche était la Alpha 26 « Zhuangzi » en octobre 2022, et le dernier lien concernait le départ du project leader en octobre 2023. Et pourtant une version « Alpha 27: Agni » est parue en janvier 2025 et Stan est de nouveau/encore le project leader. Au fait c'est quoi 0 A.D ?
0 A.D. : Empires Ascendant est un jeu vidéo de stratégie en temps réel (Real Time Strategy, RTS) historique en 3D développé par Wildfire Games. C’est un projet libre (code sous GPL v2, données sous CC BY‑SA 3.0), au développement ouvert, visant des standards de qualité artistique comparables à ceux de l’industrie, ainsi qu’un grand respect de la réalité historique. Le jeu permet d’incarner quinze factions qui ont marqué leur histoire entre les rives de l’Atlantique et la chaîne de l’Himalaya, au cours de la période allant de −500 av. J.‑C. à −1 av. J.‑C.
Petit retour rapide sur l'annonce en janvier 2025 de la version Alpha 27 « Agni », qui souligne les éléments principaux :
Et le développement est passé de SVN à Git.
Et donc la version 28 « Boiorix »Cette partie est basée sur l'annonce de la sortie, sans être une traduction complète exhaustive.
L'équipe indique rechercher des personnes pour contribuer sur l'édition vidéo, la gestion des médias sociaux, le design de site web, le test et la qualité, la traduction, le développement logiciel et artistique.
Les GermainsUne nouvelle faction a été ajoutée : les Germains (représentant une coalition entre les Cimbres, les Teutons, les Ambrons et autres peuples celto-germaniques, comme un peuple semi-nomade.
Les unités civilesLes citoyens genrés : précédemment appelées "femmes citoyennes", les civils sont maintenant représentés par des modèles d'hommes ou de femmes. Cela enlève les ambiguïtés précédentes : les civils n'étaient pas que des femmes, et le terme "citoyens" ne reflétait pas les catégories souhaitées de civils vs militaires.
Rendu du textePour permettre l'affichage de diverses langues sans utiliser trop de mémoire, le rendu du texte est désormais fait à la volée avec Freetype. Le rendu est aussi amélioré sur les écrans Hi-DPI.
Nouvelles options de jeuIl devient possible :
Des corrections de bugs ont été faites en refactorisant le code (dont celui sur les scénarios d'inondation qui se propageaient).
Hall multi-joueursParmi les amélioriations : chiffrement avec TLS, facilitation de l'hébergement de parties, correction de bug gelant le jeu.
Amélioration du moteur et de la gestion des plateformesLe moteur Javascript SpiderMonkey passe en version 128. Windows 10 et 11 deviennent les seules versions prises en charge.
Une version Windows 64 bits est fournie (et la version 32 bits pourrait disparaitre à termes).
Une version AppImage est fournie.
Nouvelles citations et astucesDes nouvelles citations et astuces pour joueurs débutants et joueuses confirmées (ou l'inverse) ont été ajoutées.
Améliorations d'équilibrageCommentaires : voir le flux Atom ouvrir dans le navigateur
269eme émission « Libre à vous ! » de l’April. Podcast et programme :
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.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Nous avons travaillé dur avec mon collègue Frédéric Passeron pour préparer l'atelier donné lors du récent AlpOSS 2026 (gros succès au passage !) consacré à notre outillage Workshops on Demand (ou WoD).
Maintenant que nous en avons le temps, nous avons publié la version 1.0.2 utilisée pour cet atelier que nous considérons comme stable et prête à être utilisée par toute structure pour proposer une plateforme de transfert de connaissances basée sur les NoteBooks Jupyter.
Pour rappel (ou découverte pour ceux découvrant notre projet !) nous fournissons une plateforme de 3 machines (frontend, API-DB, backend) que vous pouvez installer automatiquement (VM ou physique) et qui fournissent un portail d'enregistrement fonctionnel pour permettre l'accès à 20 Notebooks sur diverses technologies FLOSS (Open Source et/ou Libres) qui sont gérés par un JupyterHub sur le backend, le tout orchestré par des APIs REST et SMTP/procmail APIs (description simplifiée, plus de détails via notre USER GUIDE).
En déployant cette pile, vos utilisateurs pourront s'auto-enregistrer pour suivre un Notebook choisi dans notre+votre catalogue de sujets, dérouler le Noteboook pour acquérir les connaissances qui y sont décrites, sans intervention de votre part, la plateforme gérant les inscriptions et effacements de demandeurs en autonomie (mais sans IA dedans, juste de la logique, du code des APIs et une Base de Données !).
Et comme pour tout bon projet construisant sa communauté, nous vous encourageons à souscrire à notre mailing-list pour recevoir de l'aide, apporter des retours, être informés des nouveautés,… Simple comme envoyer ce mail ou cliquer sur ce lien.
Et nous espérons des contributions, en particulier des contenus complémentaires que vous voudriez promouvoir au travers de notre solution WoD.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Le collectif Emmabuntüs annonce deux publications récentes mettant fortement l’accent sur l’accessibilité numérique, fruit d’un travail mené en grande partie avec et par des bénévoles non-voyants et malvoyants, directement impliqués dans la conception, les tests et les améliorations ergonomiques de la distribution.
La version Emmabuntüs Debian Édition 6 1.00, basée sur Debian 13 (Trixie) avec les environnements Xfce et LXQt, introduit de nombreuses améliorations destinées aux personnes malvoyantes ou non-voyantes : interface dédiée à l’accessibilité, synthèse vocale améliorée (espeak, MBROLA, Piper), profils Orca, support d’embosseuses Braille, intégration de LIOS (OCR), ainsi que divers scripts simplifiant la prise en main. Cette version est notamment destinée à des déploiements au Togo, en partenariat avec les associations françaises A.S.I YOVOTOGO, Mutualistes Sans Frontières et la FETAPH (Fédération Togolaise des Associations de Personnes Handicapées).
En parallèle, la version Emmabuntüs Debian Édition 5 1.05, basée sur Debian 12 (Bookworm) et disponible en 32 et 64 bits, bénéficie des mêmes avancées en matière d’accessibilité. Elle permet ainsi de poursuivre le reconditionnement d’ordinateurs plus anciens, tout en offrant une expérience utilisateur inclusive.
Ces deux versions illustrent l’engagement d’Emmabuntüs en faveur de l’inclusion numérique, du logiciel libre, du réemploi de matériel informatique, ainsi que la place centrale offerte à l’expertise d’usage apportée par ses bénévoles concernés par le handicap visuel.
Le projet reste ouvert aux contributions, notamment pour les tests d’accessibilité, la documentation et l’amélioration des outils destinés aux utilisateurs malvoyants ou non-voyants.
Fin mars, nous publierons une nouvelle version d’Emmabuntüs Debian Édition 6 1.01, plus légère et plus modulable, afin de permettre à chacun de choisir les logiciels dont il a réellement besoin. Nous recherchons des bénévoles pour participer aux tests de cette version.
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Marc sera à votre service, en toute convivialité, pour installer Linux sur votre ancien PC, windows 10 ne sera plus maintenu prochainement.
Vous aurez l'occasion de découvrir ce nouvel environnement sur un PC de démonstration ainsi que l'ensemble des logiciels qui sont associés à Linux.
Voix off : Libre à vous ! !, l'émission pour comprendre et agir avec l'April, l'association de promotion et de défense du logiciel libre.
Frédéric Couchet : Bonjour à toutes, bonjour à tous dans Libre à vous !. C'est le moment que vous avez choisi pour vous offrir une heure trente d'informations et d'échanges sur les libertés informatiques et également de la musique libre.
Ce mardi, nous vous convions Au café libre, un débat autour de l'actualité du logiciel libre et des libertés (…)
Bonjour et merci. J'étais trop content quand j'ai vu sur les affiches de AlpOSS le logo de l'UGA [Université Grenoble Alpes]. J'ai découvert le logiciel libre il y a 30 ans, sur le campus de Grenoble, qui ne s'appelait pas encore l'UGA. Quand j'ai découvert le logiciel libre, j'ai compris quelque chose que j'utilise encore aujourd'hui dans mes formations, dans mes cours, c'est cette notion de la non-rivalité de la connaissance : je sais que le logiciel libre c'est bien et que ça peut changer (…)
- Transcriptions / Jean-Christophe Becquet, Conférence, OpenStreetMap, Éducation, Licences, Open Source/Open Science/Open Data /Données libres et ouvertes, VidéoHaiku 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.
Il ne s’agit pas d’une distribution Linux, mais d’un système complet avec son propre noyau, sa propre pile graphique, etc. L’idée de cette approche est d’avoir une seule équipe travaillant sur toute la pile logicielle, pour éviter les soucis de coordination entre projets indépendant et d’excès de modularité, qui peuvent aboutir à une architecture logicielle inefficace. En revanche, cela demande un gros travail pour une équipe relativement réduite, et le système est donc en développement depuis bientôt un quart de siècle sans avoir encore publié une version majeure complète.
La cinquième version beta a été publiée en 2024. Les développements continuent pour stabiliser, optimiser et peaufiner le système, avec une version beta 6 prévue en début de cette année, qui sera probablement suivie par une beta 7 quelque temps plus tard.
Cette série de dépêches est basée sur les rapports d’activité publiés mensuellement par le projet Haiku. Cette édition couvre les modifications de Haiku numérotées entre hrev59111 et hrev59355 (soit 244 changements individuels), en plus d’activités se déroulant hors du dépôt Git principal.
Entre parenthèses est indiqué le pseudonyme de l’auteur ou autrice principal·e du changement. Des pseudonymes sont utilisés par habitude (venant des canaux IRC et/ou de la culture de la demoscene) et aussi pour préserver l’identité des personnes qui le souhaitent (certains participants utilisent également leur nom légal, d’autres pas).
Le mois de novembre a vu l’arrivée d’une grosse mise à jour de la chaîne d’outils pour le langage Go en version 1.18. Il s’agit d’une version de 2022, mais c’est un gros progrès puisque la version précédente disponible pour Haiku était la version 1.4 datant de 2014. De plus, cette version 1.18 est disponible dans le dépôt de paquets et peut être installée normalement avec pkgman (au moins pour les architectures x86 et x86_64).
La plus grande partie du travail a été réalisée par Korli, depuis plusieurs années, pour mettre en place l’environnement de compilation nécessaire, et aussi corriger de nombreux problèmes de compatibilité POSIX dans Haiku qui ont été mis en évidence par les tests de Go.
Cela permet par exemple d’utiliser Hugo, le générateur de site statique utilisé pour le site principal de Haiku. Waddlesplash a donc pu rédiger et vérifier le rapport d’activité de novembre en utilisant uniquement Haiku : avec Hugo, WebPositive (le navigateur natif de Haiku, basé sur WebKit), l’éditeur de texte Koder, ainsi que Iceweasel (un portage de Firefox) pour la correction d’orthographe.
Redémarrage automatique de app_serverapp_server est le serveur graphique de Haiku. Il s’agit d’un composant critique, pour lequel un crash rend le système à peu près inutilisable. Waddlesplash a corrigé plusieurs problèmes dans le code pour permettre de redémarrer le serveur après un crash, et de le reconnecter avec les applications en cours d’exécution. Ce redémarrage nécessite encore quelques étapes manuelles car les crash démarrent actuellement le debugger automatiquement, mais cela peut être changé par une simple configuration.
Applications ActivityMonitorActivityMonitor affiche sous forme graphique divers paramètres du système: charge CPU, consommation mémoire… Il peut s’exécuter dans une fenêtre ou bien être intégré au bureau sous forme d’un « réplicant ».
Affichage d’un message « pas de capteurs de température » à la place du graphe de température du système si l’information n’est pas disponible (OscarL).
Correction d’un problème de localisation, certains fichiers sources n’étaient pas pris en compte et les chaînes contenues dedans ne pouvaient pas être traduites (humdinger).
TerminalLe Terminal permet d’exécuter des applications en ligne de commande.
Synchronisation du presse-papier interne du Terminal avec celui du système seulement une fois au démarrage de l’application, et pas lors du changement d’onglet comme cela avait été implémenté au trimestre précédent (OscarL).
Correction d’un problème qui masquait le signal SIGUSR1 pour les shells et autres processus lancés dans le terminal (korli).
Implémentation des séquences d’échappement permettant aux applications CLI de définir des liens hypertextes (en complément des liens qui étaient déjà détectés automatiquement par le terminal en fonction du contenu du texte) (korli).
HaikuDepotHaikuDepot est l’interface graphique du gestionnaire de paquets. Il utilise un backend en ligne en Java pour stocker et récupérer les captures d’écrans, commentaires et notes d’utilisateurs, icônes des paquets, liste de paquets mis en avant, et d’autres informations.
L’application est plus robuste en cas de problème de réseau : gestion des erreurs et affichage de messages clairs pour l’utilisateur. Gestion en particulier des erreurs 503 remontées par l’API web utilisée par HaikuDepot (apl).
Ajout de filtres pour trouver facilement les applications « natives » (n’utilisant pas Qt ou GTK) et d’un filtre « desktop » pour trouver les applications graphiques (et filtrer un très grand nombre de paquets de bibliothèques, applications en ligne de commande…) (apl, avec des améliorations par humdinger pour clarifier la terminologie).
Amélioration de la taille de la fenêtre des conditions d’utilisation sur les écrans haute densité (nipos).
Refonte de la gestion des identifiants de messages internes à l’application HaikuDepot pour en simplifier la maintenance (apl).
Interdiction de la sélection multiple dans la liste des paquets (apl).
WebPositiveWebPositive est le navigateur web fourni avec Haiku. Il est basé sur le moteur WebKit, co-développé avec Apple, Sony, Igalia et d’autres participants.
Modification du message envoyé au Tracker pour ouvrir le dossier contenant un fichier (par exemple un téléchargement), pour utiliser le message officiellement prévu à cet effet plutôt qu’un moyen détourné (humdinger).
Meilleure gestion des noms de fichiers longs dans la fenêtre de téléchargements avec l’ajout d’une barre de défilement horizontal (mull, avec un petit correctif par humdinger pour corriger un décalage d’un pixel du positionnement de la barre de défilement).
Un chantier est en cours pour réintégrer à nouveau le portage de WebKit pour Haiku dans les sources upstream. Cela avait déjà été fait en 2010, mais n’avait pas été maintenu par la suite, ce qui a conduit à retirer ce code. Depuis, Haiku utilise un fork resynchronisé régulièrement, mais cela génère du travail en plus. L’envoi du code est aussi l’occasion de faire relire toutes les modifications par les autres développeurs de WebKit, avec des conseils pour améliorer et simplifier l’architecture.
ExpanderExpander est une application permettant de décompresser des archives.
Correction d’un décalage d’un pixel de la barre de défilement (humdinger).
AboutSystemAboutSystem affiche quelques informations sur le système et surtout la liste des auteurs de Haiku.
Simplification du code pour la mise à jour automatique des couleurs, mise en place de la mise à jour automatique des couleurs pour la liste des crédits (si on passe en mode sombre par exemple) (jscipione).
Ouverture de la fenêtre avec une taille respectant les proportions du nombre d’or, esthétiquement plus plaisant (axeld).
LaunchBoxLaunchBox est un « dock » permettant de stocker des raccourcis vers des applications ou fichiers fréquemment utilisés.
Correction de la couleur du panneau de LaunchBox, et d’autres couleurs dans le sélectionneur de couleurs standard (nephele).
TrackerTracker est l’explorateur de fichiers. Le code du Tracker contient également les fenêtres « ouvrir » et « enregistrer sous », mises à disposition des autres applications sous forme de la bibliothèque libtracker.so.
Envoi de la notification d’activation de l’espace de travail à tous les réplicants, afin que ces derniers puissent ajuster leur couleur (par exemple) en fonction de l’espace de travail actif (jscipione).
Correction du positionnement du champ de texte lors du renommage de fichiers dans la vue par icônes, résolution de problèmes de gestion de l’état des fenêtres après un glisser-déposer avorté, affichage des volumes disque en premier (avant les dossiers) si l’option « trier les dossiers en premier » est active, synchronisation en direct des fenêtres de sélection de fichiers lors du changement d’options, et divers nettoyages de code (jscipione).
Ajout d’une bordure manquante dans les fenêtres de sélection de fichiers (nipos).
Ajout du nombre d’élément sélectionnés (en plus du nombre d’éléments total du dossier) dans les fenêtres du Tracker (nathan242).
Correction d’un problème de concurrence dans le constructeur des fenêtres de sélection de fichiers, dont la conséquence était une mauvaise disposition des contrôles dans la fenêtre (certains boutons apparaissant superposés par exemple (PulkoMandy).
Amélioration de l’image d’aperçu qui suit la souris lors d’un glisser-déplacer lorsqu’on déplace beaucoup de fichiers: l’image est tronquée pour ne pas être trop grande mais le dégradé de transparence sur les bords n’était pas bien calculé (PulkoMandy).
Déclenchement automatique du « renifleur » de type MIME, qui identifie automatiquement les fichiers pour les afficher avec la bonne icône par exemple. En particulier cela rend l’utilisation du Tracker plus confortable sur les systèmes de fichiers ne permettant pas de stocker le type MIME dans un attribut étendu (Jim906).
Correction d’une régression sur la mise à jour en direct des tailles et dates de modification de fichiers dans les résultats de requêtes (waddlesplash).
MediaPlayerMediaPlayer est une application pour lire des fichiers média (son et vidéo).
Correction de la couleur du texte dans la fenêtre d’informations (nephele).
Dans cette même fenêtre, le champ indiquant le chemin du fichier en cours de lecture est maintenant cliquable (nathan242, dont c’est la première contribution).
Ajout d’une détection automatique du type MIME des fichiers, s’il n’est pas renseigné (par exemple s’il est stocké sur un système de fichiers où il n’y a pas d’attributs étendus) (DigitalBox98).
SudokuSudoku est un jeu de Sudoku, très utile pour patienter pendant une compilation un peu longue.
Amélioration de la palette de couleurs en mode clair (le mode sombre nécessite encore du travail) (axeld).
DeskBarDeskBar est la barre des tâches de BeOS et de Haiku. La même application contient également le code pour la fenêtre de changement de tâches « Twitcher ».
Correction d’un bug qui faisait apparaître des applications en double dans le « Twitcher » (la fenêtre de changement rapide d’application qui apparaît avec le raccourci Alt+Tab) (madmax).
PeoplePeople est un gestionnaire de contacts. Il stocke les contacts dans des fichiers « person » avec les informations sous forme d’attributs étendus.
Correction du défilement avec la molette de la souris ou au touchpad (nipos).
Lecteur MIDILe lecteur MIDI permet d’écouter des fichiers au format MIDI.
MidiPlayerLe lecteur MIDI permet d’écouter des fichiers au format MIDI.
Changement de la couleur du contrôle de volume qui était codée en dur, non configurable et pas harmonisée avec le reste du système (nipos).
ProcessControllerProcessController affiche la charge CPU et l’occupation mémoire dans la DeskBar. Il permet également d’afficher des statistiques par application, et de débugger et stopper des applications via un menu popup.
Ajustements pour les écrans haute densité : taille des menus, largeur par défaut de l’icône réplicant, autorisation du redimensionnement de la fenêtre principale (la taille est conservée si on installe ensuite un réplicant sur le bureau, et divers autres changements (waddlesplash).
InstallerInstaller permet de cloner l’installation de Haiku actuelle vers un autre disque.
Ajout d’un outil pour copier automatiquement le chargeur de démarrage sur la partition EFI du système, pour réduire le nombre d’étapes manuelles pour installer Haiku correctement sur un système EFI (PawanYr, avec des améliorations de kallisti5 pour nommer le fichier installé correctement en fonction de l’architecture CPU du système).
Amélioration du calcul de la taille de la fenêtre « EULA » de l’installeur (qui affiche non pas un contrat de license, mais un message de bienvenue et quelques instructions pour l’installation), en fonction de la taille de texte sélectionnée dans les préférences (nipos).
MailL'application Mail permet de lire et de rédiger des e-mail. Elle fonctionne en collaboration avec le mail_server qui s’occupe de l’envoi et de la réception des messages.
Correction d’une régression sur la couleur de fond des champs d’adresse. Mise en place des mises à jour de couleurs automatiques. Les champs désactivés ou en lecture seule sont maintenant « navigables » (avec la touche tab) et le texte peut être sélectionné et copié (jscipione).
Les boutons « suivant » et « précédent » peuvent être accompagnés de la touche Maj. (Shift), pour changer de message sans modifier le statut « lu » des messages (humdinger).
DriveSetupDriveSetup permet de configurer les supports de stockage: formatage, partitionnement.
L’application s’affiche sur tous les espaces de travail si la DeskBar n’est pas lancée. Ce cas particulier est utile lors du lancement de l’installation de Haiku, dans ce cas, le bureau n’est pas lancé, mais il est tout de même possible d’utiliser plusieurs espaces de travail, ce qui peut donner l’impression que les fenêtres ont disparu si on se retrouve sur un espace vide (PulkoMandy).
Finalisation d’un patch datant d’il y a plusieurs années pour ajouter un menu permettant d’écrire ou de lire des images disques depuis ou vers des partitions (plus besoin d’utiliser dd en ligne de commande) (sed4096, avec l’aide d’humdinger pour des améliorations de localisation et de choix de vocabulaire).
DebuggerDebugger permet de débugger les logiciels fonctionnant dans Haiku.
Correction d’un crash lorsqu’on essaie de débugger des applications trop grosses, par exemples celle utilisant Mesa et llvmpipe pour faire du rendu 3D (waddlesplash).
Changements transversesModification de toutes les chaînes de caractères où le nom d’une application est présent (par exemple : « Deskbar preferences »). En effet, le nom des applications peut optionnellement être traduit, et toutes ces chaînes doivent donc s’adapter dans les deux cas (nom d’application traduit ou conservé en anglais selon les préférences de l’utilisateur). Auparavant ce réglage ne pouvait pas être appliqué de façon systématique (humdinger).
Fenêtres de préférences RéseauAffichage de l’état précis des interfaces réseau (en cours de configuration DHCP, par exemple) et pas seulement « hors ligne » ou « en ligne » (nipos).
Périphériques d’entréeAjout et amélioration de plusieurs options pour la gestion des touchpad (samuelrp84). Voir plus bas les informations sur la réécriture du pilote Elantech qui donne plus de détails.
ApparenceEnvoi d’un seul message de mise à jour aux applications lorsque plusieurs couleurs changent simultanément, ce qui est plus efficace et réduit les « clignotements » d’applications dans certains cas (nephele).
Correction de la hauteur des fausses barres de défilement visibles dans la fenêtre d’apparence pour configurer les barres de défilement (jscipione).
Outils en ligne de commandeLe réplicant NetworkStatus peut être installé dans la DeskBar via la ligne de commande même lorsque une fenêtre de NetworkStatus est déjà ouverte (nipos).
Ajout dans strace de l’affichage des structures stat, sockopt, sigset_t, sigprocmask et des noms de signaux (korli avec un correctif par nathan242).
Correction de plusieurs problèmes dans l’interface en ligne de commande du Debugger, qui conduisaient entre autres à un gel de l’application. Cette interface est surtout utilisée en cas de crash d’un service critique (app_server, registrar, input_server) qui empêcherait l’utilisation de l’interface graphique. Les investigations sur ces services en cas de crash sont donc facilitées.
Modification de bfs_tools pour rendre ces outils compilables sur le système hôte utilisé pour compiler Haiku (axeld). Ces outils permettent de manipuler à la main un système de fichiers bfs, de récupérer certaines données sur un disque corrompu, et diverses manipulations de bas niveau.
Modification de l’outil makebootable pour vérifier que la partition à rendre bootable est bien une partition BFS. Utiliser l’outil sur une partition d’un autre format ou sur un disque complet pourrait corrompre le système de fichier et rendre les données inaccessibles. Ajout d’un message indiquant lorsque le lancement de makebootable n’est pas nécessaire, car les utilisateurs continuent de recommander de lancer cet outil sans aucune raison pour corriger des problèmes de démarrage (encourageant ainsi les nouveaux utilisateurs à faire dea mauvaises manipulations et à corrompre leur système de fichiers) (PulkoMandy).
Suppression d’une verrue dans checkfs qui n’est plus nécessaire suite à des améliorations du Storage Kit. Cela permet de lancer checkfs pour vérifier une partition en donnant le chemin de n’importe quel fichier contenu dans la partition (waddlesplash).
Activation du support de l’IPv6 dans telnet, implémentation dans netstat (avec des corrections sur les opérateurs de filtrage), et ajout de traceroute6 compilé à partir des sources fournies par NetBSD (cmeerw).
Amélioration de l’affichage de df avec plus d’informations, un listage sur deux lignes, et l’ajout d’une option pour afficher les informations standardisées dans le format imposé par POSIX (nipos et PulkoMandy).
Kits InterfaceL'interface kit se charge de tout l’affichage de fenêtres à l’écran et des contrôles de base (boutons, cases à cocher…)
Correction d’un bug dans le contrôle calendrier lors du déplacement vers les mois suivant ou précédent (nipos).
Correction d’un problème de navigation au clavier dans une ListView après l’insertion de nouveaux objets (nipos).
BControl (la classe parente de tous les contrôles d’interface graphique) ne change plus ses couleurs dans la fonction AttachedToWindow(). Ce n’est plus nécessaire après d’autres changements dans BButton, et cela simplifie le code nécessaire pour personnaliser la couleur d’un contrôle spécifique (pour avoir, par exemple, un bouton rouge) (jscipione).
Améliorations sur BSlider: correction de la couleur du texte, nettoyage du code de dessin des sliders dans les implémentations de ControlLook (jscipione).
Augmentation de la taille des marques sur les boutons des barres de défilement (marques qui ne sont pas activées à moins de modifier manuellement un fichier de configuration) pour les rendre plus visibles sur les hautes résolutions (jscipione).
Les infobulles utilisent un espacement calculé en fonction de la taille du texte, pour une apparence plus jolie sur les écrans à haute densité (waddlesplash).
Séparation du titre des onglets et du nom des vues qui leurs sont attachées. Le comportement original est hérité de BeOS, il est donc préservé pour les anciennes applications. Mais pour les nouvelles applications, le nom interne des vues ne doit pas être traduit (il peut être utilisé par des scripts ou par le code de l’application), tandis que le titre affiché à l’utilisateur doit l’être. C’était le seul endroit où ce principe de séparation du nom et du texte affiché n’était pas respecté (KapiX et PulkoMandy).
Dans BTextView, la fonction « tout sélectionner » déplace le curseur à la fin de la sélection (et à la fin du texte). C’est le comportement de la plupart des autres systèmes, et préserver la position du curseur dans ce cas ne semble pas particulièrement utile (OscarL).
Correction de problèmes de choix de couleurs dans le code qui dessine des sliders avec un curseur triangulaire (nipos). Cette correction a permis d’utiliser ce type de slider dans les fenêtres de réglages de différents traducteurs d’images.
Amélioration de l’apparence des cases à cocher partiellement cochées. Elles s’affichent avec un signe "-" au lieu d’une croix. Auparavant, la couleur était subtilement modifiée mais ce n’était pas très visible (PulkoMandy).
Implémentation de la lecture d’un son dans BAlert, qui peut être activé dans les préférences de son (sed4096).
StorageLe storage kit permet de contrôler les disques et supports de stockage (liste des partitions, montage et démontage, accès aux fichiers, chemins d’accès, requêtes…)
BPartition retourne une erreur B_BUSY si on essaie de monter une partition qui est déjà montée à un autre endroit, au lieu de la monter une deuxième fois (jscipione).
DeviceLe device kit permet l’interaction directe avec certains périphériques (USB, série, joysticks…) directement depuis l’espace utilisateur.
Correction de problèmes de gestion de la mémoire dans BUSBInterface mis en évidence par AtomoZero lors d’expérimentations pour corriger le pilote de webcam à l’aide d’un LLM (waddlesplash).
PackageLe package kit se charge de la résolution des dépendances entre paquets et du téléchargement des paquets à installer. Il fonctionne en collaboration avec le système de fichier packagefs qui permet d’accéder au contenu des paquets une fois installés.
Retravail de BRepositoryCache pour remonter les informations sur les paquets via un callback plutôt que de remplir une structure BPackageInfoSet. Cela économise beaucoup de mémoire et d’allocations mémoire, et rend donc la lecture des dépôts de paquets plus rapide (waddlesplash).
Serveurs NotificationsLe serveur de notifications permet d’afficher des notifications pour les évènements importants.
Les notifications déjà affichées changent de position immédiatement lorsque la configuration est modifiée pour les déplacer (nipos).
Ajout de la lecture de l’effet sonore choisi dans les préférences de son lors de l’apparition des différents types de notification, et à chaque pourcent de progression pour les notifications contenant une barre de progression (sed4096).
Choix de couleurs plus visibles en mode sombre pour les icônes de fermeture et de repli des notifications en mode sombre (nipos).
NetworkLe serveur de réseau se charge de la configuration des interfaces réseau, de la configuration des routes et d’autres aspects liés à la communication en réseau.
Refonte du client DHCP dans net_server pour l’exécuter dans un thread séparé et ne pas bloquer la boucle de messages principale. Cela corrige plusieurs cas de gel du serveur lui-même et d’application qui communiquent avec de façon synchrone, par exemple les préférences de réseau. Cela permet également de plus facilement arrêter les requêtes DHCP lorsqu’une interface est reconfigurée avec une adresse statique (waddlesplash).
app_serverapp_server est le serveur graphique gérant l’affichage à l’écran.
Correction de crashs causés par des verrous de concurrence manquants et des opérations effectuées dans le mauvais ordre (waddlesplash).
Retrait d’identifiants de messages qui n’étaient plus utilisés dans le protocole de communication entre les applications et le serveur graphique (X512).
Ajout du code nécessaire pour le tracé de lignes avec un dégradé de couleur (dans app_server et dans BView). Auparavant, les dégradés étaient utilisables uniquement pour le remplissage des formes et pas pour les contours (x512).
Modifications de BPicturePlayer pour utiliser une classe C++ avec de l’héritage plutôt qu’une structure C contenant des pointeurs de fonctions. Cela permet de vérifier que l’interface est implémentée correctement par les différents utilisateurs de cette classe dès la compilation (X512).
Implémentation de méthodes manquantes dans BoundingBox player, une implémentation de BPicturePlayer qui calcule un rectangle assez grand pour contenir tout le dessin réalisé par un objet BPicture rejoué via BPicturePlayer (KapiX).
Retrait d’une optimisation incorrecte dans le traitement des calques avec une opacité globale de 100% dans app_server. Ces calques peuvent tout de même contenir des pixels avec de la transparence, et doivent donc être applatis en tenant compte du canal alpha comme tous les autres calques (KapiX).
Modification du protocole app_server pour l’opération permettant de récupérer les « bounding boxes » pour chaque caractère d’une chaîne. L’interface précédente utilisait un tableau de structures, la nouvelle API est inversée ce qui permet d’envoyer plus efficacement 2 tableaux de types primitifs (X512).
Pilotes de périphériquesImplémentation correcte des timeouts sur les commandes dans le pilote SDHCI, ce qui corrige la compatibilité avec plusieurs lecteurs de cartes SD (PulkoMandy).
Réécriture complète du pilote pour les touchpads Elantech. Cette série de changements retouche tout d’abord la gestion des touchpads en général, avec des améliorations sur la documentation, sur le traitement des données invalides, la configuration par défaut, et un nettoyage du code.
Ensuite, le code pour la reconnaissance de « gestures » a été amélioré pour mieux reconnaître plusieurs mouvements tels que le « tap » pour cliquer, le défilement en faisant glsser 2 doigts sur le touchpad, etc. Les préférences du touchpad ont reçu plusieurs nouvelles cases à cocher pour configurer ces différentes options.
Enfin, la dernière partie du patch met à jour le pilote Elantech pour reconnaître les 4 versions du protocole, dont la dernière est entièrement testée. La version 2 ne fonctionne pas correctement pour l’instant (elle a été désactivée pour l’instant) et les versions 1 et 3 sont activées de façon expérimentale dans les nightly builds en attendant les retours d’utilisateurs (samuelrp84).
Normalisation des noms de volumes générés par le pilote usb_disk pour s’assurer qu’ils ne commencent pas par des espaces (madmax).
Mise à jour de la couche de compatibilité FreeBSD avec FreeBSD 15 et synchronisation de tous les pilotes réseau (ethernet et wifi) concernés avec ceux de FreeBSD 15. Synchronisation du pilote rtl8125 avec OpenBSD (waddlesplash).
Ajout de « quirks » et de code supplémentaire dans le pilote I2C-HID pour essayer de se rapprocher du comportement implémenté dans Linux. Ce pilote ne fonctionne pas correctement pour l’instant et il est désactivé par défaut (Lt-Henry).
Systèmes de fichiersAjout d’un bouchon supplémentaire pour une API qui n’a pas besoin d’être implémentée dans userlandfs-FUSE (qui permet l’utilisation de systèmes de fichiers FUSE sous Haiku). Cette modification permet d’utiliser en particulier le système de fichier squashfs-fuse pour accéder à des volumes squashfs (OscarL).
Toujours dans userlandfs-fuse, propagation de l’état « lecture seule » du système de fichier, ce qui permet au Tracker de clairement afficher ces systèmes de fichiers comme étant en lecture seule (fond de fenêtre grisé, désactivation des opérations modifiant les fichiers) (OscarL).
Dans le système de fichiers UDF, amélioration des messages de logs, et correction d’un kernel panic déclenché par une assertion suite à des modifications précédentes dans le VFS (waddlesplash).
Correction d’un double lock dans le pilote FAT qui pouvait déclencher un kernel panic dans de rare cas (Jim906).
Intégration d’une partie des patchs permettant de redimensionner une partition BFS. Ce travail avait été commencé en 2014 dans le cadre du Google Summer of Code mais n’avait pas pu être terminé dans les temps. La série de patch est restée à l’abandon pendant de longues années, mais elle est en train d’être finalisée pour pouvoir en intégrer au moins une première partie (axeld).
Correction d’un bug sur la gestion des timestamps avec un nombre de secondes entier pour BFS. Historiquement dans BeOS, il n’existait pas d’API POSIX pour stocker une date de modification avec une résolution plus fine qu’une seconde. Cela conduisait de très nombreux fichiers à avoir le poids faible de leur date de modification à 0, avec pour conséquence une dégradation de la répartition dans les tables de hachage pour l’exécution de requêtes. Dans ce cas, BFS stocke une valeur aléatoire générée en interne par le système de fichier dans les bits de poids faible. Le bug était que cette valeur pouvait être exposée à l’espace utilisateur, entraînant de mauvais résultats sur la gestion des comparaisons de dates (par exemple pour déterminer les règles à lancer dans un makefile). La représentation interne a été légèrement modifiée pour bien distinguer les fichiers pour lesquels une date précise a été enregistrée, de ceux pour lesquels il s’agit de bits aléatoires. Ces derniers peuvent ainsi être filtrés et masqués pour l’espace utilisateur (PulkoMandy).
Correction de la gestion des dossiers déjà existants dans write_overlay. Ils'agit d’un système de fichier qui permet de stocker en RAM des écritures temporaires sur un système de fichier monté en lecture seule, utilisé en particulier pour l’exécution en mode live CD (nathan242).
Le pilote BTRFS ne déclenche plus un kernel panic lorsqu’il rencontre un type de compression inconnu, à la place, il retourne simplement une erreur et considère que le fichier ou dossier concerné ne peut pas être lu (AbdullahZulfiqar2005).
Des changements sur les requêtes (pour BFS et les autres systèmes de fichiers capables d’exécuter des requêtes): une petite optimisation du code, une modification pour ne pas notifier les suppressions de nœuds via B_QUERY_WATCH_ALL car elles sont déjà notifiées par d’autres moyens. L’API B_QUERY_WATCH_ALL est maintenant considérée comme stable, et a donc été ajoutée dans la documentation officielle (waddlesplash).
libroot & noyau RéseauImplémentation des sockets du domaine UNIX de type SOCK_SEQPACKET. Pour ce faire, modifications de recv et send pour accepter des buffers de taille 0 (pour les socket de type datagramme, pas les streams). Implémentation de MSG_TRUNC et MSG_PEEK pour les sockets du domaine UNIX, et amélioration de la gestion des adresses invalides dans accept et recv pour se rapprocher du comportement de Linux et des BSD (korli).
Implémentation de la découverte de MTU de chemin complet pour TCP et IPv4 (waddlesplash) et IPv6 (cmeerw). L’algorithme mis en place est simpliste, mais permet d’établir des communications dans des cas où le MTU est limité et la fragmentation de paquets n’est pas mise en place.
Nettoyage des buffers mémoire utilisés pour stocker des adresses dans le code de gestion du réseau. Cela corrige un comportement incorrect dans le cas où une adresse de socket UNIX n’est pas terminée par un caractère NUL (cas qui est explicitement autorisé sous Linux car l’information de longueur de l’adresse est disponible par ailleurs) (Anarchos pour la correction du cas où la vérification était oubliée, suivi d’un nettoyage par waddlesplash pour avoir une solution plus systématique à tous les endroits où ce cas particulier doit être pris en compte).
Un socket TCP qui est fermé alors que des données sont reçues par le noyau mais pas encore lues par l’application associée renvoie un paquet RST plutôt qu’un FIN. Ceci corrige un problème détecté dans les tests du langage Go. Modification du comportement lors de la réception d’un reset pendant la fermeture d’un socket TCP pour se comporter comme les autres systèmes (korli).
Déplacement du fichier networks utiliser par getnetent dans le dossier data, avec les autres fichiers de configuration du réseau. Il était placé par erreur dans /etc, qui est son chemin habituel pour d’autres systèmes UNIX (PulkoMandy).
Report d’une correction faite par NetBSD dans le résolveur DNS, il manquait une partie de l’initialisation de certains objets dans l’état du résolveur (cmeerw).
Gestion de l’IPv6: correction d’un problème dans la mise à jour du cache pour le protocole NDP (neighbor discovery), implémentation du multicast (cmeerw).
Remplacement des fonctions inet_net_ntop et inet_net_pton par l’implémentation d’OpenBSD, qui est plus respectueuse du standard que celle de NetBSD utilisée auparavant (korli).
Gestion des processusAutorisation de l’appel de exec() depuis un autre thread que le thread principal du processus, pour se mettre en conformité avec POSIX et corriger un problème avec les outils de compilation d’OCaml (korli).
Préservation des signaux masqués lors de l’appel à fork (korli).
Mise en conformité POSIX des codes d’erreurs retournés dans certains cas dans la gestion des groupes de processus (waddlesplash).
Bibliothèque C standardMise en conformité POSIX-2024:
Synchronisation de l’implémentation de arc4random avec la dernière version d’OpenBSD (korli).
Correction d’un bug dans la gestion des locales, il n’était pas possible de changer seulement certaines catégories (date, format monétaire, messages), tout était forcément dans la même langue (waddlesplash).
Correction de plusieurs problèmes dans la famille de fonctions strftime (waddlesplash):
Correction de problèmes mineur de compatibilité POSIX: ajout de déclarations de fonctions et de constantes dans search.h, unistd.h, semaphore.h, nettoyage dans limits.h, définition de getlocalename_l… (waddlesplash).
Remplacement de strtok_r par l’implémentation de musl (waddlesplash).
Refonte du stockage et de la gestion des données ctype pour rendre le code plus facile à maintenir, supprimer des indirections inutiles et corriger un problème de thread safety (waddlesplash).
Nettoyage des fonctions de conversions d’encodage de caractères, et correction de la valeur de MB_CUR_MAX pour l’encodage UTF-8 (waddlesplash).
Définition de la constante DEV_BSIZE (mentionnée dans POSIX mais pas obligatoire) dans sys/param.h, modification de tous le code utilisant stat.st_blocks pour utiliser cette constante, y compris des problèmes dans certains systèmes de fichiers qui utilisaient st_blksize à la place. En effet, il n’y a aucun rapport entre la taille de bloc de st_blksize et le nombre de blocs de st_blocks défini juste à côté (waddlesplash).
Gestion de la mémoireCorrection d’une régression du mois précédent sur la gestion des réservations de mémoire lors du découpage d’areas`. Ajout de la possibilité de transférer des réservations de pages pour les caches et areas réservés, pour éviter de réduire les réservations de façon incorrecte. Cela pouvait causer des assertions et des plantages du noyau en particulier lors de l’exécution d’applications utilisant AddressSanitizer (waddlesplash).
Correction d’une fuite de mémoire dans… la gestion de la mémoire, mis en évidence entre autres par l’exécution du compilateur Rust qui consomme beaucoup de mémoire. Au passage, nettoyage du code et des messages de logs dans cette partie du code (waddlesplash).
Entrées-sortiesModification de la gestion des requêtes d’entrées-sortie pour autoriser les pilotes de périphériques à sous-classer IORequestOwner. En particulier, cela permet au pilote NVMe d’utiliser ces fonctionnalités sans passer par l’ordonnanceur d’I/O générique qui ne se prête pas bien à l’interfaçage de matériel pouvant traiter plusieurs requêtes en parallèle. Cela permet de simplifier du code, supprimer une fonction récursive devenue inutile et finalement corriger un débordement de pile (waddlesplash).
La taille des partitions indiquée dans le bootloader n’était pas correcte : c’était la taille du disque entier qui était affichée à la place (waddlesplash).
Chargeur de démarrageCorrection de l’affichage de caractères unicode dans le menu de démarrage. En particulier cela évite de corrompre l’affichage lors de la navigation dans le système de fichiers pour désactiver certains pilotes de périphériques. Le firmware UEFI utilise de l’UTF16, tandis que le BIOS utilise une page de code IBM non standardisée. Le bootloader utilise en interne de l’UTF-8 et doit donc convertir les caractères dans le bon format dans chaque cas (madmax).
Implémentation du démarrage via le réseau sur les plateformes EFI (avec un peu de nettoyage sur le support réseau dans OpenFirmware et PXE). Cela fonctionne au moins sur l’architecture ARM 32-bit et facilite le développement sur cible réelle: compilation sur une machine, et exécution sur une autre sans devoir entretemps copier le système de fichiers et le bootloader sur une clé USB ou une carte SD (kallisti5 et PulkoMandy).
Un des en-têtes du bootloader utilisait une syntaxe C++, il a été corrigé pour pouvoir être importé depuis du code C si nécessaire (beaglejoe).
Le chargeur EFI ignore les disques qui ont une taille de bloc de 0 octet, ce qui évite une division par zéro lors de tentatives de lire des données (archeYR).
Systèmes de fichiersLe noyau interdit maintenant de monter plusieurs fois la même partition. Cette vérification avait d’abord été implémentée dans le pilote FAT, puis via une vérification en espace utilisateur, mais ces deux protections étaient insuffisantes et causaient d’autres problèmes (waddlesplash).
Centralisation de plusieurs vérifications au niveau du VFS, par exemple les vérifications de type fichier ou dossier, les modes d’ouverture des fichiers, des codes d’erreurs retournés pour certaines erreurs spécifiques. Ces changements évitent d’avoir des différences de comportement entre différents systèmes de fichiers et s’assurent que le comportement implémenté est bien celui spécifié par POSIX (waddlesplash).
Implémentation de « fallbacks » pour les systèmes de fichiers qui ne savent pas traiter eux-mêmes les opérations SEEK_DATA, SEEK_HOLE et select(), dont en particulier le write_overlay. Cela permet à la commande cp de fonctionner correctement dans ce cas (nathan242).
Outils de debugRemise en commun de code pour la gestion du MMU dans le chargeur de démarrage EFI. Le code avait été dupliqué pour chaque architecture de CPU supportés, mais il est en fait en très grande partie identique. Regrouper ce code permet de s’assurer que les évolutions sont bien faites de façon synchronisée pour toutes les architectures (PulkoMandy).
Affichage dans le message de kernel panic de la version de Haiku (numéro hrev). Ceci évite de devoir demander ce numéro aux utilisateurs remontant un bug, il est directement inclus dans la capture d’écran de l’erreur (nathan242).
Modification de la valeur retournée par kernel_version dans les informations système. La valeur retournée par Haiku était la version majeure, qui est 1 depuis le début du projet Haiku en 2001. Elle retourne maintenant une version plus complète qui peut être utilisée dans la commande uname pour indiquer la version de Haiku plus précisément (waddlesplash).
Désactivation de la fonction spécifique à BeOS exect sur les architectures qui n’implémentent pas de compatibilité binaire avec BeOS.
Build systemAjout d’une macro _DEPRECATED dans les en-têtes de base du système, permettant d’indiquer les classes, méthodes et fonctions qui sont obsolètes et à ne plus utiliser. Cela permet d’avoir un avertissement du compilateur lors de leur utilisation dans le code existant, et de commencer à mettre à jour le code, mais sans casser le code déjà écrit pour l’instant. Actuellement, cette macro n’est pas utilisée, des discussions sont encore en cours sur l’opportunité de retirer certaines APIs.
Remise en état des tests pour le bootloader. Ces tests permettent de lancer une partie du bootloader (dont le menu de configuration) sous forme d’un programme s’exécutant sous Haiku. Cela permet de tester une grande partie du code du bootloader sans avoir besoin de redémarrer le système (waddlesplash).
Ajout d’un script pour convertir une disposition de clavier de la console Linux dans le format reconnu par Haiku (mmu_man).
Mise à jour de paquets pour réparer la compilation en mode « bootstrap » (sans dépendances précompilées) pour ARM et ARM64 (PulkoMandy).
Nettoyage et amélioration de la classe utilitaire FunctionTracer qui permet d’afficher facilement une trace de l’exécution de fonctions, avec une indentation indiquant les appels imbriqués. Il existait plusieurs versions de cette classe utilisées à différents endroits dans le code, chacune avec de légères variations. Renommage de fonctions qui pouvaient entrer en conflit avec l’utilisation de debug_printf et modification de cette dernière pour retourner le nombre de caractères imprimés afin de pouvoir l’utiliser de façon interchangeable avec les autres fonctions de la famille printf (PulkoMandy).
Déplacement de plusieurs en-têtes initialement développés pour une utilisation dans le noyau, de headers/private/kernel/util vers headers/private/util, en effet ils implémentent des fonctionnalités assez génériques (listes chaînées, hash tables, opérations sur les bits…) et sont tout à fait utilisables en dehors du noyau (c’est d’ailleurs déjà le cas à plusieurs endroits dans le code de Haiku) (PulkoMandy et waddlesplash).
Retrait de cas ou l’activation de DEBUG=1 (compilation en mode debug avec des assertions supplémentaires) était empêchée pour certains composants du code (waddlesplash).
Modification du code pour inclure les catalogues de traductions automatiquement dans le paquet contenant l’exécutable correspondant. Ce code incluait également les catalogues de toutes les dépendances, ce qui conduisait les catalogues système de libbe.so à être présents plusieurs fois dans plusieurs paquets, occupant inutilement de la place). Ce changement n’est pas tout à fait terminé puisque maintenant certains catalogues ne sont plus inclus du tout (PulkoMandy).
Modernisation de la page d’accueil de WebPositive pour en permettre l’utilisation avec d’autres navigateurs: définition du bon type MIME, utilisation de HTTPS pour télécharger des ressources externes, déclaration de l’encodage du fichier (humbinger).
Modification du « Makefile Engine » pour autoriser des flags de compilation différents entre les fichiers sources C et C++, ce qui permet d’éviter des warnings de compilation dans certains projets compilant des sources C (OscarL).
Il est maintenant possible de compiler Haiku depuis NetBSD (cmeerw).
Réparation de la compilation de test_app_server (KapiX).
Utilisation de la constante B_DEV_NAME_LENGTH plutôt que de la valeur numérique 128 à plusieurs endroits dans le code (jscipione et OscarL).
Suppression de la dépendance du build à la commande bc, en utilisant à la place des expressions arithmétiques du shell POSIX (PulkoMandy).
Réparation de la compilation des tests unitaires, modification des tests utilisant l’interface graphique pour les exécuter avec test_app_server, ajout d’un package haiku_unittests et d’un profil de build qui inclut ce package dans le système de fichier compilé. L’objectif est de pouvoir lancer ces tests automatiquement dans le cadre de l’intégration continue de Haiku (KapiX, à partir d’un travail plus ancien démarré par kallisti5).
Mise à jour de l’année de copyright à 2026 dans le menu de démarrage et dans les métadonnées des paquets générés par Haiku (PulkoMandy).
Mise à jour des paquets précompilés utilisés pour compiler Haiku avec les dernières versions fournies par HaikuPorts pour les architectures x86 et x86_64. L’outil utilisé pour faire cette synchronisation a reçu lui-même quelques évolutions. Le code de Haiku a été légèrement ajusté pour corriger les problèmes de compilation avec ces nouvelles versions des dépendances (waddlesplash, avec l’aide de madmax pour corriger des problèmes de compilation sur RISC-V qui utilise pour l’instant une version plus ancienne de certains paquets).
Documentation Haiku bookLe « Haiku book » documente les API publiques et s’adresse aux développeurs d’applications pour Haiku. Il complète et remplace petit à petit le Be Book de BeOS, qui est distribué sous une licence CC-BY-ND ne permettant pas de le mettre à jour et de le corriger.
La documentation interne s’adresse aux développeurs et développeuses du système Haiku lui-même.
Correction de fautes de frappe dans le chapitre sur les systèmes de fichiers (OscarL).
Autres nouvelles Changement de tarification de NetlifyNetlify héberge le site www.haiku-os.org. Ils ont récemment modifié leur tarification pour ajouter un système de crédit en fonction de la bande passante consommée. Haiku bénéficie de l’offre « Open Source », avec une certaine quantité de trafic offerte (en échange de l’affichage d’un logo de Netlify en base de page du site). Cette offre s’est révélée insuffisante dans la nouvelle tarification, surtout suite à une attaque de robots (probablement pour l’entraînement de LLM de mauvaise qualité, puisque ils requêtaient des pages n’existant pas et n’obtenaient que des erreurs 404). Du côté de Haiku, des protections ont été mises en place pour éviter ce genre de problème, mais entretemps, Netlify a facturé le dépassement de bande passante autorisée pour le mois de décembre.
Finalement, après une discussion avec l’équipe de support de Netlify et une vérification de ce qu’il s’était passé, la facture a été annulée, et la consommation de bande passante pour Haiku a été augmentée pour mieux convenir à l’utilisation habituelle générée par Haiku.
Remise sur les rails de HSA (Haiku Support Association)Actuellement, l’association Haiku inc est la principale organisation recevant des dons et finançant les activités de Haiku (développeur employé, coût d’hébergement de l’infrastructure…).
Cette association est basée aux USA, ce qui est récemment devenu une source d’inquiétude pour certains contributeurs et donateurs de Haiku.
Suite à une discussion sur les forums, il y a donc un regain d’intérêt pour la Haiku Support Association, une autre organisation basée en Allemagne et qui était dormante depuis plusieurs années. Plusieurs personnes ont donc adhéré à cette association et cela va peut-être permettre d’en relancer l’activité et d’assurer une présence en Europe.
En particulier, c’est cette association qui organisait la conférence BeGeistert et le traditionnel « coding sprint » associé, permettant aux développeurs et aux utilisateurs de Haiku de se rencontrer régulièrement. Cette activité avait cessé suite au manque de public pour ces évènements, à une perte d’intérêt des membres de l’association, et une absence de nouveaux adhérents pour relancer les choses. Espérons que cette période d’inactivité soit maintenant terminée et que l’organisation de conférences plus régulières puisse reprendre.
Série d’articles « Gerrit code review iceberg »Haiku utilise l’outil Gerrit pour la revue de code.
Il y a actuellement plus de 300 « change requests » qui sont ouvertes. Cela a suscité quelques interrogations sur le forum. Le projet est-il submergé de contributions? Les développeurs font-il un bon travail de revue? Quelles futures fonctionnalités de Haiku se cachent dans ces changements en attente?
Une série d’articles est en cours de publication pour examiner ces propositions abandonnées, en cours de travail ou partant dans une direction qui n’est pas acceptable pour les mainteneurs du projet. Chaque article examine 5 de ces change requests et explique les changements proposés, et pourquoi le travail n’a pas abouti.
Cette démarche a déjà permis à certains de ces changements de trouver un repreneur, plusieurs développeurs (anciens ou nouveaux contributeurs) se prenant au jeu de finaliser l’un d’entre eux. Cela devrait permettre de réduire un peu la liste, et d’encourager ensuite les nouvelles contributions en voyant que finalement, peu de choses sont vraiment abandonnées.
Statistiques de contribution pour 2025Haiku a reçu 1068 commits en 2025. C’est la deuxième année la plus calme après 2023 et très loin du record de 2009 où il y avait eu 5555 commits. Cependant la comparaison n’est pas directe: en 2009, la revue de code était faite après l’envoi d’un commit sur la branche principale, avec des corrections effectuées par des commits supplémentaires si nécessaire. Aujourd’hui, chaque commit peut recevoir plusieurs modifications dans Gerrit avant d’être finalement intégré.
49 personnes ont écrit du code pour Haiku en 2025, entre 9 (en septembre) et 22 (en janvier) par mois. C’est là aussi plutôt dans le bas du tableau, et loin du record de 2012 (72 personnes). Waddlesplash se hisse à la troisième place du classement des personnes ayant le plus contribué (en nombre de commits) et va peut-être dépasser korli dès l’an prochain, malgré l’activité ininterrompue de ce dernier depuis 2003, presque au tout début du projet. Pas de changement du top 10, on attendait l’arrivée de kallisti5, mais il lui manque encore 70 commits pour dépasser Stefano Ceccherini. axeld conserve sa première place avec une avance confortable, malgré une activité plus réduite depuis quelques années.
Haiku compte environ 5 millions de lignes de code source, tout type de fichiers compris (ce nombre est stable voire en légère baisse depuis 2015) et 25 000 fichiers.
La situation est assez différente pour Haikuports : avec 2653 commits, 2025 est la deuxième année la plus active, derrière 2018 ou le projet avait atteint 2908 commits.
Le contributeur ayant le plus de commits est toujours korli, bien que Begasus semble en passe de le rattraper avec un rythme de contribution très soutenu.
Le projet a reçu en 2025 des contributions de 75 personnes différentes, ce qui est un peu en dessous du record établi l’année précédente avec 82 contributeurs mais reste un très bon score.
Le dépôt de Haikuports comporte 7000 fichiers et a dépassé 1 million de lignes de code, avec une progression approximativement linéaire depuis la création du dépôt en 2008.
La très grande majorité des commits de Haikuports sont réalisés sur des machines configurées avec les fuseaux horaires UTC, UTC+1 ou UTC+2, suivis par le fuseau UTC+10 (pour Haiku, ces statistiques de fuseaux horaire ne sont pas exploitables, la plus grande partie des commits ayant été importé depuis SVN qui ne préserve pas cette information).
Pour les deux projets, le pic d’activité semble être le mardi soir et on peut observer les heures creuses entre 2 h et 5 h du matin. Il n’y a pas de grosse différence entre les jours de semaine et les week-ends. On peut observer par contre que les mois d’hivers sont beaucoup peu plus actifs que ceux d’été et d’automne.
Haiku-format est un ensemble de patchs pour clang-format pour tenter d’implémenter les règles de formatage de code choisies par le projet Haiku. Ces dernières ont été décidées avant la disponibilité d’un tel outil, et sont difficiles à automatiser correctement.
Les patchs ont été reportés sur une version plus récente de clang-format par owenca, et le robot de revue de code connecté à Gerrit mis à jour avec cette nouvelle version et remis en service par nielx. Les suggestions comportent encore des propositions de formatage incorrectes, c’est pourquoi cet outil est déployé uniquement sous forme d’un robot de revue et pas comme un outil de reformatage automatique.
Les développeurs qui connaissent bien les règles de formatage peuvent ensuite vérifier si ces commentaires sont pertinents. Cette solution est imparfaite, mais une discussion pour rendre les règles plus simples à automatiser n’a pas abouti à un consensus suffisant pour faire des modifications pour l’instant.
À quand la beta 6?La version beta 5 de Haiku commence à être assez ancienne. Toute l’année 2025 est passée sans nouvelle publication de version.
La liste des choses à traiter pour cette nouvelle version s’est beaucoup réduite, cependant il reste encore quelques régressions assez gênantes. Certaines des corrections sont déjà en cours de relecture (en particulier pour améliorer la gestion de la mémoire swap). Il faudra probablement encore quelques mois pour venir à bout de toute la liste. On en reparle au prochain trimestre !
Télécharger ce contenu au format EPUBCommentaires : voir le flux Atom ouvrir dans le navigateur
Et si l'IA devenait l'arme la plus puissante des campagnes électorales ? À l'approche des élections municipales de 2026, la politique entre dans l'ère du ciblage algorithmique, de la génération automatisée de contenus et de la communication politique pilotée par la donnée.
Jacques Priol, voix off : On limite la capacité que pourraient avoir justement des supports de communication produits par intelligence artificielle de manipuler les électeurs de façon massive. Il va y avoir des (…)
Moment d’échange et de convivialité où on se retrouve pour améliorer ensemble la base de données d’OpenStreetMap (OSM). Ces rencontres sont importantes pour faire non seulement vivre la communauté mais aussi pour améliorer la qualité des données. Vous pourrez ainsi contribuer et partager des connaissances et des informations.
Que vous soyez un doyen ou un nouveau d’OSM, tout le monde est bienvenue à cette cartopartie !
Si vous pouvez, en amont, installer avant la cartopartie l'application OsmAnd ou StreetComplete pour Android et Go Map !! pour iOS.
Dans tous les cas, plusieurs personnes peuvent vous accompagner tout au long sur ces divers outils !