L'Architecte qui ne posait aucune brique...

…et comment l’IA l’a fait maçon

Mon profil psychologique est INTJ1 aussi appelé Architecte, et j’ai passé une bonne partie de ma vie à prouver que cette étiquette était adaptée…de la pire des manières.

Des années à avoir une multitude d’idées

  • sur des systèmes d’analyse (Blockchain, Productivité)
  • sur des méthodes de développement personnel (Mémoire, Discipline, Apprentissage)
  • des algorithmes (routage, metacompression, chiffrement)
  • des outils (conversion de formats, gestion de projet, administration système)

Des années à produire des centaines d’idées à la chaîne pour rien ou pire pour en voir certaines réalisées par d’autres des années plus tard.

Metacompression : comprimer la structure avant les octets

Et si le vrai gain n’était pas au niveau des octets ?

J’ai toujours été fasciné par les algorithmes de compression, j’avais 15 ans quand j’ai “inventé” le Run Length Encoding (avant d’apprendre qu’il avait été découvert plus de 20 ans avant ma naissance).
Je me suis extasié sur la simplicité “visuelle” du codage de Huffman, de l’astuce de Lempel-Ziv qui construit dynamiquement son dictionnaire.

Ces algorithmes sont puissants, et ce n’est pas un hasard s’ils sont sans cesse améliorés et encore combinés pour produire de nouveaux algorithmes encore plus puissants : Brotli, zstd.

Suivre la méthode, rater le projet

Vos plannings dérapent, vos deadlines explosent et le périmètre se réduit.

Est-ce la faute de votre méthode de gestion de projet ?

Non, bien sûr. Chaque méthode a ses forces et son utilité et offre un cadre plus efficace que le développement au fil de l’eau et au doigt mouillé.

Mais toute méthode a deux effets pervers :

La méthode donne souvent un faux sentiment de sécurité

La méthode rassure parce qu’elle rend visible ce qui est facile à mesurer, mais des KPI au vert peuvent masquer un projet qui va dans le mur :

Less is More : Pourquoi j'ai remplacé Git par Jujutsu.

Introduction

En informatique, l’aphorisme “Less is More” revient souvent. Avec Jujutsu (jj), il prend une forme très concrète : un modèle mental plus simple peut réduire la friction quotidienne dans la gestion de versions.

Dans cet article1, je ne vais pas chercher à “prouver” que jj est supérieur à git. Je vais montrer, sur un cas concret, pourquoi certaines opérations courantes : interrompre un travail, réorganiser ses modifications, corriger un commit non atomique ou résoudre un conflit, deviennent plus naturelles avec jj.

Pourquoi je code en Go de cette manière en 2026

Pourquoi écrire encore sur le layout et les pratiques Go en 2026 ?

En 2018, Mat Ryer écrivait un article de référence How I write HTTP services after 8 years qu’il a mis à jour quelques années plus tard : “How I write HTTP services in Go after 13 years”.

En 2019, je présentais déjà ma manière de coder en Go dans plusieurs présentations d’introduction au langage.

Ce texte est une version révisée de cette présentation, nourrie par mon expérience et mes contraintes en 2026.

Et si votre OOM n’était pas qu’un problème de mémoire ?

Parfois, une investigation raconte une autre histoire que celle que vous attendez.

C’est ce qui m’est arrivé récemment en cherchant pourquoi un pod finissait en OOMKilled deux à trois fois par jour.

Une rapide observation de la mémoire du pod incriminé ne montre pas la courbe croissante typique d’un memory leak. Je manque de données juste avant le OOM (parce que c’est toujours quand votre système de métriques est en train de migrer que ce type d’incident se produit) mais avec les données de la journée, la cause semble se trouver ailleurs.

Et si votre dette technique n’était pas un problème technique ?

Alors que les méthodes se font toujours plus nombreuses, les livres toujours plus prescriptifs, les outils toujours plus performants, la démarche toujours plus industrielle, l’industrie du logiciel continue à produire autant de dette, de retard et de bugs qu’auparavant.
C’est un secret de polichinelle et pourtant rien ne change. Pourquoi ?
Peut-être est-il temps de chercher la cause là où trop peu regardent.

Laissez-moi vous raconter une histoire.

Imaginez, vous êtes embauché en tant que chef de projet informatique, dans une startup où le développement est complètement stoppé :

Le supplément d'Art du programmeur

Face à une IA capable de compiler nos intentions en programmes fonctionnels, je m’interroge : notre métier se réduit-il à l’assemblage de syntaxe, ou cache-t-il une dimension qui échappe par nature au calcul ?

J’avais 17 ans quand j’ai enfin mis la main sur “The Art of Computer Programming” de Donald Knuth.
À l’époque, en 1989, les livres de référence sur la programmation étaient rares et les 4 volumes de TAOCP faisaient figure de “bible”; il reste encore pour moi un ouvrage de référence que chaque informaticien devrait lire.

De retour sur ce blog

De retour sur ce blog

Mieux vaut tard que jamais.

Ça fait 4 ans maintenant que je n’ai rien écrit sur ce blog. Une Pandémie, un déménagement en Thailande, une modification de mon infrastructure d’hébergement sont passés par là entre temps, et sans m’en rendre compte, j’ai perdu l’habitude de partager ici. Mais le temps passant, l’envie s’est faite de plus en plus forte, le temps de réactiver ma chaine de CI/CD, je suis à nouveau prêt a commiter mes articles et mes idées vers ce blog. Mieux vaut tard que jamais…

Apprendre Rust en 2022

Apprendre Rust en 2022

Si vous suivez mes blogs/podcasts vous savez déjà que je suis un fan du langage Go, aprés avoir été pendant plusieurs années un utilisateur passionné de Perl.

Ce que vous ignorez peut-être c’est que j’ai utilisé ou continue à utiliser de nombreux autres langages, et que je continue régulièrement à apprendre de nouveaux langages.

Ces 10 dernières années j’ai un peu changé ma façon de faire : pour m’immerger complètement dans le langage que j’apprend, j’essaie pendant un an de réaliser tous mes nouveaux projets dans ce langage. Ce n’est pas forcément le meilleur choix d’un point de vue pratique (un outil ligne de commande en Javascript peut être un peu lourd à déployer par exemple) mais ça me permet de m’impliquer à fond dans l’apprentissage d’un langage.