❌

Vue lecture

CryptPad 2025.3.0 est disponible

Nous venons de publier CryptPad 2025.3.0, suite collaborative chiffrĂ©e de bout en bout et open-source. Et, bien qu’il n’introduise pas de nouvelles applications majeures, il inclut d’importantes amĂ©liorations techniques, des corrections de bugs, et des ajustements de convivialitĂ©, en particulier pour les utilisateurs sur mobile ou avec des disques de grande taille.

Cette version marque Ă©galement le dĂ©but d’un effort de refonte plus large, visant Ă  rendre CryptPad plus rapide, plus modulaire, et plus facile Ă  maintenir et Ă  Ă©tendre au fil du temps.

Le document #1 et la présentation sont maintenant ouverts sur cryptpad.fr

De nombreux utilisateurs ont demandé le support des documents (DOCX/ODT) et des présentations (PPTX/ODP) compatibles avec Office.

GrĂące au travail de Wolfgang Ginolas, ces Ă©diteurs sont disponibles en beta sur cryptpad.fr (mĂȘme pour les utilisateurs gratuits) et font de CryptPad une alternative plus complĂšte pour la collaboration en ligne sĂ©curisĂ©e.

Vous pouvez commencer un document ou une prĂ©sentation sur cryptpad.fr (aucun compte n’est requis).

Meilleure performance, en particulier sur les mobiles et les grands comptes

Si vous avez dĂ©jĂ  attendu un certain temps pour que CryptPad se charge, en particulier lorsque vous travaillez avec un grand disque ou des dossiers d’équipe, cette version devrait faire une diffĂ©rence notable.

Nous avons restructurĂ© la façon dont les blocs et les dossiers sont chargĂ©s : au lieu de tout charger en mĂȘme temps, CryptPad donne maintenant la prioritĂ© au document que vous ouvrez, les autres contenus se chargeant en arriĂšre-plan. Cela signifie :

  • dĂ©lai plus court pour la premiĂšre interaction lors de l’ouverture d’un bloc-note,
  • moins de retard lors de l’accĂšs aux dossiers partagĂ©s et aux disques d’équipe,
  • une expĂ©rience plus rĂ©active sur les appareils mobiles.

Ce travail prépare également le terrain pour de futures améliorations, comme une API JavaScript, qui permettrait aux applications tierces de se connecter plus facilement aux serveurs CryptPad.

Autres améliorations et corrections

Cette version comprend également :

  • nouveaux outils d’administration : les administrateurs peuvent maintenant ajouter ou supprimer d’autres administrateurs via l’interface,
  • amĂ©liorations de l’écran tactile dans Kanban et Forms,
  • amĂ©liorations de l’interface utilisateur pour les mobiles (meilleures dispositions, mode de prĂ©visualisation pour le code, boutons amĂ©liorĂ©s),
  • amĂ©liorations de l’accessibilitĂ©, en particulier dans le calendrier et l’interface d’administration,
  • corrections pour les tĂ©lĂ©chargements de fichiers OnlyOffice et amĂ©lioration des messages d’erreur dans plusieurs parties de l’interface utilisateur,
  • amĂ©liorations du backend et de l’utilisation de la mĂ©moire pour aider les instances Ă  s’adapter plus efficacement,
  • corrections de sĂ©curitĂ©. Si vous utilisez une instance CryptPad auto-hĂ©bergĂ©e, nous vous recommandons de la mettre Ă  jour dĂšs que possible,
  • pour une liste complĂšte des changements, consultez les notes de version.

Remarque : nous avions prĂ©vu de mettre Ă  niveau les Ă©diteurs OnlyOffice vers la version 8 dans cette version, mais nous travaillons toujours sur les problĂšmes d’intĂ©gration. Comme les mises Ă  jour de documents ne peuvent pas ĂȘtre annulĂ©es, nous attendrons et inclurons ce changement dans la version 2025.3.1, une fois qu’elle sera stable.

Statistiques du projet

Voici un rapide aperçu de la situation actuelle de CryptPad :

  • plus de 2 millions de pads ouverts par mois sur cryptpad.fr,
    • environ 200 000 utilisateurs par mois,
  • 55 000 utilisateurs avec des lecteurs personnels,
    • plus de 1 000 abonnĂ©s soutenant le projet,
  • plus de 1 400 instances CryptPad dans la nature.

Nous sommes reconnaissants Ă  la communautĂ© qui nous aide Ă  tester, Ă  rapporter les bugs, Ă  aider les autres et Ă  soutenir le projet par le biais de dons et d’abonnements.

Vous pouvez Ă©galement contribuer Ă  la viabilitĂ© financiĂšre de CryptPad. Si vous ĂȘtes un utilisateur individuel, vous pouvez faire un don via Open Collective ou en vous abonnant Ă  CryptPad.fr. Les organisations peuvent contribuer par le biais d’abonnements ou de parrainages de fonctionnalitĂ©s. Nous sommes totalement transparents sur notre financement et publions des mises Ă  jour annuelles sur le blog CryptPad.

Prochaines étapes

Nous continuons Ă  amĂ©liorer les performances, le support mobile et l’intĂ©gration d’OnlyOffice. Pour la prochaine version majeure (prĂ©vue pour l’étĂ© 2025), nous visons Ă  apporter plus d’amĂ©liorations en termes de convivialitĂ© et de qualitĂ© de vie dans tous les domaines.

Comme toujours, nous nous efforçons de faire de CryptPad une alternative solide et respectueuse de la vie privĂ©e aux outils bureautiques classiques ; quelque chose sur lequel les gens peuvent compter sans renoncer au contrĂŽle de leurs donnĂ©es.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Raspberry Pi 5, évolution ou révolution ?

Les mĂ©andres de l'espace de rĂ©daction sont parfois mystĂ©rieux. La rĂ©daction de certaines dĂ©pĂȘches s'Ă©talent parfois sur de long mois, parfois sans mĂȘme comprendre pourquoi la dĂ©pĂȘche ne part pas vers le stade de la publication. C'est ce qui est arrivĂ© Ă  cette dĂ©pĂȘche qui ne suit donc pas autant qu'elle aurait pu l'actualitĂ© de la sortie de la nouvelle mouture de la microcarte de la Fondation Raspberry Pi, qui porte le nom trĂšs original de Raspberry Pi 5. Cette dĂ©pĂȘche - qui nous offre une comparaison de cette nouvelle Ă©dition avec son illustre ancĂȘtre ainsi qu'une investigation de ses nouveautĂ©s - reste substantielle et il nous a semblĂ© qu'il valait mieux la publier mĂȘme tardivement plutĂŽt que de la plonger dans l'oubli Ă©ternel.

    Sommaire

    Cette dĂ©pĂȘche ne traitera pas de l’ensemble de ce que l’on peut faire, la prĂ©cĂ©dente dĂ©pĂȘche sur les SoC faite pour la sortie de la Raspberry Pi 4 est toujours d’actualitĂ© en ce qui concerne ces sujets.

    Comparaison entre Raspberry Pi 4 et Raspberry Pi 5

    Sorti en 2019, le RPi4 avait fait forte impression—mais quasiment en constante pĂ©nurie entre 2020 et 2023, il commençait par accuser le coup par rapport Ă  la concurrence du Rockchip RK3588 (Quad-core Cortex-A76 + Quad-core Cortex-A55).

    Aussi, la Raspberry Pi 5 introduit des avancĂ©es significatives par rapport Ă  la Raspberry Pi 4, dont le Tableau 1 prĂ©sente une synthĂšse des diffĂ©rences.

    Composants Raspberry Pi 4 Raspberry Pi 5
    SoC Broadcom BCM2711 Broadcom BCM2712
    CPU Quad-core Cortex-A72 (1.8 GHz) Quad-core Cortex-A76 (2.4 GHz)
    GPU VideoCore VI (500 MHz) VideoCore VII (800 MHz)
    Mémoire 1, 2, 4, 8 GB LPDDR4-3200 SDRAM 4, 8 GB LPDDR4X-4267 SDRAM
    Wi-Fi Dual-band 802.11ac Dual-band 802.11ac
    Bluetooth 5.0, BLE 5.0, BLE
    USB 2 USB 3.0, 2 USB 2.0, 1 Type-C port 2 USB 3.0, 2 USB 2.0, 1 Type-C port
    Stockage MicroSD MicroSD (SDR104âŸčR/W↗ˣÂČ) + ligne PCIe pour NVME M.2 SSD
    Ethernet Gigabit Ethernet Gigabit Ethernet
    Puissance Jusqu’à 7.5 W 2 modes : jusqu’à 15 W et jusqu’à 25 W
    Gestion HDMI 2 HDMI 2.0 (1 gĂ©rant 4k@60 Hz) 2 HDMI 2.0 (tous les deux gĂ©rant 4k@60 Hz)
    Format vidéo H.264 (AVC) H.265 (HEVC)
    PCIe Non 1 lane PCIe pour périphériques haute performance
    Bouton d’alimentation Non Oui

    Tableau 1 : comparatif des Raspberry Pi 4 et 5

    Détail des améliorations de la Raspberry Pi 5

    La Raspberry Pi 5 introduit des avancĂ©es significatives par rapport Ă  la Raspberry Pi 4, en particulier avec l’introduction du southbridge RP1. Voici une comparaison dĂ©taillĂ©e mettant en Ă©vidence les principales diffĂ©rences et l’impact du RP1 :

    • Processeur : La Raspberry Pi 5 est Ă©quipĂ©e d’un CPU ARM Cortex-A76, une amĂ©lioration substantielle par rapport au Cortex-A72 trouvĂ© dans la Raspberry Pi 4. Cette mise Ă  niveau fait que la Pi 5 est deux Ă  trois fois plus rapide que son prĂ©dĂ©cesseur.
    • RAM : La Raspberry Pi 5 utilise de la LPDDR4X-4267 SDRAM, nettement plus rapide que la LPDDR4-3200 SDRAM utilisĂ©e dans la Pi 4. Cette amĂ©lioration offre plus de bande passante, contribuant Ă  des performances globalement plus rapides.
    • Puissance graphique : La Raspberry Pi 5 dispose d’un GPU VideoCore VII plus puissant, cadencĂ© Ă  800 MHz et prenant en charge OpenGL ES 3.1 et Vulkan 1.2. C’est une avancĂ©e par rapport au GPU VideoCore VI de la Raspberry Pi 4, qui prend en charge OpenGL ES 3.1 et Vulkan 1.0. Le GPU de la Pi 5 comprend Ă©galement un nouveau processeur de signal d’image pour la gestion des donnĂ©es des camĂ©ras.
    • Chip RP1 Southbridge : La puce RP1 est une innovation majeure dans la Raspberry Pi 5. Elle agit comme un southbridge, gĂ©rant la plupart des fonctions I/O (entrĂ©e/sortie), rĂ©duisant ainsi la charge sur le CPU. Cela permet une augmentation de la bande passante I/O, bĂ©nĂ©ficiant aux dispositifs de stockage, USB et autres pĂ©riphĂ©riques.
    • Vitesse des cartes MicroSD : Le port microSD de la Pi 5 prend en charge le mode haute vitesse HDR 104 avec les cartes microSD UHS-1, offrant des vitesses de lecture de 80-90 Mbps, soit le double de la vitesse de 40-50 Mbps de la Pi 4.
    • Ports USB : Dans la Raspberry Pi 5, chacun des deux ports USB 3.0 dispose d’une bande passante dĂ©diĂ©e de 5 Gbps, grĂące Ă  la puce RP1. C’est une amĂ©lioration par rapport Ă  la Pi 4, oĂč les deux ports USB 3.0 partageaient la bande passante de 5 Gbps.
    • Connecteur PCIe : La Pi 5 inclut un connecteur PCIe (PCI Express), une nouvelle addition rĂ©pondant Ă  la demande pour des interfaces plus rapides. Cependant, l’interface PCIe de la Pi 5 n’est pas un connecteur M.2 standard ; elle nĂ©cessite un cĂąble ruban pour se connecter Ă  un HAT, et le dispositif M.2 se connectera au HAT. CaractĂ©ristiques
    • Un bouton marche/arrĂȘt : Eh oui, on est quand mĂȘme dans le 3ᔉ millĂ©naire ;-)
    • Alimentation : Tout comme la Raspberry Pi 4, la Raspberry Pi 5 utilise un connecteur d’alimentation au format USB Type-C. En revanche, doublement de la puissance oblige, la puissance nĂ©cessaire Ă  son fonctionnement passe de 7.5 W Ă  15 W, il faudra donc une alimentation en 3A minimum pour ĂȘtre tranquille. À noter que si vous souhaitez utiliser des pĂ©riphĂ©riques externes qui consomment beaucoup comme des disques durs ou SSD, il est conseillĂ© d’avoir une alimentation de 25 W (5A). La Raspberry Pi dĂ©tecte si l’alimentation fournit plus de puissance et passe la limite de consommation USB Ă  1,6A au lieu de 1,2A.

    Raspberry Pi 5 : Nouveau South Bridge RP1 vs Raspberry Pi 4

    Le RP1 est un contrĂŽleur d’entrĂ©e/sortie (I/O) conçu pour le Raspberry Pi 5, reprĂ©sentant le programme d’ingĂ©nierie le plus complexe et coĂ»teux entrepris par Raspberry Pi, avec un dĂ©veloppement s’étendant sur plus de sept ans et ayant coĂ»tĂ© environ 25 millions de dollars. Ce contrĂŽleur est le premier produit phare de Raspberry Pi Ă  utiliser une puce conçue en interne​.

    Architecture du South Bridge RP1

    — Description : Le RP1 est un southbridge de 12×12 mm avec un pas de 0.65 mm en BGA (Ball Grid Array), fournissant la majoritĂ© des capacitĂ©s d’E/S pour la Raspberry Pi 5.
    — CaractĂ©ristiques : Il comprend un point de terminaison PCIe 2.0 Ă  4 voies, un contrĂŽleur Ethernet MAC Gigabit et deux contrĂŽleurs hĂŽtes USB 3.
    — AmĂ©liorations : Plus du double de la bande passante USB utilisable par rapport Ă  la Raspberry Pi 4.
    — Documentation RP1 : RP1 Datasheet

    Sources des informations sur le RP1

    — L’article d’Eben Upton pour annoncer le RP1 : RP1 : the silicon controlling Raspberry Pi 5 (ce court article est accompagnĂ© d’une vidĂ©o YT de 35 minutes Ă  ce sujet, mais dont le contenu est reproduit textuellement en suivant un lien)
    — Lien direct vers la vidĂ©o YT : RP1 : the silicon controlling Raspberry Pi 5

    Impacts du RP1

    Le RP1 constitue une avancĂ©e importante, puisque les GPIOs “physiques” de la carte ne sont plus directement reliĂ©es aux GPIOs du microprocesseur et de leurs fonctions possibles (SPI/I2C/UART/I2S) attribuĂ©es par le fondeur dans le silicium.

    1. ConnectivitĂ© principale : Le RP1 se connecte Ă  un processeur d’application (AP) via un bus PCIe 2.0 x4, consolidant de nombreux contrĂŽleurs numĂ©riques et PHYs analogiques pour les interfaces externes du Raspberry Pi 5​​.
    2. ContrĂŽle du trafic : Le tissu interne du RP1 permet de prioriser le trafic en temps rĂ©el de la camĂ©ra et de l’affichage sur le trafic non en temps rĂ©el de l’USB et de l’Ethernet. Des signaux de qualitĂ© de service (QoS) sur le lien PCI Express soutiennent la priorisation dynamique entre le trafic provenant du RP1 et le trafic des maĂźtres de bus en temps rĂ©el et non en temps rĂ©el au sein de l’AP​​.
    3. FonctionnalitĂ©s supplĂ©mentaires : Pour une flexibilitĂ© maximale des cas d’utilisation, le RP1 dispose de plusieurs fonctionnalitĂ©s telles qu’un contrĂŽleur DMA Ă  huit canaux pour les pĂ©riphĂ©riques Ă  basse vitesse, trois PLL intĂ©grĂ©es pour la gĂ©nĂ©ration d’horloges vidĂ©o et audio indĂ©pendantes, un convertisseur analogique-numĂ©rique Ă  cinq entrĂ©es, 64kB de SRAM partagĂ©e, et des gĂ©nĂ©rateurs de base temporelle pour le rythme de la DMA ou pour le debouncing des Ă©vĂ©nements GPIO​​​​.
    4. Gestion des contrĂŽleurs de bus : Les modules de rĂ©gulation intĂ©grĂ©s Ă  chaque port de contrĂŽleur de bus permettent de surveiller ou de limiter leur comportement. Ces modules rĂ©gulent le flux de donnĂ©es selon le nombre de transactions en attente, assurent le respect des limites d’adresses AXI et PCIe, et disposent de compteurs statistiques pour Ă©valuer la qualitĂ© de service ou les performances.
    5. Interfaces clĂ©s externes : Le RP1 fournit des interfaces externes clĂ©s telles que deux contrĂŽleurs XHCI indĂ©pendants connectĂ©s Ă  un seul PHY USB 3.0 et un seul PHY USB 2.0, deux contrĂŽleurs de camĂ©ra MIPI CSI-2 et deux contrĂŽleurs d’affichage MIPI DSI connectĂ©s Ă  deux PHY transceivers MIPI DPHY Ă  4 voies partagĂ©es, et un contrĂŽleur d’accĂšs mĂ©dia (MAC) intĂ©grĂ© pour l’Ethernet Gigabit​​​​.
    6. CompatibilitĂ© et Ă©volution : Le RP1 maintient la compatibilitĂ© avec la gamme de fonctions offerte sur le Raspberry Pi 4 Model B, tout en permettant une Ă©volution vers des processus de gĂ©omĂ©trie rĂ©duite, sans avoir Ă  reproduire tous les Ă©lĂ©ments analogiques du systĂšme. Cela pourrait permettre Ă  changer plus facilement de fournisseur de SoC.

    Évolution des performances

    Afin de permettre de mieux visualiser les évolutions des performances Alasdair Allan a fait un benchmark complet dont certains éléments sont repris ici.

    Tout d’abord une analyse des performances du CPU avec geekbench. Les Figures 1 et 2 montrent une augmentation des performances en single core d’approximativement 2.2x,
    performances single core

    Figure 1. : Comparaison des performances single core entre RPi4 et 5
    performances multi core

    Figure 2. : Comparaison des performances multi core entre RPi4 et 5

    Compilation de différents benchmarks entre RPi 4 et 5

    Benchmark Unités Raspberry Pi 4 Raspberry Pi 5 Augmentation de Performance
    Sysbench Mono-Thread MBps 699 1041 x1,49
    Sysbench Multi-Thread MBps 2794 4165 x1,49
    Stress-ng Mono-Thread op/s 104,78 182,68 x1,74
    Stress-ng Multi-Thread op/s 413,12 737,21 x1,78
    Bzip Mono-Thread secondes 44,98 20,53 x2,19
    Bzip Multi-Thread secondes 28,59 14,36 x1,99
    Gimp Redimensionner secondes 67,01 29,95 x2,24
    Gimp Rotation secondes 77,24 32,77 x2,36
    Gimp Niveaux Auto secondes 80,52 34,64 x2,32
    Gimp Masque Flou secondes 115,16 49,71 x2,32
    Speedometer 2.1 score 20,5 62,5 x3,05
    Glmark2 score 97 202 x2,08
    Openarena Timedemo FPS 8,77 27,05 x3,08
    RAMspeed Écriture MBps 4391 29355 x6,69
    RAMspeed Lecture MBps 5902 27931 x4,73
    HDparm Lecture MBps 43,81 90,05 x2,06
    dd Écriture MBps 34,49 61,23 x1,78
    Iozone 4 K Écriture RAND MBps 9,38 15,22 x1,62
    Iozone 4 K Lecture RAND MBps 4,71 4,6 x0,98
    Temps de démarrage secondes 33,4 19,1 x1,74

    performances des I/O

    La Figure 3. issue du travail d’Adafruit permet de mettre Ă  jour le graphique sur la vitesse performance de la commutation des I/O proposĂ© dans la dĂ©pĂȘche sur la RPi4. La Figure 4. quant Ă  elle montre une lĂ©gĂšre amĂ©lioration de la performance par Watt sur le nouveau modĂšle.

    Titre de l’image
    Figure 3. Évolution de la vitesse de commutation d’une sortie numĂ©rique

    Titre de l’image
    Figure 4. Évolution de la performance en fonction de la puissance Ă©lectrique

    Interfaces USB et Ethernet

    — Interfaces: Le RP1 fournit deux interfaces USB 3.0 et deux interfaces USB 2.0, ainsi qu’un contrĂŽleur Ethernet Gigabit.
    — Source: Circuit Digest – The New Raspberry Pi 5 is here

    Le Gigabit Ethernet fourni par le RP1 est en tout point semblable Ă  celui du RBPi4 (voir : RP1 : the silicon controlling Raspberry Pi 5:

    Liam 13:21: So we’ve got the Ethernet MAC but not the PHY. So the Ethernet’s brought out to an RGMII interface, which then connects to an on-board Ethernet PHY.

    Eben 13:35: And this is a fairly similar architecture to Raspberry Pi 4, except that in that case, the MAC was in the Broadcom device, but there was still an external – in fact exactly the same external – PHY, [BCM]54213. Cool. So that’s the overall structure of the design.

    Interfaces MIPI CSI/DSI

    Ces interfaces d’entrĂ©e/sortie vidĂ©o peuvent ĂȘtre qualifiĂ©es d’historiques dans l’écosystĂšme RaspberryPi puisqu’elles sont prĂ©sentes depuis la version 1. Le RBPi5 apporte toutefois une nouveautĂ© assez remarquable par rapport Ă  ses prĂ©dĂ©cesseurs : au lieu d’avoir un port CSI (pour une camĂ©ra) et un port DSI (pour un Ă©cran), les ports du RBPi5 peuvent ĂȘtre configurĂ©s pour l’une ou l’autre fonction. Malheureusement, cela s’est traduit par des changements notables au niveau de la disposition des composants sur la carte, qui ne sont pas sans susciter quelques grincements de dents parmi les utilisateurs.

    Les points discutables/discutés

    Le réarrangement de la carte

    — Le port audio a disparu, pour laisser sa place au port MIPI DSI (qui peut faire CSI Ă  prĂ©sent), lui-mĂȘme remplacĂ©, au-dessus du lecteur de carte microSD, par un connecteur FPC exposant les lignes PCIe.
    — le port DSI est passĂ© de 15 pins Ă  22 pins (comme sur la carte CMIo4)
    — Et, encore une fois, les ports Ethernet et USB ont Ă©tĂ© inversĂ©s.

    Si cela ne pose pas de problÚmes particuliers pour un utilisateur lambda, de nombreux projets basés sur les cartes RasperryPi à la recherche de performance de calcul (et donc potentiellement intéressés par ce nouveau RBPi5) doivent entiÚrement revoir la conception de leur matériel.

    Le non réarrangement de la carte

    C’est un reproche que l’on peut trouver dans de nombreux tĂ©moignages : mettre un HAT (carte d’extension) sur un RBPi, juste au dessus du CPU, c’est un non-sens en termes de refroidissement (et ce, quelle que soit la version du RBPi).
    Mais, pour relativiser, on peut dire la mĂȘme chose de quasiment toutes les autres solutions alternatives au RBPi.

    Les limites du format carte de crédit

    Ce format (86x56 mm) est devenu une rĂ©fĂ©rence pour presque tous les acteurs du monde des SBC. Et donc, il s’agit lĂ  aussi d’un constat plus gĂ©nĂ©ral, non spĂ©cifiquement adressĂ© Ă  RaspberryPi. Mais sachant que ce sont les locomotives du marchĂ©, peut ĂȘtre pourraient-ils initier une nouvelle approche

    Certes, ce format permet d’élaborer des solutions compactes, mais l’on peut constater :

    — qu’augmenter la puissance et les fonctionnalitĂ©s des puces embarquĂ©es tout en restant sur ce format conduit Ă  un gaspillage inutile de ressources : il est en effet impossible d’implĂ©menter toutes les fonctionnalitĂ©s matĂ©rielles proposĂ©es par les puces sur une si petite surface, et par ailleurs il devient difficile de refroidir efficacement le systĂšme.
    — pour exposer le port PCIe, RaspberryPi a supprimĂ© le port audio, dĂ©placĂ© le port DSI ; mais pour alimenter le bouzin, il vous faut du 5V 4A. Ensuite un peu tout le monde se trouve plantĂ© lĂ  : dĂ©brouillez-vous.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    GNOME OS comme Linux idéal, partie 1 : la promesse de l'atomique

    Et si le systĂšme d’exploitation (OS) libre et souverain dont le monde a besoin Ă©tait basĂ© sur GNOME ? C’est ce que propose Thibault Martin dans un billet postĂ© le 28 fĂ©vrier 2025 sur son blog. L’idĂ©e est ambitieuse, et bien entendu elle peut froisser les gens qui prĂ©fĂšrent d’autres environnements de bureau, mais elle prĂ©sente l’intĂ©rĂȘt de s’appuyer sur deux tendances notables dans l’actualitĂ© rĂ©cente de Linux : l’avĂšnement des systĂšmes atomiques et la demande d’un OS dit “souverain”. Nous vous proposons, Ă  travers le billet de Martin, d’en apprendre plus sur ces deux tendances. Ce premier journal se concentre sur la premiĂšre : les systĂšmes atomiques, et le changement de paradigme qu’ils prĂ©figurent pour le bureau Linux.

    Sommaire

    De quoi ça parle ?

    Dans ce billet titrĂ© « Prosthetics that don't betray » (« des prothĂšses qui ne trahissent pas »), Thibault Martin, ancien membre de la fondation GNOME, appelle Ă  changer la gouvernance du projet pour se donner les moyens d’en faire un OS “indĂ©pendant” et prĂȘt Ă  l’emploi, financĂ© par l’Union europĂ©enne. Il est question ici de vendre des ordinateurs et des tĂ©lĂ©phones avec un systĂšme Linux prĂ©-installĂ© dessus, assemblĂ© par et basĂ© sur GNOME, indĂ©pendant de toute distribution existante, et le tout idĂ©alement financĂ© par l’Union europĂ©enne (« ça se verrait Ă  peine dans son budget », argue Martin).

    Pourquoi GNOME ? Parce que c’est l'environnement de bureau prĂ©fĂ©rĂ© de Martin, Ă©videmment. Il vante notamment sa bonne intĂ©gration au mobile : on l’ignore peut-ĂȘtre (car il reste nettement plus difficile d’installer un Linux sur un tĂ©lĂ©phone que sur un PC), mais les dĂ©veloppeurs GNOME travaillent depuis quelques annĂ©es Ă  rendre leurs applis adaptables aux petits Ă©crans. Il ne s’agit pas de versions diffĂ©rentes, mais bel et bien de vos applis de bureau, qui se redimensionnent automatiquement pour ĂȘtre utilisables Ă  l’écran tactile. Nick du Linux Experiment en a rĂ©cemment dit du bien dans une de ses vidĂ©os. Bien entendu, il existe d’autres interfaces mobiles dans le monde Linux, au hasard celle de KDE, Plasma Mobile. Mais ce n’est pas sur cet argument que cette dĂ©pĂȘche aimerait s’attarder ; plutĂŽt que de parler des avantages et inconvĂ©nients de GNOME sur les autres environnements graphiques libres, nous allons nous pencher sur deux autres idĂ©es avancĂ©es par Thibault Martin dans son billet, Ă  savoir :

    • pour ĂȘtre « utilisable par les masses », cet OS de rĂȘve doit adopter une technologie dite “atomique”
    • sa vocation principale sera d’échapper Ă  « l’hĂ©gĂ©monie amĂ©ricaine » et « sĂ©curiser la souverainetĂ© numĂ©rique de l’UE »

    Les OS atomiques, ou la promesse du Linux qui juste-marche

    C’était le 25 fĂ©vrier dernier, et il l’a dit au premier degrĂ© : "We believe that 2025 is truly the year of the Linux gaming desktop Â». Pourtant, Nirav Patel prĂ©cise bien cinq secondes avant que ses ordinateurs (il est le fondateur et le PDG de Framework) supportent aussi Windows. Mais il a l’air de sincĂšrement croire que cette annĂ©e, quelque chose de diffĂ©rent est en train de se passer avec le bureau Linux ; et sur la diapo oĂč est Ă©crite cette phrase, on peut voir les logos de Playtron OS et Bazzite, deux projets de Linux orientĂ©s “gaming”, mais qui prĂ©sentent aussi la particularitĂ© d’ĂȘtre basĂ©s sur Fedora Silverblue, sans doute le plus populaire des Linux atomiques.

    À moins que ce ne soit l’inverse ? Le 13 fĂ©vrier dernier, Jorge Castro, fondateur du projet Universal Blue (dont est issu Bazzite), montrait fiĂšrement les statistiques des appareils actifs sous Fedora atomiques (si vous ne le saviez pas, toutes les installations de Fedora envoient par dĂ©faut un signal anonyme aux serveurs afin d’ĂȘtre recensĂ©es). On y voit les machines sous Bazzite doubler de nombre entre octobre dernier et fĂ©vrier, dĂ©passant de loin les propres variantes atomiques officielles de Fedora (mais encore trĂšs loin derriĂšre “la” Fedora Workstation ordinaire, selon Castro).

    Évolution du nombre d’appareils actifs sous Fedora atomiques entre juillet 2024 et fĂ©vrier 2025

    Bazzite a tellement la cote qu’elle a Ă©tĂ© saluĂ©e comme « mettant la honte Ă  Windows » dans un article sur The Verge, ce qui est surprenant de la part d’un mĂ©dia tech “gĂ©nĂ©raliste” qui jusqu’à prĂ©sent n’avait d’yeux que pour les GAFAM et ne s’intĂ©ressait guĂšre au monde du libre. Il y a, bien sĂ»r, une explication simple Ă  ce succĂšs : Bazzite vise une niche particuliĂšre, celle des utilisateurs et utilisatrices de Steam Deck et autres consoles portables Ă  base de technologie PC, et on peut arguer que cette niche est non seulement en pleine croissance, mais aussi peut-ĂȘtre un peu dĂ©laissĂ©e par un Microsoft qui n’a pas encore bien optimisĂ© son Windows Ă  un tel cas d’usage. Ce serait comme attribuer la hausse des tĂ©lĂ©chargements de Linux il y a 15 ans Ă  la mode des netbooks. Mais nous aimerions arguer ici que le succĂšs de Bazzite est aussi dĂ» Ă  son choix technologique de bureau atomique.

    Pour rappel, “atomique” est l’expression qui tend Ă  remplacer celles d'“immuable” (traduction anglaise d'"immutable") ou "image-based", et qui dĂ©signe une façon bien particuliĂšre de construire et distribuer un systĂšme d’exploitation. SolĂšne Rapenne propose une dĂ©finition dans un billet de 2023, oĂč elle rĂ©sume les principes essentiels des systĂšmes immuables :

    • les mises Ă  jour systĂšme ne sont pas effectuĂ©es sur le systĂšme en cours d’utilisation (celui-ci n’est jamais censĂ© changer, d’oĂč le qualificatif d'“immuable”)
    • les modifications de paquets sont appliquĂ©s au prochain dĂ©marrage (mais pas celles des Flatpak par exemple)
    • vous pouvez revenir en arriĂšre (roll back) et restaurer le systĂšme dans l’état exact oĂč il se trouvait avant une mise Ă  jour

    Les systĂšmes atomiques peuvent avoir chacun leurs particularitĂ©s : ainsi, NixOS (lisez Ă  son sujet notre rĂ©cente dĂ©pĂȘche), Endless OS, les images Universal Blue, Vanilla OS, MicroOS ou encore AerynOS, mais aussi ChromeOS et Android ne fonctionnent pas tout Ă  fait de la mĂȘme façon, bien qu’ils partagent ces trois principes en commun. Mais le gros joueur dans ce domaine, c’est Fedora : Renault nous expliquait il y a bientĂŽt cinq ans comment les expĂ©rimentations du projet ont donnĂ© naissance Ă  Silverblue et comment ce dernier s’utilisait. Depuis, Silverblue a Ă©tĂ© dĂ©clinĂ© en versions Plasma, Sway, Budgie et bientĂŽt COSMIC et Plasma Mobile ; certaines de ses briques sont amenĂ©es Ă  Ă©voluer, comme l’expliquait TimothĂ©e Ravier Ă  la sortie de Silverblue 41 en automne dernier (voir la section Notes), mais les principes fondamentaux restent les mĂȘmes, et vous pouvez les retrouver dĂ©crits dans la documentation commune (en version bĂȘta) des Fedora atomiques. Ravier les rappelle dans un rĂ©cent entretien qu’il nous a accordĂ© (Ă  paraĂźtre aprĂšs le 21 avril) et nous partage son espoir de voir un jour l’atomique devenir le modĂšle par dĂ©faut pour Fedora :

    Je l’espĂšre ! Il est impossible de donner une Ă©chĂ©ance et cela ne dĂ©pend pas vraiment de moi. La difficultĂ© la plus importante est la prise en charge du matĂ©riel et les pilotes qui ne sont pas intĂ©grĂ©s dans Fedora. C’est un problĂšme que l’on ne peut pas rĂ©soudre dans Fedora Ă  cause des contraintes lĂ©gales et qui sont traitĂ©es par le projet Universal Blue, dont la variante Bazzite est trĂšs populaire.

    Capture d’écran du site officiel de Bazzite
    Capture d’écran du site officiel de Bazzite

    Les possibilitĂ©s ouvertes par cette approche sont telles qu’elles inspirent beaucoup de Linuxiens Ă  assembler leur propre bureau Linux atomique, y compris hors des mainteneurs de distributions : c’est le cas de Jorge Castro et de Thibault Martin. Mais Martin n’est pas le premier Ă  avoir eu l’idĂ©e parmi la communautĂ© GNOME : il cite un billet d’Adrien Vovk paru en octobre dernier, titrĂ© « Un bureau pour tous Â», et qui appelle dĂ©jĂ  Ă  s’appuyer sur GNOME, et plus prĂ©cisĂ©ment le projet GNOME OS (lequel est dĂ©jĂ  atomique), pour « construire un OS qui rend le bureau Linux utilisable pour les non-passionnĂ©s » :

    Je pense Ă  mes amis et Ă  ma famille : ils ne mĂ©ritent pas plus que nous d’ĂȘtre maltraitĂ©s par les entreprises de la tech. Beaucoup d’entre eux adorent l’idĂ©e de Linux et sont d’accord avec nos valeurs, mais ont dĂ©cidĂ© de ne pas rester dessus aprĂšs l’avoir essayĂ© pour de vrai. Ils sont intĂ©ressĂ©s, mais juste pas assez intĂ©ressĂ©s pour surmonter nos barriĂšres Ă  l’entrĂ©e. Ils se moquent des paquets, des codecs, des pilotes, des brevets, des licences, ou de toutes ces choses qui sont devenues ce qu’on doit gĂ©rer en tant que passionnĂ©s de Linux. Je crois que beaucoup se mettront Ă  se prĂ©occuper de ces choses-lĂ  une fois qu’ils auront rejoint nos communautĂ©s, comme nous l’avons tous fait nous-mĂȘme, mais Ă  l’heure actuelle, ils ne nous rejoignent pas


    L’idĂ©e ne sĂ©duit pas que chez GNOME : Vovk dit lui-mĂȘme avoir Ă©tĂ© inspirĂ© par KDE, aprĂšs que ceux-ci aient annoncĂ© un projet similaire lors de la confĂ©rence Akademy en septembre 2024, sobrement baptisĂ© « KDE Linux Â». Et pour pallier les dĂ©fauts que les devs reprochent Ă  KDE neon, laquelle vieillit trop vite du fait d’ĂȘtre basĂ©e sur Ubuntu LTS, KDE Linux sera donc, lui aussi, un OS atomique et immuable : « les applis viendront de Flatpak (et peut-ĂȘtre aussi de Snap si ce n’est pas trop difficile et que l’UX est convenable) ». Et lui aussi aura vocation Ă  s’adresser au plus large public possible, « des dĂ©veloppeurs KDE aux utilisateurs et aux vendeurs de matĂ©riel ».

    Or, pour atteindre un tel objectif d’universalitĂ©, Vovk considĂšre que GNOME OS se doit d’ĂȘtre complĂštement immuable, sans permettre Ă  l’utilisateur d’installer des paquets traditionnels, contrairement au « modĂšle immuable-hybride en vogue Â» qui est celui de Silverblue et ses dĂ©rivĂ©s (oĂč il est possible de faire du layering pour installer des paquets de la distribution, faisant ainsi entorse Ă  l’immuabilitĂ©) :

    À mon avis, permettre l’overlay de paquets dissuade le dĂ©veloppement de vraies solutions permanentes aux fonctionnalitĂ©s manquantes dans l’OS, puisque les utilisateurs peuvent juste se reposer sur les surcouches. Au bout du compte, la nĂ©cessitĂ© d’installer des paquets pour contourner ces problĂšmes va juste garantir que personne n’utilisera les distributions immuables-hybrides de maniĂšre immuable, ce qui annule les bienfaits de l’immuabilitĂ© tout en soumettant l’utilisateur aux points de friction [sharp edges] supplĂ©mentaires qu’apporte l’immuabilitĂ©.

    Comme le rappelle Vovk, cette idĂ©e a dĂ©jĂ  Ă©tĂ© formulĂ©e par le fameux Lennart Poettering en mai 2022, dans un long billet oĂč il dĂ©taille sa vision personnelle (« et non celle de mon employeur », qui Ă  l’époque Ă©tait soit Red Hat, soit Microsoft) de la direction dans laquelle le bureau Linux doit aller :

    Avant toute chose, je pense qu’il faut se concentrer sur un design basĂ© sur une image plutĂŽt que sur des paquets. Pour la robustesse et la sĂ©curitĂ©, il est essentiel de travailler avec des images reproductibles et immuables qui dĂ©crivent l’OS ou des grandes portions de celui-ci dans leur entiĂšretĂ©, plutĂŽt que de toujours travailler avec des paquets dĂ©taillĂ©s façon RPM/dpkg. Ce n’est pas dire que les paquets ne sont pas pertinents (je trouve en rĂ©alitĂ© qu’ils ont beaucoup d’importance !), mais je pense qu’ils devraient ĂȘtre moins un outil de dĂ©ploiement de code, mais plutĂŽt un outil pour construire les objets Ă  dĂ©ployer. Une autre maniĂšre de voir la chose : tout OS construit ainsi doit ĂȘtre facile Ă  rĂ©pliquer sur un grand nombre d’instances, avec une variabilitĂ© minimale.

    C’est donc bien un nouveau paradigme qui bouleverse les principes traditionnels des distros, selon lesquels les empaqueteurs se chargent d’assembler et distribuer toutes les applications qu’ils veulent rendre disponibles Ă  leurs utilisateurs. Or, dans les prĂ©conisations de la documentation de l’outil Blue-build, dĂ©diĂ© Ă  la crĂ©ation d’images atomiques customisĂ©es, il faut au contraire « rĂ©sister Ă  la tentation d’intĂ©grer tout l’univers » :

    Les systĂšmes dans ce genre sont conçus autour d’un cƓur petit, simple et efficace, maintenable et performant. Rappelez-vous que les mises Ă  jour de l’image de base nĂ©cessitent un redĂ©marrage, donc idĂ©alement vous allez vouloir limiter sa taille – laissez Flatpak et d’autres outils de l’espace utilisateur s’occuper du reste.

    Diapositive issue de la prĂ©sentation « Bazzite: Building the Future of Linux Gaming Together » donnĂ©e par Kyle Gospodnetich et Noel Miller au salon SCALE 22x, le 8 mars 2025
    Diapositive issue de la prĂ©sentation « Bazzite: Building the Future of Linux Gaming Together » donnĂ©e par Kyle Gospodnetich et Noel Miller au salon SCALE 22x, le 8 mars 2025

    Jorge Castro dit lui-mĂȘme :

    Je ne voulais pas refaire une autre distro. J’ai fait ça pendant dix ans [chez Canonical, NDLR], je ne voulais pas faire d’empaquetage, je comprends les difficultĂ©s que ça entraĂźne de faire une distro, je ne veux plus jamais refaire ça.

    Et il ajoute :

    Il nous faut avoir des applis en bac Ă  sable, sans quoi autant faire nos valises et rentrer chez nous. Actuellement c’est flatpak via flathub. MalgrĂ© toutes les plaintes que vous pouvez lire sur le net au sujet de flatpak, il y a plein de monde qui en tire une bonne expĂ©rience. [
] Et aussi nous avons abandonnĂ© tout l’aspect « allons empaqueter la planĂšte entiĂšre nous-mĂȘme » du modĂšle parce que nous savons que ça ne s’étend pas [it doesn't scale]. Ça veut dire que c’est aux dĂ©veloppeurs d’applis de prendre en charge leur destin, et que c’est notre boulot de livrer tout ça Ă  l’utilisateur. [
] C’est aussi pour cela que nous ne sommes pas une distro – nous sommes trois distros, fedora pour la base, homebrew pour la ligne de commande, flatpak pour les applis Ă  interface graphique. Oh et puisque vous avez aussi distrobox, n’importe quel autre paquet de distro.

    Et Ă©videmment, cet Ă©loignement revendiquĂ© du modĂšle de la bonne vieille distribution n’est pas sans causer quelques frictions, surtout au sein d’une communautĂ© comme Fedora qui demeure avant tout dĂ©diĂ©e Ă  faire
 une bonne vieille distribution. Le 21 janvier 2025, Michael Catanzaro demandait que Flathub devienne le dĂ©pĂŽt Flatpak par dĂ©faut des Fedora, plutĂŽt que le dĂ©pĂŽt Flatpak de Fedora comme c’est le cas jusqu’alors, affirmant que ces flatpaks “maison” Ă©taient « une source notable de problĂšmes de qualité », et citant des « plaintes de multiples dĂ©veloppeurs upstream », notamment ceux du cĂ©lĂšbre OBS qui sont allĂ©s jusqu’à rĂ©clamer formellement le retrait du Flatpak que Fedora distribue pour leur appli. Le conflit s’est depuis dĂ©tendu et les dĂ©veloppeurs d’OBS ont rĂ©tractĂ© leur demande, mais pas sans que le Project Leader de Fedora Matthew Miller ne dĂ©clare sur la chaĂźne YouTube de Brodie Robertson que « les rĂšgles d’acceptation sur Flathub sont plutĂŽt laxistes » et que rien ne garantissait l’absence de code malveillant dans leurs flatpaks, ce qui a provoquĂ© une levĂ©e de boucliers et une clarification officielle de Flathub quant Ă  leur processus de vĂ©rification. Miller a saluĂ© cette clarification et prĂ©cisĂ© sa pensĂ©e, et Ă  l’heure actuelle, c’est toujours les dĂ©pĂŽts de Fedora qui sont prĂ©sĂ©lectionnĂ©s par dĂ©faut lorsqu’on cherche Ă  installer un Flatpak via Logiciels ou Discover dans une Fedora.

    Alors, faut-il imaginer un projet tout neuf et Ă©mancipĂ© des distributions, comme GNOME et KDE aimeraient le faire, pour ĂȘtre digne d’ĂȘtre l’OS atomique dont l’Europe a besoin ? À moins que ce dont l’Europe ait besoin, ce n’est pas d’un seul mais de plusieurs OS atomiques ? C’est l’idĂ©e que dĂ©fend openSUSE, qui propose aux gouvernements non pas d’adopter une seule et unique solution qui "surfe sur l’idĂ©e de souverainetĂ© europĂ©enne", mais plutĂŽt une stratĂ©gie multi-distributions, qui inclurait, au hasard, les propres projets atomiques d’openSUSE – Aeon (sous GNOME) et Kalpa (sous Plasma) :

    L’idĂ©e globale dont les gouvernements ont besoin de dĂ©battre va au-delĂ  du standard des distros. À l’ñge du rançongiciel, du verrouillage dans le nuage et du capitalisme de surveillance, il est temps d’aller au-delĂ  de la façon traditionnelle de penser les OS de bureaux. Le monde de l’open-source a dĂ©jĂ  les outils pour avancer vers cette nouvelle façon de penser :

    • L’immuabilitĂ© avec des mises Ă  jour transactionnelles (MicroOS, Aeon, Kalpa, Kinoite)
    • Une configuration systĂšme dĂ©clarative (Agama, Ansible)
    • Des options de bureaux pour des besoins utilisateur variĂ©s (GNOME, KDE Plasma, Xfce)
    • Des standards d’identitĂ©s et d’authentification ouverts (LDAP, OpenID)
    • Des formats de paquet transparents (Flatpak, RPM)

    La gouvernance des Linux : suffit-il d’ĂȘtre libre pour ĂȘtre souverain ?

    Ce second volet fera l’objet d’une dĂ©pĂȘche future, Ă  laquelle vous pouvez d’ores et dĂ©jĂ  contribuer (comme Ă  toutes les autres dĂ©pĂȘches en cours de rĂ©daction sur Linuxfr). À bientĂŽt !


    Notes

    • Les Steam Deck sont vendus avec SteamOS, qui n’est pour l’instant pas disponible au tĂ©lĂ©chargement (Valve a dĂ©clarĂ© vouloir le faire d’ici avril 2025), et qui est Ă©galement un OS atomique. Bazzite est fortement inspirĂ© de SteamOS et en reprend directement une partie de son code, publiĂ© sous licence libre par Valve.
    • Un des signes distinctifs d’Universal Blue est son usage de bootc, qui permet purement et simplement de rendre des conteneurs bootables (ce que Jorge Castro rĂ©sume par « Podman dans une boucle for » ; Colin Walters en parle dans une vidĂ©o de Red Hat) et qui devrait bientĂŽt ĂȘtre adoptĂ© par Fedora Ă  son tour, en remplacement d’OSTree. Sur la feuille de route de ce projet, TimothĂ©e Ravier prĂ©cisait en janvier dernier que, bien que ses propres machines reposent sur des conteneurs bootables, il considĂšre que « ce n’est pas prĂȘt pour l’usage gĂ©nĂ©ral ».
    • À l’heure actuelle, la distribution vitrine de Linux sur tĂ©lĂ©phones est sans doute postmarketOS. Les dĂ©veloppeurs de celle-ci ont annoncĂ© le 30 mars dernier travailler Ă  une version immuable de pmOS, qui sera partiellement subventionnĂ©e par la fondation europĂ©enne NLnet (la question du financement des Linux sera abordĂ©e dans la 2ᔉ partie de cette dĂ©pĂȘche).

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Nouvelle typologie de comptes LinuxFr.org : segmentation et enrichissement de notre offre

    Le site LinuxFr.org se dote en ce jour de nouveaux types de comptes (les comptes dits « Premium Â» et « Open Â»). Cette dĂ©pĂȘche vise Ă  dĂ©tailler les diffĂ©rents avantages proposĂ©s par ces nouveautĂ©s, et Ă  permettre Ă  chacun et chacune de se positionner pour savoir comme ils ou elles souhaitent ou non faire Ă©voluer leurs comptes basiques en version « Premium Â» ou « Open Â». Ces offres sont susceptibles d’évoluer dans un futur proche, notamment en fonction de vos commentaires et retours de lectorat averti. La documentation du site sera mise Ă  jour plus tard en fonction desdits retours et des Ă©ventuelles Ă©volutions.

    Nous espérons que cette segmentation et cette diversification de notre offre vous satisfera et permettra de dynamiser et de pérenniser notre site LinuxFr.org (notre trésorier vous remercie par avance).

      Sommaire

      Les comptes dits « Premium Â»

      Les comptes « Premium Â» sont disponibles pour sept fois le coĂ»t mensuel des comptes basiques, payable en euros ou en cryptomonnaie. Les NFT ne sont pas acceptĂ©s.

      Les comptes « Premium Â» verront huit fois moins de publicitĂ© que les comptes basiques.

      Les comptes « Premium Â» sont disponibles sans stockage de donnĂ©es personnelles sensibles au sens du RGPD.

      Les donnĂ©es personnelles des comptes « Premium Â» ne sont transmises qu’à un dixiĂšme des partenaires habituellement utilisĂ©s pour les comptes basiques.

      Les comptes « Premium Â» bĂ©nĂ©ficient de la lĂ©gislation française et seront modĂ©rĂ©s comme les comptes basiques.

      Les comptes « Premium Â» permettent de renseigner son adresse XMPP ou son compte sur le Fedivers (souvent Mastodon).

      Les comptes « Premium Â» permettent l’utilisation de caractĂšres Unicode (dont les emojis), d’images et d’hyperliens dans les contenus et commentaires.

      Les comptes « Premium Â» seront abonnĂ©s Ă  deux fois moins de listes de diffusion et trois fois moins de rĂ©seaux sociaux que les comptes basiques.

      Les comptes « Premium Â» disposent de deux fois plus de fonctionnalitĂ©s d’intelligence artificielle que les comptes basiques.

      Les comptes « Premium Â» verront le nombre de popups prĂ©sentĂ© divisĂ© par quatre par rapport aux comptes basiques.

      Les comptes « Premium Â» se verront prĂ©sentĂ©s deux fois moins de liens sponsorisĂ©s ou de contenus sponsorisĂ©s que les comptes basiques.

      Les comptes « Premium Â» disposent d’un identifiant unique en base de donnĂ©es dit « id Â».

      Les comptes « Premium Â» disposeront de deux fois plus de temps pour les fenĂȘtres de validation des cookies ou de rĂ©solution des captchas.

      Les comptes « Premium Â» peuvent ĂȘtre associĂ©s Ă  des fournisseurs d'adresse de courriel privateurs.

      Les comptes « Premium Â» disposent d'un espace nominatif permettant de publier sous leur nom leur propre contenu (une sorte d'espace de blog), dĂ©nommĂ© « Journal Â».

      L'ouverture d'un compte « Premium Â» ne nĂ©cessite pas d'informations relatives Ă  un casier judiciaire, ou la virginitĂ© d'icelui.

      Il n'y a pas de lecture automatique / dĂ©clenchement automatique d'audio ou de vidĂ©o pour les comptes « Premium Â».

      Les comptes « Premium Â» ont accĂšs aux API du site.

      Les comptes dits « Open Â»

      Les comptes « Open Â» sont disponibles pour 2 fois le coĂ»t annuel des comptes basiques, payable en monnaies libres.

      Les comptes « Open Â» ne verront que notre sĂ©lection de publicitĂ© libre, par rapport aux comptes basiques.

      Les comptes « Open Â» auront les mĂȘmes donnĂ©es personnelles stockĂ©es que les comptes basiques, et dans les mĂȘmes conditions.

      La moitiĂ© des donnĂ©es personnelles des comptes « Open Â» sera transmise qu’à la moitiĂ© de nos partenaires habituellement utilisĂ©s pour les comptes basiques.

      Les comptes « Open Â» seront couverts par le droit français, mais leur modĂ©ration sera comparable Ă  celle des comptes basiques.

      Les comptes « Open Â» permettent de publier sous licence libre et d’évoquer des thĂ©matiques comme les logiciels libres, les contenus libres et d’autres sujets liĂ©s Ă  des licences libres.

      Les comptes « Open Â» pourront utiliser une Ă©criture inclusive, et des efforts seront faits pour que les contenus qui sont prĂ©sentĂ©s Ă  ces comptes et qui sont prĂ©visualisĂ©s par la modĂ©ration soient Ă©crits de façon non discriminante, inclusive et ouverte.

      Les comptes « Open Â» ne seront abonnĂ©s qu’aux listes de diffusion et rĂ©seaux sociaux sous licences libres parmi l’ensemble des listes de diffusion et rĂ©seaux sociaux auxquels nous abonnons les comptes basiques.

      Les comptes « Open Â» peuvent gagner des prix mensuels.

      Les comptes « Open Â» sont utilisables avec des protocoles normalisĂ©s, des formats ouverts et dans le respect de l'interopĂ©rabilitĂ©.

      Les comptes « Open Â» disposent d’un avatar, image dĂ©finie par la personne gĂ©rant le compte.

      Il n'est pas nĂ©cessaire de contribuer au code du site pour disposer d'un compte « Open Â», mĂȘme si cela est fortement recommandĂ©.

      Les comptes « Open Â» peuvent stocker deux fois plus d’informations dans la chaĂźne de blocs (en anglais « blockchain Â») que les comptes basiques.

      Les comptes « Open Â» verront, sous rĂ©serve d’utiliser le navigateur Firefox avec le greffon ”Block Origin, le nombre de popups prĂ©sentĂ© divisĂ© par deux par rapport aux comptes basiques.

      Les comptes « Open Â» peuvent venir nous voir sur notre stand sur les Ă©vĂ©nements type Open Source Experience Paris par exemple.

      Les comptes « Open Â» ne nĂ©cessitent pas d’en-tĂȘtes HTTP spĂ©cifiques, et ils seront dispensĂ©s de captchas.

      Les comptes « Open Â» bĂ©nĂ©ficient d’un accĂšs au code du site sous licence libre.

      Les comptes basiques (ou simples)

      Les comptes basiques sont gratuits (ne nĂ©cessitent pas d’un paiement initial ou rĂ©gulier).

      Les comptes basiques sont sans publicité.

      Les comptes basiques sont créés avec un minimum de donnĂ©es personnelles, et celles-ci sont minimisĂ©es lorsqu’elles ne sont plus nĂ©cessaires.

      Les données personnelles ne sont pas transmises ou vendues à des soi-disants partenaires qui seraient hypothétiquement soucieux ou non desdites données.

      Les comptes basiques sont soumises aux rÚgles de modération du site et à la législation française.

      Les comptes basiques permettent de contribuer Ă  la vie du site, de proposer des contenus et des commentaires.

      Les comptes basiques sont optionnels, le site peut ĂȘtre lu sans avoir de compte. Voir les avantages d’avoir un compte.

      Un compte basique n’implique pas d’ĂȘtre abonnĂ© Ă  une liste de diffusion ou un rĂ©seau social.

      Un compte basique n’est pas soumis à des popups intempestives.

      Un compte basique n’a pas de captcha Ă  rĂ©soudre.

      Les comptes basiques ne sont pas soumis aux alĂ©as d’une intelligence artificielle.

      Les comptes basiques ne se voient prĂ©sentĂ©s aucun lien sponsorisĂ© ou de contenu sponsorisĂ© (et arrĂȘtez de nous Ă©crire pour ça les pĂ©nibles du net).

      Les comptes basiques n’ont pas de donnĂ©es stockĂ©es dans une chaĂźne de blocs.

      Un compte basique n’est pas soumis à une validation de l’acceptation des cookies du site.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Sortie d’AgentJ en 2.1 - Une nouvelle version majeure depuis la 1.6

      AgentJ est une solution anti-spam utilisé pour filtrer et bloquer les messages indésirables (spams) en entrée et en sortie.
      Ce logiciel est une solution sous licence GNU Affero General Public License V3.

      Voici une description générale de ses fonctionnalités :

      • Filtrage du spam : Identifie les messages non sollicitĂ©s ou suspects (spams) Ă  l'aide d'algorithmes qui analysent le contenu, les adresses d'envoi, et d'autres facteurs.
      • Apprentissage automatique : Utilise des techniques d'apprentissage automatique pour s'adapter aux nouveaux types de spam et amĂ©liorer son efficacitĂ© au fil du temps.
      • Blocage des adresses : Peut bloquer ou mettre sur liste noire certaines adresses e-mail, domaines, ou adresses IP connues pour envoyer des spams.
      • Authentification humaine : La premiĂšre fois qu'un nouvel expĂ©diteur vous contacte, un mail de confirmation lui est envoyĂ© pour vĂ©rification
      • Rapports et statistiques : Fournis des rapports pour suivre le nombre de spams bloquĂ©s, les tendances, et d'autres informations utiles pour les administrateurs.
      • Personnalisation : Permet de dĂ©finir des rĂšgles spĂ©cifiques, de crĂ©er des listes blanches (whitelist) et noires (blacklist), et d'adapter le niveau de filtrage en fonction des besoins.
      • Gestion multi domaines mail distincts ou miroir.
      • Rapport quotidien pour les utilisateurs qui les informe des mails en attente de dĂ©blocage.

      Logo AgentJ
      Cette nouvelle version 2.1 amĂšne son lot d’amĂ©liorations, mais elle est surtout marquĂ©e par une amĂ©lioration majeure : la gestion des mails envoyĂ©s / le filtrage de mail en sortie.

      Filtrage de mails en sortie

      Cela permet de gĂ©rer l’ensemble du flux de mails sortants.

      Apprentissage des mails sortants

      Cette fonctionnalitĂ© permet que, lors d’un envoi de mail par un utilisateur interne, les destinataires (to, cc et cci) soient automatiquement autorisĂ©s.
      Nous retrouverons les adresses autorisĂ©es comme les adresses actuelles avec comme prĂ©cision « autorisĂ©e par envoi de mail Â».

      ParamĂ©trage du taux d’envoi de mail

      L’objectif est de permettre le paramĂ©trage du nombre de mails par heure, par utilisateur. Le paramĂ©trage pourra se faire soit pour le domaine mail, soit pour un groupe d’utilisateur, soit pour un utilisateur.
      Sur un compte utilisateur, il sera indiquĂ© le taux en vigueur et l’usage actuel pour l’utilisateur.

      Alerte sur évÚnements indésirables

      Cette fonctionnalitĂ© permettra de paramĂ©trer un envoi d’alerte Ă  un ou des mails spĂ©cifiques.
      Les alertes pourront ĂȘtre envoyĂ©es lors des Ă©vĂ©nements suivant :
      ‱ Spam (le niveau considĂ©rĂ© comme Spam sera rĂ©glable)
      ‱ Virus
      ‱ DĂ©passement du taux d’envoi

      Recherche de mail

      Nous avons ajoutĂ© une recherche de mail avancĂ© pour l’administrateur.

      Recherche mail

      Libération depuis le rapport mail

      Maintenant, il n’est plus nĂ©cessaire de se loguer pour libĂ©rer un mail depuis le rapport quotidien envoyĂ© par AgentJ un simple clique suffit.

      Amélioration du tableau de bord

      Nous avons amélioré le rendu du tableau de bord des statistiques

      Tableau de bord

      Prévisualisation sécurisée des emails

      Vous pouvez désormais prévisualiser vos emails bloqués avant de décider de les libérer (ou non).

      Prévisualisation mail

      Test de performance

      Nous avons effectuĂ© des tests de performance sur un VM avec 4 cƓurs et 4 Go de RAM avec les paramĂ©trages par dĂ©faut. AgentJ traite 10 000 mails en 11 min. Pour prĂ©cision, les tests ont Ă©tĂ© effectuĂ©s avec l’envoi de mail valides, car ils sont les plus longs en traitement comparĂ© Ă  des spams.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Venez tester si Fedora Linux a trouvé la bonne réponse avec la version 42 Beta

      En ce mardi 18 mars 2025, la communautĂ© du Projet Fedora sera ravie d’apprendre la disponibilitĂ© de la version bĂȘta de Fedora Linux 42.

      MalgrĂ© les risques concernant la stabilitĂ© d’une version bĂȘta, il est important de la tester ! En rapportant les bogues maintenant, vous dĂ©couvrirez les nouveautĂ©s avant tout le monde, tout en amĂ©liorant la qualitĂ© de Fedora Linux 42 et rĂ©duisant du mĂȘme coup le risque de retard. Les versions en dĂ©veloppement manquent de testeurs et de retours pour mener Ă  bien leurs buts.

      La version finale est pour le moment fixée pour le 15 ou le 22 avril.

      Sommaire

      Expérience utilisateur

      • L’environnement de bureau GNOME est proposĂ© dans sa version 48 ;
      • L’environnement de bureau Xfce bĂ©nĂ©ficie de la version 4.20 ;
      • L’environnement de bureau LXQt passe Ă  la version 2.1 ;
      • Le logiciel d’installation d’Anaconda devient une application Wayland native ;
      • Anaconda a enfin une interface web UI pour l’étape du partitionnement ;
      • Anaconda en profite pour Ă©galement ĂȘtre une web UI par dĂ©faut pour Fedora Workstation ;
      • L’édition KDE Plasma devient une Ă©dition Ă  part entiĂšre, Ă©tant mise au mĂȘme niveau que Fedora Workstation avec l’environnement GNOME ;
      • L’écran de chargement lors du dĂ©marrage plymouth utilise simpledrm pour rĂ©duire l’attente qu’un GPU soit disponible ;
      • L’environnement de bureau COSMIC bĂ©nĂ©ficie de sa propre Ă©dition Spin ;
      • Activation de la mise Ă  jour automatique par dĂ©faut pour la version atomique de KDE Plasma nommĂ©e Kinoite.

      Gestion du matériel

      • AmĂ©lioration de la prise en charge des webcams basĂ©es sur le protocole MIPI au lieu de USB dans les ordinateurs portables x86 ;
      • L’Intel Compute Runtime, qui prend en charge notamment le fonctionnement de l’API OpenCL pour les processeurs Intel, a Ă©tĂ© mise Ă  jour vers la version 24.39 qui signifie Ă©galement une non prise en charge des processeurs d’avant 2020 (Ă  partir de la 12ᔉ gĂ©nĂ©ration) ;
      • Introduction de la pile Intel SGX pour permettre son utilisation dans le futur pour amĂ©liorer l’isolation et la protection mĂ©moire en particulier pour les machines virtuelles ;
      • IntĂ©gration du projet FEX dans les dĂ©pĂŽts pour permettre l’exĂ©cution des programmes x86 / x86_64 depuis les architectures AArch64 ;
      • L’installateur Anaconda utilise la norme GPT par dĂ©faut pour la table de partitionnement pour les architectures PPC64LE et s390x, l’architecture x86_64 et Aarch64 ayant dĂ©jĂ  sautĂ© le pas avec Fedora Linux 37 ;
      • Les versions atomiques n’auront plus d’images compatibles avec l’architecture PPC64LE ;
      • Le paquet du logiciel Zezere qui sert Ă  automatiser l’installation et la configuration de systĂšmes IoT a Ă©tĂ© retirĂ© des dĂ©pĂŽts.

      Internationalisation

      • Mise Ă  jour de l’entrĂ©e de saisie IBus 1.5.32 ;
      • Son aide Ă  la saisie pour le chinois ibus-libpinyin est aussi mise Ă  jour Ă  la version 1.16 ;
      • Proposition d’une nouvelle aide Ă  la saisie vocale avec Ibus Speech to Text via le paquet ibus-speech-to-text qui permet de faire de la reconnaissance vocale en local.

      Administration systĂšme

      • Les rĂ©pertoires /usr/bin et /usr/sbin sont fusionnĂ©s ;
      • DNF5 va proposer Ă  l’utilisateur de supprimer les clĂ©s GPG qui ont expirĂ©, ou qui ont Ă©tĂ© rĂ©voquĂ©es, Ă©vitant de devoir le faire Ă  la main avec la commande rpmkeys --delete ;
      • La commande fips-mode-setup a Ă©tĂ© retirĂ©e du paquet crypto-policies qui permet de rendre dynamiquement son systĂšme compatible avec les exigences du gouvernement amĂ©ricain concernant les modules cryptographiques. Cette option doit ĂȘtre activĂ©e lors de l’installation par d’autres moyens maintenant ;
      • Le navigateur de fichiers pour Cockpit cockpit-navigator est remplacĂ© par cockpit-files ;
      • Les Ă©ditions dĂ©rivĂ©es de Fedora Workstation auront par dĂ©faut le pare-feu configurĂ© avec l’option IPv6_rpfilter=loose, ce qui suit la politique appliquĂ©e pour l’IPv4 depuis Fedora 30 ;
      • Ajout du paquet bpfman pour le dĂ©ploiment et la gestion des programmes eBPF dans le systĂšme ;
      • RĂ©duction du nombre de rĂšgles SELinux liĂ©es au type unlabeled_t qui mĂšnent Ă  ne pas enregistrer dans le journal d’audit des erreurs dĂ©tectĂ©es ;
      • Mise Ă  jour de l’outil de gestion de configuration Ansible Ă  la version 11 ;
      • Le serveur de proxy inverse Apache Traffic Server Ă©volue vers sa 10ᔉ version ;
      • La version de compatibilitĂ© PostgreSQL 15 a Ă©tĂ© retirĂ©e, PostgreSQL 16 reste la version par dĂ©faut ;
      • Les utilitaires liĂ©s au projet OpenDMARC ont Ă©tĂ© mis dans des paquets individuels au lieu du paquet opendmarc qui les fournissait tous ;
      • L’agent pam-ssh-agent a Ă©tĂ© supprimĂ© des dĂ©pĂŽts.

      Développement

      • La chaĂźne de compilation GNU bĂ©nĂ©ficie de GCC 15, binutils 2.44, glibc 2.41 et gdb 15 ;
      • La chaĂźne de compilation LLVM progresse Ă  la 20ᔉ version ;
      • La boĂźte Ă  outils Python nommĂ©e Django utilise la version 5.x ;
      • Mise Ă  jour du langage Go vers la version 1.24 ;
      • Le langage Ruby brille avec la version 3.4 ;
      • Le langage de programmation PHP s’impose de tout son poids Ă  la version 8.4 ;
      • Le compilateur du langage fonctionnel Haskell, GHC, passe Ă  la version 9.8 et sa suite de paquets Stackage utilise la version 23 ;
      • Le langage de programmation fonctionnel Idris dispose d’une mise Ă  jour majeure vers sa 2ᔉ version ;
      • Le langage de scripts Tcl/Tk a Ă©tĂ© mis Ă  jour vers la 9ᔉ version ;
      • La bibliothĂšque de calcul scientifique en Python NumPy passe Ă  la version majeure 2 ;
      • L’outil de dĂ©veloppement de paquets Python Setuptools a Ă©tĂ© mis Ă  jour vers la version 74 ;
      • Mise Ă  jour de la bibliothĂšque de compression zlib-ng Ă  la version 2.2.x ;
      • La bibliothĂšque graphique SDL utilise la version 3 pour assurer la compatibilitĂ© avec sa version 2 dorĂ©navant ;
      • Les anciennes versions de OpenJDK pour le langage Java Ă  savoir 8, 11 et 17 ne sont plus fournies par les dĂ©pĂŽts de Fedora mais devront ĂȘtre installĂ©s via un dĂ©pĂŽt tiers tel que Adoptium Temurin dont le paquet adoptium-temurin-java-repository permet son activation ;
      • Le paquet de compatibilitĂ© Python pour la version 3.8 a Ă©tĂ© retirĂ© ;
      • La bibliothĂšque Rust zbus version 1 a Ă©tĂ© supprimĂ©e, la version 4 ou supĂ©rieure reste proposĂ©e dans les dĂ©pĂŽts ;
      • La bibliothĂšque de compatibilitĂ© entre Rust et Python, PyO3, se voit retirer les anciennes versions 0.19, 0.20, et 0.21 ;
      • L’utilitaire d’exĂ©cution des tests unitaires en Python python-pytest-runner est dĂ©prĂ©ciĂ© et sera supprimĂ© dans un futur proche ;
      • La bibliothĂšque de compatibilitĂ© entre GTK3 et Rust est marquĂ©e comme dĂ©prĂ©ciĂ©e et sera supprimĂ©e dans une prochaine version.

      Projet Fedora

      • Fedora Linux proposera des archives permettant d’ĂȘtre installĂ© avec Windows Subsystem for Linux ;
      • Les paquets RPM peuvent bĂ©nĂ©ficier de la fonction systemd sysusers.d pour crĂ©er des utilisateurs dĂ©diĂ©s lors de l’installation des paquets RPM ;
      • Les mises Ă  jour de Fedora CoreOS passent de OSTree Ă  OCI ;
      • Les fichiers Kickstart seront distribuĂ©s Ă©galement comme des artĂ©facts OCI ;
      • Activation par dĂ©faut de composefs pour les images atomiques bureautiques de Fedora Linux ;
      • L’utilitaire edk2 est compilĂ© avec des options de sĂ©curitĂ© supplĂ©mentaires pour amĂ©liorer la sĂ©curitĂ© des machines virtuelles reposant sur l’UEFI ;
      • Les images live de Fedora Linux utilisent le systĂšme de fichiers EROFS en lieu et place de SquashFS ;
      • Ajout d’un gĂ©nĂ©rateur de dĂ©pendances pour les extensions de GNOME Shell, permettant de lier la version de l’extension avec celle de gnome-shell Ă  partir du fichier metadata.json de l’extension ;
      • RedĂ©finition des dĂ©pendances de nombreux paquets de git vers git-core.

      Tester

      Durant le dĂ©veloppement d’une nouvelle version de Fedora Linux, comme cette version Beta, quasiment chaque semaine le projet propose des journĂ©es de tests. Le but est de tester pendant une journĂ©e une fonctionnalitĂ© prĂ©cise comme le noyau, Fedora Silverblue, la mise Ă  niveau, GNOME, l’internationalisation, etc. L’équipe d’assurance qualitĂ© Ă©labore et propose une sĂ©rie de tests en gĂ©nĂ©ral simples Ă  exĂ©cuter. Suffit de les suivre et indiquer si le rĂ©sultat est celui attendu. Dans le cas contraire, un rapport de bogue devra ĂȘtre ouvert pour permettre l’élaboration d’un correctif.

      C’est trĂšs simple Ă  suivre et requiert souvent peu de temps (15 minutes Ă  une heure maximum) si vous avez une bĂȘta exploitable sous la main.

      Les tests Ă  effectuer et les rapports sont Ă  faire via la page suivante. J’annonce rĂ©guliĂšrement sur mon blog quand une journĂ©e de tests est planifiĂ©e.

      Si l’aventure vous intĂ©resse, les images sont disponibles par Torrent ou via le site officiel.

      Si vous avez dĂ©jĂ  Fedora Linux 41 ou 40 sur votre machine, vous pouvez faire une mise Ă  niveau vers la bĂȘta. Cela consiste en une grosse mise Ă  jour, vos applications et donnĂ©es sont prĂ©servĂ©es.

      Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable.

      En cas de bogue, n’oubliez pas de relire la documentation pour signaler les anomalies sur le BugZilla ou de contribuer Ă  la traduction sur Weblate. N’oubliez pas de consulter les bogues dĂ©jĂ  connus pour Fedora 42.

      Bons tests Ă  tous !

      Commentaires : voir le flux Atom ouvrir dans le navigateur

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

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

      Titre de l'image

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

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

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

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

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

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

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

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      Nouveautés de mars 2025 de la communauté Scenari

      Scenari est un ensemble de logiciels open source dĂ©diĂ©s Ă  la production collaborative, publication et diffusion de documents multi-support. Vous rĂ©digez une seule fois votre contenu et vous pouvez les gĂ©nĂ©rer sous plusieurs formes : site web, PDF, OpenDocument, diaporama, paquet SCORM (Sharable Content Object Reference Model)
 Vous ne vous concentrez que sur le contenu et l’outil se charge de crĂ©er un rendu professionnel accessible et responsive (qui s’adapte Ă  la taille de l’écran).

      À chaque mĂ©tier/contexte son modĂšle Scenari :

      • Opale pour la formation ;
      • Dokiel pour la documentation ;
      • Optim pour les prĂ©sentations gĂ©nĂ©riques ;
      • Topaze pour les Ă©tudes de cas ;
      • et bien d’autres


      đŸ–„ïž Prochain mini-webinaire : « DĂ©couvrir Parcours-PHP Â» 17 mars

      Lundi 17 mars 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.

      Situer Parcours-PHP.

      Les enregistrements des mini-webinaires précédents 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.

      Parole de scénariste

      💗 Parole de Scenariste

      Les fonctionnalitĂ©s souvent « originales » de SCENARI favorisent notre productivitĂ©. FacilitĂ©+++ de mise en ligne des contenus (FTP intĂ©grĂ©), logique de « grains de contenu » et de rĂ©utilisation, chartes graphiques personnalisables => mise Ă  disposition du mĂȘme contenu Ă  des entitĂ©s diffĂ©rentes, affichage « dynamique » de plusieurs versions du mĂȘme contenu (exemple : version originale de rĂšglements alternant avec version rĂ©sumĂ©e plus « pĂ©dagogique »)


      Jean-Philippe Claude Jean-Philippe Claude, dirigeant Organisme de Conseil et Formation. Vethyqua. ModÚles utilisés : Opale, Optim, Dokiel

      Rappel : propose une communication/atelier pour les Rencontres Scenari 2025 avant le 11 mars !

      📣 Rappel : propose une communication/atelier pour les Rencontres Scenari 2025 avant le 11 mars !

      Tu as jusqu’au 11 mars 2025 pour nous envoyer ta proposition de retour d’expĂ©rience ou d’atelier Ă  l’adresse rencontres@scenari.org en indiquant :

      • nom / prĂ©nom des intervenants
      • structure (ton universitĂ©/entreprise/association
)
      • titre provisoire
      • descriptif provisoire
      • Ă©ventuelles indisponibilitĂ©s inĂ©luctables

      Partager tes usages de Scenari c’est une occasion pour apporter Ă  la communautĂ© et pour que la communautĂ© t’apporte aussi, alors n’hĂ©site pas Ă  faire une proposition !

      Merci de relayer cet appel dans tes rĂ©seaux sur Mastodon, Telegram et LinkedIn !

      Deux nouveaux outils autour de Scenari

      📣 Deux nouveaux outils autour de Scenari

      Deux nouveaux outils ont Ă©tĂ© ajoutĂ©s Ă  la page des « Outils autour de Scenari Â» :

      1. Un outil pour exporter le référentiel ScoLOMFR afin de les utiliser dans Scenari.
      2. Un autre outil pour exporter une bibliographie Zotero vers Opale ou Optim.

      Tu utilises Parcours ou Platine-suite ? Partage ton retour d’expĂ©rience

      📣 Tu utilises Parcours ou Platine-suite ? Partage ton retour d’expĂ©rience

      Katia a rejoint Kelis pour travailler sur les derniers outils Scenari pour la formation, notamment Parcours et Platine-suite.

      Elle souhaite avoir des retours sur ton usage de ces deux outils si tu en utilises un.

      Rends-toi sur son message sur le forum.

      Parler de Scenari aux Journées du Logiciel Libre (JDLL) à Lyon

      📣 Parler de Scenari aux JournĂ©es du Logiciel Libre (JDLL) Ă  Lyon

      Cette annĂ©e les JDLL auront lieu le week-end du 24-25 mai 2025, Ă  l’ENS de Lyon site RenĂ© Descartes.

      Tu es dans le coin, disponible et motivĂ© pour y parler de ton usage de Scenari aux JDLL ?

      LoĂŻc peut t’aider sur la partie prĂ©sentation de l’association, de la communautĂ© et des principes de Scenari.

      Tu as jusqu’au 16 mars pour faire une proposition de confĂ©rence ou atelier aux JDLL.

      ✹ Le savais-tu ?

      Depuis la version 6.3 de Scenari, un bouton permet de vider d’un coup la corbeille d’un atelier. Plus besoin d’éliminer un par un les items.

      Si tu utilises MySenari, nous te demandons de vider rĂ©guliĂšrement tes corbeilles des ateliers afin d’économiser l’espace disque qui est partagĂ© entre tous les utilisateurs et utilisatrices de MyScenari.

      vider d’un coup la corbeille d’un atelier

      📊 Le chiffre du mois

      1372 1372, C’est le nombre de membres sur le forum Scenari.

      🩋 Scenari prĂ©sent dans


      • Dans cette vidĂ©o (Ă  7:28) liĂ©e au projet Pactes. Scenari est dĂ©crit comme un outil qui favorise l'accessibilitĂ© numĂ©rique.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      La liberté des calculatrices graphiques ?

      Les calculatrices graphiques sont de lointains dĂ©rivĂ©s des ordinateurs de poche des annĂ©es 1980, dans lesquelles subsiste cette capacitĂ© native Ă  pouvoir ĂȘtre programmĂ©.
      J’en serais probablement restĂ© Ă  mon expĂ©rience de lycĂ©en, et l’éternel combat Casio / Texas Instrument, s’il n’y avait pas eu un virage (pas forcĂ©ment bien courbe) autour de Python dans la fin des annĂ©es 2010.

      Entre passion de l’informatique, doux rĂȘveur, promesse de calculatrice libre et rĂ©alitĂ© du marché  j’avais l’envie de vous partager mes quelques heures de recherches et de rĂ©flexions sur le sujet.

      Sommaire

      Ordinateur de poche, calculatrice et langage BASIC

      Les ordinateurs de poche existent depuis les annĂ©es 80 et ont fait le succĂšs de sociĂ©tĂ©s telles que Sharp, Casio ou Psion. Ils se confondent avec les calculatrices les plus Ă©voluĂ©es, et restent aujourd’hui les seules survivantes de ces deux mondes.

      Elles sont programmables, majoritairement dans de nombreux dialectes du langage BASIC, directement sur la machine, mais aussi dans d’autres langages plus bas niveau, souvent via un ordinateur plus conventionnel.

      Une évolution de rupture

      Dans la fin des annĂ©es 2010, deux Ă©volutions sont poussĂ©es dans le monde des calculatrices : le « mode examen Â» et le besoin d’un langage plus moderne, beaucoup se tournant vers le langage Python.

      C’est l’occasion pour NumWorks de se lancer dans ce marchĂ© trĂšs spĂ©cial. Deux point sont mis en avant :

      • Le langage Python comme le langage de programmation utilisateur (alors que ce n’est qu’un autre ajout pour les constructeurs historiques).
      • Un modĂšle « libre Â», qui as fait beaucoup parler de ce nouveau venu, notamment ici.

      Libre - Un peu, beaucoup, à la folie, passionnément
 pas du tout

      La mise en application s’est vite montrĂ©e moins claire. La libĂ©ration matĂ©rielle tient, Ă  en juger par leur GitHub, Ă  huit fichiers STL, sous licence CC-BY-NC-ND, et dont la derniĂšre mise Ă  jour date de 2020. Il est donc interdit d’en faire des modifications et/ou une utilisation commerciale
 une libertĂ© relative.

      Le systĂšme d’exploitation, nommĂ© epsilon, qui offre une bonne implĂ©mentation de Python, mais qui souffre de plusieurs problĂšmes de jeunesse, est bien disponible
 mais Ă©galement sous cette mĂȘme licence CC-BY-NC-ND.

      Omega

      CritiquĂ©e pour cette diffĂ©rence entre le discours commercial de libertĂ©, et la rĂ©alitĂ© de la licence, en mai 2018 elle fut finalement modifiĂ©e en CC-BY-NC-SA, autorisant donc la modification et la redistribution de versions modifiĂ©es. Il en naĂźtra notamment Omega un dĂ©rivĂ© communautaire d’Epsilon, alors en version 11.

      Ma petite CASIO

      Dans un esprit de dĂ©couverte, j’ai eu l’envie d’explorer moi-mĂȘme ce nouveau monde du Python sur calculatrice. Peut-ĂȘtre un peu entrainĂ© par les diffĂ©rentes lectures sur la calculatrice libre que je lisais un peu partout.

      Cependant, l’interprĂ©tation assez personnelle de NumWorks du libre, et l’obligation de passer par leur site pour communiquer avec la calculatrice a orientĂ© mon choix vers une Casio Graph 90E.

      Pas que cette derniĂšre soit plus libre, bien au contraire
 juste qu’elle est simplement reconnue comme une clef USB pour y transfĂ©rer des Ă©lĂ©ments depuis l’ordinateur et qu’elle a une communautĂ© plus importante.

      Le micro-python qui y est intĂ©grĂ© est limitĂ©, et s’il permet de faire des choses
 on voit que le constructeur s’est limitĂ© Ă  ce qui Ă©tait juste nĂ©cessaire. Ce qui limite les possibilitĂ©s laissĂ©es aux utilisateurs.

      J’aurais pu en rester lĂ , et c’est mĂȘme un peu ce que j’ai fait jusqu’à peu.

      NumWorks - L’esprit d’ouverture
 ou pas

      Alors que j’explorais d’autres domaines, et que ma Casio prenait la poussiĂšre, le monde Ă©voluait, et NumWorks en Ă©tait Ă  la 4ᔉ variante matĂ©rielle de sa calculatrice rĂ©volutionnaire.

      La dĂ©finition du « Libre Â» par l’entreprise avait elle aussi eu le temps d’évoluer.

      Epsilon depuis sa version 16 du 30 novembre 2021, verrouille les calculatrices pour n’autoriser que les systĂšmes officiels du constructeur. Un peu Ă  l’image des consoles de jeu, que certains hackent pour installer des homebrew ou firmware modifiĂ©s, il en devient de mĂȘme pour la « calculatrice libre Â» : on chasse les Ă©volutions communautaires.

      Epsilon en est aujourd’hui (28 fĂ©vrier 2025) Ă  sa version 23
 sans volontĂ© affichĂ©e d’ouverture supplĂ©mentaire. Le dĂ©pĂŽt GitHub n’affiche pas de licence dans ses mĂ©tadonnĂ©es, mais une mention « Copyright - All rights reserved. NumWorks is a registered trademark. Â» figure en bas de la page de prĂ©sentation.

      OmĂ©ga a mis en pause son dĂ©veloppement depuis fĂ©vrier 2024, renvoyant vers une autre alternative Upsilon, qui ne s’installe pas mieux sur une calculatrice NumWorks verrouillĂ©e
 mais quelqu’un a compilĂ© pour la CASIO.

      La magie du libre

      C’est M. Bernard PARISSE qui a compilĂ© une version d’Upsilon comme application pour la gĂ©nĂ©ration de CASIO que je possĂšde. Je vous invite Ă  en lire tous les dĂ©tails sur la page de son projet.

      Arrivant donc à avoir le meilleur des mondes, le travail de NumWorks, les additions de la communauté et plus de puissance supplémentaire de ce matériel.

      Mais cela est conditionné par la possibilité de pouvoir faire fonctionner des applications tierces sur ces calculatrices


      Vers la fin des applications avancées

      Il y a historiquement deux méthodes pour développer des applications pour ces calculatrices.

      Un langage haut niveau, qui est un dialecte BASIC, une adaptation de Python, ou d’autres langages plus ou moins Ă©voluĂ©s, qui sont directement modifiables sur l’appareil (mĂȘme si le clavier d’une calculatrice n’y est pas toujours optimal).

      Un langage bas niveau, typiquement du C ou mĂȘme de l’assembleur, Ă©ditĂ© et compilĂ© sur un ordinateur puis transfĂ©rĂ© vers la calculatrice (mĂȘme si certaines machines Sharp pouvaient se programmer en C directement sur la machine).

      Et c’est un point que met en valeur Bernard PARISSE dans son argumentaire sur Upsilon pour CASIO : l’ouverture de ce constructeur aux dĂ©veloppements tiers.

      Mais voila, ce n’est pas forcĂ©ment le sens que prennent les constructeurs, mĂȘme chez CASIO.

      Le test communautaire de la CASIO Math+, qui succÚde à la Graph 90E, ne permet pas ces applications tierces développées en langage de bas niveau, et la conclusion sur ce point est tout sauf optimiste.


      Voila qui conclut ce petit tour dans le sous-domaine de l’informatique qu’est celui des calculatrices graphiques, mĂȘme si ce n’est probablement pas ce qui vous servira dans une discussion autour de la machine Ă  cafĂ© (sauf, peut-ĂȘtre, si vous ĂȘtes prof de math).

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      GIMP 3.0 RC3 est sorti

      Note : cette dĂ©pĂȘche est une traduction de l'annonce officielle de la sortie de GIMP 3.0 RC3 du 10 fĂ©vrier 2025 (en anglais).

      Nous sommes ravis de partager la troisiĂšme version candidate de GIMP 3.0 pour ce qui (nous l'espĂ©rons) sera la derniĂšre sĂ©rie de tests communautaires avant la version stable ! Cette version fait suite Ă  la rĂ©cente confĂ©rence GIMP 3 and Beyond de Jehan au FOSDEM 2025.

        Sommaire

        Corrections de bogues et changements importants

        Alors que nous rĂ©duisions les quelques derniers bogues majeurs Ă  nĂ©ant, nous avons effectuĂ© un certain nombre de modifications qui selon nous nĂ©cessitent un sĂ©rieux coup d’Ɠil de la communautĂ©.
        Jetez-en donc un, d’Ɠil, sur les points suivants lorsque vous essayerez la Release Candidate:

        Nouvelle version de GTK3

        Juste Ă  temps pour GIMP 3.0, une nouvelle version de GTK3 est sortie !
        Entre autres changements, GTK 3.24.48 inclut des correctifs pour plusieurs bugs affectant GIMP avec des patchs initialement fournis par Jehan, comme un crash dans Wayland lors du déplacement de calques et des problÚmes de texte dans certains widgets avec des langues de droite à gauche. Nous tenons à remercier Carlos Garnacho et Matthias Clasen pour leur aide sur ces patchs respectifs.

        GTK 3.24.48 ajoute également la prise en charge de la version 2 de xdg_foreign pour Wayland (la v1 reste prise en charge en tant que solution de secours). Plus précisément, l'absence de cette prise en charge provoquait le blocage de GIMP avec certaines actions sur KDE/Wayland, ce qui est désormais corrigé.

        En raison de ces problÚmes (certains d'entre eux rendant GIMP vraiment instable sur Wayland), nous recommandons aux empaqueteurs de mettre à jour vers la derniÚre version de GTK3 lors de l'empaquetage de notre RC3. Cependant, veuillez nous informer si vous remarquez des régressions ou d'autres problÚmes résultant de la nouvelle version de GTK3.

        Améliorations du graphe d'images

        GrĂące Ă  l'Ă©dition non destructive dans GIMP, les utilisateurs peuvent dĂ©sormais empiler plusieurs filtres les uns sur les autres. Ces filtres fonctionnent gĂ©nĂ©ralement dans un format Ă  haute rĂ©solution de bits, de sorte que les informations de l'image ne sont pas perdues. Cependant, la sortie de chaque filtre Ă©tait convertie vers et depuis la rĂ©solution de l'image d'origine lors de l'empilement. Ainsi, si l'image n'Ă©tait que de 8 bits, une grande quantitĂ© d'informations Ă©tait perdue dans ces conversions constantes. Jehan a rĂ©solu ce problĂšme en convertissant uniquement au format de l'image lorsque le filtre est censĂ© ĂȘtre fusionnĂ©, plutĂŽt que dans des piles non destructives. Comme il s'agit d'un changement important dans le fonctionnement des filtres, nous souhaitons que davantage d'utilisateurs testent ce changement pour dĂ©tecter d'Ă©ventuelles rĂ©gressions.

        Changements dans Projection Thread-safe

        Lorsque des modifications sont apportĂ©es Ă  une image (comme une peinture), la projection de l'image doit ĂȘtre « vidĂ©e Â» pour afficher les nouvelles modifications Ă  l'Ă©cran. Certains aspects de ce processus n'Ă©taient pas « thread-safe Â», ce qui signifie que lorsque votre ordinateur utilisait plusieurs threads pour accĂ©lĂ©rer le travail, ils pouvaient entrer en conflit les uns avec les autres et provoquer un plantage. Cela a Ă©tĂ© observĂ© dans notre fonctionnalitĂ© d'expansion automatique de calques. Jehan a corrigĂ© la fonction pour qu'elle soit entiĂšrement thread-safe. Cependant, les modifications apportĂ©es au multithreading peuvent laisser des bugs bien cachĂ©s, donc des tests communautaires supplĂ©mentaires seraient utiles.

        Procédures privées

        Le navigateur de base de donnĂ©es procĂ©durale de GIMP montre aux dĂ©veloppeurs de greffons et de scripts toutes les fonctions auxquelles ils peuvent accĂ©der. Jusqu'Ă  prĂ©sent, il affichait Ă©galement les fonctions « privĂ©es Â» qui ne sont utilisĂ©es qu'en interne. Jehan a ajoutĂ© un indicateur pour masquer ces fonctions. Dans un premier temps, nous avons ratissĂ© trop large et cachĂ© certaines fonctions publiques importantes. Bien que nous ayons corrigĂ© ces cas, nous aimerions que la communautĂ© nous donne plus de dĂ©tails pour nous assurer que nous n'avons oubliĂ© aucune fonction publique mal Ă©tiquetĂ©e.

        Améliorations

        Bien que nous soyons toujours en phase de gel des fonctionnalités majeures jusqu'à la version stable de GIMP 3.0, quelques améliorations mineures et autonomes ont été apportées aux greffons.

        Script-fu

        API Filtre

        Le nouvel appel PDB (gimp-drawable-merge-filter) permet aux auteurs de Script-fu d'utiliser des Ă©tiquettes pour spĂ©cifier les propriĂ©tĂ©s des filtres. Cela donnera aux utilisateurs de Script-fu la mĂȘme flexibilitĂ© pour appeler et mettre Ă  jour les filtres que les dĂ©veloppeurs de greffons C et Python ont dans l'API GIMP 3.0. À titre d'exemple, voici un appel au filtre Emboss :

        (gimp-drawable-merge-new-filter mask-emboss "gegl:emboss" 0 LAYER-MODE-REPLACE 1.0 "azimuth" 315.0 "elevation" 45.0 "depth" 7 "type" "emboss")
        

        Vous pouvez voir plus d'exemples dans notre dépÎt de scripts.

        Nouvelle syntaxe de passage des arguments par noms

        Dans Script-Fu, toutes les fonctions gĂ©nĂ©rĂ©es Ă  partir de la procĂ©dure PDB des greffons doivent dĂ©sormais ĂȘtre appelĂ©es avec une toute nouvelle syntaxe d'argument nommĂ©, inspirĂ©e de la variante Racket de Scheme.

        Par exemple, disons que votre greffon souhaite appeler le greffon Foggify, au lieu d'appeler :

        (python-fu-foggify RUN-NONINTERACTIVE 1 (car (gimp-image-get-layers 1)) "Clouds" '(50 4 4) 1.0 50.0)

        Vous devez maintenant appeler :

        (python-fu-foggify #:image 1 #:drawables (car (gimp-image-get-layers 1)) #:opacity 50.0 #:color '(50 4 4))

        Cela présente quelques avantages :

        • des appels beaucoup plus auto-documentĂ©s, d'autant plus que certains greffons ont beaucoup d'arguments (on pouvait donc se retrouver avec des fonctions avec une douzaine d'entiers ou de flottants et c'Ă©tait trĂšs dĂ©routant) ;
        • l'ordre des arguments n'a plus d'importance ;
        • vous pouvez ignorer les arguments lorsque vous les appelez avec des valeurs par dĂ©faut ;
        • cela permet d'amĂ©liorer les procĂ©dures des greffons dans le futur en ajoutant de nouveaux arguments sans casser les scripts existants.

        Ce dernier point en particulier est important, et l'ordre des arguments n'avait plus d'importance lors de l'appel de procĂ©dures PDB depuis l'API C, ainsi que toutes les liaisons introspectĂ©es. Script-Fu Ă©tait la seule interface restante dont nous disposions qui se souciait encore de l'ordre et du nombre d'arguments. Ce n'est plus le cas et c'est donc un grand pas vers une API beaucoup plus robuste pour GIMP 3 !

        Formats de fichiers

        Toutes les modifications apportées aux greffons de chargement d'images sont vérifiées avec le cadriciel de tests automatisés créé par Jacob Boerema pour éviter les régressions.

        PSD

        En plus des corrections de bogues telles que l'enregistrement correct des images fusionnées CMJN, Jacob Boerema a ajouté la prise en charge du chargement des fichiers PSD LAB 16 bits par canal. Il a également mis à jour la boßte de dialogue d'exportation PSD pour utiliser les fonctions d'exportation de métadonnées intégrées de GIMP.

        DDS

        CMYK Student a implémenté la prise en charge trÚs demandée du chargement d'images DDS avec prise en charge BC7. Jacob Boerema a travaillé pour corriger la compatibilité avec les fichiers DDS exportés à partir d'anciennes versions de GIMP.

        AppImage: c'est officiel !

        AprĂšs neuf mois d'incubation (le nombre est une simple coĂŻncidence 🙂), nous prĂ©sentons un « nouveau Â» format de distribution pour les utilisateurs Linux : .AppImage. Au dĂ©part, nous l'utilisions comme format interne pour les tests, comme dĂ©jĂ  Ă©voquĂ© dans des articles prĂ©cĂ©dents. Les efforts de Bruno Lopes nous ont permis d'amĂ©liorer le processus de construction. Nous sommes maintenant confiants avec l'AppImage gĂ©nĂ©rĂ©e et nous avons donc pour objectif de la rendre officielle.

        En tant que package officiel en amont, aucun greffon tiers sophistiquĂ© ou autre binaire arbitraire qui ne soit pas une dĂ©pendance de GIMP n'est ajoutĂ© pour ne pas le « surcharger Â». C'est ce que certains appellent GIMP « vanilla Â», un GIMP propre mais complet pour la production (c'est-Ă -dire pour une utilisation gĂ©nĂ©rale).

        Comme tout format d'empaquetage, il a ses propres caractĂ©ristiques et limites. Dans le cas de l'AppImage de GIMP, les outils inclus tels que gimp-console* et gimp-debug-tool* nĂ©cessitent une extraction prĂ©alable du fichier .AppImage avec la commande --appimage-extract. De plus, en partie Ă  cause de la conception d'AppImage, les commandes qui pointent vers $PWD ne fonctionneront pas. Ces deux limitations de fonctionnalitĂ©s sont les seules connues Ă  ce jour. Donc, si vous en trouvez d'autres ou mĂȘme des bogues, veuillez les signaler sur notre outil de suivi.

        Divers

        • Il est maintenant plus facile de charger des images depuis Google Drive ainsi que d'autres plateformes distantes ou dans le cloud, sans avoir a sĂ©lectionner un format de fichier pour essayer de l'ouvrir.

        • Notre processus de crĂ©ation gĂ©nĂšre dĂ©sormais des icĂŽnes supplĂ©mentaires avec l'extension -rtl, qui sont automatiquement utilisĂ©es avec les langues s'Ă©crivant de droite Ă  gauche. Les icĂŽnes de flĂšches gauche et droite en sont un exemple : elles sont dĂ©sormais orientĂ©es dans la bonne direction dans les deux types de langues.

        • Les dĂ©veloppeurs de greffons n'ont plus besoin de crĂ©er des boutons de sĂ©lection de fichiers personnalisĂ©s - GimpProcedureDialog les crĂ©e dĂ©sormais automatiquement lorsqu'un paramĂštre de type de fichier est utilisĂ©. Vous pouvez Ă©galement spĂ©cifier si le bouton sert Ă  ouvrir ou Ă  enregistrer des fichiers et des dossiers.

        • Rupert Weber a continuĂ© ses efforts pour nettoyer notre greffon BMP. De plus, il travaille actuellement Ă  ajouter la prise en charge de l'importation de profils de couleurs dans les BMP, qui, espĂ©rons-le, sera prĂȘte dans une future version.

        • CMYK Student a mis Ă  jour le greffon ICNS avec une nouvelle prise en charge des types d'icĂŽnes « ic05 Â» et des formats d'icĂŽnes ARGB. Ils ont Ă©galement corrigĂ© un bogue lors du chargement d'anciens formats ICNS sans masque de transparence. Lukas Oberhuber a aidĂ© Ă  diagnostiquer et Ă  rĂ©soudre un bogue connu dans le format ICNS qui faisait que notre icĂŽne macOS affichait des pixels brouillĂ©s dans les petites tailles.

        GEGL

        La version 0.4.54 de GEGL contient également quelques améliorations et corrections de bogues. Thomas Manni a mis à jour le filtre Noise Spread pour éviter les bogues lorsqu'il est appliqué à des groupes de calques vides. Jonny Robbie a ajouté de nouvelles options et de nouveaux types de papier au filtre Negative Darkroom, et a optimisé certaines opérations en virgule flottante dans GEGL dans son ensemble.

        Statistiques

        Depuis GIMP 3.0 RC2, dans le dĂ©pĂŽt principal de GIMP :

        • 85 rapports ont Ă©tĂ© fermĂ©s comme RÉPARÉS ;
        • 56 demandes de fusion ont Ă©tĂ© acceptĂ©es ;
        • 335 commits ont Ă©tĂ© poussĂ©s ;
        • 19 traductions ont Ă©tĂ© mises Ă  jour : basque, bulgare, catalan, chinois (Chine), danois, nĂ©erlandais, finnois, gĂ©orgien, italien, norvĂ©gien nynorsk, persan, portugais, slovaque, slovĂšne, espagnol, suĂ©dois, turc, ukrainien, vietnamien.

        33 personnes ont contribuĂ© Ă  des modifications ou des correctifs Ă  la base de code de GIMP 3.0.0 RC3 (l'ordre est dĂ©terminĂ© par le nombre de commits ; certaines personnes sont dans plusieurs groupes) :

        • 13 dĂ©veloppeurs pour le code principal : Jehan, Alx Sa, Jacob Boerema, Lloyd Konneker, Anders Jonsson, Thomas Manni, Bruno, Daniele Forsi, Lloyd Konneker, Lukas Oberhuber, Rupert, cheesequake, Øyvind KolĂ„s ;
        • 10 dĂ©veloppeurs de greffons ou modules : Alx Sa, Jacob Boerema, Jehan, Rupert, Lloyd Konneker, Anders Jonsson, Bruno, Daniel NovomeskĂœ, Daniele Forsi, lillolollo ;
        • 19 traducteurs : Alan Mortensen, Alexander Shopov, Nathan Follens, KolbjĂžrn StuestĂžl, Hugo Carvalho, Asier Sarasua Garmendia, Ngọc QuĂąn Tráș§n, Jordi Mas, Marco Ciampa, Sabri Ünal, Anders Jonsson, Danial Behzadi, Ekaterine Papava, Jiri Grönroos, Jose Riha, Luming Zh, Martin, Rodrigo LledĂł, Yuri Chornoivan ;
        • 1 Concepteur de thĂšme : Alx Sa ;
        • 6 contributeurs pour la compilation, l’empaquetage ou l’intĂ©gration continue : Bruno, Jehan, Lloyd Konneker, Alx Sa, Rupert, Jacob Boerema.

        Contributions sur d'autres dĂ©pĂŽts dans GIMPverse (l'ordre est dĂ©terminĂ© par le nombre de commits) :

        • GEGL 0.4.54 est composĂ© de 11 commits de 16 contributeurs : Øyvind KolĂ„s, Alexander Shopov, Hugo Carvalho, JonnyRobbie, Alan Mortensen, Anders Jonsson, Asier Sarasua Garmendia, BartƂomiej Piotrowski, Jehan, Martin, Nathan Follens, Nils Philippsen, Rodrigo LledĂł, Sam L, Thomas Manni, Yuri Chornoivan ;
        • ctx a enregistrĂ© 233 commits depuis la sortie de RC2 par 1 contributeur : Øyvind KolĂ„s ;
        • gimp-data a enregistrĂ© 6 commits de 4 contributeurs : Bruno, Jehan, Alx Sa, Andre Klapper ;
        • gimp-test-images (nouveau rĂ©fĂ©rentiel pour les tests de prise en charge des images) a enregistrĂ© 5 commits de 2 contributeurs : Jacob Boerema, Alx Sa ;
        • la version gimp-macos-build (scripts de packaging macOS) a eu 6 commits par 2 contributeurs : Lukas Oberhuber, Bruno ;
        • la version flatpak a eu 12 commits par 3 contributeurs aprĂšs la version RC2 : Bruno Lopes, Jehan, Hubert FiguiĂšre ;
        • notre site web principal a eu 42 commits par 6 contributeurs : Jehan, Alx Sa, Bruno, Jacob Boerema, Andre Klapper, Petr Vorel ;
        • notre site web de dĂ©veloppement a eu 18 commits par 5 contributeurs : Jehan, Bruno, Lukas Oberhuber, Alx Sa, Anders Jonsson ;
        • notre documentation 3.0 comptait 373 commits de 13 contributeurs : Andre Klapper, KolbjĂžrn StuestĂžl, Nathan Follens, Jacob Boerema, Alan Mortensen, Yuri Chornoivan, Dick Groskamp, ​​Jordi Mas, Alevtina Karashokova, Alx Sa, Anders Jonsson, Daniele Forsi, Hugo Carvalho.

        N'oublions pas de remercier toutes les personnes qui nous aident à trier dans Gitlab, à signaler les bugs et à discuter des améliorations possibles avec nous.
        Notre communautĂ© est Ă©galement profondĂ©ment reconnaissante envers les guerriers d'Internet qui gĂšrent nos divers canaux de discussion ou comptes de rĂ©seaux sociaux tels que Ville PĂ€tsi, Liam Quin, Michael Schumacher et Sevenix !

        Remarque : compte tenu du nombre de parties dans GIMP et de la façon dont nous obtenons des statistiques via les scripts « git Â», des erreurs peuvent se glisser dans ces statistiques. N'hĂ©sitez pas Ă  nous dire si nous avons oubliĂ© ou mal classĂ© certains contributeurs ou contributions.

        Autour de GIMP

        Miroirs de téléchargement

        Depuis la publication de la nouvelle version 3.0RC2, deux nouveaux miroirs ont Ă©tĂ© ajoutĂ©s :

        • Saswata Sarkar, Gurugram, Inde ;
        • Hoobly Classifieds, États-Unis.

        Les miroirs sont importants car ils aident le projet en répartissant la charge pour des dizaines de milliers de téléchargements quotidiens. De plus, en ayant des miroirs répartis dans le monde entier, nous garantissons que tout le monde peut avoir un accÚs rapide au téléchargement de GIMP.

        Comment citer GIMP dans la recherche

        GIMP est souvent utilisé dans la recherche et est donc cité dans diverses publications scientifiques. Un chercheur utilisant GIMP pour le traitement d'images astronomiques nous a contactés pour savoir comment citer GIMP correctement, d'autant plus qu'il est utilisé pour effectuer une étape importante de son algorithme.

        Comme cela semble ĂȘtre une question intĂ©ressante, nous avons mis Ă  jour notre page « Citing GIMP and Linking to Us Â» avec une nouvelle sous-section « Citing GIMP in research Â» contenant la conclusion de cette discussion.

        En particulier, une entrée BibTex, destinée aux chercheurs utilisant LaTeX pour gérer leur bibliographie, est disponible sur ce lien pour simplifier votre travail. Par exemple, disons que vous utilisez ce RC3 pour vos recherches, vous pouvez citer GIMP avec cette entrée :

        @software{GIMP,
            author = {{The GIMP Development Team}},
            title = {GNU Image Manipulation Program (GIMP), Version 3.0.0-RC3. Community, Free Software (license GPLv3)},
            year = {2025},
            url = {https://gimp.org/},
            note = {Version 3.0.0-RC3, Free Software}
        }

        Merci Ă  Cameron Leahy pour ce morceau de code BibTex !

        Télécharger GIMP 3.0 RC3

        Vous trouverez toutes nos versions officielles sur le site officiel de GIMP (gimp.org) :

        • Linux AppImages pour x86 et ARM (64 bits) ;
        • Linux Flatpaks pour x86 et ARM (64 bits) ;
        • Installateur Windows universel pour x86 (32 et 64 bits) et pour ARM (64 bits) ;
        • Paquet MSIX (GIMP Preview) pour x86 et ARM (64 bits) ;
        • Paquets macOS DMG pour le matĂ©riel Intel ;
        • Paquets macOS DMG pour le matĂ©riel Apple Silicon.

        D'autres paquets réalisés par des tiers devraient évidemment suivre (paquets de distributions Linux ou *BSD, etc.).

        Et ensuite ?

        Nous apprĂ©cions vraiment tous les tests et commentaires de la communautĂ© que nous avons reçus au cours des deux derniĂšres versions candidates !
        Nous espĂ©rons que ce sera la derniĂšre version candidate avant la version stable 3.0. Notre objectif est maintenant de terminer la rĂ©solution des quelques bugs restants dans notre liste de jalons 3.0, tout en gardant un Ɠil sur les nouveaux rapports rĂ©sultant des changements dans RC3.

        N’oubliez pas que vous pouvez faire un don et financer personnellement les dĂ©veloppeurs de GIMP, afin de contribuer et d’accĂ©lĂ©rer le dĂ©veloppement de GIMP. L’engagement de la communautĂ© aide le projet Ă  se renforcer !

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        Nouvelles de Haiku - Hiver 2024-25

        Haiku est un systĂšme d’exploitation pour les ordinateurs personnels. Il s’agit Ă  l’origine d’une réécriture de BeOS. Le projet a dĂ©marrĂ© en 2001 et est actuellement en phase de beta-test pour une premiĂšre version stable avec support Ă  long terme. Depuis 2024, l’activitĂ© du projet Haiku s’accĂ©lĂšre grĂące entre autres Ă  l’embauche d’un dĂ©veloppeur Ă  plein temps. Les dĂ©pĂȘches sur Haiku sont donc dĂ©sormais publiĂ©es tous les 3 mois au lieu de tous les ans pour leur conserver une longueur digeste.

        La complĂšte liste des changements survenus pendant ces 3 mois comporte prĂšs de 300 commits. La dĂ©pĂȘche ne rentre pas dans les dĂ©tails de chaque changement et met en valeur les plus importants.

        Les grosses évolutions sont un nouveau port de Iceweasel (Firefox), et des grosses améliorations sur la gestion de la mémoire.

        Comme on est en dĂ©but d’annĂ©e, c’est aussi le moment du bilan financier.

        Sommaire

        Rapport financier 2024

        Recettes

        L’association Haiku inc (association de type 501(c)3 aux USA) publie chaque annĂ©e un rapport financier. Le rĂŽle de l’association est de rĂ©colter les dons et de les redistribuer pour aider au dĂ©veloppement de Haiku. Elle ne prend pas part aux dĂ©cisions techniques sur l’orientation du projet, et habituellement les dĂ©penses sont faites en rĂ©ponse aux demandes des dĂ©veloppeurs du projet.

        L’objectif en dĂ©but d’annĂ©e 2024 Ă©tait de rĂ©colter 20 000$ de dons. Cet objectif a Ă©tĂ© largement atteint, il a dĂ» ĂȘtre mis Ă  jour 2 fois en cours d’annĂ©e et finalement ce sont plus de 31 000$ qui ont Ă©tĂ© reçus ! Cela en particulier grace Ă  un assez gros don de 7 500$.

        Les dons sont rĂ©coltĂ©s via diffĂ©rentes plateformes: Github Sponsors (intĂ©ressant, car il n’y a aucun frais de traitement), PayPal, Liberapay, Benevity (une plateforme de « corporate matching »), ainsi que des paiements par chĂšque, virements bancaires, et en espĂšce lors de la tenue de stands dans des confĂ©rences de logiciels libres. La vente de T-Shirts et autre merchandising via la boutique Freewear reste anecdotique (une centaine de dollars cette annĂ©e).

        Il faut ajouter Ă  ces dons une contribution de 4 400$ de la part de Google en compensation du temps passĂ© Ă  l’encadrement des participants au Google Summer of Code.

        Il faut également ajouter des dons en crypto-monnaies, principalement en bitcoins. Le rapport financier présente les chiffres en détail en tenant une compatibilité séparée en dollars, en euros, et en crypto-monnaies, avant de convertir le total en dollars pour dresser un bilan complet.

        Une mauvaise nouvelle tout de mĂȘme: le service de microdons Flattr a fermĂ© ses portes. L’entreprise propose maintenant un service de bloqueur de publicitĂ©s payant, qui reverse de l’argent aux sites dont les publicitĂ©s sont bloquĂ©es.

        Le compte Flattr de Haiku avait Ă©tĂ© créé pour recevoir des dons sur la plateforme, mais n’avait jamais Ă©tĂ© configurĂ© pour transfĂ©rer ces dons vers le compte en banque de l’association. MalgrĂ© un certain temps passĂ© Ă  discuter avec le service client de Flattr et Ă  leur fournir tous les documents demandĂ©s, il n’a pas Ă©tĂ© possible de trouver une solution pour rĂ©cupĂ©rer cet argent. Ce sont donc 800$ qui ne reviendront finalement pas au projet Haiku.

        Au final, les recettes sont de 36 479 dollars, de loin la plus grosse somme reçue par le projet en un an.

        Dépenses

        La dĂ©pense principale est le paiement de Waddlesplash, le dĂ©veloppeur actuellement employĂ© par Haiku inc pour accĂ©lĂ©rer le dĂ©veloppement du systĂšme (les autres dĂ©veloppeurs participent uniquement sur leur temps libre, en fonction de leurs autres activitĂ©s). Cela reprĂ©sente 25 500$, un coĂ»t assez faible par rapport au travail rĂ©alisĂ©.

        Le deuxiĂšme poste de dĂ©penses est l’infrastructure, c’est-Ă  dire le paiement pour l’hĂ©bergement de serveurs, les noms de domaines, et quelques services « cloud » en particulier pour le stockage des dĂ©pĂŽts de paquets.

        Le reste des dépenses consiste en frais divers (commission PayPal par exemple), remboursement de déplacements pour la participation à des conférences, ainsi que le renouvellement de la marque déposée sur le logo Haiku.

        Le total des dĂ©penses s’élĂšve Ă  31 467$. C’est moins que les recettes, et l’association continue donc de mettre de l’argent de cĂŽtĂ©. L’annĂ©e 2022 a Ă©tĂ© la seule Ă  ĂȘtre dĂ©ficitaire, suite au dĂ©marrage du contrat de Waddlesplash. Ce contrat est Ă  prĂ©sent couvert par les donations reçues.

        Réserves

        L’association dispose de plus de 100 000$ rĂ©partis sur son compte en banque, un compte PayPal (qui permet de conserver des fonds en euros pour les paiements en euros et ainsi d’éviter des frais de change), et un compte Payoneer (utilisĂ© pour recevoir les paiements de Google).

        Elle dispose Ă©galement de prĂšs de 350 000$ en crypto-monnaies dont la valeur continue d’augmenter. Cependant, actuellement ces fonds ne sont pas accessibles directement, en raison de problĂšmes administratifs avec Coinbase, l’entreprise qui gĂšre ce portefeuille de crypto-monnaies. Le compte n’est pas configurĂ© correctement comme appartenant Ă  une association Ă  but non lucratif et cela pose des problĂšmes de dĂ©claration de taxes lorsque on souhaite vendre des crypto-monnaies contre du vrai argent. Cette situation persiste depuis plusieurs annĂ©es, mais l’association n’a pour l’instant pas besoin de rĂ©cupĂ©rer cet argent, les rĂ©serves dans le compte en banque principal Ă©tant suffisantes.

        Applications

        Iceweasel

        Le navigateur web Iceweasel est disponible dans les dĂ©pĂŽts de paquets (seulement pour la version 64 bits pour l’instant). Il s’agit d’un portage de Firefox utilisant la couche de compatibilitĂ© Wayland. Le nom Firefox ne peut pas ĂȘtre utilisĂ© puisqu’il ne s’agit pas d’un produit officiel de Mozilla.

        En plus du travail de portage pour rĂ©ussir Ă  faire fonctionner le navigateur, cela a nĂ©cessitĂ© un gros travail d’amĂ©lioration au niveau de la gestion de la mĂ©moire, une partie du systĂšme qui est fortement mise Ă  contribution par ce navigateur. On en reparle plus loin dans la dĂ©pĂȘche.

        Le navigateur est encore considĂ©rĂ© comme expĂ©rimental: plusieurs fonctions sont manquantes et il peut y avoir des plantages. WebPositive (le navigateur natif basĂ© sur WebKit) reste donc le navigateur installĂ© par dĂ©faut avec Haiku, mais les deux sont complĂ©mentaires. Par exemple, Iceweasel permet d’afficher les vidĂ©os Youtube avec des performances acceptables.

        Tracker

        Tracker est le gestionnaire de fichiers de Haiku. Il implĂ©mente une interface « spatiale », c’est-Ă -dire que chaque dossier s’ouvre dans une fenĂȘtre sĂ©parĂ©e et enregistre sa position Ă  l’écran.

        Le code du Tracker fait partie des composants qui ont pu ĂȘtre rĂ©cupĂ©rĂ©s de BeOS. Cela signifie que certaines parties du code ont Ă©tĂ© dĂ©veloppĂ©es il y a prĂšs de 30 ans, dans un contexte oĂč l’élĂ©gance du code n’était pas la prioritĂ© (il fallait pour les dĂ©veloppeurs de BeOS, d’une part livrer un systĂšme fonctionnel dans un temps raisonable, et d’autre part, fonctionner sur les machines relativement peu performantes de l’époque).

        Les Ă©volutions sur le Tracker nĂ©cessitent donc souvent du nettoyage dans de nombreuses parties du code, et provoquent souvent des rĂ©gressions sur d’autres fonctionnalitĂ©s. Toutefois, les choses s’amĂ©liorent petit Ă  petit.

        Ce trimestre, on a vu par exemple arriver la correction d’un problĂšme avec l’utilisation de la touche « echap ». Cette touche peut servir Ă  plusieurs choses:

        • Fermer une fenĂȘtre de chargement ou d’enregistrement de fichier,
        • Annuler le renommage d’un fichier,
        • Annuler une recherche rapide « type ahead » qui consiste Ă  taper quelques lettres et voir immĂ©diatement la liste de fichiers du dossier courant se rĂ©duire Ă  ceux qui contiennent cette chaĂźne de caractĂšres.

        Ces diffĂ©rentes utilisations peuvent entrer en conflit. Plus prĂ©cisĂ©ment, lorsqu’on utilise le filtrage « type ahead », puis qu’on change d’avis et qu’on appuie sur la touche « echap », il ne faut pas que cela ferme la fenĂȘtre en mĂȘme temps.

        Un autre changement concerne plutĂŽt la validation des donnĂ©es: Tracker interdit l’insertion de caractĂšres de contrĂŽle ASCII dans le nom de fichiers. Ce n’est pas strictement interdit (ni par Haiku, ni par ses systĂšmes de fichiers, ni par POSIX) en dehors de deux caractĂšres spĂ©ciaux: le '/' et le 0 qui termine une chaĂźne de caractĂšres. Mais, c’est trĂšs probablement une mauvaise idĂ©e d’avoir un retour Ă  la ligne ou un autre caractĂšre de contrĂŽle enregistrĂ© dans un nom de fichier. Le Tracker interdit donc dĂ©sormais de le faire et si vous ĂȘtes vraiment rĂ©solu Ă  y parvenir, il faudra passer par le terminal.

        Enfin, une nouvelle fonctionnalitĂ© dans le Tracker est la mise Ă  jour en temps rĂ©el des menus pop-up. Cela peut se produire pour plusieurs raisons, par exemple, l’appui sur la touche « command » modifie le comportement de certains menus. Avant ce changement, il fallait rĂ©-ouvrir le menu (command + clic droit) pour voir ces options modifiĂ©es. Maintenant, on peut d’abord ouvrir le menu, puis maintenir la touche command enfoncĂ©e pour voir les options modifiĂ©es.

        Cela a nĂ©cessitĂ© une refonte complĂšte de la gestion de ces menus (qui proposent de nombreuses autres choses comme la navigation « rayons X »). Au passage, certaines options qui Ă©taient uniquement disponibles au travers de raccourcis claviers ou de la barre de menu des fenĂȘtres du Tracker sont maintenant aussi affichĂ©es dans le menu pop-up.

        TeamMonitor

        TeamMonitor est le gestionnaire d’applications affichĂ© quand on utilise la combinaison de touches Ctrl+Alt+Suppr. Il permet de stopper des programmes, de redĂ©marrer la machine, et autres manipulations d’urgence si le systĂšme ne fonctionne pas comme il faut.

        Les processus lancĂ©s par une mĂȘme application sont maintenant regroupĂ©s et peuvent ĂȘtre tous arrĂȘtĂ©s d’un seul coup. Ce changement est nĂ©cessaire suite Ă  l’apparition de IceWeasel, qui crĂ©e beaucoup de processus en tĂąche de fond pour une seule instance du navigateur web.

        HaikuDepot

        HaikuDepot est l’interface graphique pour le systĂšme de paquets de Haiku. Il se prĂ©sente comme un magasin d’applications, permettant non seulement d’installer et de dĂ©sinstaller des logiciels, mais aussi de les Ă©valuer avec une note et un commentaire.

        • Ajout d’un marqueur sur les icĂŽnes des paquets qui sont dĂ©jĂ  installĂ©s, et remplacement du marqueur utilisĂ© pour indiquer les applications « natives » (utilisant le toolkit graphique de Haiku, par opposition Ă  Qt et GTK par exemple).
        • Affichage plus rapide de l’état « en attente d’installation » lorsqu’on demande l’installation d’un paquet.
        • L’interface pour noter un paquet est masquĂ©e si l’attribution de notes n’est pas possible.

        Préférences

        Diverses amĂ©liorations dans les fenĂȘtres de prĂ©fĂ©rences:

        • Correction d’un crash dans les prĂ©fĂ©rences d’affichage (korli).
        • Les prĂ©fĂ©rences de fond d’écran n’acceptent plus le glisser-dĂ©poser d’une couleur sur un contrĂŽle de choix de couleur dĂ©sactivĂ©. La modification de la position X et Y de l’image de fond se met Ă  jour en temps rĂ©el quand on Ă©dite la valeur des contrĂŽles correspondants.
        • Ajout de rĂ©glages supplĂ©mentaires (vitesse, accĂ©lĂ©ration, dĂ©filement) dans les prĂ©fĂ©rences des pavĂ©s tactiles. Ces options Ă©taient dĂ©jĂ  implĂ©mentĂ©es dans l’input_server, mais configurable uniquement pour les souris.
        • Suppression de code mort et amĂ©lioration de la gestion des polices de caractĂšres dans les prĂ©fĂ©rences d’apparence.

        Plusieurs améliorations sur les préférences de sons de notifications:

        • La fenĂȘtre de sĂ©lection de fichiers retient le dernier dossier utilisĂ©,
        • Elle permet Ă©galement d’écouter un son avant de le sĂ©lectionner,
        • Les menus de sĂ©lection rapide de sons affichent uniquement les fichiers et pas les dossiers,
        • Certains sons ont Ă©tĂ© renommĂ©s.

        La plupart des sons ne sont cependant toujours pas utilisés par le systÚme.

        Expander

        Expander est un outil permettant d’extraire plusieurs types de fichiers archivĂ©s.

        Peu de changement sur cet outil qui est assez simple et fonctionnel. La seule amĂ©lioration ce mois-ci concerne un changement des proportions de la fenĂȘtre pour Ă©viter un espace vide disgracieux.

        Cortex

        Cortex est une application permettant de visualiser et de manipuler les nƓuds de traitement de donnĂ©es du Media Kit.

        Le composant « logging consumer » qui reçoit des donnĂ©es d’un autre noeud et les enregistre dans un fichier de log pour analyse a Ă©tĂ© amĂ©liorĂ© pour enregistrer un peu plus d’informations.

        Icon-O-Matic

        L’éditeur d’icĂŽnes vectoriels Icon-O-Matic Ă©volue peu, aprĂšs un projet Google Summer of Code qui a ajoutĂ© la plupart des fonctionnalitĂ©s manquantes. Ce trimestre, un seul changement: l’ajout d’une entrĂ©e menu pour supprimer un « transformeur ».

        PowerStatus

        L’application PowerStatus affiche l’état de la batterie. Cela peut se prĂ©senter comme une icĂŽne dans la barre des tĂąches. L’icĂŽne est de taille rĂ©duite, et les diffĂ©rents Ă©tats n’étaient pas forcĂ©ment bien visibles. Ce problĂšme a Ă©tĂ© corrigĂ© avec des nouveaux marqueurs pour l’état de la batterie (en charge ou inactive).

        StyledEdit

        StyledEdit est un Ă©diteur de texte simple, permettant tout de mĂȘme de formater le texte (un peu comme WordPad pour Windows).

        L’application reçoit une nouvelle option pour Ă©crire du texte barrĂ©. Le code nĂ©cessaire a Ă©galement Ă©tĂ© ajoutĂ© dans app_server, puisque cette possibilitĂ© Ă©tait prĂ©vue, mais non implĂ©mentĂ©e.

        WebPositive

        Le navigateur WebPositive reçoit peu d’évolutions en ce moment, en dehors de la maintenance du moteur WebKit. On peut tout de mĂȘme mentionner l’ajout d’un menu contextuel sur les marque-pages, permettant de les renommer et de les supprimer. Ce dĂ©veloppement est issu d’un vieux patch rĂ©alisĂ© par un candidat au Google Summer of Code, qui ne fonctionnait pas et n’avait jamais Ă©tĂ© finalisĂ©.

        Mode sombre et configuration des couleurs

        Depuis la version Beta 5, Haiku dispose d’un nouveau systĂšme de configuration des couleurs, permettant d’obtenir facilement un affichage en « mode sombre ». Cependant, cet affichage est loin d’ĂȘtre parfait, et de petits ajustements sont Ă  faire petit Ă  petit dans toutes les applications qui n’avaient pas Ă©tĂ© pensĂ©es pour cela. En particulier, le changement de couleurs se fait en direct lorsqu’on change les rĂ©glages. On trouve ces trois derniers mois des changements dans DeskBar, Tracker, HaikuDepot, l’horloge, ainsi que la classe BTextView.

        Outils en ligne de commande

        pkgman peut rechercher les paquets installĂ©s et qui n’ont aucun autre paquet dĂ©pendant d’eux. Cela permet de trouver des paquets inutiles qui peuvent ĂȘtre dĂ©sinstallĂ©s (il manque encore la possibilitĂ© de marquer un paquet comme Ă©tant « installĂ© manuellement » avant de pouvoir automatiser le nettoyage).

        La commande route accepte la syntaxe utilisĂ©e par openvpn pour la configuration d’une route par dĂ©faut, ce qui facilite l’utilisation de VPN avec Haiku.

        Correction d’un problĂšme dans le compilateur de ressources: la commande rc -d ne savait pas dĂ©compiler la structure app_version des applications Haiku, uniquement le format plus ancien utilisĂ© par BeOS.

        La commande screenmode permet maintenant de récupérer la valeur actuelle du réglage du rétro-éclairage (en plus de permettre de changer cette valeur).

        Kits

        La bibliothĂšque de fonctions de Haiku est dĂ©coupĂ©e en « kits » qui regroupent un ensemble de classes et de fonctionnalitĂ©s liĂ©es.

        Application kit

        L’Application Kit permet, comme son nom l’indique, de lancer des applications. Il offre Ă©galement toutes les fonctionnalitĂ©s de boucles d’évĂšnements, et d’envoi de messages entre applications et entre composants d’une application.

        Correction d’un problùme de suppression d’un port dans la classe BApplication.

        Debug kit

        Le Debug Kit fournit les services nĂ©cessaires au Debugger pour dĂ©bugger une application. Cela consiste d’une part en un accĂšs privilĂ©gie Ă  l’espace mĂ©moire d’une application, et d’autre part en outils pour analyser les fichiers ELF des exĂ©cutables et bibliothĂšques.

        Le Debug Kit reçoit ce trimestre plusieurs Ă©volutions et corrections permettant le dĂ©codage des stack traces dans les programmes compilĂ©s avec clang et lld. Par exemple, les fichiers ELF gĂ©nĂ©rĂ©s par ces outils sont dĂ©coupĂ©s en plusieurs segments, alors que ce n’est pas le cas pour gcc.

        Device Kit

        Le Device Kit regroupe tout ce qui concerne l’accĂšs direct au matĂ©riel et aux entrĂ©es-sorties depuis l’espace utilisateur: ports sĂ©rie, accĂšs direct aux pĂ©riphĂ©riques USB, accĂšs aux joysticks et manettes de jeu.

        Les ports sĂ©rie RS232 peuvent ĂȘtre configurĂ©s avec des valeurs en baud personnalisĂ©es (pour l’instant uniquement pour les adaptateurs sĂ©rie USB).

        Interface kit

        L’Interface Kit regroupe tout ce qui concerne l’affichage de fenĂȘtres et de vues Ă  l’écran et les interactions avec ces fenĂȘtres.

        • Ajout de constructeur « move » et d’opĂ©rateur d’assignation pour BRegion et BShape pour amĂ©liorer les performances en Ă©vitant les copie d’objet immĂ©diatement suivies de suppression.
        • Ajout d’un constructeur pour BRect avec deux arguments (largeur et hauteur) pour les rectangles alignĂ©s en haut Ă  gauche ou dont la position n’a pas d’importance.
        • Remise en place d’un cas particulier dans BBitmap::SetBits pour la gestion du canal alpha afin d’avoir un comportement plus proche de celui de BeOS.
        • BColorControl rĂ©agit correctement et dĂ©clenche les Ă©vĂšnements nĂ©cessaires lorsqu’on modifie sa couleur par glisser-dĂ©poser.

        Media Kit

        Correction d’une assertion vĂ©rifiant la mauvaise condition dans BTimeSource.

        Réécriture de la classe BTimedEventQueue pour amĂ©liorer ses performances en Ă©vitant d’allouer de la mĂ©moire dynamique.

        AmĂ©lioration de l’affichage des « media controls » (sliders de contrĂŽle de volume par exemple) en mode sombre.

        libshared

        La « libshared » contient plusieurs classes expĂ©rimentales, en cours de dĂ©veloppement, mais dĂ©jĂ  utilisĂ©es par plusieurs applications. Il s’agit d’une bibliothĂšque statique, ce qui permet de changer facilement son contenu sans casser l’ABI des applications existantes.

        Ajout de la classe ColorPreview qui existait en plusieurs exemplaires dans le code de Haiku (prĂ©fĂ©rences d’apparence et Terminal). Cette classe permet d’afficher une couleur dans un petit rectangle. Elle est utilisĂ©e Ă  plusieurs endroits dans des contrĂŽles de choix de couleur plus complexes, tels que des listes ou des menus.

        Servers

        Les servers sont des processus systÚmes implémentant différentes fonctionnalités de Haiku. Le concept est similaire à celui des daemons dans UNIX, ou des services dans Windows NT et systemd.

        app_server

        L’app_server s’occupe de l’affichage des applications Ă  l’écran.

        Suppression de code inutilisĂ© depuis longtemps permettant l’accĂ©lĂ©ration matĂ©rielle d’opĂ©rations de dessin en 2D (blit, tracĂ© de lignes, remplissage de rectangles
).

        Sur les cartes graphiques PCI, ces opĂ©rations Ă©taient souvent rĂ©alisĂ©es plus rapidement par le CPU qui tourne Ă  une frĂ©quence bien plus rapide que la carte. Sur les cartes AGP, l’accĂšs en lecture Ă  la mĂ©moire vidĂ©o par le CPU est trĂšs lent, et il Ă©tait donc plus intĂ©ressant de faire ces opĂ©rations en RAM centrale avant d’envoyer un buffer prĂȘt Ă  afficher Ă  la carte graphique. Enfin sur les cartes PCI express modernes, ces fonctions d’accĂ©lĂ©ration ont disparu ou en tout cas n’ont pas du tout une interface compatible avec les besoins de Haiku. Il est donc temps de jeter ce code.

        Modification de la façon dont les applications rĂ©cupĂšrent la palette de couleurs en mode graphique 256 couleurs: elle utilise maintenant une mĂ©moire partagĂ©e, et il n’est plus nĂ©cessaire que chaque application demandent au serveur graphique d’en obtenir une copie.

        input_server

        L’input_server se charge des entrĂ©es souris et clavier. Cela comprend les mĂ©thodes d’entrĂ©e de texte (par exemple pour le Japonais) ainsi que des filtres permettant de manipuler et d’intercepter ces Ă©vĂšnements d’entrĂ©e avant leur distribution dans les applications.

        AmĂ©liorations du filtre PadBlocker pour bloquer le touchpad quand le clavier est en cours d’utilisation sur les PC portables: gestion des rĂ©pĂ©titions de touches, blocage uniquement du touchpad et pas des autres pĂ©riphĂ©riques de pointage.

        net_server

        Le net_server se charge de la configuration des interfaces réseau.

        ArrĂȘt du client d’autoconfiguration (DHCP par exemple) lors de la perte du lien sur un port Ethernet, pour ne pas essayer d’envoyer des paquets alors que le cĂąble est dĂ©branchĂ©.

        notification_server

        notification_server se charge de l’affichage de panneaux de notification pour divers Ă©vĂšnements tels que la connexion et dĂ©connexion d’interfaces rĂ©seau, un niveau dangereusement bas de la batterie, la fin d’un tĂ©lĂ©chargement


        La fenĂȘtre de notification a Ă©tĂ© retravaillĂ©e pour mieux s’adapter Ă  la taille de police d’affichage choisie par l’utilisateur.

        mail_daemon

        mail_daemon permet d’envoyer et de recevoir des e-mails. Les messages sont stockĂ©s sous forme de fichiers avec des attributs Ă©tendus pour les mĂ©tadonnĂ©es (sujet, expĂ©diteur
). Plusieurs applications clientes permettent de rĂ©diger ou de lire ces fichiers. Ainsi chaque application n’a pas besoin de rĂ©implĂ©menter les protocoles IMAP ou SMTP.

        AmĂ©lioration de la fenĂȘtre de logs pour la compatibilitĂ© avec le mode sombre.

        runtime_loader

        Le runtime_loader est l’outil qui permet de dĂ©marrer un exĂ©cutable. Il se charge de trouver toutes les bibliothĂšques partagĂ©es nĂ©cessaires et de les placer dans la mĂ©moire.

        Ajout du flag PF_EXECUTE qui rend exĂ©cutable uniquement les sections ELF qui le nĂ©cessitent (auparavant, toutes les sections qui n’étaient pas accessibles en Ă©criture Ă©taient exĂ©cutables). Cela est utilisĂ© en particulier par clang, qui sĂ©pare une zone en lecture seule (pour les constantes) et une autre en lecture et exĂ©cution (pour le code). Avec gcc, les deux sont habituellement regroupĂ©es dans la mĂȘme section.

        Drivers

        Périphériques de stockage

        Correction de bugs dans la couche SCSI (utilisĂ©e Ă©galement pour d’autres pĂ©riphĂ©riques de stockage qui encapsulent des commandes SCSI). Des drapeaux d’état n’étaient pas remis Ă  0 au bon moment, ce qui causait des kernel panic avec le message « no such range! ».

        Cela a Ă©tĂ© l’occasion de faire du mĂ©nage : suppression de champs inutilisĂ©s dans des structures de donnĂ©es, et suppression du module d’allocation mĂ©moire locked_pool qui n’était utilisĂ© que par la pile SCSI. À la place, utilisation des fonctions d’allocation mĂ©moire standard du noyau, qui sont amplement suffisantes pour rĂ©pondre aux besoins de ce module (waddlesplash).

        Cartes son

        Correction d’erreurs dans le code de gestion mĂ©moire des pilotes es1370 et auvia. Ces drivers utilisaient deux copies d’un code d’allocation identique, mais avaient divergĂ© l’un de l’autre. Ils ont Ă©tĂ© rĂ©unifiĂ©s mais cela a provoquĂ© quelques rĂ©gressions, avec des difficultĂ©s pour trouver des machines permettant de tester chacune des cartes son concernĂ©es. Haiku peut heureusement compter sur des utilisateurs « avancĂ©s » qui testent rĂ©guliĂšrement les nightly builds pour dĂ©tecter ce type de rĂ©gression (korli).

        Réseau

        Correction d’une fuite mĂ©moire lors de l’utilisation de sockets « raw » permettant d’envoyer et de recevoir directement des paquets ethernet (en contournant la couche IP).

        Pilotes FreeBSD

        Une grande partie des pilotes de carte rĂ©seau de Haiku sont en fait ceux de FreeBSD ou d’OpenBSD. Une couche de compatibilitĂ© permet de rĂ©utiliser ces pilotes avec trĂšs peu de changement dans leur code source. Ainsi, les Ă©volutions et corrections peuvent ĂȘtre partagĂ©es avec l’un ou l’autre de ces systĂšmes. La collaboration avec les *BSD pour les pilotes rĂ©seau se passe de mieux en mieux : suite au dĂ©veloppement d’une couche de compatibilitĂ© permettant d’utiliser les pilotes OpenBSD dans Haiku, les dĂ©veloppeurs de FreeBSD Ă©tudient la possibilitĂ© de rĂ©utiliser Ă©galement ces pilotes. De plus, les dĂ©veloppeurs de Haiku et d’OpenBSD sont en contact pour coordonner les mises Ă  jour et les tests.

        Génération de statistiques plus fiables sur les paquets réseaux dans la couche de compatibilité FreeBSD et remontée des statistiques générées par les pilotes associés.

        Synchronisation du pilote realtekwifi avec la version de FreeBSD et reconnaissance d’un identifiant de pĂ©riphĂ©rique USB supplĂ©mentaire dans ce pilote.

        Amélioration de la couche de compatibilité pour se comporter plus précisément comme FreeBSD, et suppression de patchs correspondants dans les pilotes qui sont devenus superflus.

        AmĂ©lioration des performances de la couche de compatibilitĂ©: retrait de comparaisons de chaĂźnes de caractĂšres et d’allocations inutiles.

        Pilotes spécifiques à Haiku

        AmĂ©lioration du comportement du pilote USB RNDIS (partage de connexion sur USB de certains tĂ©lĂ©phones Android) lorsque le cĂąble USB est dĂ©connectĂ©. Le pilote incluait du code pour tenter de restaurer la connexion existante si le mĂȘme appareil est reconnectĂ©, mais les pĂ©riphĂ©riques RNDIS utilisent des adresses MAC alĂ©atoires qui changent Ă  chaque connexion, donc cela ne pouvait pas fonctionner. De plus, certains transferts USB n’étaient pas correctement annulĂ©s pour laisser la pile USB dans un Ă©tat propre aprĂšs la dĂ©connexion du pĂ©riphĂ©rique.

        USB

        Ajout d’une annulation de transferts de donnĂ©es en attente dans le pilote pour les pĂ©riphĂ©riques de stockage USB, ce qui corrige un kernel panic lors de l’utilisation de lecteurs de disquettes USB. ArrĂȘt immĂ©diat des opĂ©rations (au lieu de rĂ©-essayer pendant quelques secondes) si le pĂ©riphĂ©rique indique « no media present » (CD ou disquette Ă©jectĂ©e de son lecteur par exemple).

        Ajout d’une vĂ©rification de pointeur NULL et de libĂ©ration de mĂ©moire manquantes dans la pile USB, ce qui corrige des fuites de mĂ©moires (qui Ă©taient lĂ  depuis longtemps) et une assertion qui se dĂ©clenchait (introduite plus rĂ©cemment).

        Le pilote de webcam UVC est mis Ă  jour pour utiliser des constantes (identifiants de types de descripteurs
) partagĂ©es avec le reste du systĂšme au lieu de toutes les redĂ©finir une deuxiĂšme fois. L’affichage des descripteurs dans listusb est Ă©galement complĂ©tĂ© pour dĂ©coder toutes les informations disponibles. Le pilote n’est toujours pas complĂštement fonctionnel: l’établissement des transferts au niveau USB fonctionne, mais pour l’instant le pilote ne parvient pas Ă  dĂ©coder les donnĂ©es vidĂ©o reçues correctement.

        Le pilote HID sait reconnaĂźtre les « feature reports », qui permettent de configurer un pĂ©riphĂ©rique. Par exemple, cela peut permettre de configurer un touchpad en mode multi-point (dans lequel le systĂšme doit effectuer lui-mĂȘme le suivi de chaque doigt sur la surface tactile pour convertir cela en mouvements de pointeur de souris) ou en mode Ă©mulation de souris (oĂč on ne peut utiliser qu’un doigt Ă  la fois, mais avec un pilote beaucoup plus simple).

        Le pilote pour les tablettes Wacom reconnaĂźt la tablette CTH-470.

        PS/2

        Les ports PS/2 ont disparu de la plupart des machines ces derniĂšres annĂ©es, mais le protocole reste utilisĂ© pour le clavier des ordinateurs portables, ainsi que pour certains touchpads. Malheureusement, le protocole est seulement Ă©mulĂ© au niveau de l’« embedded controller » (le microprocesseur qui se charge de l’interfaçage de divers composants annexes). Le rĂ©sultat est que l’implĂ©mentation du protocole et des registres d’interface peut s’éloigner considĂ©rablement des documents officiels.

        AmĂ©lioration de la dĂ©tection des contrĂŽleurs PS/2 supportant le protocole « active multiplexing » permettant de connecter Ă  la fois une souris et un touchpad. La procĂ©dure de dĂ©tection officielle peut gĂ©nĂ©rer des faux positifs: certains contrĂŽleurs rĂ©pondent bien Ă  cette commande, mais n’implĂ©mentent en fait pas du tout le protocole. Cela provoquait un long dĂ©lai au dĂ©marrage alors que le pilote tente d’énumĂ©rer des pĂ©riphĂ©riques de pointage qui n’existent pas. Une vĂ©rification supplĂ©mentaire aprĂšs l’activation du mode multiplexĂ© permet de dĂ©tecter ce cas.

        virtio_pci

        virtio est un standard matĂ©riel pour les machines virtuelles. PlutĂŽt que d’émuler un vrai matĂ©riel (carte rĂ©seau, carte graphique
), une machine virtuelle peut Ă©muler un matĂ©riel qui n’a jamais Ă©tĂ© fabriquĂ©, mais dont la programmation est beaucoup plus simple. Cela permet Ă©galement des opĂ©rations inimaginables sur du matĂ©riel rĂ©el, comme la possibilitĂ© de changer la taille de la RAM en cours d’exĂ©cution pour mieux partager la mĂ©moire de l’hĂŽte entre diffĂ©rentes machines virtuelles.

        Le pilote virtio_pci est Ă  la racine du systĂšme virtio. Il dĂ©tecte la « carte PCI » virtio et implĂ©mente les primitives de base d’envoi et de rĂ©ception de messages entre l’hĂŽte et la machine virtualisĂ©e (du cĂŽtĂ© virtualisĂ©, pour le cĂŽtĂ© hĂŽte, c’est le virtualisateur, par exemple QEMU, qui s’en charge).

        Correction de plusieurs problÚmes avec les numéros de files virtio qui rendaient les pilotes instables.

        ACPI

        ACPI est un cadriciel pour la gestion de l’énergie et l’accĂšs au matĂ©riel. Le fabricant du matĂ©riel fournit (dans la ROM du BIOS) un ensemble de « tables » contenant une description du matĂ©riel disponible, ainsi que des mĂ©thodes compilĂ©es en bytecode pour piloter ce matĂ©riel. Le systĂšme d’exploitation doit fournir un interprĂ©teur pour ce bytecode, puis rĂ©aliser les entrĂ©es-sorties vers le matĂ©riel demandĂ© lors de l’exĂ©cution.

        Haiku utilise actuellement ACPICA, une bibliothÚque ACPI développée principalement par Intel.

        Correction d’un problĂšme d’accĂšs Ă  de la mĂ©moire non cachĂ©e. Une modification faite pour les machines ARM a dĂ©clenchĂ© un problĂšme sur les machines x86.

        Sondes de température

        Ajout d’un nouveau pilote amd_thermal, ajout de ce dernier ainsi que des pilotes pch_thermal et acpi_thermal dans l’image disque par dĂ©faut. Ces pilotes devraient permettre de rĂ©cupĂ©rer la tempĂ©rature du processeur sur la plupart des machines. Il reste maintenant Ă  intĂ©grer cela dans les outils en espace utilisateur pour faire un bon usage de ces informations.

        Pilotes graphiques

        Ajout de deux nouvelles générations de cartes graphiques dans le pilote intel_extreme.

        Le pilote VESA est capable de patcher le BIOS de certaines cartes graphiques Ă  la volĂ©e pour y injecter des modes graphiques supplĂ©mentaires (la spĂ©cification VESA permettant Ă  l’OS uniquement de choisir un mode parmi une liste fournie par la carte graphique, liste souvent assez peu fournie). Ce mode est dĂ©sormais activĂ© par dĂ©faut sur les cartes graphiques oĂč il a pu ĂȘtre testĂ© avec succĂšs.

        SystĂšmes de fichiers

        FAT

        FAT est un systÚme de fichier développé par Microsoft et qui remonte aux premiers jours de MS-DOS. Il est encore utilisé sur certaines clés USB et cartes SD, bien que exFAT tend à le remplacer petit à petit. Il est également utilisé pour les partitions systÚmes EFI.

        Le pilote de Haiku a Ă©tĂ© rĂ©cemment réécrit Ă  partir de celui de FreeBSD. L’amĂ©lioration de ce nouveau pilote se poursuit, avec ce mois-ci :

        • Les noms de volumes FAT sont convertis en minuscules comme le faisait l’ancien pilote FAT,
        • Le cache de blocs implĂ©mente maintenant un mĂ©canisme de prefetch pour rĂ©cupĂ©rer plusieurs blocs disque d’un coup, et le pilote FAT utilise cette nouvelle possibilitĂ© pour amĂ©liorer en particulier le temps de montage,
        • Correction de problĂšmes dans le cache de fichiers si deux applications accĂšdent au mĂȘme fichier mais avec des noms diffĂ©rents par la casse (le systĂšme de fichier ignorant ces diffĂ©rences).

        BFS

        BFS est le systĂšme de fichier principal de BeOS et de Haiku. Il se distingue des autres systĂšmes de fichiers par une gestion poussĂ©e des attributs Ă©tendus, avec en particulier la possibilitĂ© de les indexer et d’effectuer des requĂȘtes pour trouver les fichiers correspondants Ă  certains critĂšres.

        Clarification de la description des options disponibles lors de l’initialisation d’un volume BFS.

        Correction des fonctions d’entrĂ©es/sorties asynchrones pour rĂ©fĂ©rencer correctement les inodes, ce qui corrige un trĂšs ancien rapport de bug. Des corrections similaires ont Ă©tĂ© faites Ă©galement dans les pilotes FAT et EXFAT.

        Correction des requĂȘtes sur l’attribut « derniĂšre modification », et amĂ©lioration de la gestion du type « time » pour Ă©viter les conversions inutiles (ce type d’attribut est historiquement stockĂ© en 32 bits mais migrĂ© en 64 bits lorsque c’est possible pour Ă©viter le bug de l’an 2038, aussi le code doit ĂȘtre capable de traiter ces 2 formats de stockage).

        packagefs

        Le systĂšme de fichier packagefs est au centre de la gestion des paquets logiciels dans Haiku. Les paquets ne sont pas extraits sur le disque, mais montĂ©s dans un systĂšme de fichier spĂ©cifique (qui implĂ©mente une version tout-en-un de ce qui pourrait ĂȘtre rĂ©alisĂ© sous Linux avec squashfs et overlayfs).

        Ce systĂšme de fichier se trouve donc sur le chemin critique en termes de performances, ce qui fait que mĂȘme de petites optimisations peuvent dĂ©boucher sur de gros gains de performance.

        Optimisation de la gestion de la mĂ©moire: utilisation d’un allocateur dĂ©diĂ© pour allouer et dĂ©sallouer trĂšs rapidement de la mĂ©moire de travail avec une durĂ©e de vie courte.

        Ajout d’une vĂ©rification manquante sur la prĂ©sence du dossier parent, qui pouvait dĂ©clencher un kernel panic.

        NFS4

        Le pilote NFS4 permet de monter des partages réseau NFS. Cependant, le pilote ne fonctionne pas toujours, et certains utilisateurs doivent se rabattre sur le pilote NFS v2 (ancienne version du protocole de moins en moins utilisée), ou encore sur des systÚmes de fichiers FUSE comme SMB ou sshfs.

        Le pilote NFS4 peut maintenant ĂȘtre compilĂ© avec userlandfs (Ă©quivalent de FUSE pour Haiku) pour s’exĂ©cuter en espace utilisateur. Cela facilitera le dĂ©boguage.

        ramfs et ram_disk

        ram_disk est un pĂ©riphĂ©rique de stockage qui stocke les donnĂ©es en RAM, il a une taille fixe et doit ĂȘtre formatĂ© avec un systĂšme de fichiers avant de pouvoir ĂȘtre utilisĂ©.
        ramfs est un systÚme de fichier stockant les données directement en RAM sans passer par un périphérique de stockage de type bloc. Sa taille est dynamique en fonction des fichiers qui sont stockés dedans.

        Ces deux pilotes ont reçu divers nettoyages et corrections, suite à des problÚmes mis en évidence par des assertions ajoutées précédemment dans le code.

        Dans le ramfs, nettoyage de code dupliquĂ©, rĂ©duction de la contention sur les verrous, amĂ©lioration de la fonction readdir pour retourner plusieurs entrĂ©es d’un coup au lieu de les Ă©grĂ©ner une par une.

        Ajout de la gestion des fichiers « spĂ©ciaux » (FIFOs nommĂ©s, sockets UNIX) dans ramfs.

        Autres

        Refonte de l’algorithme de « scoring » des requĂȘtes sur les systĂšmes de fichiers. Cet algorithme permet d’estimer quels sont les termes de la requĂȘte les moins coĂ»teux Ă  Ă©valuer, afin de rĂ©duire rapidement le nombre de fichiers rĂ©pondant aux critĂšres, et d’effectuer les opĂ©rations complexes seulement sur un petit nombre de fichiers restants. Les requĂȘtes s’exĂ©cutent ainsi encore plus rapidement (waddlesplash).

        Réécriture du code pour identifier les partitions dans mount_server. Ce code permet de re-monter les mĂȘmes partitions aprĂšs un redĂ©marrage de la machine, mais l’ancien algorithme pouvait trouver de faux positifs et monter des partitions supplĂ©mentaires (OscarL et waddlesplash).

        Correction d’une option de debug pour intercepter les accĂšs aux adresses non initialisĂ©es (0xcccccccc) ou dĂ©jĂ  libĂ©rĂ©es (0xdeadbeef). Cela permet de dĂ©tecter certains accĂšs Ă  des pointeurs invalides. Cette option ne fonctionnait correctement que sur les systĂšmes 32 bit, maintenant, l’adresse correspondante pour les machines 64 bit est Ă©galement protĂ©gĂ©e.

        libroot

        La libroot est la librairie C de base de Haiku. Elle regroupe les fonctions parfois implĂ©mentĂ©es dans les libc, libm, libpthread, librt et libdl pour d’autres systĂšmes. Haiku choisit une approche tout-en-un, car il est excessivement rare qu’une application n’ait pas besoin de toutes ces bibliothĂšques.

        Du fait de la grande diversité des services rendus par cette bibliothÚque, il est difficile de présenter les changements de façon cohérente et organisée.

        Correction de quelques cas particuliers dans le traitement des tableaux de descripteurs de fichiers pour select() et dĂ©placement d’une partie des dĂ©finitions de sys/select.h vers des en-tĂȘtes privĂ©s non exposĂ©s aux applications (waddlesplash).

        Ajout d’une fonction manquante dans les « stubs » de la libroot, qui sont utilisĂ©s lors de la compilation de Haiku en mode « bootstrap » (sans aucune dĂ©pendance prĂ©compilĂ©e externe). Les stubs sont normalement gĂ©nĂ©rĂ©s Ă  l’aide d’un script, mais celui-ci n’avait pas pris en compte une fonction nĂ©cessaire seulement sur les architectures x86.

        Poursuite du travail d’unification des fonctions de manipulation des temps d’attentes pour toutes les fonctions de la libroot qui peuvent dĂ©clencher un timeout. Correction d’un cas oĂč la fonction pthread_testcancel retournait NULL au lieu de la valeur attendue PTHREAD_CANCELED.

        Optimisation de la fonction strcmp, remplacement d’autres fonctions avec de meilleures implĂ©mentations provenant de la bibliothĂšque C musl.

        Compatibilité POSIX-2024

        La spĂ©cification POSIX Issue 8 a Ă©tĂ© publiĂ©e et comporte de nombreux changements. AprĂšs la version 7, la façon de travailler est devenue plus ouverte, avec un outil de suivi de bugs permettant de proposer des amĂ©liorations. Cela conduit Ă  la standardisation de nombreuses extensions qui sont communes entre les systĂšmes GNU et BSD, rendant plus facile d’écrire du code portable entre tous les systĂšmes compatibles POSIX.

        • Ajout de fonctions qui ouvrent des descripteurs de fichiers avec le drapeau O_CLOEXEC activĂ© par dĂ©faut (dup2, pipe3)
        • Ajout de reallocarray (un mĂ©lange de calloc et realloc)
        • Ajout de memmem (recherche d’une suite d’octets dans une zone de mĂ©moire)
        • Ajout de mkostemp
        • Ajout de posix_devctl et modifications de l’implĂ©mentation de ioctl
        • Ajout de pthread_getcpuclockid pour mesurer le temps CPU consommĂ© par un thread
        • Ajout de la constante d’erreur ESOCKTNOSUPPORT bien qu’elle ne soit jamais utilisĂ©e (cela facilite le portage d’applications qui attendent l’existence de ce code d’erreur)
        • Correction d’une boucle infinie dans pipe2
        • Suppression des fonctions *randr48_r des en-tĂȘtes publics. Il s’agit d’une extension disponible uniquement dans la glibc, et qui ne devrait donc pas ĂȘtre disponible dans la libroot. Cependant, l’implĂ©mentation est conservĂ©e pour assurer la compatibilitĂ© d’ABI avec les applications existantes.

        ioctl et posix_devctl

        La fonction ioctl existe depuis le dĂ©but de UNIX et permet de rĂ©aliser des opĂ©rations spĂ©ciales sur les descripteurs de fichiers (tout ce qui n’est pas une simple lecture ou Ă©criture). En particulier, elle est beaucoup utilisĂ©e pour les pilotes de pĂ©riphĂ©riques qui exposent une interface sous forme de fichiers dans /dev.

        L’existence de cette fonction Ă©tait demandĂ©e dans la spĂ©cification POSIX, mais son fonctionnement n’était pas documentĂ© Ă  l’exception de quelques cas particuliers. La documentation spĂ©cifie une fonction avec un nombre d’arguments variable : un numĂ©ro de descripteur de fichier, un identifiant de l’opĂ©ration Ă  effectuer, puis des paramĂštres qui dĂ©pendent de l’opĂ©ration. On trouve des opĂ©rations avec aucun, un, ou deux paramĂštres.

        Dans UNIX et la plupart de ses dĂ©rivĂ©s, la liste des opĂ©rations possibles est dĂ©finie Ă  l’avance, et le format des numĂ©ros identifiants permet de dĂ©terminer de façon prĂ©dictible quel est le nombre de paramĂštres attendus. Ce n’est pas le cas dans Haiku : les pilotes de pĂ©riphĂ©riques ont le choix d’assigner n’importe quelle valeur Ă  n’importe quelle opĂ©ration, et la mĂȘme valeur numĂ©rique peut donc avoir une signification diffĂ©rente selon le type de fichier.

        L’opĂ©ration ioctl est donc en rĂ©alitĂ© implĂ©mentĂ©e avec toujours 4 arguments pour Haiku : en plus des deux dĂ©jĂ  mentionnĂ©s, il faut ajouter un pointeur vers une zone de mĂ©moire, et un entier indiquant la taille de cette zone. Des acrobaties Ă  base de macros permettent de remplir ces deux paramĂštres avec des valeurs par dĂ©faut lorsqu’ils ne sont pas nĂ©cessaires (au moins pour les programmes Ă©crits en C ; en C++, ces deux paramĂštres sont simplement dĂ©clarĂ©s avec une valeur par dĂ©faut).

        Heureusement, ces problĂšmes avec ioctl vont ĂȘtre rĂ©solus, puisque POSIX a introduit une nouvelle fonction en remplacement : posix_devctl. Celle-ci fonctionne comme l’implĂ©mentation de ioctl dans Haiku, mais les arguments doivent toujours ĂȘtre spĂ©cifiĂ©s explicitement. Cela va donc permettre de disposer d’une interface rĂ©ellement portable pour ces opĂ©rations.

        Kernel

        Correction de la taille du tampon mémoire par défaut de la classe KPath qui permet au noyau de manipuler des chemins dans le systÚme de fichiers (waddlesplash).

        VFS

        Le VFS (virtual filesystem) est l’interface entre les appels systĂšmes d’accĂšs aux fichiers (open, read, write
) et les systĂšmes de fichiers proprement dit. En plus de ce travail d’interfaçage (par exemple : convertir un chemin de fichier absolu en chemin relatif Ă  un point de montage), cette couche regroupe un ensemble de fonctionnalitĂ©s qui n’ont pas besoin d’ĂȘtre rĂ©implĂ©mentĂ©es par chaque systĂšme de fichier: vĂ©rification des permissions, mĂ©moire cache pour limiter les accĂšs au disque.

        Si les systĂšmes de fichiers identifient chaque objet par un inode (en gĂ©nĂ©ral liĂ© Ă  la position de l’objet sur le disque ou dans la partition de stockage), le VFS travaille lui avec des vnode qui existent uniquement en RAM et sont allouĂ©s dynamiquement pour les fichiers en cours d’utilisation.

        D’autre part, les systĂšmes de fichiers peuvent se reposer sur un cache de blocs. Ce dernier se trouve plutĂŽt Ă  l’interface entre un systĂšme de fichier et le support de stockage correspondant, puisqu’il fonctionne au niveau des blocs de donnĂ©es stockĂ©es sur disque. Mais son intĂ©gration avec le VFS est nĂ©cessaire pour savoir quels sont les fichiers en cours d’utilisation et les opĂ©rations prĂ©visibles sur chacun (par exemple, il est utile de prĂ©-charger la suite d’un fichier lorsque un programme demande Ă  en lire le dĂ©but, car il est probable que ces informations vont bientĂŽt ĂȘtre nĂ©cessaires).

        Le VFS est donc un Ă©lĂ©ment central en particulier pour obtenir de bonnes performances sur les accĂšs aux fichiers, en minimisant les accĂšs aux vrais systĂšmes de fichiers qui doivent maintenir beaucoup d’informations Ă  jour sur les disques. Tout ce qui peut ĂȘtre traitĂ© en utilisant uniquement la RAM grĂące Ă  la mise en cache est beaucoup plus rapide.

        Investigation et amĂ©lioration des performances de la commande git status qui prenait beaucoup plus de temps Ă  s’exĂ©cuter que sur d’autres systĂšmes (waddlesplash):

        • Meilleure gestion des vnodes inutilisĂ©s Ă  l’aide d’une liste chaĂźnĂ©e 'inline' protĂ©gĂ©e par un spinlock, Ă  la place d’un mutex peu performant dans ce code trĂšs frĂ©quemment appelĂ©.
        • Modification de la structure io_context pour utiliser un verrou en lecture-Ă©criture (permettant plusieurs accĂšs concurrents en lecture, mais un seul en modification).
        • Ajout d’un chemin rapide dans le cas le plus simple de la recherche de vnode.

        Avec ces changements, les performances sont améliorées au moins lorsque les données nécessaires sont déjà disponibles dans le cache disque.

        Nettoyage et corrections dans les fonctions d’entrĂ©es-sorties vectorisĂ©es et asynchrones do_iterative_fd_io et do_fd_io utilisĂ©es par les systĂšmes de fichiers: meilleure gestion des rĂ©fĂ©rences et prise en compte de certains cas particuliers. Cela permet de simplifier un peu le code de prĂ©-remplissage du cache de blocs (waddlesplash).

        La prise en compte des drapeaux O_RDONLY|O_TRUNC lors de l’ouverture d’un fichier est maintenant faite directement dans le VFS, il n’est plus nĂ©cessaire de transmettre la requĂȘte au systĂšme de fichier. Cette combinaison de drapeaux est un comportement indĂ©fini dans POSIX, et supprime le contenu du fichier dans Linux. Dans Haiku, elle remonte une erreur.

        Correction du comportement de l’ouverture d’un symlink invalide (ne pointant pas sur un fichier) avec le flag O_CREAT.

        Le parser de requĂȘtes pouvait essayer de lire des donnĂ©es invalides (la taille de clĂ© d’un index inexistant) dans certains cas particuliers.

        Nettoyage de logs dans tous les systĂšmes de fichiers qui affichaient un message lors de chaque tentative d’identification. On avait donc un message de chaque systĂšme de fichier pour chaque partition. Maintenant, le cas le plus courant (le systĂšme de fichier ne reconnaĂźt pas du tout la partition) ne dĂ©clenche plus de logs.

        Correction d’une erreur dans userlandfs sur la fonction file_cache_read pour les tentatives d’accĂšs aprĂšs la fin d’un fichier (cas particulier nĂ©cessaire pour implĂ©menter correctement mmap).

        Correction d’une mauvaise gestion du errno dans le cache de blocs, qui pouvait aboutir à un kernel panic.

        Diverses amĂ©liorations, nettoyages et corrections de fuites mĂ©moire: dans la gestion des fichiers montĂ©s comme image disques, dans les entrĂ©es-sorties asynchrones, dans l’enregistreur d’évĂšnements scheduling recorder.

        Console et affichage

        Unification du code d’affichage du splash screen (par le bootloader) et des icĂŽnes de la sĂ©quence de dĂ©marrage (par le kernel) pour Ă©viter qu’ils prennent des dĂ©cisions diffĂ©rentes sur le positionnement (par exemple si l’un est compilĂ© pour afficher le logo de Haiku, et l’autre en version « dĂ©griffĂ©e » sans ce logo qui est une marque dĂ©posĂ©e) (waddlesplash).

        Initialisation de la console framebuffer beaucoup plus tĂŽt dans le dĂ©marrage du noyau, ce qui permet d’afficher un message Ă  l’écran en cas de kernel panic y compris dans les premiĂšres Ă©tapes du dĂ©marrage (par exemple, l’initialisation de la mĂ©moire virtuelle). Auparavant, ces informations Ă©taient disponibles uniquement dans le syslog (inaccessible si le systĂšme ne dĂ©marre pas) ou via un port sĂ©rie (en voie de disparition sur les machines modernes) (waddlesplash).

        Réseau

        RemontĂ©e des donnĂ©es annexes (ancillary data) en une seule fois lorsque c’est possible. Ces donnĂ©es sont utilisĂ©es en particulier dans les sockets de domaine AF_UNIX pour permettre d’échanger des descripteurs de fichiers entre processus. Ce regroupement de donnĂ©es n’est pas exigĂ© par la spĂ©cification POSIX, mais c’est le comportement attendu par le code de communication interprocessus de Firefox et de Chromium (ils utilisent tous les deux le mĂȘme code) (waddlesplash).

        Gestion de la mémoire

        Comme indiquĂ© plus haut dans la dĂ©pĂȘche, l’apparition du navigateur Iceweasel a mis en Ă©vidence de nombreux problĂšmes autour de la gestion de la mĂ©moire. Cela a donc Ă©tĂ© l’objet d’un gros travail de stabilisation et d’amĂ©lioration.

        • Le cache d’objets du noyau pouvait parfois ignorer le paramĂštre indiquant la rĂ©serve minimum d’objets devant toujours ĂȘtre disponibles (waddlesplash)
        • AmĂ©lioration de l’implĂ©mentation de la famille de fonctions autour de mprotect, qui permettent une gestion fine et bas niveau de la mĂ©moire. En particulier, plusieurs problĂšmes se posaient lors de l’utilisation de ces fonctions lors d’un appel Ă  fork, les deux processus se retrouvant dans un Ă©tat incohĂ©rent,
        • Suppression de logs prĂ©sents dans les mĂ©thodes de dĂ©faut de page, qui sont peu appelĂ©es pour les applications classiques, mais exploitĂ©es volontairement par d’autres applications (machines virtuelles Java ou Javascript par exemple). Les logs Ă©taient donc superflus dans ce cas (waddlesplash),
        • Optimisation de l’écriture par lot de plusieurs pages de mĂ©moire vers le swap,
        • Meilleure gestion des permissions d’accĂšs page par page,
        • Correction de plusieurs problĂšmes conduisant Ă  un blocage ou fort ralentissement du systĂšme quand il n’y a plus assez de mĂ©moire libre,
        • AmĂ©lioration de la stratĂ©gie d’allocation de la table des descripteurs de fichiers,
        • Regroupement de code dupliquĂ© pour chaque plateforme qui Ă©tait en fait gĂ©nĂ©rique.

        Ce travail se poursuit avec un remplacement de l’allocateur mĂ©moire actuel, qui est basĂ© sur hoard2. Cette implĂ©mentation est assez ancienne et montre aujourd’hui ses limites. Des essais sont en cours avec l’implĂ©mentation de malloc d’OpenBSD, ainsi qu’avec mimalloc de Microsoft, pour dĂ©terminer lequel des deux sera utilisĂ©. D’autres allocateurs ont Ă©tĂ© rejetĂ©s, car ils ne rĂ©pondent pas au besoin de Haiku, en particulier la possibilitĂ© de fonctionner efficacement sur un systĂšme 32 bits ou l’espace d’adressage est une ressource limitĂ©e.

        Autres

        SĂ©curisation des permissions sur les zones mĂ©moire partagĂ©es: une application ne peut pas ajouter des permissions en Ă©criture aux zones mĂ©moire d’une autre application. Une application qui n’est pas lancĂ©e par l’utilisateur root ne peut pas inspecter la mĂ©moire d’une application lancĂ©e par l’utilisateur root. Ajout toutefois de cas particuliers pour permettre au Debugger de faire son travail (il a besoin d’accĂ©der Ă  la mĂ©moire d’autres applications).

        Ajout et amĂ©lioration de commandes dans le debugger noyau pour investiguer l’état de l’ordonnanceur d’entrĂ©es-sorties, qui se charge de programmer les accĂšs disque dans un ordre le plus efficace possible (waddlesplash).

        La fonction vfork n’appelle plus les fonctions pre-fork. Haiku n’implĂ©mente pas complĂštement vfork, mais peut se permettre des optimisations sur le travail qu’un duo fork + exec classique demanderait normalement.

        La configuration de la randomization de l’espace mĂ©moire (ASLR) est maintenant faite par la libroot et pas par le noyau. Ainsi une application peut utiliser une version diffĂ©rente de la libroot pour avoir une politique de randomization diffĂ©rente.

        Optimisation de l’accùs par un thread à sa propre structure Thread

        Chargeur de démarrage

        L’écran de dĂ©marrage s’affiche correctement sur les systĂšmes EFI utilisant un mode Ă©cran avec une profondeur de couleur 16 bits (korli).

        Affichage de la taille des partitions démarrables dans le menu de démarrage, pour faciliter leur identification (waddlesplash).

        Activation des warnings du compilateur sur les chaĂźnes printf invalides.

        Augmentation de la zone de mĂ©moire utilisĂ©e pour la dĂ©compression de l’archive de dĂ©marrage lors du boot sur le rĂ©seau, l’archive Ă©tait devenue trop grosse suite Ă  l’ajout de nouveaux pilotes.

        Refactorisation du code de gestion de la mĂ©moire entre le bootloader et le runtime_loader, ajout de tests pour cette implĂ©mentation, et optimisation de l’utilisation mĂ©moire du bootloader.

        Amélioration du comportement si le device tree définit un port série sans spécifier de baudrate: le bootloader suppose que le baudrate est déjà configuré, et utilise le port sans essayer de le réinitialiser.

        Outils de compilation

        La compilation de Haiku est un processus relativement complexe: il faut utiliser deux compilateurs pour Haiku lui-mĂȘme (un gcc rĂ©cent plus une version plus ancienne pour assurer la compatibilitĂ© avec BeOS) ainsi que un compilateur pour le systĂȘme hĂŽte de la compilation (qui peut ĂȘtre Linux, BSD, Mac OS ou Windows) pour gĂ©nĂ©rer des outils nĂ©cessaires Ă  la compilation elle-mĂȘme. L’outil retenu est Jam, une alternative Ă  Make avec une meilleure gestion des rĂšgles gĂ©nĂ©riques rĂ©utilisables.

        • Ajout de vĂ©rification pour Ă©viter d’avoir un build partiellement configurĂ©, avec des ConfigVars dĂ©finies mais vides.
        • Retrait d’un warning incorrect dans l’outil de build jam si on spĂ©cifie Ă  la fois un profil et une cible de compilation sur la ligne de commande.
        • Reconnaissance des processeurs hĂŽtes ARM et RISC-V pour la compilation croisĂ©e, correction d’autres problĂšmes avec les architectures non-x86.
        • Ajout de dĂ©pendances manquantes dans les rĂšgles de compilation de packagefs.
        • Suppression de fichiers de licence fournis avec Haiku mais concernant du code qui avait Ă©tĂ© supprimĂ© de Haiku auparavant.
        • AmĂ©lioration de la remontĂ©e d’erreur du script configure si un interprĂ©teur Python n’a pas Ă©tĂ© trouvĂ©.
        • Correction de messages d’avertissement de awk pour l’utilisation de fonctions qui n’existent plus dans le traitement des fichiers d’identifiants matĂ©riels USB et PCI.

        Documentation

        Documentation interne

        Ajout de documentation sur les dĂ©tails d’implĂ©mentation de ioctl et posix_devctl et les spĂ©cificitĂ©s de Haiku pour la premiĂšre (PulkoMandy).

        Correction de fautes de frappe dans l’introduction au launch_daemon.

        Remplacement de toutes les références à "OpenBeOS" par "Haiku".

        Documentation d’API

        Ajout de documentation pour les méthodes GetFontAndColor et SetFontAndColor de BTextView.

        Ajout de documentation pour les classes BShelf et BGameSound.

        RĂ©organisation de la liste des caractĂšres de contrĂŽles dans la documentation du clavier, ajout d’entrĂ©es manquantes dans cette liste et ajoute de commentaires indiquant Ă  quelles combinaisons de touches ces caractĂšres sont normalement associĂ©s.

        Traductions de Haiku

        La traduction du systĂšme dans diffĂ©rentes langues est un facteur important d’inclusivitĂ© et d’accessibilitĂ© (mĂȘme si la communication avec l’équipe de dĂ©veloppeurs pour le support n’est pas toujours simple).

        Haiku est disponible dans 30 langues, la trentiÚme étant le coréen, pour lequel il y a un nouveau responsable des traductions (le précédent avait cessé toute activité et laissé la traduction inachevée).

        Haiku recherche des volontaires pour s’occuper des traductions en biĂ©lorusse, croate, bulgare, hindi, punjabi et slovĂšne, pour lesquelles les prĂ©cĂ©dents responsables de relectures n’ont plus le temps d’assurer le rĂŽle. Ainsi bien sĂ»r que de l’aide pour la traduction du systĂšme, du manuel d’utilisation, et des applications tierces, que ce soit pour ajouter de nouvelles langues ou pour renforcer les Ă©quipes s’occupant de langues existantes. Le point d’entrĂ©e est le portail d’internationalisation de Haiku.

        La traduction du systĂšme Haiku s’effectue avec Pootle. L’outil n’est plus dĂ©veloppĂ© et des investigations sont en cours pour le remplacer par Weblate. La traduction du manuel d’utilisation s’effectue avec [un outil spĂ©cifiquement dĂ©veloppĂ© pour cela](https://github.com/haiku/userguide-translator. La traduction des applications s’effectue Ă©galement avec un outil personnalisĂ© nommĂ© Polyglot.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        ❌