Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Aujourd’hui — 4 novembre 2025Flux principal

SendMe - Pour partager des fichiers en P2P comme au bon vieux temps

Par : Korben
4 novembre 2025 à 12:31

Vous avez besoin de partager un gros fichier avec un pote au travers d’Internet ? Bon, y’a WeTransfer et ce genre de choses mais ça reste limité en taille de fichier et c’est stocké on ne sait où… Après vous pouvez tenter scp en priant pour qu’il n’ait pas 15 couches de NAT, mais bon galère quoi…

Bienvenue dans sur le nouvel Internet, où le peer-to-peer est mort et enterré sous des tonnes de NAT, de pare-feu et de FAI qui bloquent tout. Du coup, on a tous abandonné le P2P pour le cloud et on upload nos fichiers comme des cons, lentement, parfois en payant, au lieu de balancer la sauce en direct.

Heureusement, y’a SendMe qui vient nous rappeler qu’Internet peut fonctionner autrement. C’est un outil de transfert de fichiers qui connecte deux machines directement, sans serveur intermédiaire. Vous lancez sendme send ~/mes_photos, ça génère un ticket unique, vous envoyez ce ticket à votre destinataire, il tape sendme receive blobQmFoo..., et c’est parti mon kiki pour un transfert direct à l’ancienne, device-to-device.

Pas de compte, pas de limite, que dalle à configurer, juste deux machines qui se parlent directement, comme au bon vieux temps !

Le truc cool, c’est que SendMe utilise Iroh , un protocole P2P qui contourne tous les problèmes de NAT et compagnie puisqu’il fonctionne avec un système de “dial by public key” où chaque endpoint a une clé publique unique de 256 bits. Et ensuite, vous vous connectez en utilisant cette clé plutôt qu’une adresse IP.

Quand vous générez un ticket avec SendMe, ce ticket contient la clé publique de votre machine que le destinataire utilise pour se connecter chez vous. Peu importe que vous soyez derrière un NAT, que votre adresse IP change, ou que vous n’ayez aucune idée de ce qu’est un port forwarding. Iroh gère le NAT hole punching automatiquement, et si vraiment la connexion directe est impossible, il passe par un serveur relai en fallback.

Iroh, c’est du QUIC pur jus, un protocole de transport moderne dont je vous ai déjà parlé, qui apporte pas mal de trucs cools comme du chiffrement, de l’authentification par défaut (TLS 1.3), du multiplexage de streams, pas de head-of-line blocking, et connexion en zéro round-trip. Du coup, une fois connecté, les transferts peuvent saturer une connexion 8 Gbps sans problème !

Les fichiers sont ainsi streamés avec vérification Blake3, donc vous êtes sûr de l’intégrité des données et si le transfert est interrompu, pas de problème, il reprend là où il s’était arrêté. Et comme tout passe en chiffrement de bout en bout via QUIC, personne ne peut voir ce qui transite dans les tutubes de votre Internet.

L’installation sur Unix/Linux/macOS, un petit curl et hop, c’est plié :

curl -fsSL https://iroh.computer/sendme.sh | sh

Sur Windows:

iwr https://www.iroh.computer/sendme.ps1 -useb | iex

Vous vous retrouvez avec un binaire sendme prêt à l’emploi.

Maintenant, si vous préférez une interface graphique plutôt que la ligne de commande, il existe aussi AltSendme , une application desktop cross-platform qui utilise le même protocole Iroh. L’app est développée en Rust avec Tauri pour le backend et React + TypeScript pour le frontend et le gros avantage, c’est qu’elle est compatible avec SendMe CLI. Vous pouvez donc générer un ticket avec l’interface graphique et quelqu’un peut le recevoir en ligne de commande, ou vice-versa.

AltSendme ajoute également une couche d’interface utilisateur sympa tout en gardant toute la puissance technique d’Iroh… Même chiffrement de bout en bout (QUIC + TLS 1.3), même NAT hole punching, même vérification Blake3, mêmes téléchargements résumables. C’est dispo sous Windows, macOS (Intel et Apple Silicon), et Linux (deb et AppImage) et comme d’hab, le projet est open-source sous licence AGPL-3.0.

En février dernier, les dev ont ajouté le support navigateur via WebAssembly, ce qui signifie qu’à terme, vous pourrez faire du P2P directement depuis votre navigateur. Ils bossent aussi sur QUIC Multipath, une extension qui permet d’utiliser plusieurs chemins réseau simultanément pour encore plus de performance et de résilience.

L’idée derrière Iroh, c’est donc de redonner aux internautes le contrôle de leurs réseaux plutôt que de tout centraliser comme des teubés sous crack sur des serveurs Amazon, Google ou Microsoft. Ce protocole permet ainsi aux machines de se parler directement, comme Internet était censé fonctionner à l’origine.

SendMe et AltSendme ne sont que deux applications construites sur Iroh et ce protocole lui-même offre d’autres modules comme iroh-blobs (pour le transfert de fichiers verified) et iroh-gossip (pour la communication en temps réel). Vous pourriez donc construire du streaming vidéo avec priorisation de streams, du networking de jeux, de la communication temps réel, ou n’importe quelle app qui a besoin de connexions directes rapides et sécurisées entre devices, avec ce truc.

Merci à Lorenper pour le partage de cette découverte.

Silverbullet - Le wiki markdown dans lequel vous pouvez tout coder en LUA

Par : Korben
4 novembre 2025 à 10:53

En ce magnifique mardi matin, moi et mon mal de crâne, nous avons découvert un truc assez cool qui est un genre de wiki personnel en markdown, comme Obsidian ou Notion, mais avec un super pouvoir qui est que vous pouvez y écrire du code qui s’exécute directement dans vos notes !! Hé oui, du vrai code ! Pas des plugins, pas des extensions, mais du code Lua intégré dans votre texte comme si vos notes étaient devenues un environnement de dev à part entière.

Ça s’appelle SilverBullet , c’est open source (licence MIT), et franchement, si vous avez déjà bidouillé des configs Neovim ou des scripts Redis, vous allez kiffer car c’est beaucoup plus simple ^^.

Ça ressemble à n’importe quel wiki markdown moderne. Vous écrivez vos notes en local, elles sont stockées en fichiers statiques .md, vous avez des liens bidirectionnels pour connecter vos idées, et l’interface est optimisée avec des raccourcis clavier. C’est évidemment une Progressive Web App qui fonctionne 100% hors ligne ( comme expliqué sur leur site ), et vous gardez le contrôle total sur vos données, puisque tout est auto-hébergé sur votre machine ou votre serveur.

Ainsi, avec le scripting Lua intégré, vous pouvez littéralement taper ${10 + 2} dans une note et le résultat s’affichera en temps réel : 12 (vous l’aviez les matheux ?? ^^). Et si vous voulez une liste de vos 5 dernières pages modifiées qui se met à jour automatiquement, suffit d’écrire un petit bout de Lua, et hop, votre wiki devient “vivant”.

Alors oui, je sais ce que vous allez me dire, Obsidian a Dataview, Logseq a ses requêtes en Datalog…etc donc c’est pareil non ?

Et bien pas vraiment parce que Dataview ça vous demande quand même d’apprendre un DSL (Domain Specific Language) avec une syntaxe bizarroïde et de vous palucher les 50 pages de doc. Logseq quand à lui vous balance du Datalog sans trop d’explications. Alors que SilverBullet, lui, vous laisse écrire du Lua. Et le Lua, c’est simple, c’est dispo partout (Neovim, Redis, les addons World of Warcraft, OSB, etc.), c’est documenté, et c’est fait pour être embarqué dans des applications.

Si vous êtes data scientist, vous connaissez sûrement les Jupyter Notebooks qui sont markdown avec du code Python exécutable dedans. Hé bien SilverBullet fait exactement la même chose, mais pour vos notes personnelles. Vos notes ne sont plus des fichiers inertes, mais deviennent des mini-programmes qui peuvent calculer, générer du contenu, réagir à des événements…etc

Tenez par exemple, vous pouvez définir une fonction custom directement dans une page :

-- Additionner deux nombres
function adder(a, b)
 return a + b
end

Et ensuite l’utiliser n’importe où dans votre wiki avec la syntaxe ${adder(5, 7)}. Vous pouvez créer des commandes personnalisées qui apparaissent aussi dans la palette de commandes (Ctrl+K ou Cmd+K) :

command.define {
 name = "Insérer signature",
 run = function()
 local date = os.date("%Y-%m-%d")
 editor.insertAtCursor("---\nÉcrit le " .. date, false, true)
 end
}

Ou même des slash commands comme dans Notion, mais que vous codez vous-même :

slashCommand.define {
 name = "todo",
 run = function()
 editor.insertAtCursor("- [ ] |^|", false, true)
 end
}

Tapez /todo dans votre éditeur, et boum, ça insère une checkbox markdown avec le curseur au bon endroit. Vous voulez un compteur de mots qui s’affiche à chaque sauvegarde ? Un event listener comme ceci suffit :

event.listen {
 name = "page:save",
 run = function(e)
 local content = editor.getText()
 local word_count = select(2, content:gsub("%S+", ""))
 editor.flashNotification("Nombre de mots : " .. word_count)
 end
}

SilverBullet est développé en TypeScript (frontend avec Preact et CodeMirror 6) et Go (backend) et la doc officielle est disponible ici .

Même si ça fait bientôt 3 ans que c’est en dev, c’est encore un peu jeune et il y a d’ailleurs quelques limitations à connaître. Par exemple, y’a pas de gestion d’upload d’images pour l’instant (vous devez linker des images externes ou les placer manuellement dans le dossier), et comme c’est récent, l’écosystème de plugins n’est pas aussi fourni qu’Obsidian. Mais bon, quand vous pouvez coder vos propres fonctionnalités en Lua directement dans vos notes, la notion de “plugin” devient un peu inutile.

Alors plutôt que de vous expliquer encore pendant 10 paragraphes comment ça fonctionne, voici comment l’installer et tester vous-même.

Téléchargez d’abord le binaire qui correspond à votre OS (macOS, Linux, Windows) en cliquant ici .

Pour macOS et Linux , ouvrez votre terminal et tapez :

chmod +x silverbullet
mkdir mes-notes
./silverbullet mes-notes

Pour Windows, créez un dossier mes-notes, puis lancez dans PowerShell :

.\silverbullet.exe mes-notes

Le serveur démarre alors sur le port 3000 par défaut. Ouvrez votre navigateur sur http://localhost:3000 et vous y êtes. Vous pouvez aussi l’installer en Progressive Web App (PWA) pour l’utiliser comme une vraie application desktop, même hors ligne.

Et si vous préférez Docker, c’est encore plus simple :

docker run -p 3000:3000 -v ~/mes-notes:/space ghcr.io/silverbulletmd/silverbullet

Ça fonctionne sur Intel et ARM (Raspberry Pi, Apple Silicon), donc vous pouvez l’héberger sur à peu près n’importe quoi.

Voilà, donc si vous voulez une note qui génère automatiquement un journal de vos tâches incomplètes, une page d’accueil qui affiche vos stats d’écriture du mois ou encore un système de tags auto-généré avec des filtres dynamiques, tout est possible ! Et tout ça en écrivant du Lua directement dans le navigateur, sans plugins chelous.

Une fois que vous aurez goûté à ça, vous verrez que revenir à des notes statiques sera trèèèès compliqué.

Merci à friendly_0day pour m’avoir fait découvrir SilverBullet !

Hier — 3 novembre 2025Flux principal

Notefox - Prenez des notes directement sur les sites que vous visitez

Par : Korben
3 novembre 2025 à 10:09

Vous êtes en train de lire un truc, vous avez une idée géniale comme d’habitude, et là vous vous dites que vous noterez ça plus tard… Sauf que si vous êtes comme moi, plus tard, c’est jamais. Snif !

Et bien Notefox règle exactement ce problème. Il s’agit d’une extension Firefox qui vous permet d’associer des notes directement sur les pages web / domaines que vous visitez. Un peu comme des post-it virtuels, mais en mieux fichus…

Avec Notefox, vous pouvez donc créer des notes à deux niveaux. Soit une note pour un domaine entier (genre tous vos meilleurs passages de Korben.info, le site préféré de votre informaticien préféré), soit une note pour une page précise (genre ce tuto que vous venez de lire sur mon site et sur lequel vous avez quelques petites réserves à ajouter). Et voilà !! Les notes se sauvegardent alors automatiquement, et quand vous revenez sur le site, hop, elles sont là !

L’extension propose de l’import / export, un système d’étiquettes de couleurs, de la mise en forme (gras, italique, liens… vous connaissez), de la recherche et vous avez bien sûr la possibilité de supprimer des trucs. Et tout est synchronisé entre vos machines. Vous pouvez aussi personnaliser les raccourcis clavier si vous aimez aller vite.

Mon point noir par contre, c’est que le thème par défaut est vraiment pas terrible. Mais avant de fuir, sachez que vous pouvez tout personnaliser dans les options de l’extension. Couleurs, apparence, police…etc y’a tout et après c’est nickel !

L’extension est développée par Saverio Morelli et le code est en open source sur GitHub si vous voulez jeter un œil sous le capot.

Après si vous cherchez des alternatives, il en existe quelques unes sur Firefox comme Notes by Firefox qui est l’extension officielle de Mozilla, mais elle est très minimaliste, et plus mise à jour depuis 2020.

Bref, si vous passez votre temps à perdre vos idées entre deux onglets, ça vaut le coup d’essayer !

À partir d’avant-hierFlux principal

Handy - Un outil de reconnaissance vocale incroyable (et open source)

Par : Korben
28 octobre 2025 à 08:38

Je suis dégoûté parce que je viens de payer un abonnement pour un logiciel qui fait exactement ça, sauf que bah là, Handy , c’est gratuit. L’idée derrière ce logiciel, c’est un outil de speech to text qui fonctionne uniquement en local. Pas d’abonnement, tout est gratuit, et pas de cloud… il faut juste configurer un raccourci clavier. Et ensuite vous parlez et le texte apparaît comme par magie.

A la base, l’idée de cet outil est venue d’un accident. CJ se casse le doigt et il est plâtré pendant six semaines. Du coup il lui est impossible de taper normalement. Il cherche alors des outils de transcription vocale.

Par exemple, Dragon NaturallySpeaking, mais bon, 100 balles, ça fait chier. Google Docs aussi propose ce genre de fonctionnalités, mais uniquement en ligne. Et ça envoie tout dans le cloud, donc bonjour à confidentialité. Quant à Windows Speech Recognition, c’est bugué et assez limité. Bref, toutes les alternatives qu’il a trouvées étaient soit payantes, soit nécessité une connexion permanente vers des serveurs tiers.

Alors CJ a fait ce que font les devs quand un problème les agace. Non pas aller sur Reddit pour dire de la merde random sur moi, mais plutôt coder une solution qui fonctionne super bien !

Et au lieu de la garder pour lui ou de la rendre payante lui il a décidé de tout mettre en open source avec une licence MIT.

Et ce que vous êtes en train de lire précisément maintenant, et bien je suis en train de le dicter. Et ça marche dans les emails, les formulaires web, les éditeurs de texte, peu importe. Et comme je vous le disais, toute la transcription se fait localement sur votre machine. Et tout ça grâce à quoi ? Et bien grâce à Whisper d’OpenAI, dont je vous ai déjà parlé beaucoup de fois.

Handy est codé en Rust pour la performance et la sécurité et surtout cross plateforme, c’est-à-dire qu’il marche ou Linux, macOS et Windows. Et au niveau de la config, il y a quelques options comme le choix de la langue ou le mode d’enregistrement avec le raccourci clavier, soit vous faites du push to talk, soit vous faites une écoute en continu.

Ce truc est génial aussi bien pour l’accessibilité que pour la reconnaissance vocale en elle-même qui est plutôt utile dans la vie de tous les jours. D’ailleurs, il y a plusieurs modèles IA disponibles, comme tous les modèles Whisper, mais aussi un modèle que je ne connaissais pas, qui s’appelle Parakeet et qui franchement fonctionne très bien. C’est celui que j’utilise actuellement.

Testez si ce truc fonctionne bien sur votre vieux PC mais moi en tout cas sur mon Mac de dernière génération c’est encore plus rapide que ce que j’avais avec un modèle Whisper sur mon outil payant.

Voilà, si vous cherchiez un outil de reconnaissance vocale, vous pouvez vous arrêter là parce que vous venez de trouver. Et non pas parce qu’il est parfait, mais parce que comme c’est open source, vous pouvez vous-même le rendre parfait pour vos usages (Le code est sur GitHub ).

Merci à Lilian pour le partage de ce projet absolument génial !

Article dictée intégralement à l’aide de Handy (et corrigé manuellement pour les quelques erreurs de transcription)

LADA - L'IA qui dé-pixelise les aubergines

Par : Korben
27 octobre 2025 à 14:50

Vous connaissez l’Article 175 du Code Pénal japonais ?

Non ? Hé bien croyez le ou non, mais c’est une loi de 1907 qui interdit les représentations explicites d’appareils reproducteurs. Les japonais sont des anges, ils n’ont ni zézette, ni pépette ^^. Du coup, tous les films adultes japonais sont pixelisés depuis plus d’un siècle. 118 ans que ça pixelise à tout va mais LADA vient de sortir et va changer cela ! En fait c’est une IA open source qui retire la pixelisation sur les vidéos.

Mais avant, revenons un peu sur cette loi bizarre. L’Article 175 date de la période Meiji, et il classe comme obscènes les représentations explicites d’organes génitaux. Cette définition légale de l’obscénité, c’est donc du contenu qui excite sexuellement, offense la pudeur, et viole les concepts moraux. Et les sanctions sont assez élevées : 2 ans de prison et 2,5 millions de yens d’amende. Du coup, tous les studios auto-censurent leurs productions à base de pixelisation, floutage, barres de censure et j’en passe. Leur traditionnelle mosaïque, n’est donc pas une coutume, mais un moyen de contourner cette loi centenaire.

C’est pour cela qu’ un dev anonyme a sorti LADA , un outil Python open source qui retire la pixelisation des vidéos. Vous prenez une vidéo JAV censurée (Japanese Adult Video), vous la passez dans LADA, et l’IA détecte alors les zones pixelisées et les restaure. Et tout cela en temps réel si vous avez un bon GPU ou via un export si vous êtes plus patient.

Techniquement, LADA utilise deux types de modèles IA . Le premier pour la détection et le second pour la restauration. Plusieurs déclinaisons des modèles sont dispo si vous voulez plus de précision ou de qualité… Et pour les faire tourner, vous avez besoin d’un GPU Nvidia CUDA, idéalement une RTX 20xx ou plus récent, avec 4 à 6GB de VRAM pour du 1080p. Et pour les fans de 4K, comptez 6 à 8GB de RAM.

Après au niveau des résultats, c’est assez aléatoire. Parfois ce sera bien, parfois ce ne sera pas foufou(ne).

Et sinon comme ça s’installe ? Et bien ce sera via Flatpak pour Linux via Flathub , Docker en CLI si vous aimez les conteneurs, ou en décompressant l’archive .7z standalone sur Windows.

Y’a une interface CLI pour les puristes, une GUI pour les autres puis vous chargez votre vidéo, vous choisissez vos modèles de détection et restauration, vous lancez, et ça traite. Vous pouvez regarder ensuite le résultat (en temps réel si votre GPU suit).

Maintenant, concernant la légalité de la dé-censure, j’imagine que c’est OK si c’est pour une utilisation personnelle hors du Japon. Par contre, si vous êtes au japon, interdiction d’utiliser ce truc évidemment !

Merci à ce coquin de Lorenper pour la découverte 🙏

Neura Hustle Tracker - Surveiller sa productivité en respectant sa vie privée

Par : Korben
27 octobre 2025 à 12:16

Quand je bossais comme consultant y’a genre 10 000 ans, je devais tracker le temps que je passais pour chaque client dans un fichier Excel. Et ça mes amis, c’était super chiant mais nécessaire. Après peut-être que vous de votre côté, vous n’êtes pas tropfliqué mais vous vous imposez l’envoi de messages Slack stratégiques juste avant de vous déconnecter, ou vous faites partir des emails à 23h pour montrer que vous êtes un esclave acharné du capitalisme ?

Bienvenue dans l’ère du grand théâtre de la productivité.

Après quand on est freelance ou qu’on essayer de bien équilibrer son temps de travail, c’est sympa aussi de pouvoir tracker ce qu’on fait en temps réel, pour nous-même, sans forcement que personne d’autre ne regarde.

Hé bien c’est exactement ce que propose Neura Hustle Tracker qui est un tracker de temps open-source, écrit en Rust, qui tourne dans votre terminal et stocke TOUT en local sur votre machine dans un PostgreSQL. Comme ça, aucune donnée ne quitte votre ordinateur.

L’idée, c’est donc de reprendre le pouvoir sur vos propres données de productivité en enregistrant automatiquement les applications que vous utilisez, le temps passé sur chacune, et afficher ça sous la forme de graphiques directement dans votre terminal.

Comme ça vous verrez le temps pharamineux que vous passez sur Korben.info ou Slack au lieu de vraiment bosser. Pour l’installer, ça marche sous Windows, macOS et Linux et ça peut tourner dans un Docker. La doc est ici.

Vous pouvez même le lancer au démarrage de l’ordi, comme ça, le tracking démarre instantanément dès que vous commencez à bosser. Par contre, n’oubliez pas de le couper quand vous voulez faire un truc en dehors des radars hein ^^.

Le projet est encore jeune, mais il évolue rapidement. Adolfo, le développeur principal, a d’ailleurs récemment ajouté des commandes pour naviguer dans l’historique complet (touches h pour history et b pour breakdown) et améliore régulièrement la qualité des visualisations.

Voilà, donc si vous en avez marre que votre productivité soit transformée en KPI pour votre manager, et que vous voulez juste comprendre comment vous passez vraiment votre temps sans avoir à rendre de comptes à personne, Neura Hustle Tracker mérite le coup d’oeil. C’est gratuit, et c’est open-source !

Un grand merci à Lorenper pour le partage !

NTFSPLUS - Un nouveau driver NTFS pour Linux

Par : Korben
21 octobre 2025 à 10:54

Vous vous souvenez quand Paragon Software a sorti son driver NTFS3 pour Linux en 2021 ? Bien sûr que vous ne vous en souvenez pas parce que vous êtes gens normaux. Mais le titi barbus sous Linux étaient très contents !! Enfin un driver NTFS kernel-space performant et maintenu par une boite sérieuse !

Mais le problème c’est qu’un an plus tard, le développeur principal du driver a disparu de la circulation. Silence radio total et depuis les bugs se sont accumulés et il n’y a plus eu de patch. Et aujourd’hui en 2025, les utilisateurs Linux continuent d’utiliser ce vieux ntfs-3g (driver FUSE) préhistorique de 2008.

Heureusement, Namjae Jeon a décidé de tout refaire from scratch !! C’est super ça non ? Alors moi je connaissais pas Namjae, mais c’est lui qui a créé le driver exFAT pour Linux et qui maintient le code du serveur KSMBD dans le kernel (à vos souhaits !). Le gars sait coder proprement, et surtout contrairement à l’autre qui a disparu, il maintient ses projets sur la durée.

Son nouveau driver s’appelle NTFSPLUS et contrairement à ce qu’on pourrait penser, il est reparti de l’ancien driver NTFS read-only qui existe depuis des années dans le kernel Linux parce que ce vieux code est beaucoup plus propre et bien commenté d’après ses propres dires. Comme ça au lieu de partir sur une base Paragon qui ressemble à un champ de mines mal documenté, il a juste repris le code legacy du driver NTFS actuel et et y a ajouté le support en écriture.

Le résultat c’est donc un patch de 34 500 lignes de code qu’il vient de soumettre sur la mailing list du kernel Linux et niveau features, ça envoie du paté de manchot : IOmap, pas de buffer head, des utilitaires user-space publics, support IDMAPPED mount, delayed allocation, et même du journaling prévu dans les prochaines versions. Bref, tout ce que NTFS3 devait faire mais n’a jamais vraiment fait.

Et niveau perfs, c’est solide puisque les benchmarks montrent +5% en single-thread write et carrément +110% en multi-thread write par rapport à NTFS3. Par exemple, le montage d’une partition de 4 To prend moins d’une seconde, l’affichage des listings de fichiers est plus rapide. Bref, techniquement, c’est mieux que NTFS3 sur tous les tableaux !

Maintenant la vraie question c’est : est-ce que les gens vont faire confiance à ce nouveau driver ? Parce que NTFS3, ça avait l’air super aussi au début pour finalement être boudé par la communauté. Les utilisateurs Linux ont été hypés et déçus une fois… Et ça c’est dramatique car on peut tromper 1 linuxiens mille fois…non, c’est pas ça mais vous avez compris…

Bref, nos barbus en culottes courtes ne sont pas pressés je pense, de retenter l’expérience NTFS en écriture car même si NTFSPLUS affiche +110% de perfs sur le papier, ça ne garantit rien sur la fiabilité à long terme et surtout sur la maintenance. Mais bon j’ai confiance en Namjae Jeon qui a un excellent track record avec exFAT et KSMBD ! Donc je garde la foiiiii !

Et puis il y a la question de l’adoption par les distributions car même si NTFSPLUS est intégré dans le kernel Linux principal, ça ne veut pas dire que Debian, Ubuntu ou Fedora vont switcher dessus par défaut. Elles ont encore les doigts un petit peu brûlés avec NTFS3 et vont probablement attendre 2-3 ans pour voir comment ça évolue avant de faire le changement. En attendant, ntfs-3g continuera de vivre sa vie peinarde malgré ses 17 ans d’âge.

En attendant que ce jour de gloire arrive pour NTFS, si vous voulez tester NTFSPLUS, le code est dispo sur Github !

Source

WinBoat - Lancez des applications Windows sous Linux comme si elles étaient natives

Par : Korben
20 octobre 2025 à 11:32

Les Linuxiens ont beau dire que Linux peut TOUT faire, ils gardent presque tous un dual-boot ou une VM Windows planquée quelque part pour lancer Photoshop ou remplir une page web administrative qui plante sous Firefox. C’est ça la définition du déni, les amis ^^.

Alors bien sûr, y’a Wine qui existe depuis plus de 20 ans, mais bon faut bidouiller des préfixes, installer des DLL manquantes, fouiller sur WineHQ et au final, c’est toujours du rafistolage à se taper.

Alors comme le fait Winapps , il y a aussi WinBoat , un outil capable de faire tourner un Windows dans un container Docker. Pas d’émulation, pas de traduction d’API, pas de prière à saint Wine pour que votre app se lance. Ça lance de vraies apps Windows !

Techniquement, WinBoat utilise donc Docker et KVM pour faire tourner Windows dans un container. Electron gère l’interface, FreeRDP se connecte à Windows via le protocole RemoteApp, et vos apps Windows apparaissent comme des fenêtres normales sur votre bureau Linux.

Vous cliquez sur une icône, hop, l’app se lance, et vous oubliez qu’il y a une VM qui tourne en arrière-plan.

L’installation de Windows est également automatisée. Vous lancez WinBoat, ça télécharge et configure tout, tout seul, et après c’est prêt. L’intégration filesystem permet d’accéder vos fichiers Linux depuis les apps Windows et le passthrough USB et smartcard fonctionne, ce qui règle le problème des signatures électroniques pour les démarches administratives dont je parle un peu plus haut.

Photoshop, Illustrator, InDesign, c’est clair que ces apps ne tourneront jamais correctement sous Wine parce qu’Adobe n’a jamais pensé son code pour être portable alors qu’avec WinBoat, elles tournent. Office 365 aussi, pour les boîtes qui imposent Teams et SharePoint. Ah et Affinity Photo pareil ça roule impecc aussi.

WinBoat assume quand même ses limites dès le départ car y’a pas de passthrough GPU pour le moment, donc les apps lourdes en 3D rameront. Pas de support non plus des jeux avec anti-cheat, mais le Steam Deck fait ça mieux de toute façon. Et notez qu’il vous faudra minimum 4 Go de RAM rien que pour WinBoat, parce qu’un Windows léger ça n’existe pas !

Le projet est open source sous licence MIT, gratuit, dispo en AppImage, .deb, .rpm, ou via AUR pour Arch. Docker CLI est obligatoire, mais pas Docker Desktop et FreeRDP 3.x.x avec le support son aussi. KVM aussi doit être activé sur votre système.

Bref, WinBoat c’est comme Winapps, très sympa à tester car ça marche très bien même si les perfs ne seront jamais celles d’un Windows natif. C’est dispo sur GitHub avec toute la doc si ça vous chauffe.

Merci à Lorenper pour le soft.

Si vous disparaissiez demain, qui s'en rendrait compte ?

Par : Korben
17 octobre 2025 à 15:45

Question flippante, hein ?

Vous postez des stories Instagram, vous faites des snaps, des TikToks, en bon nazi vous likez des tweets, vous répondez à des emails pro…etc. Votre vie numérique ronronne comme un chat sous coke mais si demain, tout ça s’arrêtait…? A votre avis, Combien de temps avant que quelqu’un ne toque à votre porte pour vérifier que vous allez bien ?

Un jour ? Deux jours ? Une semaine ?

On est tous hyperconnectés 24/7 mais personne ne surveille vraiment notre silence et vos 500 meilleurs amis de Facebook ne prendront jamais la peine de signaler votre disparition.

C’est de ce constat un peu morbide qu’est né Wellness Ping, un projet open source développé par micr0 et hébergé sur GitHub qui fonctionne comme ceci : Vous vous inscrivez dessus, et vous recevez un email régulier pour confirmer que vous allez bien. Si vous ne répondez pas, vos contacts d’urgence sont alors automatiquement alertés.

C’est ce qu’on appelle un dead man’s switch, le joujou préféré des cons de terroristes qui se font exploser dans les films des années 80. En gros, tant que vous confirmez votre présence, tout va bien mais si le silence se prolonge, l’alarme se déclenche.

Vous pouvez l’auto-héberger vous-même ou utiliser directement le site wellness-p.ing (C’est gratuit). Vous choisissez alors la fréquence des pings, soit quotidien ou hebdomadaire, selon votre niveau de paranoïa ou de solitude et quand vous recevez l’email, vous cliquez sur un lien ou vous répondez “PONG” et c’est tout. Pas de dashboard compliqué, pas de machins de gamification débiles…

Et si vous ne répondez pas parce que vous êtes coincé au chiottes depuis 3 jours, le système vous envoie un rappel. Si vous ne répondez toujours pas, il attend encore un peu. Et si le silence persiste, vos contacts d’urgence reçoivent alors automatiquement une alerte.

C’est clairement fait pour activistes, les journalistes, les chercheurs, et les gens qui vivent seuls. Bref, tous ceux dont la vie pourrait basculer sans que personne ne s’en rende compte immédiatement. Je pense pas exemple à tous ceux qui bossent en remote et qui n’ont pas de collègues pour remarquer leur absence.

Au Japon, il y a un mot pour ça d’ailleurs. Ils disent kodokushi pour “Mort solitaire” car là bas, des milliers de personnes par an meurent seules chez elles, et on ne les découvre que des jours ou des semaines plus tard. C’est d’ailleurs souvent parce que les voisins sentent que ça schlingue ou parce que le courrier s’entasse sous la porte. Je sais, c’est gore mais c’est la triste réalité.

Avec Wellness Ping on inverse donc la logique… Au lieu d’attendre que quelqu’un remarque votre absence, vous créez un système proactif où vous choisissez les contacts, vous qui décidez de la fréquence et comme ça, si un jour vous ne pouvez plus répondre, le filet de sécurité se déploie automatiquement.

Côté technique, le projet est développé en Go donc c’est léger, rapide, et la démo tourne sur un serveur en Suède parce que ce pays a une législation stricte sur les données personnelles.

Bref, c’est Wellness Ping, c’est une idée simple mais qui protège alors pensez-y !

GoBackup - Pour sauvegarder vos bases de données facilement

Par : Korben
15 octobre 2025 à 11:14

Vous savez, ce script bash de backup que vous avez écrit en 2018 et que vous n’osez plus toucher ? Celui avec les 150 lignes de mysqldump + tar + gzip + aws s3 cp qui marche à moitié et que vous relancez manuellement quand il plante ?

Hé bien vous allez pouvoir le foutre à la poubelle parce que maintenant y’a GoBackup !

GoBackup c’est un binaire codé en Go qui remplace tous vos scripts de backup maison d’un coup. MySQL, PostgreSQL, MongoDB, Redis, peu importe. Local, FTP, S3, Google Cloud, Azure, peu importe. Vous installez, vous configurez un fichier YAML, et c’est fini.

Ensuite, vous n’aurez plus jamais besoin de retoucher à tout ce bordel.

Avant GoBackup y’avait backup/backup, une gem Ruby qui faisait exactement ce job avec de la sauvegarde automatique, multi-bases, multi-destinations et c’était bien. Sauf que Ruby c’est lourd et les dépendances Ruby c’est l’enfer. Du coup le projet est mort tout doucement. Heureusement, huacnlee, un dev chinois, en a eu marre alors il a tout réécrit en Go. Zéro dépendance externe et un seul binaire compilé (installable aussi avec Brew pour ceux qui sont sous macOS).

Vous pouvez l’installer comme ceci (vérifiez le script) :

curl -sSL https://gobackup.github.io/install | sh

Ou via homebrew comme ceci :

brew install gobackup

Avec GoBackup, vous définissez vos bases de données, vos fichiers à archiver, vos destinations de stockage, votre planning, tout dans un fichier YAML propre et ensuite le binaire gère tout : Compression, chiffrement, upload, rotation des backups, notifications si ça échoue…etc. Bref, tout ce que vous faisiez à la main avec vos scripts pourris.

Et GoBackup est pas juste un CLI (Interface en ligne de commande). C’est un CLI + un daemon + une Web UI + un scheduler. Comme ça vous lancez “gobackup start” et ça tourne en background.

Le daemon surveille alors le planning défini dans votre config et lance les backups automatiquement. Et l’interface web vous permet de voir l’état des backups, les logs, les erreurs.

Avec GoBackup, vous remplacez littéralement 5 outils en un : votre script bash + cron + un monitoring pourri + un truc pour lire les logs + l’interface d’admin que vous avez jamais eu le temps de faire.

Votre config ressemble à ça :

models:
 mon_app:
 compress:
 type: tgz
 databases:
 mon_mysql:
 type: mysql
 host: localhost
 database: ma_base
 username: user
 password: $MYSQL_PASSWORD
 storages:
 mon_s3:
 type: s3
 bucket: mes-backups
 region: eu-west-1
 access_key_id: $AWS_KEY
 secret_access_key: $AWS_SECRET
 schedule:
 every: 1day
 at: "04:05"

Et c’est tout. Avec ce fichier, GoBackup dump votre base MySQL tous les jours à 4h05, compresse en .tar.gz, chiffre si vous voulez, et upload sur S3. Et si ça échoue vous recevez une notif. Et si ça marche vous avez les logs comme ça, pas besoin de surveiller, ni de débugger à 3h du matin parce que le backup a planté et que vous avez perdu 6 mois de données.

Notez quand même que GoBackup fait du backup classique, et pas du backup incrémental intelligent à la Restic ou à la Borg donc si vous avez 500 GB de données à backup tous les jours vous allez peut-être préférer un outil plus sophistiqué mais pour 90% des cas d’usage sysadmin standard, GoBackup suffira largement.

Votre script bash dégeu a eu une belle vie, il peut maintenant partir à la retraite.

SSHM - Un super gestionnaire pour SSH

Par : Korben
8 octobre 2025 à 16:06

Guillaume, fidèle lecteur de Korben.info depuis un looong moment, s’était bricolé un script bash pour gérer ses connexions SSH. Vous savez, c’est le genre de script qu’on améliore petit à petit, puis qu’on finit par ne plus oser toucher de peur de tout casser. C’est pratique, mais pour reprendre les mots de Guillaume dans le mail qu’il m’a écrit, c’est pas très “élégant”.

Puis il est tombé sur deux articles que j’avais écrits : un sur ssh-list , un sur ggh qui sont deux outils sympas pour gérer les connexions SSH depuis le terminal. Mais de son point de vue, incomplets. Et là, il a eu un déclic : “Et si je combinais les deux, en ajoutant ce qui me manque ?

Et un mois plus tard, SSHM était né . On est loin du script du départ puisqu’il a codé un véritable outil en Go avec Bubble Tea , dans une interface TUI moderne, avec un support complet du ~/.ssh/config, une organisation par tags, un historique des connexions, et même du port forwarding avec mémoire. Bref un truc super abouti.

Puis environ 1 mois après la sortie de la première version, Guillaume a continué à implémenter pas mal de nouveautés : gestion interactive des hôtes SSH, recherche intelligente multi-mots, indicateurs de statut en temps réel, support ProxyJump, directives Include gérées correctement, personnalisation des raccourcis clavier, compatible Linux/macOS/Windows. Le tout dans un binaire unique sans dépendances.

Faut vraiment que vous testiez car c’est c’est chouette. Je trouve que SSHM a dépassé largement ses inspirations. Par exemple, ssh-list organise vos serveurs en groupes alors que SSHM utilise des tags. Ça permet de marquer un serveur “prod” + “web” + “urgent” et du coup c’est beaucoup plus flexible que de ranger ça dans des dossiers statiques.

ggh fait également du session recall. Cela veut dire qu’il se souvient de vos dernières connexions SSH et vous permet de les relancer rapidement. Et bien SSHM fait ça AUSSI, mais en plus il gère toute votre config SSH : Ajout, édition, suppression d’hôtes, directement depuis l’interface TUI. En vrai, Guillaume n’a pas copié-collé les idées de ces outils mais a repensé totalement l’organisation même de la gestion SSH.

Prenez le port forwarding. Combien de fois vous avez perdu vos notes sur vos tunnels SSH ? Hé bien SSHM lui se souvient de vos dernières configs de tunnels locaux, distants, SOCKS…etc. Si vous forwardez toujours le port 3306 de votre base MySQL de dev, SSHM retiendra les paramètres. Ça fait gagner grave de temps car vous n’avez plus à vous rappeler de la syntaxe “ssh -L 3306:localhost:3306 user@serve” à chaque fois. C’est un petit détail qui prouve bien que cet outil a été créé par quelqu’un qui UTILISE vraiment SSH au quotidien, et pas juste pour faire un script vite fait.

L’interface TUI est plutôt fluide, avec des raccourcis clavier configurables et vous pouvez même désactiver ESC si vous êtes un puriste vim qui déteste les touches d’échappement. Les indicateurs de connectivité SSH s’affichent en couleur en temps réel (vous voyez d’un coup d’œil quels serveurs répondent) et il y a une superbe recherche (un filtre en réalité) par nom et par tags, qui supporte plusieurs mots. Et si vous préférez scripter, SSHM fonctionne aussi en CLI pur. Par exemple, “sshm connect prod-web-01” dans un script bash, et ça marchera en gardant l’historique des connexions.

Un autre point technique important pour les admins qui ont des configs SSH complexes : SSHM gère correctement les directives Include . Hé oui, beaucoup d’outils cassent quand vous avez un ~/.ssh/config qui include des fichiers séparés comme ~/ssh/work et ~/ssh/perso. SSHM est capable non seulement de les lire mais aussi de les éditer correctement.

Concernant l’installation c’est ultra-simple. Sur macOS, Homebrew fait le job. Sur Unix/Linux, il suffit d’un script d’une ligne. Enfin, sous Windows, y’a un script PowerShell. Ou alors vous pouvez télécharger direct le binaire depuis les releases GitHub .

Homebrew pour macOS :

brew install Gu1llaum-3/sshm/sshm

Unix/Linux/macOS :

curl -sSL https://raw.githubusercontent.com/Gu1llaum-3/sshm/main/install/unix.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/Gu1llaum-3/sshm/main/install/windows.ps1 | iex

Bref, Guillaume a plutôt bien géré son truc je trouve ! Comme quoi, la barrière entre “bidouille perso” et “outil communautaire reconnu” n’a jamais été aussi basse. Avec un bon framework comme Bubble Tea, une idée claire sur ce qui manque aux outils existants, et un ou deux mois de travail sérieux, et hop, on fait un miracle !

Voilà, donc si vous gérez plusieurs serveurs SSH au quotidien, SSHM vaut vraiment le coup d’œil. Un grand merci à Guillaume pour le partage, c’est trop cool !

Hyperswitch - La plateforme d'orchestration de paiements open source

Par : Korben
6 octobre 2025 à 18:31

Vous connaissez le job de payment engineer ? Ce métier n’existait même pas il y a 3 ans et aujourd’hui, les paiements en ligne sont devenus tellement complexes qu’il existe carrément une nouvelle catégorie de développeurs… Et au centre de cette petite révolution, il y a Hyperswitch , un projet open source qui est en train de servir de base à toute une génération de spécialistes des paiements.

Sorti en 2022, Hyperswitch est une plateforme d’orchestration de paiements écrite en Rust. Le pitch marketing vous dira que c’est le “Linux des paiements”, un outil modulaire, flexible, open source, mais dans les faits, ça permet surtout de connecter votre boutique en ligne à +50 processeurs de paiement différents via une seule API… Stripe, Adyen, PayPal, tout ce que vous voulez.

Le projet est développé par Juspay, une boîte indienne qui gère déjà les paiements de 400 entreprises et traite 175 millions de transactions par jour et quand ils ont décidé d’open-sourcer leur infrastructure, ils ont vraiment tapé dans le mille ! Rien que le dépôt GitHub affiche maintenant plus de 36 000 étoiles, ce qui est assez dingue pour un outil d’infrastructure B2B.

Et cela arrive au bon moment parce que les paiements en ligne sont devenus un cauchemar technique. Entre les différents processeurs, les méthodes de paiement locales (UPI en Inde, WeChat Pay en Chine, Bancontact en Belgique), les réglementations qui changent, les taux d’autorisation qui varient selon les pays, les frais cachés qui s’accumulent et les webhooks qui plantent au pire moment, il faut vraiment être un spécialiste pour s’y retrouver.

C’est un peu ce qui s’est passé avec le terme DevOps il y a 10 ans. J’sais pas si vous vous souvenez, mais au début c’était juste un buzzword. Puis Docker et Kubernetes sont arrivés, la complexité a explosé, et boom, aujourd’hui tout le monde cherche des ingés DevOps. Même délire avec les “data engineers” quand les boîtes ont commencé à avoir des pétaoctets de données à gérer.

Hé bien les paiements suivent la même trajectoire. Vous ne pouvez plus juste intégrer Stripe et oublier le problème. Si vous faites du volume, vous devez optimiser vos coûts (car les frais peuvent varier de 1 à 3% selon le processeur), améliorer vos taux d’autorisation (parfois 5 à 10 points de différence entre processeurs), gérer le retry intelligent quand une carte est refusée, faire de la réconciliation automatique…etc.

Bref, vous avez besoin d’un spécialiste.

Et c’est exactement ce que fait Hyperswitch qui indirectement forme des ingénieurs en paiement, car quand vous passez 6 mois à bidouiller Hyperswitch , à comprendre comment fonctionne le routing intelligent ou la réconciliation automatique, vous devenez au bout d’un moment spécialiste des paiements.

C’est un peu le même coup qu’a fait Red Hat avec Linux, ou HashiCorp avec Terraform. Vous créez une communauté de gens qui connaissent votre outil à fond, et les membres de cette communauté deviennent ensuite vos meilleurs ambassadeurs et des experts d’un domaine qui recrute à tour de bras. Hyperswitch surfe donc sur cette vague en proposant son outil en self hosting pour l’auto-hébergement ou du managé qu’ils gèrent pour vous. Et c’est clairement un business model qui a fait ses preuves.

Bref, si vous êtes développeur et que vous cherchez une niche où vous spécialiser, les paiements c’est visiblement un secteur qui monte. Et comme Hyperswitch est open source, vous pouvez vous former gratuitement en installant leur stack. Au pire, vous aurez appris quelques trucs utiles et au mieux, vous découvrirez un nouveau métier…

Lue - Lisez vos ebooks en audio dans le terminal

Par : Korben
24 septembre 2025 à 15:17

Pour en avoir testé quelques uns, je trouve que les lecteurs de livres audio, c’est jamais très pratique à utiliser. Heureusement, je viens de découvrir Lue , un lecteur d’e󠄳󠅕󠄐󠅤󠅕󠅨󠅤󠅕󠄐󠅕󠅣󠅤󠄐󠅣󠅟󠅥󠅣󠄐󠅓󠅟󠅠󠅩󠅢󠅙󠅗󠅘󠅤󠄐󠅔󠅕󠄐󠄻󠅟󠅢󠅒󠅕󠅞󠄞󠅙󠅞󠅖󠅟books qui lit vos livres à voix haute directement dans le terminal.

Bah oui, moi j’adore mon terminal.. Pas besoin de cliquer, pas d’interface laggy, pas de pub ni d’abonnement premium… On lance juste une commande et hop, la lecture du livre se lance. C’est ça que j’aime, quand la tech me fout la paix et fonctionne bien !

Le truc cool avec Lue, c’est que l’outil utilise Edge TTS de Microsoft par défaut. Oui, Microsoft qui fait un truc bien et gratuit, c’est foufou, mais en gros, ça permet de récupérer les voix ultra réalistes utilisées dans Edge sans payer un centime et sans même avoir Windows. Après si vous êtes un parano de la vie privée, vous pouvez aussi utiliser Kokoro TTS qui tournera à 100% en local sur votre machine.

Pour installer Lue, il vous faut d’abord FFmpeg, espeak et Antiword. Sous Mac c’est donc brew install ffmpeg espeak antiword``, et sous Linux sudo apt install ffmpeg espeak antiword, et sous Windows… bah vous allez sur le site de FFmpeg, espeak et antiword et vous galérez un peu comme d’hab.

Et après, c’est tout simple :

pip install git+https://github.com/superstarryeyes/lue.git

Et voilà, vous êtes prêts à transformer votre terminal en studio d’enregistrement de livres audio. Pour lancer la lecture d’un bouquin, c’est aussi simple que :

lue votre-livre.epub

Perso, j’aime beaucoup la synchronisation mot par mot que permet l’outil… Car pendant que la voix lit, le texte se surligne en temps réel dans le terminal. C’est hypnotisant, on dirait un karaoké pour rats de bibliothèques. Après vous pouvez mettre en pause avec p, ajuster la vitesse de lecture, naviguer dans les phrases avec j et k. C’est comme vim mais pour les oreilles.

Alors je sais que le TTS c’est pas toujours foufou, mais je vous invite à en tester plusieurs pour trouver celle qui vous plait le plus. Moi ma préférée, c’est fr-CH-ArianeNeural qui est hyper propre et assez classe. Vous pouvez lancer une lecture avec la voix comme ceci :

lue --voice "fr-CH-ArianeNeural" livre.epub

Voici la liste complète des voix disponibles que vous pouvez utiliser :

  • fr-BE-CharlineNeural (Female) - Belgique
  • fr-BE-GerardNeural (Male) - Belgique
  • fr-CA-AntoineNeural (Male) - Canada
  • fr-CA-JeanNeural (Male) - Canada
  • fr-CA-SylvieNeural (Female) - Canada
  • fr-FR-DeniseNeural (Female) - France
  • fr-FR-EloiseNeural (Female) - France
  • fr-FR-HenriNeural (Male) - France
  • fr-CH-ArianeNeural (Female) - Suisse
  • fr-CH-FabriceNeural (Male) - Suisse

Et Lue lit vraiment tout : EPUB, PDF, TXT, DOCX, HTML, RTF, et même le Markdown. La lecture PDF c’est particulièrement bien foutue parce qu’il retire automatiquement les numéros de page et les en-têtes qui pourrissent toujours la lecture audio.

Voilà, Lue c’est un coup de cœur car on commence vraiment à s’habituer à des services IA avec des technologies de synthèse vocale qui rivalisent avec des vrais humains, mais c’est souvent caché derrière des APIs payantes et des interfaces merdique. Et là arrive un développeur qui dit “non mais attendez, c’est quoi ce bordel ?? Je vais vous faire un truc simple qui marche”.

Et hop !

La progression de lecture est même sauvegardée automatiquement. Vous fermez votre terminal en plein milieu du chapitre 12, vous relancez le lendemain, et hop, ça reprend pile où vous en étiez. Très cool, hein ?

Bref, si vous êtes du genre à préférer la ligne de commande aux interfaces clinquantes, ou si vous voulez juste écouter vos ebooks sans vous prendre la tête, allez tester Lue dispo sur GitHub .

Source

TernFS - Un système de fichiers distribué capable de gérer des exaoctets

Par : Korben
22 septembre 2025 à 22:14

Et encore un article un peu technique pour finir la journée en beauté ! Si je vous disais que votre serveur Linux pouvait gérer 10 exaoctets de données sans broncher ? Vous ne me croiriez pas je pense… D’ailleurs c’est quoi 10 exaoctets ?? Et bien ça correspond à 10 millions de To. C’est pas mal hein ?

Hé bien c’est exactement ce que permet de gérer TernFS, le système de fichiers qu’XTX Markets vient de libérer après trois ans d’utilisation intensive. XTX Markets est une boîte d’algo-trading qui brasse 250 milliards de dollars par jour et j’avoue que c’est un joli cadeau de presque-Noël qu’elle vient de nous faire…

D’après ce qu’ils expliquent sur leur site , NFS et les autres solutions classiques ne tenaient plus la charge face à leurs 650 pétaoctets de données utilisées leur machine learning. Alors ils ont fait ce que font les vrais geeks, ils ont codé leur propre solution… et après trois ans de production sans perdre “un seul octet”, ils ont tout balancé en en open source sur GitHub .

Le truc génial avec TernFS, c’est qu’il a été pensé pour les fichiers immuables, vous savez, ces gros datasets de plusieurs gigaoctets qu’on écrit une fois et qu’on relit des milliers de fois pour entraîner des modèles. Pas de modification après création, pas de prise de tête avec les locks et la cohérence. C’est simple et efficace.

L’architecture repose sur quatre composants principaux qui bossent ensemble : les metadata shards (256 shards logiques pour gérer les métadonnées), le CDC (Cross-Directory Coordinator) pour les opérations entre répertoires, les block services pour stocker les données, et un registry pour orchestrer tout ce petit monde. Le tout communique en UDP/TCP avec du Reed-Solomon pour l’erasure coding et du CRC32-C pour vérifier l’intégrité. Bref, ça semble être du solide.

Et les chiffres qu’ils donnent sur leur production sont assez dingues. Ils parlent de 500+ pétaoctets répartis sur 30 000 disques durs et 10 000 SSD, dans 3 datacenters différents, avec des débits qui montent à plusieurs téraoctets par seconde en vitesse de pointe. Et leur système gère ça tranquille, avec du multi-région natif et une tolérance aux pannes qui ferait pâlir d’envie n’importe quel admin sys.

Si ça vous chauffe, pour installer TernFS, c’est du classique. Vous clonez le repo, vous lancez ./build.sh alpine ou ./build.sh ubuntu selon votre distrib, et c’est parti. Il y a un module kernel Linux pour gratter les perfs maximales et toucher les étoiles, mais vous pouvez aussi utiliser FUSE si vous préférez rester en userspace. Ils ont même implémenté une API S3 pour ceux qui veulent migrer depuis AWS sans tout réécrire.

git clone https://github.com/XTXMarkets/ternfs
cd ternfs
./build.sh alpine
# Et pour tester en local
./scripts/ternrun

Par contre, attention aux limitations ! Car TernFS n’est pas du tout fait pour les petits fichiers (genre les millions de fichiers de 1KB d’un projet Node.js). C’est vraiment optimisé pour du gros volume du style datasets ML, logs d’applications, archives, ce genre de trucs. Et y’a pas de système de permissions intégré non plus, car ils ont préféré garder ça basique et laisser chacun implémenter sa propre couche de sécurité.

Ils ont mis au point également un système de “block proofs” où chaque bloc de data a une preuve cryptographique qui permet de vérifier que le client n’a pas corrompu les données avant de les écrire. Ça évite qu’un client bugué ou malveillant ne pourrisse tout le filesystem. Ils ont aussi un système de “scrubbing” automatique qui détecte et remplace les secteurs défaillants sur les disques.

Chouette non ?

D’après Bloomberg , XTX Markets investit actuellement 1 milliard d’euros dans de nouveaux datacenters en Finlande. Avec leurs 25 000 GPUs (dont 10 000 A100 et 10 000 V100) et maintenant TernFS en open source, ils montrent surtout qu’ils ne rigolent pas avec l’infrastructure. C’est pas pour rien qu’ils arrivent à traiter un trillion d’enregistrements par jour pour leurs algos de trading.

Leur code est disponible sous double licence à savoir GPLv2+ pour le core et Apache 2.0 avec exception LLVM pour les bibliothèques client et les définitions de protocole. Ça permet d’intégrer TernFS dans à peu près n’importe quel projet, commercial ou non.

Bref, si vous gérez des pétaoctets de données et que ZFS commence à tirer la langue, TernFS vaut vraiment le coup d’œil. Reste à voir si d’autres géants du big data vont l’adopter ou si ça restera un outil de niche pour les vraiment gros volumes, mais avec l’explosion du Machine Learning et des LLMs, je parie qu’on va en entendre parler de plus en plus…

Source

Le Multikernel - La prochaine révolution Linux

Par : Korben
22 septembre 2025 à 12:43

Et si votre serveur Linux était comme un appart en coloc où tout le monde partage la même cuisine, le même salon, les mêmes chiottes ?? Forcément, ça finit toujours mal avec quelqu’un qui monopolise les toilettes pendant que vous avez une urgence en spray, un autre fait crasher la machine à laver avec ses expérimentations douteuses de voyage dans le temps, et au final personne n’est content.

Hé bien figurez-vous qu’un développeur nommé Cong Wang de Multikernel Technologies vient de proposer une solution radicale qui consiste à donner à chaque processus son propre kernel Linux, avec ses propres core CPU, comme des colocataires qui auraient enfin chacun leur studio…

Selon le patch soumis sur la Linux Kernel Mailing List (LKML), cette architecture “multikernel” permettrait de faire tourner plusieurs noyaux Linux indépendants sur la même machine physique. C’est pas vraiment de la virtualisation classique façon VMware ou KVM, mais c’est plutôt comme si vous découpiez votre ordinateur en tranches et que chaque tranche vivait sa vie. Le truc marrant, c’est que Cong Wang n’est pas un petit nouveau qui débarque avec ses idées folles. Le bonhomme a déjà contribué à plus de 1000 patches au noyau Linux et il maintient le sous-système de traffic control . Autant dire qu’il sait de quoi il parle quand il touche au code du noyau.

D’ailleurs cette idée de séparer les kernels rappelle furieusement le projet Barrelfish que Microsoft Research et l’ETH Zurich avaient lancé il y a quinze ans. À l’époque, ils voulaient traiter l’OS comme un système distribué où chaque core CPU aurait son propre kernel qui communique avec les autres par messages. Sauf que voilà, c’était trop tôt. Les processeurs n’avaient pas assez de cores pour qu’on puisse se permettre ce genre de luxe, et puis franchement, qui avait besoin de ça en 2009 ?

Aujourd’hui avec nos CPU à 128 cores et nos problèmes de sécurité qui explosent, l’idée prend soudainement tout son sens.

Selon Phoronix et les patches sur la LKML, l’implémentation de Wang utilise kexec, ce mécanisme qui permet normalement de redémarrer directement dans un nouveau noyau sans repasser par un reboot. Sauf qu’ici, au lieu de remplacer le noyau existant, on en charge plusieurs qui vont cohabiter. Chaque kernel se voit attribuer ses propres cores CPU et ils communiquent entre eux via un système d’interruptions inter-processeurs (IPI) spécialement conçu pour l’occasion. Et dans les 7 patches proposés en RFC, Wang prévoit des mécanismes de surveillance pour gérer tous ces petits mondes parallèles.

Et pendant que Cong Wang bricolait son multikernel dans son coin, les géants du cloud comme Amazon, Microsoft et Google ont développé en parallèle une technologie appelée KHO ( Kexec HandOver ) qui permet de préserver l’état système lors du changement de kernel. En gros, ils veulent pouvoir mettre à jour le noyau Linux de leurs serveurs sans perdre les VMs qui tournent dessus. Sauf que si le multikernel de Wang fonctionne vraiment, ça pourrait rendre leur stack de virtualisation complètement obsolète.

Car pourquoi s’embêter avec des hyperviseurs complexes quand on peut juste donner à chaque workload son propre kernel ?

Le plus drôle dans tout ça, c’est que Wang admet candidement dans son RFC que pour l’instant, ça marche “que sur sa machine de dev avec des paramètres hardcodés”.

Maintenant si cette techno décolle, on pourrait voir des trucs assez dingues. Genre un kernel temps réel qui gère les processus critiques pendant qu’un kernel classique s’occupe du reste. Ou alors des kernels spécialisés pour différents types de workloads : un pour le machine learning, un pour les bases de données, un pour le réseau. Vous pourriez même imaginer des kernels avec différents niveaux de sécurité du genre un kernel ultra-paranoia pour vos données sensibles et un kernel plus relax pour Netflix. Et le plus beau c’est que si un kernel plante, les autres continuent de tourner tranquillement.

C’est comme avoir plusieurs systèmes de secours intégrés directement dans la machine.

Mais attention, on parle quand même d’une RFC, et pas encore d’un truc prêt pour la prod. La communauté des barbus du noyau va probablement passer des mois à débattre de chaque ligne de code, et c’est tant mieux parce que toucher à l’architecture fondamentale de Linux, c’est pas comme patcher un bug dans Firefox. Si ça merde, c’est potentiellement des millions de serveurs qui partent en vrille.

Au final, que ce patch soit accepté ou pas, ça montre surtout que Linux continue d’évoluer de manière radicale pour toujours aller plus loin ! Et si vous l’évolution de ce projet, tout se passe sur la LKML .

Source

❌
❌