Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierinformatique général
  • ✇LinuxFr.org : les dépêches
  • Des nouvelles de Fortran n°8 - mai 2026
    Heureusement que le silicium ne fond qu'à 1414°C car GNU Fortran 16.1 va faciliter la vie de ceux qui l'aiment chaud. Ainsi va la technique, difficile pour le modélisateur de ne pas être fasciné par la puissance de sa divine machine, ce « Dieu qui met de l’ordre dans le monde » (paraît-il - NdM: référence). D'autres actualités tout aussi brûlantes seront bien sûr abordées dans ce huitième numéro Des nouvelles de Fortran. Et en conclusion, on essaiera d'entrevoir ce que ça peut signifier de calcu

Des nouvelles de Fortran n°8 - mai 2026

Heureusement que le silicium ne fond qu'à 1414°C car GNU Fortran 16.1 va faciliter la vie de ceux qui l'aiment chaud. Ainsi va la technique, difficile pour le modélisateur de ne pas être fasciné par la puissance de sa divine machine, ce « Dieu qui met de l’ordre dans le monde » (paraît-il - NdM: référence). D'autres actualités tout aussi brûlantes seront bien sûr abordées dans ce huitième numéro Des nouvelles de Fortran. Et en conclusion, on essaiera d'entrevoir ce que ça peut signifier de calculer avec 23536 cartes NVIDIA Grace Hopper GH200.

    Sommaire


    Que diriez-vous d’ « ordinateur » ?
    Grace Hopper
    Coarrays
    ICON Team Wins Gordon Bell Prize for Climate Modelling


    Sur le front des compilateurs

    Compilateurs opérationnels

    GFortran échauffe les cœurs

    FORTRAN avait 22 ans quand Donna Summer chantait « Hot Stuff » (1979). GFortran a aujourd'hui quasiment le même âge, ayant été intégré dans GCC 4.0.0 en avril 2005 à la place de l'ancien compilateur g77. Mais faire tourner un cœur quand on aurait pu en faire tourner huit, c'était frustrant. Voilà qui est réparé, car l'équipe de développement a travaillé avec ardeur pour que GFortran gère enfin de façon native les coarrays (sur les machines à un nœud, donc nos PC). Jusqu'alors, il fallait installer OpenCoarrays, une surcouche du compilateur et utiliser les commandes caf et cafrun.

    Ah oui, c'est quoi les coarrays ? D'une façon générique, ça désigne les paradigmes de calcul parallèle introduits par Fortran 2008 (les coarrays proprement dits) et Fortran 2018 (collectives, teams, etc.). C'est un parallélisme de type SPMD (single program, multiple data). Ça mériterait peut-être un petit journal, un de ces jours.

    La collection de compilateurs GCC 16.1 est sortie officiellement le 30 avril 2026. La liste des améliorations apportées aux différentes parties de GCC 16, et en particulier au compilateur GFortran, à OpenMP (The OpenMP API specification for parallel programming) et OpenACC (Open ACCelerators), est ici. La version 16.1.1 du 1er mai 2026 est déjà arrivée dans Fedora 44. Chapeau bas !

    Flang

    Flang, actuellement disponible en version 22.1 depuis le 24 février 2026, a également introduit une prise en charge expérimentale avec l'option -fcoarray, mais il échoue pour l'instant à compiler mes démos utilisant les coarrays (testé avec Flang 22.1.4 dans Fedora 44).

    Il propose également la gestion des boucles parallélisables do concurrent (Fortran 2008) via OpenMP.

    Intel ifx

    Intel ifx, pas libre si ce n'est en tant que free beer (pour se rafraîchir), est actuellement en version 2026.0.0 sortie le 28 avril 2026. Il poursuit l'implémentation de la norme Fortran 2023 et d'OpenMP 6.0 (sorti en novembre 2024).

    MATLAB MEX

    « Un fichier MEX est une fonction créée dans MATLAB qui appelle un programme C/C++ ou une sous-routine Fortran. » Jusqu'à maintenant, pour une raison qui nous échappe, MEX ne prenait en charge que les codes sources Fortran en format fixe, celui hérité des cartes perforées ! Désormais MATLAB R2026a prend en charge le format libre, introduit par la norme Fortran 90.

    En gestation

    LFortran

    Le développement du compilateur LFortran continue (v0.63). Comme l'annonce cet article du blog LFortran du 5 février 2026, « tout compilateur Fortran digne de ce nom doit être capable de compiler LAPACK (Linear Algebra Package), sans doute la bibliothèque Fortran la plus célèbre et la plus influente. » Qui plus est, LFortran compile désormais également fpm. Peut-être bien que le compilateur, dont la première version publique date de début 2019, passera en version Bêta à la fin de l'année. D'autant plus que le GSoC 2026 devrait aider (voir plus bas).

    Communauté Fortran-lang

    Projets Fortran-lang

    fpm (Fortran Package Manager)

    Le gestionnaire de paquets et de construction de projet fpm est disponible en version 0.13 depuis le 17 février 2026. Il s'agit d'une mise à jour majeure, fpm permettant désormais de définir dans le manifeste fpm.toml de votre projet des paramètres spécifiques pour chaque compilateur et plateforme, qui peuvent être regroupés dans des profils. De plus, fpm gère désormais l'ensemble de la syntaxe conditionnelle du préprocesseur cpp. Voir cette annonce pour découvrir les autres nouveautés significatives.

    stdlib

    La bibliothèque standard (de facto) est sortie en version 0.8 le 23 janvier 2026. En l'absence de communiqué officiel, je ne m'avancerai pas à lister les avancées importantes, les pull-requests étant trop nombreuses… Disons simplement qu'avec 22 contributeurs, dont 13 nouveaux depuis la 0.7, ça bouillonne. Ça semblera peu à certains mais dans le petit monde du Fortran, c'est beaucoup.

    Quelques projets à l'honneur

    • fpm-modules est un greffon fpm permettant de générer des graphiques Mermaid pour visualiser les dépendances entre modules Fortran. Il est développé par @davidpfister et distribué sous licence MIT.

    • quickr permet de traduire une fonction R en Fortran et de l'appeler depuis R via une fonction quick(). Le projet est développé par @t-kalinowski sous licence MIT.

    Événements

    Journée Fortran moderne CNRS (juin 2025)

    Une partie de la communauté Fortran nationale s'est réunie à l'Observatoire de Paris lors d'une journée organisée par le groupe Calcul du CNRS, le vendredi 13 juin 2025. La petite salle était bien remplie et l'ambiance chaleureuse, voire tropicale, la clim étant en panne :-)

    On a pu aborder quelques points chauds de l'actualité du langage via ces présentations :

    • les normes Fortran 2018 / 2023 et l'actualité des compilateurs ;
    • le Fortran Package Manager ;
    • la bibliothèque « standard » ;
    • le Fortran sur GPU.

    Les PDF sont disponibles sur cette page : https://groupe-calcul.cnrs.fr/2025-06-journee-fortran.html

    FortranCon 2025

    Les 4 et 5 novembre 2025 a eu lieu la FortranCon 2025, troisième édition de la conférence internationale sur le développement et l'utilisation du langage de programmation Fortran. Mais on attend toujours la mise en ligne des vidéos sur la chaîne YouTube FortranCon.

    GSoC 2026, the Summer of Love

    Pour le Google Summer of Code 2026, la communauté Fortran-lang conduit quatre projets centrés sur l'amélioration du compilateur LFortran. Avec bien sûr l'objectif d'offrir les fameux coarrays ! Décidément, l'été sera chaud (2026 pourrait même être une année super El Niño, paraît-il)…

    D'autant plus que côté GCC, s'il n'y a pas de projet directement axé GFortran, deux projets concernent des améliorations pour OpenMP et OpenACC et devraient bénéficier à tous les langages qui les gèrent.

    Chez LLVM, on note également le projet d'améliorer le débogueur LLDB pour gérer le Fortran (compilateur Flang).

    Coin lecture haute-performance

    Ménage à trois : un noyau stable

    En 1995, Fortran / C / C++ forment le trio de tête dans le monde du calcul haute performance (HPC pour High-Performance Computing). Même trio trente ans après. L'auteur essaie d'en comprendre les raisons (ou déraisons) dans ce long article de blog très fouillé :

    Je vous laisse lire, mais en conclusion il espère néanmoins que les choses auront changé dans 30 ans.

    À quoi ça sert tout ça ? Étude de cas

    Question ellulienne par excellence, à quoi ça sert tout ça (toujours plus de puissance de calcul) ? La question est aussi pertinente, ou impertinente, que toutes les questions qu'on peut se poser dans une vie. Ça sert à créer le monde moderne, à étudier le cosmos, à calculer des trajectoires pour les sondes spatiales, à simuler des explosions nucléaires, etc. Ça sert aussi à étudier les dégâts induits.

    Nous allons explorer rapidement une publication germano-helvétique. En n'étant pas dans le domaine, il ne faut pas espérer tout comprendre mais on peut en extraire quelques informations intéressantes, avec prudence pour ne pas dire trop de bêtises :

    • Klocke, Daniel, Claudia Frauen, Jan Frederik Engels, et al, « Computing the Full Earth System at 1 Km Resolution », prépublication, arXiv, 7 novembre 2025, https://doi.org/10.48550/arXiv.2511.02021.

    Il s'agit de simuler un système Terre complet, avec une grille composée de cellules de 1,25 km de côté, prenant en compte les cycles couplés de l'eau, de l'énergie et du carbone. L'étude utilise le modèle ICON de prévision météo et climatique, dont le code source est disponible sous licence BSD-3-Clause. C'est essentiellement du Fortran, avec une parallélisation basée sur MPI, OpenMP et OpenACC.

    Les machines utilisées sont JUPITER en Allemagne et Alps en Suisse. Concentrons nous sur la divine machine JUPITER, qui d'après le TOP500 de novembre 2025 est devenue, dans sa version Booster, le premier supercalculateur exaflopique (exascale) en Europe, et le quatrième dans le monde (les trois premiers étant aux USA). Au moment de la publication de l'article, il offrait 23536 NVIDIA Grace Hopper GH200 superchips, des cartes électroniques qui tiennent à peine dans une main grande ouverte (celle du PDG). Chacune de ces cartes comprend un CPU Grace et sa mémoire (72 cœurs, 120 Go) et un GPU Hopper (avec 96 Go), avec un bus à 900 Go/s, et consomme jusqu'à 680 W. Un rapide calcul nous amène à un total de 16 MW ! De quoi faire un barbecue géant (grille, baby, grille !). Le JUPITER Booster est 4e au TOP500, mais seulement 14e au Green500 avec 63,3 GFlops/W. Notons enfin que le système utilisé pour exploiter la bête est Red Hat Enterprise Linux.

    Les auteurs adoptent une approche séparant d'une part le code Fortran écrit par les chercheurs et d'autre part les manipulations effectuées par les ingénieurs performance pour le faire fonctionner d'une façon optimale sur le monstre. En particulier, ils ont épuré le noyau de calcul le plus intensif de la partie atmosphérique (le dynamical core) pour le ramener à 1400 lignes de code et ont utilisé le cadriciel DaCe (Data‑Centric parallel programming) pour le paralléliser au mieux, au lieu d'utiliser OpenACC. Autre exemple, les auteurs tirent parti du fait que les réactions de l'océan sont beaucoup plus lentes que celles de l'atmosphère : donc l'océan sur le CPU, le reste sur le GPU.

    L'équipe annonce une compression temporelle \tau = 145,7 jours simulés par jour de calcul et conclut qu'en un peu moins de six mois de calcul on pourra simuler deux scenarii de réchauffement climatique, avec variantes, sur les trente prochaines années. Hot stuff !

    Tux et carte électronique
    (source Tuxeries, JC, 2002, Free Art License 1.3)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    • ✇LinuxFr.org : les dépêches
    • Nouvelle année, vœux 2026, voyageons dans le temps
      En cette traditionnelle période de vœux lors du changement d’année, voyons ce qui devrait… changera… pourrait éventuellement changer ou non. Donc une nouvelle fois encore retour sur nos accomplissements passés et projection dans le futur, vers ce que nous aimerions voir plus sur notre site préféré et écouter plus dans notre podcast préféré. Quatre personnes se sont prêtées au jeu de cette dépêche, pas vraiment de vœux, mais un peu quand même. En vrac dans les accomplissements : retours d’expé

    Nouvelle année, vœux 2026, voyageons dans le temps

    En cette traditionnelle période de vœux lors du changement d’année, voyons ce qui devrait… changera… pourrait éventuellement changer ou non. Donc une nouvelle fois encore retour sur nos accomplissements passés et projection dans le futur, vers ce que nous aimerions voir plus sur notre site préféré et écouter plus dans notre podcast préféré.

    Bonne année 2026

    Quatre personnes se sont prêtées au jeu de cette dépêche, pas vraiment de vœux, mais un peu quand même. En vrac dans les accomplissements : retours d’expérience, accessibilité, rencontres, arkéologie, transmission, fiabilité, migration, vote électronique, technocritique, documentation et programmation. L’année qui vient, sur LinuxFr.org et Projets Libres, promet d’être fédérée, pérenne, humaine, sobre, excitante, écrite et écoutée, réutilisable, réparable et résiliente.

      Sommaire

      Benoît (Oumph) Sibaud

      Accomplissements, réalisations, progrès de l’année 2025

      Commençons par le serpent de mer de la réduction du retard côté adminsys pour LinuxFr.org : une plus grande partie des services est maintenant portée par une distribution récente (Debian Trixie), avec un mélange de conteneurs lxc et docker. Évidemment on passe toujours trop de temps à gérer du spam et des pénibles. J’ai eu l’occasion de rejouer avec des cartes DRAC pendant les incidents, d’écrire des comptes-rendus d’incident (ne jamais négliger leur importance) et de faire un peu plus de systemd.
      J’ai participé au stand et aux animations sur place lors de la conférence Open Source eXPerience Paris et c’était toujours agréable et remotivant de voir d’autres personnes de l’équipe, de notre lectorat, des libristes connus de longue date et des nouvelles personnes. Le 28 juin 2025, on fêtait les deux ans de la politique de minimisation des données et il ne s’est rien passé car la prochaine étape est en juin 2026 (les premiers comptes avec trois ans d’inactivité).

      Je suis satisfait d’une certaine fiabilité en termes de contenus publiés : les rétrospectives toutes les quinzaines, la traditionnelle dépêche d’appel aux dons, les non moins régulières assemblée générale et publication de bilan et célébration d’anniversaire ou un poisson d’avril.

      En dehors de contenus attendus, j’ai écrit sur les sujets liés à LinuxFr.org (OSI rejointe, incidents du 26 juin et du 26 août), sur des sujets qui m’intéressent (la maintenance, le vote électronique ou le jeu d’apprentissage SQLNoir), des sujets plus tristes (un décès parmi d’autres ou une fin de vie pour un projet), et publié quelques liens sur les licences, la sécurité, le vote électronique, l’Union européenne, les dons, la technocritique et le spam.

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      Déjà dans les reports de 2024, je voudrais m’intéresser au Fediverse et à ActivityPub peut-être, et peut-être à Gemini (le protocole) ? Il y a des travaux en cours sur le service de partage sur les réseaux sociaux share. Par contre j’ai donné moins de conférences en 2024 pour LinuxFr.org et globalement assisté à moins d’événements : donc je réitère l’ambition 2025 de rencontrer plus régulièrement le lectorat ou les personnes contribuant au site ou des publics nouveaux, car c’est appréciable pour le moral et la motivation.

      Hum c’est malheureusement bon on peut garder tel que.

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      De manière générale, je suis toujours intéressé par plus de contenus sur LinuxFr.org (idéalement des dépêches). Mais plus précisément, en termes de sujet, j’aimerai encore et toujours plus d’articles la réparation, la maintenance et la réutilisation, sur la sobriété en informatique, sur la lutte contre la corruption, sur les sujets politiques autour du numérique et des données. Et bien sûr toujours plus de retours d’expérience, de sujets qui ne me viendraient pas à l’idée (sérendipité) et de sujets qui vous passionnent vous (partagez !). Pour Projets Libres, c’est un peu de la triche, j’ai accès à la préparation et j’ai déjà un premier aperçu de la richesse des sujets qui seront traités, mais je sais aussi qu’on compte sur vous pour aider à enrichir les émissions avec vos suggestions diverses et variées.

      Walid (Wawa) Nouh

      Accomplissements, réalisations, progrès de l’année 2025

      L’année 2025 a été chargée puisque 19 émissions ont été diffusées. Nous avons eu aussi l’occasion de parler dans des conférences et des meetups.
      Le podcast continue à gagner en visibilité et d’après nos statistiques OP3 (qui ne sont pas parfaites), pour la première fois deux épisodes ont dépassé les 2000 téléchargements dans le premier mois (Dégooglisons l’évaluation avec Framasoft, et le futur sera fédéré et auto-hébergé avec Elena Rossini).
      J’ai finalement trouvé le temps de poser des mots pour expliquer mon travail sur le podcast, résumé comme ceci : documenter, transmettre, apprendre.
      Bien entendu la grosse actualité de la fin d’année est le rapprochement avec LinuxFr, qui est une suite logique et aussi une reconnaissance de notre travail depuis 2023.
      Pour finir, nous avons eu l’occasion, à travers l’association LinuxFr, de donner des cours d’introduction au logiciel libre dans une école d’ingénieur (Florent Zara, Raphaël Semeteys, Jérôme Herledan et moi-même). Cela confirme mon idée que des prestations annexes sont un moyen intéressant de financer l’édition du podcast et de faire en sorte de ne pas avoir de publicité.

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      Pour cette nouvelle année, Raphaël et moi avons fixé un thème, qui sera la ligne directrice de notre travail sur 2026 : pérennité et résilience.

      – Pérennité, car c’est un sujet qui nous tient à cœur, à travers les épisodes sur les fondations, ou sur les projets qui existent depuis un grand nombre d’années.
      – Résilience : c’est la suite logique de tous les épisodes qui traitent, entre autres du Fediverse, de l’auto-hébergement et de l’informatique responsable et c’est plus que jamais important vu l’actualité géopolitique actuelle.

      Mes souhaits vont sûrement évoluer courant de l’année, mais j’aimerais dans les semaines à venir commencer à tester des OS mobiles basés sur Linux (Ubuntu Touch et PostmarketOS pour commencer), afin de préparer de potentiels épisodes sur le sujet.
      J’aimerais aussi donner plus la parole à des personnes qui utilisent le libre (dans la lignée de l’épisode avec Elena Rossini).
      Bref, beaucoup d’idées, le backlog est d’actuellement une cinquantaine d’épisodes…

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      Je vais surtout passer plus de temps à relire du contenu déjà présent sur LinuxFr :)
      Comme annoncé lors de l’évènement AssocialClub au salon Open Source Experience, il y a toute une intégration du podcast dans et avec LinuxFr à imaginer, cela va être passionnant !

      vmagnin (Vincent)

      Accomplissements, réalisations, progrès de l’année 2025

      Côté accomplissements sur LinuxFr, je suis surtout content d’avoir fait œuvre arkéologique avec ma série automnale de cinq journaux consacrés aux Fiches Libres, au site antique GNULinews et aux Tuxeries (1, 2, 3). Cela a abouti à la modernisation des fiches par Ysabeau et de mon côté à la restauration des Tuxeries, plus de deux cents images et animations du dessinateur JC.

      Toujours à cheval entre passé et futur (donc dans le présent ?), j’ai publié ma dépêche n°7 sur le Fortran. La disparition du service non-libre Netvibes m’a forcé à migrer vers une Pétrolette libre. Et parmi les dépêches auxquelles j’ai contribué sensiblement, je me souviens surtout de Rendez-nous nos boutons !, un questionnement humoristique sur certaines évolutions techniques imposées parfois sans discernement.

      À part ça, en 2025 j’ai migré mes machines de travail d’Ubuntu vers Fedora. Probablement en partie pour retrouver un peu le piment qu’on ressentait à chaque version d’Ubuntu il y a 20 ans. Dans toute vraie passion, il y a apparemment une quête de l’excitation originelle que l’on essaie de retrouver décennie après décennie. Oui, j’essaie aussi de rejouer encore une fois l’excitation pré-adolescente de l’apprentissage de la programmation grâce à Rust. J’ai terminé de lire le livre Développez avec Rust (Dunod).

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      Je suis loin de maîtriser les nouveaux concepts présentés dans ce très bon livre, mais j’ai au moins balayé l’essentiel et j’ai tout 2026, enfin j’espère, pour progresser en Rust. Et aussi avancer un peu dans quelques projets Fortran pro ou perso.

      Continuer à réfléchir sur l’IA et sur la poursuite de l’informatisation du monde. Avec en ce moment comme toile de fond la lecture de La Technique ou l’enjeu du siècle de Jacques Ellul (2ᵉ édition de 1960), qui se termine par : « […] nos plus intimes passions sont connues, publiées, analysées, utilisées. L’on y répond, l’on met à ma disposition exactement ce que j’attendais, et le suprême luxe de cette civilisation de la nécessité est de m’accorder le superflu d’une révolte stérile et d’un sourire consentant. » Après autant de lucidité, on verra si j’ai le courage de lire Le Système technicien (1977) qui se termine par : « L’homme qui aujourd’hui se sert de la technique est de ce fait même celui qui la sert. Et réciproquement seul l’homme qui sert la technique est vraiment apte à se servir d’elle. » Pas glop !

      Bon, ça ne m’empêchera pas d’écouter des podcasts Projets Libres / LinuxFr.org. Et ne soyons pas sombre puisque 2026 est un nombre heureux (voir le site OEIS pour plus de propriétés de 2026).

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      Monomanie technicienne : des trucs sur Rust :-)

      Ysabeau

      Accomplissements, réalisations, progrès de l’année 2025

      Une année moins productive que les précédentes sur le plan informatique, quoique ! En avril un tutoriel sur Mastodon, les balises Alt et deux ou trois autres trucs qui fait partie de ce que je voulais approfondir : l’accessibilité des textes. Par contrecoup, pour mes sites j’essaie d’avoir aussi des images et documents mieux présentés.

      Sinon pour LinuxFr : la dépêche sur Delphine Demange et les compilateurs m’a donné, enfin, l’occasion d’en savoir plus (de découvrir en fait) sur les compilateurs et les commentaires, dont j’ai vraiment apprécié la qualité, de résoudre un mystère vieux de 2020. Avec celle sur la sortie d’Unicode 17 j’ai approfondi ma connaissance des systèmes d’écriture et de ce qui est nécessaire pour qu’il puisse figurer dans le registre Unicode. L’histoire de la convention du mètre et de l’ODF a été aussi un genre d’épopée en ce qui me concerne puisque j’ai profité de l’occasion pour « epubifier » un document complexe avec formules de mathématiques et autres joyeusetés, Le Système métrique décimal. Sa création en France. Son évolution. Ses progrès. Et, évidemment, les fiches libres, que je dois continuer à revoir, ont été sources d’enseignements, j’aime bien l’idée du travail arkéologique. Par contre, j’ai laissé le Transimpressux en jachères.

      Si j’ai relativement peu écrit, j’ai beaucoup tricoté, des bérets, notamment, sur la base d’une méthode que j’ai mise en ligne et qui a réclamé quasiment l’entièreté de mes capacités mathématiques (pas grand-chose). Et en fait, j’aurais pu faire plus simple… Et puis j’ai fait du Banksy.

      Deux versions du marque-page la petite fille au ballon ou les petites filles couleur chocolat tiennent un ballon dans leur main, l’un est en robe rose l’autre en robe jaune
      Marque-pages la petite fille au ballon inspirés de celle de Banksy même si, au final, le résultat est très différent.

      Ce que je voudrais faire, apprendre ou approfondir en 2026

      L’accessibilité, encore et toujours, écrire un ou des tutoriels sur le sujet. Utiliser plus ou mieux Draw pour faire des modèles de jouets de papier. Et, oui, j’ai encore à apprendre sur l’EPUB, et Inkscape. Oh, et continuer des dépêches de la série Transimpressux, il faut vraiment que j’écrive sur l’Unicode dans ce cadre.

      Des contenus que je voudrais voir plus sur LinuxFr.org ou écouter plus dans le podcast Projets Libres (type de contenu, sujet, etc.)

      Des contenus sur l’accessibilité, la réparabilité, le bricolage informatique comme celles du dernier journal de Sébastien Rohaut ou celui d’Ecran Plat sur les clés USB-C lentes. Et aussi plus de contenus sur l’histoire de l’informatique et des logiciels et de l’arkéologique.

      Pour finir

      Nous vous souhaitons tout de même la meilleure année possible (on oscille entre excellence optimisée et résilience robuste ainsi que pérennité soutenable et humour drolatique). Et, bien évidemment, n’hésitez pas à « continuer » cette dépêche dans les commentaires.

      Et un merci à toutes celles et ceux qui font de LinuxFr.org un site enrichi en sérendipité et surprises et de Projets Libres un podcast nimbé de découvertes et bienveillance.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Delphine Demange et les compilateurs
        Cette année, la date de la journée Ada Lovelace, une journée dont l’objectif est d’accroître la visibilité des contributions des femmes dans les domaines scientifiques, technologiques, mathématiques et ingénierie (STEM), est le 15 octobre 2025. Pour l’occasion, en 2023, LinuxFr avait consacré une dépêche à Lorinda Cherry, Evi Nemeth et Jude Milhon. En 2024, cela avait donné lieu à une mini-série sur la participation des femmes à la conquête de l’espace. Cette année, on se penchera sur les compi

      Delphine Demange et les compilateurs

      Cette année, la date de la journée Ada Lovelace, une journée dont l’objectif est d’accroître la visibilité des contributions des femmes dans les domaines scientifiques, technologiques, mathématiques et ingénierie (STEM), est le 15 octobre 2025.

      Pour l’occasion, en 2023, LinuxFr avait consacré une dépêche à Lorinda Cherry, Evi Nemeth et Jude Milhon. En 2024, cela avait donné lieu à une mini-série sur la participation des femmes à la conquête de l’espace. Cette année, on se penchera sur les compilateurs, créés par Grace Hopper, et qui ont valu à Frances Allen un prix Turing en 2006 et on dressera le portrait de Delphine Demange, lauréate du prix Gilles Kahn 2013.

      Bandeau Journée Ada Lovelace, la photo vectorisée d’Ada sur fond d’un de ses manuscrits dans des tons sépia

      Sommaire

      Qu’est-ce qu’un compilateur ?

      La naissance des compilateurs

      Le premier compilateur, il s’appelait « translator » (traducteur) à l’époque, a été inventé par Grace Murray Hopper pour l’UNIVAC 1 en 1951, l’A-O System. Soit après la sortie de l’IBM 604 (1948), avant celle de l’IBM 650 (1954) et un peu avant le FORTRAN, langage compilé, créé vers 1953 par John Backus pour l’IBM 701 et lancé en 1957. La même année où IBM embauche Frances Allen pour former des scientifiques et des ingénieurs réticents à l’utilisation du langage. Elle sera, en 2006, la première femme à obtenir un prix Turing. Elle raconte, dans les Annals of History of Computing (Volume 6, N°1, janvier 1984) que :

      L’une des façons dont le laboratoire de recherche a convaincu les gens à utiliser ce langage a été d’imposer son utilisation via un règlement.

      Elle ajoutera :

      le compilateur FORTRAN a établi la norme en matière d’efficacité du code objet. Mais surtout, il a démontré la faisabilité de l’utilisation des langages de haut niveau. Lorsque j’ai enseigné le FORTRAN en 1957, l’utilisation de ce langage a rencontré une forte résistance. Cette résistance a rapidement été érodée par le type de code produit par le compilateur.

      John Backus, qui trouvait par ailleurs que Grace Murray Hopper était difficile à égaler, détaillait dans ces mêmes annales les auteurs et l’autrice du compilateur. Peter Sheridan avait écrit la section 1 qui analysait les expressions algébriques, les traduisait en code et optimisait ce code. Pour la section 2, Harlan Herrick avait inventé l’instruction DO, rédigé : « la partie de la section 1 qui regroupe toutes les informations sources non utilisées dans les expressions algébriques dans des tableaux nécessaires aux sections suivantes. ».

      C’est également à Herrick que l’on doit l’introduction des mots clés GO TO ! Roy Nutt a conçu la majeure partie du langage d’entrée/sortie et rédigé la partie de la section 1 qui traduisait les instructions d’E/S en boucles DO. Il a également rédigé la section 6, qui assemblait le programme symbolique final et complétait le traitement des instructions d’E/S. C’est également à Nutt que l’on doit l’introduction de l’instruction FORMAT. Bob Nelson et Irv Ziller ont rédigé la section 2, qui s’est avérée être la plus grande section du compilateur. Elle analysait les références aux tableaux dans les boucles DO et produisait un code hautement optimisé pour le reste du programme source. Leur travail a eu un impact important sur le niveau global d’optimisation que j’ai mentionné précédemment. Dick Goldberg a rédigé la section 3, qui rassemblait le code compilé par les sections 1 et 2 et produisait d'autres informations nécessaires aux sections suivantes. Les gens continuaient à se concerter et à demander aux auteurs des sections précédentes de produire un peu plus, quelques tableaux supplémentaires dont ils avaient finalement besoin. Dick a également joué un rôle important dans le débogage de la section 5. Lois Haibt (en) a rédigé la section 4, qui effectuait une analyse statistique de la fréquence d'exécution […] Ici, la section 4 a également préparé de nombreux tableaux pour la section 5, si je comprends bien. Sheldon Best a écrit la section 5, qui a converti le programme utilisant de nombreux registres d'index en un programme en utilisant trois. Ses méthodes ont eu un impact considérable sur les travaux ultérieurs dans ce domaine et ont eu un effet majeur sur le niveau d'optimisation du compilateur. Enfin, David Sayre a rédigé un manuel du programmeur exceptionnellement clair et concis et a aidé Dick Goldberg à déboguer la section 5.

      Structure d’un compilateur : 1 déclarations identifieur et traducteur, 2  analyse indice et déclaration DO, 3 Interface entre 1 et 4, 4 anlyseur de flux de contrôle, 5 allocateur de registre global, 6 assemblage final
      Schéma de la structure du compilateur de l’ordinateur IBM 704 adapté de celui fait par Frances Allen dans les « Annals of History of Computing », Volume 6, N°1, janvier 1984 (page 24).

      De leur côté, les Soviétiques, qui fabriquaient aussi des ordinateurs, utilisaient également des compilateurs. Dans son article sur les ordinateurs soviétiques, Yves Logé rapporte qu’ils utilisaient, en 1955, les langages de compilation : PP2 – PP et BESM. Le BESM étant un ordinateur sorti en 1953. La fondatrice de la programmation théorique en Ukraine, Katerina Yushchenko (en), y a fort probablement contribué.

      À quoi ça sert ?

      En août 2001, dans un entretien (en) avec Janet Abbate qui lui demandait comment elle définirait un compilateur, Frances Allen répondait :

      Je pense qu’un compilateur sert à traduire ce que l’utilisateur de l’application […] demande […] à la machine de manière à obtenir la bonne réponse, mais aussi à utiliser au mieux les ressources de la machine. C’est ça, l’optimisation. On peut se contenter de transposer les choses sans tirer parti des registres et de nombreuses autres unités de calcul, mais cela ne serait pas aussi efficace. L’optimisation consiste donc à tirer parti des ressources de la machine et à très bien connaître cette dernière. C’est en quelque sorte combler un fossé, afin que l’utilisateur n’ait pas besoin de tout savoir !

      Plus généralement, un compilateur est décrit comme un programme dans un langage de haut niveau qui traduit le code-source en code objet pour le rendre exécutable en détectant les erreurs et en l’optimisant par la même occasion.

      Schéma d’un compilateur
      Le code source est envoyé au compilateur qui le traduit en langage machine.

      Les compilateurs sont des outils essentiels et très complexes qui interviennent dans tous les programmes, notamment des logiciels très critiques :

      Par exemple, les programmes embarqués dans les systèmes bancaires, dans les systèmes de contrôle de vol des avions, ou même dans la chirurgie assistée par ordinateur ou les centrales nucléaires […] : la présence d’erreur durant leur exécution pourrait avoir des conséquences désastreuses, que ce soit en termes de vies humaines, de dégâts écologiques, ou de coût financier. (Delphine Demange, Semantic foundations of intermediate program representations, Thèse soutenue le 19 octobre 2012.)

      Comment ça marche ?

      Réponse rapide : avec beaucoup de mathématiques. Réponse un peu plus détaillée : à partir de différents types d’analyses après une phase de pré-traitement qui permet de déterminer comment traiter les informations.

      1. L’analyse lexicale : découpe le code en unités lexicales ou « tokens » qui vont permettre au compilateur de traiter les données par la suite. Ce faisant le compilateur sépare les différents types d’éléments : variables, opérateurs, séparateurs, mots-clés, etc.
      2. L’analyse syntaxique : vérifie que le programme source ne contient pas d’erreur de syntaxe et que le code source est correct et, évidemment le compilateur signale les erreurs qu’il a pu trouver à ce stade.
      3. L’analyse sémantique : après la syntaxe, c’est le sens du code qui est examiné. Le compilateur va ainsi vérifier s’il y a des erreurs de logique, passant, que le code fait bien ce qu’il est censé faire. À ce stade, le compilateur va aussi signaler les erreurs, voire, rejeter un code incorrect.
      4. L’optimisation : permet de nettoyer le code pour le rendre plus rapide à exécuter. À l’heure actuelle avec des processus très gourmands en ressources, c’est une étape-clé, ça n’a pas toujours été forcément le cas.
      5. La génération du code final : c’est la dernière phase dont le résultat est le code exécutable.

      Delphine Demange : comment vérifier que les compilateurs font leur travail correctement

      Parcours

      Delphine Demange entre en licence d’informatique à l’université de Rennes 1 en 2004. Elle y obtiendra un magistère Informatique et télécommunications en 2006 puis fera le mastère de recherche en informatique de la même université en 2008. Elle achèvera cette partie de ses études par un stage de master à l’IRISA (équipe Celtique), en vérification de programme. Au bout des cinq mois de stage, en 2009, elle s’inscrira en thèse. Une thèse, Fondements sémantiques des représentations intermédiaires de programmes (en), soutenue en 2012 et qui lui vaudra le prix de thèse Gilles Kahn 2013 de la SIF, et qui porte sur :

      la vérification formelle de logiciel, c’est-à-dire à l’ensemble des techniques et d’outils scientifiques qui permettent d’assurer qu’un logiciel remplit ces exigences [de qualité des systèmes critiques]. (Résumé étendu de sa thèse).

      Elle part ensuite pour les USA, à l’Université de Pennsylvanie pour une année de post-doctorat. Là, elle travaillera sur un projet alliant vérification et sécurité. De retour en France, elle passe des concours. Elle est, depuis 2013, maîtresse de conférence à l’université Rennes 1.

      En février 2024, elle donnait un cours au Collège de France : Représentations intermédiaires pour la compilation : s’affranchir du graphe de flot de contrôle.

      On peut retrouver ses communications et articles ainsi que sa thèse, toutes en anglais, sur HAL science ouverte.

      La vérification des logiciels

      Comme elle le dit en résumé de sa thèse :

      Nos vies quotidiennes dépendent de plus en plus, sans même parfois que nous nous en rendions compte, de l’utilisation de programmes informatiques. Ces programmes n’ont toutefois pas tous le même niveau de criticité. Par exemple, les programmes embarqués dans les systèmes bancaires, dans les systèmes de contrôle de vol des avions, ou même dans la chirurgie assistée par ordinateur ou les centrales nucléaires sont appelés systèmes critiques : la présence d’erreur durant leur exécution pourrait avoir des conséquences désastreuses, que ce soit en termes de vies humaines, de dégâts écologiques, ou de coût financier. Ce type de programme requiert donc de fortes garanties : leur exécution ne devrait pas échouer, et leur correction fonctionnelle devrait être garantie.

      Elle ajoute plus loin que les compilateurs étant des logiciels, ils sont à leur tour susceptibles d’avoir des bugs comme n’importe quel autre programme. Il est donc nécessaire qu’ils répondent aux mêmes exigences infaillibilité que les systèmes critiques sur lesquels ils travaillent.

      Dans un entretien accordé au site de l’université de Rennes en 2014, elle précise que son travail a pour but final :

      d’assurer, par une preuve mathématique et assistée par ordinateur, que les compilateurs compilent correctement les programmes (i.e. ils n’ajoutent pas de nouveaux comportements aux programmes), et que les vérifieurs calculent des propriétés sur des modèles corrects des programmes (si le modèle du programme ne comporte pas d’erreur, alors le programme d’origine n’en comporte pas non plus).

      Ses travaux de thèse portant les représentations intermédiaires (IR) des programmes sur lesquels travaillent les compilateurs et vérificateurs. Ces IR simplifient les analyses de ces outils qui peuvent analyser des programmes très complexes. Elle continue, depuis, ses recherches dans le même domaine avec :

      la vérification des techniques de compilation optimisantes pour les langages de haut-niveau, en y incluant les aspects les plus difficiles des langages modernes, comme la gestion de la mémoire, la concurrence et les modèles de mémoire faibles. (entretien, Université de Rennes).

      Tout cela demande beaucoup de mathématique, parfait pour quelqu’un qui a hésité entre les maths et l’informatique.

      Quelques autres sources d’information

      Sur les compilateurs, internet est bien pourvu en ressources en français sur le sujet, par exemple :

      — Compilation informatique : définition concrète et rôle, Journal du net, 2016,
      — Comment fonctionnent les compilateurs, IBM, [sd],
      — Qu’est-ce qu’une conception de compilateur ? Types, outils de construction, exemple, Kaia Céruléen, GURU99, [septembre 2025 ?],
      — Cours de compilation, [sd],
      — Compilation, pdf à télécharger,
      — Langages de programmation et compilation, Jean-Christophe Filliâtre, septembre 2016,
      — Représentations intermédiaires pour la compilation : s’affranchir du graphe de flot de contrôle, cours au Collège de France, 15 février 2024
      — Fondements sémantiques des représentations intermédiaires de programmes, thèse, en anglais, de Delphine Demange.

      Sinon on peut aussi lire ou relire l’hommage à France Allen sur LinuxFr. Il y a aussi, en anglais, cet article Early Computers and Computing Institutions (en) qui raconte les débuts de FORTRAN. C’est très intéressant. Mais il faut soit l’acheter (15,50 dollars pour les membres ou 30 dollars pour les non-membres) ou faire partie d’une structure adhérente.

      Questions et remerciements

      Compte de tenu de l’importance des compilateurs, la question se pose de la raison pour laquelle la personne qui a été à l’origine du premier compilateur et du COBOL, Grace Murray Hopper (1906-1992) n’a pas reçu le prix Turing pourtant créé de son vivant, en 1966, et à une époque où elle était encore active. Le récipiendaire du prix Turing 1966 ayant d’ailleurs été Alan J. Perlis pour la construction de compilateurs.

      Question complémentaire, pourquoi France Allen n’a reçu son prix Turing qu’en 2006 « pour ses contributions pionnières à la théorie et à la pratique des techniques utilisés par les compilateurs optimiseurs qui ont jeté les bases des compilateurs optimiseurs modernes et de l’exécution parallèle automatique. » Frances (“Fran“) Elizabeth Allen. A.M. Turing Award 2006 (en), alors qu’elle avait pris sa retraite depuis 2002. Elle reste toujours aussi importante : un de ses textes de 1970 fait partie de la bibliographie de la thèse de Delphine Demange.

      Dernière question, dans son discours de remise du prix Turing en 2007, Frances Allen disait qu’après une phase de stagnation des compilateurs, on devrait avoir une phase de progrès significatifs dans le domaine. Est-ce que vous avez une idée de ce à quoi elle aurait pu penser ?

      Un très grand merci à vmagnin pour son aide et les documents qu’il m’a envoyés pour m’aider à rédiger cette dépêche.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Sortie du noyau Linux 6.17
        Nous vous avons entendu. Les dépêches noyaux me manquent aussi. Et entre Google qui veut les attraper tous, sudo qui n’est plus sudo sûr que ça, des pays qui sortent d’Internet, les chats qu’on veut surveiller parce qu’ils ne miaulent pas droit et le rythme de travail pour bien vivre, il est temps de revenir aux fondamentaux. Alors sans plus attendre, quoi de neuf dans la 6.17 ? D’après Linus Torvalds lui-même, It's not exciting — ce n’est pas intéressant. Ce qui, pour lui, est un gage de qua

      Sortie du noyau Linux 6.17

      Nous vous avons entendu. Les dépêches noyaux me manquent aussi. Et entre Google qui veut les attraper tous, sudo qui n’est plus sudo sûr que ça, des pays qui sortent d’Internet, les chats qu’on veut surveiller parce qu’ils ne miaulent pas droit et le rythme de travail pour bien vivre, il est temps de revenir aux fondamentaux.

      Alors sans plus attendre, quoi de neuf dans la 6.17 ? D’après Linus Torvalds lui-même, It's not exciting — ce n’est pas intéressant. Ce qui, pour lui, est un gage de qualité. Le noyau Linux 6.17 a été officiellement publié le 28 septembre, après la RC7.

      Points marquants de la version

      • Des corrections de sécurité et de stabilité dans la pile Bluetooth (beaucoup de bugs de type use-after-free).
      • Des corrections pour les pilotes GPU et réseau (beaucoup de petites corrections).
      • Prise en charge de patch à la volée (live patching) sur ARM 64 bits.
      • Meilleur contrôle sur les atténuations de Spectre/x86.
      • Suppression officielle de la gestion des architectures monoprocesseur, (nous y reviendrons).
      • Introduction de nouveaux syscalls file_getattr() et file_setattr(), permettant la manipulation directe des attributs d’inodes via l’espace utilisateur.
      • Gestion du protocole DualPI2 pour la gestion de congestion TCP.

      Sommaire

      Architecture

      Résumé

      • Intégration et mise à jour de la prise en charge de nombreux SoC ARM, Intel, AMD et RISC-V, dont :
      • Ajout de nouveaux contrôleurs mémoire, avec prise en charge étendue de divers matériels industriels.
      • Pilotes GPU : beaucoup de patchs pour amdgpu, i915/xe (options de debug et prise en charge de nouveaux formats colorimétrique).
      • Les cartes Realtek 8851BU/8852BU sont désormais prises en compte sur le bus USB.
      • Suppression officielle de la gestion des architectures monoprocesseur.

      En détails

      La suppression de la gestion spécifique des architectures monoprocesseur dans Linux 6.17 concerne toutes les architectures (x86, ARM, RISC-V, MIPS, etc.) où le noyau pouvait jusqu’ici être compilé et exécuté en mode UP (pour Uni Processor), opposé au mode SMP (Symmetric MultiProcessing).

      Désormais, même les machines avec un seul cœur ou un seul processeur utiliseront des noyaux compilés avec gestion SMP activée. Cette modernisation simplifie le code de l’ordonnanceur (scheduler) et d’autres sous-systèmes internes du noyau, qui peuvent désormais partir du postulat que le système est au moins SMP, même si physiquement un seul cœur est présent. Cela permet un énorme nettoyage du code spécifique à cette fonctionnalité, et donc, à terme, une meilleure maintenance et une plus grande cohérence.

      Néanmoins, l’impact, même très léger et invisible sur beaucoup de systèmes modernes, est réel. Le coût mémoire et processeur (dû à la gestion des locks) va augmenter légèrement, et impactera plus fortement les systèmes embarqués très contraints.

      Pour les chiffres (et des explications), les tests effectués sur des systèmes monoprocesseurs avec un noyau SMP ont montré une baisse de performance de 5 %, et une augmentation de 0,3 % de la taille. Ingo Molnar, à l’initiative de ce changement, avait pointé le fait qu’il y avait, dans l’ordonnanceur actuel, 175 #ifdef dépendant de #CONFIG_SMP qui ont pu être nettoyés, et avec, plus de 1000 lignes de code supprimées.

      Systèmes de fichiers et stockage

      Résumé

      • Btrfs : la gestion de large folios est ajoutée (expérimental), tout comme des options étendues pour la défragmentation et la compression intelligente des extents. Les premiers tests de performance montrent un gain de 20 % pour la création de fichiers et diverses améliorations…
      • Ext4 : introduction du flag RWF_DONTCACHE permettant la purge automatique des données du cache après écriture, ce qui améliore certains workloads orientés I/O.
      • NFS : prise en charge des délégations d’écriture même en mode write-only, accélérant des cas d’usage précis.
      • Introduction de nouveaux syscalls file_getattr() et file_setattr(), permettant la manipulation directe des attributs d’inodes via l’espace utilisateur.
      • Bcachefs : Les relations entre le développeur de ce système de fichiers (Kent Overstreet) et les autres mainteneurs du noyau se sont largement dégradées. Plusieurs mainteneurs ont fait part de leur refus de travailler à l’avenir avec Kent ce qui a conduit Linus a ne plus accepter les demandes de mises à jour (pull requests). Bcachefs est donc figé dans cette version 6.17 du noyau (et il a été complètement retiré de la future version 6.18). Un module DKMS externe est maintenant disponible pour les utilisateurs voulant continuer à utiliser ce système de fichiers.

      En détails

      Pour ceux qui s’intéressent aux performances et comparatifs des différents systèmes de fichiers avec le kernel, Phoronix a testé ces FS sur ce noyau 6.17. Pas de comparatif avec les précédents noyaux, mais un comparatif entre les FS.

      Le flag RWF_DONTCACHE permet des opérations de lecture ou d’écriture passant par le cache mais où les données lues ou écrites ne sont pas conservées dans ce cache une fois l’opération terminée. Autrement dit, les données ne « polluent » pas le cache mémoire, ce qui est utile pour certains types d’I/O où l’on ne veut pas fatiguer le cache avec des données temporaires ou volumineuses qui ne seront pas réutilisées rapidement. Ce flag est une option pour les appels systèmes preadv2() et pwritev2()

          ret = pwritev2(fd, &iov, 1, 0, RWF_DONTCACHE);

      En ce qui concerne les délégations d’écriture, cela permet de réduire les appels réseaux (jusqu’à 90 % dans certains cas d’usages — rapport)

      Les syscalls file_getattr() et file_setattr() introduits dans Linux 6.16/6.17 permettent la manipulation directe des attributs d’inode depuis l’espace utilisateur, avec une interface plus simple et plus complète que les méthodes existantes.

      Réseau et connectivité

      Résumé

      • Plusieurs nouveaux flags et options : SO_INQ pour AF_UNIX, extension de la gestion de MSG_MORE pour les paquets TCP volumineux et application plus stricte de la fenêtre TCP.
      • Introduction de la prise en charge du protocole de congestion DualPI2 (RFC 9332) pour TCP/IP, notamment sur IPv6.
      • Nouveau sysctl force_forwarding sur IPv6 permettant l’activation du mode forwarding.
      • Remplacement progressif de la gestion des pages réseau par des descripteurs spécialisés (struct netmem_desc), préparant l’évolution vers les folios.

      En détails

      Le nouveau sysctl force_forwarding permet de forcer l’activation du forwarding indépendamment d’autres configurations potentiellement conflictuelles. (En particulier sur des profils limitatifs ou locaux)

          sudo sysctl -w net.ipv6.conf.all.force_forwarding=1

      Petits rappels sur les folios (aussi utilisés dans ce noyau pour Btrfs). Historiquement, le noyau Linux gère la mémoire en unités appelées « pages » (généralement 4K octets). Un folio est un regroupement logique de pages (souvent 2^N pages, comme 16 pages de 4K pour former un folio de 64K). Les folios permettent une gestion mémoire plus efficace, évitent les appels redondants liés aux pages individuelles et optimisent les copies. netmem_desc sert d’abstraction générique pour la mémoire réseau, et utilisant les folios, remplace progressivement le struct page d’origine.

      L’algorithme DualPI2 est un exemple d’algorithme de gestion active de file d’attente à double file couplée (AQM) spécifié dans la RFC 9332. Il sert de composant de base AQM au sein du cadre DualQ Coupled AQM conçu pour gérer deux files d’attente : une file « Classique » pour les contrôles de congestion compatibles Reno et une file « L4S » pour les contrôles de congestion Scalables. Vous trouverez plus de détails dans l'article en lien, avec, page 6 un ensemble de tests de performance en ce qui concerne DualPI2.

      Virtualisation

      Résumé

      • Gestion de GSO (Generic Segmentation Offload) sur tunnel UDP dans virtio
      • KVM : Unicité des enregistrements irqfd
      • vhost-net : Prise en charge de VIRTIO_F_IN_ORDER
      • vsock : Introduction de la prise en charge ioctl SIOCINQ
      • iommu : Révision complète de la prise en charge des IRQs postées
      • vfio/qat : Prise en charge des function virutelle Intel QAT 6xxx

      En détails

      La prise en charge des GSO permet d’améliorer les performances des machines virtuelles en réduisant la charge CPU liée au traitement des paquets UDP.

      L’irqfd (interrupt request fd) a été modifié pour être globalement unique, ce qui améliore la gestion des interruptions virtuelles et évite des collisions ou conflits dans la gestion des événements d’interruption, renforçant la stabilité et sécurité des VM.

      VIRTIO_F_IN_ORDER permet de gérer un ordre strict pour les paquets pour les cartes réseaux virtuelles.

      vfio, qui expose des périphériques aux machines virtuelles, ajoute la prise en charge des fonctions virtuelles des accélérateurs Intel QAT 6xxx (QuickAssist Technology), améliorant ainsi les capacités de calcul cryptographique et compression dans les environnements virtualisés.

      Sécurité et cryptographie

      Résumé

      • AppArmor peut désormais contrôler l’accès aux sockets AF_UNIX.
      • Ajout de nouvelles fonctions pour SHA-1, SHA-256 et SHA-512 dans la bibliothèque crypto.
      • Optimisation de CRC32c sur les CPU récents (AVX-512).
      • La gestion de la profondeur de pile via GCC/Clang permet désormais l’effacement automatisé de la stack (voir SafeStack pour plus de détails).
      • Meilleur contrôle sur les atténuations (mitigations) de Spectre/x86.
      • Ajout d’un délai de 5 secondes sur /sys/fs/selinux/user.
      • Introduction des types neversaudit dans le contexte SELinux.

      En détails

      Pour rappel, AF_UNIX est une classe de socket Unix permettant la communication interprocessus. Avant cet ajout, AppArmor ne gérait pas la sécurité avec ce niveau de finesse pour ces sockets. Désormais, il est possible de restreindre dans les profils AppArmor, la communication via ces sockets, entre deux applications.

      Phoronix a testé les améliorations sur CRC32C sur différentes architectures récentes, qui sont résumées dans le graphique ci-dessous.
      Performances CRC32C

      Le noyau 6.17 introduit un meilleur contrôle sur les atténuations Spectre, grâce à un mécanisme appelé Attack Vector Controls (AVC). Le principe est simple, plutôt que d’activer ou désactiver des dizaines de protections individuelles contre les bugs d’exécution spéculative (Spectre, variantes de Meltdown, etc.), il est désormais possible de les piloter par groupes, selon la portée des attaques. Le noyau classe les atténuations en cinq catégories :

      • attaques utilisateur-vers-noyau (user-to-kernel)
      • attaques utilisateur-vers-utilisateur (user-to-user)
      • attaques invité-vers-hôte (guest-to-host)
      • attaques invité-vers-invité (guest-to-guest)
      • attaques inter-threads (cross-thread)

      Avec un seul paramètre de démarrage mitigations=, il devient possible d’exclure une catégorie entière d’attaques (par exemple, désactiver toutes les protections invité-vers-invité si aucune VM non fiable n’est utilisée) et ainsi récupérer des performances.

      Example: disable user-to-kernel attack mitigations, keep others at auto defaults
      GRUB_CMDLINE_LINUX="... mitigations=auto,no_user_kernel ..."
      

      Cette page liste l’ensemble des vulnérabilités CPU, et est une bonne source d’informations à ce propos.

      Changements internes et outils

      Résumé

      • L'ordonnanceur ajoute le cgroup v2 cpu.max pour gérer de manière plus fine l’utilisation du CPU.
      • Ajout de DAMON_STAT pour le monitoring.
      • Le montage automatique de tracefs sur /sys/kernel/debug/tracing est devenu obsolète au profit de /sys/kernel/tracing.
      • La migration vers des outils plus modernes : l’outil gconfig bascule sur GTK3.
      • Toujours plus de Rust avec de nouvelles abstractions pour la gestion du matériel et des propriétés firmware.

      En détails

      cpu.max est plus précis et global que les précédentes méthodes (utilisant cpu.cfs_quota_us et cpu.cfs_period_us ou cpu.shares), en s’appuyant sur l’extension CFS Bandwidth Control de CFS (Completely Fair Scheduler)

      # Limite de 50ms d’utilisation CPU toutes les 100ms (50%)
      echo "50000 100000" > /sys/fs/cgroup/cpu.max

      DAMON_STAT est un module noyau statique de surveillance de l’espace d’adressage mémoire beaucoup plus léger que les précédentes méthodes

          # Si DAMON_STAT est compilé en module
          $ sudo modprobe damon_stat
      
          # Activation du monitoring 
          $ echo 1 | sudo tee /sys/kernel/mm/damon/stat/enable
      
          # lecture des informations
          $ cat /sys/kernel/mm/damon/stat/statistics
          damon_latency_avg: 23 ms
          damon_bandwidth_bytes_per_sec: 5242880
          damon_coldness_percentile_75: 40%
          # Désactivation
          echo 0 | sudo tee /sys/kernel/mm/damon/stat/enable

      Le bilan en chiffres

      Statistiquement, ce n’est certes pas le noyau le plus calme de la série 6.x, comme nous pouvons le voir sur les graphiques ci-dessous, néanmoins, il reste plutôt tranquille, avec du nettoyage et peu d’ajouts.

      Statistique des noyaux 6.x

      Statistique des RC du noyau 6.17

      Statistique des noyaux 6.x

      Statistique des noyaux 6.x

      Appel à volontaires

      Cette dépêche est rédigée par plusieurs contributeurs dont voici la répartition :

      Mainteneur Contributeur(s)
      Architecture Aucun
      Développeurs Aucun
      Systèmes de fichiers Aucun patrick_g
      Réseau Aucun
      Virtualisation Aucun
      Sécurité Aucun
      Changements internes Aucun
      Édition générale Aucun BAud - vmagnin - orfenor

      Un peu de vocabulaire :

      • le mainteneur d’une section de la dépêche est responsable de l’organisation et du contenu de sa partie, il s’engage également à l’être dans le temps jusqu’à ce qu’il accepte de se faire remplacer ;
      • un contributeur est une personne qui a participé à la rédaction d’une partie d’une section de la dépêche, sans aucune forme d’engagement pour le futur.

      Nous sommes particulièrement à la recherche de mainteneurs pour toutes les parties.

      Si vous aimez ces dépêches et suivez tout ou partie de l’évolution technique du noyau, vous pouvez contribuer dans votre domaine d’expertise. C’est un travail important et très gratifiant qui permet aussi de s’améliorer. Il n’est pas nécessaire d’écrire du texte pour aider, simplement lister les commits intéressants dans une section aide déjà les rédacteurs à ne pas passer à côté des nouveautés. Essayons d’augmenter la couverture sur les modifications du noyau !

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • La convention du mètre et l’ODF 150 et 20 ans d’ouverture
        La convention du mètre fête ses cent cinquante ans cette année tandis que le format bureautique OpenDocument Format (ODF) a soufflé vingt bougies. Ça vaut bien une dépêche sans doute ce qui nous permettra de dresser un historique de ces deux types de normes et, peut-être, de mieux mettre en lumière la nécessité des formats ouverts pour les personnes pour qui la notion n’est soit pas facile à expliquer, soit pas familière. Quel rapport entre les deux ? Le système métrique, dont l’histoire est pas

      La convention du mètre et l’ODF 150 et 20 ans d’ouverture

      La convention du mètre fête ses cent cinquante ans cette année tandis que le format bureautique OpenDocument Format (ODF) a soufflé vingt bougies. Ça vaut bien une dépêche sans doute ce qui nous permettra de dresser un historique de ces deux types de normes et, peut-être, de mieux mettre en lumière la nécessité des formats ouverts pour les personnes pour qui la notion n’est soit pas facile à expliquer, soit pas familière. Quel rapport entre les deux ? Le système métrique, dont l’histoire est passionnante, est, à ma connaissance, le tout premier standard ouvert. Quant à l’ODF, c’est l’un des premiers, si ce n’est le tout premier, standard bureautique ouvert.

      Dessin. En haut un double décimètre, au milieu les chiffres 1795, 1875, 2025, 230, 150 et 20 entourant un gâteau avec une bougie. En bas les icônes des formats Open Document File : ODB, ODF, ODP, ODS et  ODT

      Qu’écouter en lisant cette dépêche ? L’Enfant les sortilèges (1925) tout particulièrement pour la leçon d’arithmétique, musique de Maurice Ravel, texte de Colette dont l’œuvre vient d’entrer dans le domaine public.

      Sommaire

      Préambule

      En 2018, lors des dernières rencontres mondiales du Logiciel Libre (RMLL) à Strasbourg, j’avais fait une conférence dont le sujet était Formats ouverts et métrologie, dont on peut télécharger le livret explicatif. C’est par cette approche que, personnellement, j’ai vraiment pleinement compris ce qu’était un format ouvert et, surtout son importance et, accessoirement que j’ai réalisé à quel point le système métrique était une avancée formidable. Mêler le matériel (système métrique) au logiciel (format ODF) peut être une façon pour certaines personnes de mieux comprendre des notions très abstraites.

      L’aventure du système métrique

      Une grande diversité des mesures et une préoccupation ancienne

      Avant le système métrique, la question des poids et mesures dans le royaume de France a été un sujet crucial qui a fait l’objet de plusieurs tentatives d’uniformisation. Les poids et mesures variaient d’un endroit à l’autre avec, souvent, les mêmes noms, facilitant ainsi les confusions et les escroqueries. Après une difficile uniformisation de la monnaie, le pouvoir monarchique va s’attaquer à l’uniformisation des poids et mesures. Plusieurs tentatives auront eu lieu, sous Philippe Le Bel (1285-1314), Philippe V Le Long (vers 1293-1322), Louis XI (1423-1483), François 1ᵉʳ (1494-1547) et Henri II (1519-1547) sans succès. En 1321, Philippe V indique, dans le deuxième article d’une ordonnance royale :

      en notre dit Royaume où il y a diverses mesures et divers poids en déception et lézion de plusieurs, fussent faites de nouvel en un seul poids et une seule mesure convenable desquelles le peuple usât dorénavant. (Métrologie ou Traité des mesures, poids et monnoies des anciens peuples & des modernes).

      Philippe V meurt peu de temps après, cette politique ambitieuse ne se réalisera pas complètement et la multitude de systèmes de poids et mesures continuera à faire la prospérité des seigneurs et des villes. Cette diversité posait également la question de la fiabilité des étalons des poids et mesures, pas toujours fabriqués dans des matériaux fiables, et dont l’emplacement n’était pas toujours connu quand ils n’étaient pas perdus. C’était, de fait, un obstacle à la circulation des marchandises. D’ailleurs, quand, en 1789, Louis XVI convoque les États généraux, l’uniformisation des systèmes de mesure sera une revendication que l’on retrouvera dans de nombreux cahiers de doléances.

      La question va se poser avec encore plus d’acuité au fur et à mesure que la science s’appuie de plus en plus sur la métrologie. Il fallait aux scientifiques un système de mesures fiable, documenté et reproduisible. Les questions qui vont se poser concernent aussi bien sur quelles bases établir ces mesures que du choix et de la forme des matériaux pour la fabrication des étalons de mesure et en quelle base calculer. À la veille de la Révolution française, les scientifiques sont prêts pour ce qui sera aussi une révolution mais d’un autre genre.

      Tableau de comparaison des mesures anciennes
      Extrait du tableau de correspondance des mesures du « Mémoire sur la nécessité et les moyens de rendre uniformes les mesures d’étendue et de pesanteur » de Claude-Antoine Prieur. On voit bien la complexité d’un système que le « pied de Roi » avait essayé de simplifier. Il y avait une aune pour les soieries, une pour les lainages et une pour les toiles qui valaient respectivement : 527,5/144, 526,5/144 et 524/144 de pied de Roi. Les mesures nationales sont celles qui seront proposées comme nouvelles mesures avec des noms essayant de ne pas trop s’éloigner des anciennes : le millaire pour remplacer la lieue de Paris, la perche, l’aune, le pied, le pouce et la ligne étant gardés.

      La mise en place du système décimal et du système métrique

      Le travail législatif commence en 1790. Le député de la Côte d’or, Claude-Antoine Prieur rédige un Mémoire sur la nécessité et les moyens de rendre uniformes les mesures d’étendue et de pesanteur, De les établir sur des bases fixes et invariables ; D’en régler tous les multiples et les subdivisions suivant l’ordre décuple ; D’approprier enfin à ce nouvel ordre le cours des petites monnoies qui sera présenté à l’Assemblée nationale. L’objet du mémoire est de répondre à la question « sur quels principes cette mesure doit être établie. » (Introduction du Mémoire). Talleyrand, évêque d’Autun, propose d’écrire au Parlement anglais qui, de son côté, discutait de ce sujet pour les mêmes raisons : la diversité des mesures et son aspect dommageable. Talleyrand suggérait que la France et l’Angleterre travaillent ensemble sur le projet. La lettre reçut un accueil favorable. L’Assemblée fera donc un décret demandant au roi notamment de :

      • faire déterminer la longueur du pendule à seconde qui devait servir de base,
      • demander aux communes et départements « au Secrétariat de l’Académie des Sciences un modèle parfaitement exact des différents poids et des mesures élémentaires qui y sont en usage » 
      • charger l’Académie des sciences de comparer les anciens poids et mesures aux nouveaux et d’envoyer aux municipalités ensuite « des livres usuels et élémentaires où seront indiquées avec clarté toutes ces proportions »,
      • et surtout, que les anciennes mesures soient abolies dans les six mois après la réception des nouvelles et remplacées par celles-ci.

      Portraits
      Portraits de Lagrange, Laplace, Monge et Condorcet, les deux premiers sont tirés de l’ouvrage : Le Système métrique décimal.

      En 1791 une commission composée de la fine fleur des savants de l’époque, Jean-Charles de Borda (mathématicien et physicien), Joseph-Louis Lagrange (mathématicien et astronome), Pierre-Simon Laplace (mathématicien et astronome), Gaspard Monge (mathématicien) et Nicolas de Condorcet (mathématicien et philosophe), dépose un rapport sur le choix d’une unité de mesures. Il fallait qu’elle soit nouvelle et prise dans la nature. Trois choix sont proposés :

      • La longueur du pendule à secondes ;
      • Un quart de cercle de l’équateur terrestre ;
      • Un quart du méridien, entre le pôle et l’équateur.

      La première a deux inconvénients : elle est liée à l’unité tout à fait arbitraire qu’est la seconde de temps ; et elle fait intervenir le temps et l’intensité de la pesanteur, considérations bien étrangères à l’unité de longueur.

      Le quart de l’équateur est repoussé aussi, car la régularité de ce cercle n’est pas plus assurée que celle des méridiens, et les régions équatoriales sont d’un accès difficile. On adopte donc le quart du méridien, dont la dix-millionième partie sera l’unité usuelle ; mais comme sa mesure entière n’est pas possible, on convient de se borner à un arc de grandeur suffisante dont les extrémités tombent l’une au nord l’autre au sud du parallèle 45°. La partie du méridien de Dunkerque à Barcelone est adoptée ; elle suit la méridienne de Paris déjà mesurée, ce qui donnera des vérifications précieuses. (Le Système métrique décimal. Sa création en France. Son évolution. Ses progrès).

      La commission est reçue le 19 juin 1791 par un Louis XVI qui s’enfuira le lendemain et sera arrêté le 21 juin 1791 à Varennes, ouvrant ainsi la page de l’Histoire de France la plus complexe sur le plan politique.

      Le 1er août 1793, première loi. Son article premier indique que :

      Le nouveau système des poids et mesures, fondé sur la mesure du méridien de la Terre et la division décimale, servira uniformément dans toute la République.

      Il prévoit un temps d’adaptation d’une année à l’issue de laquelle le nouveau système deviendra obligatoire et aussi (article 10 de la loi) que l’Académie des sciences fasse un livre

      à l’usage de tous les citoyens, contenant des instructions simples sur la manière de se servir des nouveaux poids et mesures, et sur la pratique des opérations arithmétiques relatives à la division décimale.

      Le système décimal donnera d’ailleurs à plusieurs publications d’origines diverses. Par exemple, en 1799, Le Système métrique et ses rapports de Jacques Schwab, habitant de Nancy. Il y propose des méthodes de calcul « faciles » à exécuter :

      J’ai, pour cela, tâché de ramener chaque rapport à une suite de fractions simples, qui répondent à 5 ou 6 chiffres de ce rapport, lesquels, si on les avait employés, auraient trop embarrassé le calcul par la multiplicité des chiffres ; d’ailleurs ces rapports ne se retiennent pas aussi volontiers dans la mémoire qu’une suite de fractions ; telles que ⅓, ½ pour 100, 3 par mille, etc. Ainsi, pour convertir des aunes en mètres, au lieu de multiplier par 1,188446, j’ajoute d’abord le 10^e ; sur ce premier résultat je prends 8 pour 100, sur ce second, ½ pour 100, et enfin le 80^e de ce dernier.

      Si les poids et mesures vont rester, dans la première partie de l’histoire du système métrique, basées sur le méridien terrestre. Il n’en va pas de même pour la température. En effet :

      la Commission « avait choisi la chaleur moyenne de la Terre, celle des caves de l’Observatoire, c’est-à-dire douze degrés et demi du thermomètre divisé en cent degrés »… (Le Système métrique décimal.).

      Quand le rapport Prieur préconisait qu’elle soit (j’ai gardé la graphie de l’auteur) :

      fixée, par exemple à dix dégrés du thermomètre à mercure, gradué à zéro pour la glace fondante, et à 80 dégrés pour l’eau distillée bouillante sous une pression constante de l’atmosphère, pression elle-même évaluée par la hauteur d’une colonne de mercure exprimée en fractions de la longueur du pendule.

      Dans la tourmente de la Révolution, les travaux de calcul du méridien seront interrompus ainsi que celui de l’établissement du système métrique. Il faut attendre le 7 avril 1795 (18 germinal an III) pour qu’une nouvelle loi sorte. L’article 1 proroge la loi de 1793 et suggère que les citoyens donnent « une preuve de leur attachement à l’unité et à l’indivisibilité de la République en se servant dès à présent des nouvelles mesures dans leurs calculs et transactions commerciales. » Son article 2, précise qu’il « n’y aura qu’un seul étalon des poids et mesures pour toute la République : ce sera une règle de platine sur laquelle sera tracé le mètre qui a été adopté pour l’unité fondamentale de tout le système des mesures. »

      Mais ce sont surtout ses articles 5, 6 et 7 qui sont vraiment intéressants. L’article 5 indique la nouvelle nomenclature et ses spécifications :

      Art. 5. —- Les nouvelles mesures seront distinguées dorénavant par le surnom de républicaines ; leur nomenclature est définitivement adoptée comme il suit :

      On appellera :
      Mètre, la mesure de longueur égale à la dix-millionième partie de l’arc du méridien terrestre compris entre le pôle boréal et l’équateur.
      Are, la mesure de superficie, pour les terrains, égale à un carré de 10 m de côté.
      Stère, la mesure destinée particulièrement aux bois de chauffage, et qui sera égale au mètre cube.
      Litre, la mesure de capacité, tant pour les liquides que pour les matières sèches, dont la contenance sera celle du cube de la dixième partie du mètre.
      Gramme, le poids absolu d’un volume d’eau pure égal au cube de la centième partie du mètre, et à la température de la glace fondante. Enfin, l’unité de monnaies prendra le nom de franc, pour remplacer celui de livre usité jusqu’aujourd’hui.

      L’article 6, quant à lui, précise les noms des subdivisions. On notera que « kilomètre » l’a emporté sur « myriamètre » dans la nomenclature actuelle.

      Art. 6. – La dixième partie du mètre se nommera décimètre et sa centième partie centimètre.
      On appellera décamètre une mesure égale à dix mètres : ce qui fournit une mesure très commode pour l’arpentage.
      Hectomètre signifiera la longueur de cent mètres.
      Enfin, kilomètre et myriamètre seront des longueurs de mille et dix mille mètres, et désigneront principalement les mesures itinéraires.

      L’article 7 précise aussi que : « Art. 7. – Les dénominations des mesures des autres genres seront déterminées d’après les mêmes principes que celles de l’article précédent. » Avec une exception pour les francs où l’on utilisera « décime » (tombé en désuétude depuis) et « centime ».

      Les travaux de calcul de la méridienne vont pouvoir reprendre, non sans quelques difficultés : Delambre qui avait négligé de payer le nécessaire passeport pour se déplacer dans cette France où on ne voyageait pas sans le précieux document sera arrêté puis relâché et jugera, mais un peu tard, qu’on ne l’y reprendrait plus. Les équipes de calcul du méridien, d’une manière générale, ne seront pas toujours bien accueillies. Méchain, qui avait préféré rester de l’autre côté des Pyrénées pendant la Terreur ne voudra pas rejoindre Paris malgré les suppliques de son épouse.

      Le lancement du système métrique

      L’ambition à l’origine du système métrique ayant été aussi qu’il soit universellement utilisé, et pas seulement en France, Talleyrand, alors Ministre des Affaires étrangères, avait aussi écrit à d’autres pays et obtenu des réponses favorables du Danemark, de l’Espagne et de la Sardaigne, ainsi que des Républiques batave, cisalpine, helvétique, ligurienne, romaine et toscane. Chacun envoyant des délégués à Paris pour les travaux.

      Le nouveau système sera-t-il accueilli avec joie et utilisé aussitôt ?

      Non, bien sûr que non. Sans parler des revenus que les anciennes mesures accordaient aux collectivités, la nouvelle nomenclature changeait les vieilles habitudes, les nouveaux noms ne sont pas dans la langue française (effectivement ils ont des racines grecques, comme nombre de mots de ladite langue) et ils étaient trouvés trop longs par les détracteurs du nouveau système. Ça rappelle les « guerres du nénufar » quand, en France, on s’emportait sur la réforme de l’orthographe de 1990. Toujours est-il, qu’un décret paraîtra le 12 février 1812 qui précise dans son article 3 que les instruments de mesure « porteront, sur leurs diverses faces, la comparaison des divisions et des dénominations établies par les lois, avec celles anciennement en usage. ». Ce qui n’est pas forcément le meilleur moyen de faire adopter pleinement le nouveau système. C’est un peu comme pour l’adoption de Linux, tant qu’on a un double démarrage, on aura tendance souvent à ne rester que sur Windows même en l’absence de logiciels spécifiques à ce système d’exploitation et qui n’existerait pas sous Linux. D’ailleurs, aussi bien au Canada, qu’en Australie ou au Royaume-Uni, le mélange des genres entre les deux systèmes continue à exister… avec des mesures impériales qui ne sont pas forcément toutes identiques.

      Néanmoins, si le décret se donne dix années d’expérimentation du système métrique (article 4), il précise bien (article 5) que « le système légal continuera à être seul enseigné dans toutes les écoles, y compris les écoles primaires, et à être seul employé dans toutes les administrations publiques, comme aussi dans les marchés, halles, et dans toutes les transactions, commerciales et autres, entre nos sujets. » L’arrêté qui en fixait l’exécution permettait, dans le domaine commercial, d’utiliser les toises, pieds, pouces et lignes qui étaient fixés par rapport au mètre : 1/3 de mètre pour la toise, 1/36 pour le pouce et 1/1296 mètres pour la ligne. Sans doute dans un esprit de simplification.

      Le système métrique était bien prêt pour être utilisé par la population, ladite population par contre… on ne lui facilitait pas tant que ça le changement de système. Au bout de quelques années, on finira par se retrouver dans une situation où les jeunes ne connaissaient que le système métrique, où l’administration n’utilisait que celui-là et où on continuait à utiliser les anciennes mesures dans le commerce de détail. Finalement c’est la loi du 4 juillet 1837 qui va définitivement imposer en France le système métrique, avec, toutefois, une tolérance jusqu’au 1er janvier 1840 pour que les commerces de détail passent sans difficulté de Python 2 à Python 3, pardon, du vieux système de mesure au nouveau.

      Van Swinden
      Jean Henri van Swinden (1746-1823), gravure tirée du Système métrique décimal.

      Le système métrique est enfin et définitivement adopté en France. Il l’avait déjà été en Suisse, (1801). En Hollande, une première proposition de loi avait été déposée par le physicien hollandais Van Swinden en 1802, l’Espagne se préparait activement à diffuser largement le nouveau système de mesure en 1807.

      Après cette difficile naissance, le système métrique entamera son essor à partir des années 1850 et sera très largement adopté.

      Courbe d’adoption du système métrique de 1790 à 1940
      Courbe de progression de l’adoption du système métrique par nombre d’habitants. Le système métrique met environ 60 ans pour toucher 50 millions de personnes. Et le même nombre d’années à peu près pour en concerner 500 millions.

      Et cela en dépit de quelques oppositions, ainsi le philosophe darwiniste anglais Herbert Spencer affirmait que :

       La survivance des plus aptes a toujours amené le triomphe des unités qui se divisent par 2 ou par 3 sur les divisions décimales. (rapporté dans Le Système métrique décimal.).

      Tandis que le parlementaire américain Samuel Dale estimait que le système anglais (qui deviendra le système impérial) était plus naturel car basé sur les dimensions du corps humain. Celui d’un corps humain en tout cas.

      Le Bureau International des Poids et Mesures (BIPM) et l’évolution du système métrique

      Un système de mesure n’est pas quelque chose qu’on conçoit, décide et fabrique une bonne fois pour toutes. Tout du moins, ce n’est pas le cas du système métrique tel qu’il vient d’être mis en place. Il faut s’assurer que les étalons de mesure soient toujours corrects, ce qui n’a pas été le cas d’ailleurs du mètre étalon, les distribuer, les contrôler mais aussi, le faire adopter le plus universellement possible pour les échanges commerciaux comme pour les recherches scientifiques. Il faut aussi que les bases du système puissent évoluer tout en restant cohérentes de façon à suivre les évolutions scientifiques.

      Un organisme de gestion du système de mesures international s’impose donc.

      La création du BIPM en 1875

      En 1875, le gouvernement français organise la Conférence diplomatique du mètre, vingt pays y participeront, essentiellement européens et américains : Allemagne, Argentine, Autriche-Hongrie, Belgique, Brésil, Danemark, Espagne, États-Unis, France, Grande-Bretagne, Grèce, Italie, Pays-bas, Pérou, Portugal, Russie, Suède et Norvège, Suisse, Turquie, Venezuela pour travailler sur le futur du système. Cela donnera le Bureau International des Poids et mesures créé par la Convention du Mètre en 1875. Il est internationalement reconnu comme l’organisme chargé de gérer le système métrique qui deviendra le Système International (SI) en 1960.

      Le budget, prévu dans la Convention du mètre issue de cette conférence de 1875 était de 75 000 F, qui pouvait aller jusqu’à 100 000 F maximum si nécessaire. Il comprenait les rétributions annuelles du directeur (15 000 F) et de ses deux adjoints (6 000 F chacun), celle de quatre aides à 3 000 F, d’un mécanicien-concierge à 3 000 F et de deux garçons de bureau pour 1 500 F chacun. À cela s’ajoutait un budget global de 24 000 F pour les savants et artistes1 amenés à intervenir à la demande du BIPM, l’entretien et la maintenance des locaux ainsi que les frais de fonctionnement. Enfin le secrétaire du Comité international des Poids et Mesures se voyait bénéficier d’une indemnité de 6 000 F pour son travail. Le budget sera moins détaillé par la suite. Pour 2025, il est fixé à 13 358 636 euros par la 27e réunion de la Conférence générale des poids et mesures, CGPM.

      Si on veut avoir une idée de ce que représentent ces montants, par exemple et à titre indicatif : le salaire brut annuel des employés de bureau est, en moyenne, d’environ 23 692 € (source). Quant à la direction du BIPM, le salaire proposé dans cette offre de recrutement de 2024 commençait à partir de 155 000 euros bruts annuels.

      Et, pour donner un ordre de grandeur du coût de la vie, le kilo de pain, élément principal de l’alimentation à l’époque, coûtait de 76 à 38 centimes (source). Aujourd’hui, un pain de 500 g coûte en moyenne 1,80 €, ce qui porte le kilogramme à 3,60 € (source). En un jour de travail, un garçon de bureau pour s’offrir quelque chose comme sept kilos de pain contre 14 pour un employé de bureau contemporain. Les limites de l’exercice est, dans les deux cas, que les charges récurrentes sont différentes.

      Le gouvernement français offre le lieu : ce sera le pavillon de Breteuil dans le parc de Saint-Cloud et qui a un statut d’enclave internationale. Un observatoire sera construit aussi sur les lieux pour les mesures et tout le travail de recherche. Et c’est toujours le siège et le lieu de travail du BIPM.

      Le pavillon de Breteuil
      Côté ouest du Pavillon de Breteuil et de l’observatoire, vers 1930.

      Des missions et des travaux qui dépassent le cadre des prototypes

      Lors des discussions, la question s’était posée de créer une institution pérenne ou de ne la faire que le temps de mettre au point et fabriquer les prototypes. L’option d’un organisme pérenne a prévalu, permettant au BIPM de continuer le travail sur les mesures et le travail de recherche.

      Les travaux vont donc porter dans un premier temps sur l’élaboration des étalons et des prototypes. Opérations qui vont nécessiter des prises de décision : quels matériaux adopter notamment et des analyses. Pour cela, le BIPM va se doter d’un laboratoire et d’outils qui vont lui permettre de vérifier la fiabilité des étalons dans le temps et de les conserver. Ce seront par exemple dans les années 1920-1930 des machines comme ce comparateur à dilatation.

      Comparateur à dilation
      Cette machine avec un système de commande électrique date de 1926. Elle pouvait mesurer des longueurs jusqu’à 1,25 mètres.

      Les étalons seront conservés de façon à limiter les risques d'altérations.
      Cloche à étalons
      À droite un poids étalon conservé sous une cloche de verre, à gauche une version dans un étui de voyage (le cylindre au milieu est le couvercle de l’étui).

      Le BIPM aujourd’hui

      Les missions du BIPM ont été étendues par rapport aux origines puisqu’il gère le Système international d’unités (SI), mais qu’il est aussi responsable du temps : l’UTC (pour Universel Temps Coordonné) ou temps universel coordonné, échelle de temps qui est devenu une norme internationale en 1963. En revanche, ne le maudissez pas pour les heures d’été et d’hiver, l’UTC ne s’en préoccupe pas et reste invariable toute l’année, a contrario du méridien de Greenwich. L’UTC base ses calculs sur la rotation terrestre et les horloges atomiques et non plus sur un méridien, même si l’heure zéro reste celle du méridien de Greenwich.

      On se souvient que, depuis le début des travaux du système métrique, l’idée était d’impliquer les autres États afin d’internationaliser son usage, le BIPM travaille ainsi avec les laboratoires de métrologie des États membres de la convention internationale du système métrique. Lesquels États participent au financement du BIPM. Il y a actuellement 64 membres, des grands pays comme le Brésil, la Chine, les États-Unis ou l’Inde, mais aussi un tout petit pays comme le Monténégro. La répartition géographique des pays membres du BIPM, sans surprise, n’est pas « équilibrée » entre les continents.

      Répartition des États membres du BIPM par continent
      En Europe 37 pays membres sur les 54 États du continent, 15 sur 35 pour l’Asie, 10 sur 49 pour l’Amérique, 5 sur 50 pour l’Afrique et 2 sur 16 pour l’Océanie.

      Son financement suit le modèle, avec quelques adaptations, de financement de l’ONU qui établit un barème des quotes-parts de chaque pays en fonction de divers critères incluant ses capacités de paiements. Le budget est décidé pour une période pluriannuelle et s’établit ainsi pour les années 2024 à 2027 (PDF) :

      • 2024 : 13 161 218 €
      • 2025 : 13 358 636 €
      • 2026 : 13 559 016 €
      • 2027 : 13 762 401 €

      L’évolution du système international

      Le système métrique de 1889 connaît plusieurs évolutions plus moins majeures.

      En 1901, le kilogramme devient l’unité de masse, une unité qui peut être mesurée en apesanteur, par exemple avec un certain type de chaise. Le poids, quant à lui, désigne « une grandeur de la même nature qu’une force ; le poids d’un corps est le produit de la masse de ce corps par l’accélération de la pesanteur ». Le nombre adopté pour la valeur de l’accélération normale de la pesanteur étant de 980,665 cm/s².

      En 1946, la CGPM ajoute avec l’ampère les unités électriques à la collection de celles que le SI gère. Il possède sept unités de base :

      • la seconde, s, unité de temps,
      • le mètre, m, unité de longueur,
      • le kilogramme, kg, unité de masse,
      • l’ampère, A, unité de courant électrique,
      • le kelvin, K, unité de température thermodynamique,
      • la mole, m, unité de quantité de matière,
      • le candela, cd, unité d’intensité lumineuse.

      En 1960, intervient ce que l’on peut considérer comme la première grande évolution du système métrique qui va changer de nom par la même occasion et devenir « International ». Il bénéficiera d’autres évolutions, la dernière, la plus importante, en 2018. Ce qui change : les définitions des mesures qui, bien que restant proches du système métrique initial gagnent en précision. Le mètre conserve toujours la même longueur grosso modo, le double décimètre promotionnel hérité de votre arrière-grand-tante reste toujours valable si cela peut vous rassurer. C’est important surtout pour l’infiniment petit, ou l’infiniment grand.

      De 1960 à 2018 :

      • la seconde est définie en 1960 comme « la fraction 1/31 556 925,9747 de l’année tropique pour 1900 janvier 0 à 12 heures de temps des éphémérides » pour, en 1967, devenir « la durée de 9 192 631 770 périodes de la radiation correspondant à la transition entre les deux niveaux hyperfins de l’état fondamental de l’atome de césium 133 »,
      • la longueur du mètre est égale à : « 1 650 763,73 longueurs d’onde dans le vide de la radiation correspondant à la transition entre les niveaux 2p_{10} et 5d_{5} de l’atome de krypton 86. », en 1987, le mètre deviendra « la longueur du trajet parcouru dans le vide par la lumière pendant une durée de 1/299 792 458 de seconde » 17e CGPM,
      • l’unité de température est le kelvin depuis 1967 et son symbole le K, ils « sont utilisés pour exprimer un intervalle de température » qui « peut aussi s‘exprimer en degrés Celsius »,
      • la mole s’ajoute au portefeuille des mesures de base du SI lors de la 14e CGPM en 1971, c’est la « quantité de matière d'un système contenant autant d'entités élémentaires qu'il y a d'atomes dans 0,012 kilogramme de carbone 12 ; son symbole est “mol” »,
      • le candela, mesure d’intensité lumineuse, est défini en 1967 comme l’intensité lumineuse, dans la direction perpendiculaire, d’une surface de 1/600 000 mètre carré d’un corps noir à la température de congélation du platine sous la pression de 101 325 newtons par mètre carré.  » définition qui sera abrogée par la suite.

      Depuis le 29 mai 2019, date de son application, le SI se définit selon ces bases :

      la fréquence de la transition hyperfine de l’état fondamental de l’atome de césium 133 non perturbé, ΔνCs, est égale à 9 192 631 770 Hz,

      • la vitesse de la lumière dans le vide, c, est égale à 299 792 458 m/s,
      • la constante de Planck, h, est égale à 6,626 070 15 × 10–34 J s,
      • la charge élémentaire, e, est égale à 1,602 176 634 × 10–19 C,
      • la constante de Boltzmann, k, est égale à 1,380 649 × 10–23 J/K,
      • la constante d’Avogadro, NA, est égale à 6,022 140 76 × 1023 mol–1,
      • l’efficacité lumineuse d’un rayonnement monochromatique de fréquence 540 × 10 12 Hz, Kcd, est égale à 683 lm/W.

      Ces spécifications relèguent au musée les étalons matériels puisque le SI est basé sur les éléments immatériels que sont les constantes de la physique. Par contrecoup, si on a gagné en précision et, semble-t-il, en pérennité, on s’est bien éloigné des spécifications de 1791 qui ne requéraient, pour être comprises, pas de connaissances particulières ni même de dispositifs complexes pour l’établissement des mesures. Cela d’ailleurs été reproché à la parution de la nouvelle version du SI. On notera au passage l’importance de la seconde qui avait été écartée en 1791.

      Le SI et les autres systèmes d’unités

      À l’heure actuelle il n’existe que deux systèmes d’unités couramment employés : le SI presque partout dans le monde, notamment scientifique et le système impérial qui reste encore en vigueur aux USA, où le SI est reconnu officiellement et enseigné, au Liberia et au Myanmar qui reste le seul pays du monde à n’utiliser que le système impérial.

      Le système impérial, qui date de 1824, se définit par rapport au SI depuis 1959. Ainsi un pied est subdivisé en douze pouces de 2,54 cm (ce qui fait un tout petit pouce) et mesure 30,48 cm, soit une pointure 48 environ, pas le pied de tout le monde. Et, naturellement, un alexandrin fait douze pieds2.

      L’OpenDocument Format (ODF)

      Le format ODF est une norme de fichiers bureautique qui doit sa naissance à des raisons similaires à celles qui ont abouti à la création du système métrique, à savoir une abondance de formats fermés qui rendait le processus d’archivage et de conservation des documents, au mieux, difficile.

      Logo de l’ODF, un oiseau bleu, crédits Andy OpenClipart

      Derrière l’ODF

      Derrière l’ODF, le consortium OASIS (Organization for the Advancement of Structured Information Standards), à ne pas confondre par exemple avec le consortium OASIS, une autre organisation à but non-lucratif mais dans le domaine de la santé ou encore avec le groupe de rock Oasis.

      Le consortium OASIS qui nous occupe est composé d’organismes très divers : des entreprises informatiques, des administrations publiques, des bibliothèques ou encore des organisations à but non-lucratif comme TheDocumentFoundation qui chapeaute le projet LibreOffice. Il a été créé en 1993 sous le nom de SGML dans le but de développer le langage de balisage du même nom. Le consortium changera de nom en 1998 en élargissant ses domaines d’action. OASIS a maintenu et maintient une collection assez impressionnante de projets dans des secteurs très variés (en), entre autres :

      • le modèle de documentation technique DocBook,
      • la norme de rédaction de documents structurés modulaires DITA,
      • le protocole d’échanges de données de service Web WS-Security.

      Une brève histoire de l’ODF

      En 2002 Sun Microsystems commence à travailler sur un format de fichiers bureautiques basé sur le XML pour sa suite bureautique OpenOffice. OASIS va reprendre le flambeau. La naissance, en 2002, du groupe de travail sur l’OpenDocument Format est d’ailleurs annoncé sur LinuxFr.

      En 2006 une première version 1.0 est publiée qui devient la norme ISO/IEC 26300. Elle sera suivie de quatre autres versions :

      • ODF 1.1 en 2007, ajout du support des formules,
      • ODF 1.2 en 2011 avec de nouvelles fonctionnalités,
      • ODF 1.3 en 2020 avec une focalisation sur la signature électronique et le chiffrement ainsi qu’une amélioration des fonctionnalités de formatage du texte et une amélioration de l’accessibilité,
      • et ODF 1.4 en 2024 qui poursuit notamment le travail d’amélioration de l’interopérabilité et de l’accessibilité en proposant par exemple une sémantique plus claire pour les dispositifs d’assistance ainsi qu’une meilleure navigation pour les lecteurs d’écran, elle ajoute également des contrôles de formulaires entre autres nouveautés.

      Les débuts de l’ODF se sont révélés houleux du fait de la contre-offensive lancée par Microsoft qui ne voulait pas perdre son monopole de fait. Il s’ensuivra une guerre d’influences auprès de l’ISO pour que l’OOXML soit considéré comme une norme ISO.

      Une petite histoire de son adoption à travers les dépêches, journaux et liens de LinuxFr.org

      En janvier 2010 le Danemark rendait obligatoires les formats normalisés ODF et PDF mais ne décidera de passer à Linux et LibreOffice que quinze plus tard. En juin 2010, l’Union européenne se posait la question des logiciels propriétaires dans les États de l’Union, une question qu’elle continue à se poser tout en l’ayant adopté comme format d’enregistrement depuis.

      Le Ministère italien de la défense commençait à migrer vers LibreOffice et ODF en septembre 2015.

      En France, la version datée d’avril 2016 2 du Référentiel Général d’Interopérabilité (RGI), recommande l’utilisation du format ODF comme seul format bureautique. La même année, la plateforme de dépôts de brevet de l’INPI s’assied sur ces recommandations et impose le format OOXML… En juillet 2025 un rapport sénatorial dénonce un recours massif de l’État français aux GAFAM.

      Le gouvernement fédéral allemand s’engage à utiliser le standard ODF en avril 2025. Le Schleswig-Holstein avait, quant à lui, pris la décision de passer à LibreOffice en mars.

      Les types de fichiers ODF

      L’ODF est un format de document de travail, donc de fichiers amenés à être modifiés, pas un format d’archivage comme peut l’être le PDF, voire, le format EPUB. Il comporte plusieurs « sous-formats » selon le type d’application qui sert à les générer.

      Illustrations des formats de fichier texte, tableur, présentation et image

      Les plus utilisés et, probablement, les plus connus :

      • ODP, pour les présentations, et sa variante OTP avec le T de « template » pour les modèles,
      • ODS, pour les feuilles de calcul (« spreadsheet » en anglais), et sa variante OTS,
      • ODT pour le traitement de texte, et sa variante OTT ainsi que, pour les documents maîtres : ODM et OTM. Ces derniers étant prévus pour gérer des fichiers volumineux : un document principal, le document maitre, contient du texte et des liens vers des sous-documents, des chapitres de livres par exemple. Chaque sous-document pouvant être travaillé individuellement.

      À cela s’ajoutent :

      • ODB pour les bases de données, qui, à ma connaissance, est essentiellement utilisé dans Base de LibreOffice et d’OpenOffice,
      • ODG, avec sa variante OTG pour les images vectorielles, utilisé essentiellement, à ma connaissance, par LibreOffice, Karbon de la suite Caligra et OpenOffice ; MsOffice peut, toutefois, ouvrir les fichiers ODG. Le format OTG accepte plusieurs pages et plusieurs calques,
      • ODF, avec sa variante OTF, pour les formules de mathématiques, on peut ainsi créer des formules de mathématiques séparément et les insérer dans des documents, mais il est possible aussi d’ajouter directement une formule dans un document, auquel cas elle ne fait pas l’objet d’un fichier à part,
      • ODC, avec sa variante OTC pour les graphiques (« chart » en anglais).

      Quelques avis

      Le 25 juillet 2007, dans Red Hat Magazine, T. Colin Dodd considérait le format comme inévitable. Il rapportait l’histoire d’un scientifique qui voulait, en 1999, consulter les données de la sonde Viking sur Mars, des données datant de 1979. Il exposait que après avoir retrouvé une copie des données sur bande magnétique (avec bien du mal), celles-ci étaient « dans un format si ancien que le programmeur qui le connaissait était mort. ».

      Le format a été qualifié de révolutionnaire car :

      il offre une alternative ouverte et interopérable aux formats propriétaires. Son architecture basée sur XML garantit la pérennité des données et facilite les échanges entre différents logiciels. Plongeons dans les arcanes de ce standard qui redéfinit notre approche du partage et de la conservation de l’information à l’ère numérique. Jenny, PC expert, 27 mars 2025.

      Et, bien évidemment, ce qui a été relevé c’est qu’il est un :

      symbole d’interopérabilité et de liberté numérique face à l’hégémonie de formats fermés tels que DOCX, PAGES ou Google Docs. actualitéscloud, 20 mai 2025.

      et que c’est

      à ce jour le seul format réellement ouvert pour les documents bureautiques. Goodtech.info.

      Références

      Quand on ne maîtrise pas trop un domaine, il faut lire pour compenser. On trouvera donc ci-dessous une bonne partie de ce qui a servi à bâtir cette dépêche qui m’a donné beaucoup de travail l’occasion de transformer en EPUB des documents sur le système métrique pour les rendre plus accessibles et utilisables. La majorité des sources est accessible en ligne.

      L’histoire du système métrique

      Un certain nombre de ces références sont issues de la BnF Gallica. J’en ai « epubifié » certaines. Je les propose en téléchargement également aux formats PDF et PDF hybride. Si vous préférez l’aspect des versions originales : elles sont téléchargeables sur le site de la BnF Gallica. Il est même possible de commander à ladite BnF un fac-similé imprimé.

      L’ODF

      Et si vous voulez un peu bricoler, dans le cadre d’animations et faire toucher du doigt concrètement la différence entre un format ouvert et un format propriétaire, il y a ces deux petits livres à tricoter. Mais on peut voler l’idée pour la reproduire dans d’autres matériaux.

      Remerciements

      En travaillant sur la version EPUB du livre Le Système décimal j’ai dû appeler à l’aide pour une formule. Insérer une formule de math dans Writer de LibreOffice est d’une simplicité enfantine, par contre, écrire la formule réclame des connaissances qui ne sont pas du tout innées. Je remercie les mastodonautes qui ont répondu à mon appel à l’aide et ont eu la gentillesse d’écrire la formule. Un grand merci à Cévhé qui a relu le fichier du livre et a corrigé quelques bourdes restantes.


      1. Les artistes avaient notamment pour tâche d’effectuer les travaux de gravure sur les étalons pour indiquer les graduations. Dans son rapport de 1790, Prieur précisait que cette opération ne devait « être confiée qu’à un artiste très-habile et l’extrême soin que ce travail exige indique assez que ce n’est pas sur cet objet qu’il convient de rechercher l’économie. »  

      2. Ceci est bien la preuve qu’il ne faut pas faire confiance aux littéraires, ces gens-là ne respectent rien et sont capables de jouer avec les nombres comme n’importe quel savant de Marseille. 

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Des nouvelles de Fortran n°7 - juillet 2025
        Dans les actualités Fortran, on abordera en particulier la troisième édition de la conférence internationale Fortran, la sortie officielle du nouveau compilateur Flang dans LLVM et les actualités du gestionnaire de paquets fpm. Et comme c'est bientôt les vacances, on terminera par une section consacrée à Fortran dans la culture populaire, où l'on apprendra entre autres que le Nostromo avait un neuvième passager… lien nᵒ 1 : Alien, le huitième passagerlien nᵒ 2 : Organisation Fortran-lang.orglien

      Des nouvelles de Fortran n°7 - juillet 2025

      Par : vmagnin
      17 juillet 2025 à 06:42

      Dans les actualités Fortran, on abordera en particulier la troisième édition de la conférence internationale Fortran, la sortie officielle du nouveau compilateur Flang dans LLVM et les actualités du gestionnaire de paquets fpm. Et comme c'est bientôt les vacances, on terminera par une section consacrée à Fortran dans la culture populaire, où l'on apprendra entre autres que le Nostromo avait un neuvième passager…

      Sommaire

      Appel à contributions pour FortranCon 2025

      FortranCon 2025 est la troisième édition de la conférence internationale sur le développement et l'utilisation du langage de programmation Fortran, et aura lieu les 4 et 5 novembre 2025. Avec cette conférence, nous avons l'intention de rassembler les développeurs actifs du projet Fortran dans tous les domaines : les développeurs de bibliothèques et d'outils ainsi que les personnes utilisant Fortran pour développer des applications scientifiques, afin de partager leur expérience et d'échanger des idées. L'événement est organisé sur Zoom grâce aux contributions de la communauté pour la communauté.

      Le discours d'ouverture sera prononcé par John Reid, membre actif du comité Fortran de l'ISO/IEC JTC1/SC22/WG5 (et animateur du comité de 1999 à 2017). C'est également l'un des auteurs du livre de référence Modern Fortran explained, dont la sixième édition (couverture orange) inclut Fortran 2023.

      Les vidéos des présentations des éditions 2020 et 2021 sont toujours en ligne sur la chaîne YouTube FortranCon.

      Dates limites

      • Inscription (gratuite) : 15 octobre 2025.
      • Premier appel à résumés : 1er août 2025 (décisions envoyées avant le 30 août 2025).
      • Deuxième appel à résumés : 1er septembre 2025 (décisions envoyées avant le 30 septembre 2025).

      Sur le front des compilateurs

      Compilateurs opérationnels

      Flang (LLVM)

      Dans LLVM 20.1, sorti en mars 2025, flang-new a été rebaptisé flang et remplace son prédécesseur du même nom. Il s'agit donc du lancement officiel de ce nouveau compilateur soutenu par NVIDIA et le Département de l’Énergie américain, après sept ans de développement. Un article très complet du blog LLVM relate cette longue aventure :

      La doc de Flang présente même une pierre de Rosette pour les gens connaissant le C ou le C++ et souhaitant débuter en Fortran.

      Intel ifx

      Intel ifx (basé sur LLVM) est actuellement en version 2025.2.0, avec en particulier quelques améliorations du côté Fortran 2023 et OpenMP 6.0, par rapport à la 2025.1.0 qui améliorait également ces deux points.

      GFortran (GCC)

      GFortran est en version 15.1. Attention, les fichiers .mod générés par GFortran 15 ne sont pas compatibles avec les versions antérieures. Si vous ne savez pas de quoi je parle, les .mod c'est un peu l'équivalent des fichiers headers .h en C, mais en pire puisque ce sont des fichiers binaires pas normalisés, donc pas interopérables entre les différents compilateurs Fortran, voire comme ici entre différentes versions. Bref, pas glop !

      Parmi les six projets GCC du GSoC 2025, on en trouve un pour améliorer la prise en charge par GFortran de certaines fonctionnalités des normes Fortran 2018 et 2023. Le compilateur libre a également reçu 360 k€ de la Sovereign Tech Agency allemande, en particulier pour offrir un support direct des coarrays (co-tableaux) pour le calcul parallèle sur systèmes à mémoire partagée (pour l'instant il est nécessaire d'installer la bibliothèque OpenCoarrays pour les utiliser avec GFortran).

      En gestation

      Le développement du compilateur LFortran continue. Il s'approche tranquillement de la version beta, compilant déjà huit bibliothèques Fortran matures sur les dix définies pour ce jalon. On notera d'ailleurs que parmi les cinq projets de la communauté Fortran-lang du GSoC 2025, un projet a pour objectif de réussir à compiler le gestionnaire de paquets fpm avec LFortran. Une bonne façon de faire progresser le compilateur !

      Fedora ou F comme Fortran ?

      Une des meilleures distributions Linux pour faire du Fortran est peut-être Fedora. On trouve en effet directement dans ses dépôts pas moins de trois compilateurs Fortran libres en versions récentes : GFortran (GPL), Flang (licence Apache) et LFortran (licence BSD). Quand à Intel ifx, on pourra facilement l'installer par exemple dans un environnement Conda (paquet ifx_linux-64). Et avec la Fedora Rawhide, c'est bien sûr encore plus saignant (bleeding edge) au niveau des versions !

      Communauté Fortran-lang

      Projets Fortran-lang

      fpm

      Le gestionnaire de paquets Fortran fpm est disponible en version 0.12 depuis le 18 mai 2025. Parmi les nouveautés, on notera :

      • un fichier compile_commands.json exporté par défaut à chaque fois que l'on construit un projet avec fpm, ce qui facilitera son intégration avec d'autres outils, en particulier les IDE.
      • Deux nouveaux métapackages disponibles : BLAS/LAPACK et NetCDF.
      • La possibilité de générer des bibliothèques partagées, et non plus uniquement statiques.

      Du côté des greffons, on citera fpm-modules et fpm-deps qui permettent de visualiser les dépendances d'un projet fpm à l'aide d'outils tels que Mermaid ou Graphviz.

      Quelques projets divers

      • Fortitude 0.7.3 : un linter Fortran sous licence MIT, écrit en Rust et installable via Python.

      • Seer : une interface graphique pour gdb pour Linux, qui prend en charge de nombreux langages, dont Fortran. Licence GPL 3.0.

      • Codee commercialise un analyseur de code Fortran / C / C++ et un formateur de code Fortran. Ce dernier peut néanmoins être utilisé gratuitement pour un usage personnel. « Codee se distingue en tant que plateforme de développement Fortran, C et C++, en favorisant la correction du code, la modernisation, la sécurité, la portabilité et l'optimisation afin d'aider les développeurs à fournir des logiciels rapides, faciles à maintenir et fiables, conformes aux normes de l'industrie. » Codee vient de sortir en version 2025.3.

      Fortran et culture populaire

      Alien

      Comme vous le savez peut-être, le Nostromo est le vaisseau spatial du film Alien (1979). Lors de l'atterrissage sur la lune Acheron LV-426, l'ordinateur de bord affiche un modèle 3D de son relief. Sur cet extrait sur YouTube, vous pouvez le voir plusieurs fois à partir de l'instant 2:28. Ce modèle est présenté par son auteur dans l'article suivant :

      Le code ne faisait que 14 pages de code FORTRAN et son auteur explique :

      Le matériel utilisé était un Prime 300 connecté à un FR 80 de III (Information International, Inc.) qui peut tracer directement sur pellicule. Le logiciel d'animation Frolic, développé par C. Emmett, tournait sur ce système dans les laboratoires du SRC à Oxfordshire.

      Mon programme était écrit en FORTRAN avec des appels aux sous-routines Frolic.

      Années 70 obligent, le graphisme n'est pas sans rappeler le signal du pulsar CP1919 tracé informatiquement par Harold D. Craft Jr dans sa thèse soutenue en 1970 et popularisé par Peter Saville sur la pochette de l'album Unknown Pleasures, dont je vous avais déjà parlé. Quarante-six ans après la sortie du film Alien, on pourra s'amuser de constater que n'importe quelle voiture actuelle a un écran couleur bien plus high-tech que celui du Nostromo ! Mais dix ans avant, le premier alunissage avait eu lieu avec une informatique et une électronique qui semblent aujourd'hui rudimentaires. C'est que se déplacer est avant tout un problème de mécanique (éventuellement céleste). Côté déplacement, le Nostromo reste quand même très largement en avance sur les starships actuels.

      Fortran dans les dessins animés américains

      Le langage semble avoir laissé des traces, plutôt bienveillantes, chez les (vieux) étudiants américains :

      • Dans la série d'animation Futurama, Olde Fortran est une marque de liqueur de malt (bière forte) consommée par le robot Bender, une sorte de boisson énergisante pour lui. On y voit aussi des jackpots Wheel of Fortran (roue de la fortune… Algorithme Monte Carlo ?).
      • Dans Les Simpson, épisode « L'homme qui vint pour être le dîner » (2015), un extraterrestre dit à 1:23 :

      « En tant que jeunes choses insignifiantes, nous sommes éduqués dans la sagesse de l'univers. Physique, mathématiques, FORTRAN - le plus grand des langages de programmation ! »
      (“As young thinglings, we are schooled in the wisdom of the universe. Physics, mathematics, FORTRAN - the greatest of the programming languages!”)

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Common Lisp ces deux dernières années: un monstre de l'évolution parmi nous
        Le langage Common Lisp n’est pas un dinosaure éteint. À l’instar de certains requins, c’est une bestiole qui n’a cessé d’évoluer pour devenir un prédateur redoutable aujourd’hui. C’est un langage qui éclate l’auteur du journal à l’origine de cette dépêche, dzecniv, au quotidien depuis des années, avec lequel il déploie certains services facilement (venant de Python, il apprécie le déploiement), alors il a de nouveau rédigé un petit récapitulatif de ce qui s’est passé dans cet écosystème ces deux

      Common Lisp ces deux dernières années: un monstre de l'évolution parmi nous

      Le langage Common Lisp n’est pas un dinosaure éteint. À l’instar de certains requins, c’est une bestiole qui n’a cessé d’évoluer pour devenir un prédateur redoutable aujourd’hui. C’est un langage qui éclate l’auteur du journal à l’origine de cette dépêche, dzecniv, au quotidien depuis des années, avec lequel il déploie certains services facilement (venant de Python, il apprécie le déploiement), alors il a de nouveau rédigé un petit récapitulatif de ce qui s’est passé dans cet écosystème ces deux dernières années.

      Vous prendrez garde à ne pas conclure que les bibliothèques et projets qui sont présentés ici sont les seuls de leur domaine, ni que tous les nouveaux projets sont listés, ni qu’il s’agit d’un aperçu complet de l’écosystème.

      Sommaire

      (NdM: dans la suite, l'auteur du journal à l’origine de la dépêche s'exprime à la première personne)

      Pour avoir un aperçu plus global de l'écosystème, veuillez faire une petite recherche sur GitHub, surveillez reddit/r/lisp et reddit/r/common_lisp, utilisez un moteur de recherche, ou commencez par jeter un coup d’œil sur la liste awesome-cl.

      Il me tient à cœur de faire cette liste, car de l’extérieur on ne se rend pas forcément compte à quel point, certes, le langage et l’écosystème sont stables, mais qu’ils évoluent également.

      S’il fallait en choisir trois, je mettrais ces travaux en avant :

      1. je suis impressionné par tout ce qui se passe autour de l’implémentation SBCL (et des travaux en cours sur ECL et ClozureCL)
      2. j’adore l’éditeur Lem, et suis également impressionné par tous les modules qu’il comporte déjà, par la qualité de sa base de code et par la facilité avec laquelle on peut l’explorer, ce qui est aussi rendu facile par l’interactivité du langage
      3. plusieurs outils pour écrire et exécuter des scripts plus rapidement que d’habitude émergent, et sont nécessaires à mon avis.

      Bonne découverte.

      Opus Modus v3

      Hacker News est passé de Racket à Common Lisp (SBCL)

      C’est une nouvelle plutôt cool pour nous les publicitaires pro du langage. HN a été développé avec le dialecte de Lisp Arc, initialement implémenté avec Racket, et pour des questions de performance ils l’ont ré-implémenté en Common Lisp, avec SBCL.

      Pour plus de contexte : Paul Graham (avec Robert Morris) crée Viaweb en 1995, le premier fournisseur d’applications en ligne (pour garder la terminologie de Wikipédia, page Paul Graham), développé en Common Lisp, avec l’implémentation CLisp. Cette implémentation existe toujours et est légèrement développée, mais il est généralement conseillé d’utiliser SBCL (qui colle mieux au standard, qui est plus performante, qui donne plus d’indications de typage pendant le développement, etc.). “PG” vend Viaweb à Yahoo en 1998 (pour ce qui devient Yahoo! Store), et fonde l’incubateur de start-ups YCombinator. PG n’était pas satisfait par Common Lisp, au tout au moins (là, je n’ai pas les sources) voulait un dialecte plus succinct, qui permette d’écrire des applications web de manière plus compacte. Il ébauche un dialecte de Lisp, appelé Arc, et l’implémente avec Racket (MzScheme à l’époque). Le site de Hacker News (géré par YCombinator) fut donc écrit en Arc avec cette première implémentation.

      Le responsable (ou un des responsables) du portage vers SBCL et modérateur d’Hacker News, dang, explique :

      [Clarc, l’implémentation en Common Lisp] est beaucoup plus rapide et permet de faire tourner HN sur plusieurs cœurs. Ça a été un travail de fond de quelques années, principalement parce que je ne trouve pas le temps pour travailler dessus.

      Les sources du site d’HN ne seront pas publiées pour ne pas dévoiler de multiples mécanismes anti-spam et anti-abus (les séparer du code source serait « beaucoup de travail »), mais les sources de Clarc pourraient l’être, avec un peu plus d’efforts pour les séparer du code d’HN.

      https://lisp-journey.gitlab.io/blog/hacker-news-now-runs-on-top-of-common-lisp/

      C’est quoi Common Lisp ?

      C’est un langage multi-paradigmes, et selon les implémentations, comme avec SBCL : compilation en code machine très performant, typage graduel, très interactif :

      • débogueur interactif, permet de corriger une fonction, de la re-compiler et de reprendre l’exécution depuis la fonction boguée, sans devoir tout relancer de zéro (démo youtube)
      • ne perd pas l’état du programme en cours quand on travaille avec un bon éditeur
      • permet même de contrôler comment des instances sont mises à jour lorsque la définition d’une classe change (pas forcément utile pour le quotidien on est d’accord, encore que, quand on sait le faire on en tire parti, mais c’est pensé pour les systèmes à longue durée de vie, qu’on peut patcher pendant qu’ils tournent),
      • un REPL avec beaucoup de fonctionnalités (ne redémarre jamais, on peut installer des bibliothèques depuis le REPL), extrêmement utile et satisfaisant en tant que développeur (j’en ai toujours un d’ouvert),
      • on compile fonction par fonction avec un raccourci clavier, SBCL nous donne beaucoup de warnings et d’erreurs de typage instantanément (et pour du Haskell intégré dans Common Lisp, cf. Coalton ci-dessous).

      Définir une fonction :

      (defun hello ()
        (print "hello!"))
      
      ;; Appeler la fonction:
      (hello)

      Compiler la fonction :

      • soit C-c C-c depuis tout bon éditeur, sans quitter le programme, sans redémarrer quoi que ce soit,
      • soit C-c C-k depuis l’éditeur, pour re-compiler le fichier,
      • soit sbcl --load hello.lisp depuis la ligne de commande (ce qu’on va donc faire rarement, seulement de temps en temps pour vérifier que ça passe, pour construire un binaire, pour déployer depuis les sources…)

      Liens :

      La communauté

      Elle est active, il y a des évènements IRL réguliers dans quelques villes, l’European Lisp Symposium chaque année…

      On peut voir les chiffres de la communauté reddit/r/common_lisp (plus petite que le plus général “lisp”),

      La communauté est présente sur reddit, Discord (lien: https://discord.gg/hhk46CE), IRC, Mastodon, LinkedIn…

      Documentation

      On a la chance d’avoir de très bons livres sur CL, mais historiquement peu de doc en ligne. Ça évolue.

      Les spécifications du langage ont été portées vers des sites beaucoup plus sympas à l’utilisation que le site de référence, comme le Common Lisp Community Spec, site également publié sous licence libre,

      Le Common Lisp Cookbook reçoit un bon nombre de contributions. On peut le trouver en EPUB : https://github.com/LispCookbook/cl-cookbook/releases/tag/2025-01-09

      Le livre PAIP est maintenant disponible en ligne : https://norvig.github.io/paip-lisp/#/

      J’ai sorti un nouveau site sur le développement web en Common Lisp : https://web-apps-in-lisp.github.io/index.html

      FreeCodeCamp a publié un cours “complet” sur Youtube : https://www.reddit.com/r/Common_Lisp/comments/1i1e766/lisp_programming_language_full_course_for/

      cf. d’autres vidéos sympas ici : https://www.cliki.net/Lisp%20Videos

      J’ai sorti neuf vidéos (1h22) pour expliquer CLOS, le système objet : https://lisp-journey.gitlab.io/blog/clos-tutorial-in-9-videos-1h22min--read-the-sources-of-hunchentoot-and-kandria/

      Les implémentations

      Il s’en passe des choses.

      SBCL

      SBCL a toujours des sorties mensuelles : https://www.sbcl.org/news.html

      SBCL s’est vue dotée d’un nouveau GC.

      Entre autres choses, rapidement :

      • appeler SBCL comme une bibliothèque partagée depuis C ou Python, avec sbcl-librarian (par les mêmes personnes derrière Coalton) (recette sur le Cookbook),
      • compilation croisée pour Android
      • support pour Haiku
      • « memory allocation arenas » pour arm64
      • améliorations du module sb-simd
      • SBCL est porté pour la Nintendo Switch, pour les besoins du jeu Kandria (cf plus bas)
      • installation facile sur Windows avec Chocolatey (non officiel)
      • ou des builds quotidiens pour MSYS2

      ABCL - CL pour Java

      ABCL a sorti des nouvelles versions :

      Et Clojure ? Je ne connais qu’à peine (ça reste du Java, ça reste gourmand en ressources, le REPL est moins riche en fonctionnalités, le langage ne donne pas d’erreurs de type à la compilation avec un C-c C-c), donc je peux juste citer d’autres lispers. cf. :

      CCL, LispWorks, Allegro, ECL, CLASP, SICL, LCL, Alisp, Medley

      Ces implémentations sont actives.

      ECL a un module pour WASM, en cours de développement mais qui permet déjà de lancer Maxima, un logiciel de calcul formel, dans un navigateur.

      Breaking news: ECL vient d'être accepté par NLNet pour justement travailler sur ce module.

      Pour info, on peut également utiliser Maxima via SageMath, avec KDE Cantor, avec l'interface graphique wxMaxima, sur Android, dans un "notebook" Jupyter, via Emacs avec le paquet "maxima-mode", et on peut faciliter son utilisation depuis un REPL Common Lisp et avec maxima-interface.

      CLASP, pour interfacer CL et C++ nativement, est toujours développé par une start-up en bio technologies :

      SICL est peut-être le futur de Common Lisp. C’est une nouvelle implémentation, modulaire. Des bouts sont déjà utilisés dans d’autres implémentations.

      Medley est la ré-incarnation de la Medley Interlisp Lisp Machine. Je ne l’ai pas connue, trop jeune. On peut la tester via un navigateur.

      LCL pour Lua Common Lisp est une nouvelle implémentation, Alisp est une nouvelle implémentation en cours de développement (en C).

      Industrie, offres d’emplois

      Il y a peu d’offres, publiques en tout cas, on voit des opportunités passer de manière moins formelle sur les réseaux. Mais il y en a (cf. le lien original, par ex. une offre pour 3E à Bruxelles).

      Et oui, certaines entreprises utilisent toujours Common Lisp, et certaines entreprises choisissent de leur plein gré ce langage comme base de leurs nouveaux produits. On le voit surtout dans le domaine de l’informatique quantique, et toujours pour une certaine forme d’IA. Mais des boîtes plus classiques peuvent en tirer parti. On voit des logiciels de management de projet (Planisware, cocorico c’est une boîte française, développé avec l’implémentation Allegro), du développement web, des bots internet…

      Quelques exemples :

      et des usages, moins dans l’actualité :

      Projets cools

      Éditeurs

      Éditeurs pour Lisp : https://lispcookbook.github.io/cl-cookbook/editor-support.html (il y en a d’autres qu’Emacs, mais essayez donc !)

      Lem : https://lem-project.github.io/

      Construit en CL, il est donc extensible à la volée en Lisp, comme Emacs. Contient un client LSP qui fonctionne pour de nombreux autres langages, et des modes syntaxiques plus classiques pour nombre d’autres.

      Quelques fonctionnalités de Lem :

      • mode vim et Emacs
      • interface Git interactive (opérations classiques, rebase interactive (sans les actions “edit” ou “reword”))
      • navigateur de fichiers
      • panneau de navigation
      • terminal via libvterm
      • curseurs multiples
      • pour le terminal (ncurses) et le bureau (SDL2), et une version “cloud” pour édition collaborative en chantier.
      • Tetris (en mode graphique)

      Lem filer

      Nouveau projet : Neomacs https://github.com/neomacs-project/neomacs basé sur Electron

      Coalton : comme Haskell, pour Common Lisp

      En les citant, Coalton c’est :

      the implementation of a static type system beyond Haskell 95. Full multiparameter type classes, functional dependencies, some persistent data structures, type-oriented optimization (including specialization and monomorphization). All integrated and native to CL without external tools.

      C’est une bibliothèque logicielle qu’on installe comme n’importe quelle autre, mais qui fournit un autre langage pour écrire des programmes typés statiquement, tout en s’interfaçant de manière native avec son langage hôte.

      Coalton est développé à l’origine pour des boîtes dans l’informatique quantique. Cf le compilateur quilc.

      Ce n’est donc pas un jouet. Et si les développeurs ne font pas un tonnerre de tous les diables pour montrer leur travail incroyable, c’est qu’ils bossent ;) (mais ils répondront au FUD sur HN).

      Les gestionnaires de bibliothèques

      Depuis au moins 10 ans, le « package manager » qui rend de fidèles services est Quicklisp. Il sort des distributions de bibliothèques, qui ont été vérifiées pour charger correctement. La dernière en date était en octobre :

      Et oui, elle date un peu. Plusieurs explications à cela, à lire et discuter par ailleurs.

      Aujourd’hui, de nouveaux outils émergent:

      Développement de jeux

      Le meilleur exemple dans ce domaine est Kandria, qui est sorti sur Steam :

      • https://kandria.com/
      • retours d’expérience (anglais): où oui, Common Lisp (ici SBCL) est assez performant pour faire tourner un jeu, y compris sur la Nintendo Switch, à condition de surveiller la création d'objets en mémoire.

      Son auteur augmente maintenant son moteur de jeu pour la 3D. On peut le suivre et voir une démo sur Mastodon.

      On trouvera d’autres ressources, par exemple :

      Une fonctionnalité incroyablement utile pour les développeurs, est qu’on peut développer son jeu pendant qu’il tourne. Compiler une fonction avec C-c C-c, et voir le jeu changer. Sans tout relancer de zéro à chaque fois.

      La communauté organise 2 fois par an des « Lisp Game Jam ». Où tous les dialectes de Lisp sont permis ;)

      Interfaces graphiques

      C’est un large sujet, et de multiples bibliothèques existent, plus ou moins faciles à prendre en main, plus ou moins portables, etc. Mais voyez la capture d’écran d’Opus Modus en introduction : c’est bien un logiciel graphique multi-plateformes. Dans ce cas, développé avec LispWorks. Par ailleurs, LispWorks possède un “runtime” pour Android et iOs.

      Je vais vous laisser voir awesome-cl ou l’article original.

      Le web, les web views, Electron

      Le web en Common Lisp c’est faisable (et je le fais), on a pas mal de bibliothèques pour divers besoins, on a quelques “frameworks”, minimalistes. Il faut être prêt à mettre les mains dans le cambouis, à mieux connaître le web que lorsqu’on utilise des “frameworks” de haut niveau qui ont beaucoup de couches d’abstraction. Ceci dit, la malléabilité du langage, sa performance, son multi-threading, ses excellents outils de développement, ses fonctionnalités avancées, son déploiement facile… font que certaines choses compliquées dans un autre langage, ou qui nécessiteront une bibliothèque, se font en quelques lignes de manière native.

      Ce qui me plaît, c’est la stabilité du langage et de l’écosystème, l’efficience des programmes (de l’ordre de C ou Java, une comparaison parmi d'autres, retours à trouver dans ses articles postérieurs et sur HN), et encore et toujours l’interactivité pendant le développement, le fait que le serveur de développement ne redémarre jamais, ne me fait pas attendre et reste réactif, et comme je disais plus haut le déploiement d’applications, facile : je peux générer un binaire de mon appli web, comprenant tous les fichiers statiques (templates HTML, le JavaScript, etc), le copier sur mon serveur, et c’est tout. Ou le vendre et ne pas devoir accompagner mon client pendant l’installation.

      C’est ce que dit aussi l’auteur de Screenshotbot (projet open-source d’automatisation de prise de captures d’écran). Quand sa concurrence fait installer ses solutions via npm, il livre un petit binaire qui fait tout. Et j’ai bien dit petit, donc ±10Mo pour le projet et toutes ses dépendances, car il utilise LispWorks, qui permet d’enlever le code mort de l’image finale, alors que SBCL ne permet pas (encore ?) cela et les binaires pèsent ±30Mo compressés, 80Mo non compressés. Néanmoins, un binaire (compressé) de 30Mo (c’est le cas pour une application à moi qui inclue une douzaine de dépendances) contient le débogueur, le compilateur… ce qui permet de se connecter à une application pendant qu’elle tourne et de charger du code à la volée. On peut s’en servir pour observer ce qu’il se passe autant que pour faire des mises à jour. Au choix ! Mais oui, on peut garder les bonnes pratiques de l’industrie.

      Pour démarrer sur le sujet :

      Comme outils moins classiques, on a CLOG (CL Omnificient GUI), qui permet le développement d’applications web un peu comme une interface graphique, avec une grande interactivité pendant le développement (via websockets).

      CLOG

      L’infatigable lisper @mmontone se lance dans mold-desktop, un desktop pour le web, en suivant les principes de « moldable software ».

      mold-desktop

      Enfin, un article pour présenter les trois « web views » pour Common Lisp: webview, webui, Electron. On peut délivrer une application multi-plateformes écrite avec les technologies du web.

      Une application web lancée en local dans un navigateur, avec webview

      Scripting

      En Common Lisp peut lancer un programme depuis les sources, ou bien générer un exécutable.

      Mais, par défaut, l’un ou l’autre sont un peu lourds à l’usage et ne satisfont pas vraiment le développeur pressé qui souhaite lancer un petit script écrit en Lisp. C’est aussi un peu pour cela qu’on reste tant dans le REPL, où toute procédure une fois définie est instantanément appelable. On n’a pas véritablement besoin de passer par le terminal.

      Mais des projets élargissent les possibilités.

      kiln: « Infrastructure for scripting in Common Lisp to make Lisp scripting efficient and ergonomic » - soit, pouvoir appeler du Lisp depuis le shell de manière légère.

      unix-in-lisp - il paraît fou ce projet : on “monte” les utilitaires Unix dans son image Lisp.

      CIEL Is an Extended Lisp (discussion HN) - 100% Common Lisp, « batteries included »

      • une collection de bibliothèques pour rendre CL plus utile au quotidien aujourd’hui : inclue des bibliothèques pour le JSON, le web, le CSV, les expressions régulières…
      • un moyen de lancer des scripts au démarrage rapide et sans étape de “build”, avec toutes les bibliothèques à disposition.

      Vidéos

      Voici une petite sélection.

      Des démos d’applications :

      Apprendre :

      De l’European Lisp Symposium 2024 :

      Conclusion

      C’était un compte-rendu écourté qui vous aura, je l’espère, donné envie d’en voir plus.

      En Common Lisp on s’éclate ET on délivre du logiciel, ce qui n’est pas donné à tout le monde ;)

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Open Source Experience : REX de l'édition 2024 et appels en cours pour #OSXP2025
        Open Source Experience (OSXP), a lancé son appel à conférence pour sa 5e édition autour du thème « L’open source, clé de l’autonomie stratégique de l’Europe ». Profitons-en aussi pour faire l'appel à stand du village associatif ainsi qu'un (petit) retour sur la quatrième édition qui s'est tenue les 4 et 5 décembre derniers au Palais des Congrès de Paris. L'événement était cette fois couplé à DevOpsREX qui a fait son grand retour. Et encore une fois, nous étions là pour vous rencontrer, interagir

      Open Source Experience : REX de l'édition 2024 et appels en cours pour #OSXP2025

      Open Source Experience (OSXP), a lancé son appel à conférence pour sa 5e édition autour du thème « L’open source, clé de l’autonomie stratégique de l’Europe ». Profitons-en aussi pour faire l'appel à stand du village associatif ainsi qu'un (petit) retour sur la quatrième édition qui s'est tenue les 4 et 5 décembre derniers au Palais des Congrès de Paris. L'événement était cette fois couplé à DevOpsREX qui a fait son grand retour. Et encore une fois, nous étions là pour vous rencontrer, interagir avec la communauté et vous faire plaisir !

      banière OSXP 2025

      Cette année, Open Source Experience déménage à la Cité des Sciences et de l'Industrie, porte de la Villette (toujours à Paris) et se tiendra les 10 et 11 décembre 2025. Cela nous permettra d'avoir quelques stands de plus pour le village associatif !

      Sommaire

      Présentation de l’événement

      Pour les anciennes et les anciens, Open Source Experience (OSXP) est l’événement qui a remplacé le Paris Open Source Summit, qui lui-même était la fusion de l’Open World Forum et Solutions Linux (qui était l’ancien Linux Expo) !

      Dans la continuité de ses prédécesseurs, OSXP se veut un événement européen professionnel sur l’Open Source, le Libre et le Numérique ouvert, combinant une grande partie exposition, dans laquelle nous retrouverons toutes les entreprises du secteur ainsi que le village des associations, mais aussi un cycle d’une centaine de conférences, tables rondes et ateliers sur les deux jours.

      Et il sera de nouveau accolé à DevOps Rex, série de conférences et présentations sur les applications concrètes de la méthodologie devops en entreprise, ses bénéfices, mais aussi ses contraintes et ses limites. Il y a aussi une partie exposition dédiée.

      L’inscription gratuite ouvre l’accès à la partie exposition conjointe et aux conférences d’Open Source Experience. L’accès au cycle de conférences de DevOps REX est quant à lui payant.

      Appel à conférences 2025

      Le comité de programme, présidé cette année par Ludovic Dubost, PDG de XWiki, a lancé son appel à conférences, ouvert jusqu’au 22 juin 2025 à 23:00 CEST. Les thématiques de l’année sont

      • Modèles économiques et gouvernance pour des stratégies ouvertes durables
      • Intelligence Artificielle et calcul scientifique au service de l’analyse des données
      • Architecture cloud & virtualisation pour un futur autonome
      • Outils collaboratifs et applications métier : reprendre son autonomie numérique
      • Développement : l’innovation logicielle en action
      • Cybersécurité & chaîne de production logicielle : l’open source comme socle de confiance

      Et pour les anglophones ? Un fil rouge (track) international dédié. C’est une des nouveautés de cette édition : une salle internationale accueillera les meilleures conférences en anglais, toutes thématiques confondues. Si vous proposez une intervention en anglais, vous serez automatiquement considéré pour cette track, en plus de votre thématique d’origine.

      Chaque thématique cherche des

      • Retours d’expériences montrant les succès de l’offre Open Source en production,
      • Innovations montrant l’excellence technologique de l’Open Source européen,
      • Présentations sur la mise en œuvre et des outils permettant la migration de solutions propriétaires,
      • Présentations afin d’aider la filière à se développer sur les problématiques business, financement et gouvernance de l’open source.

      📢 Appel à stands 2025 pour le village associatif

      Le village associatif rempile de nouveau cette année. Le déménagement à la cité des Sciences à la Villette permet de gagner quelques stands (+3), soit une dizaine cette année. Pour obtenir un stand, il faut répondre aux critères ci-dessous et postuler sur le formulaire dédié avant le 24 août 2025 à 23:59 :

      • être une fondation ou une association à but non lucratif et non adossé à une entreprise (pour les entreprises, c’est sur cette page) ;
      • œuvrer pour l’Open Source et le Logiciel Libre (🦉 O RLY?) ;
      • à vocation nationale 🇫🇷 ou internationale 🇺🇳 (vers l’infini et au-delà) ;
      • disposer d’un important réseau de contacts permettant de relayer l’événement en amont (📊 sortez vos stats) ;
      • s’engageant à se mobiliser sur le stand sur une ou deux journées (fini les stands vides 😉). En effet, au vu du nombre limité de places, il sera possible de partager temporellement le stand si vous n’êtes disponible qu’une seule journée.

      Les organisateurs présélectionneront une dizaine d'associations répondant le mieux aux critères de sélection. Seront privilégiées les associations indépendantes de toute organisation privée, disposant de moyens financiers limités. Soyez rassurés, Bookynette est encore et toujours impliquée dans l’organisation de ce village. Un grand merci à elle !

      LinuxFr cochant toutes les cases, nous postulerons à nouveau 🤞. Nous verrons si nous pouvons encore vous faire gagner des Raspberry Pi, livres, abonnements, bières, Fairphone, Legos, etc. comme les années passées lors de notre animation façon Burger Quiz.

      Retour sur l’édition 2024

      Petit compte-rendu textuel et visuel, partial et partiel, de ces deux jours intenses fin 2024.

      Quelques photos

      Voici une petite sélection de photo, l’ensemble des photos (amateurs) sont disponibles dans ce répertoire.

      le Stand LinuxFr.org la veillele Stand LinuxFr.org la veille Pierre, notre doyen de la modération !Notre doyen de la modération ! Tirage au sort des livres sur le standTirage au sort des livres sur le stand Des vedettes passent nous voirDes vedettes passent nous voir
      Livraison de crème glacée (merci Creme)Livraison de crème glacée Les adminsys sur le standLes adminsys sur le stand Moment Quiz lors du temps fort associatifQuiz lors du temps fort associatif KPTN Live !KPTN Live !

      Photo des autocollants. Plein de cadeaux pour vous

      Les cadeaux gagnés !

      Même si nos 25 ans sont passés et ont été fêtés dignement lors de l’édition précédente, cette année encore, grâce à nos soutiens habituels, mais aussi d’autres plus ponctuels, vous avez pu repartir avec les meilleurs cadeaux de l’événement.

      Des livres et abonnements

      Livres à gagner

      Au total 27 livres gagnés parmi 22 références de nos partenaires habituels : les éditions ENI, les éditions Eyrolles et les éditions D-Booker mais aussi deux abonnements Linux Magazine et Linux Pratique !

      Logo éditions ENI Logo éditions Eyrolles Logo éditions B-BookeR Logo éditions Diamond
             
      L'AssoLution, le temps fort associatif

      Le second jour sur la pause déjeuner, nous avions prévu avec les organisateurs notre désormais rituel temps fort associatif, appelé l’AssoLution cette année (nous sortions juste de la dissolution en France et il fallait bien trouver La Solution au gouvernement démissionnaire de l’époque !). Nous avons fêté les 20 ans de Framasoft, avec KPTN qui a assuré la partie musicale avec deux de ses chansons parmi les plus récentes. Enfin, le quiz façon burger quiz a été l’occasion de vous faire gagner un tas de cadeaux. Il ne fallait pas chercher sur les stands pros, les meilleurs étaient chez nous :

      • un Fairphone 5 vert (de chez Murena avec /e/OS dessus) ;
      • un casque audio Fairbuds XL vert ;
      • un kit de démarrage Raspberry Pi 5 ;
      • le jeu de société « Les Aventuriers du Rail : Légendes de l’Ouest » ;
      • une boîte de Lego architecture Notre-Dame de Paris vu qu’elle va rouvrir sous peu !
      • des abonnements à GNU/Linux Magazine France et à Linux Pratique ;
      • et des abonnements à la bibliothèque numérique des éditions ENI (en plus des livres, voir plus loin).

      Liste des lots pour le quiz comprenant un Fairphone 5 vert (smartphone durable), un casque audio Fairbuds XL vert, un kit de démarrage Raspberry Pi 5, le jeu de société « Les Aventuriers du Rail : Légendes de l’Ouest », et une boîte LEGO représentant la cathédrale Notre-Dame de Paris dans la collection Architecture.

      On remercie encore les sponsors de l’année passée qui ont participé à leur financement :

      Merci Passbolt Merci Admantic

      Vous pouvez tout revisionner si vous avez 45 minutes devant vous.

      Au plaisir de vous y retrouver cette année !

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Netvibes.com au rancart, Pétrolette au rendez-vous
        « J'étais tranquille j'étais peinard / je réparais ma mobylette » / la nouvelle a surgi le soir / un truc pas vraiment super-chouette… » Eh oui, le couperet est tombé, les utilisateurs de l'agrégateur de flux Web Netvibes.com ont reçu le 15 avril un courriel de Dassault Systèmes leur annonçant que leur agrégateur préféré aller se désagréger définitivement dans l'atmosphère le 2 juin 2025 à midi, avec toutes leurs données, tel un Starship numérique. Si l'on en croit le début du message, cela est

      Netvibes.com au rancart, Pétrolette au rendez-vous

      « J'étais tranquille j'étais peinard / je réparais ma mobylette » / la nouvelle a surgi le soir / un truc pas vraiment super-chouette… » Eh oui, le couperet est tombé, les utilisateurs de l'agrégateur de flux Web Netvibes.com ont reçu le 15 avril un courriel de Dassault Systèmes leur annonçant que leur agrégateur préféré aller se désagréger définitivement dans l'atmosphère le 2 juin 2025 à midi, avec toutes leurs données, tel un Starship numérique. Si l'on en croit le début du message, cela est lié au développement d'un nouveau service de l'entreprise nommé 3D UNIV+RSES, avec plein d'IA et tout et tout. Le courriel d'avertissement indique certes comment sauvegarder ses données, mais « et maintenant, Papa / C'est quand qu'on va où ? »

      Sommaire

      Good vibrations 2.0 ou le cubisme informationnel

      Netvibes.com, lancé par une start-up en 2005 et racheté par Dassault Systèmes en 2012, était un lecteur en ligne permettant d'afficher les flux RSS ou Atom dans des petits cadres qu'on pouvait regrouper dans des onglets thématiques. Chaque cadre était configurable (longueur, affichage d'images ou non…) et déplaçable facilement. Les flux se mettaient automatiquement et régulièrement à jour. On pouvait aussi ajouter de petites applications (listes de choses à faire, accès courriels, accès à différents réseaux sociaux, etc.). Wikipedia décrit Netvibes.com comme « un portail Web personnalisable. Représentatif de ce qu'on appelle le Web 2.0 ». En tout cas, c'était un très bon outil de veille que j'utilisais tous les jours depuis belle lurette.

      Lancé en 1990, donc à peu près en même temps que le World Wide Web, le Courrier international nous permettait d'avoir accès à une pluralité de points de vue issus des journaux du monde entier. Un agrégateur de flux, c'est un peu l'équivalent informatique. Il permet un véritable cubisme informationnel. Avoir un onglet News agrégeant des flux de journaux d'horizons politiques différents et de plusieurs pays, c'est échapper à la bulle informationnelle, à la ségrégation sociale créée par les grands réseaux sociaux commerciaux. Car observer depuis le point de vue d'autrui est un bon exercice, même si ça peut parfois être désagréable comme du poil à gratter. Enfin, avec un agrégateur, l'algorithme c'est vous : votre œil survole l'ensemble des titres et capte au vol ce qui l'intéresse ou le surprend.

      J'ai rencard avec Pétrolette

      L'outil libre qui se rapproche le plus de Netvibes.com est Pétrolette, « la page d'actus qui ne sait rien de toi », développée par YPhil en JavaScript. Comme son nom l'indique, Pétrolette n'est pas un gros SUV qui fait tout, même le café, mais une application libre qui essaie de faire au mieux une seule chose : afficher des flux Web dans des cadres classés dans des onglets. Donc disons le tout de suite, il faut oublier les éventuelles autres applications que vous utilisiez dans Netvibes. D'après son CHANGELOG, Pétrolette est en version 1.7 depuis l'été 2023. Le GitLab de Pétrolette est indiqué comme étant un miroir de son Framagit mais est en fait plus à jour, la dernière activité remontant à Noël 2024. C'est là que le développement se passe.

      D'après le compte Mastodon de Pétrolette, suite à des problèmes d'hébergement, l'instance principale est depuis décembre 2024 https://petrolette.onrender.com/ bien que celle-ci soit considérée comme temporaire. Les plus admin pourront bien sûr héberger leur propre instance, soit en local soit sur le Web, par exemple sur https://place.de.ma.mob/ si le domaine n'est pas déjà réservé.

      Procédure migratoire

      Par défaut, quand on va sur l'instance principale, qui est une instance partagée, on a un certain nombre d'onglets pré-remplis, avec en tout plus de trois cents flux. On peut les personnaliser (ce sera stocké en local), mais ce qui nous intéresse ici, c'est migrer de Netvibes à Pétrolette. Voici la procédure :

      • Dans Netvibes.com, sauvegarder ses données en allant dans « Compte > Sauvegarder vos données », choisir le tableau de bord, cliquer sur Exporter (fichier XML).
      • Dans Pétrolette, supprimer tous les onglets par défaut (croix rouges), importer le XML avec « Flux > Ouvrir ».
      • Tous les onglets et flux sont récupérés. Le titre d'un flux apparaîtra quand on clique sur son icône pour le déployer.
      • Déplier et configurer chaque flux (mais on devrait éventuellement aussi pouvoir travailler à partir du .conf pour réduire ce travail fastidieux).

      La configuration est stockée localement sur l'ordinateur et non pas en ligne (on n'a donc pas de compte Pétrolette, donc elle « ne sait rien de toi », elle ne sait pas ce que tu lis). On peut l'exporter dans un fichier .conf au format JSON et l'importer sur un autre PC pour avoir la même configuration.

      Synchronisation ?

      Mais une telle synchronisation manuelle n'est pas idéale et l'application peut utiliser le protocole remoteStorage pour pouvoir partager la même configuration sur plusieurs PC, et en particulier vers l'application 5apps. D'après l'aide, l'instance principale de Pétrolette ne gère que 5Apps (mais le menu affiche également des icônes pour Dropbox et Google Drive, qu'on devrait donc pouvoir utiliser si on héberge sa propre instance).

      On peut s'enregistrer sur 5apps à partir d'un compte GitHub, Bitbucket, GitLab.com ou en se créant un compte (adresse email, identifiant, mot de passe). 5apps vous fournit une « adresse utilisateur » du type login@5apps.com. On peut alors aller dans le menu de Pétrolette, cliquer sur remoteStorage et entrer l'adresse utilisateur pour faire la connexion. Il n'y a plus qu'à autoriser Pétrolette à y accéder et faire de même sur tous vos PC. Pour cela, sur chaque machine, connectez-vous à votre compte 5apps puis dans la liste des « Connected Apps », cliquez sur le lien petrolette.onrender.com, dont l'URL est du type https://5apps.com/rs/oauth/token/123d3215c5484b9a78987e8/launch_app.

      Nouveaux développements

      Ça c'est la théorie, dans la pratique la synchronisation semble problématique, avec un fonctionnement très capricieux, et après discussion avec l'auteur il pourrait bien s'agir d'un bug où l'application s'emmêlerait les pinceaux entre stockage local et stockage distant. C'est la mauvaise nouvelle. La bonne nouvelle (scoop !) c'est que ça pourrait être résolu dans une future Pétrolette 2 à laquelle réfléchit l'auteur !

      Voilà une bonne raison de réfléchir à l'invitation à faire un don au projet Pétrolette dans la fenêtre pop-up qui surgit de temps en temps. Il est en effet possible de faire un don sur Liberapay ou de prendre un abonnement sur Ko-fi : à partir de 1 €/mois le pop-up disparaît. Au-delà, on peut demander à l'auteur de créer un nombre plus ou moins important de flux RSS pour des sites qui n'en proposent normalement pas. Rappelons-nous que dans surveillance://, Tristan Nitot nous avertissait sur notre fâcheuse tendance à aimer la gratuité.

      Retour d'expérience

      Commençons par les points négatifs, ce qui nous permettra de finir sur le positif !

      Points négatifs

      • Lenteur pour mettre à jour les flux : quand on affiche sa page Pétrolette, tous les flux sont mis à jour simultanément, c'est-à-dire même dans les onglets qui ne sont pas affichés.
      • Pas de mise à jour périodique des flux. On peut certes les mettre à jour individuellement en cliquant sur une icône. Mais malheureusement, recharger la page avec F5 permet certes de mettre à jour tous les flux mais nous remet systématiquement sur le premier onglet. Pétrolette 2 proposera peut-être des fonctionnalités pour faciliter les mises à jour des flux.
      • N'affiche pas l'heure de parution des actualités, contrairement à Netvibes. Mais la date et l'heure sont indiquées dans la fenêtre d'aperçu quand on survole un titre.

      Points positifs

      • Les aperçus du texte qui apparaissent au survol de la souris sont plus longs qu'avec Netvibes, et même parfois très longs, ce qui permet d'avoir un bon aperçu du contenu avant un éventuel clic, voire même de s'en passer.
      • La hauteur (en pixels) des cadres peut être réglée plus finement qu'avec Netvibes (où seules trois hauteurs standards étaient disponibles). Cela peut d'ailleurs être utilisé pour augmenter la distance verticale entre deux cadres, ceux-ci étant par défaut collés de façon un peu compacte.
      • Les titres longs apparaissent en entier sur plusieurs lignes, alors qu'ils sont coupés dans Netvibes. Cela peut-être un avantage mais parfois aussi un défaut avec certains sites qui proposent des titres à rallonge (du genre trois lignes sur Developpez.com !) que l'oeil a du mal à lire au vol.
      • Le menu principal propose de déposer un marque-page dans la barre du navigateur. Il contient un script qui d'un clic ajoutera le site de l'onglet courant dans votre Pétrolette.
      • Le champ de recherche permet de chercher un terme dans tous les titres de l'ensemble des onglets. Les zones où il est trouvé apparaissent encadrées en jaune.

      Prêts pour l’équipée sauvage ?

      « Dès que les vents tourneront nous nous en allerons… » Il le faudra bien, le 2 juin tout s'arrête. Et donc tout recommence. On a maintenant toutes les réponses à la question synthétique et sympathique « c'est quand qu'on va où ? » Quand ? On le sait depuis le début et on l'a répété, c'est le 2 juin ! Où ? On espère y avoir apporter une réponse dans cette dépêche.

      Et puis à l'heure où les algorithmes profiteurs des réseaux sociaux commerciaux tendent à enfermer l'utilisateur dans sa bulle informationnelle au seul motif d'optimiser les profits et où les moteurs IA sapent la sérendipité du Web, se balader humblement en mobylette RSS devient une véritable mesure d'hygiène mentale. En plus c'est libre.

      « La Pétrolette », 1895Figure 1 - « Quand j’me balade en mobylette / On dirait l’équipée sauvage ». Ouais, ça carbure librement avec « La Pétrolette » (Duncan & Suberbie, 1895 - 1898) [source : Wikimedia, domaine public].

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Kivy : un cadriciel graphique unique en Python
        Kivy est un cadriciel (framework) graphique, permettant de développer des interfaces tactiles (ou utilisable à la souris) sur toutes les plateformes, y compris mobiles. Il s'accompagne d'une suite de logiciels très pratiques que nous allons présenter ici. lien nᵒ 1 : site officiellien nᵒ 2 : Kivy Garden (extensions)lien nᵒ 3 : KivyMDlien nᵒ 4 : Un très bon point d'entrée en français (merci chyek)Sommaire Kivy : boîte à outils graphique multi-plateformes kv : interface graphique en déclaratif

      Kivy : un cadriciel graphique unique en Python

      Kivy est un cadriciel (framework) graphique, permettant de développer des interfaces tactiles (ou utilisable à la souris) sur toutes les plateformes, y compris mobiles. Il s'accompagne d'une suite de logiciels très pratiques que nous allons présenter ici.

      logo Kivy

      Sommaire

      Kivy : boîte à outils graphique multi-plateformes

      Kivy permet de créer des interfaces graphiques naturellement adaptées aux écrans tactiles (mais qui restent utilisables sur un environnement de bureau traditionnel, à la souris et sans écran tactile). Il est écrit principalement en Python mais les parties critiques sont écrites en Cython, ce qui lui permet d’avoir de bonnes performances.

      Une interface Kivy peut s’écrire de deux façons (ou, plus couramment, par une combinaison de ces deux façons) : en Python directement, ou via kv, une syntaxe déclarative dont nous parlons plus bas.

      Pour vous donner une idée, voici un exemple de hello world repris du site officiel de Kivy :

      from kivy.app import App
      from kivy.uix.button import Button
      
      class TestApp(App):
          def build(self):
              return Button(text='Hello World')
      
      TestApp().run()

      Ce qui donnera :
      capture d’écran du hello world

      Une interface est composée de « widgets » agencés via des « layouts ». Certains widgets permettent de facilement mettre en place des composants communs de nos jours, comme par exemple le widget Carousel :
      capture d’un widget Carousel

      D’autre part, Kivy fournit des outils qui simplifient la vie du développeur ou de la développeuse, en particulier un système de propriétés (à ne pas confondre avec les propriétés Python) qui permet de mettre automatiquement l’interface à jour quand elles sont modifiées, ou de facilement attacher une fonction de rappel (« callback »), voir plus bas pour un exemple simple. On peut aussi citer un mécanisme d’animations très pratique et efficace.

      kv : interface graphique en déclaratif

      kv est un langage permettant de décrire des interfaces, il met à profit les propriétés mentionnées plus haut et l’interface va se mettre à jour automatiquement quand des propriétés utilisées dans kv sont modifiées.

      Reprenons le hello world vu plus haut, et faisons-le avec kv:

      Widget:
          Button:
              text: "Hello World"
      

      Plutôt simple non ?
      Le code kv est généralement mis dans des fichiers séparés avec l’extension .kv.

      Les propriétés

      Kivy a donc un concept de propriété, qui permettent la liaison de données bidirectionnelles (two-way data binding), ou en d’autres termes de facilement avoir l’état mis à jour entre le code python et l’interface décrite dans le fichier kv. C’est à l’usage très pratique et facile.

      Un exemple va sans doute aider à comprendre.

      Commençons par faire un environnement virtuel Python avec Kivy:

      $ mkdir demo
      
      $ cd demo
      
      $ python -m venv env
      
      $ source env/bin/activate
      
      $ pip install kivy

      Ensuite créez le fichier demo.py suivant :

      from kivy.app import App
      from kivy.uix.boxlayout import BoxLayout
      from kivy.properties import NumericProperty
      
      class CompteurWidget(BoxLayout):
          compteur = NumericProperty(0)
      
          def increment(self):
              self.compteur += 1
      
      class DemoApp(App):
          def build(self):
              return CompteurWidget()
      
      DemoApp().run()

      Et maintenant, dans le même répertoire, ajoutez le fichier demo.kv suivant, ce dernier sera automatiquement découvert par Kivy parce qu’il s’appelle comme notre application (DemoApp) sans le suffixe App et en minuscule :

      
      <CompteurWidget>:
          orientation: 'vertical'
          padding: 20
      
          Label:
              text: str(root.compteur)
              font_size: 30
      
          Button:
              text: "Incrémenter"
              on_press: root.increment()
      

      Il ne nous reste plus qu’à lancer le programme :

      python demo.py

      Et à admirer :

      capture d’écran du programme de démo

      Le label se met automatiquement à jour quand le compteur compteur est incrémenté.

      La lectrice ou le lecteur assidu de DLFP pourra faire un TapTempo en exercice.

      Note: Ne vous arrêtez pas au fait que l’UI est un peu "moche" par défaut, il y a des extensions beaucoup plus attractives (cf. KivyMD plus bas), et il est très facile de personnaliser l’interface et d’en faire une très belle en modifiant un peu ses fichiers .kv.

      Plyer : accéder facilement aux fonctionnalités matérielles de votre appareil

      Plyer est une bibliothèque permettant d’accéder à nombre de fonctions utiles de manière indépendante de la plateforme. Ainsi vous avez une API commune pour afficher une notification, demander l’état de la batterie, faire vibrer l’appareil, faire de la synthèse vocale de texte (« text-to-speech »), ouvrir un fichier avec le dialogue natif de la plateforme, etc.

      Bien que développé par la même équipe que Kivy, ce paquet est utilisable indépendamment et est donc particulièrement utile pour n’importe quel projet multi-plateformes. Référez-vous à la page du projet pour avoir un tableau des fonctionnalités supportées selon les plateformes, et à la documentation pour plus de détails.

      Python For Android : utiliser Python… sur Android

      Si vous souhaitez distribuer votre application sur Android, vous allez devoir avoir une version de Python compilée pour cette plateforme, ainsi que de tous les paquets nécessitant une compilation.

      C’est le rôle de Python pour Android, qui est une collection d’outils qui s’appuient sur l’Android SDK pour permettre d’utiliser Kivy ou d’autre paquets Python sur Android, et ainsi faire votre propre distribution Python.

      Si vous utilisez un paquet qui n’est pas en pur Python (c’est-à-dire qu’il y a des parties à compiler) et qui n’est pas encore disponible ou qui l’est mais dans une version trop ancienne, vous pouvez écrire ou mettre à jour des « recettes » (recipes en anglais) qui indiquent comment compiler. Référez-vous à la documentation pour voir comment faire.

      Notez toutefois qu’il y a une pénalité à utiliser du Python par rapport à une application dans un langage compilé : il faut charger l’interprète au démarrage, et au tout premier lancement de votre application (et uniquement au premier) il y a aura une phase de décompression de vos fichiers. En dehors de ces petits inconvénients, ça fonctionne très bien.

      Là encore, le projet est indépendant de Kivy et peut être utilisé avec un autre cadriciel.

      Kivy for iOS : déployez sur les appareils Apple

      À l’instar d’Android, l’équipe de Kivy fournit les outils pour faire votre distribution Python pour iOS.

      Il vous faudra posséder une machine Apple pour les utiliser, à cause des restrictions imposées par cette plateforme (ceci n’est pas spécifique à Kivy pour iOS, mais s’applique à tous les outils pour développer sur iOS).

      Ainsi avec une seule base de code (et après avoir passé un peu de temps pour configurer correctement les outils de compilation), vous pouvez déployer votre application Kivy/Python sur toutes les plateformes majeures (hormis le web, pour lequel il existe d’autres options comme Brython, Pyodide ou PyScript, mais c’est un sujet pour une autre dépêche).

      Pyjnius : utiliser l’API Java Android depuis Python

      Parfois l’utilisation de Plyer mentionné plus haut et de la bibliothèque standard Python ne suffisent pas, et vous avez besoin d’accéder à l’API d’Android, mais cette dernière est faite pour être utilisée avec Java ou Kotlin.

      Pour pouvoir utiliser l’API d’Android depuis Python, PyJNIus est disponible. Ce paquet permet d’accéder aux classes Java comme à des classes Python en utilisant JNI (« Java Native Interface » ou « Interface Native de Java »).

      Ce paquet fournit une méthode autoclass qui convertit automatiquement une classe Java en Python, c’est très facile à utiliser et souvent suffisant pour les cas simples.

      KivyMD, des widgets Material Design

      KivyMD n’est pas un projet officiel de l’équipe Kivy, mais un projet tiers dédié à la création d’un ensemble de Widgets thémables adoptant Material Design.

      Image d’exemple de KivyMD issue de la documentation

      L'image ci-dessus est issue de la documentation de KivyMD, vous trouverez également des démos vidéo sur le dépôt du projet.

      Quelques limitations

      Une petite note sur mon expérience personnelle (Goffi). Kivy est un excellent cadriciel, et l’équipe est accueillante et réactive : c’est un projet que je recommanderais en général. Ceci dit, dans mon cas particulier (un client XMPP ayant de nombreuses fonctionnalités), j’ai quelques limitations qui me poussent actuellement à chercher des alternatives, notamment basées sur Qt (PyQt et PySide) :

      • l’accessibilité est un problème majeur. L’équipe y travaille, mais aujourd’hui les applications Kivy ne sont pas accessibles. C’est notamment dû au fait que l’interface utilisateur est entièrement gérée par Kivy, au lieu d’utiliser des composants natifs, et c’est un point complètement bloquant pour moi.
      • il n’y a pas de webview ou de rendu HTML natif, ce qui est bloquant parce que je fais du rendu de blogs.
      • le rendu de texte est incomplet, notamment sur les plateformes mobiles. C’est compliqué de faire un rendu riche avec des émojis, par exemple, un gros problème pour une application de messagerie de nos jours.
      • le support des portails Freedesktop est inexistant : il faut faire l’implémentation à la main, alors qu’il est natif sur des cadriciels majeurs comme GTK ou Qt. Je pense par exemple à l’ouverture ou l’enregistrement de fichier. Les portails sont particulièrement nécessaires si on veut voir son application sur Flatpak. Plus de détails sur ce ticket.
      • le support Wayland existe, mais lors de mes tests sur des distributions GNU/Linux sur Pinephone, il n’a pas fonctionné et je n’ai pas pu afficher l’application.
      • le chargement de l’interprète Python prend un certain temps, ce qui rend le lancement de l’application sur plateformes mobiles telle qu’Android et probablement iOS (que je n’ai pas testé) un peu lent. Sachant que sur ces plateformes l’application peut être tuée à n’importe quel moment auquel cas il faut tout relancer, cela peut mener à une mauvaise expérience utilisateur. Ceci dit, avec une distribution optimisée (en enlevant les paquets non utilisés), et sur les téléphones actuels qui sont très puissants, le problème est sans doute moindre.

      Notez que je n’ai pas eu l’occasion de travailler avec Kivy récemment, peut-être que ces remarques ne sont plus à jour. Merci d’indiquer en commentaires s’il y a eu de l’évolution sur ces points.

      Aussi, mon cas d’utilisation est très demandant (rendu HTML, affichage de texte performant, etc). Dans la plupart des cas, Kivy remplit sans problème toutes les cases (sauf l’accessibilité, qui reste son problème le plus important à mon sens).

      Conclusion

      Comme vous pouvez le voir, un travail considérable a été effectué sur Kivy et son écosystème, et il en sort un cadriciel performant, pratique, et qui peut potentiellement fonctionner sur la plupart des plateformes. Kivy est agréable à utiliser, et dispose d’une communauté très active et disponible.

      Ce cadriciel mérite de s’y attarder, et est une option sérieuse si vous voulez développer un projet rapidement pour une ou plusieurs plateformes.

      Une note d’histoire

      Cette dépêche a été commencée le 04 octobre 2018 à 14:19 (au premier jour de la Pycon FR 2018, à Lille, où une partie de l’équipe de Kivy était présente). Je crois que c’est haut la main la dépêche qui est restée le plus longtemps dans l’espace de rédaction. Comme quoi, tout vient à point à qui sait attendre, comme dirait l’autre.

      Merci à toutes les personnes qui ont participé à la correction de la dépêche.

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Rendez-nous nos boutons !
        Cette dépêche fait suite à celle sur les interfaces temps réel ainsi qu’a celle sur l’informatique sans écran. C’est une dépêche de réac qui se plaint que c’était bien mieux avant et qu’on ferait bien d’écouter les anciens un peu plus. lien nᵒ 1 : Un brevet de bouton-poussoir de 1883 (US276285A)lien nᵒ 2 : Un brevet de manipulateur de télégraphe de 1863 (US38530A)lien nᵒ 3 : A brief history of the numeric keypadlien nᵒ 4 : Bob Dylan - With God on Our Side (Official Audio)lien nᵒ 5 : The Doors -

      Rendez-nous nos boutons !

      Cette dépêche fait suite à celle sur les interfaces temps réel ainsi qu’a celle sur l’informatique sans écran. C’est une dépêche de réac qui se plaint que c’était bien mieux avant et qu’on ferait bien d’écouter les anciens un peu plus.

      Sommaire

      C’est une note du blog de ploum qui m’a fait réaliser que l’on a besoin de remettre des boutons, des touches, des joysticks, des potentiomètres linéaires et autres boules de pointage (trackball), souris (boutons et molette), manettes… sur nos ordinateurs, télés, ordiphones, bagnoles et autres mixeurs à soupe mouchard. C’est urgent à l’heure où même nos guitares sont menacées par les écrans tactiles. Bref, une bonne interface Humain/Machine passe par un retour tactile de nos actions : on veut des boutons !

      ChatGpt refuse de dessiner les ados boutonneux

      Figure 1 - Refus catégorique de ChatGPT. Peut-être que « Dessine moi un adolescent avec plein de moutons » aurait été mieux accepté. Big Data implique Big Culture, non ?

      Retour vers le futur boutonneux

      Avant de râler et de déclencher la Guerre des boutons, interrogeons-nous sur ces objets du quotidien. On est sérieux à nôtre âge, on n’a plus dix-sept ans.

      Si on considère les touches des claviers d’instruments de musique comme les ancêtres du bouton, alors on peut remonter jusqu’à l’Antiquité et aux premiers orgues : l’hydraule, orgue où l’air est mis sous pression par une chute d’eau, date en effet du IIIe siècle avant notre ère (Ctésibios d’Alexandrie). C’est aussi le premier instrument à clavier. Ses touches avaient probablement des mécanismes très simples et il n’y avait pas de touches blanches et noires, comme dans cette reconstitution d’un orgue antique (avec même le son dans la vidéo). Vers 320-322 de notre ère, Claudien écrit un poème contenant ces vers :

      « Qu’un autre enfantant, par une légère pression, des sons au loin retentissant, modère les mille voix de mille tuyaux d’airain, les fasse tonner sous ses doigts errants, et d’une onde profondément agitée par le jeu du levier, tire d’harmonieuses modulations. » (Panégyrique sur le consulat de Flavius Mallius Theodorus)

      Reconstitution d’un orgue romainFigure 2 - Reconstitution d’un orgue romain. [Source : Wikimedia, domaine public]

      On trouve déjà dans cette description le constat qu’il suffit d’appuyer sur un bouton pour déclencher des tâches mobilisant une grande puissance. Seize siècles plus tard, en pleine guerre froide et deux ans après la crise des missiles de Cuba, le jeune Bob Dylan (22 ans) chante dans With God On Our Side (The Times They Are A-Changin’, 1964) :

      One push of the button
      And a shot the world wide

      USS Growler launch controlFigure 3 - Tableau de bord des missiles de croisière nucléaires du sous-marin USS Growler (1958-1964). [Source : Wikimedia, licence : CC-BY-SA par Flintmichigan]

      C’est en fait dans les deux dernières décennies du XIXe siècle, avec la diffusion de l’électricité dans les villes, que se produit la grande éruption des boutons. Nous avons bien sûr oublié à quel point c’était magique à l’époque ! Mais on s’inquiète aussi rapidement de l’avènement d’une humanité presse-bouton :

      Plotnick cite un éducateur et activiste de 1916 déplorant que le fait d’appuyer sur un bouton « semble nous décharger de toute nécessité de se sentir responsable quant à ce qui se passe derrière le bouton ».

      Les récits d’anticipation s’en emparent. Par exemple, Edward Morgan Forster publie en 1909 une nouvelle intitulée The Machine Stops (La Machine s’arrête) dans laquelle les êtres humains vivent sous terre isolés chacun dans une pièce, quasiment sans contact physique, la Machine satisfaisant tous leurs besoins :

      Puis elle activa la lumière, et la vue de sa chambre, inondée de lumière et constellée de boutons électriques, la revigora. Il y avait des boutons et des interrupteurs partout - des boutons pour demander de la nourriture, de la musique, des vêtements. Il y avait le bouton du bain chaud, qui faisait surgir du sol une cuve en (faux) marbre, remplie à ras bord d’un liquide chaud et désodorisé. Il y avait le bouton du bain froid. Il y avait le bouton qui produisait de la littérature. Et il y avait bien sûr les boutons qui lui permettaient de communiquer avec ses amis. La chambre, bien que ne contenant rien, était connectée avec tout ce qui lui importait dans le monde. (Version originale en ligne sur The Project Gutenberg et version française éditée par l’échappée)

      C’était mieux avant ! (On était jeune)

      Tout râleur qui tient à sa crédibilité se doit de râler en connaissance de cause. On n’ira donc pas jusqu’à prétendre que c’était mieux sans bouton et on se contentera de notre vécu : c’était mieux avant quand il y avait de vrais boutons ! Qu’on pouvait pressurer et qui faisaient de vrais sons, « des clip, crap, des bang, des vlop et des zip », qui résistaient, qui vibraient, qui glissaient ! Bref, qui nous donnaient des sensations.

      Hard Rock Cafe Florence - Touchscreen with The Doors quoteFigure 4 - Malgré cet appel touchant, les portes de la perception semblent désormais presque fermées. Le monde est devenu plat et lisse ; les êtres humains se sont enfermés dans leur caverne numérique. [Source : Wikimedia, licence : CC-BY par SunOfErat]

      Bien que la technologie des écrans tactiles soit assez ancienne, c’est surtout l’envolée des ventes de smartphones et tablettes autour de 2010 qui va propager les interfaces tactiles à d’autres objets du quotidien : des appareils électroménagers jusqu’aux voitures, pour le meilleur et pour le pire. Probablement parce qu’un écran tactile avec des menus permet de remplacer de nombreux boutons et aussi par effet de mode (ça fait moderne, en attendant les interfaces cérébrales). Dans nos interfaces graphiques, telles que GTK, on retrouve des ersatz de boutons : interrupteurs On/Off, boutons radio (quand on presse sur l’un, l’autre ressort), commutateurs (switches), etc. Mais tout ça manque de relief !

      Sur les lecteurs de K7, on pouvait avoir des boutons poussoir qui remettaient à zéro le compteur (mécanique). Et également des boutons qu’on poussait vers le bas et qui restaient bloqués (lecture) ou non (éjection). Press the Eject and Give Me the Tape est par exemple le titre d’un album live du groupe britannique Bauhaus sorti en 1982.

      RadioShack CTR-119Figure 5 - Un magnétophone : appuie sur Eject et file-moi la K7 ! [Source : Wikimedia, domaine public]

      Sur une chaîne Hi-Fi, on trouve de bons gros boutons cylindriques que l’on peut prendre à pleine main. Ils peuvent être continus (par exemple pour le volume), c’est-à-dire que ce sont des potentiomètres rotatifs, ou à crans (par exemple pour sélectionner une source). Ces gros boutons ont été longtemps également utilisés pour sélectionner les fréquences des stations de radio et ils faisaient bouger un curseur au-dessus des graduations. Sur nos chaînes, on peut aussi avoir des boutons de type manette, avec deux positions ou plus. Sur les radio-K7 on pouvait également rencontrer des potentiomètres linéaires pour régler le volume ou la tonalité. On les utilise aussi sur les égaliseurs, comme ci-dessous.

      Sharp CD-S400 Hi-Fi system, ca. 1993Figure 6 - Une éruption de boutons divers et variés, sensations garanties [source : Wikimedia, licence : CC0].

      Dans la suite de cette dépêche, on va surtout évoquer les boutons poussoir (qu’ils restent bloqués ou non) car ce sont ceux que l’on rencontre le plus dans les interfaces tactiles. Mais le discours serait similaire pour les autres types de boutons.

      Ça change quoi ? Un bouton c’est un bouton, non ?

      Le problème de l’écran tactile, c’est que c’est l’écran qui est tactile, qui touche, qui sent notre doigt. Le doigt, quant à lui, sent juste qu’il a touché une surface, mais il ne sait pas s’il est au bon endroit. L’écran est soi-disant tactile, mais c’est avant tout un écran, ce qui implique la vue. Lorsque l’on touche le bouton avec son doigt, on le cache. Pour savoir s’il on a bien appuyé sur le bouton il faut donc retirer son doigt et regarder à nouveau si le bouton virtuel a changé d’état.

      Du point de vue de l’utilisateur, on a donc plutôt affaire à des « boutons visuels » plutôt qu’à un « écran tactile ». Tout au plus l’émission d’un clic électronique ou d’une vibration non localisée confirmera qu’on a appuyé sur un bouton (parmi d’autres).

      Avec de vrais boutons, c’est du 3D. Si on a mémorisé leur disposition, on peut s’en sortir sans la vue, uniquement au toucher. Intéressant quand on conduit par exemple, les doigts se promènent par exemple sur les six boutons pour choisir la station de radio et trouvent sans problème le troisième bouton. Une personne aveugle sera bien démunie face à un écran tactile. Un bouton mécanique est quant à lui vraiment tactile, c’est-à-dire que les doigts le sentent : le toucher prédomine alors sur la vision. D’ailleurs en français, les « boutons » d’un clavier, qu’il soit musical ou informatique, s’appellent des touches.

      On peut aussi noter que les vrais boutons sont généralement en nombre limité (car ça prend de la place et ça coûte). Ils permettent donc d’effectuer les actions les plus courantes. Les écrans permettent de créer des menus, pour des choix plus complexes. Mais cela peut être redoutable pour certaines personnes âgées, qui n’ont pas été habituées à ces technologies, ou dont les fonctions cérébrales déclinent. Ne parlons même pas des mises à jours logiciels incessantes qui changent l’aspect et la disposition des menus.
      Le pire étant le manque de performance (c'est rarement temps réel) qui nous force souvent à ré-apppuyer pour se retrouver avec un comportement que l'on avait pas prévu quand ça se débloque.

      Autre problème, on a parfois besoin de protéger ses doigts avec des gants, qu’il fasse froid ou qu’on soit en train de faire une activité dangereuse pour les mains. Un bon vieux bouton reste généralement utilisable. Même avec des moufles, on pourra encore y arriver si les boutons ne sont pas trop rapprochés !

      Technician mounting glove on Hoshides EMU during SSATA traning for Expedition 32Figure 7 - Parfois on doit travailler avec des gants, ce qui entraîne une perte au niveau tactile. Il y a vraiment là de quoi faire la moue. [Source : Wikimedia, domaine public]

      Revenons sur le son. Les boutons sur lesquels on appuie émettent souvent un son qui constitue un retour sensoriel supplémentaire qui nous indique si nous les avons correctement enfoncés. Au point que l’on parle de « cliquer » sur le bouton d’une souris plutôt que d’appuyer dessus. On a donc à la fois un retour tactile (une certaine résistance ou vibration) et un retour sonore, en plus de l’éventuel retour visuel si on regarde le bouton.

      Avec un écran dit tactile, le retour tactile est justement bien maigre, on ne fait qu’effleurer les choses : la pression exercée importe peu, la résistance opposée par l’écran sera la même si j’appuie sur le soit-disant bouton ou à côté ! Et le vibreur de mon téléphone fera vibrer tout le téléphone au lieu de ne faire vibrer que l’endroit où j’ai appuyé. Triste topique…

      Le patch de Colombia

      Les constructeurs d'ordiphone s'échinent à virer les boutons de leurs appareils ? Qu'à cela ne tienne, des étudiants de l'Université de Colombia proposent une coque pour en remettre !

      Sans aucune connexion électrique, ces étudiants proposent de faire vibrer le téléphone au moyen de clapet et ressort et de les détecter en utilisant l'accéléromètre.

      Coque_Boutons_Colombia

      Le type de vibration reçue permet à un logiciel de traitement du signal de détecter le type de bouton actionné et ainsi récupérer la fonctionnalité perdue.

      C'est intéressant, mais pourquoi ne pas tout simplement nous rendre nos boutons !

      L’urgence ergonomique

      Nous savons bien que les temps changent, mais il ne faut pas céder à la mode sans raison. L’écran tactile peut être adapté à certaines machines ou situations et pas à d’autres. Faut-il vraiment « être absolument moderne », juste pour le plaisir ? Non, il faut être absolument ergonomique. Alors, si vous ne voulez pas vous faire appeler Arthur, rendez-nous nos bons vieux boutons là où ils sont parfaitement adaptés à nos besoins ! Rouvrons les portes de la perception !

      RimbaudFigure 8 - Un adolescent peut aussi avoir des boutons au niveau de son gilet. De plus, en voilà un qui ne sourit pas et n’a pas l’air niais. Ce qui finalement justifie peut-être le refus de ChatGPT en haut de cette dépêche. [Source : Wikimedia, Étienne Carjat (1871), domaine public]

      Bibliographie

      Commentaires : voir le flux Atom ouvrir dans le navigateur

      • ✇LinuxFr.org : les dépêches
      • Aux (codes) sources de la poésie
        Le livre ./code --poetry est un objet original réunissant programmation, poésie et graphisme, que l’amoureux du code peut prendre plaisir à avoir dans sa bibliothèque pour le feuilleter de temps en temps et méditer sur toute cette littérature pour machines qu’il a écrite depuis ses premiers émois binaires. Attelage a priori improbable, Daniel Holden est programmeur et travaille dans les jeux vidéos à Montréal alors que Chris Kerr est un poète qui vit à Londres. Ils ont en fait fréquenté la même

      Aux (codes) sources de la poésie

      Le livre ./code --poetry est un objet original réunissant programmation, poésie et graphisme, que l’amoureux du code peut prendre plaisir à avoir dans sa bibliothèque pour le feuilleter de temps en temps et méditer sur toute cette littérature pour machines qu’il a écrite depuis ses premiers émois binaires. Attelage a priori improbable, Daniel Holden est programmeur et travaille dans les jeux vidéos à Montréal alors que Chris Kerr est un poète qui vit à Londres. Ils ont en fait fréquenté la même école et se connaissent depuis l’âge de onze ans. Explorons leur livre :

      • Daniel Holden et Chris Kerr, ./code --poetry, Broken Sleep Books, 2023, ISBN 978-1-915760-89-0.

        Sommaire

        Sources et rendus

        Un code poem est un code source mélangé à de la poésie, alors on pourrait traduire l’expression par un mot composé comme code-poème ou poème-source. J’utiliserai plutôt cette dernière traduction, le mot « source » ayant clairement des connotations poétiques. Pour ce qui est du concept de code poetry, poésie-source me satisfait moins. À vous de voir.

        Dans les poèmes-sources du livre, parfois les mot-clés du langage utilisé font partie du texte du poème, parfois le poème est simplement contenu dans des commentaires que la coloration syntaxique et la mise en page aideront à mettre en valeur. Utiliser des chaînes de caractères est une autre solution facile. On peut aussi généralement utiliser des noms de variables (éventuellement inutilisées), de fonctions, de labels, etc. Dans certains poèmes-sources les parties de code imprononçables sont isolées en haut ou en bas du code source comme dans chernobyl.rkt. Le code est toujours mis en forme avec soin et constitue parfois un calligramme, mot inventé par Apollinaire, par exemple une raquette de tennis pour Processing. Les auteurs se réclament également de la poésie concrète.

        On notera que dans le cas où l’on utilise également les mots-clés du langage dans le texte poétique, on sera bien sûr dans la plupart des langages plutôt incité à écrire en anglais. Mais on pourrait aussi considérer leurs mots-clés comme des parties d’un mot, par exemple for(midable=0;;) // j’étais fort minable. Sinon, on pourra utiliser un langage Logo en français ou quelques autres rares langages pour batracien hexagonal que vous pourrez citer en commentaires.

        Une contrainte majeure respectée dans le livre est qu’un programme doit être exécutable : il produit alors souvent de l’art ASCII, soit statique soit le plus souvent dynamique comme dans water.c, mais peut aussi produire un texte mixant poésie et codes informatiques (des balises HTML par exemple dans divide.php). Quant au titre du poème, c’est simplement le nom du fichier source.

        Les sujets abordés dans ces poèmes sont variés : expériences personnelles, théories du complot, dystopies, technologie et environnement, etc. D’après l’introduction du livre, chaque poème-source et sa sortie sont censés refléter le caractère du langage informatique utilisé. On trouvera pour chacun des vingt-six poèmes le code source sur la page gauche, avec coloration syntaxique, sur fond clair ou sombre, et sur la page droite la sortie. Le livre se double d’un site compagnon https://code-poetry.com/ qui a l’avantage de montrer les versions animées des sorties. Le livre essaie néanmoins de rendre cela par des successions de copies d’écran quand c’est possible. Comme la bannière en haut du site web semble boguée ou incomplète, voici les liens directs vers les vingt-six codes disponibles : Javascript, Julia, PHP, Racket, C++, Piet, Bash, Shakespeare, Perl, C, Haskell, C, J, Batch, Ruby, Objective C, Go, Processing, Ante, Befunge, C#, Python, Python, Erlang, Lua, Brainfuck. On notera que parmi les langages vedettes, le C et le Python ont droit à deux codes. Et on saluera les efforts du programmeur pour arriver à maîtriser les bases de tous ces langages pour la rédaction du livre. Si vous y trouvez un de vos langages préférés, vous pouvez partager en commentaires les particularités ou astuces des codes présentés (on frise parfois l’offuscation).

        Autres textes pour « massive nerds »

        Après les vingt-six poèmes, nous tombons sur la Code Poetry Manual Page, placée dans la section 7 des man-pages (Overview, conventions, and miscellaneous) : ./code --poetry - A collection of executable art. Chaque poème ou langage a droit à un paragraphe de commentaires (techniques, littéraires ou humoristiques).

        Le livre se termine par un texte de chaque auteur. Le premier texte, celui du poète, explique les contraintes liées à la mise en page et à la présentation graphique des codes sources et de leurs sorties à la fois dans le livre et sur le site compagnon, puis se termine par une liste d’autres livres déjà publiés sur le sujet, en insistant sur ce en quoi le présent livre s’en démarque.

        Le second texte est écrit par le programmeur du tandem et s’intitule (si l’on interprète le graphisme d’introduction) « I love ASCII ». Il tente d’abord d’expliquer au candide (qui serait tombé par hasard sur ce livre ?) ce qu’est un langage de programmation pour l’introduire à la culture geek. Il explique par exemple la multiplicité des langages et dit :

        Les gens ont donc tendance à s’identifier à certains langages plus qu’à d’autres, ce qui entraîne un effet d’amplification. Au fur et à mesure que les gens affluent vers le langage qui leur correspond le mieux, la culture s’homogénéise. Des frontières sont tracées, des nations se développent et des drapeaux sont hissés.
        Ces factions sont connues pour se livrer à des « guerres de religion » à propos du meilleur style de programmation. La lecture des arguments est une expérience en soi, quelque part entre un débat théorique entre physiciens des particules et une dispute enfantine sur Porsche versus Ferrari.

        Le texte se termine par la déclaration d’amour au code ASCII annoncée en titre, avec des explications intéressantes sur les origines de certains caractères. Mais quand l’auteur taquine sa compagne en lui disant qu’il va se faire tatouer les quatre-vingt-quinze caractères imprimables du code ASCII, elle lui répond en substance : « Please don’t, you massive nerd! »

        Finalement, la dernière page imprimée du livre nous invite à nous mettre au travail avec la chaîne de caractères layoutyourunrest écrite en majuscules puis en minuscules. On peut traduire ça par : « exposez votre trouble ». C’est en fait la devise de la maison d’édition Broken Sleep Books (dont le fondateur est insomniaque !), spécialisé dans la poésie et basée au Pays de Galles. Alors lecteur linuxien, es-tu inspiré ? N’es-tu pas en mal de défi depuis que TapTempo a été porté dans ton langage favori ? Are you experienced?

        Le logos informatique

        Le verbe créateur est bien sûr un thème biblique. Wikipedia rappelle également que :

        Le terme « poésie » et ses dérivés « poète », « poème » viennent du grec ancien ποίησις / poíesis par le verbe ποιέω / poiéō, « faire, créer » : le poète est donc un créateur, un inventeur de formes expressives […]

        On sait bien que les écrivains créent des mondes, certains poussant même la chose à l’extrême, comme J.R.R. Tolkien qui a créé tout un monde avec sa mythologie, son histoire, sa géographie, ses créatures, ses langues, ses poèmes et chansons, etc. Mais les développeurs ne sont pas en reste. Que le logos informatique soit créateur et crée des mondes, voire le monde, pour le meilleur et pour le pire, quiconque a vécu l’évolution de notre société depuis les débuts du web pourra difficilement en douter.

        Notes diverses

        • Difficile après cette conclusion de ne pas avoir envie de réécouter Un autre monde (1984) de Téléphone. « Dansent les ombres du monde ».
        • Cette alliance de la poésie et de la technologie m’a fait aussi penser à Anne Clark, qui dans les années 80 déclamait ses textes dans un style dit « spoken word » sur fond de musique électronique new wave. Son morceau le plus connu est Our Darkness (1984), qualifié plus récemment par certains de proto-house. Elle a continué sa carrière et en 2022 a sorti un album Borderland (Found Music for a Lost World) dans un style musique de chambre. On y trouve en particulier un poème de Mary E. Coleridge (1861-1907) intitulé L’oiseau bleu récité par Anne Clark : The Bluebird. Enfin, sur son site officiel, on voit qu’en 2024 elle a prêté sa voix à des installations réalisées par l’artiste Clemens von Wedemeyer qui s’intéresse entre autres aux relations sociales, comme on peut le voir sur ces photos montrant des graphes : Social Geometry. Malheureusement, on ne l’entendra pas ; il aurait fallu aller à Berlin.
        • Cette dépêche n’est pas sans lien non plus avec Des nouvelles de Fortran n°6 où j’évoquais récemment l’utilisation du langage dans les années 60-70 pour explorer la génération automatique de poèmes.
        • On notera que comprendre la poésie moderne anglo-saxonne peut parfois être ardu, la syntaxe de la langue, déjà plutôt souple, subissant des contorsions et le vocabulaire puisant dans le vaste répertoire de la langue anglaise. Sans compter ici le mélange avec le code source qui brouille parfois la lecture (faut-il lire les mots-clés du langage ?).

        Bibliographie

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        • ✇LinuxFr.org : les dépêches
        • Nouvelle année, vœux 2025 et accomplissements passés et futurs
          Traditionnelle période de vœux lors du changement d’année. Voyons ce qui devrait… changera… pourrait éventuellement changer ou non. Donc revenons cette année encore sur nos accomplissements passés et futurs et de ce que nous aimerions voir plus sur notre site préféré. Cinq personnes se sont prêtées au jeu de cette dépêche pas vraiment de vœux, mais un peu quand même. En vrac dans les accomplissements : hurl, cadran solaire, programmes électoraux, Amstrad CPC, financement européen, Haiku, CV,

        Nouvelle année, vœux 2025 et accomplissements passés et futurs

        Traditionnelle période de vœux lors du changement d’année. Voyons ce qui devrait… changera… pourrait éventuellement changer ou non. Donc revenons cette année encore sur nos accomplissements passés et futurs et de ce que nous aimerions voir plus sur notre site préféré.

        Bonne année 2025

        Cinq personnes se sont prêtées au jeu de cette dépêche pas vraiment de vœux, mais un peu quand même. En vrac dans les accomplissements : hurl, cadran solaire, programmes électoraux, Amstrad CPC, financement européen, Haiku, CV, Transimpressux, visualisation scientifique, XMPP, commentaires de code, docker, menstruation, vélo, documentation, éditeur pixel art, assembleur, OSXP, Smalltalk. L’année qui vient, sur LinuxFr.org, promet d’être (fe)diverse, événementielle, ferroviaire, bureautique, réparable, un peu rouillée, résolue et motivée.

        Sommaire

        Benoît Oumph Sibaud

        Accomplissements, réalisations, progrès de l’année 2024

        Le retard côté adminsys pour LinuxFr.org se réduit, de même pour celui sur le code (évidemment ça ne va jamais assez vite, c’est le principe) (voir les dépêches sur nos services img et epub). J’ai eu l’occasion de jouer un peu avec Hurl pour des tests HTTP (voir les dépêches précédemment mentionnées et celle sur Hurl 6.0.0) et docker et docker compose, en plus de faire un peu de Go. J’ai pu de nouveau être présent pour le stand et les animations sur place lors de la conférence Open Source eXPerience Paris et c’était bien de revoir d’autres personnes de l’équipe, de notre lectorat, des libristes connus de longue date et des nouvelles personnes (et de goûter la bière de nos 25 ans aussi). Le 28 juin 2024, la politique de minimisation des données mise en place un an plus tôt (pour les 25 ans du site) s’est appliquée pour les comptes déjà fermés préalablement (prochaine étape en juin 2026).

        Je suis aussi content de ma dépêche sur le contenu programmatique lors des élections européennes de juin. Je mentionnerais aussi dans les sujets importants la question du programme de financement européen Next Generation Internet (NGI) et la dépêche sur le décès de lunar, un hacktiviste pédagogue.

        Ce que je voudrais faire, apprendre ou approfondir en 2025

        Déjà dans les reports de 2024, je voudrais m’intéresser au Fediverse et à ActivityPub peut-être, et peut-être à Gemini (le protocole) ? Il y a des travaux en cours sur le service de partage sur les réseaux sociaux share. Par contre j’ai donné moins de conférences en 2024 pour LinuxFr.org et globalement assisté à moins d’événements : donc je réitère l’ambition 2025 de rencontrer plus régulièrement le lectorat ou les personnes contribuant au site ou des publics nouveaux, car c’est appréciable pour le moral et la motivation.

        Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

        Je peux reprendre in extenso mon propos de l’année dernière : je serais intéressé d’avoir plus de contenus (idéalement des dépêches) sur la réparation et la réutilisation, sur de l’informatique sobre, sur des sujets qui ne me viendraient pas à l’idée (sérendipité), sur les politiques autour du numérique et des données, sur des retours d’expérience et sur les sujets qui vous passionnent vous.

        Ysabeau

        Accomplissements, réalisations, progrès de l’année 2024

        Quelque chose dont je suis plutôt franchement fière c’est d’avoir parlé d’un sujet typiquement féminin sur LinuxFr.org tout en restant parfaitement dans le thème du site et celui de la Journée internationale des droits des femmes. Le dessin de l’illustration, qui met les points sur les « i » m’a beaucoup amusé. La qualité de l’accueil de la dépêche sur LinuxFr.org et ailleurs m’a ravie. Dans la série réalisations : les portraits que j’ai faits, quelque chose que j’entends continuer, ont été une grande source de connaissances en ce qui me concerne. Pour finir le modèle-tutoriel de CV – Fiche de candidature qui me trottait dans la tête depuis un certain temps.

        Concernant les progrès : je pense avoir atteint, en matière d’EPUB, le niveau pour mes besoins. Un jour il faudra que je fasse une dépêche sur ce sujet et sur Sigil. Et j’ai bien progressé avec Inkscape, et même en XML hourra !

        Ce que je voudrais faire, apprendre ou approfondir en 2025

        Je n’ai pas fini la série Transimpressux, je vais continuer à travailler dessus. En 2024, j’avais aussi pour objectif, désir, de me pencher sur l’informatique et le handicap, l’exploration de l’espace, entre autres sujet, m’en a éloignée. À voir si j’arrive cette année à mieux explorer le terrain. J’ai aussi dans l’idée de rédiger quelque chose sur l’art la manière de faire des modèles pour LibreOffice et le site des extensions de LibreOffice. Parce que ce n’est pas si évident. Peut-être même, si je trouve comment faire, transformer en extension certaines de mes séries de modèles.

        Quoi d’autre ? Ah oui et faire des modèles de jouets et miniatures (pour maisons de poupée par exemple) pour Draw et Inkscape qui pourraient être faits soit en imprimant le modèle sur papier et en utilisant des matériaux de récupération (cartons divers) pour la réalisation, soit en utilisant un graveur (découpeur ?) laser. Améliorer peut-être ma connaissance du XML et finir de lire les spécifications de l’ODF peut-être.

        Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

        Comme pour l’année dernière, j’aimerais qu’on explore plus les questions de réparabilité très concrètement et sur les plans techniques et juridiques. Il y a aussi la question du handicap et de l’informatique qui mérite d’être plus mise en avant. Et plus de tutoriels.

        vmagnin

        Accomplissements, réalisations, progrès de l’année 2024

        J’ai publié en mars 2024, avec mon coauteur Ali, une bibliothèque en Fortran orienté objet nommée ForColormap qui propose des palettes de couleurs pour la visualisation scientifique. Côté hobbys, j’ai bien progressé dans mes projets musicaux ForMIDI et ForSynth (qui génère des WAV), avec à nouveau l’introduction de l’orienté objet. C’est une façon d’étudier la musique : programmer c’est comprendre. J’ai aussi avancé sur mon projet de cadran solaire ForSundial, le seul que j’ai hébergé pour l’instant sur Codeberg. J’espère avoir le temps un jour d’aller au-delà du prototype en peuplier (il paraît que la découpe laser peut graver du marbre). Ah oui, je me suis aussi acheté une carte Greaseweazle 4.1 pour récupérer le contenu de disquettes des années 80 (en particulier au format Atari ST, non lisible sur PC), mais je n’ai toujours pas eu le temps de faire ce que je voulais. Chacun de ces points pourrait faire l’objet d’un journal, mais le temps, c’est ça le problème…

        Sur LinuxFr.org, je n’ai publié que ma dépêche pseudo-périodique « Des nouvelles de Fortran n°6 » pour Noël, ainsi que deux journaux, dont un long qui est la suite de celui de novembre 2021 sur le pulsar iconique CP 1919 et qui parle de beaucoup de choses : histoire de l’informatique, musique électronique, plongée dans les décennies 70 et 80 et ce qu’elles ont à nous dire sur le monde d’aujourd’hui (similarités et différences), etc.

        Mais j’ai en fait aussi participé plus ou moins à d’autres dépêches qui m’intéressaient : relecture, discussion ou rédaction. C’est sympa à faire et c’est un peu comme y avoir accès en avant-première. N’hésitez pas à franchir le pas (onglet Rédaction) si ce n’est déjà fait.

        Ce que je voudrais faire, apprendre ou approfondir en 2025

        Je commence à apprendre le Rust, non pas tellement parce que j’en aurais un quelconque besoin côté professionnel ou côté hobby, mais avant tout pour étudier de nouveaux (pour moi) concepts comme les génériques, les traits, les motifs, la possession et la durée de vie, les fermetures, etc. J’ai emprunté un bon livre : Développez avec Rust traduit récemment chez Dunod. La dernière fois que j’avais vraiment été excité d’apprendre un nouveau langage, c’était avec Python il y a quinze ans (et les expressions régulières en même temps). Après le serpent, je prendrais bien un peu de crabe…

        Sinon, j’aimerais bien avoir le temps de faire en 2025 ce que je n’ai pas eu le temps de faire en 2024 :-) Mais j’ai peut-être tort, je devrais peut-être vouloir faire moins de choses pour avoir plus de temps… à ne rien faire (en plus c’est écologique). Être idle.

        Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

        Donc des journaux ou dépêches sur Rust :-) J’aime bien aussi ce qui concerne l’histoire de l’informatique, et ce qui sort des clous comme l’histoire des sciences, les arts, en particulier la musique, etc. L’informatique étant quasiment partout, on trouve facilement un prétexte pour parler de n’importe quoi… On pourrait publier des critiques de livres autour de l’informatique ou de la science et la technologie, et pourquoi pas de films ou autres œuvres. Enfin, des bricolages en FabLab peuvent être intéressants.

        gUI

        Une version très raccourcie pour moi, je voudrais me concentrer particulièrement sur une chose cette année :

        Ce que je voudrais faire, apprendre ou approfondir en 2025

        De la documentation !

        Plusieurs points dans ce sens :

        • Améliorer mes commentaires (j’y documente déjà tous les pièges à cons, mais je continue d’avoir du mal à me comprendre quand je déterre des vieux bouts de code)
        • Améliorer mes notes perso : aujourd’hui j’utilise nb pour ça. C’est pas mal, mais c’est un peu le foutoir, c’est pas centralisé, bref… peut mieux faire
        • Améliorer la doc de mon infra domestique : oui en bon vieux gros Geek c’est pas simple chez moi. Alors déjà quand je dois remettre les mains sur un truc qui tourne sans soucis depuis des années j’ai des gouttes de sueurs, je n’ose imaginer s’il m’arrive quelque chose (eh oui, soyons prévoyants) comment ma famille (pourtant pas des manches) va s’en sortir.
        • Quelques autres projets de doc un poil hors-sujet ici (livret d’accueil dans mon association sportive par exemple)

        PulkoMandy

        Accomplissements, réalisations, progrès de l’année 2024

        J’ai continué à travailler sur l’adaptation de vbcc et vasm pour la console de jeux VTech V. Smile. L’assembleur et le compilateur C sont fonctionnels et on peut compiler le système d’exploitation Contiki avec. Le code généré n’est pas du tout optimisé pour l’instant.

        J’ai un peu avancé sur mon interpréteur pour les fictions interactives du jeu Lectures Enjeu mais il y a des fonctionnements que je n’arrive pas à comprendre: si je fais fonctionner un jeu, j’en casse un autre :(

        J’ai publié une nouvelle version de l’éditeur pixel art GrafX2, il n’y en avait pas eu depuis 2021. Je ne fais plus grand-chose pour ce projet, je pense que le logiciel est assez complet.

        Je continue bien sûr à travailler pour Haiku: entre autres sur les dépêches Linuxfr, le navigateur web WebPositive, et le client XMPP Renga. Je n’ai jamais le temps et la motivation de participer autant que je le voudrais.

        Enfin, j’ai entrepris la réalisation d'un interpréteur Smalltalk pour Amstrad CPC. Il fonctionne, mais il est beaucoup trop lent.

        Et comme il n’y a pas que l’informatique dans la vie, j’ai traversé la France en vélo pour me rendre de Toulouse à Avranches, soit environ 900km en une douzaine de jours. J’ai eu plus de problèmes au retour en train qu’à l’aller en vélo.

        Ce que je voudrais faire, apprendre ou approfondir en 2025

        Du côté des problèmes techniques: le système de sauvegarde externe de mon serveur auto hébergé est cassé. Il faut que j’investigue les scripts perl fournis par le service de sauvegarde que j’ai choisi (qui a l’avantage d’être vraiment pas cher, et les inconvénients qui vont avec).

        Je vais sûrement continuer à travailler sur les projets mentionnés ci-dessus (et quelques autres) et essayer de ne pas en commencer de nouveaux avant d’avoir fini quelque chose. J’ai beaucoup d’idées mais pas le temps pour tout faire.

        Je vais essayer de lire les livres que j’ai gagnés grâce à mes contributions à LinuxFr.org et que je n’ai pas tous eu le temps d’ouvrir :(

        Je vais également essayer de faire du vélo plus régulièrement, ces derniers temps la motivation m’a beaucoup manqué pour ça.

        Des contenus que je voudrais voir plus sur LinuxFr.org (type de contenu, sujet, etc.)

        J’aimerais lire des choses sur d’autres systèmes d’exploitation: Linux, BSD, mais aussi Serenity, ReactOS ou Redox OS et sûrement plein d’autres dont je n’ai pas entendu parler.

        (mais ce serait en plus des contenus existants sur plein de sujets, et des débats dans les commentaires, qui sont passionnants).

        Pour finir

        Nous vous souhaitons tout de même la meilleure année possible (on oscille entre être rebelles et conformistes). Et, bien évidemment, n’hésitez pas à « continuer » cette dépêche dans les commentaires.

        Et un merci à toutes celles et ceux qui font de LinuxFr.org un site enrichi en sérendipité et surprises.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        • ✇LinuxFr.org : les dépêches
        • Des nouvelles de Fortran n°6 - décembre 2024
          Que s’est-il passé dans le monde du Fortran depuis décembre 2023 ? Nous avons un centenaire à fêter (non, ce n’est pas le vieux barbu coincé dans la cheminée), ainsi qu’un nouveau Roi (il n’est pas libre, mais tant pis pour lui, il n’avait qu’à choisir de vivre dans une amphore). Sans oublier un artiste octogénaire (on en profite pour explorer les liens entre FORTRAN et art dans les années 60-70). Et on déconstruit enfin un mythe sur les ordinateurs des sondes Voyager. lien nᵒ 1 : Organisation F

        Des nouvelles de Fortran n°6 - décembre 2024

        Que s’est-il passé dans le monde du Fortran depuis décembre 2023 ? Nous avons un centenaire à fêter (non, ce n’est pas le vieux barbu coincé dans la cheminée), ainsi qu’un nouveau Roi (il n’est pas libre, mais tant pis pour lui, il n’avait qu’à choisir de vivre dans une amphore). Sans oublier un artiste octogénaire (on en profite pour explorer les liens entre FORTRAN et art dans les années 60-70). Et on déconstruit enfin un mythe sur les ordinateurs des sondes Voyager.

        Sommaire

        John Backus est né il y a cent ans

        John Backus (1924-2007), père du langage, est né à Philadelphie le 3 décembre 1924. Le site mathématique MacTutor propose une biographie intéressante (en anglais) du mathématicien/informaticien, avec des citations. Par exemple, à propos de ses années dans le secondaire :

        I flunked out every year. I never studied. I hated studying. I was just goofing around. It had the delightful consequence that every year I went to summer school in New Hampshire where I spent the summer sailing and having a nice time.

        Sur le front des compilateurs

        Compilateurs opérationnels

        Le Roi est mort, vive le Roi ! Le compilateur classique Intel ifort n’est plus maintenu à partir d’Intel® Fortran Compiler 2025.0, sorti le 31 octobre 2024. Sa version définitive est la 2021.13. C’est son dauphin Intel ifx, basé sur LLVM, qui prend le relais, après être sorti de sa version beta avec la 2022.0.

        Mais « si je n’étais Intel ifx, je voudrais être GNU Fortran ». Au moins, l’animal est libre, dans l’immensité des savanes. Certains anciens prétendent même en avoir aperçu un assis en tailleur et jouant de la flûte. GFortran, compilateur Fortran de la GCC, en est à la version 14.2. On notera des améliorations concernant OpenMP et OpenACC. Si le compilateur accepte désormais l’option -std=f2023, ne nous réjouissons pas trop vite. Pour l’instant la nouvelle fonctionnalité gérée concerne l’augmentation de la longueur des lignes à 10 000 caractères (au lieu de 132 depuis Fortran 90) et des instructions à un million de caractères (elles peuvent être continuées sur un grand nombre de lignes). À quoi ça sert ? C’est utile pour des codes générés automatiquement.

        En gestation

        Il faut 22 mois de gestation pour un éléphant, mais beaucoup plus pour un nouveau compilateur Fortran ! On doit non seulement implémenter près de 700 pages de norme technique, mais aussi tout un tas de choses externes telles que MPI, OpenMP ou OpenACC pour le calcul parallèle, et gérer de nombreuses architectures matérielles. On comprend donc que les motivations sous-jacentes doivent être puissantes pour s’attaquer à un tel chantier et on comprend pourquoi la plupart des nouveaux compilateurs s’appuient sur l’infrastructure LLVM.

        L’avancée du travail sur le nouveau Flang pour LLVM est décrite dans le dernier Flang Liaison Report au J3 (24/10/2024). Et d’après Phoronix, flang-new a été rebaptisé flang pour la version LLVM 20.1 du printemps prochain, ce qui est de bon augure. Flang est un projet soutenu par NVIDIA et le Département de l’Énergie américain.

        AMD travaille de son côté à sa version Next-gen Fortran compiler permettant le délestage (offloading) des instructions OpenMP sur ses GPU. Bref, c’est chaud dans le monde du calcul parallèle sur processeur graphique !

        Le développement du compilateur LFortran continue. Il passera en version beta quand il sera capable de compiler une sélection de dix bibliothèques Fortran matures : en décembre 2023, il en était à 4/10. Il est désormais à 7/10. Et il a été annoncé en novembre 2024 que LFortran gérait désormais toutes les fonctions intrinsèques de Fortran 2018. Le même blog présente également quelques démos en ligne du back-end WebAssembly de LFortran.

        Fortran 2028

        Alors que les compilateurs n’implémentent pour l’instant que certaines parties de Fortran 2023, la prochaine mouture est déjà en cours d’élaboration. Et on commence à voir l’appellation Fortran 2028 apparaître dans les documents du comité J3 à la place de 202Y. Dans la liste des caractéristiques retenues par le groupe de travail WG5 fin juin, on trouve en particulier :

        • des templates pour la programmation générique ;
        • la gestion des tâches asynchrones ;
        • un pré-processeur Fortran ;
        • la possibilité de définir les KIND utilisés par défaut dans un programme (on pourrait par exemple demander dans le code lui-même que tous les REAL soient considérés comme des REAL64, ou REAL32 ou REAL128).

        La proposition d’ajouter au langage des entiers non signés a disparu (pour l’instant ?), malgré l’option expérimentale -funsigned qui sera disponible dans GFortran 15.

        Communauté Fortran-lang

        Projets Fortran-lang

        L’organisation Fortran-lang est désormais financée par l’organisation américaine à but non lucratif NumFOCUS.

        fpm

        Le gestionnaire de paquets Fortran fpm est disponible en version 0.10.1 depuis mars 2024. Une liste d’environ 300 projets utilisant fpm est disponible ici.

        stdlib

        La bibliothèque standard stdlib est sortie en version 0.7.0 début juillet. Elle apporte entre autres choses les valeurs CODATA 2022 des constantes physiques fondamentales. Ces valeurs, utilisées par tous les physiciens, sont mises à jour par le NIST (National Institute of Standards and Technology) tous les quatre ans, au fil des progrès en métrologie.

        Quelques projets divers

        • Fortitude, un linter écrit en Rust, est disponible en version 0.6.2.
        • Le projet fprettify, un utilitaire de formatage automatique de code Fortran, écrit en Python, a été officiellement adopté par l’organisation Fortran-lang.
        • forgex, un moteur d’expressions régulières entièrement écrit en Fortran, est disponible en version 3.5.

        Art et Fortran

        C’est Noël, on veut ce qui n’a pas de prix, on veut du beau ! Que la technologie serve à faire du beau.

        Earl Einhorn, 81 ans, crée ses images à l’aide de programmes Fortran depuis 1989, et utilise Photoshop pour finaliser les couleurs. Ses œuvres actuelles comportent souvent des visages, leur symétrie facilitant son travail depuis la perte de son œil droit. Vous pouvez voir son travail sur son site. Il y explique qu’actuellement il crée typiquement des images de 12 000 sur 15 000 pixels, ce qui lui permet de les imprimer en 300 PPP pour des tableaux d’environ un mètre de côté.

        Voilà qui peut sembler original, mais dans les années 60-70 de nombreux artistes ont en fait utilisé FORTRAN 1 pour explorer ce que l’ordinateur, machine alors révolutionnaire et rare, pouvait apporter à la musique, aux arts graphiques et à la poésie. Pourquoi FORTRAN ? C’était simplement le langage dominant et facile à apprendre à l’époque, le Python des Beatles !

        En 1963, Iannis Xenakis (1922-2001) publie son livre Musiques formelles : nouveaux principes formels de composition musicale. Le chapitre IV « Musique Stochastique libre, à l’ordinateur » contient le listing du programme en FORTRAN IV utilisé pour générer sur IBM 7090 une œuvre de musique stochastique intitulée ST/10=1,080262. Il est maintenant en ligne sur GitHub. Au fait, bonne écoute !

        Pierre Barbaud (1911-1990) a également utilisé FORTRAN pour composer par exemple une oeuvre de musique électronique intitulée Terra incognita ubi sunt leones (1973). Le début du code est visible ici (hum… que penser de cet appel répété à cette procédure : CALL GIRL(IDIV) ?). Bonne écoute !

        Au niveau des arts graphiques, on pourrait penser que les imprimantes de l’époque étaient rudimentaires, mais ce serait oublier les traceurs (plotters), ou tables traçantes, qui permettaient de tracer des dessins techniques avec précision 2. Les artistes programmeurs (ou programmeurs artistes) vont s’en emparer.

        Dans les années 60, l’artiste japonais Hiroshi Kawano a travaillé sur sa série Artificial Mondrian. Le site du Zentrum für Kunst und Medien Karlsruhe présente son oeuvre KD 52, réalisée en 1969 à l’aide d’un programme en FORTRAN IV pour les formes et peinte ensuite à la gouache. On pourra lire cet article de blog : « The man-machine: Hiroshi Kawano’s algorithmic Mondrian » par Claudio Rivera.

        En 1962, A. Michael Noll (Bell Labs) a commencé à utiliser un Stromberg Carlson SC-4020 microfilm plotter pour faire des dessins abstraits. Un faisceau d’électrons dessinait les formes sur un écran cathodique qui lui-même impressionnait un microfilm. Il rend compte de ses premières expérimentations dans ce mémo daté du 28 août 1962, avec bien sûr un court code FORTRAN.

        On peut également citer l’Allemand Manfred Mohr, né en 1938. Voir son site et l’article de blog « Surveying Manfred Mohr’s Five-Decade Collaboration with the Computer » (2019). Citons aussi le Slovène Edward Zajec (1938 – 2018) dont on peut voir des oeuvres sur cette page. Son assistant Matjaž Hmeljak a continué sa carrière dans l’art génératif au moins jusqu’en 2020.

        Les œuvres de Vera Molnár (1924-2023), pionnière de l’art génératif, ont été exposées à la biennale de Venise en 2022. Elle a écrit en 1974-1976 un programme baptisé Molnart avec son mari :

        François Molnar et moi avons conçu et mis au point un programme souple qui permet une expérimentation picturale systématique. Il est écrit en Fortran pour ordinateur de grande capacité relié à un écran de visualisation et à un traceur.

        Voir également :

        Dans le domaine des arts graphiques, vous trouverez plus d’œuvres numériques réalisées entre 1963 et 1980 à l’aide de FORTRAN sur le site compart.

        Même les poètes ont utilisé FORTRAN. L’écrivain portugais Pedro Barbosa a ainsi publié en 1977 un livre intitulé A literatura cibernética 1. Autopoemas gerados por computador. On peut y lire des extraits de code. Et le poète brésilien Erthos Albino de Souza a utilisé FORTRAN et PL/1 pour créer des poèmes graphiques.

        J. M. Coetzee, prix Nobel de littérature 2003, a commencé sa carrière comme programmeur chez IBM dans les années 60. Il a expérimenté la génération automatique de poésie : « The line generator was composed in a combination of FORTRAN-style pseudocode and assembly code », comme rapporté dans cet article :

        Déconstruction

        Depuis 2013 circulait l’idée que les logiciels internes des sondes spatiales Voyager 1 et Voyager 2, lancées en 1977, avaient été écrits originellement en FORTRAN. Le buzz remonte apparemment à un article intitulé « Interstellar 8-Track: How Voyager’s Vintage Tech Keeps Running » paru dans Wired. Charles A. Measday a publié sur son blog début 2024 un article approfondi intitulé « Voyager and Fortran 5 » qui déconstruit ce mythe urbain. Si une partie des logiciels au sol ont été écrits à l’époque en FORTRAN, les ordinateurs de bord des sondes étaient et sont toujours programmés en assembleur, ainsi qu’à l’aide de séquences de commandes spécifiques aux sondes.

        La citation de Backus

        Terminons en revenant au point de départ de la dépêche, avec une citation de Backus issue d’une de ses dernières interviews en 2006. Voici son bon conseil pour les jeunes :

        Well, don’t go into software. It’s just such a complicated mess that you just frazzle your brains trying to do anything worthwhile.


        1. On écrit le nom du langage en majuscules pour la période avant Fortran 90. 

        2. Ce n’est peut-être pas un hasard si le langage Logo, avec sa célèbre tortue, est créé à cette époque (1967). 

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        • ✇LinuxFr.org : les dépêches
        • La conquête de l’espace : une affaire féminine, deuxième partie les missions Apollo
          Dans l’histoire de l’espace, les épisodes qui ont le plus marqué les esprits sont, probablement, ceux des marches sur la Lune qui ont été le fait des missions Apollo. Dans cette deuxième dépêche à l’occasion de la journée Ada Lovelace de 2024, on retrouvera donc un portrait de quatre femmes qui ont codé ou calculé les missions Apollo, Judith Love Cohen (1933 – 2016), Margaret Hamilton, JoAnn H. Morgan et Frances (Poppy) Northcutt mais aussi une histoire de celles, plus anonymes, qui ont tissé le

        La conquête de l’espace : une affaire féminine, deuxième partie les missions Apollo

        Dans l’histoire de l’espace, les épisodes qui ont le plus marqué les esprits sont, probablement, ceux des marches sur la Lune qui ont été le fait des missions Apollo. Dans cette deuxième dépêche à l’occasion de la journée Ada Lovelace de 2024, on retrouvera donc un portrait de quatre femmes qui ont codé ou calculé les missions Apollo, Judith Love Cohen (1933 – 2016), Margaret Hamilton, JoAnn H. Morgan et Frances (Poppy) Northcutt mais aussi une histoire de celles, plus anonymes, qui ont tissé les mémoires des modules Apollo.

        Ces biographies sont précédées d’un genre d’état des lieux de l’informatique en URSS et aux USA et suivies d’une sitographie pour prolonger un peu plus l’exploration.

        Journée Ada Lovelace

        Sommaire

        Préambule

        Pourquoi n’est-il essentiellement question que des informaticiennes de la NASA ou ayant travaillé pour la NASA ? Cela revient à poser la question de l’informatique côté Union soviétique. Plusieurs facteurs peuvent expliquer la méconnaissance que l’on a des personnes qui, côté soviétique, ont travaillé sur les programmes relatifs à la conquête de l’espace, à commencer par l’histoire qui est, disons compliquée surtout par rapport à celle des USA.

        Ensuite, c’était un secteur stratégique : envoyer des satellites pose les mêmes questions balistiques que l’envoi d’un missile intercontinental. L’existence du fondateur du programme spatial soviétique, Sergueï Korolev, qui subissait des peines d’emprisonnement pour raisons politiques (dont quatre mois de goulag) et qui avait été admis dans l’équipe de l’ingénieur aéronautique Andreï Tupolev lui-même prisonnier politique à l’époque, a été tenue secrète jusque bien après sa mort. On peut penser qu’il en va de même pour les autres personnes ayant participé aux programmes de conquête spatiale.

        Concernant l’informatique proprement dite, trois noms apparaissent. Sergueï Lebedev (1902 - 1974) est considéré comme le père de l’informatique soviétique. Lebedev semble être un nom assez courant, ainsi, on trouve un cosmonaute russe du nom de Valentin Lebedev. L’Ukrainienne Ekaterina Yushchenko (en) (1919 - 2001) que le site ukrainien (en) sur l’histoire de l’informatique en Ukraine appelle « l’Ada Lovelace ukrainienne ». Yushenko a posé les bases de la programmation théorique en Ukraine (et en URSS avant) et écrit le langage de haut niveau Address. Andreï Erchov (en) (1931 – 1988), fondateur de l’École sibérienne de science informatique dont le livre, Programmation pour le BESM, a marqué un certain Donald Knuth.

        Les ordinateurs de la conquête de l’espace URSS et USA

        Les ordinateurs soviétiques

        Le premier ordinateur soviétique date de 1950, construit sous la direction de Sergeï Lebedev, dans un contexte où le traitement électronique de l’information, considéré par Staline (1878 – 1953) et son entourage comme « fausse science au service de l’impérialisme »1 n’est pas encouragé par le pouvoir. Il s’agit du MESM (МЭСМ, Малая электронная счетно-решающая машина, petit calculateur électronique, qui était plutôt assez gros en volume), développé par une vingtaine de personnes. La plupart des ordinateurs soviétiques en découleront.

        Le BESM sur lequel Andréï Erchov a écrit son livre de programmation a été produit à partir de 1953. Il se déclinera en deux séries les : BESM–1 (1950) à BESM–6 (1966) et les M -20 et ses descendants. Ces derniers, dont le premier, fabriqué à Moscou, est sorti en 1956 seront les ordinateurs des premiers âges de la conquête spatiale. Le dernier de la série, le M-220 était, quant à lui, fabriqué à Kazan. Ils ont, par la suite, probablement été remplacés par le MINSK dans les années 1960.

        Quant aux langages de programmation, Yves Logé, en 1987, dans l’article Les ordinateurs soviétiques : Histoire obligée de trois décennies de la Revue d’études comparatives Est-Ouest relevait ceci :

        • 1953 – librairie de sous-programmes pour STRELA et BESM,
        • 1955 – langage de compilation (PP2 – PP – BESM),
        • 1957 – assembleurs (PAPA, SSP),
        • 1962 – compilateur Algol 60 (TA 1),
        • 1962 – moniteur de traitement par lots (AUTOOPERATOR),
        • 1966 – premier système d’exploitation (MINSK 22, BESM 6),
        • 1967 – langage de programmation (EPSILON, ALMO).

        Le FORTRAN et l’ALGOL, bien qu’ayant été introduits dans les ordinateurs soviétiques dans les années 1960, ne commenceront à être vraiment utilisés qu’à partir des années 1970, époque à laquelle l’URSS abandonnera la conception de ses propres ordinateurs.

        Les ordinateurs des missions Apollo

        L’informatisation de la NASA a commencé avec des machines IBM, la série IBM 700/7000 commercialisée dans les années 1950 à 1960 ; c’était la première version des ordinateurs à transistors. Les langages de programmation les plus courants à l’époque étaient le Cobol et le FORTRAN pour lequel des personnes comme Frances Allen avaient été recrutées afin de former des chercheurs, parfois réticents, au langage.

        En 1964, IBM sort la série System/360 qui pouvait travailler en réseau et dont le système d’exploitation, multitâches, était OS/360. Il était doté d’une RAM, insuffisante, d’un mégaoctet qui a poussé les ingénieurs à adopter un code abrégé. Et, évidemment, il se programmait encore à l’époque avec du papier.

        L’invention qui a permis d’équiper informatiquement les modules des missions Apollo est celle des circuits intégrés, inventés par Jack Kilby en 1958. Ils équiperont les ordinateurs à partir de 1963, la NASA étant dans les premiers utilisateurs pour les ordinateurs de guidage d’Apollo. Par la suite, les circuits intégrés permettront de fabriquer les « mini-ordinateurs » (qui restent toujours assez encombrants) et les micro-ordinateurs. Les premiers micro-ordinateurs, à l’allure de ceux que nous avons actuellement avec : l’ordinateur, un écran, un dispositif de saisie, puis, plus tard, un dispositif de pointage sortiront en 1973, après les missions Apollo.

        Judith Love Cohen (1933 – 2016) l’accouchement du programme de guidage Apollo

        Judith Love Cohen est ingénieure aérospatiale, après sa retraite, elle deviendra écrivaine et fondera une entreprise multimédia Cascade Pass.

        En 1952, celle qui aidait ses camarades de classe à faire leurs devoirs de mathématiques, est embauchée par la North American Aviation. Elle obtient, en 1957 un Bachelor of Art (licence) en sciences, puis, en 1962, un master en sciences à l’Université de Californie. En 1957, après son BA, elle est embauchée par le « Space Technology Laboratories (laboratoire des technologies spatiales) qui deviendra TRW. Elle y travaillera jusqu’à sa retraite en 1990, souvent seule femme ingénieure de l’équipe dans laquelle elle se trouvait.

        Son travail : les ordinateurs de guidage. Elle a fait partie de l’équipe qui a conçu le « Tracking and Data Relay Satellites (TDRS) », le système suivi et de relais des données des satellites de la NASA. Ce système qui permet notamment de rester en contact avec la Station spatiale internationale.

        Elle s’occupera aussi du télescope Hubble. Elle avait été chargée de concevoir le système terrestre des opérations scientifiques. Elle dira dans une vidéo (en) réalisée par Cascade Pass qu’elle avait travaillé avec les astronomes, car c’étaient eux qui allaient utiliser le télescope. Le système avait trois fonctions principales :

        • planification des observations,
        • contrôle en temps réel du réglage de la mise au point et du changement des filtres,
        • récupération des données pour générer des photos, partie que Cohen considérait comme la plus intéressante et la plus difficile à réaliser.

        Mais, le point culminant de sa carrière a été le programme Apollo, notamment le système de guidage de la mission Apollo 13 qui devait être la troisième à se poser sur la Lune, l’ordinateur AGS (Abort Guidance System, système de guidage d’abandon pour le module destiné à rester sur la Lune). Cette mission commence mal : les astronautes prévus à l’origine changent presque à la dernière minute, quand la fusée décolle le 11 avril 1970, le moteur central du deuxième étage s’éteint trop tôt. Ce sera compensé, sans incidence sur la trajectoire. Le 13 avril, l’un des astronautes, Jack Swigert, lance le fameux :

        Houston, we’ve had a problem.

        Le module de service d’Apollo 13 est hors d’usage, l’équipe change de module de service en urgence et embarque dans le module lunaire (LM) prévu pour deux personnes alors qu’ils sont trois. L’AGS servira en tant qu’ordinateur de bord et contrôlera tous les équipements vitaux, mais il n’aurait pas pu revenir sur l’orbite terrestre si Cohen n’avait pas bataillé avec la NASA pour que la fonction de retour y soit incluse.

        Son fils, l’ingénieur en informatique Neil Siegel (en) racontera, ce qui a été vérifié, qu’elle avait conçu l’AGS pendant qu’elle était enceinte de son demi-frère, l’acteur Jack Black. Le 28 août 1969, au moment de partir pour l’hôpital pour accoucher, elle prend aussi le code d’un problème sur lequel elle travaillait. Elle appellera son patron plus tard pour lui signaler qu’elle l’avait résolu, et aussi, en passant, que le bébé était né. Le problème en question concernait l’AGS.

        Margaret Hamilton (née en 1936) la jeune femme à côté de la pile de livre de sa hauteur

        La photo probablement la plus connue de Margaret Hamilton est celle où on la voit poser à côté d’une pile de gros documents reliés : le code du logiciel de navigation de la mission Apollo 11.

        Margaret Hamilton intègre le MIT (Massachusetts Institute of Technology) en 1960 pour développer des logiciels informatiques. En 1961, la NASA confie au MIT la mission de réaliser un ordinateur embarqué de navigation et de pilotage avec un cahier des charges assez léger et permettant au MIT une grande créativité. Ce sera l’AGC (Apollo Guidance Computer) qui sera le premier à utiliser des circuits intégrés. Lourd, 32 kilos, il préfigure néanmoins les ordinateurs portables puisque tous les éléments, ordinateur, mémoire, écran et dispositif de saisie étaient réunis dans un seul boitier.

        Mais avant de travailler sur l’AGC, Hamilton intègre, en 1961, le laboratoire Lincoln pour travailler sur le projet militaire ultra-secret SAGE qui devait produire en temps réel une image de l’espace aérien états-unien. Elle racontera ensuite avoir fait l’objet d’un bizutage (une coutume apparemment) : on lui avait demandé de travailler sur un programme piégé commenté en grec et en latin. Elle était la première à avoir réussi à le faire fonctionner. Et c’est ainsi qu’en 1963 elle est invitée à rejoindre le laboratoire Draper du MIT qui était en charge du développement des logiciels embarqués d’Apollo.

        Elle évoquera aussi la fois où, emmenant de temps en temps sa fille au laboratoire, un jour, cette dernière, jouant à l’astronaute, fait planter le système : elle avait sélectionné le programme d’atterrissage alors qu’elle était « en vol » (un appui sur une mauvaise touche). Ce que voyant Hamilton alerte la direction pour que l’on modifie le programme, réponse « ils sont expérimentés, ça n’arrivera pas ». Sauf qu’évidemment, c’est arrivé au pendant la mission Apollo 8. On peut imaginer qu’Hamilton et son équipe étaient préparées à cette éventualité : les données de navigation seront renvoyées et la trajectoire corrigée. Elle codera aussi un système de priorité des tâches afin d’éviter que l’AGC ne sature et qu’il fasse le travail correctement. L’AGC pouvait ainsi interrompre des tâches pour faire passer celles qui étaient les plus prioritaires et c’est ce qui a permis à Apollo 11 d’atterrir correctement sur la Lune.

        Hamilton quittera le MIT en 1974 pour co-fonder une entreprise de développement de logiciels, Higher Order Software (HOS) qu’elle dirigera jusqu’en 1984. HOS se spécialisait notamment sur les logiciels de détection des erreurs. Ensuite, en 1986, elle créera Hamilton Technologies et concevra le langage de programmation USL (Universal Systems Language).

        Elle reçoit en 2016 la médaille présidentielle de la liberté des mains de Barack Obama. Margaret Hamilton est considérée comme une pionnière de l’ingénierie logicielle et comme une des personnes qui ont contribué à la populariser.

        JoAnn H. Morgan (née en 1940) la seule femme présente dans la salle de tir lors du lancement d’Apollo 11

        Sur une photo de la salle de tir d’Apollo 11, le 16 juillet 1969, elle apparaît comme la seule femme derrière une console. Les femmes que l’on voit sur le côté sont entrées après le lancement.

        Étant enfant, elle préférait lire Jules Verne à jouer à la poupée2 et jouer avec la boîte de chimie que son père lui avait offert. Son père, justement, travaillait pour le programme de développement des fusées américaines. JoAnn H. Morgan va passer son adolescence à Titusville en Floride, à quelques kilomètres de la base de lancement de Cap Canaveral. Elle y regardera les lancements des fusées. Ce qui la décidera dans son orientation professionnelle. Elle commence, à dix-sept ans, par un stage à l’Army Ballistic Missile Agency (ABMA, Agence des missiles balistiques de l'armée de terre). Elle continuera à travailler à Cap Canaveral pendant l’été. En 1963, elle obtient un Bachelor of Arts (licence) en mathématiques. Elle commence à travailler pour la NASA au Centre spatial Kennedy (KSC) en tant qu’ingénieure. Elle sera la seule, ça n’a pas été facile : entre le fait que son supérieur hiérarchique trouve nécessaire de préciser qu’elle est ingénieure et pas là pour faire le café pour ses collègues (en) ou l’absence de toilettes pour femmes.

        En 1969, elle est promue et devient « Chief Instrumentation Controller, KSC Technical Support » (Contrôleur en chef de l’instrumentation, support technique du centre), ce qui lui donne un poste dans la salle de contrôle de la mission Apollo 11. L’équipe de Morgan sera celle qui supervisera le lancement de la mission ce qui lui demandera de rester dans la salle de contrôle encore après le lancement pour pouvoir vérifier les équipements et faire un rapport sur les dommages consécutifs au lancement afin de préparer le suivant, sa tâche, dans le cadre de la mission, s’arrête au moment de l’atterrissage lunaire. Elle considère que c’est ce qui a lancé sa carrière.

        Après Apollo 11, elle bénéficiera d’une bourse Sloan pour poursuivre des études et elle obtiendra une maîtrise en sciences de gestion en 1977 et retournera à la NASA en 1979 où elle est promue chef de la division des services informatique du KSC, première femme à occuper ce poste en particulier et un poste de direction à la NASA. Une tâche ardue dans une période de transition technologique : la NASA changeait son système informatique et commençait à remplacer les vieux ordinateurs géants par des PC. Elle deviendra ensuite directrice adjointe des véhicules de lancement (deputy of Expendable Launch Vehicles, director of Payload Projects Management) puis directrice de la sécurité de la mission ( director of Safety and Mission Assurance). Elle aura été l’une des deux dernières personnes à avoir vérifié le lancement de la navette spatiale.

        Elle prend sa retraite en 2003 après avoir passé toute sa carrière à la NASA.

        Morgan continue à militer pour que plus de femmes puissent suivre des carrières scientifiques et techniques.

        Frances Northcutt dite « Poppy » (née en 1943) l’autre seule femme présente dans les salles de tir des missions Apollo 8 et 13

        Frances « Poppy » Northcutt a planifié les trajectoires des vols des missions Apollo dans les années 1960 et 1970.

        Elle commence sa carrière dans l’aérospatiale comme Judith Love Cohen en étant embauchée en 1965 par TRW. Elle sera d’abord une des calculatrices humaines. Problème : pour pouvoir bénéficier d’une promotion, elle devait faire des heures supplémentaires si nécessaire, ce qui était interdit aux femmes états-uniennes de l’époque. Elle tient le pari d’en faire mais non rémunérées. Cela fonctionne, elle obtient une promotion et intègre l’équipe technique (personnel effectuant des travaux ingénierie), mieux payée. Ce qui pose un autre problème, celui de l’écart de rémunération entre les hommes et les femmes.

        Le travail de l’équipe technique consistait à écrire le programme. D’autres assuraient la tâche de le rentrer dans l’ordinateur, ce qui n’allait pas sans quelques bugs au passage, qui pouvaient avoir des conséquences fatales. L’équipe de Northcutt était chargée du calcul de la trajectoire de retour d’Apollo 8. C’était une mission mémorable pour Northcutt à plus d’un titre. D’abord, c’était la première fois qu’un véhicule spatial habité allait être mis en orbite autour de la Lune. C’était aussi ce qui aura permis de déterminer l’équipement et le matériel nécessaire pour les missions suivantes, notamment la quantité de carburant nécessaire. Enfin, c’était la première fois que les calculs de Northcutt et de son équipe étaient utilisés, et cela allait servir aussi aux missions suivantes. Ainsi, après Apollo 8, il n’y aura pas eu de modifications des programmes, sauf en cas de problème. Pour Apollo 13, avec d’autres ingénieurs, elle aura pour mission de calculer le retour de la capsule Apollo après l’explosion du réservoir d’oxygène qui oblige l’équipage à rentrer sur Terre dans le module lunaire.

        Elle suivra ensuite des études de droit à l’Université de Houston pour devenir avocate. Elle en sortira diplômée en 1981 et travaillera pour le procureur du comté de Harris à Houston, sera stagiaire auprès d’un juge fédéral en Alabama avant de se tourner vers le privé et défendre des causes sur les droits de femmes, elle qui a longtemps travaillé avec un salaire inférieur à celui de ses collègues pour le même travail.

        Elle expliquera au site astronomy (en) :

        J’ai eu beaucoup de chance. La plupart des femmes n’avaient pas quelqu’un qui se battait aussi durement pour elles.

        Elle ajoutera :

        C’est le problème auquel sont confrontées les femmes en particulier, lorsqu’elles sont embauchées pour un salaire inférieur à ce qu’elles valent. Si vous ne partez pas sur un pied d’égalité, vous ne pourrez jamais vous rattraper.

        Northcutt continue à militer pour les droits des femmes, mis à mal aux États-Unis lors de la présidence de Trump.

        Les tisserandes

        Les tisserandes, dont beaucoup étaient navajos ou noires, les « Little Old Ladies » ont tressé les mémoires à tores de ferrite des missions Apollo. Elles avaient littéralement la vie des astronautes entre leurs mains.

        Les RAM des ordinateurs des années 1950 à 1975 étaient le plus souvent des mémoires à tores de ferrite. D’après la notice de celles présentées au musée du Conservatoire National des Arts et Métiers (CNAM) à Paris dans la photo ci-dessous :

        elles sont encore utilisées lors de certaines missions spatiales car elles ne sont pas endommagées par les rayons cosmiques.

        Mémoire à tores de ferrite avec détail et pile de mémoire
        Mémoires à tores de ferrite du Gamma 60 d’une capacité de 512 octets, début des années 1960, musée du CNAM, Paris.

        La fabrication de ces mémoires ne pouvait pas être mécanisée, elles étaient donc tissées à la main. Et, à l’époque des missions Apollo les seules personnes qui avaient l’habilité et la précision digitale nécessaires pour le faire étaient des femmes, surnommées les LOL et supervisées par les « rope mothers » (mères des cordes), généralement des hommes, et dont la cheffe était Margaret Hamilton. Ce travail extrêmement critique, était contrôlé par trois ou quatre personnes avant d’être validé. Il réclamait non seulement des ressources manuelles mais aussi des capacités intellectuelles certaines pour être accompli correctement.

        Quand, en 1975, un rapport de la NASA sur les missions Apollo s’extasiait, à juste titre, sur les systèmes informatiques développés en mis en œuvre, il négligeait complètement cet aspect essentiel. Les journalistes de cette époque, présentaient la fabrication des mémoires comme un travail ne nécessitant aucune réflexion ni aucune compétence…

        Pour compléter

        Les ordinateurs soviétiques

        Missions Apollo

        L’exploration spatiale et les astronautes

        Sur la journée Ada Lovelace et la place des femmes dans les carrières scientifiques et techniques

        Excuse et paragraphes de la fin

        Cette dépêche paraît assez tardivement après la précédente pour des raisons assez indépendantes de ma volonté et incluant un piratage d’un de mes sites.

        Ceci étant, un grand merci une fois de plus à vmagnin pour ses suggestions, notamment pour cette citation tirée d’une de ses lectures, Forces de la nature de François Lacombe, Anna Reser et Leila McNeil chez Belin :

        Dans l’histoire des sciences et des vols spatiaux, on constate que cette distinction nette établie entre les tâches techniques et non techniques a été l’une des façons de marginaliser systématiquement les femmes.

        Ce qui se vérifie amplement notamment avec les tisserandes des mémoires.

        Comme de bien entendu, entre les recherches, l’écriture et les commentaires de la dépêche précédente, il appert qu’il y a un sujet connexe, celui de l’astronomie et de l’évolution du métier d’astronome et d’astrophysicienne qui mériterait d’être traité. Ce qui sera fait, d’ici la fin de l’année. Et, si vous cherchez un sujet de mémoire ou thèse, à mon avis le thème des langages informatiques : naissance, diversité, histoire, pourquoi un langage très populaire finit par être abandonné, etc. pourrait être passionnant (si ça n’a pas déjà été fait). Peut-être qu’un jour je vous infligerai un texte sur l’histoire de l’informatique soviétique (ou peut-être pas).


        1. Citation reprise de l’article d’Yves Logé dans « Les ordinateurs soviétiques : histoire obligée de trois décennies » Revue d’études comparatives Est-Ouest Année 1987 18-4 pp. 53-75 qui cite D. Brand, L’Union Soviétique, France, Sirey, 1984, p. 230. 

        2. L’autrice de cette dépêche aussi à qui ce comportement paraît tout à fait normal. 

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        • ✇LinuxFr.org : les dépêches
        • La conquête de l’espace : une affaire féminine, première partie du NACA à la NASA
          Pour cette journée Ada Lovelace, on vous invite à la conquête de l’espace, une histoire qui n’aurait peut-être pas pu se faire sans les femmes. Pas uniquement parce que ce sont des femmes : les anonymes qui ont tressé les mémoires en tore de ferrite des missions Apollo, ou les plus connues qui ont voyagé dans l’espace. Mais aussi parce qu’elles ont calculé ou codé les explorations spatiales. Et comme c’est un sujet vaste, il s’agit, pour l’instant, de la première partie consacrée à trois femmes

        La conquête de l’espace : une affaire féminine, première partie du NACA à la NASA

        Pour cette journée Ada Lovelace, on vous invite à la conquête de l’espace, une histoire qui n’aurait peut-être pas pu se faire sans les femmes. Pas uniquement parce que ce sont des femmes : les anonymes qui ont tressé les mémoires en tore de ferrite des missions Apollo, ou les plus connues qui ont voyagé dans l’espace. Mais aussi parce qu’elles ont calculé ou codé les explorations spatiales. Et comme c’est un sujet vaste, il s’agit, pour l’instant, de la première partie consacrée à trois femmes afro-américaines qui ont travaillé au NACA puis à la NASA : Dorothy Vaughan (1910 – 2008), Katherine Johnson (1919-2020) et Mary Jackson (1921 – 2005). Les portraits de ces trois femmes sont précédés d’une chronologie de la conquête de l’espace.

        Journée Ada Lovelace

        Sommaire

        Préambule

        La journée Ada Lovelace (en) (Ada Lovelace Day ou ALD en anglais) est une journée internationale consacrée aux réalisations des femmes en science, technologie, ingénierie et mathématiques (STIM ou STEM en anglais). Elle a lieu le deuxième mardi du mois d’octobre. En 2023, cette journée avait été, pour LinuxFr.org, l’occasion d’évoquer Lorinda Cherry, membre de l’équipe de conception d’Unix, Evi Nemeth et la première hackeuse Judith Milhon. Et c’est, on l’aura peut-être compris, surtout un prétexte pour parler de l’histoire de l’informatique.

        Cette dépêche et sa suivante sont malheureusement américano-centrées. Et ce pour la bonne et simple raison que, s’il est facile de trouver de l’information sur les cosmonautes russes, en trouver sur les informaticiennes est beaucoup plus ardu. En fait, on n’en a pas trouvé d’autre que Rozetta Zhilina (en), 1933 – 2003, qui a plutôt travaillé dans un contexte militaire et dont la spécialité était les algorithmes en balistique et Ekaterina Samoutsevitch, née en 1982, membre du groupe de punk-rock féministe les Pussy Riot. C’est d’autant plus regrettable que l’URSS avait une réelle avance en matière de conquête de l’espace. Avance que la Russie a toujours sur certains points. Par exemple, le côté russe de la station spatiale internationale a des toilettes prévues pour que les femmes puissent avoir leur règles et changer ainsi leurs protections hygiéniques.

        Les portraits des trois femmes qui figurent ci-dessous peuvent sembler assez idylliques. Dans la réalité elles ont dû affronter beaucoup de difficultés du fait de leur groupe ethnique et de leur genre : méprisées par les hommes blancs, peu valorisées, Dorothy Vaughan n’aura pas eu la promotion à laquelle elle pouvait prétendre du fait de ses fonctions, Mary Jackson verra sa carrière bloquée, et souvent pas assez outillées pour leur travail. Par exemple, Katherine Johnson n’aura pas toujours accès à l’intégralité des données dont elle avait besoin dans le cadre de son travail pour le « SpaceTask Group ».

        Les portraits des femmes seront donnés dans l’ordre chronologique de leur naissance.

        La conquête de l’espace en quelques dates

        La conquête de l’espace a été d’abord marquée par la lutte entre les deux grands blocs : Est contre Ouest, la « Course à l’espace » (Race for Space en anglais). La Russie soviétique ayant conservé pendant plusieurs années son avance sur les USA. Une chronologie qui s’arrête à la fin du programme Apollo et qui est centrée sur les réalisations des deux géants.

        Un aperçu de la chronologie de la conquête dans l’espace
        Un rendu un peu plus visuel des dates qui sont données ci-après, la Russie est dans la colonne de gauche, les USA dans celle de droite. Le document est téléchargeable au format fichier pdf hybride et nettement plus lisible.

        1957 : la Russie envoie dans l’espace le Spoutnik 1, premier satellite artificiel en octobre. En novembre c’est la chienne Laïka qui s’envole, c’est le premier animal vivant à réaliser une orbite dans l’espace.

        1958 : création de la NASA.

        1960 : les deux chiennes, Belka et Strelka que la Russie soviétique avait envoyées dans l’espace reviennent vivantes de leur vol orbital, ainsi que le lapin et les souris qui les accompagnaient.

        1961 : en janvier, la NASA envoie le chimpanzé Ham accomplir un vol orbital. En avril c’est le Russe Youri Gagarine qui s’envole et devient le premier homme à avoir accompli un voyage dans l’espace, ainsi que la coqueluche des foules. Dix mois après les Russes, le 20 février 1962, les USA envoient John Glenn pour accomplir un vol orbital. La même année, en décembre, la sonde Mariner 2 survole Vénus. Le Royaume-uni et le Canada envoient leur premier satellite en orbite.

        1963 : la cosmonaute russe Valentina Terchkova est la première femme à aller dans l’espace et, à ce jour, la seule à y avoir effectué une mission en solo. Le 18 mars 1965, le cosmonaute soviétique Alexeï Leonov effectue la première sortie dans l’espace. En juillet, la sonde américaine Mariner 4 survole Mars. La même année, la France lance la fusée-sonde LEX, l’Italie un satellite. La sonde russe Luna 9 se pose sur la Lune le 3 février 1966. Luna 10, quant à elle, se placera en orbite autour du satellite de la Terre.

        1968 : septembre dans le cadre de la mission russe Zond 5, un vaisseau habité par des tortues survole la lune. Décembre, c’est au tour de la NASA d’envoyer un vaisseau habité vers la lune. Elle envoie un équipage en orbite lunaire, mission Apollo 8.

        Juillet 1969 : tandis que les Russes lancent leur première navette spatiale, BOR-2, elle servira au programme Bourane, la mission Apollo 11 envoie Neil Armstrong et Buzz Aldrin sur la Lune.

        1971 : en avril, les Russes lancent Saliout 1, première station spatiale habitée. En novembre, la sonde américaine Mariner 9 orbite autour de Mars. En décembre, la sonde russe Mars 3 se pose en douceur sur Mars.

        1972 : Apollo 17 dernière mission lunaire du programme Apollo. La conquête de l’espace entre dans une autre phase peu après.

        Le NACA (National Advisory Committee for Aeronautics, en français, Comité consultatif National pour l’Aéronautique), prédécesseur de la NASA

        Le NACA est une agence fédérale états-unienne créée en 1915.

        Comme son nom le suggère, l’objectif du NACA était de favoriser la recherche en aéronautique, un secteur qui commençait à se développer et sur lequel les États-Unis étaient en retard par rapport à l’Europe. Le centre de recherche Langley du NACA était basé à Hampton en Virginie. Dans cette Amérique ségrégationniste, les zones de travail entre Blancs et Noirs sont séparées, celle de l’unité de calcul de la zone ouest (West Area Computing Unit) étant réservées aux personnes afro-américaines où travailleront les trois héroïnes de cette dépêche. Quand le NACA disparaîtra en 1958 pour faire place à la NASA, les secteurs raciaux disparaîtront également et il n’y sera plus fait, sur le plan des locaux, de distinction entre les personnes selon leur couleur de peau ou selon leur sexe.

        On doit au NACA (et peut-être même en partie à Mary Jackson) un type de prise d’air la prise d’air NACA qu’on verra par la suite sur à peu près toutes les voitures à partir de 1956.

        Dorothy Vaughan (1910 – 2008), mathématicienne et informaticienne

        Dorothy Vaughan naît en 1910. Elle obtient un Bachelor of Arts (l’équivalent d’une licence) de mathématique à l’université de Wilberforce (Ohio) en 1929, elle a dix-neuf ans. À la suite de ça, elle va enseigner les mathématiques dans un lycée afro-américain de Farmville (Virginie).

        Arrive la deuxième guerre mondiale, le gouvernement états-unien fait appel aux travailleurs et travailleuses pour soutenir l’effort de guerre, le NACA recrute. Elle candidate au poste de « calculateur » à Langley. Elle est recrutée en décembre 1943 et affectée à l’unité de calcul de la zone ouest dont l’objet était de faire des calculs mathématiques pour les ingénieurs qui se livraient à des expériences aéronautiques. Pour cela, point d’ordinateur (le premier ordinateur reconnu comme tel date de 1942), mais des règles à calcul, des calculatrices mécaniques (merci Pascal), et le visionnage de films. Elles fournissaient ainsi aux ingénieurs les paramètres techniques en matière de vol et de soufflerie.

        Au départ, les chefs de sa section seront des hommes, blancs. Finalement, elle sera promue à la tête de l’unité informatique de la zone ouest qu’elle dirigera de 1949 à 1958. Elle aura été la première femme afro-américaine à diriger un département du NACA tout en étant une mathématicienne aux compétences respectées. Il arrivait ainsi qu’on lui demande personnellement d’effectuer certains calculs complexes. Pendant cette période, elle co-écrira avec deux autres mathématiciennes, Sara Bullock et Vera Huckel, un manuel de méthodes algébriques pour les machines à calculer utilisées dans le groupe. Elle participera à la « Course à l’espace », cette période où les USA et l’URSS luttaient pour avoir la suprématie dans le domaine spatial.

        Arrive 1958, le NACA est dissout remplacé par la NASA. Elle rejoint le « Numerical Techniques Branch » (section des techniques numériques) et acquiert une expertise en FORTRAN. Elle contribuera au programme de développement des lanceurs de fusée Scout. Elle continuera pendant toute sa carrière à apprendre les nouvelles technologies informatiques. Elle formera d’ailleurs ses collègues à ces disciplines.

        Elle quitte la NASA en 1971.

        Après sa mort, survenue en 2008, elle reçoit à titre posthume la Médaille d’or du congrès pour son travail pour la NASA.

        Katherine Johnson (1918 – 2020), la calculatrice humaine

        Katherine Johnson est née en 1918. Elle fait ses études au West Virginia State College, qui deviendra l’université d’État de Virginie occidentale (West Virginia State University). Elle en sort en 1937 avec un diplôme de mathématiques et de français. Elle intègre en 1939, avec deux autres étudiants afro-américains, l’université de Virginie occidentale qui accueille ainsi ses tout premiers étudiants afro-américains. Elle obtiendra un doctorat (PhD) de mathématiques.

        Elle est recrutée en juin 1953 par le NACA où elle intègre la section de calcul de Langley. Elle fait partie des calculateurs humains noirs dans cette Amérique qui pratique encore la ségrégation raciale, plus précisément des calculatrices car la section était purement féminine. Deux semaines après son entrée en fonction, Dorothy Vaughan l’assigne à un projet dans la branche des charges de manœuvre (Maneuver Loads Branch) de la division des Recherches en vol (the Flight Research Division) pérennisant ainsi son poste. Elle effectuera toute sa carrière à la NASA qu’elle quittera en 1986.

        L’année 1957 est une année charnière dans sa carrière et dans la conquête l’espace : la Russie, on l’a vu, y envoie le Spoutnik 1, premier satellite artificiel d’une famille de dix qui marque le début de la « course à l’espace ». Elle fournit une partie des calculs des « Notes on Space Technology (en) » de 1958. Ces notes font partie d’un cours de technologie spatiale donné à la division des Recherches en vol du NACA. Elle intègre ainsi le « SpaceTask Group » (groupe de travail de l’espace). Quand le NACA sera dissout pour faire place à la NASA, elle suivra naturellement le chemin.

        Elle effectuera les analyses de trajectoire pour la capsule spatiale Freedom 7 d’Alan Shepard en mai 1961, premier Américain dans l’espace pour un vol suborbital. En 1960 elle co-écrit avec l’ingénieur Ted Skopinski la note technique « Determination of Azimuth Angle at Burnout for Placing a Satellite Over a Selected Earth Position (en) » qui expose les équations décrivant un vol spatial orbital dans lequel la position d’atterrissage du vaisseau spatial est spécifiée. Elle sera la première femme de la division des Recherches en vol du NACA à être créditée comme auteur.

        En 1962, préparation du vol orbital de John Glenn : elle est appelée à y participer. C’est une opération complexe, qui entraîne des calculs complexes eux aussi. Les ordinateurs étaient programmés pour contrôler la trajectoire de la capsule Friendship 7. Cependant, les astronautes étaient réticents à l’idée de confier leur vie à des machines susceptibles de tomber en panne ou de subir des coupures de courant.

        Dans le cadre de la liste de contrôle avant le vol, Glenn avait demandé aux ingénieurs de « demander à la fille » (Johnson) d’exécuter les mêmes nombres dans les mêmes équations que celles programmées dans l’ordinateur, mais à la main, sur sa machine à calculer mécanique de bureau. « Si elle dit qu’ils sont bons », se souvient Katherine Johnson, « alors je suis prêt à partir ». Le vol de Glenn fut un succès et marqua un tournant dans la compétition entre les États-Unis et l’Union soviétique dans l’espace.1

        Elle aura aussi calculé la synchronisation du module lunaire d’Apollo 11 avec le module de commande et de service en orbite lunaire, ce qu’elle considérait comme sa plus grande contribution à la conquête de l’espace. Elle a travaillé aussi sur les navettes spatiales (Space Shuttle) et sur le programme d’observation de la Terre à des fins civiles Landsat (en).

        En 2015, Barack Obama la décore de la plus haute décoration américaine : la médaille présidentielle de la Liberté.

        Mary Jackson (1921 – 2005), l’ingénieure

        Mary Jackson naît le 9 avril 1921 à Hampton, Virginie où elle passera toute sa vie. En 1942 elle obtient un BS en mathématiques et sciences physiques au Hampton Institute. Elle commence sa carrière professionnelle comme ses deux collègues en tant qu’enseignante dans un établissement d’enseignement pour enfants noirs. Après d’autres emplois (réceptionniste, comptable, secrétaire militaire), elle est embauchée par le NACA et rejoint la section de calcul de la zone ouest en 1951 dirigée par Dorothy Vaughan.

        Deux ans après, elle reçoit une proposition de travail pour l’ingénieur aéronautique Kazimierz Czarnecki (en) (qui a un homonyme polonais et althérophile) sur la soufflerie supersonique. Il lui suggère de suivre une formation pour devenir ingénieure. Ce qu’elle fera avec succès, non sans avoir eu à obtenir une autorisation spéciale de la ville de Hampton pour suivre les cours car ils se déroulaient dans l’école secondaire, blanche, de la ville. Elle deviendra la première ingénieure afro-américaine de la NASA en 1958. Elle écrira aussi, avec Czarnecki, cette même année « Effects of Nose Angle and Mach Number on Transition on Cones at Supersonic Speeds » (en). Dans ses fonctions d’ingénieure aérospatiale, son travail portera sur l’analyse des données des expériences en souffleries et en vol à des vitesses supersoniques.

        De 1958 à 1975, elle aura écrit en tout douze documents techniques pour le NACA et la NASA.

        Elle change d’orientation en 1976 (avec diminution de salaire), sa carrière étant bloquée pour œuvrer en faveur de l’embauche et de la promotion de la nouvelle génération d’ingénieures, de mathématiciennes et scientifiques de la NASA. Elle prendra sa retraite en 1985. Mary Jackson meurt le 11 février 2005.

        Le siège de la NASA à Washington DC est rebaptisé a sa mémoire en 2020 et s’appelle désormais le « Mary W. Jackson NASA Headquarters ».

        Remarques incidentes

        Les trois femmes ainsi portraiturées ont fait l’objet d’un film sorti en 2016 : «Hidden Figures » (Les Figures de l’ombre). Dans les pages qui leur sont consacrées sur le site de la NASA (en), le nom de l’actrice associée à chaque rôle dans le film est ajouté. Je me suis beaucoup inspirée de ces pages d’ailleurs. Il y a aussi, probablement, dans tout cela une excellente affaire de marketing dont on n’a pas l’équivalent pour la Russie qui a une histoire politique plus compliquée.

        Ceci n’était que le premier volet, celui des calculatrices humaines. Le prochain consacrera une partie à l’environnement informatique, tant aux USA qu’en Russie. Il y aura aussi des portraits de femmes (américaines, mais si vous avez des noms et des liens d’informaticiennes russes à suggérer…) dont, évidemment Margaret Hamilton.

        Cette dépêche ne saurait se terminer sans remercier vmagnin et Benoît Sibaud d’avoir pensé à mes longues soirées d’automne en m’ouvrant d’autres portes parce qu’en fait ce texte aurait dû n’être qu’en une seule partie et plus court.


        1. Biographie de Katherine Johnson (en sur le site de la NASA. 

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        • ✇LinuxFr.org : les dépêches
        • Plaidoyer pour des interfaces temps réels
          L’informatisation et la mise en réseau des ordinateurs nous ont apporté beaucoup de choses formidables ces trente dernières années. Toute la culture musicale, cinématographique et encyclopédique est désormais à une portée de clic de quiconque. Téléphoner de n’importe où à n’importe qui tout autour de la terre est devenu quelque chose de tellement courant que plus personne ne s’en extasie. Et même si l’interlocuteurice s’exprime dans une autre langue ça n’est presque plus un problème avec les dif

        Plaidoyer pour des interfaces temps réels

        L’informatisation et la mise en réseau des ordinateurs nous ont apporté beaucoup de choses formidables ces trente dernières années. Toute la culture musicale, cinématographique et encyclopédique est désormais à une portée de clic de quiconque. Téléphoner de n’importe où à n’importe qui tout autour de la terre est devenu quelque chose de tellement courant que plus personne ne s’en extasie. Et même si l’interlocuteurice s’exprime dans une autre langue ça n’est presque plus un problème avec les différents services de traduction en ligne que l’on peut avoir.

        Ne parlons même pas de ce mini-ordinateur que presque tout le monde a désormais dans sa poche, équipé d’une chaîne hifi complète, d’un caméscope, d’un appareil photo d’excellente qualité et d’une connexion permanente au réseau mondial.

        Nos logements sont désormais entièrement automatisables et pilotables à distance.

        Je peux avoir de la musique ou la radio quand je veux dans mon casque sans fil grâce à la baladodiffusion.

        Tous ces rêves numériques des années 90 se sont concrètement réalisés aujourd’hui, mais nous avons tout de même perdu quelque chose : le temps réel des interfaces

        N. D. M. : par « temps réel » est ici utilisé dans le sens réponse immédiate humainement parlant, sans latence perceptible, réactives (voir les définitions Wiktionary ou Wikipedia pour temps réel qui, pour l’informatique, vont amener des exigences supplémentaires sur la durée maximale de réponse, la garantie du temps de réponse, etc.

        Sommaire

        Le temps réel des interfaces

        En effet, avec la diffusion du numérique à tous les étages, les interfaces se sont ramollies. Aujourd’hui, lorsque nous appuyons sur un bouton pour jouer une musique, lancer une vidéo ou valider un formulaire sur Internet nous n’avons pas un retour immédiat de cet appui.

        Il s’écoule souvent un temps non négligeable entre l’appui sur ledit bouton et la réaction du système. Ce problème ne se limite pas aux boutons bien sûr, c’est le même problème avec les branchements des chargeurs et autres interfaces USB, HDMI…

        Nous ne sommes jamais immédiatement sûrs que l’action se soit bien passée. Si la réaction met trop de temps à venir (lancement de la musique, icône de mise en charge, validation du formulaire…) nous allons avoir tendance à réessayer au risque de se retrouver avec un « dys »fonctionnement anormal. Le bouton « play » de la musique est également le bouton pause, un ré-appui sur le bouton coupe la musique. Une absence de réaction de l’appareil au branchement va nous amener à débrancher puis rebrancher jusqu’à jeter le câble et en prendre un autre. Un ré-appui sur le bouton du formulaire va en renvoyer un autre, etc.

        Nous parlons bien ici des interfaces qui ne sont pas en temps réel. Cela n’a rien à voir avec la puissance de calcul des machines. Les appareils des années 90 avaient beau avoir des interfaces temps réel, ils n’étaient pas puissants, beaucoup ne disposaient même pas de microprocesseurs.

        Sur mon lecteur de cassettes audio, lorsque j’appuyais sur le bouton « play » le bouton émettait un « clic » bien distinctif et une petite vibration dans le doigt qui m’assurait que mon appui était bien pris en compte. Et si j’étais à la fin de la cassette le bouton remontait immédiatement, je savais instantanément que cela n’avait pas marché et qu’il fallait que j’appuie sur « eject » pour retourner la cassette… ou « rewind » pour rembobiner.

        Lecteur cassettes
        Pour lire ma cassette de petit ours brun, j’appuie sur le triangle et ça fait «clic» instantanément !

        Boite à histoires Yoto
        Alors que pour allumer la boite à histoires, il faut appuyer sur un bouton planqué sur le côté, et attendre plusieurs secondes que l’écran affiche un sourire. Ai-je bien appuyé ? Dois-je retenter ? Y a-t-il suffisamment de batterie pour que j’obtienne une réaction ? Et je ne parle même pas des deux boutons rotatifs rouge qui ne réagissent pas instantanément (en plus celui de gauche est à tourner pour le volume et celui de droite est à CLIQUER pour changer d’histoire…)

        Les télévisions cathodiques des années 70-80 prenaient un certain temps à chauffer avant d’afficher l’image, mais l’appui sur le bouton « on » était marqué par un « clang » bien net, et nous savions que la télé était allumée, nous pouvions attendre d’avoir l’image. Les télés d’aujourd’hui mettent également du temps à s’allumer, mais elles ne signalent pas toujours la bonne réception de notre action sur la télécommande. Et ne parlons même pas des écrans d’ordinateur avec leur interface tactile à la noix (on doit pouvoir parler d'interfaces digitales pour le coup non ?) dont on ne voit même pas où se trouve le bouton.

        Les systèmes sont devenus mous

        Et cette mollesse les rend dysfonctionnels. Je ne compte plus le nombre de fois ou voulant ré-appuyer sur un bouton de validation, j’ai finalement appuyé sur un nouveau bouton venant d’apparaître sous mon doigt/curseur. Sans parler de tous ces systèmes électroniques portables qui prennent un temps dingue avant d’afficher quelque chose quand on appuie sur le bouton “ON”. Systèmes qui ne sont pas toujours réellement éteints d’ailleurs et dont l’appui long… les éteint !
        Ne parlons même pas des systèmes avec boutons rotatifs de type « potards numériques » qui — non contents de générer des rebonds ou de sauter des pas — fonctionnent avec la même mollesse que les boutons « standard ».

        Mais le problème ne se limite pas aux systèmes embarqués. Oh que non ! Toute l’informatique « desktop » et mobile est touchée. Les sites Web ont rouillé avec leurs méga-octets de bibliothèques javascript à télécharger avant de pouvoir appuyer sur le moindre bouton.

        Le réseau étant désormais massivement sans fil (WiFi, GSM, 4g, 5g, gégé, …), l’on ne sait pas toujours pourquoi cette page met tant de temps à se charger. Attention, il n’est pas question ici de vitesse de connexion, mais plutôt d’absence d’indication claire de ce qui est en train de se passer : ai-je déconnecté, ou le lien réseau est-il tout simplement lent ?

        Revenons aux interfaces réactives

        C’est un problème d’ergonomie. Et l’ergonomie est visiblement toujours reléguée en fin de projet «tant qu’on a un truc qui marche». Cependant, on pourrait considérer que non, ça ne marche pas si l’interface est si lente à réagir.

        Je suis persuadé que ce problème n’est pas une fatalité. Il est possible de revenir à des interfaces humain-machine qui soient vraiment temps réel.

        Mais il faut que tout le monde s’y mette.

        • Aux électroniciennes et électroniciens de mettre systématiquement le voyant (ou vibreur, ou son) qui va bien pour signaler le bon branchement du câble, et le bon appui sur le bouton.
        • Aux développeuses et développeurs noyau de soigner l’ordonnanceur pour s’assurer que la partie interface soit bien traitée dans un temps acceptable (moins de 100 ms ?).
        • Aux développeuses et développeurs d’applis de considérer un temps de réaction trop long des interfaces comme un bug qu’il faut corriger.
        • Aux utilisatrices et utilisateurs de ne plus accepter un seul ralentissement de l’interface et remonter systématiquement le problème comme un bug et/ou ne pas acheter/utiliser le produit.

        Manifeste des interfaces temps réel

        Voici donc une proposition/un manifeste de règles pour des interfaces temps réel :

        1. Toute action humaine (appui ou clic-toucher sur un bouton, branchement d’un câble…) doit être validée par un retour en moins de 100 ms par un visuel, un son ou une vibration.
        2. Si le système est bloqué l’utilisateurice doit le savoir. On doit pouvoir faire la différence entre un blocage et un temps de chargement. Un genre de watchdog de l’ergonomie.
        3. On peut certainement ajouter d’autres règles quand on fera des audits ITR (Interfaces Temps Réels) dans les bureaux d’études et de développement des grosses boites.

        Vers un Score-Interfaces-Temps-Réel ?

        Évidement, il est impossible que ces règles s’appliquent du jour au lendemain sur tous les appareils et logiciel du marché. On pourrait inventer un système de notation, à l’image du nutri-score mais pour les interfaces. Par exemple le SITR pour Score-Interfaces-Temps-Réel et développer une appli pour pouvoir récupérer le score des produits qu’on utilise.
        Appli qui aurait le culot d’avoir un mauvais score histoire de faire causer.

        Conclusion

        Pour conclure sur ce manifeste décousu :

        ✊🏼 Oui l’ergonomie est importante !
        ✊🏽 Oui un temps de réaction trop long est un BUG !
        ✊🏿 Oui il faut que ça change !

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        • ✇LinuxFr.org : les dépêches
        • Bien débuter avec la distribution Manjaro Linux
          Manjaro est une distribution GNU/Linux basée sur Arch Linux. Arch Linux est réputée être une distribution fiable, mais difficile et longue à installer et à configurer. Manjaro propose de reprendre les bons côtés d’Arch mais en simplifiant l’installation et la configuration. Manjaro est tout à fait adaptée à un débutant. Ma vie : j’utilise Manjaro depuis sept ans et je l’ai installée sur les quatre ordinateurs de la maison. Je suis fan et je la conseille aujourd’hui à tout le monde ! Cette dépêc

        Bien débuter avec la distribution Manjaro Linux

        Manjaro est une distribution GNU/Linux basée sur Arch Linux.
        Arch Linux est réputée être une distribution fiable, mais difficile et longue à installer et à configurer. Manjaro propose de reprendre les bons côtés d’Arch mais en simplifiant l’installation et la configuration. Manjaro est tout à fait adaptée à un débutant.

        Ma vie : j’utilise Manjaro depuis sept ans et je l’ai installée sur les quatre ordinateurs de la maison. Je suis fan et je la conseille aujourd’hui à tout le monde ! Cette dépêche ne sera donc pas un test de la distribution mais un retour d’expérience proposant quelques astuces pour installer, utiliser et maintenir Manjaro.

        Cette dépêche est une mise à jour d’une ancienne dépêche : https://linuxfr.org/news/bien-debuter-avec-manjaro-linux.

        Sommaire

        Le tour de la distribution

        Installation

        L’installation se déroule assez classiquement (Manjaro utilise Calamares comme beaucoup d'autres distributions) en téléchargeant une image ISO que vous pouvez flasher sur une clé USB, avec Etcher par exemple. Ensuite, vous pouvez démarrer sur la clé, tester la distribution et utiliser le bouton « Installer Manjaro », puis suivre les étapes pour l’installer sur votre disque. Cela se fait très simplement et rapidement, et je ne reprendrai pas ici le déroulement de l’installation, car il existe de nombreux guides, qui sont finalement à peine nécessaires.

        Choix des interfaces graphiques

        Manjaro est disponible officiellement avec trois environnements de bureau : Xfce, KDE et GNOME. Pour chaque bureau, le thème et les couleurs Manjaro sont reprises, je trouve que les thèmes par défaut sont très agréables et très bien intégrés.

        L’environnement GNOME :
        L’environnement GNOME

        L’environnement Xfce :
        L’environnement XFCE

        L’environnement KDE :
        L'environnement KDE

        Il existe également d’autres environnements de bureau proposés par la communauté. Je vous laisse en découvrir la liste !

        De mon côté, j’ai une préférence pour GNOME, c’est pourquoi les captures et les explications suivantes seront réalisées avec cet environnement.

        Les mises à jour

        Tout comme Arch, Manjaro est une rolling release, c’est‑à‑dire que les mises à jour sont mises à disposition en continu. Vous passez d’une version de la distribution à une autre (par exemple de la 23.3 à la 24.0) sans vous en rendre compte, juste en mettant à jour vos paquets. Vous êtes donc assurés d’avoir toujours une distribution à niveau. Vous n’avez plus ce stress tous les six mois ou tous les deux ans d’avoir une mise à jour complète du système.
        C’est également un avantage lorsque vous rencontrez un problème : la personne qui va vous aider est sûre que vous utilisez la dernière version.

        Cependant, il faut savoir que Manjaro utilise ses propres dépôts et non ceux de Arch. Les paquets vont d’abord être testés avant d'arriver sur Manjaro, parfois un ou deux mois après leur sortie. C’est également pour cette raison que vous recevrez les mises à jour par lots, généralement toutes les deux à trois semaines.

        La gestion des paquets

        Le gestionnaire de paquets (ou Store d’applications pour ceux qui ne sont pas familiers avec Linux) est un élément central d’une distribution GNU/Linux. Celui de Manjaro utilise pamac, un dérivé de pacman qui provient de Arch Linux. Pamac est installé avec une interface graphique disponible pour KDE ou GTK (donc pour GNOME ou XFCE).

        Éviter les problèmes lors des mises à jour

        Les problèmes lors des mises à jour sont rares, mais ils existent et cela reste toujours ennuyeux. Voici quelques conseils pour les éviter :

        • lancer les mises à jour régulièrement, mais attendez tout de même un ou deux jours après leur publication ;
        • plutôt que d’exécuter les mises à jour via l’interface graphique, utilisez une console avec la commande :

          sudo pamac update -a

        • lors de chaque mise à jour, il y a une nouvelle entrée dans le forum Annoucements - Stable Updates. Un sondage permet de savoir combien de personnes ont eu un problème avec cette mise à jour, cela permet d’avoir une idée sur sa stabilité ;
          Mise à jour Manjaro

        • cette entrée du forum liste les bugs découverts pour cette mise à jour et les solutions pour résoudre les problèmes rencontrés ;
          Problèmes Manjaro

        • si la mise à jour paraît dangereuse pour votre système, lancez la via SSH ou via une console virtuelle (Ctrl + Alt + F3), en dehors de votre interface graphique.

        Avant de prendre ces précautions, il m’est arrivé une ou deux fois d’avoir un problème au redémarrage, mais depuis, plus jamais de problème pour moi ! Et puis, je ne vais pas vous refaire la morale sur les sauvegardes à faire régulièrement. :)

        Manjaro ne démarre plus : Utilisez le manjaro-chroot !

        Avertissement : Cette méthode ne fonctionne pas avec le système de fichiers Btrfs

        Si malgré ces précautions, Manjaro ne démarre plus (cela m'est arrivé lorsque mon PC s'est arrêté en cours de mise à jour), il me reste une astuce : l'outil chroot de Manjaro.
        L'idée est de :
        - Démarrer sur la clé USB avec l'image d'installation Manjaro
        - Se connecter au système installé sur le disque dur
        - Réparer le système en ligne de commande

        Donc, démarrez Manjaro avec une clé USB (ou un DVD) comme vous l'avez fait pour l'installation.
        Il faut monter les partitions sur lesquelles votre Manjaro est installée. Pour cela, utilisez le gestionnaire de fichiers et cliquez sur + Autres emplacements et cliquez sur la (ou les) partition(s) Manjaro pour les monter.

        Montage des disques

        Lancez un terminal et la commande :
        manjaro-chroot -a

        L'outil cherche alors l'emplacement de votre système et le monte automatiquement.

        Vous pouvez alors lancer la commande que vous désirez sur le système qui ne démarre pas. Par exemple, pour terminer une mise à jour :
        pamac update -a

        Entrée dans le chroot

        Installer des applications

        Manjaro a développé une interface graphique (Pamac) pour chercher, installer et mettre à jour vos paquets.

        pamac

        Ajouter d'autres dépôts

        Beaucoup de paquets sont disponibles sur Arch, mais il existe la possibilité d'ajouter d'autres dépôts via pamac. Allez pour cela dans les préférences de pamac et activez les dépôts AUR, Flatpak et Snap.

        Pour accéder aux paquets snap, il faut installer le paquet
        libpamac-snap-plugin

        pamac

        Voici maintenant ce que trouve Pamac lors d'une recherche du paquet Freecad :

        pamac

        Vous pouvez remarquer en colonne de gauche que vous pouvez installer des paquets de différentes provenances (dépôts officiels, AUR, Snap et Flatpak). C’est très important de comprendre d’où viennent vos paquets pour garantir la stabilité de votre système.

        Je vais maintenant vous expliquer ce que sont ces dépôts et comment choisir parmi ceux-ci :

        Dépôts officiels

        Lorsque le paquet que vous recherchez est disponible dans les dépôts officiels, il faut privilégier ce type d’installation. C’est seulement si vous rencontrez un problème lors de l’exécution de l’application que vous pouvez l’installer via une autre source.

        Flatpak et Snap

        Snap et Flatpak sont deux magasins (Store) d’applications GNU/Linux qui poursuivent le même but : donner accès à des paquets qui peuvent être utilisés sur toutes les distributions.

        Ces paquets prennent plus de place sur le disque dur car ils créent leur propre environnement d’exécution et utilisent donc moins de composants de Manjaro. Cependant, certains paquets ne sont tout simplement pas proposés par les dépôts Manjaro : Flatpak et Snap pourront alors vous sauver !

        Manjaro vous permet d’installer et désinstaller des paquets Snap et Flatpak très facilement depuis l’interface et il ne faut pas s’en priver pour tester des applications, cela ne va pas alourdir le système après désinstallation.

        Alors, comment choisir entre Flatpak et Snap ? Ce sont des concurrents, mais en gros :

        • la taille des paquets Flatpak est plus petite que Snap (moins de choses sont encapsulées) ;
        • Snap est propriété de Canonical (l’éditeur d’Ubuntu).

        Donc, je vous conseillerais de privilégier Flatpak, et ensuite si cela ne fonctionne pas, d’utiliser Snap.

        AUR

        Enfin, il existe les paquets AUR (Arch User Repository), c’est un ensemble de paquets créés par les utilisateurs avant de rentrer dans les dépôts officiels. Ces paquets sont des listes de commandes qui permettent de compiler les sources du logiciel ou de télécharger et d'installer du code propriétaire. Parfois, ils ne sont plus maintenus ou contiennent des bogues, il faut donc les installer avec grande précaution.

        Il y a également un problème technique avec les paquets AUR sur Manjaro, cela attire d'ailleurs de nombreuses critiques des utilisateurs Arch Linux vis à vis de Manjaro.
        Manjaro utilise ses propres dépôts avec parfois des mises à jours de paquets qui arrivent plusieurs mois après être dans Arch Linux. Par contre, si vous installez un paquet AUR, il sera dans la même version que sur Arch.
        Cela peut donc conduire à des dysfonctionnements sur Manjaro qu'il n'y a pas sur Arch. Comme les développeurs de AUR sont majoritairement sur Arch, cela les agace.

        Je déconseille d’installer des logiciels depuis AUR, mais cela peut rester pratique dans certains cas (voir même l'unique solution). Personnellement, j’ai installé l’un de ces paquets pour mon imprimante Brother ou ma tablette graphique et cela fonctionne très bien.

        Conclusion

        Pour résumer :

        • dépôts officiels à privilégier pour l'installation de vos paquets ;
        • Flatpak à utiliser si non disponibles dans les dépôts ou si on veut seulement installer l’application pour un test ;
        • Snap à utiliser si le paquet Flatpak ne fonctionne pas ;
        • AUR déconseillé, à utiliser avec grande précaution.

        Pamac est donc un point fort pour Manjaro, il permet, d’installer des paquets provenant de diverses sources et de disposer de versions très récentes. Malgré cela, le système reste très stable grâce au travail de la communauté Arch en amont et de la gestion des paquets Snap et Flatpak.

        Utiliser et configurer Manjaro GNOME

        Pas facile de s’y retrouver ici pour un débutant, c’est pourquoi je vais essayer de détailler certains outils. Ici, je ne vais parler que de la configuration avec Manjaro GNOME. Si vous utilisez KDE ou Xfce, ils seront peut-être différents, et peut-être plus centralisés…

        Voici les différents outils qui vous permettent d'accéder à la configuration de Manjaro Gnome graphiquement :

        • GNOME control center - Aussi nommé Paramètres : Permet de configurer Gnome, mais aussi le système (Écrans, réseau, etc)
        • GNOME tweak tools - Aussi nommé Ajustements : Permet de configurer certains paramètres avancés de Gnome (Apparence, applications au démarrage, etc)
        • Gestionnaire de paramètres de Manjaro : Permet de configurer des choses spécifiques à Manjaro (Traductions, noyaux, etc)
        • Layouts : Permet de configurer l'apparence de Gnome mais aussi d'accéder facilement aux outils ci-dessus.

        Rechercher dans le menu Activités

        Si vous cherchez quelque chose sur Manjaro Gnome, commencez par utiliser le menu activité (menu en haut à gauche de la page ou bouton le plus à gauche de la barre d'outils) qui cherchera sur l'ensemble de votre l'ordinateur :
        Gnome - activités

        Ici, Gnome a trouvé l'application déjà installée Lollypop qui permet de lire de la musique, le répertoire Musique et propose des applications à installer en lien avec la musique.

        Gnome - activités

        Ici, Gnome vous propose d'accéder à vos imprimantes, d'en installer de nouvelles ou bien des applications en lien avec l'impression.

        Gestionnaire de paramètres de Manjaro

        Configuration
        Vous retrouverez cet outil sur tous les environnements Manjaro. Les icônes sont assez explicites pour savoir ce qu'elles permettent de gérer. Voici cependant quelques précisions :

        • paquets linguistiques, c’est là qu’il faut aller si vous avez une application qui n’est pas traduite en français, c'est le cas par défaut pour Firefox ou Thunderbird ;
        • noyau, pour faire fonctionner certains matériels, il faut parfois changer de noyau ;
        • configuration matérielle, permet de connaître le matériel présent dans votre ordinateur et d’installer des pilotes propriétaires, ceux des cartes graphiques notamment.

        Pour lancer cette application, cherchez Manjaro Gestionnaire dans le menu activités. Il est dommage que le sélecteur d'activités de Gnome ne liste pas les fonctionnalités incluses dans cette application.

        Paramètres GNOME (GNOME control center)

        Configuration

        L’application GNOME Center permet de gérer tout ce qui va avec l’environnement GNOME :

        • les notifications ;
        • les applications par défaut ;
        • l’accessibilité.

        Mais vous pouvez aussi configurer des choses en lien avec le matériel :

        • ajouter une imprimante ;
        • configurer le réseau ;
        • gérer les écrans.

        Configuration

        Et aussi, il y a des choses en doublon avec le gestionnaire de paramètres Manjaro :

        • régler la date et l’heure ;
        • créer un compte utilisateur.

        Cependant, le menu Activités cherche parmi les options du Gnome control center, donc, je préfère passer par ce menu.

        Ajustements GNOME (GNOME tweak tools)

        Pour brouiller un peu mieux les pistes, GNOME propose un autre gestionnaire de paramètres.
        Configuration

        Il permet par exemple de :

        • choisir le thème GNOME utilisé ;
        • régler les polices de caractères ;
        • modifier la barre supérieure des fenêtres.

        Bref, tout ce qui n'est pas dans le gestionnaire de paramètres.

        Extensions GNOME (Extensions)

        Configuration
        GNOME propose également une interface pour gérer les extensions qui apportent des fonctionnalités (par exemple, la barre de lancement d’applications Dash to Dock qui est installée par défaut sur Manjaro GNOME).

        Conclusion

        La facilité de paramétrage de Manjaro GNOME, n’est certainement pas son point fort pour le débutant : tout est là, mais il faut chercher ! La solution est sans doute dans l’une des applications listée ci‑dessus…
        Pour les versions KDE et XFCE, le nombre d’outils semble plus limité : ouf !

        La communauté

        Manjaro est un projet communautaire. Le site propose à la vente du matériel informatique pour soutenir le projet. Cette année, il y a eu un peu de rififi et le départ de certains développeurs importants. À l’utilisation de la distribution, cela ne s’est pas ressenti.

        Pour la documentation, le wiki Manjaro ne m’a jamais été d’une grande aide non plus. En revanche, le wiki Arch est une référence en la matière et vous pourrez trouver beaucoup d’informations pour la configuration avancée (serveur, système, etc.). La version en français mérite également le coup d’œil.

        Pour poser vos questions ou chercher une réponse, il y a le forum Manjaro officiel et un forum en français très actif et sympathique.

        Les alternatives à Manjaro

        Manjaro essuie un nombre assez important de critiques, je vais en lister quelques unes ici :
        - Elle possède ses propres dépôts, d'où des problèmes avec les paquets AUR
        - Elle profite du travail de Arch et propose du merchandising

        Si cela est bloquant pour vous, vous pouvez essayer trois autres distributions :
        - ArchLinux bien sûr ! Un peu moins pour les débutants, mais sa réputation est faite !
        - EndeavourOS est une alternative, plus proche de Arch que Manjaro mais plus simple à installer que Arch
        - Garuda Linux : Quelqu'un pour faire une description de cette distrib ?

        Pour finir

        J’ai écrit cet article pour les personnes qui débutent avec Manjaro, mais j’aurais pu également évoquer le shell zsh par défaut, l’installation automatique de tout mon matériel, de l’extension Dash to Dock installée et configurée par défaut, ainsi que la stabilité de l’ensemble…

        Comme toutes les distributions GNU/Linux, elle convient bien sûr à des utilisateurs plus avancés. De mon côté, après être passé par Mandrake, Ubuntu, Linux Mint, Debian Sid, me voilà pleinement satisfait avec Manjaro !

        Ceci étant dit, je pense que le choix d'une distribution linux n'est plus aussi important qu'il l'était il y a dix ans. On navigue entre le bon, le très bon et l'excellent ! Difficile de se tromper.

        Commentaires : voir le flux Atom ouvrir dans le navigateur

        • ✇LinuxFr.org : les dépêches
        • Les langues peu documentées et le libre : quelques enjeux scientifiques
          Comme beaucoup de domaines scientifiques, la documentation de la diversité linguistique entretient une relation forte avec les mondes du Libre. Dans cette dépêche, je vous propose de découvrir ce domaine à travers la présentation de plusieurs logiciels et ressources libres ou en accès ouvert. La documentation des langues étant un thème peu courant sur LinuxFr.org, on commencera par une présentation de cette problématique. Nous continuerons par une description des deux ressources principales exis

        Les langues peu documentées et le libre : quelques enjeux scientifiques

        Comme beaucoup de domaines scientifiques, la documentation de la diversité linguistique entretient une relation forte avec les mondes du Libre. Dans cette dépêche, je vous propose de découvrir ce domaine à travers la présentation de plusieurs logiciels et ressources libres ou en accès ouvert. La documentation des langues étant un thème peu courant sur LinuxFr.org, on commencera par une présentation de cette problématique. Nous continuerons par une description des deux ressources principales existantes pour cataloguer et se repérer au sein de cette diversité linguistique. Je parlerai ensuite d’ELAN et de FLEX, deux logiciels utilisés pour annoter des enregistrements audio-visuels, une étape clef dans l’analyse linguistique, et qui permet le partage et la réutilisation de ces enregistrements. Enfin, après un court passage sur la question de l’archivage, je présenterai deux compilations de corpus de documentation en accès libre, une pratique récente qui permet de nouveaux questionnements quantitatifs sur les langues orales peu documentées, et qui contribue également à la transparence et la traçabilité des analyses linguistiques.

          Sommaire

          L’étude des langues à travers le monde

          Actuellement, environ 7000 langues ont été recensées à travers le monde. Ce chiffre ne peut être qu’une approximation car, il n’y a pas de consensus sur la définition de ce qu’est une langue. Une difficulté par exemple est de définir à quel moment une langue est distincte d’une autre. Lorsqu’il y a variation, mais intercompréhension, de nombreux linguistes s’accordent à dire qu’il s’agit alors de dialectes d’une même langue, et donc, lorsqu’il n’y a pas intercompréhension, alors il s’agit différentes langues. Cette perspective considère que tout le monde parle un dialecte (que ce soit celui de référence, ou un plus régional comme celui de Paris, de Marseille, du Québec), la langue n’étant qu’une abstraction permettant de regrouper les diverses pratiques langagières. En ce qui concerne l’intercompréhension, ce critère n’est malheureusement pas absolu car elle peut varier selon les personnes et leur parcours personnel. Et lorsqu’on considère l’évolution d’une langue à travers le temps, sa diachronie, définir ce qu’est une même langue à travers ses évolutions temporelles se complexifie d’autant plus.

          Si certaines langues ont émergé récemment, on pense assez souvent aux langues dites créoles (le Bichelamar, les créoles malais, à Madagascar ou au Cap Vert), ou également lorsque certains dialectes se distinguent suffisamment pour ne plus être intercompréhensibles, la tendance actuelle est surtout à la disparition massive des langues. Cette disparition est souvent rapportée à travers la mort des derniers locuteurs et locutrices, on peut aussi considérer qu’une langue meurt lorsqu’elle n’est plus parlée d’une part, et qu’elle disparait si elle n’est pas documentée. Si certains aujourd’hui se questionnent sur la corrélation entre la diversité culturelle et la diversité écologique, il est évident que la disparition des langues correspond également à des inégalités et des tensions socio-politiques.

          Bref, la documentation des langues, c’est un sujet actuel, et d’un point de vue scientifique, la perte de cette diversité aura de tristes conséquences sur la connaissance des langues et de l’univers des possibles languagiers, encore souvent sous-estimé :

          • l’article The myth of language universals : Language diversity and its importance for cognitive science d’Evans donne un bel aperçu du débat qui existe entre les linguistes fonctionnalistes, notamment les approches générativistes telles que proposées par Noam Chomsky. Pourtant, régulièrement à travers la documentation des langues, des catégories cognitives jusque-là non-soupçonnés, voire rejetées car non-observées, sont identifiés. Nous nous sommes rendu compte récemment qu’un quart des langues grammaticalisaient l’emploi d’évidentiels, ces morphèmes qui indiquent la source d’une information. Au niveau de l’odorat, des neurologistes pensaient que si nous n’avions pas de termes abstraits pour catégoriser les odeurs, c’était lié au fait que notre cerveau ne le permettait pas. La description des termes liés à l’odorat en Jahai (par ici si vous souhaitez écouter du Jahai), qui possède donc des termes spécifiques pour catégoriser les odeurs, a montré le contraire.
          • accéder à des facettes non-matérielles de la préhistoire, non-accessibles à travers l’archéologie. La documentation des langues nous permet d’accéder, dans une certaine mesure, aux termes et aux concepts utilisés durant les différentes préhistoires à travers la comparaison des langues et de leurs structures. Les travaux sont nombreux et anciens en ce qui concerne les langues européennes, mais les recherches en linguistique historique (ou comparée) portent également sur toutes les langues connues à travers le monde. Les chercheurs et chercheuses de ce domaine collaborent assez régulièrement avec les archéologues pour retracer les mouvements de population.
          • mettre au point des systèmes d’écriture pour les langues orales, ou simplement des traitements de texte adapté aux écritures existantes. Parfois, certaines personnes savent écrire dans la ou les langues officielles du pays, mais ne connaissent pas d’écriture pour une de leurs langues régionales. C’est ainsi souvent le cas pour les personnes au Vanuatu. Le pays reconnait même le droit d’enseigner les langues locales à l’école, mais il n’existe que très rarement des ressources (que ce soit les personnes ou les manuels) pour cela. Parfois, les gens ne connaissent tout simplement pas de système d’écriture.

          Quelques concepts et termes liés à la documentation des langues

          Comme tout domaine de recherche, la terminologie et les concepts linguistiques évoluent au gré des discussions et peut se distinguer de l’usage attendu des termes. Une étape importante dans la documentation d’une langue est la production d’une grammaire décrivant les structures linguistiques de cette langue. De nombreux linguistes estiment alors qu’on peut dire que cette langue est décrite. Il ne faut pas se tromper cependant, aucun linguiste ne considère qu’une langue est alors complètement décrite. Une grammaire ne contient que quelques aspects estimés actuellement essentielles par les linguistes de terrain. Ces points sont, le plus souvent, une description du système phonologique d’une langue (c’est-à-dire comment les sons d’une langue sont organisés les uns vis-à-vis des autres), des morphèmes et des processus morphologiques associés (la conjugaison, l’expression de la possession, les déclinaisons, les genres, les classifications, etc.) d’une langue et souvent un début de description des processus syntaxiques. Il existe de nombreuses approches pour décrire les faits linguistiques, et la description d’une langue se fait souvent en dialogue avec les pratiques et terminologies qui ont été employées dans l'aire linguistique concernée.

          Depuis l’article Documentary and descriptive linguistics de Nicholaus Himmelman, qui a promu la distinction entre la documentation linguistique et la description linguistique, on accorde beaucoup plus d’importance à la production d’un corpus d’enregistrements annotés. On dit alors d’une langue qu’elle est documentée si des enregistrements annotés, de préférences audio-visuels, de cette langue existe. Enfin, il existe la problématique de l’outillage d’une langue, c’est-à-dire si ses locuteurs et locutrices ont accès ou non aux outils informatisés, du traitement texte aux dictionnaires informatisés en passant par la reconnaissance vocale, la transcription automatique, voire aujourd’hui aux modèles de langues et autres ressources nécessitant des corpus beaucoup plus grands.

          Les catalogues et base de données pour l’identification des langues

          Une problématique récurrente dans le domaine des langues est de clairement identifier la langue sur laquelle on travaille. Cependant, identifier une langue, ce qui relève ou non de cette langue, où elle est parlée, est l’enjeu de nombreux débats, souvent politique, et n’est pas une tâche simple. Quoi qu’il en soit, il existe des ressources, bases de données, qui proposent d’associer à des noms de langues, endonymes ou exonymes, des codes pour rendre leur identification univoque.

          L’Ethnologue et l’ISO 639 : une norme gérée par le Summer Institute of Linguistics (SIL)

          Ethnologue, Languages of the World, ou plus simplement l’Ethnologue, est une base de données développée et maintenu par l’organisme évangélique SIL, Summer Institute of Linguistic depuis 1951. Elle vise à recenser toutes les langues du monde. L’ISO 639 est une norme issue de ce catalogue, également maintenue par le SIL. Cet organisme est très actif au niveau de la documentation des langues et de la création d’écritures, car un de ses objectifs est de traduire la Bible dans toutes les langues du monde. Historiquement, l’Ethnologue est un des premiers catalogues dont l’objet a été de recenser les langues. Si cette norme semble le plus souvent suffisamment exhaustive pour les besoins liés à l’informatique, après tout, les internautes consultent Internet en très peu de langue, d’un point de vue linguistique, il possède de nombreuses lacunes.

          La liste SIL des langues

          Un premier souci est la nécessité d’avoir une granularité plus importante que simplement la langue. Les linguistes travaillent sur des dialectes et des variétés, sur des familles de langues, et parfois ont travaillé sur des distinctions qui n’ont parfois plus cours. Afin de pouvoir associer ces ressources à des langues, ou des entités linguistiques particulières, l’approche du SIL ne suffit pas.

          Enfin, la gestion du catalogue par un organisme religieux, donc avec parfois d’autres enjeux qu’uniquement scientifiques, le fait qu’il s’agisse d’une norme, donc la nécessité de collaborer avec l’ISO, et le fait que seule une partie du catalogue est accessible (il faut un abonnement pour accéder à la totalité de la ressource) rend la ressource moins pertinente pour de nombreux linguistes. Ces limites ont poussé des linguistes à proposer une ressource alternative.

          Glottocode : par le Max Planck Institute for Evolutionary Anthropology.

          Le projet Glottolog, initialement développé par Sebastian Nordhoff et Harald Hammarström, catalogue non seulement les langues du monde actuelles et passés, les familles de langues et leurs différentes branches, mais également « les restes » des hypothèses de langues ou de regroupements historiques. Cette granularité permet de retrouver les documents associés à chacun de ces objets. Si le catalogue est dédié aux langues moins connues, les langues les plus centrales sont elles aussi répertoriées. Il s’agit actuellement du catalogue mis en avant par les linguistes documentant les langues à travers le monde. L’application Glottolog est disponible via la licence MIT.

          Aperçu du Glottolog à travers la liste des langues

          Si aux premiers abords, la liste des langues du Glottolog ne se distingue pas franchement de celle de l’ISO 639, c’est parce qu’il faut regarder plus en détail pour comprendre les différences essentielles entre les deux ressources. Notons tout de même la colonne « Child dialects » : « Dialectes enfants », et les champs vides au niveau des colonnes Top-level-family et pour la langue Abai Tubu-Abai Sembuak dans la colonne « ISO-639-3 ». La colonne « Child dialects » représente une information qui n’est pas documenté dans l’ISO 639, ce n’est pas son objet après tout, mais qui est intéressant pour les linguistes travaillant sur cette langue, indiquant qu’un minimum de données sociolinguistiques sont disponibles. Les champs vides dans la colonne « Top-level family » sont dus au fait que ces langues sont des isolats, c’est-à-dire que la linguistique comparée ne trouve pas de correspondances significatives entre cette langue et d’autres langues qui permettraient de les regrouper en une famille. Enfin, le vide dans la colonne ISO-963-3 révèle que la langue Abai Tubu-Abai Sembuak ne possède pas d’entrée dédiée dans la norme.

          Ainsi, lorsque l’on consulte une langue en particulière, ici le Nisvai, on voit apparaitre tous les embranchements existants associés à cette langue :

          La langue Nisvai dans le Glottolog

          Cette vue de l’arborescence associée à une langue particulière révèle tous les embranchements auxquels peut⁻être associée une langue. Et à chacun de ces embranchements, si des ressources linguistiques ont été identifiées par les mainteneurs du Glottolog, celles peuvent être proposées. Cette fonction permet aux linguistes de trouver des ressources sur les langues proches, non pas géographiquement (même si en pratique c’est le plus souvent le cas), mais d’un point de vue généalogique.

          Les autres

          Il existe d’autres initiatives pour cataloguer les langues du monde, que ce soit la liste proposée par Wikipedia, la liste de la CIA ou encore The Linguasphere Register, mais ces initiatives ne sont pas aussi pertinentes du point de vue de la documentation des langues.

          Documenter les langues

          ELAN : des schémas d’annotation flexibles

          ELAN est un des logiciels libres (GPL3) les plus utilisés par les linguistes pour annoter des enregistrements audio et vidéo. Il permet d’élaborer des structures d’annotation complexes permettant ainsi de rendre compte des analyses que les linguistes souhaitent associer à un enregistrement. Ces couches d’annotation sont reliées les unes aux autres par des relations logiques, avec le plus souvent une couche de référence indexée temporellement à l’enregistrement. Les annotations les plus courantes sont une transcription, une traduction et une annotation morphologique. Mais des nombreuses autres analyses peuvent être incluses, que ce soit les parties du discours, les références et anaphores, l'animéité, mais aussi les gestes, la structuration du discours, les signes pour les sourds et malentendants.

          Extrait d’une narration présente dans DoReCo, et vue sur les différentes couches d’annotation pouvant être associés à un enregistrement.

          Dans cette capture d’écran issu d’un texte de DoReCo retravaillé par l’auteur, on aperçoit un extrait de quelques secondes d’une narration nisvaie. Il s’agit d’un des modes de visualisation des annotations proposées par ELAN pour représenter les différentes couches d’annotation. Certaines de ces annotations ont été réalisées à la main par l’auteur, d’autres ont été retravaillées par les algorithmes mis en place par DoReCo, puis manuellement corrigés. Enfin, il y a également des couches d’annotation de la prosodie par le biais de SLAM+.

          FLEX : gérer un projet de documentation

          FLEX est un logiciel développé par le SIL et dont le code source est régie par la licence LGPL 2.1. Il est conçu davantage pour coordonner l’ensemble d’une documentation linguistique, de la gestion des textes à l’élaboration d’un dictionnaire, en passant par les analyses linguistiques. En revanche, il ne gère pas réellement l’annotation d’enregistrements. De nombreux linguistes l’utilisent en complément d’ELAN.

          Si le logiciel est prometteur sur le papier, à chaque fois que je l’ai essayé, j’ai été rebuté par son côté usine à gaz, et surtout ses nombreux plantages notamment lorsqu’on essaie de gérer des fichiers multimédia avec. Et il en est de même pour les autres logiciels développé par le SIL, tel que SayMore pour gérer les métadonnées des enregistrements, WeSay pour faire des dictionnaires en collaboration avec les locuteurs et locutrices, à chaque fois que je les ai essayés, enthousiasmé par leurs fonctionnalités, j’ai été déçu par le fait qu’ils ne fonctionnaient pas correctement sur mon ordinateur.

          Aperçu de Flex

          Cette capture d’écran illustre un des modes de saisie de FLEX, ici la vue tabulaire du lexique, qui permet de rentrer et gérer les définitions des lexèmes (les entrées du dictionnaire) de manière assez rapide. On aperçoit dans la partie en haut à gauche les autres modes d’édition du lexique, et en dessous les autres catégories liées à la gestion d’un projet de documentation : Texts & Words, Grammar, Notebook et Lists. C’est à travers la catégorie Texts & Words que l’on peut par exemple importer des textes transcrits, voire des fichiers ELAN pour peupler la base de données lexicales. Grammar permet de décrire les paradigmes grammaticaux, FLEX propose d’ailleurs quelques algorithmes qui aident à la construction des paradigmes grammaticaux. Notebook et Lists servent à la gestion du projet, le premier pour prendre des notes diverses, et le second pour créer des listes, en particulier des tâches encore à réaliser.

          Et il y en a bien d’autres encore

          Il existe de nombreux autres logiciels similaires, tels qu’EXmaralda pour l’annotation des enregistrements (surtout utilisé en Allemagne à ma connaissance), Sonal (non libre, et dont le développement semble arrêté) qui est utilisé par les sociologues et les anthropologues pour une annotation thématique de leurs entretiens, Anvil, qui semble intéressant mais que je n’ai jamais réellement vu utilisé, ou enfin le vieux Transcriber qui lui était encore employé par certains projets il y a quelques années. Rentrer dans le détail de tous ces logiciels dépasserait le cadre d’une dépêche comme celle-ci, mais énumérer la diversité logicielle montre qu’il s’agit d’un secteur un minimum dynamique, d’ailleurs la question de la transcription et de l’annotation des enregistrements ne se limite pas du tout qu’au domaine de la documentation des langues du monde.

          L’archivage et la compilation de corpus

          Afin de conserver et partager les corpus et donnée enregistrées par les linguistes, chercheurs voire simplement les personnes ayant documenté une langue, il existe des archives, le plus souvent en ligne. Il y a en France par exemple Pangloss, géré par le LACITO, dédié aux langues orales, ou ORTOLANG, plus générique, pour les corpus de langue. En Océanie, il y a Paradisec. Il y a aussi ELAR, autrefois à Londres, et qui a déménagé récemment à Berlin récemment.

          Ces archives proposent diverses interfaces pour déposer, gérer et parfois même consulter les enregistrements et les annotations réalisés par les linguistes et leurs collaborateurs·e·s. À noter que pour ces archives, Ortolang décrit son architecture logicielle qui repose sur des briques ouvertes, en revanche concernant Paradisec et Pangloss, bien que leur statuts soient sûrement similaires du fait de la démarche générale de ses ingénieurs, je n’ai pas trouvé de liens vers les logiciels employés. Quant à ELAR, le logiciel utilisé est Preservica, une solution propriétaire qui, quand on a le malheur de devoir l’utiliser, fonctionne bien lentement.

          La compilation de corpus, si elle se rapproche de l’archivage en ce qu’il s’agit également de recueillir, conserver et publier les corpus des linguistes, correspond également à une édition particulière de ces corpus. La compilation de corpus est réalisé à travers la mise en place de processus de qualité, d’annotations et de conventions particulières. Les deux compilations de corpus présentées ici sont des compilations de corpus de documentation de langues orales. Les enregistrements ont été systématiquement annotés en utilisant une convention nommée les gloses interlinaires (le nom fait en fait référence à la pratique ancienne d’insérer des explications entre les lignes d’un texte. En pratique aujourd’hui, ce n’est plus vraiment ce que font les linguistes, puisque le travail est informatisé et les annotations ne sont plus entre les lignes, mais, le terme a cependant été conservé).

          DoReCo

          DoReCo est une compilation de 52 corpus en accès ouvert (NdR : auquelle l’auteur a contribué). La compilation a nécessité la mise en place de processus de qualité afin d’assurer la cohérence de l’ensemble et de fournir un certain nombre de garanties quant aux qualités du corpus.

          Les langues dans DoReCo

          Une première qualité, et l’une des originalités de DoReCo, est de proposer un alignement temporel est très fin. La durée de chaque phonème, de chaque morphèmes, de chaque mot (ici suivant la définition de la personne à l’origine du corpus, car la définition d’un mot n’a rien d’une évidence) et enfin de chaque groupe de souffle est fournie. Une deuxième qualité a été de s’assurer que pour l’ensemble des retranscriptions, chacun des termes et des morphèmes possède une glose, c’est-à-dire qu’ils possèdent une explication linguistique.

          La compilation totalise une centaine d’heures d’enregistrements audio, en grande majorité des narrations monologiques. À noter que les corpus de la compilation sont accès ouvert, via une licence Creative Commons, mais que les droits d’utilisation varient d’un corpus à l’autre. Les données sont accessibles aux formats d’ELAN : .eaf, de Praat : . TextGrid, TEI.xml, et.csv.

          Multi-CAST

          Multi-CAST est également une compilation de 18 corpus de documentation de langues différentes. Les textes annotés via le logiciel ELAN. Contrairement à DoReCo, l’alignement temporel des annotations n’est pas réalisé de manière précise, mais manuellement, par les personnes à l’origine du corpus, à l’échelle de l’énoncé. Les textes sont également en grande majorité des narrations monologiques. L’originalité de cette compilation de corpus vient du fait que les textes contiennent trois couches d’annotation particulières : GRAID, Grammatical Relations and Animacy in Discourse, (voir), puis RefIND et ISNRef (Referent Indexing in Natural Language Discourse, voir Schiborr et al. 2018).

          La page d’accueil de Multi-Cast

          Cette compilation de corpus est aussi disponible dans plusieurs formats. XML évidemment, puisque c’est le format natif d’ELAN, mais aussi TSV et il existe également un paquet pour R. Tout cela est disponible via la licence CC-BY 4.0.

          Conclusion

          J’espère que vous avez apprécié cette introduction à la documentation des langues à travers les logiciels libres. L’idée est surtout d’attiser la curiosité, car il reste évidemment encore de nombreux aspects ou points à discuter et à approfondir. La prochaine fois que j’aborderai le thème de la documentation linguistique ici, j’espère que ça sera pour présenter mon application basée sur Django pour faire de la lexicographie.

          Il y a également un autre sujet sur lequel j’aimerais bien échanger ici prochainement : la question des licences des données collectés et la négociation lorsque l’on travaille avec des personnes à tradition orale. Si ouvrir l’accès aux données de recherche et aux corpus peut sembler être une évidence pour certains, il ne faut pas oublier que souvent, les chercheurs et chercheuses de terrain collectent des informations personnelles, que la connaissance n’est pas forcément considérée comme un bien public et les enregistrements, notamment les narrations, qui ne sont pas forcément perçues comme des fictions, sont souvent couverts par des droits locaux. Enfin, ouvrir ses données de recherche, si c’est permettre à d’autres de réutiliser ses données, requiert beaucoup de travail de la part des linguistes, c’est une tâche longue, ingrate et surtout peu valorisée. Alors qu’il est de plus en plus précaire d’être chercheur en sciences humaines, il est aussi difficile de demander à ces chercheurs et chercheuses de consacrer une grande partie de leur temps à des tâches qui ne leur permettront pas de se constituer un CV, nécessaire si l’on souhaite avoir un poste stable (c’est-à-dire plus de deux ans).

          Label sans IA : ce texte a été rédigé sans aucun aide de la part d’une LLM.

          Commentaires : voir le flux Atom ouvrir dans le navigateur

          • ✇LinuxFr.org : les dépêches
          • Codeberg, la forge en devenir pour les projets libres ?
            Face aux risques que fait peser GitHub sur le monde des logiciels libres suite à son rachat par Microsoft en 2018, une alternative semble avoir percé. Cette dépêche propose un tour d'horizon des problèmes posés par GitHub et expose comment Codeberg pourrait y répondre. Sommaire Les points forts de Codeberg La problématique du tout GitHub Des alternatives possibles Pour vous faire venir sur Codeberg Premières impressions Fonctionnalités avancées Projets ayant migré ou ayant un miroir sur C

          Codeberg, la forge en devenir pour les projets libres ?

          Face aux risques que fait peser GitHub sur le monde des logiciels libres suite à son rachat par Microsoft en 2018, une alternative semble avoir percé. Cette dépêche propose un tour d'horizon des problèmes posés par GitHub et expose comment Codeberg pourrait y répondre.
          Logo Codeberg

            Sommaire

            Les points forts de Codeberg

            L'association Codeberg e.V. 1 et son projet Codeberg.org ont été fondés en janvier 2019, suite au rachat par Microsoft de GitHub. En plus d'un statut associatif à but non lucratif, ce qui limite les risques de disparition du jour au lendemain, Codeberg est basé en Europe (à Berlin), ce qui est un plus pour nos données personnelles.

            Son logo représente un sommet enneigé sur fond de ciel bleu. En effet, en Allemand, der Berg veut dire la montagne et on pourrait donc traduire Codeberg par une « montagne de code ». Et effectivement, la communauté compte fin avril 2024 plus de 102 000 utilisateurs et plus de 129 000 projets y sont hébergés. L'association qui dirige le projet compte plus de 400 membres. Le financement s'effectue par les dons (déductible des impôts en Allemagne) et/ou contributions aux projets sous-jacents à la forge.

            La forge est basée sur Forgejo, logiciel libre sous licence MIT, dont le nom vient de l'Esperanto forĝejo, ce qui est cohérent avec l'attention portée à la langue de l'utilisateur et aux problèmes de traduction (service Weblate). Comme avec GitLab, la licence libre implique qu'un projet peut posséder sa propre instance s'il le souhaite. On notera que Forgejo est un fork de Gitea, lui-même fork de Gogs, et est donc écrit en langage Go, langage sous licence BSD avec un brevet. Le projet Forgejo, évidemment hébergé sur Codeberg, est très actif avec plus de 900 Pull Requests acceptées depuis un an.

            La problématique du tout GitHub

            GitHub, lancé en 2008, est devenu la plus grosse plateforme d'hébergement de codes sources, utilisée par un grand nombre de projets majeurs du monde du libre (Firefox, Matrix, Yunohost…). Ce qui par effet d'attraction — et de réseau centralisant, contraire au choix de git décentralisé par nature — conduit souvent à faire de Github un choix par défaut, facilitant les interactions avec les autres projets et permettant d'accéder à une large base de contributeurs potentiels. Quand on cite une URL GitHub dans un réseau social, on peut d'ailleurs voir apparaître ce genre de message :

            Contribute to Someone/my_project development by creating an account on GitHub.

            Cependant, si ce service fourni par Microsoft est actuellement encore gratuit, il est soumis à son bon-vouloir, avec le risque de voir se répéter l'épisode SourceForge (publicités trompeuses, installateurs modifiés, usurpation d'identité de projets partis ailleurs, etc.).

            Par ailleurs, derrière une communication favorable à l'open source, le code de la forge GitHub est volontairement fermé. Vous ne pouvez donc pas avoir votre propre instance de GitHub. En outre, cela laisse un flou sur l'exploitation de nos données (au sens large, le code lui-même et nos données personnelles, l'hébergement étant délégué). Avec l'arrivée du projet Copilot, il est cependant certain que nos codes servent à alimenter un outil d'IA, permettant à Microsoft de monétiser des suggestions de code en faisant fi des questions de licence. Une partie d'un code sous licence libre pourrait potentiellement se retrouver injectée dans un projet avec une licence incompatible et de surcroît sans citation de l'auteur.

            Des alternatives possibles

            On pense tout d'abord à GitLab, logiciel lancé en 2011, qui permet d'avoir sa propre instance serveur pour maîtriser l'ensemble (client et serveur sont libres). Parmi les grands projets libres, on trouve en particulier GNOME et Debian qui utilisent leur propre instance GitLab CE (Community Edition), logiciel sous licence MIT. Mais il faut nuancer : la forge GitLab.com utilise GitLab EE (Enterprise Edition) qui est propriétaire et propose des fonctionnalités supplémentaires. GitLab suit donc un modèle dit open core. GitLab compterait plus de 30 millions d'utilisateurs inscrits et l'entreprise GitLab Inc., lancée en 2014, génère plusieurs centaines de millions de dollars de revenus. On notera enfin qu'en 2018, le site migre de Microsoft Azure à Google Cloud Platform (USA), ce qui a posé des problèmes d'accès dans certains pays.

            Autres projets de forges libres plus modestes :

            • Codingteam.net (une initiative française, service clôturé en 2019).
            • SourceHut http://sr.ht (et https://sourcehut.org/), initié par Drew DeVault.
            • Disroot basé sur Forgejo comme Codeberg, mais il ne semble pas avoir attiré de projets d'envergure (le portail, sorte de Framasoft néerlandais, est néanmoins à recommander).
            • Chez un Chaton (GitLab ou Gitea pour la plupart).
            • L'auto-hébergement : chez-vous, dans un fablab, en datacenter sur serveur dédié…

            Pour vous faire venir sur Codeberg

            Premières impressions

            La page principale est accueillante et annonce que Codeberg.org ne vous piste pas et n'utilise pas de cookies tiers. Les statistiques actuelles sont affichées : nombre de projets, d'utilisateurs et de membres de l'association. Chose agréable, vous avez la possibilité de choisir le français parmi les nombreuses langues proposées pour l'interface. Petite icône qui attire l'attention : l'activité de chaque dépôt peut être suivie grâce à un flux RSS. Sinon, l'organisation générale est très semblable à celle de GitHub ou GitLab et la prise en main de Codeberg se fait donc sans effort.

            Fonctionnalités avancées

            • Codeberg pages : permet de disposer d'un site web statique pour le projet
            • Forgejo actions : pour dérouler automatiquement les actions nécessaires à l'intégration continue (CI/CD)
            • Weblate : pour gérer les traductions de votre projet. On peut d'ailleurs y constater que parmi les traductions de Forgejo, le Français est dans le peloton de tête.

            Projets ayant migré ou ayant un miroir sur Codeberg

            Un certain nombre de projets importants utilisent désormais Codeberg, ce qui est à la fois un gage de confiance et assure une base de contributeurs a minima :

            • libreboot : remplacement libre de BIOS/UEFI.
            • Conversations : le client majeur XMPP sur Android.
            • WideLands : jeu libre basé sur le concept de Settlers II.
            • LibreWolf : fork de Firefox axé sur la vie privée.
            • F-Droid : magasin d'applications libres pour Android.
            • FreeBSD : miroir de https://cgit.freebsd.org/
            • FreeCAD : miroir officiel.
            • Forgejo : fork communautaire de Gitea suite à la privatisation de celui-ci en 2022.
            • Fedilab : client Android pour le Fediverse.
            • irssi : client IRC.
            • Peppermint OS : une distribution Linux avec bureau minimaliste.
            • DivestOS : un fork de LineageOS orienté sur la protection de la vie privée.
            • VeggieKarte : un service pour trouver des restaurants végétariens/végétaliens.

            Comment migrer vers Codeberg ?

            Migrer le code source et l'éventuel Wiki associé ne devrait pas poser de problème particulier. Il suffit de configurer git pour pusher vers la nouvelle forge. Cette page décrit comment migrer l'ensemble de votre projet (incluant les issues, le wiki, les Pull Request, etc.) vers Codeberg : https://docs.codeberg.org/advanced/migrating-repos/

            Concernant les Workflows (CI), bien qu'il n'y ait pas de garantie de compatibilité avec les Actions Github, la syntaxe se veut similaire pour faciliter la transition : https://forgejo.org/2023-02-27-forgejo-actions/

            Au-delà de l'aspect technique, il reste aussi à faire migrer la communauté d'utilisateurs (la présence fortement suivie sur Mastodon peut être un avantage).

            Conclusion

            Codeberg est un outil prometteur. Il reste pour la communauté du logiciel libre à le faire grandir. Rappelons les statistiques : 100 millions de développeurs sur GitHub, 30 millions utilisant GitLab et 100 000 pour Codeberg. Le potentiel est grand, l'un des enjeux est de financer l'association pour accompagner la croissance de la communauté, tout en faisant monter en puissance l'infrastructure informatique.

            Sources / Liens

            Controverse GitHub

            Forges diverses

            Codeberg


            1. e.V. est l'abréviation de eingetragener Verein (association déclarée). 

            Commentaires : voir le flux Atom ouvrir dans le navigateur

            • ✇LinuxFr.org : les dépêches
            • L’informatique sans écran
              Lors d’un Noël de ma tendre jeunesse pré-adolescente est arrivé un « ordinateur » dans le foyer. Ce PC (Intel 386) a été installé dans le bureau et a vite dégénéré en console de jeux. Puis les années passant c’est devenu une formidable source d’expérimentation informatique pour un geek en devenir. À cette époque on sensibilisait la jeunesse à ne pas passer trop de temps devant la télévision et la console de jeux, puis devant l’ordinateur et les jeux vidéo violents. Mais on ne parlait pas vraimen

            L’informatique sans écran

            Lors d’un Noël de ma tendre jeunesse pré-adolescente est arrivé un « ordinateur » dans le foyer. Ce PC (Intel 386) a été installé dans le bureau et a vite dégénéré en console de jeux. Puis les années passant c’est devenu une formidable source d’expérimentation informatique pour un geek en devenir. À cette époque on sensibilisait la jeunesse à ne pas passer trop de temps devant la télévision et la console de jeux, puis devant l’ordinateur et les jeux vidéo violents. Mais on ne parlait pas vraiment de l’écran.

            Aujourd’hui les messages de sensibilisation se résument aux écrans :

            • « pas d’écran avant trois ans »
            • « nos jeunes passent leurs temps sur leurs écrans » (comme si les « vieux » n’y étaient pas non plus)
            • « attention les écrans fabriquent une génération de crétins »
            • « les écrans, les écrans, les écrans…»

            Il est vrai qu’aujourd’hui l’informatique ne se résume presque plus qu’à un écran. De l’ordinateur avec clavier+souris+écran, voire crayon optique, on est passé aux tablettes et ordiphones qui n’ont plus que l’écran (tactile quand même).

            Pour prendre le contre-pied de cette obsession des écrans, je me demandais donc s’il existait encore une informatique « sans écran ». La formidable multiplicité des activités que l’on peut avoir sur un ordinateur pourrait-elle se faire sans écran ? Dans quelle mesure peut-on coder, surfer sur le web, lire/envoyer des mails sans écran ? Cette informatique fantasmée par notre ex-ministre de l’éducation est elle une réalité ?

              Sommaire

              L’informatique, une histoire d’abord sans écran

              Si l’on date la naissance de l’ère de l’informatique avec Ada Lovelace, et qu’on estime l’arrivée des ordinateurs avec écrans à la fin des années 1970, alors on peut aisément dire que l’informatique a été plus longtemps sans écran qu’avec.

              Peinture d’Ada LovelaceMalgré son look cosplay de manga elle n’a pas subi trop d’écrans dans son enfance, elle.

              De même, il est raisonnable de considérer l’ordinateur comme l’outil principal pour faire de l’informatique. Il fut largement sans écran à ses débuts.

              Ken Thompson (assis) et Dennis Ritchie (debout) manipulant un DEC PDP-11
              Pas d’écran pour ces deux geeks qui ont développé UNIX et le langage C (source)

              L’altair8800, sorti en 1975 et sur lequel Microsoft a écrit son BASIC, se programmait avec des rubans perforées, voire avec des commutateurs, et l’affichage se faisait avec quelques diodes (DEL) en face avant.
              Les cartes à trous étant plutôt utilsées avec les gros ordinateurs (aka Big Iron).

              Vue de face de l’Altair8800Difficile de considérer ces deux lignes de diodes rouges comme l’écran de l’Altair8800

              L’écran ≠ la vue

              Pour faire sans écran, on pense instinctivement à utiliser d’autres sens que la vue comme l’ouïe ou le toucher (pour le goût ou l’odorat difficile d’imaginer la chose). Mais l’histoire de l’informatique nous montre que les premières interfaces homme-machine ne fonctionnaient pas avec des écrans, et pourtant utilisaient la vue (lumière, LED, imprimante, position mécanique…).

              Mais qu’appelle-t-on écran ?

              D’après la définition de Wikipédia, « un écran d’ordinateur est un périphérique de sortie vidéo d’ordinateur. Il affiche les images générées par la carte graphique de l’ordinateur. Grâce au taux de rafraîchissement d’écran élevé, il permet de donner l’impression de mouvement. »

              Donc si l’on s’en tient à wikipédia, un écran d’ordinateur c’est :

              • des images générées par une carte graphique d’ordinateur. Exit la télé cathodique avec un tuner analogique (qui devient rare aujourd’hui avec la TNT).
              • avec un taux de rafraîchissement élevé. Exit les liseuses et autres appareils utilisant un affichage type «  papier électronique ».
              • pas d’indication de résolutions.

              On peut sans doute rajouter les écrans (comme les télés) qui ne sont pas raccordés à une carte graphique dans la catégorie écran.

              Cela serait donc la résolution (définition et taille…) et le rafraîchissement (fréquence de balayage) du périphérique de sortie vidéo qui font un écran.

              La matrice 5 × 5 d’un micro:bit ne correspond pas à un critère de résolution suffisant, pas plus que les deux poussoirs ne pourraient prétendre à être un clavier.
              micro:bit Pourtant il affiche bien une « image » de cœur <3 !

              Les afficheurs 7 segments ne peuvent pas être considérés comme des écrans. Ils n’affichent que des chiffres et quelques symboles. Difficile de créer une impression de mouvement avec seulement des segments.
              Afficheur 7 segmentsEn faisant un effort, on arrive à reconstituer quelques lettres.

              En doublant le nombre de segments, on arrive à afficher l’ensemble des lettres de l’alphabet latin
              Afficheur 14 segmentsSans diacritiques, faut pas pousser

              Un « panel » LCD 20×4 et ses caractères de 8 pixels sur 5 forme un écran de 100 pixels sur 32, la résolution est déjà meilleure, même s’il est toujours prévu pour n’afficher que du texte. Néanmoins on se rapproche de l’idée que l’on se fait d’un « écran ».

              Du papier électronique ne peut pas être un écran. La résolution peut être excellente mais le rafraîchissement reste insuffisant.

              Finalement la définition de Wikipédia n’est guère rigoureuse ni efficace, entre l’unique LED du panneau de contrôle et l’écran haute résolution, il y a un continuum de périphériques de sortie utilisant des signaux lumineux pour former des images. Il faut peut-être alors chercher les systèmes informatiques qui, dans leur usage normal, utilisent d’autres périphériques de sortie ou pas de périphériques de sortie du tout.

              L’embarquée, une informatique massivement sans écran

              Bien sûr il faut définir le mot « informatique ». Si l’on se réfère à la définition de Wikipédia :

              L’informatique est un domaine d’activité scientifique, technique, et industriel concernant le traitement automatique de l’information numérique par l’exécution de programmes informatiques hébergés par des dispositifs électriques-électroniques : des systèmes embarqués, des ordinateurs, des robots, des automates, etc.

              Avec cette définition, le moindre dispositif électronique embarqué est de l’informatique. Lancer une machine à laver, programmer son four ou préparer une cafetière pour le lendemain est donc une forme de manipulation informatique… qu’on peut envisager sans écran.

              Cependant dès que vient le besoin de développer un système embarqué ou même de le réparer/déverminer, l’écran revient au galop. On a rapidement besoin d’un écran pour y connecter son environnement de développement et sa sonde de debug. Et même l’oscilloscope ou l’analyseur logique que l’on branche pour « voir » les signaux dispose d’un écran.

              En usage normal donc, certains dispositifs informatiques sont conçus pour ne pas nécessiter d’écran parce qu’ils disposent d’un autre périphérique de sortie. Certains centres commerciaux, certaines gares proposent des distributeurs d’histoires courtes : trois boutons comme périphérique d’entrée et une imprimante thermique comme périphérique de sortie. Appuyez et vous aurez de la lecture pour une, trois ou cinq minutes.

              Distributeur d’histoires courtes en gare de Lyon-PerracheSoyons optimistes : il n’y aura pas plus de cinq minute d’attente !

              Plus courant, une box Internet domestique est aussi un dispositif informatique sans écran.

              Livebox 6- Il est où l’écran ? - Dans ton… navigateur

              Il faut reconnaître que si l’usage courant, la connexion à l’Internet, ne nécessite pas d’écran sur la box, son paramétrage en utilise bien un : celui de l’ordinateur sur lequel tourne votre navigateur préféré.

              Les assistants vocaux sont des ordinateurs sans écran. Les principaux périphériques d’entrée comme de sortie sont audio : commande vocale, réponse également. Radio France fait d’ailleurs la publicité pour son offre pour enfants, une histoire et… Oli, sur cette absence d’écran, jouant, sans trop le dire, sur cette peur parentale des écrans.

              Pourrait-on pousser l’utilisation de ces ordinateurs pour faire du développement et «coder en vocal» ? Possible, il est tout à fait possible de programmer l’ouverture de ses volets, la lecture d’une musique ou le thermostat de sa chaudière avec. Mais ça n’est pas du développement.

              L’éducation numérique mais sans écran

              Il est largement possible d’apprendre l’informatique sans écran, et même sans ordinateur.

              La robotique pédagogique se développe depuis l’apparition de la tortue Logo. Actuellement, pour les plus jeunes dès l’école maternelle, c’est une abeille qui est proposée comme initiation à la programmation.

              Bee-Bot en actionSi, si, je suis bien un ordinateur

              La Bee-Bot se programme à l’aide de sept touches et les périphériques de sortie sont les moteurs de déplacement, un petit haut-parleur et en option un porte-crayon. Avec une interface HommeEnfant-Machine aussi simple, il s’agit plutôt d’une mémorisation de séquences de mouvements que de programmation à proprement parler et pour en utiliser toutes les capacités, un interfaçage avec une application ou un ordinateur plus conventionnel est possible, mais on y retrouve un écran ! De nombreux autres robots pédagogiques, un peu plus complexes et performants, existent mais ceux-ci utilisent un écran classique pour accéder à l’interface de programmation.

              Quitte à supprimer les écrans autant aller au bout de la démarche et supprimer l’ordinateur dans son ensemble. Des pédagogues ont ainsi inventé l’informatique déconnectée. Un papier, un crayon, ni écran ni matériel comme le jeu du robot idiot. Les esprits chagrins pourraient y voir une solution au manque de matériel des établissements scolaires.
              Plus que d’informatique il s’agit en fait d’initiation à l’algorithmie.

              Mais peut-on se passer d’écran pour développer ?

              Les plages braille

              Il existe une catégorie de population qui est contrainte de se passer d’écran pour se servir d’un ordinateur : les aveugles.

              Les personnes aveugles peuvent pourtant se servir d’ordinateur, notamment grâce à un clavier spécifiquement développé pour eux nommé « plage braille ». Grâce à ces plages brailles, les aveugles peuvent lire les caractères en braille en touchant une ligne munie de petites pointes pilotés.

              Le prix de ces appareils est assez prohibitif pour quelqu’un qui voudrait jouer avec sans en avoir réellement besoin (un geek quoi). C’est pourtant une bonne manière de faire de l’informatique sans écran. Pour le codage informatique, on utilise un braille à huit points au lieu des six habituels ce qui permet d’avoir 256 combinaisons, soit autant que la table ASCII. La table braille informatique actuelle a été approuvée à l’unanimité en 2007 par la Commission Évolution du Braille Français, elle porte le numéro TBFR2007.

              Que vaudrait un jeu vidéo développé pour une plage braille ? Et pourrait-on l’appeler jeu vidéo ?

              Avec du papier et un stylo/machine à écrire/carte perforé puis scanner

              On peut également faire beaucoup de choses un papier un crayon/stylo/pinceau puis le scanner pour qu’il soit utilisé dans l’ordinateur. Ça reste généralement qu’une étape du développement les programmes ne sont pas plus réalisés intégralement sur papier avant d’être intégré à l’ordinateur.

              Pour conclure

              Avec des écrits comme « la fabrique du crétin digital » et des propos comme ceux de notre ex-ministre de l’éducation, les écrans sont devenus la bête noire de tous les pédagogos.

              Mais l’important n’est-il pas de savoir ce que l’on fait avec un écran ? Faut-il vraiment s’acharner à s’en passer ?

              Sans doute pas.

              Il serait cependant intéressant d’apprendre à se servir d’outils réservés aux aveugles par exemple. Si nous n’avons plus besoin de la vue pour coder, nous pourrions être un peu plus multi-tâches et coder tout en… regardant la télé !

              Commentaires : voir le flux Atom ouvrir dans le navigateur

              ❌
              ❌