Vue lecture

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

Haiku a 23 ans - Haiku R1 bêta 5 (partie 2 : le noyau)

Haiku est un système d’exploitation libre destiné aux ordinateurs personnels ou de bureau (pas de serveurs, pas de systèmes embarqués, pas de tablettes ni de téléphones). Il s’agit au départ d’une réécriture libre de BeOS, préservant la compatibilité binaire avec ce dernier (les applications BeOS peuvent tourner sur certaines versions de Haiku).

Après la présentation des applications de Haiku, voici une incursion dans le noyau et la chaîne de compilation. Au menu de ce chapitre notamment : processeurs, réseau, périphériques, son et image, système de fichier, améliorations des performances, etc.

Sommaire

Noyau

Le noyau de Haiku est similaire à celui de BeOS : il s’agit d’un noyau monolithique, avec du multitâche préemptif et protection mémoire. Rien de très inhabituel. Il est développé en C++ (comme le reste du système), ce qui permet de rendre le code plus lisible que du C tout en conservant des bonnes performances pour ce code bas niveau.

Un point intéressant, le noyau offre une API et une ABI stable pour les pilotes, ce qui fait qu’il est en théorie possible de développer un pilote hors du projet Haiku et de le faire fonctionner avec plusieurs versions du noyau. En pratique, peu de personnes se lancent dans ce genre de chose, il est plus simple d’intégrer les pilotes dans le dépôt de sources de Haiku pour l’instant.

Pilotes

Commençons justement par regarder les nouveautés du côté des pilotes matériels. Il s’agit pour tout système d’exploitation d’un point de difficulté, indispensable pour fonctionner sur une large variété de systèmes.

Processeurs

En principe, un processeur est un matériel assez bien standardisé, qui implémente un jeu d’instruction bien défini et ne devrait pas nécessiter de pilote spécifique. Cependant, le matériel moderne de plus en plus complexe, offrant de plus en plus de fonctionnalités dans une seule puce électronique, fait qu’il faut tout de même prendre en compte quelques cas particuliers.

  • Ajout de nouvelles générations de machines Intel dans le driver PCH thermal (récupération de la température du CPU au travers du platform control hub).
  • Implémentation du contournement pour la faille Zenbleed dans les processeurs AMD.
  • La mise à jour du microcode pour les processeurs Intel n’est pas faite si le CPU est déjà à jour (pour gagner un peu de temps au redémarrage du système).

Réseau

Les cartes réseau restent aujourd’hui le composant le moins bien standardisé sur les ordinateurs. Il n’existe pas d’interface standardisée, et chaque fabricant propose sa propre façon de faire.

Aujourd’hui, la plupart des autres périphériques suivent des spécifications (xHCI pour les contrôleurs USB3, AHCI pour le SATA, Intel HDA pour les cartes son…) ou bien il ne reste que peu de concepteurs de composants (par exemple pour les cartes graphiques où on ne trouve que Intel, AMD et NVidia).

Écrire des pilotes pour toutes ces cartes réseau demanderait beaucoup trop de travail. C’est pourquoi, depuis 2007, Haiku s’est doté d’une couche de compatibilité avec FreeBSD, permettant de réutiliser les pilotes écrits pour ce dernier (une approche également utilisée par le système d’exploitation temps réel RTEMS).

Cependant, les développeurs de FreeBSD font face au même problème, et ont décidé d’adopter la même solution : une couche de compatibilité permettant d’utiliser les pilotes de Linux. Cela pose deux problèmes pour Haiku : il ne semble pas souhaitable d’empiler les couches de compatibilité, et il ne semble pas raisonnable d’écrire une couche de compatibilité avec Linux, dont les API internes évoluent beaucoup trop vite, ce qui nécessiterait une réécriture permanente de la couche de compatibilité pour suivre le rythme.

Finalement, la solution retenue pour Haiku est d’utiliser les pilotes activement développés par OpenBSD et en particulier par Stefan Sperling. La couche de compatibilité avec FreeBSD est également maintenue, et Haiku bénéficie donc des pilotes développés pour ces deux systèmes, en plus des siens propres.

Par exemple, les pilotes wifi iaxwifi200 et idualwifi7260 proviennent de OpenBSD, tandis que ipro1000 et intel22x sont ceux de FreeBSD 14. Les couches de compatibilité reçoivent régulièrement des corrections et améliorations.

En dehors des cartes réseaux physiques, Haiku dispose d’un nouveau pilote tun permettant de créeer des tunnels réseau. Celui-ci a été développé dans le cadre du Google Summer of Code 2023, et permet par exemple d’utiliser un client OpenVPN sous Haiku.

Enfin, une évolution qui concerne tous les pilotes réseaux : le nombre de paquets et d’octets reçus et envoyés pour une interface réseau est maintenant décompté par la pile réseau, plutôt que par chaque pilote d’interface réseau. Les pilotes doivent toujours tenir à jour les compteurs d’erreurs. Ce changement permet de regrouper le code de comptage à un seul endroit, et d’éviter des comportements différents entre pilotes. En particulier, le comptage des paquets pour l’interface localhost n’était pas correct.

Périphériques d’entrée

Haiku permet d’utiliser les claviers et souris connectés en USB et en PS/2 (encore utilisé dans certains ordinateurs portables, mais il semble en voie de disparition). Les pilotes pour les touchpads et claviers i2c sont encore en cours de développement, et le Bluetooth arrivera un peu plus tard.

Commençons par le pilote PS/2. Il reçoit relativement peu d’évolutions, cependant, les ordinateurs portables récents n’implémentent plus forcément complètement le matériel nécessaire (l’interface PS/2 étant simulée par l'embedded controller). Le pilote PS/2 de Haiku qui essaie de détecter de nombreux cas de configuration possibles est parfois un peu dérouté par ces écarts. Cela pouvait provoquer un blocage empêchant d’utiliser le clavier pendant plusieurs secondes après le lancement de la machine, le temps que le pilote finisse d’énumérer les périphériques PS/2. Le problème a été corrigé en réduisant le temps d’attente avant de décider qu’il n’y a aucun périphérique connecté.

Du côté de l’USB, une première correction concerne la prise en compte de l’attribut « minimum » dans les rapports HID. Le protocole HID permet de définir toutes sortes de périphériques (claviers, souris, mais aussi clubs de golf, simulateurs de tanks…). Les périphériques USB HID envoient à l’ordinateur une description des contrôles dont ils disposent (groupes de boutons, axes, etc). Pour les boutons et touches de clavier, la valeur « minimum » indique le code du premier bouton dans le groupe, les autres étant déduits en incrémentant la valeur pour chaque bouton présent. Ce cas n’était pas bien pris en compte par le pilote de clavier, ce qui provoquait l’envoi de mauvais codes aux applications pour les claviers concernés.

D’autre part, et de façon plus spécifique, le pilote de souris bénéficie maintenant d’un quirk, c’est-à-dire d’une procédure de contournement d’un problème, pour les souris et trackballs de la marque Elecom. Ces dernières utilisent en effet toutes le même descripteur HID, indiquant la présence de 5 boutons, alors que certains modèles ont en fait un 6me bouton non déclaré. Le descripteur est corrigé à la volée pour les périphériques concernés.

Son et image

Haiku dispose d’un pilote pour les périphériques USB Audio. Ce pilote est en développement depuis très longtemps (cela remonte avant l’apparition de l’USB 2.0), mais il n’avait jamais pu être finalisé en raison du manque de prise en charge des transferts isochrones. Ces problèmes ont enfin été corrigés, mais le pilote nécessite encore des travaux pour le rendre compatible avec plus de matériel (en particulier les périphériques implémentant la version 2.0 de la spécification USB Audio) et probablement également quelques corrections dans le serveur média pour le préparer à l’apparition et la disparition de cartes son pendant que le système est en train de tourner (actuellement, cela nécessitera un redémarrage du serveur).

Du côté des cartes son PCI, pas de grande nouveauté, mais un gros nettoyage dans le cadre de travaux pour supprimer tous les avertissements du compilateur. Ce travail se fait petit à petit, dossier par dossier dans le code de Haiku. L’analyse du dossier contenant les pilotes de cartes son a révélé l’existence de trois pilotes ciblant le même matériel, ainsi que de plusieurs fichiers qui avaient été dupliqués dans plusieurs pilotes (développés avant leur rassemblement dans le dépôt de sources de Haiku à partir du mème exemple de code), puis qui avaient divergé au cours du développement de chaque pilote. Ce code a été réunifié dans une version partagée qui inclut toutes les corrections et améliorations de chaque version.

Du côté des cartes graphiques, des travaux sont en cours pour pouvoir piloter correctement les cartes graphiques Intel de 12me génération. Le pilote existant fonctionne déjà dans certains cas, mais se repose beaucoup sur le travail fait par le firmware (BIOS ou EFI) pour initialiser l’affichage. Il est ainsi impossible d’utiliser un écran qui n’a pas été configuré au démarrage de la machine (passer d’une sortie HDMI à l’écran d’un PC portable ou inversement, par exemple).

Machines virtuelles

Haiku est utilisé dans des machines virtuelles pour diverses raisons : à des fins de test par les développeurs, pour l’infrastructure de compilation des paquets, ou encore par des utilisateurs qui veulent le tester sans l’installer sur une machine physique dédiée.

Des pilotes spécifiques et quelques adaptations sont nécessaires pour un bon fonctionnement sur ces machines. En particulier, des pilotes sont nécessaires pour certains périphériques virtio, qui permettent aux machines virtuelles d’émuler un matériel simplifié, ne correspondant pas à un matériel réel existant. Ceci permet de meilleures performances.

Le pilote virtio de Haiku a été mis à jour pour implémenter la version 1.0 de la spécification. Cela a permis de corriger des problèmes dans le pilote virtio_block (support de stockage virtualisé).

Un nouveau pilote virtio_gpu permet l’affichage de l’écran sans avoir à passer par un pilote pour une carte graphique, ni par les pilotes VESA ou framebuffer EFI qui montrent assez vite leurs limitations (choix de résolutions d’écran limité, par exemple). Plus tard, ce pilote pourrait permettre également d’expérimenter avec la virtualisation de OpenGL, et donc d’expérimenter avec l’accélération du rendu 3D sans avoir à développer un pilote graphique capable de le faire.

Ces pilotes virtualisés facilitent également le travail de portage de Haiku vers de nouvelles architectures : il est possible de lancer Haiku dans QEMU avec n’importe quel processeur, et un ensemble de périphériques virtio pour lesquels les pilotes ont pu d’abord être testés sur une autre architecture déjà fonctionnelle.

Autres

La bibliothèque ACPICA a été mise à jour avec la dernière version 20230628, et les changements nécessaires pour son fonctionnement dans Haiku ont été intégrées en amont, ce qui facilitera les prochaines mises à jour. ACPICA est développée par Intel et permet d’implémenter la spécification ACPI, pour la gestion d’énergie, l’énumération du matériel présent sur une machine, et diverses fonctionnalités liées (détection de la fermeture d’un ordinateur portable, récupération du niveau de charge des batteries, par exemple).

Le pilote poke, qui permet aux applications de manipuler directement la mémoire physique sans l’aide d’un pilote spécifique, a été remis à jour et finalisé. Il est utile principalement pour expérimenter avec le matériel avant de développer un pilote spécifique.

La pile Bluetooth a reçu un premier coup de nettoyage. Pas de grosses évolutions pour l’instant, seules les couches les plus basses sont implémentées, on pourra au mieux énumérer les périphériques Bluetooth présents à proximité. Le développement des fonctionnalités suivantes attendra au moins la publication de la version Bêta 5.

Systèmes de fichiers

Haiku implémente plusieurs systèmes de fichiers. Celui utilisé pour le système est BFS, hérité de BeOS et qui fournit quelques fonctions indispensables à Haiku (comme les requêtes qui permettent d’indexer des attributs étendus de fichiers dans une base de données). Mais de nombreux autres systèmes de fichiers peuvent être lus, et pour certains, écrits. Cela permet de facilement partager des fichiers avec d’autres systèmes d’exploitation.

Le système de fichier UFS2 est maintenant complètement implémenté (en lecture seule), inter-opérable avec FreeBSD, et sera disponible dans l’installation de base pour les prochaines versions de Haiku.

Du côté de Linux, l’interopérabilité est possible en lecture et en écriture avec les systèmes de fichiers ext2, 3, et 4 (tous les 3 implémentés dans un seul pilote qui sait les reconnaître et les différencier). Cette implémentation a reçu quelques corrections de bugs ainsi qu’une implémentation de F_SETFL.

Enfin du côté de Windows, la prise en charge de NTFS avait déjà été mise à jour et grandement améliorée (en réutilisant les sources de NTFS-3g). Cette année, c’est le tour des systèmes de fichiers FAT. Le pilote utilisé jusqu’à maintenant avait été publié par Be il y a très longtemps. Il avait été mis à jour pour Haiku mais comportait de nombreux problèmes : mauvaise gestion des dates de modification des fichiers, interopérabilité avec d’autres implémentations, voire crash du système lors de tentative de lecture de partitions corrompues. Ce code a été entièrement remplacé par un pilote utilisant l’implémentation du FAT de FreeBSD.

Enfin, le système de fichier ramfs (pour stocker des fichiers dans la RAM de l’ordinateur de façon non persistente) a reçu des corrections sur la fonction preallocate. Cela corrige en particulier des fuites de mémoire dans les navigateurs web basés sur QWebEngine, qui utilisent ce système de fichiers pour partager de la mémoire entre plusieurs processus.

Un changement un peu plus global, et pas lié à un système de fichier spécifique, est la réunification du code pour parser les requêtes. Il s’agit d’une méthode pour rechercher des fichiers à partir de leurs attributs étendus (xattrs) qui sont indexés à la façon d’une base de données. Au départ, cette fonctionnalité était propre au système de fichier BFS, mais elle a été implémentée également pour ramfs et packagefs (système de fichier permettant d’accéder au contenu des paquets logiciels sans les décompresser). Lors du développement de ces deux nouveaux systèmes de fichiers, le code permettant de convertir une chaîne de caractères exprimant une requête en opération exécutable avait été extrait du pilote BFS pour en faire un module générique. Mais le pilote BFS n’avait pas encore été mis à jour pour utiliser ce module. C’est désormais chose faite, ce qui assure que le comportement entre les 3 systèmes de fichiers est le même, et que les corrections de bugs bénéficieront à tous les trois.

Pour terminer sur les systèmes de fichiers, l’outil fs_shell, qui permet d’exécuter le code d’un système de fichier en espace utilisateur, a reçu deux nouvelles commandes : truncate et touch. Cet outil permet de tester les systèmes de fichiers en cours de développement dans un environnement plus confortable et mieux contrôlé, et il est aussi utilisé lors de la compilation de Haiku pour générer les images disques.

Réseau

La pile réseau proprement dite a principalement évolué avec de la mise en commun de code. Par exemple, l’implémentation de l’ioctl FIONBIO (non standardisé, mais largement implémenté) pour passer un descripteur de fichier en mode non bloquant a été réécrite pour partager du code avec le flag O_NONBLOCK configurable par fcntl et F_SETFL. Également, le flag MSG_PEEK qui permet de lire des données d’un socket sans les retirer de son buffer de réception, est maintenant implémenté directement par la pile réseau au lieu d’avoir une version spécifique à chaque type de socket.

Sockets UNIX

Les sockets de la famille AF_UNIX sont utilisés pour les communications locales entre applications sur une même machine. Ils sont en particulier utilisés par WebKit et de nombreux autres moteurs de rendu web, mais assez peu par les applications natives pour Haiku, qui disposent d’autres méthodes de communications (en particullier les BMessage et les ports).

L’implémentation des sockets UNIX est maintenant complète et suffisante pour faire fonctionner toutes les applications qui en ont l’utilité.

 TCP

La pile TCP de Haiku est devenue au fil du temps un goulot d’étranglement des performances. D’une part parce que toutes les autres parties du système se sont améliorées, et d’autre part parce que les interfaces réseaux sont de plus en plus rapides et de plus en plus sollicitées.

Le travail sur la pile TCP cette année a commencé par la remise en route de l’outil tcp_shell, qui permet de tester l’implémentation de TCP en espace utilisateur et en isolation du reste du système. Cet outil avait été utilisé au tout début du développement de la pile TCP, mais n’avait pas été tenu à jour depuis. Il permet maintenant de tester la pile TCP communiquant avec elle-même, et aussi d’injecter des paquets à partir de fichier pcap. Pour l’instant, la fonction permettant de communiquer avec l’extérieur n’a pas été remise en place.

Cet outil a permis d’identifier et d’analyser certains des problèmes rencontrés.

Le premier problème était un envoi d’acquittements TCP en double. À première vue, cela ne devrait pas poser de gros problèmes, il y a seulement un peu de redondance. Mais, en pratique, une implémentation de TCP qui reçoit des acquittements en double suppose qu’il y a eu un problème de congestion réseau lors de l’envoi de données dans l’autre sens. Les algorithmes de contrôle de la congestion se mettent en jeu, et le trafic ralentit pour éviter une congestion qui n’existe pas. Par exemple, la taille de la fenêtre de transmission TCP (le nombre maximum d’octets qui peuvent être envoyés sans attendre d’acquittement) peut être réduite.

Et, malheureusement, cela déclenche un autre problème : la taille de cette fenêtre peut atteindre 0 octet, et dans ce cas, HAiku ne s’autorisait plus à émettre aucun paquet. Cela pouvait se produire au même moment dans les deux directions sur une connexion TCP, ce qui fait qu’aucune des deux machines connectées ne s’autorise à envoyer de données à l’autre. Ce problème a été corrigé, les transmissions peuvent maintenant continuer à débit réduit, puis reprendre une vitesse optimale petit à petit.

Après ces corrections, une mesure des performances de TCP dans un environnement de test montre que la pile TCP est capable de traiter jusqu’à 5.4 Gbits/s de trafic, alors que le débit plafonnait à 45 Mbits/s auparavant. C’est donc un centuplage des performances.

Autres

Plusieurs autres évolutions diverses dans le noyau :

L’implémentation de kqueue, ajoutée l’année dernière, a reçu plusieurs corrections et améliorations. Elle couvre déjà plusieurs usages et permet l’utilisation de plus de logiciels portés depuis d’autres systèmes, mais les cas d’utilisation les plus avancés ne sont pas encore tout à fait fonctionnels.

Pour rappel, kqueue est une fonction des systèmes BSD permettant à un thread utilisateur de se mettre en attente de plusieurs types d’évènements et de ressources du noyau. L’usage est similaire à celui de epoll sous Linux mais l’API est différente.

La classe ConditionVariable, utilisée pour la synchronisation entre threads et interruptions dans le noyau, a reçu plusieurs mises à jour. Un article sur le site de Haiku détaille l’utilisation et le fonctionnement de cette classe.

La boucle principale du débugger noyau (KDL), qui prend la main sur tous les processeurs en cas de crash du système ou sur demande de l’utilisateur pour investiguer des problèmes, inclus maintenant une instruction PAUSE. Cela permet d’informer le CPU qu’il n’est pas nécessaire d’exécuter cette boucle à la vitesse maximale, évitant de faire surchauffer la machine sans raison. Cette boucle est principalement en attente d’instructions de l’utilisateur, via un clavier ou un port série.

Du refactoring sur les parties du code qui sont spécifiques à chaque architecture : arch_debug_get_caller est maintenant implémenté via un builtin gcc plutôt que du code assembleur à écrire à la main pour chaque machine. arch_debug_call_with_fault_handler appelait une fonction avec un mauvais alignement de pile sur x8_64, pouvant conduire à un crash si la fonction appelée utilisait des instructions SSE par exemple. Correction également d’un problème qui pouvait causer la perte d’une interruption inter-CPU (permettant à un cœur de processeur d’interrompre l’exécution de code en cours sur un autre cœur) dans certains cas.

Une modification sur la gestion des descripteurs de fichiers: la structure interne des descripteurs de fichiers était pourvue d’un champ indiquant le type (fichier, socket, pipe…). Ce champ et tout le code qui en dépendait ont été supprimés. Ceci permet à des add-ons du kernel de déclarer leurs propres types de fichiers sans avoir à modifier le noyau. Cela pourrait par exemple être utile pour développer une couche de compatibilité avec Linux, qui fait un usage généreux des descripteurs de fichiers de tous types (eventfd, signalfd, timerfd…).

Réécriture du code de debug activé par l’option B_DEBUG_SPINLOCK_CONTENTION qui permet d’investiguer les problèmes de performances liés à l’utilisation de spinlocks (attente active sur une interruption matérielle).

Un petit changement d’algorithme sur l’allocateur de pages du noyau. Cet allocateur alloue des pages mémoires par blocs multiples de 4Ko. Les pages libérées étaient réinsérées une par une dans une liste chaînée. Cela conduit à insérer les pages dans l’ordre inverse de leurs adresses (la dernière page d’une zone mémoire se retrouve au début de la liste). Lors des prochaines allocations, cette page se retrouve donc allouées en premier, puis celle qui se trouve juste avant, et ainsi de suite. La zone mémoire construite par toutes ses pages est donc considérée comme discontinue. En inversant l’ordre d’insertion des pages dans la liste, on préserve les pages dans un ordre globalement croissant d’adresse mémoire, et on augmente les chances qu’une allocation de plusieurs pages se trouve avec des pages contiguës et dans le bon ordre. Cela est utile en particulier pour les allocations qui vont être utilisées pour des transferts DMA: il sera possible de programmer un seul gros transfert DMA au lieu de plusieurs petits.

L’état de la FPU du processeur n’était pas complètement sauvegardé lors d’un changement de contexte. Certains drapeaux de configuration pouvaient donc rester positionnés avec les valeurs configurées par un thread, pendant l’exécution d’un autre. Au mieux cela donnait des résultats inattendus, au pire, un crash (par exemple si le FPU est configuré pour lever une exception matérielle, dans un thread qui ne s’y attend pas). Le nouveau code de sauvegarde utilise des instructions dédiées qui sauvegardent d’un coup tout l’état du FPU, ce qui fait qu’en plus de fonctionner correctement, il est plus rapide que ce qui était fait précédemment.

Une évolution sur les sémaphores: la fonction release_sem_etc permet de donner une valeur négative au paramètre « count ». Dans ce cas, le thread qui était en attente d’un acquire_sem sera réveillé, mais la fonction acquire_sem retournera une erreur indiquant que le sémaphore n’a pas pu être obtenu. Cela permet de simplifier un peu le code de certaines utilisations classiques des sémaphores.

Une correction de bug sur le code traitant les « doubles fautes ». Le fonctionnement d’un système d’exploitation est en partie basé sur l’interception des « fautes », par exemple, un programme qui essaie d’accéder à de la mémoire qui a été évacuée dans la swap. Cette mémoire n’est pas immédiatement accessible, le programme est donc interrompu, le noyau prend la main, va récupérer cette mémoire, puis rend la main au programme qui n’y voit que du feu et continue son exécution comme si de rien n’était. Les fautes peuvent également se produire dans le cas où un programme essaie d’accéder à une zone mémoire non allouée, on aura alors une erreur de segmentation.

Tout ça est très bien, mais que se passe-t-il si le code qui traite ces problèmes déclenche lui-même une faute ? C’est prévu : il existe un deuxième morceau de code qui va intercepter ces problèmes et tout arrêter pour lancer le debugger noyau, et permettre à un humain d’examiner la situation.

Oui, mais que se passe-t-il si ce code déclenche lui-même une faute ? C’est ce qu’on appelle une triple faute, dans ce cas, la solution de dernier recours est d’immédiatement redémarrer la machine.

Des utilisateurs se sont plaints de redémarrages intempestifs, et une étude attentive du code traitant les doubles fautes a révélé un problème qui déclenchait systématiquement une triple faute (difficile à analyser, car on n’a pas de journaux ou de moyen d’investiguer le problème). Espérons que l’accès au debugger noyau lors des doubles fautes permettra désormais de comprendre d’où elles proviennent.

Tout autre sujet, le noyau dispose maintenant d’APIs pour configurer l’affinité des threads, par exemple pour interdire à un thread de s’exécuter sur certains cœurs de processeurs. Cela peut être utile sur des machines avec des processeurs hétérogènes (par exemple ARM BIG.Little), ou encore si le développeur d’une application pense pouvoir faire mieux que l’ordonnanceur par défaut pour répartir ses threads sur différents cœurs.

Pour terminer sur les évolutions dans le noyau, la calibration du TSC peut maintenant être faite à partir d’informations obtenues via l’instruction CPUID. Le TSC est un compteur de cycles qui s’incrémente à une vitesse plus ou moins liée à la fréquence du processeur. Il est utile de connaître la durée en microsecondes ou nanosecondes d’un « tick » du TSC pour différents usages. Historiquement, cette durée est calculée en utilisant le Programmable Interval Timer, un composant présent dans les ordinateurs compatibles PC depuis le tout début. Ce composant n’a plus beaucoup d’autres utilités aujourd’hui, et certains chipsets ne l’implémentent plus, ou pas correctement. Ou encore, dans les machines virtuelles, l’émulation du processeur (virtualisé) n’est pas forcément exécutée de façon synchrone avec celle du timer, rendant cette mesure peu fiable. L’instruction CPUID permet de récupérer l’information de façon plus directe. Un changement similaire dans FreeBSD donne un bon aperçu de la situation.

Portages ARM, RISC-V et autres

Historiquement, Haiku est développé en premier pour les machines x86 32-bit. Une version 64 bit est apparue en 2012. D’autres versions pour les processeurs PowerPC, ARM (32 et 64 bits), RISC-V, Sparc ou encore Motorola 68000 sont dans des états d’avancement divers. Les versions ARM et RISC-V sont actuellement celles qui reçoivent le plus d’attention des développeurs. Il existe un fork de Haiku qui est entièrement fonctionnel sur certaines machines RISC-V, les changements sont intégrés petit à petit avec pas mal de nettoyage à faire.

Une des problématiques pour ces nouvelles architectures est la procédure de « bootstrap ». Pour gagner du temps et simplifier la procédure, la compilation de Haiku se base sur un certain nombre de dépendances qui sont pré-compilées depuis une machine fonctionnant sous Haiku. Cela permet de ne pas avoir à compiler des douzaines de bibliothèques tierces, avec un environnement de compilation peu contrôlé (on peut compiler Haiku depuis un système Haiku, depuis un grand nombre de distributions Linux, depuis Mac OS, depuis un BSD, ou même depuis Windows avec WSL).

Cependant, lors du développement de Haiku pour une nouvelle architecture, ces paquets précompilés ne sont bien entendu pas encore disponibles. Il est donc nécessaire d’utiliser une procédure de « bootstrap », qui va se baser sur un autre système et compiler ce qui est nécessaire en compilation croisée, pour aboutir à un système Haiku réduit au minimum de fonctionnalités, juste de quoi pouvoir lancer l’outil haikuports, qui va lui-même ensuite compiler tous les autres paquets.

Ce processus est assez complexe, et a été laissé un peu à l’abandon. Il a été récemment remis en route, avec des corrections de bugs dans l’outil haikuporter, des mises à jour dans les paquets cross-compilés (par exemple pour passer de Python 2 à Python 3), et divers autres petits problèmes. Il est maintenant à nouveau possible de construire une image disque de bootstrap au moins pour la version PowerPC.

Le portage RISC-V a reçu une mise à jour vers gcc 13 (c’était déjà le cas pour les autres architectures) et a pu être utilisé pour compiler LLVM puis Mesa (l’intégration dans la ferme de compilation de Haikuports n’est pas encore en place, donc ces compilations doivent être faites par un développeur qui lance les commandes haikuports nécessaire et patiente longtemps pendant la compilation de ces gros projets).

Les versions 68000 et PowerPC ont été un peu dépoussiérées, mais il manque toujours un certain nombre de pilotes matériels de base pour pouvoir les utiliser sur de vraies machines et même dans une certaine mesure dans QEMU (ce dernier permettant d’émuler une machine utilisant de nombreux périphériques VirtIO, ce qui pourrait simplifier un peu les choses).

La bibliothèque libroot a reçu plusieurs mises à jour dans les parties qui nécessitent du code spécifique à chaque architecture, pour ajouter en particulier le RISC-V, et au passage plusieurs autres familles de processeurs.

Une partie de Haiku qui nécessite de grosses évolutions est la gestion des bus PCI. Le pilote existant supposait la présence d’un BIOS pour effectuer la découverte du bus, ou pouvait également utiliser des tables ACPI, mais d’une façon un peu limitée, qui repose tout de même sur le BIOS ou un quelconque firmware pour assigner des adresses valides à toutes les cartes PCI. Un problème identifié depuis longtemps puisqu’il s’agit du bug numéro 3 dans l’outil de suivi de bugs de Haiku. Ce bug fêtera ses 20 ans en mars prochain, espérons qu’il soit corrigé d’ici là. Les choses avancent, puisque le pilote PCI va maintenant s’attacher correctement aux nœuds ACPI correspondants dans le device tree, ce qui permet ensuite d’interroger ACPI pour découvrir les plages d’adresses mémoires disponibles pour l’allocation d’une adresse à chaque carte PCI connectée. Du côté des nouveaux ports de Haiku, cela va également permettre d’avoir plusieurs bus PCI « racine » indépendants. Et ces développements pourraient également Être utiles pour une prise en charge complète de Thunderbolt et USB 4.

Un autre pilote qui sera utile pour les versions ARM et RISC-V est le pilote SDHCI, qui permet de s’interfacer avec les lecteurs de cartes SD ainsi que les modules eMMC. Initialement destiné uniquement aux modules connectés sur un bus PCI, le pilote a été conçu pour être facilement extensible, et permet maintenant d’utiliser également les contrôleurs SDHCI exposés via ACPI. Cependant, le pilote a encore quelques problèmes de fiabilité, et il manque une implémentation des commandes nécessaiers pour les modules eMMC, qui partagent le même protocole de communication que les cartes SD, mais utilisent un jeu de commandes différent (il y a une petite guerre de standards, le format SD s’est imposé pour les cartes amovibles, mais MMC qui n’a pas de royalties a pu prendre le marché des modules soudés sur les cartes mères, où l’interopérabilité avec le matériel existant ne pose pas autant problèmes).

Le portage sur ARM64 avance petit à petit, il parvient à démarrer une partie de l’espace utilisateur et a reçu dernièrement des corrections sur le code permettant les changements de contexte entre différents threads. L’affichage du bureau complet pour la première fois sur une machine ARM64 ne devrait donc plus être très loin.

Bootloader

Le démarrage de Haiku est pris en charge par un bootloader spécifique nommé haiku_loader. Contrairement au noyau Linux, qui peut s’initialiser tout seul quasiment dès le démarrage du matériel, le noyau de Haiku a besoin que son bootloader prépare une grande partie de l’environnement (activation de la mémoire virtuelle, initialisation de l’affichage et mise en place du « splash screen », par exemple). Le bootloader prend en charge toutes ces tâches et permet en plus de configurer des options de démarrage via un menu en mode texte, de démarrer via le réseau, d’utiliser un snapshot plus ancien du système si une mise à jour s’est mal passée.

Le bootloader a peu évolué cette année, le changement principal étant la suppression de logs de warning lors du chagement de fichiers ELF, pour les sections non traitées PT_EH_FRAME (généré par les versions modernes de gcc) ainsi que d’autres sections spécifiques aux processeurs RISC-V qui ne nécessitent pas de traitement spécifique dans ce cas.

Amélioration de performances

Beaucoup de travail a été fait sur l’amélioration des performances. C’est un sujet qui a été un peu laissé de côté au début du développement de Haiku. Le premier but était de faire fonctionner les choses, avant de les rendre plus rapides. Maintenant que les développements sont assez avancés, il est temps de commencer à étudier ce problème et à essayer de se rapprocher des perfomances d’autres systèmes.

Implémentation des IO vectorisées sur les périphériques de type bloc

Lorsqu’on veut lire ou écrire sur un disque, il faut envoyer une commande pour accéder à des secteurs consécutifs. Dans le cas normal, c'est le cache du système de fichiers qui se charge de regrouper les différents accès et de les ordonnancer de façon optimale.

Mais il y a un cas particulier pour les accès directs au disque. Par exemple, si on ouvre le disque directement (via son device dans /dev/disk/) ou encore lorsqu’un système de fichier veut écrire son journal (qui ne passe pas par le cache). Les écritures dans le journal sont faites avec des accès vectorisés (via readv ou writev) qui contiennent chacun une liste d’endroits où lire ou écrire des données. Ces accès étaient implémentés sous forme d’une boucle appelant plusieurs fois read ou write. Maintenant, la liste est directement transmise au pilote de disque qui peut ainsi mieux traiter ces accès.

Réparation du profiler

Haiku dispose d’un outil de profiling, mais celui-ci ne fonctionnait plus et retournait des données incohérentes. Plusieurs problèmes ont été corrigés pour faciliter les mesures de performances et vérifier que les optimisations rendent réellement les choses plus rapides.

Réduction des verrouillages du device manager

Le problème initial qui a conduit à ces améliorations était la lenteur du lancement de nouveaux processus. Un goulet d’étranglement qui a été identifié est le verrouillage du device_manager pour accéder au périphérique /dev/random pour initialiser le stack protector (qui a besoin d’écrire des valeurs aléatoires sur la pile). Toutes les ouvertures de fichiers dans /dev nécessitent d’acquérir un verrou qui empêche l’exécution en parallèle avec de nombreuses autres tâches liées aux périphériques matériels.

Le problème a été corrigé de deux façons : d’abord, le stack protector utilise une API permettant de générer des nombres aléatoires sans ouvrir de fichier dans /dev. D’autre part, une analyse a montré que la pile USB passait beaucoup de temps à exécuter du code en ayant verrouillé l’accès au device manager. Ce code a été modifié pour libérer le verrou plus souvent.

DT_GNU_HASH dans les fichiers ELF

Un autre aspect assez lent du lancement de processus est le chargement des bibliothèques et la recherche des symboles dans ces bibliothèques. Pour identifier si une bibliothèque contient un symbole, la recherche se fait par un hash du nom de la fonction recherchée.

Historiquement, c’est la section DT_HASH qui est utilisée, mais les utils GNU implémentent également DT_GNU_HASH, qui utilise une meilleure fonction de hash et ajoute également un bloom filter qui permet de tester très rapidement, mais de façon imparfaite, la présence d’un symbole dans une bibliothèque.

Le chargeur de bibliothèques de Haiku sait maintenant utiliser les tables DT_GNU_HASH, mais ce n’est pas encore déployé car les gains de performances ne justifient pas l’augmentation de taille des bibliothèques (il faut stocker les tables dans l’ancien et dans le nouveau format). Il sera toutefois possible de l’ajouter au cas par cas sur les bibliothèques où le gain est important (par exemple s’il y a beaucoup de symboles).

premapping de mmap

La fonction mmap permet de mapper un fichier directement en mémoire. Les écritures en mémoire sont ensuite directement enregistrées sur disque. Il n’est pas souhaitable de charger tout le fichier d’un coup au moment de l’appel à mmap, ce serait trop lent. Mais il ne fait pas non plus attendre que le logiciel accède à cette mémoire et remplir les données au goutte-à-goutte (ou plus précisément, une page de 4Kio à la fois).

Un cas particulier est le traitement des bibliothèques partagées, qui sont chargées en mémoire de cette façon. Dans ce cas, le fichier est probablement déjà chargé quelque part en mémoire pour un autre processus, et il devrait être possible de réutiliser les mêmes données. Le code testant cette possibilité ne fonctionnait pas à tous les coups, ce qui fait que des fichiers qui auraient pu être mappés tout de suite, ne l’étaient pas.

Une autre amélioration est d’utiliser plusieurs allocateurs séparés pour chaque processeur, pour réduire les blocages entre différents threads qui ont besoin de manipuler des pages de mémoire.

Suppression des zones mémoire

Les applications Haiku peuvent créer des zones de mémoires (appelées areas) qui disposent d’un identifiant unique et peuvent être partagées avec d’autres processus.

Lorsqu’une application s’arrête, il faut supprimer toutes les areas qui ont été créées. Cela était fait par une simple boucle supprimant ces zones une par une. Mais cela pose un problème: chaque suppression doit verrouiller la liste des areas puis la déverrouiller. Le code a été modifié pour verrouiller la liste une seule fois et retirer de la liste toutes les zones d’un seul coup, avant de faire les autres opérations de suppression qui n’ont pas besoin d’accéder à la liste.

Au total, toutes ces améliorations conduisent à une amélioration des performances de plus de 25% sur un test en conditions réelles (compilation d’une partie des sources de Haiku).

Calcul des sommes de contrôles des paquets réseau par le matériel

Dans un autre domaine, une perte de temps conséquente est le calcul des checksums pour les paquets réseau reçus et envoyés. En effet, ce calcul était fait systématiquement par le logiciel, même si le matériel est capable de s’en charger. Il est maintenant possible pour les pilotes réseaux qu’ils sont capables de vérifier et de générer ces checksums par eux-mêmes, et ainsi la pile réseau peut s’en dispenser. Cela permet aussi de se passer entièrement de checksums sur les interfaces localhost, qui ne devraient pas subir de corruption de paquets, et ne gagnent rien à cette vérification.

Cela a été également l’occasion de supprimer quelques copies des données des paquets réseau.

user_mutex

La structure user_mutex joue un rôle similaire aux futex de Linux. Elle est utilisée pour implémenter, par exemple, pthread_mutex et pthread_rwlock. L’implémentation avait plusieurs bugs (race conditions), et a été remplacée par un nouveau système plus efficace.

Au total, toutes ces améliorations permettent des performances 25% meilleures que la version beta 4 de Haiku. Il reste cependant de quoi faire, puisque certains benchmarks (compilation d’une partie du code source de Haiku) restent près de deux fois plus lent que l’opération équivalente sous Linux.

Chaîne de compilation

Haiku est compilé avec gcc, ld et les binutils. Ils nécessitent tout trois un petit nombre de patchs maintenus dans un dépôt git dédié et reversés dans les versions upstream autant que possible. Une version de gcc 2.95.3 est également utilisée pour les parties du système assurant encore la rétro compatibilité avec BeOS, les versions plus récentes utilisent un mangling différent et ne sont pas inter opérables.

L’outil de compilation utilisé est Jam, développé à l’origine par Perforce et dont il existe plusieurs forks dont un maintenu par Boost et un autre par Freetype. Haiku utilise sa propre version de Jam avec de nombreuses évolutions.

Commençons la liste des changements dans cette section avec des mises à jour de dépendances : Haiku est maintenant compilé avec GCC 13.2 (la version 14 sera intégrée prochainement). La bibliothèque ICU utilisée pour implémenter toutes les fonctions d’internationalisation (qui se trouve donc avoir un rôle assez important dans la bibliothèque C standard) a été mise à jour en version 74.

Le travail pour supprimer tous les avertissements du compilateur se poursuit petit à petit, mais les problèmes restants sont de plus en plus difficiles à corriger, soit parce qu’il s’agit de code tiers (qu’il est plus facile de garder en l’état pour le synchroniser avec de nouvelles versions), soit parce que l’avertissement ne peut pas être corrigé proprement sans perte de performance, ou encore d’une façon qui contente à la fois gcc 13 et gcc 2 pour les parties du code compilées avec ces deux versions.

On peut toutefois mentionner que tous les trigraphes présents dans le code (par accident, par exemple il est facile d’écrire « ??! » dans un commentaire) ont été supprimés. Ils ne sont plus disponibles dans C++ à partir de la version 17 et génèrent des erreurs de compilation.

D’autre part, l’option de compilation -Wno-error=deprecated a pu être désactivée, car plus aucun code ne déclenche cette erreur.

Puisqu’on parle d’options de compilation : l’optimisation « autovectorisation » pour la compilation du noyau a été désactivée pour l’instant. Cette option fait que le code utilise des instructions SSE, et faire cela dans le noyau problématique pour la plupart des machines virtuelles (QEMU, VMWare et Virtual Box). La plupart des autres noyaux n’utilisent pas ces instructions, ce qui fait que des bugs dans les hyperviseurs sont tout à fait possibles, par manque de tests. Mais le problème pourrait aussi venir de Haiku. L’investigation est, pour l’instant, remise à plus tard.

Un dernier changement dans le système de build consiste à permettre l’utilisation de git worktree. Quelques commandes git sont utilisées lors de la compilation pour calculer le numéro de version du code en train d’être compilé, et ça ne fonctionnait pas correctement dans ce cas de figure.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Actualité : Avatar : le dernier maître de l'air – La saison 2 de la série Netflix lance son tournage avec un premier teaser

Renouvelée en mars dernier, le remake live action Avatar : le dernier maître de l'air de Netflix vient officiellement de lancer ses caméras et le tournage de sa deuxième saison. La plateforme de streaming a profité de l'événement de la Geeked Week pour l'annoncer, avec un teaser sympathique à la clé.La série Avatar : le dernier maître de l'air (...

Actualité : Squid Game saison 2 : Netflix sort un nouveau teaser prometteur, avec des jeux inédits

Nous n'avons jamais été aussi proche de la très attendue deuxième saison de Squid Game, prévue en décembre prochain sur Netflix. Pour nous faire patienter, la plateforme de streaming vient d'ailleurs de dévoiler un tout nouveau teaser, avec un premier aperçu des nouveaux jeux.Avatar, House of the Dragon, True Detective... Les 10 séries les plus atten...

Haiku a 23 ans - Haiku R1 bêta 5 (partie 1 : applications)

Haiku est un système d’exploitation libre destiné aux ordinateurs personnels ou de bureau (pas de serveurs, pas de systèmes embarqués, pas de tablettes ni de téléphones). Il s’agit au départ d’une réécriture libre de BeOS, préservant la compatibilité binaire avec ce dernier (les applications BeOS peuvent tourner sur certaines versions de Haiku).

Le projet Haiku (au départ nommé OpenBeOS) a démarré officiellement le 18 août 2001 avec le premier message sur la liste de diffusion : Ok, let's start (OK, allons-y). Cet anniversaire est l’occasion de faire un point sur les développements de l’année dans Haiku et ce qui est en préparation.

La dépêche a été un peu retardée cette année, pour être synchronisée avec la version R1 bêta 5 de Haiku, publiée le vendredi 13 septembre 2024.

Le projet emploie un développeur presque à plein temps depuis 2021 et le reste de l’équipe contribue bénévolement. La dernière version bêta a été publiée fin 2023 et la Bêta 5 est désormais disponible : l’occasion de revenir en trois parties sur ce que propose Haiku, d’abord des applications, un noyau et des améliorations de la documentation.

Sommaire

Près de 350 tickets ont été clos dans le cadre du travail sur la version R1 bêta 5. Il y a bien sûr de très nombreuses corrections de bugs, qui ne seront pas listées dans cet article. On se concentrera plutôt sur les nouveautés, sauf dans les cas où la correction est vraiment importante ou permet d’ouvrir de nouvelles possibilités d’utilisation.

Applications

Haiku est un système d’exploitation complet, fourni avec un certain nombre d’applications permettant d’accomplir les tâches les plus courantes. En plus de ces applications de base, le gestionnaire de paquets HaikuDepot, alimenté principalement par le travail du projet HaikuPorts, apporte à la fois des applications portées depuis d’autres systèmes et des applications développées spécifiquement pour Haiku.

De façon générale, on trouve cette année dans les applications de Haiku des améliorations sur le rendu des nombres, l’utilisation d’un symbole de multiplication à la place d’une lettre x là où c’est pertinent, et de nombreuses petites corrections et améliorations sur la mise en page des fenêtres, des corrections de problèmes de traduction et ainsi de suite.

AboutSystem

AboutSystem est la fenêtre d’information sur le système Haiku. Elle fournit quelques informations sur la machine sur laquelle le système fonctionne (quantité de RAM, marque et modèle du CPU, uptime) ainsi que les noms des développeurs et autres logiciels libres ayant participé au développement de Haiku.

Cette application reçoit tout d’abord une mise à jour cosmétique : si le système est configuré en « mode sombre », le logo Haiku correspondant (avec un lettrage blanc et des dégradés de couleurs un peu différents) sera utilisé. Sinon, ce sera le logo avec lettrage noir.

AboutSystem en mode clair
AboutSystem en mode sombre

Elle reçoit également quelques mises à jour de contenu : en plus de l’ajout de quelques nouveaux contributeurs qui ont rejoint le projet, on trouvera maintenant un lien vers la page web permettant de faire un don à Haiku. Plusieurs liens vers des bibliothèques tierces utilisées dans Haiku, qui ne fonctionnaient plus, ont été soit supprimés, soit remplacés par des liens mis à jour.

Enfin, il est désormais possible d’utiliser AboutSystem comme un « réplicant », c’est-à-dire de l’installer directement sur le bureau pour avoir en permanence sous les yeux les statistiques sur l’utilisation mémoire et l’uptime ainsi que le numéro de build de Haiku en cours d’exécution (ce qui peut être utile par exemple lorsqu’on lance beaucoup de machines virtuelles avec des versions différentes de Haiku pour comparer un comportement, ou si on veut stocker des captures d’écran de plusieurs versions et s’y retrouver facilement).

CharacterMap

L’application « table de caractères » permet d’étudier de près les différents glyphes et symboles présents dans une police de caractères. En principe, elle permet de choisir une police spécifique, mais le serveur graphique de Haiku substitue automatiquement une autre police si on lui demande d’afficher un caractère qui n’est pas disponible dans la police demandée.

Cela peut être gênant dans certains contextes, par exemple si on envisage d’embarquer une police dans un fichier PDF, il est difficile de savoir quelle police contient vraiment les caractères qu’on veut utiliser.

L’application a été améliorée pour traiter ce cas et affiche maintenant ces caractères en grisé.

CharacterMap affichant des caractères manquants

CodyCam

CodyCam est une application permettant de tester une webcam et de l’utiliser pour envoyer périodiquement des images vers un serveur HTTP.

L’évolution principale a été la mise à jour de l’icône de l’application. L’utilité de CodyCam est limitée par le manque de pilotes : il faudra soit trouver une webcam Sonix du début des années 90, seul modèle USB à disposer d’un pilote fonctionnel, soit utiliser un ordiphone Android équipé d’un logiciel permettant de le transformer en caméra IP (ou encore une vraie caméra IP).

Le pilote pour les WebCams UVC — standard utilisé pour les caméras USB modernes — n’est pas encore au point et n’est pas inclus dans les versions publiées de Haiku.

Debugger

Debugger est, comme son nom l’indique, le debugger de Haiku. Il est développé spécifiquement pour le projet sans s’appuyer sur les outils existants (gdb ou lldb). Il dispose à la fois d’une interface graphique et d’une interface en ligne de commande, plus limitée. Cette dernière est surtout utilisée pour investiguer des problèmes dans les composants de Haiku qui sont nécessaires pour l’utilisation d’une application graphique : app_server, input_server ou encore registrar.

La version en ligne de commande a reçu quelques petites améliorations, mais la principale nouveauté est la prise en charge des formats DWARF-4 et DWARF-5 pour les informations de debug. Cela permet de charger les informations générées par les versions modernes de GCC, sans avoir besoin de forcer la génération d’une version plus ancienne du format DWARF.

Le désassembleur udis86, qui n’est plus maintenu et ne reconnaît pas certaines instructions ajoutées récemment dans les processeurs x86, a été remplacé par Zydis.

Enfin, un bug assez gênant a été corrigé : si une instance de Debugger était déjà en train de débugger une application et qu’une deuxième application venait à planter, il n’était pas possible d’attacher une deuxième instance de Debugger à cette application. Les problèmes impliquant plusieurs processus pouvaient donc être un peu compliqués à investiguer. C’est maintenant résolu.

Deskbar

L’application DeskBar fournit la « barre des tâches » de Haiku. Elle permet de naviguer entre les fenêtres et applications ouvertes, de lancer de nouvelles applications via un menu (similaire au « menu démarrer » de Windows), ou encore d’afficher une horloge et des icônes fournis par d’autres applications (sous forme de réplicants).

Elle fait partie, avec le Tracker, des applications qui ont été publiées sous license libre lors de l’abandon de BeOS par Be Inc.

Quelques changements dans la DeskBar :

  • Tous les menus utilisent maintenant la police « menu » choisie dans les préférences d’apparence du système. Auparavant, la police « menu » et la police « plain » étaient mélangées. Ces deux polices étant identiques dans la configuration par défaut, le problème n’avait pas été repéré.
  • Si un nom de fenêtre est tronqué dans la liste des fenêtres, le nom complet peut être affiché dans une infobulle.
  • L’icône pour les fenêtres dans la DeskBar a été remplacée. La nouvelle icône indique plus clairement si une fenêtre se trouve dans un autre bureau virtuel (dans ce cas, activer cette fenêtre provoquera un changement de bureau).

GLTeapot

GLTeapot est une application permettant de tester le rendu OpenGL, en affichant un modèle 3D de la théière de l’Utah.

En plus de la théière, cette application affiche un compteur du nombre d’images affichées par secondes. Bien que les chiffres affichés ne soient pas du tout représentatifs des performances d’un rendu 3D réaliste, certains utilisateurs insistent lourdement pour pouvoir faire le concours de gros chiffres de nombre d’images par seconde.

Il est donc à nouveau possible de désactiver la synchronisation sur le rafraîchissement de l’écran, et demander au processeur de réafficher la théière plusieurs centaines de fois par seconde, bien que l’écran soit incapable de suivre le rythme. Par défaut, la synchronisation est activée et le rafraîchissement ne dépassera jamais 60 FPS, si toutefois le pilote graphique implémente les fonctions de synchronisation nécessaires.

HaikuDepot

HaikuDepot est un hybride entre un gestionnaire de paquets et un magasin d’applications.

Il se compose d’un serveur (développé en Java) fournissant une API REST et permettant de collecter les informations sur les applications (icônes, captures d’écrans, catégories, votes et revues des utilisateurs, choix de la rédaction pour les applications mises en avant…), d’un frontend web minimaliste et d’une application native C++ permettant d’afficher ces données.

La principale nouveauté est l’intégration du système de single-sign-on (SSO) permettant d’utiliser un compte utilisateur commun avec d’autres services en ligne de Haiku. Actuellement, l’outil de revue de code Gerrit
utilise ce même compte, mais ce n’est pas encore le cas pour Trac (outil de suivi des bugs) ni pour le forum. Ce sera mis en place plus tard.

De façon peut-être moins visible, mais pas moins importante, le code C++ de l’application a reçu de nombreuses améliorations et optimisations « sous le capot », rendant l’application plus rapide et plus fiable, mais qui sont un peu difficiles à résumer dans le cadre de cette dépêche.

Enfin, l’apparence de l’application a été légèrement retravaillée pour mieux s’adapter aux écrans à haute définition (ce qui nécessite d’avoir des marges et espacements de taille dynamique en fonction de la taille de texte choisie par l’utilisateur).

Icon-O-Matic

Capture d’écran de l’éditeur d’icônes

Icon-O-Matic est un éditeur d’icônes. Il permet d’exporter les fichiers au format HVIF, un format vectoriel compact qui permet de stocker les icônes dans l’inode d’en-tête des fichiers pour un chargement et un affichage rapide.

Cette application a bénéficié du travail de Zardshard pendant le Google Summer of Code 2023, elle a donc reçu plusieurs évolutions et corrections importantes (dont certaines sont mentionnées dans la dépêche anniversaire de l’année dernière).

Citons en particulier l’ajout d’un nouveau type de transformation, « perspective », qui permet de facilement déformer un ensemble de chemins vectoriels selon une projection de perspective, ce qui est assez utile pour concevoir plus facilement une icône avec un aspect tridimensionnel (bien qu’en pratique l’apparence habituelle des icônes de Haiku soit un intermédiaire entre une projection perspective et une vue isométrique, ne se prêtant pas forcément à l’utilisation de cette opération de transformation purement mathématique).

Une autre petite amélioration est l’ajout d’une vérification pour empêcher la fenêtre de Icon-O-Matic de se positionner en dehors de l’écran, par exemple si on a déplacé la fenêtre vers le bas de l’écran, enregistré cette position, puis relancé l’application dans une résolution d’écran plus réduite. Dans ce cas, la fenêtre sera automatiquement ramenée dans la zone visible de l’affichage.

Magnify

L’application Magnify permet d’afficher une vue zoomée d’une partie de l’écran. Elle peut servir pour améliorer l’accessibilité (mais n’est pas idéale pour cet usage), mais aussi pour les développeurs d’interfaces graphiques qui ont parfois besoin de compter les pixels pour s’assurer que leurs fenêtres sont bien construites.

En plus de l’affichage zoomé, l’application permet d’afficher l’encodage RGB de la couleur d’un pixel, ou encore de placer des « règles » permettant de vérifier l’alignement des objets. Ces dernières ont reçu une petite mise à jour, avec une amélioration de l’affichage de leur largeur et hauteur pour les rendre plus lisibles.

Magnify avec une 'règle'

MediaPlayer

L’affichage des sous-titres ne fonctionnait pas correctement, il manquait une partie du texte. C’est maintenant corrigé.

PowerStatus

Capture d’écran de PowerStatus: fenêtre principale et icône de la DeskBar avec son menu

L’application PowerStatus permet de surveiller l’état de la batterie pour les ordinateurs qui en disposent.

Elle a reçu plusieurs améliorations importantes :

Une notification a été ajoutée pour un niveau de décharge très faible (en plus du niveau faible déjà présent). Ces deux niveaux peuvent être paramétrés à un pourcentage choisi de décharge de la batterie, et associé à des sons d’alerte spécifiques. Avant ces changements, il était facile de ne pas voir le message d’alerte (affiché seulement pendant quelques secondes) ou de se dire qu’avec 15% de batterie on a encore le temps de faire plein de trucs, puis se retrouver un peu plus tard avec une batterie vide sans autre avertissement.

L’état « not charging » est maintenant détecté et correctement affiché, pour une batterie au repos : ni en train de se charger, ni en train d’alimenter la machine. C’est en particulier le cas d’une batterie déjà chargée à 100%, si la machine reste connectée au réseau électrique.

L’icône de statut de la batterie s’installe automatiquement dans la DeskBar au premier démarrage de Haiku sur les machines disposant d’une batterie.

Le réglage du mode « performance » ou « économie d’énergie" est enregistré et ré-appliqué lors des prochains démarrages (ces modes configurent l’ordonnanceur du noyau pour exécuter un maximum de tâches sur tous les cœurs du processeur, ou bien au contraire pour essayer de garder ces cœurs en veille autant que possible s’ils ne sont pas nécessaires).

SerialConnect

SerialConnect est une application de terminal série, utile principalement aux développeurs de systèmes embarqués et autres gadgets électroniques.

Elle est encore en cours de développement et propose pour l’instant les fonctions les plus basiques. Il est maintenant possible de coller du texte depuis le presse-papier pour l’envoyer sur un port série, ce qui est pratique si on veut envoyer plusieurs fois la même séquence de commandes.

ShowImage

ShowImage est la visionneuse d’images de Haiku. Elle utilise les traducteurs, des greffons avec une API standardisée qui permettent de convertir différents formats de fichiers entre eux.

L’interface graphique de ShowImage a été mise à jour pour utiliser le « layout system ». Historiquement, dans BeOS, tous les éléments des interfaces graphiques devaient être positionnés manuellement avec des coordonnées en pixels, ce qui est pénible à faire, surtout si on doit traiter tous les cas (polices de caractères de différentes tailles, remplacement des textes lors de traductions, utilisation de thème d’interfaces différents), et aussi lors d’évolution de l’application (si on veut insérer un élément en plein milieu, il faut souvent décaler tout ce qui se trouve autour).

Le « layout system » fournit un ensemble d’outils pour automatiser ce travail, soit à l’aide d’éléments prédéfinis (grilles, groupes, « cartes » superposées), soit à l’aide d’un système de définition de contraintes et de programmation linéaire.

D’autre part, ShowImage dispose maintenant d’un menu permettant d’ouvrir l’image affichée dans un éditeur d’images.

Terminal

Le Terminal de Haiku permet d’exécuter un shell (c’est bash par défaut) et toutes les applications conçues pour un affichage en console.

Les principaux changements cette année sont la correction d’un problème sur la configuration des couleurs utilisées par le Terminal (il y avait un mélange entre le nom anglais et le nom traduit des couleurs, empêchant d’enregistrer et de relire correctement le fichier de configuration), ainsi que des modifications sur les raccourcis clavier utilisés par le Terminal lui-même (en particulier pour naviguer entre plusieurs onglets) qui entraient en conflit avec ceux utilisés par les applications lancées dans le terminal.

Le terminal est également capable de traiter les « bracketed paste », c’est-à-dire que les applications en console sont informées que des caractères en entrée proviennent du presse-papier. Cela permet par exemple à bash de ne pas exécuter directement des commandes qui sont collées, mais de les mettre en surbrillance et d’attendre que l’utilisateur valide cette saisie.

D’un point de vue plus bas niveau, les pilotes TTY utilisés pour les ports série et pour le Terminal, qui étaient indépendants, ont été unifiés afin d’éviter de devoir corriger tous les bugs deux fois dans deux versions du code presque identiques.

Tracker

Tracker est le navigateur de fichiers de Haiku. Tout comme la DeskBar, il fait partie des quelques rares morceaux de BeOS qui ont été publiés sous licence libre par Be et ont donc pu être repris directement par Haiku. Contrairement à la DeskBar, la publication du code du Tracker avait conduit à l’apparition de nombreux forks, chacun améliorant à sa façon le logiciel. La version utilisée par Haiku provient principalement du projet OpenTracker, mais a réintégré ou réimplémenté au fil du temps les modifications faites dans d’autres variantes.

Le Tracker est un composant central de l’interface de Haiku et a donc reçu un nombre assez important d’évolutions :

La taille des fichiers est maintenant affichée à l’aide de la fonction string_for_size qui s’adapte aux conventions de la langue et du pays choisi par l’utilisateur.

Les brouillons de courrier électronique disposent maintenant de leur propre type MIME et de l’icône associée. Ils s’ouvriront dans un éditeur de mail plutôt que dans une fenêtre de lecture de message.

Pour les fichiers qui disposent d’un attribut « rating » (évaluation), ce dernier est affiché avec des étoiles pleines ou vides selon la note attribuée. La note va de 0 à 10 mais il n’y a que 5 étoiles. Le caractère demi-étoile permet d’afficher la note exacte avec les versions récentes d’Unicode (depuis 2018 en fait, mais il a fallu attendre la disponibilité dans une police de caractères).

Une fenêtre du Tracker, montrant la colonne taille et la colonne rating

La gestion des dossiers en lecture seule a été améliorée. Ils sont affichés sur fond gris (au lieu d’un fond blanc pour les dossiers modifiables) et tous les menus correspondant à des opérations non autorisées sont désactivés (au lieu d’être activés, mais d’aboutir sur une erreur car le dossier est en lecture seule).

Dans le même esprit, le bouton « ouvrir » des boîtes de dialogues d’ouverture de fichier est désactivé si le fichier sélectionné ne peut pas être ouvert (c’était déjà le cas, mais tous les cas possibles n’étaient pas bien pris en compte).

Un problème d’affichage sur le système de fichier packagefs a été corrigé : les dossiers n’ont pas de taille et affichent donc - au lieu d’une taille fixe de 4 Kio qui n’a aucune signification.

La fenêtre de recherche a reçu quelques évolutions, voir plus bas dans la section dédiée au Google Summer of Code, qui détaille le travail réalisé à ce sujet.

Le menu « templates », utilisé quand on fait un 'clic droit -> Nouveau…' et qui permet de créer différents types de fichiers et de dossiers à partir de fichiers de référence, peut maintenant contenir des sous-dossiers, pour les personnes qui utilisent beaucoup cette possibilité, avec par exemple des modèles de documents pré-remplis pour différents usages.

Enfin, un peu de nettoyage interne : les classes NavMenu et SlowContextPopup, qui permettent la navigation dans les sous-dossiers via des menus popup, ont été fusionnées en une seule classe car elles sont toujours utilisées ensemble. Cela simplifie le code pour l’affichage de ces menus, qui a quelques particularités pour permettre une navigation confortable même sur un disque dur un peu lent.

TV

L’application TV utilisée pour recevoir la TNT à l’aide d’un tuner approprié a été déplacée dans le paquet haiku_extras et n’est donc plus installée par défaut. La plupart des gens ne disposant pas d’un tuner compatible sur leur ordinateur, cette application était source de confusion et de nombreuses questions sur le forum.

WebPositive

WebPositive est le navigateur web de Haiku. Il utilise le moteur WebKit développé conjointement par Apple, Igalia et Sony principalement.

En dehors de la mise à jour du moteur vers une version plus récente, WebPositive reçoit actuellement peu d’évolutions, les développeurs étant malheureusement trop occupés par ailleurs. On peut toutefois mentionner une correction sur la barre de signets : celle-ci ne s’affichait jamais lorsque la langue du système était autre chose que l’anglais.

Zip-O-Matic

Zip-O-Matic est un outil permettant de créer une archive zip facilement depuis le Tracker. Il a reçu une amélioration qui est en fait une correction d’un problème qui existait depuis longtemps : l’archive créée est maintenant automatiquement sélectionnée dans le navigateur de fichier à la fin du processus, ce qui permet de facilement la retrouver pour la renommer, la déplacer ou l'envoyer à son destinataire.

Haikuports

Haikuports est un projet indépendant de Haiku, il se charge d’alimenter le dépôt de paquets. Au départ il s’agissait principalement d’un projet pour le portage de bibliothèque et de programmes venant d’autres systèmes (d’où son nom), mais il est également utilisé pour la plupart des applications natives développées pour Haiku.

Le dépôt de paquets contient actuellement 4193 paquets, il est mis à jour en continu par une petite équipe de bénévoles qui ne sont pas forcément tous développeurs, mais tout de même capables de faire les tâches de maintenance ainsi que le développement de quelques patchs simples.

Il est impossible de lister toutes les mises à jour et ajouts, le projet HaikuPorts étant très actif. Donc voici une sélection arbitraire de quelques nouveautés et mises à jour.

Applications natives

  • Mises à jour de Renga (client XMPP), PonpokoDiff (outil de diff), 2pow (clone de 2048), StreamRadio (lecteur de podcasts), NetSurf (navigateur web léger)…
  • Genio, un IDE pour Haiku avec gestion de la complétion de code via le protocole LSP (compatible avec les outils développés pour VS Code par exemple).
  • Ajout de HaikuUtils, un ensemble d’outils de développement et de debug divers.
  • WorkspaceNumber, un replicant pour afficher le numéro du bureau actif dans la DeskBar.
  • KeyCursor, un outil pour contrôler le curseur de souris à l’aide du clavier.
  • BatchRename, un outil pour renommer automatiquement des fichiers par lot.

HaikuUtils

WorkspaceNumber

PonpokoDiff

PecoRename

2pow

BatchRename

Applications portées

  • Un gros travail a été fait sur le portage de KDE Frameworks et des applications l’utilisant. De très nombreuses applications Qt et KDE sont donc disponibles.
  • Du côté de GTK, il n’existait pas de version de GTK pour Haiku, le problème a été résolu à l’aide d’une couche de compatibilité avec Wayland qui n’implémente pas le protocole Wayland mais réimplémente l’API de la libwayland. Les applications GTK arrivent petit à petit, mais l’intégration est pour l’instant beaucoup moins bonne qu’avec Qt, qui dispose lui d’un vrai port utilisant les APIs natives directement. L’apparence des applications est très visiblement différente, certaines touches du clavier ne fonctionnent pas. C’est donc encore un peu expérimental.
  • Enfin, pour compléter les possibilités d’outils graphiques, la bibliothèque Xlibe implémente les APIs de la libx11 (mais pas le protocole de communication de X) et permet de porter les applications FLTK par exemple, ainsi que celles utilisant directement la libx11. Il reste encore des problèmes avec les applications utilisant Tk (si vous connaissez Tk ou X, les développeurs de Xlibe aimeraient bien un petit coup de main). En attendant, les applications Tk sont utilisables à travers un portage de undroidwish, mais ça reste peu confortable.

Du côté des compilateurs et des langages de programmation : LLVM a été mis à jour en version 17. GCC est disponible en version 13 et peut maintenant être utilisé pour compiler du FORTRAN et de l’Objective-C. Les dernières versions de Python sont disponibles, et en plus avec des performances améliorées. Node.JS est également mis à jour, ou si vous préférez le langage R, vous le trouverez également, avec son IDE associé rkward.

Bien sûr, la plupart des bibliothèques et outils disponibles sur d’autres systèmes sont aussi disponibles : ffmpeg (en version 6), Git, libreoffice, Wireshark…

Mentionnons enfin un pilote FUSE pour monter des volumes réseau NFS, qui vient compléter les deux implémentations de NFS présentes dans le noyau (une obsolète qui implémente NFS2, et une plus récente implémentant NFS4, mais qui est instable et pas activement maintenue actuellement).

GCompris

DrawTerm

KDE Mah Jong

NetBeans

Frogatto

CudaText

Cantor

Panneaux de préférences

Appearance

Les préférences « Appearance » permettent de configurer l’apparence du système et des applications : principalement les polices de caractères et les choix de couleurs.

C’est ce dernier qui reçoit une mise à jour en profondeur, avec l’ajout d’un mode automatique. Auparavant, chaque couleur utilisée par le système devait être configurée manuellement, ce qui permet un contrôle très fin, mais demande de passer un certain temps à faire des ajustements. Le mode automatique permet de configurer seulement 3 couleurs : le fond des fenêtres, les barres de titres, et une couleur d’« accentuation ». Les autres couleurs et nuances sont calculées automatiquement à partir de cette palette de base.

En particulier, il devient beaucoup plus facile de choisir un fond sombre pour se retrouver avec un système en mode sombre, très à la mode chez certain·e·s utilisateurices de Haiku.

Il est toujours possible d’activer le mode avancé pour affiner les réglages si nécessaire (ou si vous aimez les interfaces graphiques bariolées et multicolores).

Le mode automatique dans l’application Appearance

La même capture d’écran avec une configuration « mode sombre »

Keymap (disposition clavier)

L’application Keymap permet de configurer la disposition de touches du clavier. Le point qui a reçu un peu d’attention est la gestion de la configuration des touches modificatrices.

Haiku est un dérivé de BeOS qui lui-même a été au départ inspiré de Mac OS. On conserve de cet héritage l’utilisation des touches commande et option au lieu de meta et alt sur les claviers de PC. Mais BeOS et Haiku sont conçus pour être utilisés avec des claviers de PC. La touche commande qui prend la place de la touche ALT est donc celle utilisée pour la plupart des raccourcis claviers. Cela se complique si on essaie d’utiliser un clavier fabriqué par Apple (les codes de touches renvoyés par le clavier pour des touches situées au même endroit ne sont pas les mêmes), ou encore si on a besoin d’une touche AltGr (historiquement utilisée comme touche option par BeOS, mais aujourd’hui ce rôle est plutôt attribué à la touche windows apparue un peu plus tard). Une page sur le wiki de développement de Haiku tente de résumer l’historique et la situation actuelle.

La configuration des touches modificatrices est donc un sujet complexe, et il est probable que le comportement sera à nouveau modifié plus tard. Quoi qu’il en soit, en attendant, l’application Keymap permet toutes les permutations possibles de configuration de ces touches.

Screen (Affichage)

Les préférences d’affichage, en plus de permettre de changer la résolution d’écran, affichent quelques informations essentielles sur la carte graphique et l’écran en cours d’utilisation. Pour les écrans, ces informations sont généralement extraites des données EDID, mais il y a une exception : les dalles d’affichage des PC portables n’implémentent en général pas ce protocole. Les informations sont donc récupérées par d’autres moyens parfois moins bien normalisés. Par exemple, l’identifiant du fabricant est un code à 3 lettres. En principe, les fabricants doivent s’enregistrer auprès d’un organisme qui attribue ces codes, afin d’en garantir l’unicité.

Cependant, certains fabricants ne l’ont pas fait, et se sont choisi eux-mêmes un code qui semblait inutilisé. La base de données officielle réserve donc ces codes et en interdit l’utilisation, afin d’éviter des conflits. Il arrivait donc que le fabriquant d’un écran soit affiché comme étant « DO NOT USE », ce qui a inquiété quelques utilisateurs de Haiku se demandant s’ils risquaient d’endommager leur matériel.

Ces entrées de la liste sont maintenant filtrées et remplacées par les noms des fabricants de panneaux d’affichages concernés (lorsqu’on sait de qui il s’agit).

Outils en ligne de commande

Haiku est fourni avec un terminal et un shell bash (par défaut, d’autres shells peuvent également être utilisés). Les outils définis dans la spécification POSIX sont fournis, ainsi que des compléments permettant d’utiliser les fonctionnalités supplémentaires de Haiku.

df

La commande df affiche l’espace disque disponible sur chaque volume de stockage actuellement monté.

Les colonnes de l’affichage ont été réorganisées, pour être plus lisibles, et se rapprocher un peu du format spécifié par POSIX (mais pas complètement lorsqu’on lance la commande sans options particulières : des informations supplémentaires sont alors affichées).

filteredquery

L’outil filteredquery permet d’effectuer une requête sur les attributs étendus du système de fichiers (permettant de requêter le système de fichiers comme une base de données, plutôt que de naviguer de façon hiérarchique dans les dossiers), puis de filtrer le résultat pour ne conserver que les réponses contenues dans un sous-dossier spécifique. En effet, les requêtes étant indépendantes de l’organisation des dossiers, il est nécessaire de faire ce filtrage par post-traitement des résultats (ce qui reste tout de même généralement plus rapide que de faire l’inverse : parcourir tous les fichiers d’un dossier pour trouver ceux correspondant à un critère particulier).

Cet outil n’a pas reçu de nouvelles fonctionnalités, mais de nombreuses corrections et nettoyages qui le rendent véritablement utilisable.

ping, traceroute, telnet, ftpd

Ces commandes liées à des opérations sur le réseau ont été remplacées par les dernières versions développées par FreeBSD, permettant de bénéficier d’une version moderne, avec plus de fonctionnalités et moins de bugs.

La commande ping6 est supprimée, car ping peut maintenant utiliser l’IPv6 aussi bien que l’IPv4.

pkgman

L’outil pkgman permet de télécharger et d’installer des logiciels et des mises à jour.

Il a peu évolué, mais on peut tout de même noter l’utilisation d’un algorithme de tri « naturel » pour l’affichage des résultats dans l’ordre alphabétique (par exemple, llvm12 sera affiché après llvm9).

Une fonction qui n’est toujours pas disponible dans pkgman est le nettoyage des dépendances non utilisées. Un script fourni dans le dépôt Git de Haiku permet de réaliser manuellement une analyse des paquets installés sur le système pour détecter ceux qui n’ont pas de dépendances, il faudra pour l’instant se contenter de cette solution.

strace

L’outil strace permet d’afficher les appels systèmes effectués par une application, pour comprendre son interfaçage avec le noyau et investiguer certains problèmes de performances ou de mauvais comportements.

L’interfaçage avec le noyau pour extraire ces informations étant assez spécifique, l’implémentation de strace est faite à partir de zéro, et ne partage pas de code avec la commande du même nom disponible par exemple sous Linux.

strace est mis à jour régulièrement et en fonction des besoins des développeurs de Haiku pour décoder et afficher de plus en plus d’informations. Par exemple, elle peut maintenant afficher le contenu des iovec (par exemple pour les fonctions readv ou writev), ainsi que les objets manipulés par wait_for_object et event_queue.

Un exemple de sortie de strace (traçant l’ouverture d’un fichier et le chargement d’une bibliothèque partagée) avant ces changements:

open(0x5, "plaintext", 0x2042, 0x0) = 0x8000000f () (49 us)
map_file("libicuuc.so.66 mmap area", 0x7f04c2675228, 0x6, 0x1ababd0, 0x1, 0x0, true, 0x3, 0x0) = 0x329a0 () (108 us)

et après :

open(0x5, "plaintext", O_RDWR|O_NOTRAVERSE|O_CLOEXEC, 0x0) = 0x8000000f Operation not allowed (57 us)
map_file("libicuuc.so.66 mmap area", [0x0], B_RANDOMIZED_ANY_ADDRESS, 0x1ababd0, B_READ_AREA, 0x0, true, 0x3, 0x0) = 0x73e8 ([0x6392223000]) (135 us)

whence

La commande whence permettait de trouver dans le PATH un exécutable à partir de son nom. Elle était implémentée sous forme d’une fonction bash dans le fichier profile par défaut. Cependant, cette implémentation posait problème pour charger le fichier profile avec d’autres shells, elle a donc été supprimée. La commande which peut être utilisée à la place, puisqu’elle remplit un rôle équivalent.

Serveurs

Les serveurs sont l’équivalent des daemons pour UNIX ou des services sous Windows : il s’agit d’applications lancées par le système pour rendre différents services et coordonner l’ensemble des applications.

app_server

app_server est le serveur graphique de Haiku, équivalent de X ou de Wayland. Il se distingue par un rendu graphique fait principalement côté serveur (pour les applications natives), ce qui permet de l’utiliser de façon fluide à travers une connexion réseau.

Bien que ce soit le serveur graphique, et qu’il ait reçu plusieurs améliorations importantes, les différences sont subtiles. Elles sont toutefois importantes pour proposer un système qui semble réactif et confortable à utiliser.

Un premier changement est une réarchitecture du code qui traite le rafraîchissement de l’écran. Ce rafraîchissement se fait en général en plusieurs étapes, par exemple, si on déplace une fenêtre :

  • Le contenu de la fenêtre déplacée peut être directement recopié de l’ancienne position vers la nouvelle,
  • La zone où se trouvait la fenêtre auparavant doit être re-remplie avec ce qui se trouvait en dessous de la fenêtre déplacée. Cela peut être plusieurs morceaux de fenêtres d’autres applications, qui vont devoir chacune ré-afficher une partie de cette zone.

Le problème étant que certaines applications peuvent mettre un peu de temps à répondre à cette demande de ré-affichage (par exemple parce qu’elles sont occupées ailleurs, ou alors parce que la zone à redessiner est relativement complexe).

Différentes stratégies peuvent être mises en place dans ce cas : laisser à l’écran le contenu obsolète, ou remplir la zone en blanc en attendant que les données deviennent disponibles, par exemple. Ou encore, tout simplement ne rien mettre à jour du tout tant que tout l’écran n’est pas prêt à être affiché. Il faut faire un compromis entre la réactivité (déplacer la fenêtre tout de suite), la fluidité (éviter les clignotements de zones blanches) et la précision (affichage d’information cohérente et à jour).

Plusieurs modifications ont permis d’obtenir un meilleur compromis.

Dans un autre domaine, la police de caractères par défaut « Noto Sans Display » a été remplacée par « Noto Sans », ce qui donne un affichage du texte légèrement différent. La police « display » avait été choisie suite à une mauvaise compréhension de la signification de ce mot en typographie : il signifie que c’est une police de caractères à utiliser pour des gros titres et autres textes courts. Il ne signifie pas que c’est une police à utiliser sur un écran d’ordinateur. De toutes façons la police Noto Display n’est plus maintenue par Google et a disparu des dernières versions du jeu de polices Noto.

Toujours dans le domaine des polices de caractères, app_server sait maintenant charger les fichiers « variable fonts ». Ces fichiers contiennent plusieurs polices de caractères définies à partir de glyphes de base, et d’algorithmes de transformation et de déformation (pour rendre une police plus ou moins grasse, plus ou moins italique…). Pour l’instant, app_server sait charger les valeurs de ces paramètres qui sont préconfigurées dans le fichier. Cela permet de réduire la place utilisée par les polices de caractères sur le media d’installation de Haiku (c’est l’un des plus gros consommateurs d’espace disque, qui nous empêche de faire tenir une version complète de Haiku sur un CD de démonstration par exemple).

Plus tard, il sera également possible de configurer plus finement ces paramètres pour générer des variantes intermédiaires des polices de caractères, ainsi que d’exploiter certaines polices qui offrent des paramètres configurables supplémentaires.

input_server

L’input_server se charge de lire les données venant des périphériques d’entrée (clavier et souris) et de les convertir en évènements distribués aux applications. Il est extensible par des add-ons qui peuvent générer ou filtrer des évènements, ce qui peut être utilisé pour de l’accessibilité (émuler une souris à partir de touches du clavier), de l’automatisation (envoi de commandes pré-enregistrées), du confort d’utilisation (bloquer le touchpad d’un ordinateur portable lorsque le clavier est en cours d’utilisation) et bien d’autres choses.

L’input_server a reçu des corrections de problèmes sur la gestion des réglages de souris, permettant en particulier d’utiliser des réglages différents pour plusieurs périphériques (souris, touchpad), et que ceux-ci soient bien enregistrés.

registrar

Le serveur registrar suit les applications en cours de fonctionnement, et leur permet de communiquer entre elles au travers de l’envoi de messages. Il assure également le suivi de la base de données des types MIME et des associations de types de fichiers avec les applications correspondantes.

L’implémentation de BMessageRunner, qui permet d’envoyer des messages périodiques (par exemple pour faire clignoter le curseur des zones de texte à la bonne vitesse), autorise maintenant des intervalles de répétition en dessous de 50 millisecondes. Cela permet d’utiliser ce système pour des animations fluides de l’interface graphique, par exemple.

D’autre part, la liste des applications et documents récemment lancés est maintenant limitée à 100 entrées. Cela évite un fichier qui grossit indéfiniment et finit par contenir surtout des vieilles informations sans intérêt.

Kits

Le système Haiku fournit les mêmes APIs que BeOS. Elles couvrent les usages basiques d’une application, et sont découpées (dans la documentation de BeOS et de Haiku, au moins) en « kits » qui prennent chacun en charge une partie spécifique (interface graphique, multimédia, jeux vidéos, accès au matériel, etc).

Interface

L’interface kit est la partie de la bibliothèque standard qui se charge des interfaces graphiques.

 BColumnListView

BColumnListView est un ajout de Haiku par rapport à BeOS. Il s’agit d’un élément d’interface permettant de présenter une liste avec plusieurs colonnes, de trier les lignes selon le contenu de ces colonnes, et aussi d’avoir des items hiérarchisés avec la possibilité de plier et déplier une partie de l’arborescence.

Cette classe remplace avantageusement BListView et surtout BColumnListView, les classes historiques de BeOS, qui sont beaucoup plus limitées.

Un certain nombre de type de colonnes prédéfinis sont également disponibles, ce qui facilite la construction d’interfaces présentant les données de différentes applications avec le même formatage.

La classe BColumnListView elle-même n’a pas changé. Par contre, les colonnes de type « taille » (pour afficher une taille en Kio, Mio, Gio…) et « date » utilisent la langue choisie dans les préférences système au lieu d’un format anglais par défaut.

BTextView

BTextView est une classe permettant d’afficher une zone de texte éditable. Elle implémente les fonctionnalités de base (curseur, sélection, retour à la ligne automatique) ainsi que quelques possibilités de mise en forme (couleurs, polices de caractères).

BTextView peut également être utilisée pour des zones de textes non éditables, souvent plus courtes. Cela permet de réutiliser une partie des algorithmes de mise en page et de formatage du texte dans différents contextes. Dans le cadre de l’utilisation du « layout system », une vue doit pouvoir indiquer sa taille minimale, maximale et optimale. Le « layout system » va ensuite calculer la meilleure disposition de fenêtre possible pour satisfaire ces contraintes.

Le cas des zones de texte est particulier, car la hauteur optimale dépend du nombre de lignes de texte, qui lui-même peut être plus ou moins grand si la largeur de la vue oblige à ajouter des retours à la ligne. Le « layout kit » prend en compte ce cas particulier, mais les algorithmes ne sont pas encore tout à fait au point et peuvent conduire à des résultats inattendus dans certains cas. Un de ces cas particuliers sur les zones de texte non éditables a été corrigé.

BMenu

La classe BMenu permet d’afficher un menu. Elle est utilisée de plusieurs façons, puisqu’on trouve des menus dans des barres de menu, dans des contrôles de type « popup », ou encore en faisant un clic droit sur certains éléments de l’interface.

Les menus sont également particuliers parce qu’ils peuvent d’étendre en dehors de la fenêtre dont ils sont originaires. Ils sont donc implémentés sous forme de fenêtres indépendantes. Mais cela pose un autre problème : dans Haiku, chaque fenêtre exécute son propre thread et sa propre boucle d’évènements. Si on navigue dans un grand nombre de menus et de sous-menus, cela peut causer quelques problèmes de synchronisation et de performances.

Le code contient également un grand nombre de cas particuliers pour, par exemple, aligner les raccourcis claviers et les flèches indiquant la présence de sous-menus ente les différents items d’un menu, ou encore détecter si un déplacement de souris a pour but de sélectionner un autre menu (en dessous ou au-dessus de celui actif), ou bien plutôt de naviguer vers un sous-menu.

Les nouveautés suivantes sont apparues cette année:

  • Correction de problèmes de race condition lors de l’ajout d’items dans un menu pendant qu’il est affiché à l’écran. Ce problème se manifestait par exemple dans les menus affichant la liste des réseaux Wifi, qui sont mis à jour en temps réel.
  • Finalisation de l’implémentation de la navigation au clavier (avec les flèches directionnelles) dans les menus.
  • Affichage des symboles graphiques UNICODE pour « backspace » (⌫) et « delete » (⌦) si ces touches sont utilisées comme raccourcis clavier pour un item de menu.
  • Utilisation d’un algorithme de tri stable pour la fonction SortItems. Ce type d’algorithme préserve l’ordre relatif des items qui sont égaux d’après la fonction de comparaison. Ce n’est pas le cas de certains algorithmes de tri classiques, notamment le quicksort. La conséquence était que trier un menu déjà trié pouvait changer l'ordre des items. C’était visible encore une fois sur le menu listant les réseaux Wifi, qui est trié par puissance du signal reçu.

 BSpinner

BSpinner est un contrôle permettant de choisir une valeur numérique, soit à l’aide de boutons +/- pour modifier la valeur par incréments, soit en entrant directement la valeur dans une zone de texte.

Il s’agit d’une extension de Haiku par rapport à BeOS qui ne proposait pas cette fonctionnalité.

Cette classe est encore en cours de développement. Elle a reçu des améliorations pour désactiver correctement les boutons +/- lorsque la valeur atteint le minimum ou le maximum autorisé, et aussi une correction sur le message de notification envoyé lors des changements de valeurs du spinner, qui ne contenaient pas la bonne valeur.

rgb_color

La structure rgb_color permet de représenter une couleur par la valeur de ses composantes rouge, vert, bleu (comme son nom l’indique) et alpha (comme son nom ne l’indique pas). Elle fournit également un certain nombre de fonctions pour mélanger des couleurs, les éclaircir ou les assombrir.

La méthode Brightness() dans la classe rgb_color implémentante maintenant l’algorithme perceptual brightness documenté par Darel Rex Finley, qui donne des meilleurs résultats que l’algorithme utilisé précédemment (qui était celui de la luminosité dans l’espace de couleurs Y'IQ. La fonction perceptual_brightness devenue redondante est supprimée.

Cette méthode permet en particulier de déterminer si une couleur est « sombre » ou « claire », et ainsi de décider si du texte affiché par-dessus doit être blanc ou noir (comme démontré ici par exemple).

Locale

Le locale kit se charge de tous les aspects liés à la localisation : traductions des applications, formatage des messages en utilisant les règles de pluralisation de chaque langue, formatage de dates, de nombres avec et sans unités, de pourcentages, nom des fuseaux horaires…

Il utilise ICU pour implémenter la plupart de ces fonctionnalités, mais fournit une surcouche avec une API s’intégrant mieux avec les autres kits.

La principale évolution cette année est l’implémentation de BNumberFormat, qui permet de formater des nombres. Elle permet de choisir une précision (nombre de décimales - pour les langues qui utilisent un système décimal), d’afficher ou non des séparateurs de groupes (de milliers en français, mais par exemple en Inde la séparation se fait traditionnellement par multiples de 10 000).

Media

Le media kit se charge de tous les aspects multimedia.

Il se compose de deux parties. D’une part, un système de gestion de flux média temps réel, permettant de transférer des données multimédia (son ou flux vidéo par exemple) entre différentes applications qui vont les manipuler, le tout avec un certain contrôle du temps de traitement ajouté par chaque opération, pour tenter de minimiser la latence tout en évitant les vidages de tampons qui produiraient une interruption dans le flux. D’autre part, des classes permettant d’encoder et de décoder des fichiers média et d’en extraire des flux de données (encodées ou décodées).

C’est surtout cette deuxième partie qui a reçu quelques évolutions. La version de ffmpeg utilisée pour le décodage de presque tous les formats audio et video est maintenant la dernière version ffmpeg 6. Quelques autres problèmes (erreurs d’arrondis, gestion des tampons partiels en fin de fichier) ont également été corrigés, ce qui permet de faire fonctionner à nouveau le jeu BePac Deluxe qui est extrêmement intolérant au moindre écart de comportement par rapport à l’implémentation du Media Kit dans BeOS.

Support

Le support kit contient un ensemble de classes basiques mais indispensables : gestion des chaînes de caractères, des tampons en mémoire, etc. Il fournit les briques de bases utilisées par les autres kits.

BDataIO

BDataIO est une classe abstraite avec des fonctions de lecture et d’écriture. Plusieurs autres classes sont des instances de BDataIO, par exemple BFile (représentant un fichier), mais aussi BMemoryIO (permettant d’accéder à une zone mémoire).

Plusieurs autres classes acceptent BDataIO (ou sa sous-classe BPositionIO, qui ajoute la possibilité de se déplacer à une position donnée dans le flux) comme entrée ou comme sortie. Il est donc facilement possible de réaliser les mêmes opérations sur un fichier, une zone de données en mémoire, un socket réseau, ou tout autre objet susceptible de fournir une interface similaire.

BDataIO elle-même n’a pas évolué, mais deux de ses implémentations, BBufferedDataIO et BAdapterIO, ont été améliorées. Ces deux classes permettent de construire un objet BDataIO à partir d’un autre, en ajoutant un cache en mémoire pour accélérer les opérations ou encore pour rendre compatible avec BPositionIO un objet qui ne l’est pas.

Ces classes sont en particulier utilisées par l’application StreamRadio, qui implémente la lecture de podcasts en connectant directement le résultat d’une requête HTTP (effectuée grace au network kit) dans un décodeur audio (via la classe BMediaFile du media kit). La mise en tampon permet de revenir en arrière dans la lecture d’un épisode, de télécharger en avance les données qui vont être lues, et d’éviter de conserver inutilement en mémoire les données qui sont déjà lues par l’application.

Bibliothèques C

Les « kits » mentionnés ci-dessus sont l’API en C++ utilisée par les applications Haiku.

Il existe aussi des APIs en C, en grande partie implémentant la bibliothèque C standard et les fonctions décrites dans la spécification POSIX.

Libroot

Libroot implémente la bibliothèque standard C. Elle regroupe entre autres la libc, la libm, et la libpthread, qui sont parfois implémentées comme 3 bibliothèques différentes pour d’autres systèmes. Les évolutions consistent à compléter l’implémentation de la spécification POSIX, et à suivre les évolutions de cette dernière ainsi que des nouvelles versions du langage C. On trouve également des corrections de bugs découverts en essayant de faire fonctionner de plus en plus d’applications sur Haiku, ce qui permet de mettre en évidence des différences de comportement avec d’autres systèmes.

  • Ajout de getentropy pour initialiser les générateurs de nombres aléatoires
  • Correction de problèmes de locks au niveau de l’allocateur mémoire lors d’un fork
  • Plusieurs corrections sur l’implémentation de locale_t, remplacement de code écrit pour Haiku ou provenant de FreeBSD par une implémentation simplifiée mais suffisante, provenant de la bibliothèque C musl.
  • Ajout de static_assert en C11
  • Correction d’un crash lors de l’utilisation de certaines fonctions XSI
  • Ajout de stpncpy
  • La fonction open utilisée sur un lien symbolique pointant vers un fichier non existant peut maintenant créer le fichier cible.
  • Il est possible d’utiliser mmap sur un fichier plus grand que la mémoire disponible sans avoir besoin de spécifier le flag MAP_NORESERVE
  • Utiliser rename pour renommer un fichier vers lui-même ne retourne plus d’erreur (conformément à la spécification POSIX).
  • Ajout de pthread_sigqueue

Libnetwork

La libnetwork implémente les APIs nécessaire pour se connecter au réseau (sockets, résolution DNS…). Elle est séparée de la bibliothèque C pour des raisons historiques : l’implémentation de TCP/IP pour BeOS avait été réalisée entièrement en espace utilisateur (le noyau n’offrant qu’une interface pour envoyer et recevoir des paquets ethernet sur la carte réseau). Cela a posé des problèmes de compatibilité avec d’autres systèmes, et des problèmes de performance. Haiku est donc compatible avec la version "BONE" de BeOS, qui implémente la pile réseau dans le noyau.

  • Mise à jour du résolveur DNS à partir du code de NetBSD 9.3. Précédement le code utilisé était celui du projet netresolv de NetBSD, mais ce projet n’a pas connu de nouvelles publications et le code est à nouveau maintenu directement dans NetBSD sans publication séparée.
  • Correction d’un crash lors de l’utilisation de multicast IPv4

LibBSD

La libbsd implémente plusieurs extensions fournies par la libc de certains systèmes BSD. Elle est séparée de la bibliothèque C principale pour limiter les problèmes de compatibilité: certaines applications préfèrent fournir leur propre version de ces fonctions, ou d’autres fonctions avec le même nom mais un comportement différent. Elles peuvent alors s’isoler en n’utilisant pas la libbsd pour éviter toute interférence.

LibGNU

De façon similaire à la libbsd, la libgnu fournit des fonctions qui sont disponibles dans la glibc (la bibliothèque C du projet GNU) mais ne font pas partie d’un standard (C ou POSIX).

  • Ajout de sched_getcpu pour savoir sur quel cœur de CPU le thread appelant est en train de s’exécuter.
  • Ajout de pthread_timedjoin_np, pour attendre la fin de l’exécution d’un thread (comme pthread_join mais avec un timeout.

Commentaires : voir le flux Atom ouvrir dans le navigateur

PyConFR 2024, planning et inscriptions

La PyConFR 2024 a lieu du jeudi 31 octobre au dimanche 3 novembre à l’UFR Mathématique et d’Informatique de Strasbourg. Le planning est disponible et les inscriptions sont ouvertes !

Comme toujours, la PyConFR est un évènement gratuit et l’inscription est obligatoire.

Les deux premiers jours de la conférence seront occupés par les sprints. Et les deux jours suivants seront dédiés aux conférences (longues et courtes) et ateliers.

Trois keynotes sont également au programme :

  • De villageoise à l’itWoman… Quelles actions pour faire de mon rêve TECH une réalité ?, par Houleymatou Baldé
  • Recherche des bonnes pratiques de packaging, par Françoise Conil
  • Reality is not an end-to-end prediction problem: Applied NLP in the age of Generative AI, par Ines Montani

Cette année, un espace enfants (de 3 ans à 12 ans) est mis à disposition gratuitement sur inscription. Vous pouvez inscrire vos enfants jusqu’au 15 octobre.

Durant cette édition, c’est aussi le retour du déjeuner PyLadies. Un des objectifs est de tisser des liens entre la communauté PyLadies et le reste de la communauté Python francophone.
Les inscriptions au déjeuner PyLadies sont ouvertes jusqu’au 27 octobre.

Le dimanche matin, l'AFP y tiendra son assemblée générale. Si vous souhaitez y voter, assurez vous d'être à jour de cotisation.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Actualité : One Piece (Netflix) : on sait enfin qui jouera Crocodile, le grand méchant de la saison 2

On attendait plus que lui. Quelques semaines après les annonces de casting des membres de l'organisation des Baroque Works, la saison 2 de la série One Piece vient de trouver l'acteur qui interprétera leur célèbre chef, Crocodile.The One Piece : Netflix annonce une série adaptée du manga culteNetflix annonce une série adaptée du manga culte The One P...

Actualité : The Office : Prime Video dévoile la bande-annonce dérangeante du remake australien

Fans de The Office, accrochez-vous : la série culte connaît aujourd'hui une énième adaptation, avec l'arrivée d'une version australienne sur la plateforme Prime Video.Attendue le 18 octobre prochain sur le service de streaming, cette nouvelle série vient justement de dévoiler une bande-annonce... loin d'être convaincante.The Office : la suite de la s...

Entrevue avec Christophe Grenier, développeur de testdisk et photorec

testdisk et photorec sont deux outils libres (GPLv2+) formidables… que l’on souhaite pourtant ne jamais avoir à utiliser ! En effet, les deux sont dédiés à la récupération de données après une panne matérielle, ou une bévue.

TestDisk

Le premier est axé supports de stockage et leurs partitions, le second orienté récupérations de fichiers (mais il est loin de se limiter aux images).

Cocorico : le développeur de ces outils est français, et il a bien voulu répondre à notre sollicitation d’entrevue :).

Bonjour Christophe ! Pouvez-vous présenter votre parcours ?

Quand j’ai commencé à développer testdisk, mon premier outil de récupération de données, j’étais encore étudiant en école d’ingénieur.
Maintenant, cela fait plus de 20 ans que je suis diplômé de l’ESIEA, j’interviens d’ailleurs dans son Mastère Spécialisé Sécurité et Information des systèmes depuis 2004.
Après avoir travaillé dans la sécurité informatique, j’ai travaillé autours des systèmes Linux, du réseau et de la sécurité.
Depuis un peu plus de 10 ans, je suis directeur d’exploitation pour un hébergeur parisien.
Dans le cadre de mon auto-entreprise, je fais de la récupération de données.

Comment avez-vous démarré ce projet ?

Un ami développeur professionnel sous Windows venait d’acheter un nouveau disque dur et pour éviter d’avoir trop de lettres de lecteurs (C:, D:, E:, …) avait décidé de réduire le nombre de partitions de son disque de données ; ce disque contenait 3 partitions.
Il a sauvegardé les données, supprimé les 3 partitions, en a créé 2 et — au moment de restaurer les données — il s’est rendu compte qu’il avait été trop vite et qu’il lui manquait la sauvegarde d’une des partitions.
Sachant que j’avais des connaissances sur le partitionnement des PC (je m’étais intéressé au fonctionnement des virus de boot qui se logeaient dans le premier secteur des disques durs), il m’a contacté.

Armé d’un éditeur hexadécimal, il nous avait fallu la journée pour reconstruire manuellement la table des partitions et récupérer ces données. Un peu plus tard ayant appris les rudiments de la programmation en C, je me suis dit qu’il devait être possible d’automatiser la récupération des partitions et c’est ainsi qu’est né testdisk en 1998.

Pour photorec, il a fallu attendre mon premier appareil photo numérique en 2002. Ayant peur de perdre des photos (effacement par mégarde de photos non sauvegardées, reformatage de la mauvaise carte mémoire…), avant même de partir en voyage, j’ai bricolé un programme en C sous Linux capable de récupérer les photos et vidéos prises par mon appareil photo. C’est ainsi que photorec est né pour récupérer des photos. Il a gardé son nom même s’il récupère des centaines de formats de fichier différents.

Quels sont les points marquants qui ont, selon vous, marqué l’évolution de ces logiciels ?

Les points principaux ayant permis le succès de ces logiciels sont :

  • de rendre ces logiciels multiplateformes pour PC : MS-Dos et Linux, puis Windows. La prise en charge de macOS est venu bien plus tard et a eu peu d’impact.
  • de distribuer ces logiciels gratuitement. L’utilisation d’une licence opensource (GPL v2+) m’a aussi permis d’avoir quelques contributions.
  • d’être plutôt à l’écoute des utilisateurs et d’enrichir les formats de fichiers gérés par photorec. Certains sont vraiment exotiques.
  • de la documentation en plusieurs langues à une époque où les traductions automatiques étaient quasi-inexploitables. Mais aujourd’hui, la documentation principale de plus de 60 pages est en anglais.

Un point marquant a été la reconnaissance officielle de l’utilisation de ces logiciels par des organismes étatiques.

testdisk a été conçu pour un public technique, j’ai eu des retours de différents sociétés de récupération de données de part le monde l’utilisant mais en général, elles ne souhaitent pas communiquer sur leur utilisation de logiciels (libres ou du commerce).

Un tournant a eu lieu en 2014 quand le NIST, dans le cadre du Computer Forensics Tool Testing Program (CFTT), a testé et publié ses résultats sur les capacités de photorec. En comparant les résultats de chaque outil, on découvre que photorec a les meilleurs résultats (1ère place ex aequo).
Ainsi, photorec figure dans le catalogue de logiciels que les agences d’États américains peuvent utiliser.

photorec apparaît dans les diapositives de la formation SecNum Academie de l’ANSSI.

Pourquoi un seul paquet pour deux logiciels, ou pourquoi pas un seul logiciel ?

Quand on parle de testdisk et photorec, il y a aussi fidentify, un outil en ligne de commande qui permet de tester rapidement l’identification de fichiers en utilisant les mêmes parsers que photorec, sans oublier qphotorec, une version graphique de photorec.

Selon les distributions, vous pouvez avoir un package testdisk comprenant testdisk, photorec et fidentify et un package qphotorec pour qphotorec.

testdisk utilise un accès en écriture au disque, photorec n’utilise qu’un accès en lecture. photorec est plus facile d’utilisation que testdisk, c’est presque du next/next/next, il ne fait que du « file carving » (récupération de fichiers par identification des entêtes).

Quelles sont les fonctionnalités les plus attendues que vous pensez implémenter ?

La vérification formelle du code des parsers de photorec est ce qui m’a le plus occupé ces dernières années, je continue de travailler dessus.
Je n’ai pas prévu d’implémenter de nouvelles fonctionnalités dans l’immédiat.

Avez-vous des retours d’utilisateurs, des remerciements de personnes qui ont pu grâce à ces outils retrouver une partie de leur vie numérique, ou de grincheux ?

Perdre une partie de sa vie numérique est très stressant.
De fait, j’ai été confronté à des grincheux très agressifs dont un cas extrême de menaces répétées de mort de la part d’un individu qui n’avait pas pu récupérer ses données. Les hébergeurs de ses messageries successives ont agi rapidement lorsque j’ai signalé ses messages, mais je me suis posé la question à ce moment-là si cela valait bien la peine de m’investir autant pour risquer cette violence numérique.

Les retours positifs des utilisateurs et leurs remerciements sont ce qui a permis de me motiver à continuer de développer sur toutes ces années ce projet.
À une époque, je recevais quotidiennement des mails de remerciements et/ou des donations. C’est moins fréquent désormais, mais c’est peut-être parce que les sauvegardes vers le cloud sont beaucoup plus courantes et qu’ainsi les gens ont moins recours à la récupération de données.

Effectivement, perdre une partie de sa vie numérique est très stressant, avez-vous des conseils à donner sur la sauvegarde ?

Ce sont des conseils très généraux :

  • que cela soit au niveau personnel ou au niveau professionnel, il est important de vérifier le périmètre de la sauvegarde. Si vous n’aviez plus que votre dernière sauvegarde, que vous manquerait-il ?
  • testez une restauration de données
  • si possible, multipliez les sauvegardes (sauvegarde avec historique ou versionning, pas une simple synchronisation)
  • dans l’idéal, plusieurs lieux de sauvegarde.

Sur ces projets, y a-t-il d’autres contributeurs ?

testdisk et photorec reçoivent principalement des contributions ponctuelles. J’en profite pour remercier toutes les personnes qui m’ont aidé pour les traductions, pour avoir partagé des fichiers dans des formats exotiques, ou pour avoir contribué au code.
Merci aussi aux personnes ayant participé à la modération du forum et au modérateur actuel !

Y a-t-il des fonctionnalités importantes qui ne seront pas développées, et pourquoi ?

À moins de recevoir des contributions, je ne pense pas pousser davantage le support mac.
Le chiffrement des disques sous Windows va devenir la norme, comme c’est le cas sous macOS. Je pense que cela va freiner le développement de testdisk et photorec. La récupération va devenir bien plus complexe en exigeant un déchiffrement préalable.

Des souvenirs marquants de cette expérience ?

Je crois que l’une des anecdotes qui m’a le plus amusé est celle que j’ai reçue en janvier 2007 : dans un premier mail, l’utilisateur explique qu’un appareil photo a été volé dans sa voiture, mais qu’une semaine plus tard, la police a trouvé le coupable et a pu restituer l’appareil photo. Le contenu avait été effacé, mais grâce à photorec, l’utilisateur avait récupéré plus de 300 photos.

Currently I am recovering over 300 photos using PhotoRec that my sister in law took over the holidays. Our car was broken into and the camera was stolen. A week later the police found the guy! They found the camera, but it had been wiped.
I had read about recovering photo's from flash cards via a story on slashdot, and now here I am.

Quelques heures plus tard, j’ai reçu la suite de l’histoire :

I have recovered some pictures that look to be taken by the thief […]
I am submitting a CD of the data I have recovered to the Detective involved in the case. My little camera was involved in a much larger theft, so hopefully the pictures they took will help nail them all!

Le voleur avait utilisé l’appareil photo, photorec a permis de récupérer des photos ayant beaucoup intéressé le détective en charge du dossier : celui-ci espère découvrir les autres personnes impliquées dans un vol de plus grande envergure.

Avez-vous eu des échanges avec des éditeurs de logiciels similaires (opensource ou propriétaires) ?

photorec a été victime de plusieurs contrefaçons.

Dans un cas, un fabricant de carte mémoire a distribué un logiciel de récupération de données, ce fabricant avait sous-traité le développement qui avait « optimisé » son temps de développement en récupérant le code source de photorec, remplaçant tous les entêtes de copyright et ajoutant une interface graphique.
Après avoir contacté le fabricant, celui-ci a fait rétablir les copyrights manquants et le code a été distribué en GPLv3.

Dans d’autres cas, des développeurs ont volontairement publié des contrefaçons qu’ils revendaient. Après avoir fait fermer leur hébergement plusieurs fois, ils ont fini par trouver un hébergeur bullet-proof, un hébergeur qui ne répondait plus aux plaintes…

Concernant le forum, avez-vous déjà rencontré des difficultés avec le respect du code de conduite ?

La modération sur le forum est obligatoire, les spammeurs sont très nombreux et inventifs en réutilisant par exemple du contenu d’autres sujets. Aucun code de conduite n’a été formalisé.
Le forum ne tient plus que grâce à la présence d’un modérateur, je ne sais pas si cette partie du projet va perdurer.

Quel est votre modèle économique ?

Le projet est né comme un projet personnel et reste géré comme tel.
Je travaille chez Global Service Provider, une société de services et hébergement informatique, qui me permet de disposer gracieusement (Merci à eux) de machines virtuelles (VM), sauvegarde, monitoring pour le projet.
Diverses donations ponctuelles couvrent les frais des différents noms de domaine, mon équipement informatique personnel…

Au niveau personnel, quels logiciels libres utilisez-vous, sur quel système d’exploitation ?

À l’exception des raspberry pi sous Raspbian, les différents ordinateurs de la maison sont sous Fedora Linux.
J’utilise gnome comme environnement graphique, alpine et roundcube pour la messagerie, vim comme éditeur de texte, du docker avec moby, gcc, python…

Et au niveau professionnel ?

Mon ordi portable est aussi Fedora Linux.
Les serveurs Linux que mon équipe et moi gérons sont principalement sous AlmaLinux et Debian.

J’utilise tous les jours ansible (automatisation des configurations), git (versionning), netbox (gestion de datacenters), oxidized (sauvegarde réseau), mediawiki (documentation)…

Merci pour votre disponibilité, et pour ces merveilleux outils !

Commentaires : voir le flux Atom ouvrir dans le navigateur

Actualité : Disney+ : des chaînes en continu Marvel et Star Wars bientôt sur la plateforme ?

La guerre du streaming fait rage plus que jamais, et les plateformes se doivent de trouver de nouveaux leviers pour conserver leurs abonnés, et en gagner de nouveaux. Dans ce contexte, le service Disney+ a annoncé qu'il se dotera avant la fin de l'année de nouvelles chaînes en continu centrées sur des thématiques fortes, et notamment sur les franchis...

Le MMORPG Ryzom fête ses 20 ans !

En 2004 naquit un jeu au potentiel extraordinaire, sous le regard enthousiaste de ses créateurs.

Après une enfance jalonnée d'embûches qui ont forgé son caractère et uni sa communauté, ce jeu convivial, à l'esprit libre, a su évoluer et toujours aller de l'avant grâce à l'implication de ses joueurs.

Et aujourd'hui, c'est avec émotion qu'il s'apprête à passer un nouveau cap.
Car oui, le temps passe si vite : Ryzom va fêter ses 20 ans !

Ryzom fête ses 20 ans en jeu, du 16 septembre au 5 octobre.

Pour l'occasion, 20 jours de festivités sont prévues en jeu sur l'île des 20 ans, du 16 septembre au 5 octobre 2024.
De nombreuses surprises sont au programme, ainsi que la venue d'anciens membres de Nevrax, le studio qui a développé le jeu.

Qu'est-ce que Ryzom ?

Ryzom est un MMORPG de science-fantasy basé sur un monde vivant unique : une planète-plante aux paysages envoûtants, sauvage, peuplée de mille dangers. Vous pouvez y incarner une des quatre races humanoïdes du jeu, contribuer à la reconquête de leur civilisation perdue et influer sur l'évolution du monde.

Jeu sandbox au PvP consensuel, au roleplay très présent et à la communauté mature, Ryzom a la spécificité de ne pas limiter ses personnages en classes et dispose d'un système évolué de récolte et d'artisanat. L'alignement des personnages sur une des nations et factions proposées peut évoluer pour mieux suivre le roleplay de chacun.

Timaris

Données techniques

Ryzom est jouable sous Windows, Linux et macOS. Son interface est disponible en allemand, anglais, espagnol, français et russe. Les chats en jeu sont traduits automatiquement dans la langue du client.

Tarifs

Ryzom est jouable en version gratuite jusqu'au niveau 125, sans limitation de temps.

Plusieurs tarifs d'abonnement sont proposés pour accéder à la version complète qui offre la possibilité d'atteindre le niveau 250, davantage de moyens de stockage et double la vitesse d'acquisition des points d'expérience.

Kami

Particularité

Ryzom est l'un des rares MMORPG commerciaux à être entièrement open source, sous licence AGPLv3 : client, serveur, outils et média, ce qui offre aux joueurs une opportunité unique de s'impliquer dans le développement du jeu, notamment à travers des projets libres Ryzom Core et Ryzom Forge.

Logo de Ryzom Core

Logo de Ryzom Forge

Commentaires : voir le flux Atom ouvrir dans le navigateur

Actualité : 10 ans de Netflix en France : 10 chiffres-clés pour comprendre le succès de la plateforme

Le 15 septembre 2014, la plateforme Netflix était lancée sur le territoire français. Une décennie plus tard, il est l'heure de dresser le bilan et de décrypter l'impact du géant du streaming dans l'Hexagone à travers dix chiffres importants.Nouveautés Netflix : les films, séries et documentaires à voir en streaming en septembre 2024Voici la liste com...

Actualité : Box-office : Beetlejuice 2 confirme son succès monstre, Speak No Evil démarre doucement

Le célèbre fantôme de Tim Burton continue d'effrayer les spectateurs américains... et la concurrence ! Beetlejuice Beetlejuice s'ancre à la première place du box-office américain grâce à un second week-end à 51,6 millions de dollars. De quoi largement s'imposer face aux nouveaux films de la semaine, Am I Racist ? et le thriller d'horreur Speak No Evi...

Célébrons les 21 ans des Linux-Meetup au Québec

🎉 Il y a plus de deux décennies, j’ai lancé mon tout premier Linux-Meetup à Montréal en mai 2003. Depuis, chaque premier mardi du mois, nous avons tenu 252 rencontres sans interruption, rassemblant des passionnés du monde Linux.

🚀 Le samedi 21 septembre 2024, nous fêterons 21 ans de partage autour de Linux et des logiciels libres au Québec ! Cet événement coïncide avec la Journée internationale des logiciels libres (SoftwareFreedomDay), offrant une visibilité mondiale inégalée. Ce sera l’occasion de célébrer cette communauté qui s’est agrandie au fil des années et de marquer cette étape importante dans l’histoire du logiciel libre.

📈 Chaque année, notre événement annuel devient de plus en plus grand grâce à l’appui de nos commanditaires. Avec une participation record de 150 passionnés l’an dernier et le soutien de 23 commanditaires visionnaires.

🌐 L’événement se tiendra en présentiel à l’école de technologie supérieure (ÉTS), à l’université et en virtuelle sur BigBlueButton, permettant à la communauté Linux francophone de participer d’où qu’elle soit.

💼 Si votre entreprise utilise Linux ou soutient les logiciels libres, c’est une occasion unique de promouvoir vos solutions et vos services auprès d’une audience ciblée et engagée. Rejoignez-nous comme commanditaire et bénéficiez d’une visibilité accrue au sein de la communauté. Contactez-moi rapidement pour discuter de votre participation !

🚩 Pour les plus aventureux, la cinquième édition de notre chasse au trésor informatique (CTF : CaptureTheFlag) sera de retour avec des défis inédits, conçus par Dominique Derrier et Pascal Gad. Cet événement interactif mettra vos compétences Linux à l’épreuve et promet des moments captivants pour les participants.

🗣️ Au programme : des présentations passionnantes des experts Linux, le CTF et des opportunités d’échanges avec la communauté, et bien plus encore.

🎟️ Ne manquez pas cette opportunité unique de vous inscrire et de découvrir l’agenda complet à https://www.rencontres-linux.quebec/event/21-ans-de-linux-meetup-au-quebec-1/

Commentaires : voir le flux Atom ouvrir dans le navigateur

Y a le Frido 2024 qu'est là

Le Frido est un livre de mathématique libre. Il est l'enveloppe convexe entre la matière de l'agrégation et les bases (axiomatique des ensembles non comprise). Autrement dit : il construit les ensembles de nombres, et va jusqu'au bout du programme de l'agrégation en bouchant tous les trous. En français, il comprend 2888 pages au 25 août 2024 et est publié sous licence FDL.

Sommaire

Images de couvertures

Les images de couverture proviennent de Pepper et Carrot.

Image de couverture du tome 1

(pour voir les couvertures des tomes 2, 3 et 4)

Elles sont aussi visibles via les sources évidemment.

Changements depuis l'année passée

Intégration sur variétés

J'ai décidé que la partie parlant d'intégration sur les variétés allait être laissée à l'abandon.

  • Elle ne sert qu'à démontrer le point fixe de Brouwer via Stokes. Trop compliqué, trop long, pas adapté au niveau visé.
  • La preuve de Brouwer continu est maintenant faite de façon plus conventionnelle.
  • La géométrie différentielle est développée dans la partie en anglais.

Dérivation

La définition de la dérivée d'une fonction \mathbb{R}\to \mathbb{R} n'est plus une définition «fondamentale». Les choses sont maintenant faites dans cet ordre :

  • Définition de la différentielle d'applications entre espaces de Banach.
  • Définition de la dérivée directionnelle comme application de la différentielle à un vecteur (la direction).
  • Définition des dérivées partielles comme cas particulier.
  • La dérivée «usuelle» est définition comme f'=\partial_1f.

Ce qui est marrant avec la dernière définition est que \partial_1 peut être interprété soit comme la dérivée partielle dans la première direction (il y en a une seule dans \mathbb{R}) soit comme la dérivée directionnelle selon le vecteur 1.

Théorème de Stokes

Le théorème de Stokes est démontré. C'est un assez gros morceau.

Ce qu'il y a de mieux qu'ailleurs

Le Frido se distingue d'autres livres de math en cela qu'il est meilleur sur certains points.

Certains détails sont traités correctement.

Je me demande si je suis le seul au monde à avoir remarqué que, quand on parle de l'extension de corps K[a], ce qu'on obtient dépend du corps ambiant dans lequel sont K et a.

Par exemple si je prend \mathbb{Q}[\sqrt{2}]… Il n'y a pas de problèmes à construire un sur-corps de \mathbb{Q} contenant l'élément \sqrt{2} dans lequel \sqrt{2}^2=3.

Ce genre de détails sont traités dans le Frido, l'exemple de \mathbb{Q}[\sqrt{2}] est donné en détail, et il est bien fait mention que la notation \mathbb{Q}[a] réfère toujours à des sous-corps de \mathbb{C}.

Notation pour les dérivées partielles

Considérez les trois fonctions suivantes : f,g,h:\mathbb{R}^2\to \mathbb{R} données par

f(x,y)=x\sin(y)

g(u,v)=u\sin(v)

h(y,x)=y\sin(x)

Est-ce que vous oseriez écrire f=g=h ? Si oui, c'est que vous pouvez remplacer «f» par «g» ou «h» partout. Alors que signifie \frac{\displaystyle\partial g}{\displaystyle\partial x} ?

Bien que ces infectes notations «\frac{\partial f}{\partial x}» soient utilisées à quelques endroits dans le Frido, je m'efforce à écrire (\partial_if) qui signifie la dérivée de f dans la i-ième direction.

Un minimum de notations

Bien que je sois un psychorigide sur les abus de notations, le Frido a une autre règle : utiliser un minimum de symboles difficiles à écrire. Tout doit pouvoir être écrit à la main sur des feuilles volantes dans le tram.

  • pas de gras pour les vecteurs (impossible à rendre à la main)
  • le même symbole «*» est utilisé pour \mathbb{K}^* pour dire \mathbb{K}\setminus\{0\} et dans E^* pour désigner le dual algébrique.

Variétés et cartes

D'habitude, on définit une variété comme étant un ensemble avec des cartes provenant d'ouverts de \mathbb{R}^n.

Or on définit quand même souvent des variétés avec des cartes ne provenant pas de \mathbb{R}^n. Par exemple lorsqu'on travaille sur des sous-groupes de Lie, on prend souvent la carte exponentielle provenant de l'algèbre de Lie.

Dans Giulietta (NdM : extension en anglais qui va de l’agrégation jusqu’à tout ce que l'auteur sait en mathématique), on définit correctement une variété comme ayant des cartes provenant d'ouverts d'espaces vectoriels normés quelconques. Il est alors démontré que toute telle variété est isomorphe à une variété avec des cartes de \mathbb{R}^n.

Je ne me souviens pas avoir vu cette subtilité traitée quelque part. Notons qu'avec cette définition, on ne peut plus parler de l'ensemble de toutes les cartes.

Citations

Le Frido cite (à peu près) correctement ses sources. Chaque théorème vient avec les sources qui ont contribué soit à l'énoncé soit à la preuve. Les inventions personnelles sont mentionnées très explicitement. Pas peur de citer wikipédia, des commentaires sur math.stackexchange.com ou d'autres sources moins conventionnelles que des livres.

Je suis souvent choqué étonné par la quantité de cours mis en ligne par des profs se contentant de citer trois livres en disant «pour en savoir plus, le lecteur pourra consulter les ouvrages suivants». Ensuite, on va se plaindre que si les étudiants ne citent pas leurs sources dans leurs mémoires, c'est du plagiat.

Le plagiat massif est simplement la norme dans les textes de math que les profs mettent dans les mains des étudiants.

ChatGPT

Cette année, ChatGPT entre dans la bibliographie. C'est lui qui a fourni une partie de la preuve que si f_1 et f_2 sont mesurables (depuis le même espace) alors le vecteur (f_1, f_2) est mesurable.

Il y a d'ailleurs une belle anecdote à ce sujet.

ChatGPT se contente de prouver correctement que le théorème est vrai sur les mesurables de la forme A_1\times A_2, et dit vaguement que si c'est bon sur une partie qui engendre la tribu produit, alors c'est bon pour toute la tribu. Typiquement le genre de trou dans la preuve que laisserait un humain.

Si vous voulez contribuer

Niveau facile

Lisez et écrivez-moi si vous trouvez une faute ou un passage pas clair. Critère : si vous êtes relativement bon en math et que vous mettez plus de 20 minutes sur une ligne, c'est qu'il y a un problème avec le texte.

Niveau intermédiaire

S'il manque une démonstration, rédigez-en une, faites une photo de votre feuille et envoyez-la moi.

Niveau difficile

  • Si vous êtes bon en géométrie différentielle, vous pouvez tenter de répondre à cette question:

https://math.stackexchange.com/questions/4917916/commute-two-sums-when-defining-integral-of-differential-manifold

Enjeu : toutes les définitions que je connais de l'intégrale d'une forme sur une variété sont fausses. Sauf celle que j'ai inventée moi-même.

  • Si vous vous y connaissez en processus de Poisson, vous pouvez répondre à cette question :

https://math.stackexchange.com/questions/4957480/density-of-the-vector-of-jump-times-in-a-poisson-process

Note : je ne suis même pas sûr que l'énoncé soit correct. La démonstration que je connais vient d'ici mais je ne suis pas convaincu.

  • Si vous être bon en probabilités, vous pouvez tenter de répondre à cette question :

https://math.stackexchange.com/questions/4961074/is-the-join-density-the-density-of-the-vector

Niveau supérieur

Vers la fin, il y a une section consacrée aux différentes propriétés et conjectures autour de la constante de Weiner. Si vous en connaissez d'autres, faites-le moi savoir.

LaTeX

Modifier l'environnement proof pour qu'il prenne un paramètre booléen optionnel inBook. Par défaut il vaut True et la démonstration est affichée. Si inBook est False, la démonstration n'est pas affichée. Au lieu de la preuve, il y a le texte «Voir la version en ligne : ».

La raison est expliquée plus bas.

Agreg (1)

Il me faut une liste des théorèmes dont les démonstrations peuvent être sautées pour un candidat à l'agreg. J'imagine que tout ce qui utilise explicitement le lemme de Zorn peut sauter, tout ce qui parle de topologie sur les espaces de distribution peut sauter, la partie sur les mesures peut partir, etc.

Pour la raison de ce besoin, voir plus bas.

Agreg (2)

Il me faut une liste de théorèmes qui peuvent servir de développements.

Contrainte

Je n'ai pas accès aux livres privateurs. Inutile de m'en conseiller un.

Ventes

Les chiffres

Précision sur le prix : le prix indiqué est le prix de vente côté imprimeur. Je ne gagne pas d'argent dessus. D'ailleurs je me demande bien qui achète le Frido …

Certes, le règlement de l'agrégation interdit les livres qui ne sont pas vendus (incidemment, les livres qui ne sont plus en vente sont interdits), mais j'ai du mal à croire qu'il y ait autant de monde qui utilise le Frido à l'agreg. Mais si ce n'est pas pour l'agreg, qui paye 100 euros pour avoir quatre briques de 6cm d'épaisseur A4 alors qu'on peut avoir un pdf sur un écran ?

Voici un tableau qui montre, pour chaque année, le nombre de livres vendus, et le prix total. Les cases avec un x correspondent au nombres dont je n'ai pas pris note.

année prix de tout le Frido Nombre de livres vendus
2016 x 51
2017 x 37
2018 x 30
2019 89,36 17
2020 x 32
2021 97,59 13
2022 x x
2023 106,79 16
2024 110,88

Au total, ce sont 196 bouquins vendus plus ceux de 2022 dont je n'ai pas pris note. On doit être un peu au-dessus de 200.

Précisions :

  • La ligne 2021 correspond au Frido 2021 vendu entre septembre 2021 et septembre 2022. Plus généralement, la ligne N correspond aux ventes entre septembre N et septembre N+1.
  • En 2019, il fallait payer 89,36 euros pour acheter les 4 Fridos. 17 livres ont étés vendus. Le fait que 17 ne soit pas divisible en 4 est dû au fait que le tome 2 a été acheté 5 fois, tandis que les autres ont été vendus 4 fois.

Une pensée à propos des prix

La page 77 du rapport 2023 indique qu'un livre n'est autorisé que s'il jouit d'une diffusion commerciale. La motivation est que :

Cette restriction est motivée par le principe d'égalité des candidats : les ressources documentaires autorisées doivent être facilement accessibles à tout candidat au concours.

Je ne sais pas si l'auteur de ces lignes avait l’accessibilité financière en tête en rédigeant cela. Si oui, alors le Frido est probablement le seul livre autorisé à l'agreg :)

Quoi qu'il en soit, le Frido commençant à dépasser les 100 euros, il y a un problème.

Pour faire baisser le prix, il faut baisser le nombre de pages.
Une piste serait de supprimer les démonstrations des théorèmes non nécessaires à l'agreg.

Pour cela il me faudrait les deux contributions LaTeX et agreg (1) dont je parle plus haut :

  • LaTeX : Une modification de l'environnement proof.

  • Agreg : il me faut une liste des théorèmes dont les démonstrations peuvent être sautées pour un candidat à l'agreg.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Soirée Open Networking le 26 septembre 2024 avec un cas d'usage à Rennes

Invitation de la 1ʳᵉ session technique sur l’Open Networking animé par Ouest Network : jeudi 26 septembre 2024 18h00 à Rennes (Siège d’Icodia).

  • 18h00 : Ouverture / Accueil des participants, moment d’échange convivial

  • 18h45 : Introduction Antoine Nivard Président Ouest Network

  • 19h00 : Témoignage d’Icodia : l’OpenNetworking en datacenter

  • 19h30 : Présentation de support OpenNetworking par l'intégrateur Pine Networks

  • 20h00 : Témoignage d’Icodia : présentation d’EndiGuard.VAC, solution de VAC algorithmique

  • 20h30 : Présentation de Ruijie Networks / Micas Networks et de leurs solutions réseaux Open Networking (SONiC).

  • 21h00 : Conclusion Antoine Nivard Président Ouest Network

  • 21h05 : Apéritif dînatoire / échanges

  • 22h00 : Clôture

L’objectif de la soirée
Faire découvrir l’approche et la solution OpenNetworking est production et démontrer que cette solution est prête pour toutes les entreprises.

L’Open Networking, c’est quoi : c’est d’abord séparer le matériel du logiciel/firmware. Cela veut dire que le matériel est « banalisé », standardisé.
Pour la partie logiciel/firmware, vous avez le choix entre plusieurs « distributions » selon vos besoins. Vous pouvez aller assez loin via des fonctions de Software Defined Network (SDN).
C’est le Libre pour le réseau !

Ouest Network c’est quoi : c’est une association a but lucratif qui gère le point d’échange de Nantes et qui gère cet événement. Nous regroupons une quinzaine de structures et nous sommes reliés au point d’échange de Rennes/Bretagne : Breizh-IX qui est partenaire de l’opération.

Icodia est un gros hébergeur rennais qui a des compétences particulières et qui utilisent principalement que des solutions « Libres ».

NdM  : les événements à portée locale et/ou sans diffusion en ligne ont vocation à être annoncés par l'Agenda du Libre (AdL), que nous relayons une fois par semaine. Cet événement n’étant pas actuellement déclaré dans l’AdL d’une part, et étant le premier sur un sujet qui n’est pas si fréquemment évoqué sur LinuxFr.org, la modération a choisi de diffuser l’annonce en dépêche. On aimerait bien plus de dépêches portant sur OpenDaylight, Open vSwitch, Sylva, etc.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Agenda du Libre pour la semaine 38 de l’année 2024

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 31 événements (France: 26, internet: 2, Québec: 2, Belgique: 1) est en seconde partie de dépêche.

Sommaire

[FR Montpellier] Radio FM-Plus | Temps Libre – Le lundi 16 septembre 2024 de 09h00 à 10h00.

Montpel'libre réalise une série d’émissions régulières à la Radio FM-Plus intitulées « Temps Libre ». Ces émissions sont la présentation hebdomadaire des activités de Montpel’libre.

Après le jingle où l’on présente brièvement Montpel'libre, nous donnerons un coup de projecteur sur les activités qui seront proposées prochainement.

Ces émissions seront l’occasion pour les auditeurs de découvrir plus en détails les logiciels libres et de se tenir informés des dernières actualités sur le sujet.

Alors, que vous soyez débutant ou expert en informatique, que vous ayez des connaissances avancées du logiciel libre ou que vous souhaitiez simplement en savoir plus, Montpel'libre, au travers de cette émission, se fera un plaisir pour répondre à vos attentes et vous accompagner dans votre découverte des logiciels libres, de la culture libre et des communs numériques.

Vous vous demandez peut-être ce qu’est un logiciel libre. Il s’agit simplement d’un logiciel dont l’utilisation, la modification et la diffusion sont autorisées par une licence qui garantit les libertés fondamentales des utilisateurs. Ces libertés incluent la possibilité d’exécuter, d’étudier, de copier, d’améliorer et de redistribuer le logiciel selon vos besoins.

Inscription | [GPS][30785_1] 43.60524/3.87336

Fiche activité:
[https://montpellibre.fr/fiches\_activites/Fiche\_A5\_017\_Emission\_Radio\_Montpellibre\_2024.pdf][30785_2]

[30785_1] : https://www.openstreetmap.org/#map=19/43.60524/3.87336
[30785_2] : https://montpellibre.fr/fiches_activites/Fiche_A5_017_Emission_Radio_Montpellibre_2024.pdf

[FR Grenoble] L’Atelier de Bidouille (ABIL) – Le lundi 16 septembre 2024 de 19h00 à 21h00.

L’Atelier de Bidouille Informatique Libre (ABIL) est ouvert à tous·tes les personnes qui n’arrivent pas à résoudre des problèmes avec leur ordinateur:

  • trouver et installer un logiciel
  • utiliser et/ou apprendre à utiliser un logiciel
  • réinstaller ou installer un système d’exploitation
  • monter un ordinateur
  • réparer un ordinateur
  • créer et/ou mettre à jour un site web *… ou d’autres choses sur un ordinateur

L’atelier permet de résoudre son problème en compagnie de bénévoles et des participants qui ne sont ni expert·e·s en informatique, ni réparateur·rice·s, mais qui ont l’habitude de la “bidouille” et seront là pour vous aider à trouver l’information là où elle se trouve (si elle existe).

Pendant les ateliers, l’ABIL met à disposition du matériel : postes de travail, unités centrales à remonter ou installer, écrans, claviers, souris, pièces détachées, connexion Internet…

Attention, l’ABIL ne met à disposition que des systèmes d’exploitation et des [logiciels libres][28975_1]. Si vous souhaitez résoudre un problème sur un système ou logiciel non-libre, apportez votre machine pour participer à l’atelier, muni des licences du système d’exploitation et/ou des logiciels concernés.

[28975_1] : https://www.gnu.org/philosophy/free-sw.fr.html

[internet] Émission « Libre à vous! » – Le mardi 17 septembre 2024 de 15h30 à 17h00.

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][30564_1].

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][30564_2], 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][30564_3]
  • d’une [lettre d’information à laquelle vous pouvez vous inscrire]30564_4
  • d’un [salon dédié sur le webchat de la radio][30564_5]

[30564_1] : https://cause-commune.fm
[30564_2] : https://www.libreavous.org
[30564_3] : https://libreavous.org/rss
[30564_4] : https://www.libreavous.org/listes-de-diffusion
[30564_5] : https://chat.libratoi.org/channel/libreavous

[FR Lyon] OpenStreetMap, rencontre mensuelle – Le mardi 17 septembre 2024 de 18h30 à 20h00.

Discussion entre contributeurs lyonnais du projet OSM et acteurs intéressés.

Toute personne intéressée par OpenStreetMap peut s’intégrer à cette rencontre, tout particulièrement les débutants qui souhaiteraient des conseils pour se lancer.

Ordre du jour à compléter : [https://wiki.openstreetmap.org/wiki/FR: Lyon/Reunion-2024-09-17][30708_1]

Lieu de réunion : **Tubà, 15 boulevard Vivier-Merle, Lyon 3ᵉ***.*

[30708_1] : https://wiki.openstreetmap.org/wiki/FR: Lyon/Reunion-2024-09-17

[FR Le Mans] Permanence du mercredi – Le mercredi 18 septembre 2024 de 12h30 à 12h30.

Assistance technique et démonstration concernant les logiciels libres.

Il est préférable de réserver votre place à contact (at) linuxmaine (point) org

Planning des réservations consultable[ici.][30493_1]

[30493_1] : https://linuxmaine.org/spip.php?rubrique6

[FR Mauguio] GNU/Linux et Logiciels Libres – Le mercredi 18 septembre 2024 de 17h00 à 19h00.

Venez découvrir GNU/Linux et vous faire aider pour l’installation et à la prise en main, dans différents lieux de l’Hérault.

L’équipe de Montpel’libre vous propose une permanence Logiciels Libres: discussions libres et accompagnement technique aux systèmes d’exploitation libres pour vous aider à vous familiariser avec votre système GNU/Linux au quotidien.

Le contenu de l’atelier s’adapte aux problèmes et aux questionnements des personnes présentes avec leurs ordinateurs, qu’ils soient fixes ou portables. Il permet ainsi l’acquisition de nouvelles compétences nécessaires à une autonomie numérique certaine, au rythme de chacun.

Les personnes débutantes souhaitant découvrir GNU/Linux et apprendre à l’installer et à s’en servir. Les personnes plus expérimentées à la recherche d’une aide technique pour résoudre des problèmes spécifiques. Cet atelier s’adresse à un public adulte et capable d’utiliser un ordinateur.

Possibilité d’installer les variantes d’Ubuntu (Gnome), Ubuntu Mate, Xubuntu (Xfce), Lubuntu (LXDE, LXQt), Kubuntu (KDE Plasma), Ubuntu Budgie. Ubuntu Unity, Ubuntu Cinnamon.

[FR Beauvais] Sensibilisation et partage autour du Libre – Le mercredi 18 septembre 2024 de 18h00 à 20h00.

Chaque mercredi soir, l’association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l’utilisation des logiciels libres, que ce soit à propos du système d’exploitation Linux, des applications libres ou des services en ligne libres.

C’est l’occasion aussi de mettre en avant l’action des associations fédératrices telles que l’April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

[FR Amiens] Atelier LibreOffice Writer – Le mercredi 18 septembre 2024 de 18h00 à 20h00.

Le mercredi 18 septembre 2024, de 18h à 20h, rejoignez nous pour un atelier d’initiation et approfondissement sur le module de traitement de texte de Libreoffice Writer.

L’atelier se déroulera à la Maison du Colonel (60 square Friant les Quatre chênes), à Amiens.

[FR Nantes] Contribatelier – Le mercredi 18 septembre 2024 de 18h30 à 20h30.

Les [Contribateliers][30673_1] sont des événements conviviaux pour pouvoir contribuer ensemble à la culture libre*.

Si vous avez envie de contribuer à Wikipédia, mettre à jour la carte OpenStreetMap (alternative à Google Maps) près de chez vous ou encore découvrir des outils respectueux de vos données personnelles ? Les Contribateliers sont ouverts à toutes et à tous, quelles que soient vos envies et vos compétences !

*Culture libre : La culture libre est un mouvement social qui promeut la libre distribution et modification des œuvres de l’esprit par l’utilisation d’internet et d’autres formes de médias. Le mouvement de la culture libre puise sa philosophie dans celle du logiciel libre en l’appliquant à la culture, dans des domaines aussi variés que l’art, l’éducation, la science, etc.

Gratuit, pas d’inscription requise.

[30673_1] : https://contribateliers.org/trouver-un-contribatelier/les-contribateliers-nantais/

[FR Moncheaux] Mercredis Linux – Le mercredi 18 septembre 2024 de 19h30 à 23h30.

[L’Association Club Linux Nord Pas-de-Calais][30765_1] organise chaque mois une permanence Logiciels Libres ouverte à tous, membre de l’association ou non, débutant ou expert, curieux ou passionné.

Durant cette permanence, vous pourrez trouver des réponses aux questions que vous vous posez au sujet du Logiciel Libre, ainsi que de l’aide pour résoudre vos problèmes d’installation, de configuration et d’utilisation de Logiciels Libres.

N’hésitez pas à apporter votre ordinateur, afin que les autres participants puissent vous aider.

Dans une salle équipée d’un tableau blanc et d’un vidéoprojecteur, se dérouleront fréquemment des ateliers, des initiations, des discussions, des tests, des démonstrations, de l’entraide abordant le logiciel libre tout cela autour d’un moment convivial.

Cette permanence a lieu au préfabriqué à côté de l’école au 20 rue de Bouvincourt, Moncheaux

[30765_1] : http://clx.asso.fr

[internet] Ajouter un en-tête personnalisé à sa publication web Scenari – Le jeudi 19 septembre 2024 de 17h00 à 18h00.

On expliquera comment ajouter un en-tête statique dans une publication web d’un modèle Scenari, via la réalisation d’un skin.

L’idée est de proposer quelque chose comme l’en-tête que l’on peut trouver sur le site [scenari.org][30760_1] (en plus simple).

Si vous avez des attentes particulières ou des questions sur le sujet traité, répondez à [ce message][30760_2], ça nous aidera à coller au mieux aux besoins.

[30760_1] : http://scenari.org/
[30760_2] : https://forums.scenari.org/t/mini-webinaire-31-ajouter-un-en-tete-personnalise-a-sa-publication-web/9161

*
* https://scenari.org/visio/miniwebinaire
* scenari, visio-conférence, en-tête, personnalisation, publication, web

[FR Bordeaux] Préparation des rencontres du libre – Le jeudi 19 septembre 2024 de 18h00 à 19h30.

,

Nous organiserons une rencontre des acteurs du libre qui aura lieu le jeudi 19 septembre à 18h00 au café associatif le Petit Grain, place Dormoy dans le quartier de la gare à côté de Barbey.

C’est une réunion de préparation pour mettre en place un point de rencontre physique sur le Libre en général (logiciel, informatique, culture, art, matériel Libres; open data, neutralité du net, vie/données privée(s) et toute réflexion visant à libérer la société…)

L’objectif de ces futures rencontres serait de recevoir des débutants:
- qui se demandent s’ils peuvent utiliser Linux,
- qui l’ont installé, mais ont un problème,
- qui voudrait en savoir plus sur l’utilisation de la June (Ĝblabla),
- que faire avec l’espéranto,
- comment protéger sa vie privée sur téléphone, quel système alternatif choisir
-…

Mais aussi une rencontre physique pour les initiés qui pourront échanger sur leurs expériences, organiser un évènement, initier de nouveaux projets…

[FR Paris] Guix@Paris – Le jeudi 19 septembre 2024 de 19h00 à 22h00.

Rencontres mensuelles autour de [Guix][30664_1].
Venez découvrir, discuter et contribuer à Guix dans une ambiance conviviale.

Il n’y a pas d’expérience pré-requise et vous êtes tout·es les bienvenu·es.

Programme

Les soirées se déroulent en 3 temps :

  • 19h-20h : accueil et discussions libres ;
  • 20h-21h : présention autour d’un sujet spécifique suivie d’une session de questions/réponses ;
  • 21h-22h : ateliers de contribution et discussions libres.

Bien sûr, les horaires sont donnés à titre complètement indicatif ! _'

Logistique

S’inspirant des apéro’ April, chacun·e est invité·e à amener un petit quelque chose à manger et/ou à boire afin de pouvoir partager avec les autres participant·es.

Accès

Nous serons accueilli·es dans les locaux de l'[April][30664_2], elle-même hébergée par [Easter-eggs][30664_3] :

Association April
44/46 rue de l’Ouest (cour intérieure)
Bâtiment 8
75014 Paris

Stations de Métro : Gaîté, Montparnasse, Pernety.
OpenStreetMap : <[https://www.openstreetmap.org/node/3199095063][30664_4]>.

Au plaisir de vous y rencontrer !

[30664_1] : https://guix.gnu.org
[30664_2] : https://april.org
[30664_3] : https://easter-eggs.com/Presentation-d-Easter-eggs
[30664_4] : https://www.openstreetmap.org/node/3199095063

  • April, 44-46 rue de l’Ouest, Paris, Île-de-France, France
  • guix, guile

[FR Montpellier] L’apéro des quatre libertés – Le jeudi 19 septembre 2024 de 19h00 à 21h00.

[L’Apéro des Quatre Libertés][30788_1] reprend, interprète et autant que faire se peut, augmente les travaux de l’[April][30788_2], de [La Quadrature Du Net][30788_3], de la [Free Software Fondation, la Free Software Fondation Europe][30788_4] et bien d’autres Les exégètes amateurs ou Open Law…
Cet [apéro][30788_5] a lieu le troisième jeudi de chaque mois.

Ce rendez-vous est « hybriditiel » ou « hybridiciel », c’est-à-dire qu’il sera à la fois en présentiel et en distanciel.

Les discussions de ce mois-ci se porteront sur l’actualité du moment.

Entrée libre et gratuite sur [inscription][30788_6]. Une simple [adhésion][30788_7] à l’association est possible. Rejoindre le groupe Montpel’libre sur [Telegram][30788_8] S’inscrire à l’[Infolettre][30788_9] de Montpel’libre.

[Tramway][30788_0] lignes 1 et 3, arrêts Port-Marianne et Rives du Lez
GPS Latitude : 43.603095 | Longitude : 3.898166
Carte [OpenStreetMap][30788_1]

[30788_1] : https://montpellibre.fr/spip.php?rubrique166
[30788_2] : https://montpellibre.fr/spip.php?rubrique133
[30788_3] : https://montpellibre.fr/spip.php?rubrique144
[30788_4] : https://montpellibre.fr/spip.php?rubrique146
[30788_5] : https://montpellibre.fr/spip.php?article2302
[30788_6] : http://montpel-libre.fr/spip.php?article2787
[30788_7] : http://montpel-libre.fr/stock/documents/Adhesion/montpellibre_adhesion_2021.pdf
[30788_8] : https://t.me/joinchat/L4OEvBM00vzNuIpOnFeQ-Q
[30788_9] : https://framalistes.org/sympa/info/montpellibre_info
[30788_0] : http://tam.cartographie.pro
[30788_1] : http://www.openstreetmap.org/way/76169350

[FR Chambéry] Forum ALPINUX – Le jeudi 19 septembre 2024 de 20h00 à 22h00.

Tous les 1ᵉʳ et 3ᵉ jeudis du mois, Alpinux organise des rencontres à la Dynamo de Chambéry.

A ces occasions une présentation est proposée. C’est aussi l’occasion d’échanger sur des projets, des problèmes rencontrés…

Comme toujours covoiturage possible.

[FR Montpellier] Quadrapéro – Le jeudi 19 septembre 2024 de 20h20 à 21h00.

Afin de se rencontrer, d’échanger et de faire plus ample connaissance, Montpel’libre lance de nouvelles rencontres surnommées les Quadrapéros. C’est l’occasion pour les neurones de toutes parts de se réunir physiquement pour discuter, échanger et partager un verre et de quoi grignoter.

Ce rendez-vous est « hybriditiel » ou « hybridiciel », c’est-à-dire qu’il sera à la fois en présentiel et en distanciel.

Les Quadrapéros auront lieu tous le 3ᵉ jeudi de chaque mois. Ils sont l’occasion de discussions informelles d’une part et de discussions plus sérieuses sur les différents thèmes d’importance et les différentes actions et campagnes en cours.

Tout le monde est invité aux Quadrapéros, qu’on soit contributeur ou contributrice de longue date, simple intéressé par les sujets que défend la Quadrature, ou nouvel arrivant cherchant à participer davantage. N’hésitez pas à amener vos amis et à leur faire découvrir La [Quadrature][30790_1] et [Montpel’libre][30790_2].

Peuvent être aussi abordées des questions sur [Les exégètes amateurs][30790_3] ou [Open Law][30790_4].

Les discussions de ce mois-ci se porteront sur l’actualité de moment.

Entrée libre et gratuite sur [inscription][30790_5]. Une simple [adhésion][30790_6] à l’association est possible.

[Tramway][30790_7] lignes 1, 2, 3 et 4, arrêts Gare Saint-Roch
GPS Latitude : 43.60285 | Longitude : 3.87927
Carte [OpenStreetMap][30790_8]

[30790_1] : https://www.laquadrature.net
[30790_2] : http://montpel-libre.fr
[30790_3] : https://exegetes.eu.org
[30790_4] : http://openlaw.fr
[30790_5] : http://montpel-libre.fr/spip.php?article2787
[30790_6] : http://montpel-libre.fr/stock/documents/Adhesion/montpellibre_adhesion_2021.pdf
[30790_7] : http://tam.cartographie.pro
[30790_8] : https://www.openstreetmap.org/?mlat=43.60286& mlon=3.87927#map=19/43.60285/3.87927

[CA-QC Montréal] Montréal Python – MP106 – Le jeudi 19 septembre 2024 de 17h00 à 20h30.

English description below.

C’est le retour de Montréal Python ! Rejoignez-nous le 19 septembre pour une soirée dédiée à Python ! Nous vous préparons un programme riche avec des présentations passionnantes.

Programme:

  • 17h00 : Accueil et réseautage. Une occasion idéale pour échanger avec d’autres passionnés.
  • 18h00 : Début des présentations. Deux sessions sont au programme, couvrant les nouveautés et projets Python, pour une durée totale de 1h à 1h30, questions incluses.
  • 19h30/20h00 : Suite du réseautage, pour approfondir les discussions et partager vos idées.
  • 20h30 : Clôture de l’événement, mais les échanges continuent souvent après !

L’événement est chaleureusement accueilli par NAD, que nous tenons à remercier sincèrement pour leur hospitalité et leur soutien.

Conférencier : À venir!
Envie d’être conférencier à cet évènement ou au prochain? [Faites nous signe en complétant ce formulaire!][2711_1]

Participez à cette rencontre Montréal Python pour découvrir, apprendre et réseauter. Plus de détails à venir. Nous avons hâte de vous y voir !

L’évènement sera également disponible en ligne et sera bilingue!


Montreal Python is back ! Join us on September 19th for an evening dedicated to Python! We are preparing a rich program with exciting presentations.

Program:

  • 5:00 PM: Welcome and networking. An ideal opportunity to connect with other enthusiasts.
  • 6:00 PM: Start of presentations. Two sessions are on the agenda, covering the latest Python news and projects, for a total duration of 1 to 1.5 hours, including questions.
  • 7:30/8:00 PM: More networking, to deepen discussions and share your ideas.
  • 8:30 PM: Event close, but conversations often continue afterwards!

The event is warmly hosted by NAD, to whom we extend our heartfelt thanks for their hospitality and support.

Speaker : Coming soon!
Want to be a speaker at this event or the next one? [Let us know by filling out this form!][2711_1]

Join this Montréal Python meet-up to discover, learn, and network. More details to come. We look forward to seeing you there!

The event will also be available online and will be bilingual!

[2711_1] : https://forms.gle/cpkAcHFds6KXa2tM6

[BE Antoing] Atelier Linux – Le vendredi 20 septembre 2024 de 18h00 à 20h00.

Antoinix est un groupe d’utilisateurs de logiciels libres (G.U.L.L.) situé à Antoing, en Belgique.

Nous proposons des ateliers de niveau débutant et avancé un vendredi sur deux de 18 à 20h. Les participants peuvent amener des sujets à aborder pendant les ateliers.

Si vous souhaitez participer à nos activités, nous vous conseillons d’avoir une connaissance générale dans l’utilisation d’un ordinateur, notre vocation n’étant pas l’apprentissage des bases de l’informatique. Nous ne sommes pas non plus un atelier de support informatique Windows ou Mac.

Bon à savoir : notre atelier se déroule dans une salle au nombre de places limitées, au maximum nous pouvons accueillir 6 à 7 personnes. Si vous souhaitez participer à nos ateliers merci de nous envoyer un mail à l’adresse ci-dessous.

[FR Montpellier] Cinélibre | LOL – Logiciel libre, une affaire sérieuse – Le vendredi 20 septembre 2024 de 19h00 à 21h00.

Soirée proposée par [Montpel’libre][30653_1], en présence de [Myriam CRIQUET][30653_2] présidente de [API : Action of Public Interest][30653_3] et Juriste en propriété intellectuelle, [Pascal ARNOUX][30653_4] librosophe et président de [Montpel’libre][30653_5]et Emmanuel ROGER Autoentrepreneur et Montpel'libriste.

Déroulement de la soirée:
19h00 présentation des animateurs et du film
20h00 projection du film
21h00 débat

« LoL, une affaire sérieuse » est un film documentaire sur le logiciel libre réalisé par François ZAÏDI et coécrit par Thierry BAYOUD et Léa DENEUVILLE.

Le logiciel est la base de l’informatique, outil indissociable de nos sociétés modernes. Un téléphone portable, un réfrigérateur ou une voiture sont devenus des objets largement informatisés. Ces logiciels sont composés de code appelés code source. Or, depuis les années 70, ce code informatique a été caché par les fabricants, car source de profits. À l’heure où les cinq plus grosses capitalisations boursières mondiales sont Google, Apple, Facebook, Amazon et Microsoft, les populations sont-elles au fait de l’impact que leur usage du numérique a sur leur vie ? Et si nos utilisations logicielles venaient compromettre notre sécurité personnelle ? Et qu’en est-il de nos États?

L’ambition du documentaire est de faciliter à tout utilisateur de services numériques la compréhension des concepts du Libre, à travers le montage d’interviews de quatorze acteurs du Libre d’horizons divers.

Sorti il y a maintenant quelques années, le film-documentaire « Lol, une affaire sérieuse » s’inscrit aujourd’hui dans les rares long-formats traitant du sujet du numérique et de ses enjeux socio-politiques.

57 minutes et l’ambition de mettre au clair le concept de logiciel libre, tout d’abord pour les néophytes utilisant un ordinateur quotidiennement mais n’ayant pas, ou peu, de notion en la matière, mais aussi pour les libristes plus expérimentés désireux d’en apprendre un petit peu plus. Un film a objectif pédagogique, donc, mais pas uniquement pour le public. Thierry Bayoud, co-auteur du documentaire, explique que la motivation qu’il eut à transmettre les idées du libre lui est venu en découvrant lui-même ces alternatives, en 2010, et en passant plus de deux ans à en comprendre le fonctionnement et les enjeux (code source, logiciels, impact et risques de l’informatique).

[30653_1] : http://montpel-libre.fr
[30653_2] : https://www.myriamcriquet.fr/
[30653_3] : https://apifr.org/
[30653_4] : https://montpellibre.fr/spip.php?article603
[30653_5] : https://montpellibre.fr/

[FR Annecy] Réunion hebdomadaire AGU3L Logiciels Libres – Le vendredi 20 septembre 2024 de 20h00 à 23h59.

L’AGU3L, Logiciels Libres à Annecy, votre association se réunit tous les vendredis à partir de 20h00 et jusque vers 1h00 du matin. Passez quand vous voulez.

Entrée par le côté, entre les 2 bâtiments. Au fond du couloir à droite, là où il y a de la lumière.

⚠️ Vérifiez sur le site avant de vous déplacer, y a un bandeau en haut qui confirme la tenue de la réunion.

Le programme de la réunion, s’il y en a un, est sur notre site. 😉 ⬇️

Digression possible, voire probable.

Vous pouvez aussi nous soumettre un programme sur un thème particulier.

Exemples:

  • Libre Office les listes à puces, j’aimerais en savoir plus
  • Pouvez-vous nous présenter le système Linux pour les débutants ?
  • plus technique : recompiler un noyau Linux avec les options spécifiques
  • Kubernetes est-ce pour moi ?
  • Démo sur un logiciel libre en particulier, ex : Gimp
  • Ou votre logiciel que vous souhaitez partager
  • À l’aide ! 😱 pas de panique, on a probablement une solution pour vous.
  • Vous développez du code libre ? oui
  • etc, etc.

Apportez à boire, à manger. Un ordi ça peut aider.
De la bonne humeur et un brin de Liberté.
Et tout ce que vous trouvez sympa : des amis, des projets, des trouvailles, etc.

Besoin d’une installation Linux?

Pas de problème ! Laissez-nous un petit message avant au cas où l’on soit pas dispo ce soir-là.

C’est install party à la demande!

[FR Amancy] Rencontre Autour des Logiciels Libres – Le samedi 21 septembre 2024 de 09h00 à 12h00.

Rencontre mensuelle autour des logiciels libres, en toute simplicité.

Ces matinées seront ce que nous en ferons ensemble, selon vos attentes:

  • Découverte des logiciels libres dont Linux et de leur intérêt. Utilisation sur place.
  • Installations, sur votre machine (pensez à sauvegarder vos données avant de venir avec) ou sur des PC fournis pour apprendre ensemble sans risque.
  • Préparation d’une clé USB pour tester Linux chez vous, l’installer ou alors pour utiliser des logiciels libres sans installation sous Windows.
  • Entraide, suivi de votre expérience avec les logiciels libres.
  • Nous pourrons aussi nous intéresser aux outils en ligne, aux smartphones, ou nous amuser à redonner vie à de vieux PC un peu obsolètes, à reconditionner des ordinateurs pour des associations ou personnes avec peu de ressources, etc.

Pour tout projet qui risque de prendre un peu de temps, il est préférable de nous contacter avant.

Les débutant·e·s sont les bienvenu·e·s ! Les autres aussi, bien évidemment.

À bientôt, lors de nos Rencontres
Autour des
Logiciels
Libres, pour une
Informatique
Emancipatrice et
Solidaire!

[FR Paris] Journées Open Food Facts – Du samedi 21 septembre 2024 à 09h00 au dimanche 22 septembre 2024 à 17h00.

En cette année olympique pour la France 🇫🇷🏅, Open Food Facts célèbre ses champions – les membres de sa communauté à travers le monde !

Il n’y a pas de meilleur moment que ce week-end pour se rencontrer, plonger plus profondément dans Open Food Facts, apprendre et construire ensemble !

Au programme : présentation éclaires, atelier de conception et de réalisation, jeux, moments conviviaux.

[FR Villeneuve d’Ascq] Ateliers « Logiciels Libres » – Le samedi 21 septembre 2024 de 09h00 à 12h00.

L'[OMJC][30767_1], en partenariat avec [l’Association Club Linux Nord Pas-de-Calais,][30767_2]organise chaque samedi, Libre à Vous, une permanence Logiciels Libres ouverte à toustes, débutant ou expert, curieux ou passionné.

Vous souhaitez tester GNU/Linux sur votre ordinateur, vous recherchez un logiciel pour une fonction précise, des conseils ou de l’aide sur les logiciels libres?

Libre à Vous est une permanence destinée à vous faciliter l’utilisation de l’informatique. Vous repartirez avec « le plein » de logiciels libres, fiables, évolutifs, performants et gratuits.

Ça se déroule chaque samedi matin (hors vacances scolaires) au Centre d’Infos Jeunes, à la ferme Dupire, 80 rue Yves Decugis à Villeneuve d’Ascq (métro Triolo) de 9h00 à 12h00.

Entrée Libre. Tout Public.

[30767_1] : https://www.omjc-info.fr/atelier-prtic
[30767_2] : http://clx.asso.fr

[FR Beauvais] Réaliser un flyer avec LibreOffice Draw – Le samedi 21 septembre 2024 de 09h30 à 12h00.

En présentiel ou en [visio][30462_1]

Au programme apprentissage de LibreOffice Draw (source : [https://help.libreoffice.org/6.1/fr/text/sdraw/guide/main.html)][30462_2]:

  • Édition et groupement d’objets
  • Disposition, alignement et répartition des objets
  • Fondu enchainé de deux objets
  • Dessiner des secteurs et segments
  • Duplication d’objets
  • Groupement d’objets
  • Combinaison d’objets et construction de formes
  • Connexion de lignes
  • Assemblage d’objets 3D
  • Rotation d’objets
  • Édition des couleurs et des textures
  • Définition de couleurs personnalisées
  • Remplacement des couleurs
  • Création de remplissages de dégradé
  • Ajouter du texte
  • Fontwork pour les graphismes
  • Utilisation des couches
  • Application d’une conception de diapo à une diapo maitresse
  • Modification du remplissage d’arrière-plan de la diapo

Tutoriels : https://www.oisux.org/index.php/les-supports/documentation/la-bureautique

[30462_1] : https://url.oisux.org/samedi-du-libre
[30462_2] : https://help.libreoffice.org/6.1/fr/text/sdraw/guide/main.html)

[FR Nantes] La balade de la Data – Le samedi 21 septembre 2024 de 10h00 à 17h00.

Saviez-vous qu’au quotidien tout le monde « rencontre » des sources potentielles de données, faciles à trouver et intéressantes à intégrer dans la [carte collaborative libre OpenStreetMap][30693_1] ?

À l’occasion de la [Nantes Digital Week][30693_2] les contributeurs nantais vous invitent à une collecte ludique d’informations destinées à améliorer la carte.

Cette sortie se présentera sous la forme d’une « balade cartographique » en extérieur.

À l’aide d’applications pour smartphones, simples d’usage, vous apprendrez à enrichir la carte directement depuis le terrain.
La méthode « classique » (prise de notes, croquis et photos) de collecte d’informations vous sera également montrée. Vous pourrez donc l’utiliser elle aussi.

En pratique:

  • Pas de réservation obligatoire pour cette animation, mais pour des questions d’organisation une prise de contact par e-mail à l’adresse mail de contact est recommandée.
  • Apportez vos smartphones et tablettes et/ou de quoi prendre des notes, des photos.

Les départs de la balade pourront se faire à la demande sur toute la durée de la manifestation.

[30693_1] : https://openstreetmap.org
[30693_2] : https://nantesdigitalweek.com

[FR Ivry sur Seine] Cours de l’École du Logiciel Libre – Le samedi 21 septembre 2024 de 10h30 à 18h30.

Présentation de l’E2L

Quel est le rôle de l’école du logiciel libre?

Tout d’abord, ce n’est pas une école comme les autres. Elle n’a pas d’établissement fixe, pas de cours de récréation, pas de carte d’étudiant, ni de diplôme de fin d’année.

Comme toutes les écoles, son rôle est d’apprendre à ses élèves les logiciels libres, c’est-à-dire:

  • comment en trouver de bons parmi les nombreux sites qui en proposent,
  • comment en prendre possession en fonction des licences,
  • comment les installer en fonction de ses besoins,
  • comment les tester et les utiliser,
  • comment en comprendre le fonctionnement pour ensuite les modifier,
  • comment écrire ses propres logiciels libres.

En fait, l’école du logiciel libre est une université populaire, comme celles qui ont vu le jour en France à partir du 19ᵉ siècle, et dont le but est de transmettre des connaissances théoriques ou pratiques à tous ceux qui le souhaitent. Et pour atteindre ce but, sa forme juridique est de type "association à but non lucratif".

Comment fonctionne l’école?

Cette école étant une association, elle possède, comme toutes les autres, un bureau, élu chaque année en assemblée générale, pour l’administrer. Mais elle a aussi des responsables pédagogiques dont le rôle est essentiel, car ce sont eux qui établissent les programmes des cours en fonction des souhaits des adhérents, valident les candidatures des enseignants et affectent les sessions.

Les membres du bureau et les responsables pédagogiques forment « l’encadrement de l’école ». Tous les membres “encadrants” doivent être membres de l’association.

Les locaux où se déroulent les cours seront ceux que l’on veut bien nous prêter : une salle des fêtes, un théâtre, une salle de réunion publique, un amphi dans une école publique, ou autre.

Les thèmes des cours sont définis par les adhérents en fonction de leurs envies, de leurs besoins. Les cours sont ensuite décidés par les responsables pédagogiques de l’école en fonction des enseignants disponibles.

Afin de permettre au plus grand nombre de participer et d’assister aux cours, les sessions se tiennent essentiellement le samedi. Une première, sous forme d’atelier public, de 10h30 à 13h, et une autre, sous forme de cours, de 14h30 à 18h30.

Programme détaillé sur le site [http://e2li.org][30500_1]

[30500_1] : http://www.e2li.org/rwd.php

[FR Ramonville Saint-Agne] Les ateliers du CULTe – Le samedi 21 septembre 2024 de 14h00 à 18h00.

Le CULTe est le « Club des utilisateurs de logiciels libres et de gnu/linux de Toulouse et des environs ».

Le samedi après-midi tous les quinze jours, le CULTe organise un atelier d’informatique “libre”, de 14h à 18h.

La séance est consacrée à l’information du public, à l’entraide entre membres et/ou visiteurs pour notamment installer et configurer des logiciels libres, système d’exploitation (“Linux”) ou “applications” (programmes informatiques).

L’entraide peut également concerner le matériel afin d’aider le membre ou le visiteur à faire évoluer son ordinateur (ajout de mémoire, changement de disque dur…), étant précisé que si des avis peuvent être bien entendu émis pour de tels achats, le CULTe quant à lui n’a aucune activité commerciale, directe ou indirecte.

Chacun peut amener son ordinateur pour la séance. S’il s’agit d’une « Unité Centrale » (Ordinateur de bureau) il est inutile d’amener également écran clavier et souris, qui peuvent être prêtés sur place. Au besoin nous pourrons aussi vous prêter une machine pour la séance.

Afin de préparer votre venue, nous vous recommandons vivement de nous prévenir par courrier électronique en expliquant succinctement votre projet ou votre besoin à l’adresse suivante:

president@o2.culte.org

L’adhésion au CULTe n’est en aucun cas obligatoire pour participer à nos activités.

NB : Les personnes qui souhaitent adhérer ou faire un don peuvent bénéficier d’un reçu fiscal en vue d’une réduction d’impôt (66 % en 2022) notre association étant reconnue « Organisme d’Intérêt Général » éligible au mécénat. (Rescrit fiscal 2021/228)

PS : Notre club met à la disposition de tous une liste de discussion dédiée à l’informatique “libre”: « linux31@culte.org ». Vous pouvez sans attendre demander à y être inscrit pour, le cas échéant, y exposer une difficulté et bénéficier de l’aide et de conseils d’une centaine de participants. Il vous suffit de vous rendre à cette adresse et d’y formuler votre demande d’inscription:

[https://sympa.culte.org/sympa/subscribe/linux-31?previous\_action=info][30678_1]

[30678_1] : https://sympa.culte.org/sympa/subscribe/linux-31?previous_action=info

[FR Paris] Passage de Fairphone 2 et SIII à Postmarket OS – Le samedi 21 septembre 2024 de 14h00 à 16h00.

Découvrir PostmarketOS à travers le changement de système d’exploitation d’un Fairphone2 et d’un Galaxy SIII.

Le samedi 21 septembre de 14h à 16h un atelier changement de système d’exploitation de smartphones avec PostmarketOS sera organisé à la [Maison de la Vie Associative et Citoyenne de Paris XIe][30694_1].

La Demo portera sur un Fairphone 2 avec en exercice pratique un Samsung Galaxy S III. Ouvert en présentiel ainsi qu’en distanciel (adresse communiquée après inscription) à tous dans la limite des places disponibles pour le présentiel et l’intérêt pour des lignes de commandes sur un terminal!

L’atelier permettra notamment de:

  1. Montrer les deux techniques pour installer pmOS : en utilisant une ROM pre-built (S III) et en buildant nous-même l’image (FP2).
  2. Comparer avec d’autres OS et expliquer les particularités de pmOS.
  3. (Possiblement) évoquer la question de la fiabilité de l’électronique de seconde main et échanger sur les tests contrôle qualité post process.

Nous contacter via email (contact@electrocycle.co) pour réserver votre place en présentiel (3 places restantes) ou en distanciel.

[30694_1] : https://www.paris.fr/lieux/maison-de-la-vie-associative-et-citoyenne-du-11ᵉ-arrondissement-3279

[FR Toulouse] Cartographie des transports en commun – Le samedi 21 septembre 2024 de 14h00 à 18h00.

Le groupe Openstreetmap de Toulouse vous invite à découvrir la cartographie des transports en commun.

Les transports en commun permettent de déplacer des centaines de milliers de passagers chaque jour sur la métropole de Toulouse. La cartographie de ce réseau est importante pour de nombreux usagers : découvrir et prévoir ses itinéraires (par exemple en prenant en compte l’accessibilité), comprendre les points à améliorer, etc.

Nous vous invitons à découvrir la cartographie collaborative des transports en commun à travers OpenStreetMap. Avec son métro, son tram, son téléphérique et ses nombreuses lignes de bus, la carte du réseau bouge régulièrement et a aujourd’hui besoin d’être mise à jour.

Durant cet après-midi, nous découvrirons ensemble les données ouvertes de la métropole et la façon de corriger les données dans OpenStreetMap. Nous discuterons de nos usages et en partageant nos expériences, nous pourrons découvrir de nouveaux outils pour utiliser ces données au quotidien et les améliorer en continu.

Nous accueillerons aussi volontiers les personnes ne venant pas de Toulouse, pour qu’elles puissent répliquer cet effort chez elles. Vous pouvez également participer même pour une partie de la durée de l’événement.

Cet après-midi se déroule dans le cadre des rencontres mensuelles du groupe local de Toulouse, qui a lieu tous les troisièmes samedi de chaque mois à l’Artilect.

[FR Saint-Cyr-l’École] Assemblée générale Root66 – Le samedi 21 septembre 2024 de 17h00 à 20h00.

Root66 tiendra son assemblée générale annuelle : le samedi 21 septembre 2024 de 17h-20h

Ordre du jour

  • Rapport moral du président
  • Rapport d’activité
  • Approbation du rapport d’activité par l’assemblée
  • Rapport financier du trésorier
  • Approbation du rapport financier par l’assemblée
  • Élection des membres du Conseil d’Administration
  • Élection du bureau
  • Élection du trésorier et du président par le Conseil d’Administration
  • Projets d’activité
  • Questions diverses

Dans l’objectif de renforcer encore ses liens avec les d’utilisateurs de logiciels libres, l’AG de Root66 est ouverte à tous les utilisateurs, petits ou grands: P

[CA-QC Montréal] 21 ans de Linux-Meetup au Québec – Le samedi 21 septembre 2024 de 08h30 à 22h30.

Rejoignez-nous pour célébrer les 21 ans des Linux-Meetup au Québec!

Ce sera la [Journée du logiciel libre][2430_1]

Informations à suivre

Cette rencontre est gratuite et ouverte à tous, quel que soit votre niveau de compétence en Linux, du débutant à l’expert. Elle rassemble des personnes de diverses professions.

Cette journée mémorable sera l’occasion parfaite de célébrer ensemble notre engagement envers la liberté, l’innovation et la collaboration que Linux et les logiciels libres représentent. Rejoignez-nous pour continuer à faire de cette communauté un espace d’apprentissage, d’échange et de convivialité pour les années à venir.

Nous avons hâte de vous accueillir lors de cet événement unique ! Restez à l’affût des détails à venir et réservez la date. Ensemble, célébrons la passion pour Linux et les logiciels libres !

Martial

Organisateur des Linux-Meetup au Québec depuis 2003

Note: Nos conférences virtuelles utilisent 100 % de logiciels libres, notamment [BigBlueButton][2430_2] sous Linux, et sont hébergées au Québec chez [OVHcloud][2430_3] (sur des serveurs de la compagnie Services-Conseils Linux Inc.).

P.S.: Pour le transport en commun : [Station de métro Bonaventure][2430_4]

[2430_1] : https://www.softwarefreedomday.org/
[2430_2] : https://bigbluebutton.org/
[2430_3] : https://www.ovhcloud.com/fr-ca/bare-metal/
[2430_4] : https://www.stm.info/fr/infos/reseaux/metro/bonaventure

Commentaires : voir le flux Atom ouvrir dans le navigateur

Parcours libriste avec lareinedeselfes — « Libre à vous ! » du 3 septembre — Podcasts et références

Deux cent dix-huitième émission « Libre à vous ! » de l’April. Podcast et programme :

  • sujet principal : Parcours libriste avec lareinedeselfes
  • chronique F/H/X de Florence Chabanois sur le thème « Formulations excluantes et invisibilisantes »
  • chronique À la rencontre du libre de Julie Chaumard sur le thème « Les-Tilleuls.coop - Une coopérative basée sur le logiciel libre »

Rendez‐vous en direct chaque mardi de 15 h 30 à 17 h sur 93,1 MHz en Île‐de‐France. L’émission est diffusée simultanément sur le site Web de la radio Cause Commune. Vous pouvez nous laisser un message sur le répondeur de la radio : pour réagir à l’un des sujets de l’émission, pour partager un témoignage, vos idées, vos suggestions, vos encouragements ou pour nous poser une question. Le numéro du répondeur : +33 9 72 51 55 46.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Vidéos des dernières conférences : BreizhCamp, JDLL et transcriptions April

Ce qu’il y a de bien avec les « dernières conférences », ce qu’il y a souvent de nouvelles « dernières conférences ». Après PSES, MiXiT et OW2con (plus les transcriptions de l’April), voici une nouvelle fournée (probablement non exhaustive).

BreizhC@mp a publié ses vidéos des 26 au 28 juin 2024 à Rennes.

Les JDLL ont publié leurs vidéos des 25 et 26 mai 2024 à Lyon.

L’April a publié des transcriptions aux mois de juin (14 documents audio ou vidéo pour 13h10min), juillet (14 pour 12h02min) et août (13 pour 10h45min).

Commentaires : voir le flux Atom ouvrir dans le navigateur

Nouveautés de septembre 2024 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.

À 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

Prochain mini-webinaire : « Ajouter un en-tête personnalisé à sa publication web» 19 septembre

🖥️ Prochain mini-webinaire : « Ajouter un en-tête personnalisé à sa publication web» 19 septembre

La session aura lieu le mardi 19 septembre de 17h à 18h heure de Paris, à l’adresse https://scenari.org/visio/miniwebinaire.

Pour que la session colle au mieux aux besoins de la communauté, tu peux participer à ce fil de discussion sur le forum.

Les sessions précédentes sont sur la page dédiée de scenari.org et dans notre canal peertube.

Pour proposer des sujets, rends-toi sur ce fil de discussion.

Celui que beaucoup attendaient : LTI-suite

📣 Celui que beaucoup attendaient : LTI-suite

LTI-suite est un serveur d’écriture structurée et collaborative, couplé à un dépôt de documents et ressources.

Jusque-là rien de nouveau par rapport à un serveur Scenari-suite classique.

La grande nouveauté est que sur le dépôt de LTI-suite, il est possible de déposer des ressources SCORM exploitables par des plateformes d’apprentissage (LMS) via le protocole LTI. Plus besoin de déposer les paquets SCORM dans la LMS. Tout est plus fluide !

LTI-suite 1.0 est un projet en phase beta. Kelis est intéressée par vos retours éventuels afin de finaliser la version.

Ressources pour l'Apprentissage Par Problèmes

📣 Ressources pour l'Apprentissage Par Problèmes

Unisciel a créé une page dédiée à l'Apprentissage Par Problèmes (APP) : https://app.unisciel.org/

Il y a dans cette page notamment deux guides très bien faits :
* « Apprentissage par problèmes - Rédiger un PROSIT »
* « Apprentissage par problèmes - Animer un tutorat »

Tu peux créer des contenus selon cette modalité d'apprentissage avec l'extension Situation-problème pour Opale 4 (qui sera peut-être bientôt disponible pour Opale 5 et Opale 24).

Nous publieront bientôt la conférence que Julie Tardy a donné sur ce sujet aux Rencontres Scenari 2024.

Opale 24 entre en scène !

📣 Opale 24 entre en scène !

Opale 24 est sorti ! Entre autres nouveautés, tu trouveras :
* Typage personnalisé de ton contenu décuplé (tu en sauras plus quand on publiera la conférence sur la question)
* Possibilité d’insérer des exercices directement dans les grains de contenu (c'était une demande d'évolution de la communauté, comme quoi la place des évolutions c'est utile 😉)

La liste complète des nouveautés d'Opale 24 est disponible dans la documentation.

Radiographie de la communauté Scenari

📣 Radiographie de la communauté Scenari

Les informations proviennent de ce que les membres du forum Scenari ont auto-déclaré sur leur profil :
Contexte d'usage :
* Secteur public 44%
* Personnel 25%
* Entreprise 22%
* Association 9%
Domaine d'usage :
* Enseignement supérieur 33%
* Documentation 27%
* Enseignement professionnel 18%
* Enseignement primaire-secondaire 11%
* Information et communication 11%
Usage de Scenari :
* Je crée des documents avec Scenari 49%
* Je découvre 26%
* Je pilote des projets en lien avec Scenari 12%
* Je gère des SCENARIserver 7%
* Je crée des modèles avec SCENARIbuilder 3%
* Je crée des chartes graphiques avec SCENARIstyler 2%
* Je crée Scenari 2%

N'hésite pas à mettre à jour ton profil sur le forum !

Mets à jour tes applications Scenari

📣 Mets à jour tes applications Scenari

Nouvelle version de maintenance de la suite SCENARI (6.3.10). Quelques corrections sécuritaires et amélioration de la publication des listing informatiques.

Nouvelle version de Topaze (5.0.2). Liste des nouveautés sur le forum.

Une nouvelle version corrective de Dokiel est disponible : Dokiel 6.0.7 disponible en Français, Anglais, Portugais, Italien.

Cette version apporte :
* L’ajout d’une option pour ne pas redimensionner physiquement les images - utile pour les GIF animés ;
* Quelques corrections mineures dans l’éditeur.

Une nouvelle version de Optim  : Optim 24.0.1 est disponible. Cette version apporte entre autres l’ajout de tags Open Graph aux publications Web pour une meilleure intégration de liens fait sur les réseaux sociaux et autres plateformes.

Parallèlement, OptimPlus 24, une version plus complète de Optim, est maintenant disponible, offrant :

  • Des nouveautés dans la gestion de la bibliographie dans les publications PDF ;
  • La possibilité d’importer une bibliographie Zotero au format MODS directement par glisser-déposer ;
  • La possibilité d’ajouter des formules mathématiques écrites en LaTeX.

Enfin, pour les fans de lexiques et de thésaurus, une nouvelle version de maintenance de Lexico est disponible : Lexico 3.0.2. Cette version apporte une correction dans la publication PDF.

Le savais-tu ?

✨ Le savais-tu ?

Créer un lien web dans l'éditeur Scenari est probablement encore plus facile que tu ne le penses.

Il suffit de :
1. copier l'url que tu souhaites ajouter,
2. sélectionner la portion de texte qui doit porter le lien dans ton contenu,
3. et coller (ctrl+v). Une popup te demanderas si tu veux créer un lien ou copier le lien en texte brut.

On ne peut plus simple !

Créer un lien web dans l'éditeur Scenari

Tu peux retrouver cette astuce, et beaucoup d'autres, sur le forum.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Recommandations de lecture: RE2020, CSTB, STD, ACV, FDES, INIES, HQE, coup de gueule et FOSS

En passant dernièrement dans l’espace de rédaction de LinuxFr.org, au sujet de FreeCad 1.0 (dépêche en cours de rédaction, mais la RC1 est pour dans quelques jours), un intervenant parle de Gestion du Cycle de Vie d'un Produit.

Dans le domaine du bâtiment / BTP, on est en plein dedans et depuis quelque temps déjà. Effectivement, un logiciel libre comme FreeCad pourrait, à priori, tout à fait trouver sa place dans ce domaine, mais les obstacles sont nombreux et pour certains, très difficiles à surmonter.

Je vous propose un petit tour parmi ces acronymes pour vous en convaincre.

Et en commençant par un petit rappel à la loi si vous ne suivez pas l’actualité :)

    Sommaire

    La RE2020 est en vigueur

    RE2020

    C’est l'arrêté du 4 août 2021 qui a définitivement activé la Réglementation Environnementale 2020.

    Depuis le 1ᵉʳ janvier 2022, tous les nouveaux projets de construction de bâtiment doivent être conformes à la RE2020. Elle reprend dans son volet « Énergie » l’esprit de la Réglementation Thermique RT2012 (et des Réglementations Thermiques précédentes, RT2008, RT2004) en vigueur jusqu’à cette date. Elle y ajoute à présent un volet « bilan Carbone » sur le cycle de vie de l’ouvrage (50 ans minimum).

    Je vous recommande ce guide plutôt complet de 93 pages (à ouvrir et à garder sous le coude pour la suite ;).

    Remarque: Ce document (2.2 page 26/93) contextualise la RE2020 par rapport à la précédente RT2012.
    L’objectif initial des RT était (et est toujours) de réduire les pertes d’énergie entre l’intérieur et l’extérieur. Une bonne idée, tout le monde en convient.
    Les RT2004 et RT2008 étaient plutôt « prescriptives » (« obligation de moyens » dans le jargon du BTP) tandis que la RT2012 impose une « obligation de résultats » suivant des critères qui lui sont propres.

    Sur le site du Ministère du Développement durable, on peut trouver énormément d’infos utiles et ces liens spécifiques à la suite du propos :

    Bien que le mot logiciel ait attisé votre curiosité, parlons de la référence en matière de bâtiment en France: le CSTB.

    Le Centre Scientifique et Technique du Bâtiment (CSTB)

    Présentation

    Le Centre Scientifique et Technique du Bâtiment a été créé en 1947 et fonctionne aujourd’hui sous le statut d’Établissement Public à caractère Industriel et Commercial (EPIC). Son existence est entérinée dans le Code de la Construction et de l’Habitat, (en particulier, ses missions dans l’article 121-1)

    I.
    - réaliser ou faire réaliser des recherches touchant à la technique, l’économie, l’environnement, la performance énergétique, la qualité sanitaire, la sociologie et, plus largement, au développement durable dans la construction et l’habitat ;
    - réaliser, pour le compte des services du ministre chargé de la construction et des autres ministères, des études contribuant à la définition, la mise en œuvre ou l’évaluation des politiques publiques dans le champ de la construction et de l’habitat. En particulier, il participe aux travaux d’une commission, constituée auprès du ministre chargé de la construction par arrêté de ce ministre, et chargée de formuler les avis techniques et les documents techniques d’application sur des procédés, matériaux, éléments, ou équipements utilisés dans la construction, lorsque leur nouveauté ou celle de l’emploi qui en est fait nécessite une expertise collective pour en apprécier l’aptitude à l’emploi.

    Il contribue à la diffusion et à la valorisation des connaissances scientifiques et techniques en matière d’habitation et de construction durable produites dans le cadre de ses recherches et études, par des publications et toutes autres mesures appropriées, dont la normalisation. Il participe également, en liaison avec les services intéressés et sous le contrôle du ministre chargé de la construction, aux activités de coopération technique internationale concernant l’habitation et la construction. Il peut se voir confier toutes missions ayant trait à ces mêmes matières dans le domaine international.

    II. - Parallèlement à ses missions d’intérêt général décrites à l’article L. 121-1, le Centre scientifique et technique du bâtiment apporte son concours aux organismes, groupements, collectivités et personnes physiques ou morales qui le sollicitent pour des missions se rattachant à l’objet de ses activités, notamment par la réalisation de prestations d’études et de conseil, d’essais, et la délivrance de certifications.

    C’est donc un acteur incontournable dans le domaine de la construction tant son champ d’intervention est vaste.

    En particulier, en ce qui nous intéresse, il lui revient la responsabilité d’évaluer la conformité d’une application destinée à faire une étude RE2020.
    Cet audit par le CSTB dure de 3 à 7 mois et se réalise suivant des règles.

    En voici un extrait (page 14/16):

    12 TARIFS
    Tarif pour l’évaluation d’un logiciel thermique : 5 700 € HT, dont 700 € HT de frais administratifs.
    Tarif pour l’évaluation d’un logiciel environnement : 4 000 € HT

    Ce n’est pas donné, mais supposons que je sois riche et venons-en enfin à nos logiciels.

    Calculs « Partie énergie »

    C’est peut-être la partie la plus simple à priori puisqu’il n’y a pas de moteur de calcul à programmer. Il n’y en a qu’un seul et il est fourni par le CSTB en version compilée appliquant les règles dites « Th-BCE 2020 ».

    Cela tombe bien car l’annexe III le pavé décrivant les modalités du calcul fait plus de 1800 pages.

    La figure 1 sur la page 5 du règlement d’évaluation (voir ci-dessus) présente l’architecture globale d’une application. Elle consiste à arranger des données synthétiques sur l’ouvrage, dans un format XML en entrée du moteur et à présenter convenablement les synthèses des résultats en sortie.

    Ainsi, toutes les applications « pro » ne différent que par leur interface utilisateur. FreeCad est tout à fait adapté à agréger les données pour générer le XML attendu en entrée par le moteur de calcul. Le module « Schedule » de l’atelier « BIM » pourrait être une bonne base de départ.

    Mais il n’y a ni accès direct à ce moteur de calcul (distribué en tant que *.dll semble-t-il !), ni a sa documentation.

    Toutefois, le CSTB met gratuitement à disposition l’application (sous Windows donc) COMETH. Il faut ouvrir cette plaquette PDF de 2 pages pour trouver l’adresse mél à qui écrire pour savoir comment accéder à l’application.

    Th-BCE != STD

    À noter que les règles Th-BCE utilisées par le moteur de calcul et présentées dans l’annexe III demandent la saisie d’un nombre assez conséquent d’informations. Pourtant, à quelques modifications près, rien de nouveau sous le soleil, car ce sont sensiblement les mêmes que pour la RT2012.

    Elles permettent de qualifier, après un passage à la moulinette logicielle, la performance de l’enveloppe du bâtiment (grosso modo: isolation+fenêtres/portes+étanchéité à l’air) avec un Bbio, une consommation en énergie avec un Cep, etc qui devront respecter certains seuils (voir 4.1 page 49/93 du guide RE2020) pour avoir le certificat.

    C’est une méthode approchée qui n’a rien d’une Simulation Thermique Dynamique.

    Ainsi, concernant les scénarios d’occupation, pour les règles Th-BCE (voir page 10/93 du guide RE2020)

    …, il s’agit toujours de scénarios conventionnels et de profils moyens, de sorte que les résultats ne peuvent être utilisés comme outil de prédiction des consommations.

    Une STD prendra en compte les « vrais cas d’usage » en fonction de scénarios bien plus précis (comme la variation journalière et saisonnière de la fréquentation, de l’utilisation des équipements, des apports naturels solaires etc).

    Pour cela, le CSTB vend le logiciel TRNSYS v18 en 1ʳᵉ installation à 4 500 € HT.

    Calculs « partie Carbone »

    C’est un grand changement réglementaire qu’introduit la RE2020. L’objectif affiché par le législateur est celui de la lutte contre le réchauffement climatique et pour cela considère que le « bilan carbone sur le cycle de vie » est un bon indicateur.
    En vérité, le seul terme « Carbone » est un peu réducteur. Si le « bilan Carbone » est bien l’unique critère environnemental qu’il faudra respecter selon les termes de la RE2020, l’étude porte en elle-même sur 36 données environnementales (voir page 39/93 du guide RE2020):

    Le calcul réglementaire réalise donc simultanément le calcul de 36 indicateurs
    correspondant aux 36 indicateurs inclus dans les données environnementales

    NDR: tout est en place pour une prise en compte ultérieure par le législateur d’autres critères environnementaux (eutrophisation des sols, impacts sur l’eau…)

    Le calcul est on ne peut plus simple: récupérer les quantités des différents types de produits et les multiplier par les données environnementales correspondantes (à peu de choses près, voir illustration 12 page 56/93 du guide RE2020).

    Avant de quitter brièvement le CSTB et de partir à la recherche de ces « données environnementales », je signale que son logiciel COMENV fait ces calculs d’impact « Carbone ». Il faut ouvrir cette plaquette PDF de 2 pages pour savoir qu’il vous en coûtera 100 € HT/an et pour trouver l'adresse du formulaire de contact (mais il y a une erreur de certificat) !

    L’Analyse du Cycle de Vie (ACV)

    Si vous avez lu Gestion du Cycle de Vie d’un Produit, vous n’apprendrez pas grand-chose de plus en lisant la page Wikipedia pour l'Analyse du Cycle de Vie.

    Il s’agit du même concept: évaluer suivant différents indicateurs l’impact environnemental d’un produit sur l’ensemble de sa durée de vie.

    Les grandes étapes du cycle de vie d’un produit

    Dans notre cas il faut distinguer deux types d’ACV.

    ACV Globale

    C’est ce que fait la RE2020 (voir 4.2 page 53/93 du guide) en ventilant l’impact « carbone » sur les différentes étapes du cycle de vie de l’ouvrage et sur des indicateurs Ic.. hybrides décrivant la part des composants, du chantier, de l’énergie en exploitation, de l’eau en exploitation (page 39/93).

    ACV Unitaire

    Comme on l’a vu, la RE2020 s’appuie sur des quantités (que FreeCad pourrait provisionner) et des données environnementales unitaires pour un produit donné (ou d’un type, d’une gamme). Par exemple 1 m³ de béton, 1 m² de placo BA13, 1 kg de colle à placo, etc. Dans le jargon de l’ACV, c’est une UF, Unité Fonctionnelle.

    Ces données environnementales, dans le cadre d’une étude RE2020 proviennent de plusieurs sources tel que précisé dans cette note explicative page 3/10.

    L’esprit est que si le fabricant n’a pas fourni de données environnementales pour son produit, des valeurs par défaut ou forfaitaires sont prises en compte dans le calcul. Ces valeurs sont volontairement défavorables pour inciter les acteurs de la fourniture de « composants » à publier des FDES.
    (voir également page 43/93 et l’organigramme page 44/93 du guide RE2020)

    Les FDES

    Les Fiches de Déclaration Environnementale et Sanitaire sont donc la base d’une étude RE2020 sur son aspect environnemental.

    Pour plus d’info sur les FDES

    Elles doivent répondre aux exigences de la Norme NF EN 15804+A2 (Contribution des ouvrages de construction au développement durable - Déclarations environnementales sur les produits - Règles régissant les catégories de produits de construction), à retrouver sur la boutique de l’AFNOR.
    Oui, ce n’est pas donné pour à peu près 25 pages franchement pertinentes sur un total de 51.

    La Loi n’impose pas aux fabricants des produits utilisés dans une opération de construction à publier une FDES mais, comme on l’a vu, cherche à les y inciter.

    Pour faire établir une FDES, il faut passer par un organisme agréé comme le CSTB: https://www.cstb.fr/nos-offres/toutes-nos-offres/declaration-environnementale-fdes

    Le ticket d’entrée est à partir de 6 500 € HT d’après cette plaquette PDF.

    Exemple de FDES pour un complexe plaque de plâtre 13 mm + isolant de 140 mm:
    https://www.base-inies.fr/iniesV4/dist/infos-produit/40016

    Les 36 données environnementales sont dans l’onglet « indicateurs » et sont ordonnées de la manière suivante:

    • en catégories: Impacts environnementaux, Consommation des ressources, Déchets, Flux sortants, Stockage du carbone
    • et chaque indicateur est détaillé pour chaque étape de son cycle de vie.

    Le lecteur perspicace aura relevé dans les adresses la chaîne de caractères inies, alors allons-y.

    L’INIES

    La base de données environnementales

    Appelée INIES, elle permet de consulter les FDES. Elle est déclarée en accès libre. https://www.base-inies.fr/ vous renvoie l’erreur 403 de l’Apache « Tomcat » pas content, il faut aller librement sur https://www.base-inies.fr/iniesV4/dist/consultation.html .

    Pas mal de changements depuis mes dernières visites il y a 10 ans au moins.

    • l’interface s’est modernisée (javascript) pour le meilleur. Ça marche très bien.
    • il y a beaucoup plus de produits référencés.
    • il y a maintenant des « configurateurs »
    • mais malgré tout, en connaissant la diversité de l’offre, il reste plein de trous dans la raquette: https://www.inies.fr/la-re2020-booster-de-la-production-des-fdes-et-des-pep/ (fin 2023: 3630 FDES et 961 PEP seulement)
    • et puis comment utiliser tout ça dans le cadre de l’ACV Globale pour pouvoir vérifier la conformité à la RE2020 ?

    Le webservice de l’INIES

    Par un service web bien entendu: https://www.inies.fr/programmes-et-services/le-webservice-des-donnees-numerisees/

    Il faut d’abord demander l’accès au service: https://www.inies.fr/ressource/formulaire-de-demande-dacces-au-webservice/

    Dans ce formulaire, le cas du logiciel libre est envisagé.
    Mais il faudra passer l’examen de la demande par le CSIB (d’après les CGV):

    Le Conseil de surveillance de la base INIES (CSIB) : désigne les membres constitutifs de ce comité qui définissent la politique générale en matière de contenu de la base INIES et approuvent les demandes d’accès au webservice.

    Plus d’informations sur la base INIES, son utilisation (stats et logiciels qui l’utilisent), les configurateurs de FDES, les PEP et l’ICV dans cette présentation synthétique de 35 pages.

    L’organisme INIES

    Organisation INIES

    Source: https://www.inies.fr/inies-et-ses-donnees/qui-sommes-nous/

    l’Alliance HQE-GBC a un rôle central aux côtés de l’AFNOR, du CSTB, de l’ADEME, de la FFB, de la CAPEB…

    HQE

    Logo marque HQE

    Source: https://www.hqegbc.org/qui-sommes-nous-alliance-hqe-gbc/usage-de-la-marque-hqe/

    Obtenir un label HQE est une démarche volontaire de la part du Maître d’Ouvrage (celui qui paye). Cela nécessite une certification délivrée par l’alliance HQE-GBC.

    J’en ai entendu parler (par la presse spécialisée) quand les premières certifications ont eu lieu vers 2005/2006

    https://www.hqegbc.org/qui-sommes-nous-alliance-hqe-gbc/notre-histoire-alliance-hqe-gbc/

    Quand soudain, patatras,

    Le coup de gueule de Rudy Riccioti

    Le bonhomme

    Résidence Argo

    Résidence Argo, Source: https://rudyricciotti.com/

    RR (son acronyme ;) est un architecte plutôt connu, qui aime le béton et a le verbe haut des gens du midi. Un sacré numéro.

    Comme d’autres qui ne sont pas du tout débordés dans leur vie de tous les jours (Ministre, moule de LinuxFr.org, etc), il aime aussi écrire: 14 bouquins pour sa part (!) dont

    La trilogie « HQE »

    Les liens sont vers le site Babelio

    1. HQE Transbordeurs (22/03/2007)
    2. HQE les renards du temple Al Dante (21/11/2009)
    3. HQE - La HQE brille comme ses initiales sur la chevalière au doigt Le Gac Press (25/04/2013) Le Gac Press (25/04/2013)

    Citations de Babelio aussi:

    « La HQE, véritable privilège des pays riches de niquer davantage la nature en paraissant vertueux. »
    R.R., conférence 12.07.27, Palembang

    « Le sigle le plus démagogue jamais inventé protège ses initiales, confirmant là ce désir de pouvoir sur un territoire d’intérêt public… »

    Ce que j’en pense

    C’est un pamphlet pas bien épais. Le numéro 2 est une version revue et légèrement augmentée du 1 (pour répondre à la polémique sans doute ;) et le troisième reprend les deux premiers en y ajoutant un épilogue.
    Comme conseil de lecture je dirais de prendre le trois.

    Le ton est incisif et rentre dedans jusqu’à parfois paraître outrancier. Mais sur le fond, l’essentiel du propos me semblait pertinent à l’époque: HQE, un lobby technico-scientifico-économique a mis la main sur une usine à gaz (qu’il va construire et imposer) qui demande à « numériser » l’acte de construire et à en décomposer le moindre élément constitutif (FDES, ACV).

    J’y ai vu « pff, encore plus d’informatique quoi ». La RT2012 (obligatoire contrairement à une labellisation HQE) étant dans les tuyaux à cette époque-là, il y avait déjà de quoi faire. RR y voit un appauvrissement des savoirs et de la créativité par des règles aux origines douteuses qui produiront des solutions technico-économiques toutes faites pour des résultats médiocres en tous points.

    RR a raison

    Source: https://qualiteconstruction.com/ressource/batiment/decollement-ite-renovation/

    Conseil de lecture: N’hésitez pas à visiter ce site, il regorge d’excellentes fiches techniques.

    Sur ce point, il est vrai que l’on voit pas mal d’immeubles de 10/15 ans d’âge dans un état assez pitoyable. C’est plutôt rageant.

    Ce qui est paradoxal dans le propos de RR, c’est que l’industrie du béton (qui pèse très lourd), son matériau de prédilection, a été en pointe sur ce sujet. Les premières FDES en étaient toutes issues (parpaing, bordure de trottoir, prédalle…) suivie par les plaques de plâtre et les isolants.
    Pour le premier concerné, le bilan carbone est au centre de ses préoccupations au vu des quantités astronomiques mises en œuvre et du mode de production du ciment, très énergivore. Être au plus près des faiseurs de lois était une décision naturelle. Avec ses gros moyens elle a pu s’adapter sans trop de mal à cette nouvelle donne.

    Aujourd’hui de quelques adhérents à HQE (c’est une association, rapport moral et activité 2023 en date de juin 2024) le panel s’est bien diversifié et on y trouve tous les aspects du métier.

    La base INIES s’est bien diversifiée et (cela m’intéresse) j’ai eu la bonne surprise de trouver cette FDES:

    https://www.base-inies.fr/iniesV4/dist/consultation.html?id=28898

    Mur en Adobe (Terre crue + paille + granulats éventuels)

    UF: Assurer la fonction de mur porteur sur 1 m² de paroi, pour une épaisseur comprise entre 14,5 et 35 cm, une conductivité thermique comprise entre 0,4 et 0,6, et une durée de vie de référence (DVR) de 100 ans.

    Cette FDES (que je vous recommande de lire si le(s) sujet(s) vous intéress(ent), elle est dans l’onglet « Documents ») est générique pour toute opération mettant en œuvre cette technique en France. Ce qui est remarquable.
    Elle est à l’initiative de la Confédération Nationale de Construction en Terre Crue.

    Une FDES doit être renouvelée et affinée, ils continuent donc de collecter des données relatives aux chantiers auprès des acteurs de la filière

    Lien vers le questionnaire

    Bravo les gars, avec peu de moyens ils ont fait rentrer une méthode de construction ancestrale et à l’impact carbone très faible dans l’ère de la numérisation à tout-va.

    Sur ces bonnes nouvelles, passons à

    La suite et la fin

    Formats ouverts IFC, BCF, le BIM, les BET, la MOE, et autres acronymes

    Dans une prochaine dépêche sans doute. On y retrouvera FreeCad. Il n’a pas dit son dernier mot.

    Et le logiciel pour faire l’étude et émettre des attestations RE2020 ?

    Aux problèmes d’accès aux ressources et services qui ont été abordés, il faut ajouter que les cahiers des charges sont bien entendu plus touffus que ce qui a été présenté et surtout, que la RE2020 évolue régulièrement. Par exemple ce qui y est intégré au fur et à mesure au nom du titre V (des systèmes: VMC, PAC… 66 à ce jour, chacun avec sa façon d’être pris en charge par la RE2020 pour calculer les différents Ic..)

    https://rt-re-batiment.developpement-durable.gouv.fr/titre-v-r322.html

    Question bonus

    https://mdegd.dimn-cstb.fr/tickets

    Il y a un lien avec le propos ci-dessus, lequel ?

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌