Strace-ui : quand les devs OCaml rendent le debugging amusant

Pourquoi ça compte pour toi
Si tu débogues des processus complexes, tu sais que strace crache un mur de texte illisible. Strace-ui le rend interactif : filtrage en temps réel, résolution DNS automatique, navigation par file descriptor. C'est utile concrètement, mais surtout : c'est le symptôme d'une tendance plus large. Les interfaces terminales font leur grand retour grâce à Bonsai_term, un framework réactif qui les rend enfin agréables à construire.
Ce qu'il faut retenir
- 1.Strace-ui rend le traçage de syscalls interactif : filtre à la volée, navigation par FD, pages man intégrées
- 2.Bonsai_term : framework OCaml pour TUI réactifs, inspiré d'Elm, avec état et incrémentalité composables
- 3.Phénomène observable : les agents IA (Claude Code, AIDE) préfèrent les applications terminal aux IDEs complets pour la vitesse et la portabilité
Tu galères avec le jargon ?
Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.
Le problème : strace, c'est l'enfer
Strace est l'outil de traçage de syscalls des devs Unix. Il peut tracer les appels système d'un processus, voir ce qu'il fait réellement. Sauf que :
- ▸La sortie est une montagne de texte illisible
- ▸Suivre des sous-processus ou threads ? Galère
- ▸Vouloir filtrer un appel spécifique ? Relance strace avec un nouveau flag à chaque fois
Bref, c'est un outil puissant mais qui rend le débogage dix fois plus laborieux qu'il ne le devrait.
La solution : strace-ui
Ian Henry chez Jane Street a eu marre. Il l'a construit pour lui-même, en 2017, l'idée a mûri pendant des années, et finalement il l'a vraiment fait.
Strace-ui transforme ça en interface terminale interactive :
Les bases :
- ▸Les PIDs ont des IDs courts (1, 2, 3) au lieu des numéros complets → tu parcours tout en 2 secondes au lieu de plisser les yeux
- ▸Les structs sont formatées lisiblement
- ▸Les buffers s'affichent en hexdump au lieu de chaînes incompréhensibles
Les super pouvoirs :
- ▸Filtre dynamique : appuie sur
hpour masquer les syscalls que tu n'aimes pas. Oublie les flags-ecompliqués : tu les rajoutes en temps réel - ▸Navigation par file descriptor :
<ou>te saute au syscall précédent/suivant qui touche le même FD. Ou appuie surFpour filtrer sur un FD particulier - ▸Pages man intégrées : appuie sur
mpour voir la doc dert_sigprocmasksans quitter l'outil - ▸Gestion des sous-processus : numérotés intelligemment au lieu d'afficher les PID bruts
- ▸Résolution DNS : au lieu de voir
14<TCP:[55.55.555.555:12345]>, tu vois14<TCP:[a-real-hostname:12345]>. C'est bête mais ça change tout pour comprendre ce que fait ton application
Le vrai scoop : Bonsai_term
Strace-ui est construit sur Bonsai_term, un framework pour interfaces terminales réactives qu'on vient de passer en production.
Bonsai existe depuis 2019, utilisé pour les applications web chez Jane Street. C'est inspiré d'Elm : composants purement fonctionnels, gestion d'état et incrémentalité composables. Ce qui est dingue, c'est que les mêmes primitives qui optimisent le re-rendu d'une page web peuvent optimiser un traitement métier complexe sur des données en temps réel.
Et la blague interne—que tu aurais dû voir venir—c'est que Bonsai aurait fini par servir pour les applications terminales. Ty Overby l'a construit en pensant web. Mais voilà.
Pourquoi les TUI reviennent
Jose Rodriguez a lancé Bonsai_term comme projet personnel l'été 2024 pour coder un lecteur de manga en terminal. Ça a gagné du terrain. Puis février 2025 arrive : Claude Code débarque et change la donne.
Soudain, les agents IA préfèrent écrire du code dans des applications terminal bien foutues plutôt que dans des IDEs complexes. Pourquoi ? Vitesse. Simplicité. Portabilité. Les terminaux sont partout, intégrés dans tous les éditeurs. C'est là que les devs vivent déjà.
Jane Street a doublé la mise. Ils ont construit AIDE, leur propre agent à la Claude, sur Bonsai_term. AIDE est à la fois une vitrine de Bonsai_term et son partenaire de développement : chaque fonctionnalité qu'ils ajoutent à AIDE crée une bibliothèque de composants réutilisables.
Et là, le truc dingue : les modèles IA sont bizarrement bons pour coder en Bonsai_term, même s'il est obscur et basé sur des fonctionnalités OCaml sur mesure. Ian a sorti un prototype de strace-ui en moins de 10 minutes avec l'aide d'un modèle.
Tests par capture d'écran : fermer la boucle
Une fonctionnalité puissante de Bonsai_term qui rend le développement piloté par IA particulièrement efficace : les tests. L'article le laisse en suspens, mais l'idée est là : les tests UI incluent des rendus réels de ce que tu vois à l'écran. Tu peux vérifier que ton interface s'affiche correctement sans lancer de navigateur ou d'émulateur. C'est idéal pour les modèles : ils voient exactement ce qu'ils doivent produire.
Le mouvement
On assiste en 2026 à une renaissance des applications terminales. Pas parce que le web a échoué, mais parce que les TUI bien conçus l'emportent sur la vitesse et l'intégration. Les agents IA trouvent ça plus facile d'interagir avec. Et les frameworks modernes (Bonsai_term) rendent enfin agréable ce qui était autrefois une torture (curses, la bibliothèque ancienne et glauque).
Strace-ui n'est que le premier exemple.
Et concrètement pour toi ?
Choisis ton profil — la lecture de l'article change selon qui tu es.
Pour toi, ce qui compte c'est que les interfaces texte redeviennent cool auprès des devs et des IA. Teste strace-ui sur ta propre machine pour voir comment du terminal peut être aussi fluide qu'une app web — c'est un indice sur où vont les outils pro demain.
Essayer maintenant
Explorer strace-ui sur GitHub →Source
Approfondir avec un guide
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :
Explorer les thèmes de cet article :