Chapitre 05 — L’Igoristan, le SUT public#
Application web volontairement chaotique, hébergée sur GitHub Pages, empire personnel d’Igor. Sert de SUT à
ocarina-exampleet de terrain de jeu pour démontrer le rejeu, les watchers, lesmatch_page.
Plan#
| # | Fichier | Sujet |
|---|---|---|
| 01 | 01-stack.md | Stack React 19 / Vike SSG / Vite 7 / Tailwind 4 / Valibot / wireit / pnpm. |
| 02 | 02-routes.md | Les 10 routes, leur rôle, leur dose de chaos. |
| 03 | 03-use-auth.md | Le faux useAuth, MFA OTP, Math.random() < 0.9. |
| 04 | 04-key-components.md | LoginForm, ChaoticForm, Dropzone, RandomLoader, etc. |
| 05 | 05-wireit.md | Pipelines wireit (prebuild, build, dev, lint, typecheck, ci:format-check). |
| 06 | 06-husky-commitlint.md | Husky + lint-staged + commitlint + commitizen. |
| 07 | 07-ci-deploy.md | CI/CD : ci-pr.yml (3 jobs parallèles) + deploy.yml (push main → Pages). |
Pourquoi un SUT volontairement chaotique#
Le Holy Book mentionne principalement l’Igoristan via le pointeur vers ocarina-example. Mais l’intention est claire : un site qui marche tout le temps ne sert à rien pour démontrer un framework de test résilient.
L’Igoristan a été conçu comme un terrain de jeu pour exercer chaque mécanique d’Ocarina :
| Mécanique d’Ocarina | Page de l’Igoristan correspondante |
|---|---|
transient_errors + rejeu | useAuth (10% d’échec aléatoire), corsicamon (1/5 lève Error('lol')), donkey-sausage-eater-detector (30% d’erreur) |
match_page / when | donkey-sausage-eater-detector (Approved vs Disapproved), madness (Cors vs ThisIsBastia) |
Watcher | chaotic-form (éléments .catch-me-if-you-can) |
| Cache + verrous Redis | useAuth OTP (coordination entre workers) |
| Upload de fichiers | sacred-upload (Dropzone) |
| API key UI-side | corsicamon |
Lectures connexes#
- Les scénarios qui exercent ces pages :
../07-ocarina-example/ - Le backend qui expose les endpoints OTP et Corsicadex :
../06-tests-workers/