01.01 — Prendre le problème à l'envers

01.01 — Prendre le problème à l’envers#

Le constat#

Tous les frameworks de test e2e contemporains ont été construits sur un postulat implicite : il existe une barrière entre ceux qui codent et ceux qui définissent les tests. Cette barrière est tenue pour acquise : méthodologiquement, organisationnellement, parfois contractuellement.

La plupart des frameworks de test ont été conçus dans un monde où la barrière entre « ceux qui codent » et « ceux qui définissent les tests » était réelle et structurelle.

01.02 — ISTQB vs pytest / Jest / Mocha

01.02 — ISTQB vs pytest / Jest / Mocha#

Le constat méthodologique#

Au-delà du pari technique sur la barrière techniques / non-techniques (voir 01-flip-the-problem.md), il y a un second pari : celui du vocabulaire métier.

L’ISTQB et les testeurs professionnels ont construit, depuis des décennies, un vocabulaire précis et éprouvé : cycles de test, campagnes, suites de test, cas de test, pas de test. Une hiérarchie claire, pensée pour organiser, tracer et piloter la qualité logicielle.

01.03 — KISS et complexité ostentatoire

01.03 — KISS et complexité ostentatoire#

La critique reçue#

Le premier retour public reçu par Ocarina, systématique d’après l’auteur :

La première « critique » a souvent été la même : « Tu te vantes de quelque chose qui est très simple. »

Le Holy Book y répond longuement. Trois piliers : le caractère opérant de la simplicité, la distinction simple ≠ peu élaboré, et le refus de toutes les contre-propositions « créatives » reçues.

01.04 — Citations et influences revendiquées

01.04 — Citations et influences revendiquées#

Les références citées dans le Holy Book ne sont pas neutres : elles fixent le cadre théorique d’Ocarina. On les recoupe ici par grands axes, puis on en propose une lecture d’ensemble.

Axe technique — Programmation fonctionnelle, types, langages#

InfluenceOrigineRapport avec Ocarina
Railway Oriented Programming (ROP)Scott Wlaschin (F#), pattern bien connu en programmation fonctionnelleLe cœur du framework. Result[T] = Ok[T] | Fail, short-circuit, builder fluide. Voir ../02-ocarina/03-railway/.
λ-calcul (1930)Alonzo ChurchCité comme l’invention qui rend possible la « formalisation propre » qu’Ocarina poursuit : « Ce que l’on pensait depuis les années 1930, depuis l’invention du λ-calcul, est enfin scalable à l’échelle que l’on aurait toujours voulu lui donner. »
McCulloch & Pitts (1943)Première formalisation du neurone artificielCité comme rappel que les vrais progrès en IA sont anciens et continus, contre la hype récente.
Système de types Python (PEP 695)PEP 695 (Python 3.12+)Pré-requis pour le typage générique paramétrique qui structure Ocarina (TestSuite[Driver], Result[T], etc.). Voir ../03-functional/06-pep-695-generics.md.

Axe culturel — Anti-narcissisme, simplicité, KISS bien compris#

InfluenceCitationPourquoi
Terry Davis (« le programmeur le plus intelligent qui ait jamais existé »)« Un idiot admire la complexité, un génie admire la simplicité, un physicien essaie de simplifier… »Argumentaire anti-complexité ostentatoire ; pierre angulaire du chapitre « Premiers retours ».
Lao-Tseu« Pour avoir de la connaissance, ajouter des choses chaque jour. Pour avoir de la sagesse, enlever des choses chaque jour. »Démarche de retrait : ce qui reste après élimination.
Antoine de Saint-Exupéry« La perfection est atteinte non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. »Reformulation occidentale du précédent. Clos le chapitre « Premiers scénarios ».
Alan Watts« La meilleure façon de résoudre un problème est souvent d’en sortir. »Cité en fin du chapitre « Premiers jutsus » : légitime un design qui refuse certaines fonctionnalités (réactivité, async). Légitime la sortie de l’écosystème des trucs de geeks.
Rainer Maria Rilke« Pour l’instant, vivez les questions… »Clos le chapitre « Premiers pas ». Posture envers la pratique : la maîtrise vient par l’usage.
Marcel Proust« Le style (…) est une question non de technique, mais de vision. »Clos le chapitre « Extensibilité ». Justifie le refus d’imposer un DSL : la vision (POMs + actions) prime sur la technique (un format).

Axe politique — Code, souveraineté, anti-startup-nation#

InfluenceOrigineRapport avec Ocarina
Code is LawLawrence Lessig (1999), repris par Ethereum (2015) comme idéal positifCité comme la posture face à la « gouvernance démocratique du code ». Le code est la donnée brute, auditable. Le projet revendique : « De nouveau, avec l’IA, ce maillon qu’il manquait cruellement, crions-le, aussi fort que l’on criait “HACK THE PLANET” en 99 : CODE IS LAW. »
DHH — I won’t let you pay me for my open sourceDavid Heinemeier Hansson, blog persoCité pour légitimer le refus de contributions non alignées (« Fuck You » fait référence à la célèbre slide de DHH.)
Paul Graham — HatersEssai PG (paulgraham.com/fh.html)Justifie la décision de « ne JAMAIS perdre [son] temps à argumenter lorsque ce n’est pas la peine ».
Yegor Bugayenko — PromptCitation « Retry flaky blocks. »Fond la politique transient_errors + retries linéaires (TestFlow). Lire aussi : Angry Tests.
The DAO hack (2016)Hack de The DAO sur EthereumCité pour pointer que ce sont les bugs (« des satanés bugs, à cause de satanés dévs ») qui ont fait reculer l’idée de Code is Law, d’où l’importance du typage et de la rigueur.
Lee Robinson (ex-Vercel)Décembre 2025 : remplacement de Sanity par des fichiers Markdown + IA chez CursorSoutient le « retour à la donnée brute ».
Cluely (Roy Lee)Cité pour illustrer le bullshit entrepreneurial à éviterContraste explicite avec la philosophie Ocarina.

Axe identitaire / underground#

InfluenceOrigine
Lulzsec — « In the Lulzboat, salute, bitch, and show some respect. »Antisec (YTCracker, 2011)
« We Can Do All What You Can’t Do »YogyaCarderLink
YTCracker — Robots Will Definitely Take Your JobLien SoundCloud, musique de fond du chapitre « Premiers retours »
« HACK THE PLANET » (1999)Slogan emblématique de la scène hackers des années 1990 + Antisec (YTCracker, 2011)
Zone-HSite historique de defaces web
r/unixporn, r/AntiTaffSubreddits

Axe IA / outillage moderne#

InfluenceOrigineRapport avec Ocarina
Claude CodeAnthropicOutillage de référence du projet IA (ocarina-with-ai-example). Cité plusieurs fois comme « pont » remplaçant les DSLs.
IntelliCode (2018)MicrosoftCité comme repère temporel (« on y avait déjà goûté, avant même IntelliCode »).
R., savant fou du siloAnecdote personnelle (un collègue de 2013, plugin Emacs IA privé)Rappel que l’IA générative (« 15 000 lignes à supprimer pour éviter d’en écrire 1000 ») existait avant la hype publique.
Prisma, Vercel, CursorÉcosystème SaaSCités comme cas pratiques de retour à la donnée brute assisté par IA.

Cohérence d’ensemble#

Toutes ces influences pointent vers trois axes convergents :

01.05 — Posture politique du projet

01.05 — Posture politique du projet#

Le Holy Book ne sépare pas la philosophie de la politique du dépôt lui-même. Cinq engagements opérationnels en découlent.

1. Incorruptibilité#

« Transmettre Ocarina, c’est transmettre une voiture dont j’ai fait tout l’entretien moi-même, pour moi-même, donc très précautionneusement. En revanche, elle est et restera transmise telle quelle. C’est ma voiture. »

« J’y ai canalisé toute ma colère, pour y mettre tout mon amour. »