Le brain se prépare à rencontrer le monde
21 mars 2026Chapitre 10 — Le brain se prépare à rencontrer le monde
21 mars 2026
Le template existait. Le GitHub était public. Le laptop avait booté. Mais distribuable et utilisable par quelqu’un d’autre sont deux phrases différentes. Le jour 11 commence avec une question simple : si un ami fork le template ce soir, qu’est-ce qui casse ?
La réponse : presque tout.
Premier constat : trois agents fraîchement forgés — guide, catalogist, pathfinder — existaient sur le desktop mais n’avaient jamais été commités. Le trio d’onboarding, censé accueillir un nouvel utilisateur, était invisible pour quiconque forkait. Commit. Push. Premier fix de la journée, et le plus embarrassant.
Puis l’audit des todos. Le fichier todo/brain.md faisait 700 lignes — des items fermés depuis des jours traînaient au milieu des vrais chantiers. Bruit pur. Un pattern émerge : todo/archive/. Les items terminés y migrent. La todo active passe de 700 à 180 lignes. Dix-sept items vivants. Lisibles.
Les docs. La vitrine sur brain.tetardtek.com affichait “14 agents” en tier free — c’était 17 depuis l’ajout du trio. “75 agents” en full — c’était 81. Les chiffres dans le markdown ne se mettent pas à jour tout seuls. Correction. Et une question qui manquait en haut de la page agents : pourquoi un brain plutôt que Claude seul ?
La réponse tient en trois lignes : Claude repart de zéro à chaque session. Le brain, non. Tes règles, ta stack, tes décisions persistent. Ton contexte survit.
Le vrai travail commence quand on simule un fork. Le laptop — identité Tetardtek-Cortex, machine sandbox — joue le rôle du premier utilisateur. Clone. bash setup.sh. Build.
Crash.
Les fichiers dans brain-ui/public/docs/ étaient des symlinks vers des chemins absolus du desktop : /home/tetardtek/Dev/Brain/docs/agents.md. Sur le laptop, ces chemins n’existent pas. Vite échoue. Le build est mort avant de commencer.
Les symlinks — vestiges d’un mode statique qui n’a plus de raison d’être depuis que brain-engine sert les docs en live. Supprimés. Le build passe.
Dashboard ouvert. Badge “static”. Toutes les pages en 404. L’API fonctionne — curl localhost:7700/docs retourne 15 fichiers, contenu complet. Mais le navigateur ne voit rien.
Première hypothèse : VITE_BRAIN_API est vide, les requêtes partent en relatif. Fix. Rebuild. Toujours 404.
DevTools ouverts. La requête part vers /api/docs, pas /docs. Le coupable : docs.html — une page standalone, pas le SPA React — avec const API = '/api' hardcodé. Ça fonctionne sur le VPS où Apache proxy /api vers brain-engine. En local, sans proxy, c’est un 404 garanti.
“si quelqu’un qui fork doit directement bidouiller on est pas bien”
Le fix : auto-détection. La page essaie d’abord /docs (direct, pour le local), puis /api/docs (proxy, pour le VPS). Le premier qui répond gagne. Zéro configuration. Fonctionne partout.
Puis un problème plus profond. brain-ui/ vivait dans le repo brain principal. Les modifications faites sur le desktop ne se propageaient au template que via sync-template.sh — quand on y pensait. On n’y pensait pas toujours. Le drift était déjà là : le template avait une version, le brain en avait une autre.
Décision : brain-ui devient un satellite autonome. Son propre repo Gitea, gitignored dans le brain, cloné indépendamment. Même pattern que toolkit/, progression/, reviews/. Le brain prod clone le satellite. Le template le garde inline — un fork, un repo, zéro friction.
Deux stratégies, un seul code source. Le drift disparaît.
Dernier tour. La vitrine VPS. Refresh. Les onglets Infra et Secrets affichent les vrais services du VPS — tetardpg, super-oauth, originsdigital — et les vrais noms de clés secrètes. L’instance template exposait l’infrastructure de production.
Les onglets passent en disabled avec un badge “soon”. Plus de fuite. La vitrine est safe à partager.
Fin de journée. Trois environnements testés, trois environnements live.
Desktop (prod) → localhost:7700 → live
Laptop (fork) → localhost:7700 → live
VPS (vitrine) → brain.tetardtek.com → live Le template n’a pas encore quitté le cercle. Mais le cercle a été testé. Chaque friction trouvée — symlinks, chemins hardcodés, API assumptions, drift de code, fuites de données — est une friction éliminée pour le prochain humain qui tapera bash setup.sh.
“le fork doit juste marcher”
Pas encore. Mais bientôt.
Décisions clés
- brain-ui satellite. Un repo autonome pour éliminer le drift entre brain prod et template. Le brain clone, le template inline.
- Auto-détection API.
docs.htmldétecte automatiquement s’il est derrière un proxy ou en local. Zéro config pour l’utilisateur. - setup.sh crée tout.
.env.local, build npm, brain.db — un fork qui faitbash setup.shdoit avoir un brain fonctionnel. Pas de bidouille. - Vitrine sanitisée. Les onglets owner (Infra, Secrets, Workflows) sont désactivés sur le template. La démo montre les capacités sans exposer les données.
- Le test E2E comme méthode. Simuler le parcours utilisateur sur une machine sandbox avant de distribuer. Chaque bug trouvé = une friction en moins.