Insolite : un client Bluesky codé en Fortran (et il fonctionne vraiment)
Ni React, ni Electron — Former Lab vient de publier fortransky sur GitHub : un client terminal pour le réseau social Bluesky, intégralement écrit en Fortran. Pour ceux qui auraient des doutes, la description du repo le confirme : "Yes, that Fortran."
Quand on pense Fortran, on a d'ailleurs plutôt pour habitude de penser à des simulations météorologiques, des modèles climatiques, ou encore des trajectoires balistiques sur supercalculateurs. Mais effectivement, on ne pense pas au scroll d'un fil de posts sur un réseau social décentralisé.
Vous vous demandez peut-être pourquoi ? Et je vous répondrai : pourquoi pas ?
Le langage a été créé par IBM en 1957, et avait déjà quelques décennies bien tassées derrière lui avant que le Web n'existe.
Bienvenue en 1957 (connecté en 2026)
fortransky est un TUI (terminal user interface) complet : connexion à Bluesky, lecture du flux, likes, reposts, quote-posts.

La session est persistée dans ~/.fortransky/session.json et restaurée au prochain lancement. Les app passwords sont supportés (la doc insiste : pas le mot de passe principal), les tokens JWT aussi.
Le client propose deux modes de connexion : jetstream, qui passe par le WebSocket Bluesky classique en JSON, et relay-raw, qui se connecte directement au relay AT Protocol en binaire sur WebSocket.
Détail qui mérite (que dis-je, qui impose) le respect : le parsing JSON est fait entièrement à la main en Fortran, avec un scanner de clés à suivi de profondeur. Pas de lib externe, pas de triche. Eh ouais, à l'ancienne, ma gueule.
Trois langages, sept décennies
Fortran seul aurait du mal avec les API web modernes. FormerLab a donc construit un pont : le module iso_c_binding (interface d'interopérabilité avec le C introduite dans Fortran 2003) appelle une couche C/libcurl pour les requêtes HTTP.
Pour décoder le firehose (le flux brut et continu de tous les événements du réseau) en mode relay-raw, c'est une bibliothèque Rust compilée en statique qui prend le relais. Concrètement, elle réceptionne le flux binaire tel qu'il sort du relay Bluesky et le transforme en JSON lisible, que le TUI Fortran consomme ensuite tranquillement.
On est quand même sur un assemblage qui traverse sept décennies de langages, et ça tient ! Fortran pour l'interface et la logique, C comme pont réseau, Rust pour le décodage binaire : quelques mégaoctets de binaire compilé, sans node\_modules de ses morts ni Chromium embarqué.
La roadmap de l'absurde
Le plus beau, c'est que Former Lab ne s'arrête pas là.
La roadmap prévoit un support des images via du dithering Floyd-Steinberg (l'algo du premier Mac, 1984), un décodeur en assembleur x86-64 pour les frames AT Protocol, et un compositeur de feeds avec algorithme maison en Fortran.
Et comme ça ne suffisait pas, le développeur a commencé à décliner le concept : Assemblersky en assembleur, et Cobolsky en Cobol. Sur ce dernier, l'équipe concède tout de même que le projet en Cobol est, de loin, beaucoup plus douloureux. On veut bien le croire.

En attendant le client Les Joies du Code en Brainfuck, vous pouvez justement me suivre de manière plus conventionnelle sur Bluesky ! 😉
À propos de l'auteur
Nicolas Lecointre
Fondateur des Joies du Code, je suis l'actualité et la culture des développeurs depuis 2012. Ancien développeur, je me consacre aujourd'hui entièrement au média.
Offres d'emploi
À lire également
Événement DevOps Live Paris 2026 : le programme des conférences pour les devs et les ops
Les 18 et 19 novembre 2026, l'événement DevOps Live Paris s'installe à la Porte de Versailles, avec un fil conducteur qui résume assez bien nos vies : livrer plus vite...
Articles similaires
Un développeur déploie l'intégralité de la législation espagnole sur GitHub
L'industrie du disque demande à l'Europe de ficher yt-dlp comme un vulgaire site pirate
Avec Arnis, recréez n'importe quel endroit du monde dans Minecraft
Ce projet open source prétend voir à travers vos murs avec un simple signal WiFi
Plus de contenu
Quand je comprends le bug sur lequel je bloquais juste après avoir quitté le bureau
Quand le commercial en fait des tonnes face au client pour vendre mon CV
Quand mon projet va se faire auditer
Quand le stagiaire essaie d'utiliser la console Linux
Quand je dois recompiler tout le projet pour une petite correction
Quand je parcours les thèmes de mon IDE et que je tombe sur un thème clair
Quand j'apprends qu'on va me lancer sur un projet VB
Quand on me demande de faire une livraison en urgence pour déplacer un logo d'un pixel
Quand je comprends le bug sur lequel je bloquais juste après avoir quitté le bureau
Quand le commercial en fait des tonnes face au client pour vendre mon CV
Quand mon projet va se faire auditer

