otaku@manifesto:~$ cat OTAKU.md
La structure est une décision,
pas un accident.
OTAKU est une philosophie pour le logiciel orienté objet. Cinq contraintes décident ce qui a le droit d’exister dans le code ; trois formes décident comment les dépôts s’organisent. Rien ici n’appartient à un langage — seulement au paradigme.
Pourquoi cela existe
Les frameworks sont excellents jusqu’au jour où il faut remplacer une pièce — et ils exigent alors de toutes les remplacer. L’échappatoire habituelle est la réécriture, qui remplace un jeu de contraintes accidentelles par un autre. OTAKU parie l’inverse : une architecture faite de pièces assez petites pour être comprises d’un coup, et remplaçables sans permission.
Le nom est un acronyme, et aussi un tempérament : une obsession technique de la maîtrise, de la discipline et de la pureté structurelle — la volonté de supprimer une abstraction astucieuse parce qu’elle ne tient pas en une phrase.
Comment lire ce livre
Le manifeste
Cinq piliers, quarante règles mesurables, une métrique principale.
02Les trois formes
Atome, assemblage, application. Chaque dépôt est exactement l’une d’elles.
03Le guide
Comment l’appliquer, avec du code en PHP, C#, Java, C++ et TypeScript.
Ce qu’il refuse
- Des frameworks qui fuient dans la couche domaine.
- Des dépôts qui ne se classent ni en atome, ni en assemblage, ni en application.
- Des abstractions créées avant le deuxième cas d’usage réel.
- Des méthodes au-delà d’une complexité cyclomatique de 5.
- Des interfaces publiées sans contrat.
Écrivez du code qui n’aura jamais besoin d’« être réparé », parce qu’il a été construit sous contrainte absolue.
Portée
OTAKU est né dans PHPRise, mais PHP n’est que le point de départ. Les règles mesurent l’indentation, la complexité, les dépendances, les contrats et le nommage — des concepts que tout langage orienté objet exprime. Le guide couvre PHP, C#, Java, C++ et TypeScript.
Si votre langage a des classes, des interfaces, des exceptions et un gestionnaire de paquets, la philosophie s’applique. Sinon, ce n’est pas le bon outil — et c’est une réponse légitime.
Ce chapitre est pour l’instant disponible uniquement en anglais.