12.09 — Cohérence de l’écosystème#

Six dépôts, plusieurs langages, plusieurs technologies, plusieurs licences, plusieurs plateformes de déploiement. À première vue, hétérogène. À deuxième lecture, rigoureusement cohérent : chaque pièce sert exactement le même pari.

1. Vue d’ensemble : six dépôts, une éthique#

┌────────────────────────────────────────────────────────────────────────┐
│         L'ÉCOSYSTÈME COMME UN TOUT COHÉRENT                            │
└────────────────────────────────────────────────────────────────────────┘

  ┌──────────────┐    Le framework. ROP, types stricts, refus de plugin
  │   ocarina    │    pytest. UNE seule dep d'exécution. Auditable en
  └─────────────┬┘    une après-midi. — PROUVE que la rigueur est légère.
                │
                │
                ▼
  ┌─────────────────┐ La référence d'usage. Adapters projet. Patterns
  │ ocarina-example │ canoniques. Démontre comment on rétrécit la surface
  └─────────────┬───┘ d'API du framework pour son contexte. — PROUVE que
                │     le framework est utilisable « par n'importe qui ».
                │
                ▼
  ┌─────────────────────────┐ Le pari IA. Co-écrit par Claude 99%. CURA
  │ ocarina-with-ai-example │ Healthcheck comme SUT. Findings sourcés jusqu'au PHP.
  └─────────────┬───────────┘ — PROUVE que l'IA + Ocarina peut faire un
                │               vrai travail de testeur senior.
                ▼
       ┌──────────────┐ Le SUT volontairement chaotique. Le terrain.
       │  igoristan   │ — PROUVE qu'on peut tester une appli pathologique
       └────────┬─────┘   sans tricher.
                │
                ▼
       ┌────────────────┐ Le backend de coordination. Vercel Edge,
       │ tests-workers  │ Upstash Redis, anti-précision volontaire.
       └────────┬───────┘ — PROUVE qu'on peut faire de la coordination
                │           distribuée sans plateforme propriétaire.
                │
                ▼
       ┌───────────────────┐ La documentation publique. VitePress + FR/EN/RU
       │ ocarina-holy-book │ + LLM-first (llms.txt, CLAUDE.md, skills).
       └───────────────────┘ — PROUVE qu'on peut écrire de la doc qui sert
                               humain ET IA, sans plateforme tierce.

2. Un dépôt = un type de défi#

DépôtType de défiPari prouvé
ocarinaConstruire un framework petit et profond« La rigueur n’est pas une usine à gaz »
ocarina-exampleDémontrer un usage canonique« Tu peux vraiment écrire des tests rigoureux comme ça »
ocarina-with-ai-exampleFaire collaborer un humain et une IA« L’IA est le pont, pas le DSL »
igoristanBâtir un SUT chaotique« Pas de démo sur un site qui fait vingt lignes d’HTML, une démo sur un vrai bordel »
tests-workersÊtre le substrat par lequel les tests se coordonnent« On peut être stateless côté code »
ocarina-holy-bookDocumenter pour humains et IA« La documentation est avant tout de la donnée brute pour les LLMs »

Si on enlève l’un de ces dépôts, l’écosystème perd un argument.
Les six sont solidaires.

3. Les invariants transverses#

Licence#

DépôtLicence
ocarinaMIT
ocarina-exampleMIT
ocarina-with-ai-exampleMIT
ocarina-holy-bookMIT
igoristanaucune (démo publique)
tests-workersISC (par défaut Vercel scaffold)

MIT partout sauf cas particuliers. La licence est permissive au maximum dans tous les cas.

Signature#

Chaque README termine par :

Built by [@mojo-molotov](https://github.com/mojo-molotov)
Fueled by figatellu and Квас.

Signature décalée et uniforme.
C’est une convention Zone-H / IRC (04-zoneh-irc-efnet.md).

Trois conventions Git#

ConventionManifestation
Conventional Commitscommitlint + commitizen (Igoristan, Holy Book, ai-example)
Pre-commit hooksHusky (JS) ou pre-commit Python (ocarina, ocarina-example)
Pas de .no-verifyAucun bypass des hooks. Si ça plante, on fixe.

Trois conventions CI/CD#

ConventionManifestation
PR-gate rapidelint + typecheck (ou check-coding-style)
E2E manuelworkflow_dispatch uniquement, jamais sur PR
if: always() upload artifactsOn garde toutes les traces

Trois conventions de code#

ConventionManifestation
Strict type checkermypy strict (Python), tsc --build strict (TS)
Linter en select = ["ALL"] ou équivalentruff ALL (Python), eslint --max-warnings 0 (TS)
Pas de # noqa muetToujours justifié, toujours local

4. La cohérence des choix de stack par contexte#

ContexteChoixPourquoi cohérent
Framework PythonPython 3.14+ avec PEP 695Typage strict moderne
Site démoReact 19 + Vike + TailwindStack frontend de référence 2026 ; pas de dette inutile
Backend légerVercel Edge + Upstash RedisStateless, low-cost, low-tech, déployable en 30 secondes
DocumentationVitePress (pas Docusaurus, MkDocs, Sphinx)Vite-based, alignement avec le frontend du SUT, aspects LLM-friendly construits à la main
Génération PDFReportlab + IA pour orchestrerWorkflow agentique

5. La cohérence du ton#

Le ton est uniforme, différent selon le médium mais aligné :

MédiumTon
README ocarinaTechnique sobre, factuel
README ocarina-exampleTechnique avec touches d’humour (« figatellu and Квас »)
README ocarina-with-ai-exampleHonnête et démonstratif (« 99% Claude / 50% intelligence »)
README igoristanMinimaliste (« Welcome to the Empire »)
README tests-workersDocumentation API directe
Holy BookPamphlétaire, identité forte, citations underground
CLAUDE.mdRègles strictes, exemples du passé, vocabulaire ferme

Le Holy Book est le point le plus chaud.
Les README sont froids.

Cette différence est volontaire :

  • README = surface technique. Doit être utilisable avec le moins de bruit possible.
  • Holy Book = surface philosophique. Doit être ressenti.

Comme dans le zine underground : la doc technique froide existe, mais la vraie voix vit dans le manifeste séparé.

6. La cohérence inter-dépôts via les secrets partagés#

Cf. ../00-big-picture/04-repo-relations.md

Un seul secret (IGOR_API_KEYAPI_SECRET) gouverne toutes les interactions OTP entre :

  • ocarina-example (consommateur).
  • tests-workers (serveur).
  • igoristan (UI qui le passe).

Pas trois secrets, pas une matrice de permissions. Un.
C’est le minimum vital.

« Auditable en une après-midi ».

7. La cohérence des bugs#

Failure volontairePourquoi
Math.random() < 0.9 sur useAuthigoristanForcer à retry côté Ocarina
Math.random() < 0.3 sur la page random-errorigoristanForcer à utiliser les transient_errors
Math.random() < 0.3 sur donkey-sausageigoristanForcer match_page
1/5 chance d’Error('lol') sur CorsicamonigoristanForcer à retry côté Ocarina
Timestamp OTP amputé des mstests-workersForcer une coordination fine entre tests parallélisés
Élément .catch-me-if-you-can aléatoireigoristanForcer l’usage des Watcher
Heroku eco-dyno qui s’endort (CURA)externeForcer le warm-up CI
BFCache Chrome restore no-storeexterne (Chrome)Forcer la cross-browser matrix
Password manager Chrome qui catch les inputsexterne (Chrome)Forcer un adapter create_drivers_pool custom

8. La cohérence des refus#

DépôtRefus spécifique
ocarinaasync/await, plugin pytest, DSL textuel, contributions « stylées »
ocarina-exampleMocks (utilise le vrai Igoristan), e2e sur PR (cher, manuel uniquement)
ocarina-with-ai-exampleTests sécurité actifs, hacks, JS-clicks pour bypass, solutions de contournement dégueulasses
igoristanTests unitaires (tout est en e2e externe)
tests-workersCI GitHub (Vercel suffit), framework côté serveur (handlers .ts directs)
ocarina-holy-bookAlgolia (Pagefind statique)

9. La cohérence avec la posture politique#

Cf. ../11-independence/03-explicit-refusals.md et ../01-philosophy/05-political-stance.md

L’auteur refuse :

  • Les contributions « stylées »
  • Les PRs / issues non alignées
  • La « gouvernance démocratique du code »
  • async/await
  • Les vendors
  • Les plateformes propriétaires
  • Le melon-engineering

L’écosystème matérialise ces refus :

  • Pas de bot GitHub qui auto-merge
  • Pas de Discord, pas de Slack
  • Pas de financement Patreon / GitHub Sponsors / OpenCollective / aucune demande de sponsor
  • Pas de SLA, pas de support payant
  • Pas de talks sponsorisés
  • Pas de merchandising

10. La méta-cohérence : le précis lui-même#

Trait du précisAligné avec
Que du Markdown, propulsé par HugoAnti-No-Code, anti-SaaS, anti-Dévs
Multi-fichiers cross-référencésComposition, pas monolithe
Schémas ASCIIPas de tooling propriétaire
Gratuit, pas de paywallCode is Law
Pédagogie sans filtreTout est expliqué, RTFM