Systèmes
Il y a un moment, quand tu ouvres un système, où tu ne regardes plus de code, ni de serveurs, ni d'API, ni de diagrammes qui feignent le calme. Tu regardes un animal. Il respire. Parfois, il tousse. Parfois, il grogne. Parfois, il fait semblant de dormir et puis, au premier pic de trafic, il se redresse comme un cheval effrayé et donne des coups de pied à tout ce qui l'entoure.
La plupart des gens, devant cet animal, se divise en deux tribus : les dompteurs avec le fouet, et les poètes qui le photographient de loin. J'ai toujours pensé qu'il fallait une autre figure : quelqu'un qui descende dans la salle des machines sans romantisme et sans violence. Quelqu'un qui apprenne à distinguer, au milieu du bruit, le son clair des choses qui fonctionnent.
Les systèmes complexes ne échouent pas parce qu'ils sont grands. Ils échouent parce qu'ils deviennent opaques. Quand tu ne sais plus où passe l'air, quand la chaleur n'a pas d'issue, quand un composant se casse et que tu ne le découvres que parce que tout le reste commence à trembler. L'opacité est la maladie la plus commune et la plus sous-estimée. Elle ne fait pas de bruit tout de suite. Elle te laisse travailler. Elle te laisse même livrer. Puis, un jour, elle te présente la note avec les intérêts : des bugs qui ne se répètent pas, des incidents qui semblent des fantômes, des performances qui s'effondrent comme une scène montée à la hâte. Et toi là, à chercher la faute dans un fichier, quand la faute est dans la forme invisible que tu as donnée aux choses.
J'ai une vision simple, et pour cela difficile : un système doit être compréhensible. Pas "parce que c'est beau", pas "parce que c'est élégant", mais parce que c'est le seul moyen pour qu'il dure sans dévorer les personnes qui le maintiennent. Un système incompréhensible est un système qui demande des sacrifices humains. Même s'il ne l'admet pas. Même si le tableau de bord est vert.
Le mot "architecture" a été ruiné par ceux qui le prononcent comme s'il s'agissait d'une couronne. Pour moi, ce n'est pas un titre, c'est un geste. C'est décider où faire passer le poids. C'est choisir quelles choses doivent être proches et lesquelles doivent être éloignées. C'est accepter que chaque raccourci est une signature sur le mur : "ici, nous avons choisi de ne pas comprendre". Parfois, cette signature est nécessaire. Mais elle doit être mise avec conscience, comme on marque une carte avant de traverser un désert.
Je viens d'une époque où la technologie était plus pauvre et, pour cela, plus honnête. Quand programmer signifiait sentir la limite comme on sent le bord d'une table dans le noir. J'ai vite appris que la limite n'est pas un ennemi. C'est un maître sévère. La limite t'oblige à choisir. Et choisir est la partie la plus noble de ce métier.
Puis sont arrivés les temps modernes, avec leur promesse infinie : cloud, microservices, outils qui font tout, frameworks qui te caressent le front et te disent "ne t'inquiète pas". Et en fait, il faut s'inquiéter, mais de la bonne manière : pas avec paranoïa, avec attention. Parce que quand tout est facile, le risque est que rien ne soit compris. Et quand rien n'est compris, tout se casse ensemble.
Mon obsession, si tu veux vraiment l'appeler ainsi, est la lisibilité. Un système doit pouvoir être lu, comme on lit une ville. Pas pour connaître chaque brique, mais pour savoir où tu es, où tu vas, où sont les sorties, où sont les places, où sont les impasses. Une ville lisible ne t'empêche pas de te perdre, mais te permet de te retrouver. Un système lisible fait la même chose : il permet l'erreur sans la transformer en catastrophe.
Et ici entre en jeu une chose que beaucoup appellent "culture", comme si c'était une affiche dans un bureau. Je l'appelle responsabilité. Parce que l'architecture n'est pas seulement technique : c'est une éthique opérationnelle. C'est décider si les personnes qui viendront après toi trouveront un navire avec des outils clairs ou une cale pleine de caisses fermées sans étiquette. C'est choisir si ceux qui sont de garde vivront des nuits gérables ou des nuits de superstition.
Je suis convaincu que la différence entre un bon système et un mauvais se mesure dans un détail presque invisible : le temps que tu mets à comprendre "ce qui se passe" quand quelque chose se produit. Pas quand tout est normal. Quand quelque chose ne va pas. Ce temps est le véritable capital. S'il est court, le système te respecte. S'il est long, le système est déjà en train de te consumer.
Quand on parle d'IA, aujourd'hui, on entend toujours le même bruit. Il y a ceux qui la vendent comme de la magie et ceux qui la craignent comme un fantôme. Je la vois comme une nouvelle espèce d'outil : puissant, ambivalent, capable d'amplifier n'importe quoi. Si tu as un système opaque, l'IA le rend plus opaque, car elle te donne des réponses qui semblent des vérités mais ne sont que des probabilités bien habillées. Si tu as un système compréhensible, l'IA devient un multiplicateur : elle t'aide à explorer, à automatiser, à comprendre avant que le dommage n'arrive.
Pour moi, l'IA n'est pas la fin de l'architecture. C'est le début d'une architecture plus exigeante. Parce qu'elle introduit un composant qui n'est pas déterministe. Un composant qui "réfléchit" sans expliquer. Et alors la question n'est pas "à quel point c'est intelligent", mais "comment je l'intègre dans un système humain". Comment je le mets dans de bonnes cages, non punitives : observabilité, logging, versionnement des prompts, évaluations, ensembles de données de régression, fallback. La discipline nécessaire n'est pas différente de celle requise pour quoi que ce soit de complexe. Sauf qu'à présent, l'erreur peut être plus créative. Et donc plus dangereuse.
J'aime les systèmes qui savent échouer. Pas ceux qui promettent l'immortalité. Ceux qui, quand l'imprévu arrive, ne font pas s'effondrer le monde, mais se plient avec dignité. Cela nécessite un mot qui disparaît souvent des présentations : marge. Marge de temps, marge de ressources, marge d'attention. Un système sans marge est un système qui vit en apnée. Tôt ou tard, il s'évanouit.
Il y a une chose que je garde du cinéma, et qui semble lointaine mais ne l'est pas : le montage. Un film fonctionne quand tu sais quoi montrer et quoi ne pas montrer. Un système fonctionne de la même manière : quoi exposer, quoi cacher, quoi rendre simple, quoi laisser complexe mais confiné. L'architecture, au fond, est un montage de responsabilités. Tu coupes le superflu, tu relis des scènes éloignées avec une transition claire, tu laisses entendre sans tout expliquer, mais tu garantis que celui qui regarde ne se perde pas.
Et puis il y a les échecs, qui ne sont pas une passion décorative, ce sont une grammaire. Aux échecs, tu apprends que l'erreur n'est pas un accident, c'est une conséquence. Que chaque coup crée des possibilités et des dettes. Que la précipitation est presque toujours une manière élégante de perdre. Que la position, souvent, compte plus que le tactisme momentané. Cela, dans les systèmes, est identique. Un raccourci peut sembler une combinaison brillante, mais s'il te laisse avec le roi au centre et des lignes ouvertes, tôt ou tard quelqu'un entre. Et ne te demande pas la permission.
La vision, si je dois l'exprimer par une image, est celle-ci : construire des systèmes comme des flottes. Pas comme des châteaux. Le château est une promesse d'invulnérabilité, et pour la maintenir, tu dois te refermer. La flotte, en revanche, existe pour se déplacer. Elle sait qu'elle changera de cap. Elle sait qu'elle rencontrera des tempêtes. Elle sait qu'elle perdra des pièces. Mais elle est conçue pour continuer. Elle est faite de navires qui peuvent se remplacer, de signaux clairs, de procédures simples quand la mer devient mauvaise. Une flotte n'est pas parfaite. Elle est résiliente.
Et moi, quand je travaille, je pense toujours à ceux qui viendront après. Pas par nostalgie, par respect. Parce que la véritable grandeur d'un système ne réside pas dans le jour où tu le lances. Elle se trouve dans les mille jours suivants. Elle se trouve dans les mains qui le touchent quand tu es déjà ailleurs. Elle se trouve dans la capacité d'accueillir de nouvelles idées sans devenir un monstre. Elle se trouve dans l'élasticité, la lisibilité, la marge. Elle se trouve dans cette qualité rarissime : être fiable sans être rigide.
Ici, sous cette balise, tu trouveras des notes. Certaines sont techniques, avec des noms et des chiffres. D'autres sont presque des récits, car je n'arrive pas à séparer complètement la machine de l'histoire que la machine rend possible. Tu trouveras des principes, des choix, des compromis, de petits trahisons et de grands récupérations. Tu trouveras aussi des doutes, car les meilleurs systèmes naissent de personnes qui n'ont pas besoin de feindre des certitudes.
Si tu es arrivé jusqu'ici, peut-être as-tu aussi le sentiment qu'un système n'est pas "logiciel". C'est un pacte. Entre les personnes et le temps. Entre l'intention et la réalité. Entre ce que tu imagines et ce qui se passe quand personne ne te regarde.
Alors, bienvenue dans la salle des machines. Ici, rien n'est célébré. On écoute. On mesure. On corrige. On repart. Et, quand tout va bien, on entend ce son rare, presque musical : un système qui tient, et ne demande pas de sacrifices. Seulement de l'attention. Seulement du soin. Seulement un peu de clarté humaine, obstinée.
Votre projet est bloqué par une limite technique ?
Réserver 15 minutes