Vue normale
- Les Numériques
- Test Hisense 65U8NQ : un des téléviseurs Mini-Led les plus lumineux, sans faire exploser son budget
- Moyens I/O
- Wordle #1276 Answer and Hints for December 16, 2024 « Wordle #1276 Réponse et Indices pour le 16 Décembre 2024 »
Wordle #1276 Answer and Hints for December 16, 2024 « Wordle #1276 Réponse et Indices pour le 16 Décembre 2024 »
Vous essayez trop fort de comprendre la réponse Wordle d’aujourd’hui ? Vous êtes alors au bon endroit, car j’ai parcouru le jeu et j’ai répertorié ci-dessous quelques conseils essentiels. Le Wordle #1276 d’aujourd’hui du 16 décembre 2024 était également simple, et je suppose que les éditeurs du New York Times y vont doucement ces jours-ci, […]
Le post Wordle #1276 Answer and Hints for December 16, 2024
« Wordle #1276 Réponse et Indices pour le 16 Décembre 2024 » est apparu en premier sur Moyens I/O.
- Les Numériques
- Test Opel Frontera Hybrid 136ch Edition : un SUV pour voyager en famille sans se ruiner
Test Opel Frontera Hybrid 136ch Edition : un SUV pour voyager en famille sans se ruiner
- Les Numériques
- Test Opel Frontera Electric 113ch GS : un SUV électrique spacieux et moins cher qu'une Corsa
Test Opel Frontera Electric 113ch GS : un SUV électrique spacieux et moins cher qu'une Corsa
- Les Numériques
- Actualité : Super Hotte de Noël #25 : jouez et tentez de gagner un téléviseur TCL 65C89B
Actualité : Super Hotte de Noël #25 : jouez et tentez de gagner un téléviseur TCL 65C89B
Netlibre, un service libre et un nom de domaine gratuit
Le service netlibre
, revu et corrigé
Le service netlibre fournit gratuitement des noms de domaine et une interface simple pour les modifier. Récemment, ce service a été mis à jour.
Vous voulez en savoir plus sur le service ? Vous êtes déjà bénéficiaire du service ou souhaitez le devenir ? Venez lire la suite !
Dans cet article, je vais me focaliser sur le service netlibre
. L’histoire, l’ancienne version, la nouvelle et le futur du service. Et en bonus, les problèmes rencontrés. Les aspects purement techniques feront l’objet d’autres articles.
- lien nᵒ 1 : Le service netlibre
- lien nᵒ 2 : Le code source de l'interface web
- lien nᵒ 3 : Le code source du service netlibre
- lien nᵒ 4 : Le code source du service d’authentification
Sommaire
Trop Long ; Pas Lu (note aux utilisateurs actuels et pressés)
La nouvelle version de netlibre représente une réécriture complète du service. Points à retenir : bien meilleure stabilité, les domaines peuvent être gérés à plusieurs et même transférés entre utilisateurs, et bien davantage de vérifications sont faites sur les entrées des utilisateurs pour prévenir un maximum d’erreurs.
Pour les utilisateurs actuels : votre compte a été migré. Vous pouvez voir vos domaines depuis la nouvelle interface. Le contenu des zones n’a cependant pas été repris (pour des contraintes techniques), il faudra les re-remplir mais je pourrai vous fournir vos zones sur demande.
Pas d’inquiétude : les zones actuelles sont toujours servies, il n’y a pas eu de coupure du service DNS. Tant que vous ne faites pas de modification de votre zone sur l’interface, l’ancienne zone reste servie.
Une adresse email vous est demandée lors de votre connexion, elle est désormais obligatoire. Elle permet la récupération de mot de passe, de vous tenir informé des interruptions (volontaires ou non) du service ainsi que des mises à jour.
Connectez-vous au moins une fois dans les 6 mois. Pour faire du ménage je supprimerai les comptes qui ne se connectent pas au moins une fois dans les 6 mois suivant la publication de cet article.
Présentation du service
Le service netlibre
fournit des noms de domaines (ou noms de SOUS-domaines si vous préférez) gratuitement. Ainsi, n’importe qui peut se réserver un nom de domaine en « *.netlib.re » ou « *.codelib.re ». L’administration du domaine se fait en quelques clics, sans compétences requises. Ce service est donc utile pour n’importe qui souhaitant un nom de domaine, à titre individuel ou pour une association par exemple.
Il est également possible de mettre à jour dynamiquement une adresse IP d’un enregistrement. Avoir une adresse IP dynamique n’est donc pas un frein à l’utilisation du service ; ce qui est courant pour les connexions à Internet chez les particuliers.
Le code source du service est entièrement libre, que ce soit l’interface, le service d’authentification ou le service dnsmanager
qui lie l’interface web au serveur de noms. Tout est libre, sous licence ISC.
Histoire
Cela fait désormais plus de 9 ans que le site netlibre permet de réserver et de gérer des noms de domaines, gratuitement (le service est même encore plus vieux que ça, mais c’était beaucoup plus confidentiel). Un article sur LinuxFr.org avait été posté, puis 9 ans se sont écoulés non sans peine.
L’objectif initial était de me permettre de gérer des zones simplement et mettre à jour des adresses IP de manière automatique. De mémoire, selon mes recherches de l’époque, rien n’existait en libre pour faire cela ; les outils s’en approchant étaient trop complexes pour la simple gestion d’une zone. J’ai donc développé un outil permettant de visualiser de manière claire une zone et de modifier les entrées comme on pouvait le voir sur des sites professionnels. C’était à la fois directement utile pour moi, et un petit défi technique qui m’intéressait. Comme cela semblait utile pour d’autres personnes, j’ai partagé avec grand enthousiasme mon petit bricolage.
Malgré l’engouement du début, le site a très peu évolué par la suite, par manque de temps et d’énergie. Il remplissait son rôle pour mon usage, donc pendant des années je n’y ai pas touché du tout. Quand j’ai voulu m’y remettre, avec quelques années d’expérience supplémentaires, le code me semblait trop bancal pour m’y investir davantage. Les problèmes rencontrés demandaient une réécriture complète. La dernière section de l’article donne des détails.
netlibre
, c’est désormais 9 ans, 7000+ utilisateurs et 32 000 zones. Qu’on s’entende bien, une bonne partie de ces comptes et de ces zones sont à jeter car des robots sont passés par là. D’ailleurs, le service, avec ses quelques dizaines de milliers de domaines, reste assez modeste. Néanmoins, j’ai été contacté par de nombreux utilisateurs au fil des années. Le site est réellement utilisé, et ça, c’est à la fois une victoire et une vraie surprise.
L’ancienne version
L’ancienne version du site a été modifiée jusqu’à très récemment (quelques mois) pour corriger de gros problèmes, notamment d’infrastructure. Cette version permettait de s’inscrire, demander des zones et les gérer (ajout, suppression, modification) avec une interface simple, comme on peut voir sur OVH ou Gandi. Mais elle n’était pas finie : impossible de se désinscrire ou récupérer son mot de passe, de nombreux enregistrements DNS étaient inaccessibles, etc.
Sauf que voilà, l’architecture logicielle rend la modification assez désagréable. J’ai donc décidé de repartir de 0, avec un meilleur découpage du service et des techno adaptées.
La nouvelle version
Depuis quelques semaines déjà, la nouvelle version est désormais en ligne. Les détails techniques derrière le service (code, langages, infra, sécurité, outils…) feront l’objet d’autres articles. Dans cette section, je vais parler des changements par rapport à l’ancien service.
Le partage de domaines est désormais possible, ce qui est utile pour des associations. Plusieurs personnes pourront donc posséder le même domaine et modifier la zone. Pas d’inquiétude si un membre de l’association n’est pas disponible, vous gardez le contrôle.
Des enregistrements protégés. Certains enregistrements DNS sont désormais en lecture seule pour éviter de supprimer des informations nécessaires au bon fonctionnement des zones. Ainsi, les enregistrements SOA et NS sont maintenant protégés.
De nouveaux enregistrements sont disponibles : SPF, DKIM et DMARC. Comme vous le savez probablement, ce sont des enregistrements qui se traduisent par des entrées textes (« TXT »). Des interfaces dédiées sont maintenant disponibles pour éviter une longue lecture de RFC pour savoir comment formater certaines options. Ces enregistrements sont plutôt complexes, donc aider les utilisateurs (même expérimentés) me semblait nécessaire.
De même, l’enregistrement CAA est désormais disponible. N’hésitez pas à me faire des suggestions pour de futurs enregistrements.
Une adresse email est désormais nécessaire. Les utilisateurs peuvent donc enfin récupérer leur mot de passe perdu. Ils seront également prévenus d’une panne, d’une mise à jour, d’un changement sur le site, etc.
Suppression de compte. Les utilisateurs peuvent désormais supprimer leur compte. Cela supprimera l’ensemble de leurs domaines (et zones) par la même occasion.
Un jeton de mise à jour. Afin de mettre à jour une adresse IP (enregistrement A ou AAAA) pour un serveur avec une IP dynamique, un mécanisme à base de jetons a été implémenté. Ainsi, accéder à une URL telle que https://www.netlib.re/token-update/<jeton>
permet au service netlibre
d’associer l’adresse IP du client à un enregistrement A ou AAAA (pour lequel on a généré ce jeton).
Par exemple, la zone toto.netlib.re
possède un enregistrement A serveur.toto.netlib.re
. L’utilisateur génère un jeton (ressemblant à 65b609fc-4a53-4a58-aae3-9824551a0fa5
) pour cet enregistrement. Enfin, l’utilisateur lance (depuis son serveur) curl https://www.netlib.re/token-update/65b609fc-4a53-4a58-aae3-9824551a0fa5
pour que l’enregistrement serveur.toto.netlib.re
pointe vers son adresse IP.
Je ne pense pas qu’il soit possible de faire plus simple. Un simple wget
ou curl
dans un crontab
suffit pour maintenir à jour l’adresse de son serveur. Ce mécanisme permet probablement beaucoup moins de choses qu’un vrai service DynDNS, mais le cœur du service est là et sans aucune configuration !
Fin du mode « expert » qui permettait d’écrire soi-même le fichier de zone bind9. Entrer soi-même le fichier de zone semblait être une bonne idée, mais cela mène surtout à des problèmes d’infrastructure. Pour bien faire, il aurait fallu que les utilisateurs aient accès aux logs pour apprendre de leurs erreurs et corriger leurs zones, sauf que c’est inutilement complexe. Le mode « expert » devait pallier quelques lacunes de l’interface qui ne gérait qu’une petite partie des enregistrements possibles. Maintenant que l’interface permet de configurer les enregistrements DNS les plus courants, le mode expert perd une grande partie de son intérêt.
Plein de vérifications supplémentaires pour éviter des erreurs (simples et moins simples). Ces vérifications portent sur les adresses IPv4 et IPv6, les adresses email (grammaire décrite dans la RFC 5322), les noms de domaine et les labels (grammaires décrites dans les RFC), ou encore les options SPF, DKIM et DMARC. Cela est utile à tout le monde, y compris à des administrateurs expérimentés mais inattentifs.
Une interface didactique. L’interface se veut agréable à utiliser et rappelle régulièrement les bases aux novices. Par exemple, pas besoin d’aller chercher des informations complémentaires dans des RFC pour manipuler du SPF, DKIM ou DMARC. J’espère apporter à l’avenir ce niveau d’aide à la configuration pour d’autres enregistrements.
Inclusion de netlibre
dans la PSL. Le domaine netlibre
est désormais dans la Public Suffix List, le domaine codelib.re
devrait suivre.
Migration : pourquoi une migration partielle
Comme décrit en début d’article, les comptes sont repris dans la nouvelle version du site. Votre identifiant et votre mot de passe sont toujours valides. De même, les zones sont toujours servies, il n’y a pas eu de coupure de service. En revanche, les zones n’ont pas été traduites dans la nouvelle interface, vous les verrez donc vierges. La raison est simple : le temps et l’énergie. Traduire des zones Bind9 (dans un format non trivial et parfois pleines d’erreurs) est assez long et peu engageant.
Maintenant que le service a été migré, vos domaines sont toujours présents et vous sont toujours réservés. L’ancien contenu des zones peut vous être envoyé pour vous aider à les reconfigurer sur la nouvelle interface, si c’est réellement nécessaire pour vous.
Le futur
Dans cette section je parlerai de propositions d’évolution pour le service, mais rien n’est gravé dans le marbre. J’ai par ailleurs encore du travail à faire sur cette nouvelle version. Tout ce qui est présenté ici viendra après ce qu’il me reste à faire, c’est-à-dire de nombreuses vérifications côté serveur (y compris de la surveillance de l’infra et autres joyeusetés inhérentes au développement de services en ligne) et une bonne pause bien méritée !
Traduire l’application. Contrairement à l’ancienne version, le site est désormais en anglais, pour diverses raisons. J’aimerais donc y apporter une traduction en Français, puis d’autres langues si des gens veulent bien s’y atteler.
Gérer vos zones. netlibre
pourrait permettre de gérer des zones venant d’ailleurs. Par exemple, vous possédez « toto.fr » et vous souhaitez utiliser l’interface de gestion de netlibre
. L’interface a été pensée pour être agréable à utiliser, ce serait dommage de ne pas en profiter pour d’autres domaines.
Déléguer des zones. À l’inverse, il serait également intéressant de permettre la délégation des zones netlibre
. Cela reviendrait à prendre un nom de domaine de chez netlib.re sans utiliser l’interface de gestion.
Ouverture d’une API. La création de comptes, la réservation de noms de domaines et la modification de zones pourraient être automatisées. Cela pourrait être utile par exemple à une association qui souhaiterait automatiser la procédure pour ses membres. Cela était déjà prévu il y a 9 ans, et maintenant que le code est un peu plus sérieux, il est désormais pertinent de se re-poser la question.
De nouveaux enregistrements DNS. Divers enregistrements pourraient être implémentés pour offrir une interface toujours plus complète, y compris pour des utilisateurs avancés. Ainsi, des enregistrements tels que LOC, RP ou HINFO pourraient voir le jour. DNSSec pourrait être de la partie également. Je n’utilise pas personnellement ces fonctionnalités donc je ne me sens pas non plus pressé de les implémenter. Si cela vous tient à cœur, merci de m’en informer, ça pourrait me motiver.
De nouveaux domaines ? Le service propose actuellement des noms de domaines en « .netlib.re » ou « .codelib.re ». Je suis ouvert à la discussion si des gens veulent financer d’autres noms de domaines ou céder les leurs.
Le retour du mode « expert » ? Pour des personnes expérimentées, cela a du sens. En lieu et place de l’écriture d’un réel fichier de zone Bind9, une entrée libre avec un format proche d’un fichier de zone Bind9 serait envisageable. Les enregistrements seraient compris et vérifiés par l’interface puis traduits dans la représentation intermédiaire utilisée par netlibre
. Le meilleur des deux mondes. Pas de fausse joie cependant, comme cela nécessiterait pas mal de code, ce n’est pas au programme pour tout de suite.
Alternatives à netlib.re
J’ai vu de nombreux sites proposant des services autour du DNS. Pour citer quelques exemples :
- eu.org n’est pas pour des novices, et visiblement tout est géré à la main sans interface pour s’inscrire… difficile de faire plus éloigné des objectifs de netlib.re ;
- freedns.afraid.org ne fournit pas le code source et n’est pas très ouvert aux novices, mais à part ça le service semble assez complet ;
- ydns.io ne fournit pas le code source et ne propose pas une gestion d’un domaine qu’ils offrent, seulement un enregistrement A ou AAAA ;
- nsupdate.info les inscriptions sont fermées ;
Ces services sont sans doute très bien. J’envie même certaines de leurs fonctionnalités, que j’implémenterai peut-être plus tard pour netlibre
. Mais il manque systématiquement le code source, ou l’interface n’est pas faite pour un novice, ou le service ne propose pas tout à fait les mêmes fonctionnalités.
Je pense donc sincèrement que netlibre
a sa place au milieu de tous les autres. Il se démarque ne serait-ce que par son code libre et son interface simple. À l’avenir, j’espère qu’il se démarquera par sa complétude.
Bonus : les problèmes survenus ces 9 dernières années (pour les curieux)
De nombreux problèmes sont survenus au fil du temps. Le site a été instable pendant longtemps, pour de multiples raisons :
- une des bibliothèques utilisées gère mal les enregistrements sur plusieurs lignes, menant à des boucles infinies.
Cela a été corrigé il y a quelques mois à peine (!) et seulement en local car je n’ai pas pris le temps d’envoyer mes corrections (!!).
Pour cette raison, il n’était même pas possible d’avoir un enregistrement DKIM via l’interface de
netlibre
; - une maintenance quasi-absente pendant longtemps, par manque de temps et d’énergie ;
- des plantages à répétition à cause de l’infrastructure (bind9 qui redémarre en boucle à cause d’une erreur de configuration en crachant des tonnes de logs qui saturent le disque) ;
- des mises à jour qui cassent tout (à cause d’un déploiement un peu bancal) ;
- une architecture logicielle en mode bricolage avec des lancements de commandes lorsque l’utilisateur appuie sur certains boutons ;
- des lancements de commandes qui ne libèrent pas correctement leur descripteur de fichier (je n’ai pas trouvé pourquoi ni comment corriger) ;
- un manque de vérifications (notamment à cause du mode expert), menant à des erreurs côté Bind9 sans que l’utilisateur en soit informé.
Le plus gros problème a surtout été un manque de vérifications. Les bénéficiaires du service ont régulièrement innové pour détruire leurs zones. Entre la suppression des entrées NS et SOA (merci le mode expert) et les nombreuses valeurs invalides (auxquelles il fallait s’attendre, bien entendu), beaucoup de zones sont invalides sans même que les utilisateurs ne le sachent (autrement qu’en faisant des requêtes DNS).
Et j’en oublie sans doute bien d’autres. Tout ça parce que… netlibre
à la base, c’est un projet perso, vite-fait, pour moi. J’avais espoir qu’il serve à quelques dizaines d’autres personnes, max. Le service netlibre
s’est beaucoup plus développé que prévu et j’ai bon espoir que le service soit désormais un peu plus à la hauteur.
Commentaires : voir le flux Atom ouvrir dans le navigateur
Câble fibre optique, 3 types pour les opérateurs français
Trottinette electrique, vitess : 35km/h à 100 km/h
Free acces provisoire, comment faire ?
Erreur Dash de Freebox, résolution et liste
Google Maps itinéraire vélo, choisir sa piste cyclable
Manette PS5 Édition limitée des 30 ans
Guerre des consoles, qu’est-ce que c’est ?
Comment envoyer un message dans Telegram ?
Quelle est la différence Entre Whatsapp et les tests réguliers ?
Comment faire pour activer Google Now ?
#FrandroidOffreMoi un PC portable puissant
Envie de retrouver les meilleurs articles de Frandroid sur Google News ? Vous pouvez suivre Frandroid sur Google News en un clic.
Test Dell P2725HE : un moniteur avec charge à 90 W, bon allié de la bureautique
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 Fortran-lang.org
- lien nᵒ 2 : Fortran Discourse
- lien nᵒ 3 : Brouillon norme Fortran 2023 (document d'interprétation du comité J3)
- lien nᵒ 4 : Fortran sur Wikipedia
- lien nᵒ 5 : Vera Molnár, aux sources du code
- lien nᵒ 6 : Who Were the Women Who Pioneered Early Computer Art?
- lien nᵒ 7 : History of Computer Art -- Part 2: Plotters
Sommaire
- John Backus est né il y a cent ans
- Sur le front des compilateurs
- Fortran 2028
- Communauté Fortran-lang
- Art et Fortran
- Déconstruction
- La citation de Backus
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 desREAL64
, ouREAL32
ouREAL128
).
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 :
- le site de l’artiste ;
- cette page présentant ses œuvres ;
- une interview de 2022 : « Meet Vera Molnár, the 98-Year-Old Generative Art Pioneer Who Is Still Making Visionary Work in a Paris Nursing Home ».
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 :
- Roach, Rebecca. « J. M. Coetzee’s Aesthetic Automatism ». MFS Modern Fiction Studies 65, nᵒ 2 (2019): 308‑37. https://doi.org/10.1353/mfs.2019.0015.
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.
Commentaires : voir le flux Atom ouvrir dans le navigateur
- Les Numériques
- Critique Doctor Who – JOY-eux Noël (Disney+) : un Christmas Special en manque de magie