Série Scalabilité - Partie 1

Introduction

Je suis un grand fan de l'histoire des sciences. Je peux en parler pendant des heures et je dévore podcasts et vidéos sur le sujet.

Prenez le problème à trois corps : comment trois objets célestes interagissent-ils gravitationnellement, et peut-on prédire précisément leurs trajectoires ? Spoiler : non. Pas de solution analytique générale. Henri Poincaré, en s'y frottant, a découvert ce qu'on appelle aujourd'hui le chaos déterministe, ouvrant une porte vers la théorie du chaos.

Quel rapport avec l'IA ? Imaginez un système composé de trois entités -- un serveur, un engine IA et une interface utilisateur -- qui doivent coopérer pour fonctionner. Un peu comme des astres gravitationnellement liés : chacun a son rôle, chacun dépend des deux autres. Mais gare au moindre déséquilibre.

Ce "système à 3 corps" (serveur, moteur IA, interface) est une métaphore -- et un vrai projet -- pour repenser les architectures d'IA : distribuées, robustes, durables.

On n'est pas obligés d'en appeler à la théorie du chaos... encore que, vous verrez : rendre ce système résilient, c'est tout sauf trivial.


Penser l'IA comme un écosystème

Dans cette série d'articles, je vous présente un prototype d'IA distribuée en Rust, qui va bien au-delà d'un simple appel API vers un serveur vLLM ou Ollama.

Ce système est une brique essentielle de mAIstrow : une plateforme d'IA générative conçue pour redonner le contrôle aux utilisateurs, avec un souci de souveraineté numérique et d'efficacité énergétique. Au cœur de cette approche : Rust, Go, et des architectures distribuées pensées pour durer.


Pourquoi ne pas se contenter d'un serveur d'IA classique ?

Aujourd'hui, beaucoup de projets IA se reposent sur des appels HTTP vers un serveur centralisé. C'est pratique, mais ça a ses limites :

Même des workflows avancés (comme avec n8n) peuvent se casser les dents s'ils ne reposent pas sur une architecture bien distribuée.

La réponse ? Concevoir un système intelligent, résilient et pensé pour la montée en charge. Pas juste un backend un peu solide : un véritable écosystème.


Le système à 3 corps : anatomie d'une architecture Rust

Voici les 3 composants du système, chacun jouant sa partition :

Serveur (écrit en Rust dans le proto, Go en prod)

Engine IA (client Rust)

Interface utilisateur (web minimaliste)

Le flux est simple en apparence : l'utilisateur envoie une requête, le serveur la dispatche à un engine, l'engine traite et streame la réponse.

Facile, non ? Sur le papier, oui. Mais quand un de ces composants tombe ? Quand il faut prioriser des centaines de requêtes ? Quand une tâche est annulée en cours de traitement ?

C'est là qu'il faut penser résilience, scalabilité et sobriété énergétique. Et croyez-moi : ça commence dès la conception des protocoles.


Les fondations de mAIstrow : Rust, sobriété et abstraction

Ce prototype n'est pas un exercice gratuit : il fonde les bases de mAIstrow, une plateforme d'IA souveraine, distribuée et performante. On y fait tourner les moteurs localement, sans API tierce. Moins d'énergie, plus de contrôle.

Rust offre ici un vrai terrain de jeu, grâce à :

On peut ainsi abstraire le code métier des couches de transport et de persistance. L'algorithmique reste claire, le système reste souple.


Une philosophie d'ingénierie holistique

Ce projet est aussi le reflet d'un parcours : de mes débuts sur un ZX81 à 6 ans, à mes contributions à Plan 9, en passant par des libraries trigonométriques pour l'aérospatial en assembleur SPARC V7, ou encore un bug résolu dans 9vx avec Ron Minnich lui-même.

J'ai appris que l'innovation naît de la simplicité et de la bonne abstraction.

Avec DREMML, je veux transmettre cette vision : créer des systèmes qui allient robustesse technique, empathie utilisateur et durabilité. Former, accompagner, construire du long terme.


Et maintenant ?

Le système à 3 corps montre qu'on peut repenser l'IA autrement : comme un écosystème distribué, résilient et souverain. C'est un début. La suite arrive.


À venir dans les prochains épisodes


Glossaire rapide