Skip to content
Regis edited this page Oct 15, 2026 · 7 revisions

Copie publiée automatiquement depuis docs/JOUR-4.md — modifier là-bas, pas ici.

Jour 4 — les cartes disent vrai

Le premier jour avait prouvé que le jeu pouvait exister. Le deuxième, qu'on pouvait le faire grandir sans rien casser. Le troisième, que ses garanties se mesurent au lieu de s'affirmer. Le quatrième, le 14 octobre 2026, part d'une phrase du joueur : « Une carte qui me donne la nuit, alors que ma journée réelle commence, c'est bizarre. »

C'est la question qui reste quand la sécurité est faite : ce que le jeu raconte est-il ce que le jeu fait ? Une carte est une promesse. Quand le texte dit « le vol se fait », un vol doit se faire ; quand il dit « vous dormez sur place », rien ne doit décoller ; quand il dit « la nuit », il doit faire nuit chez celui qui joue.

Cette page est le résumé de la journée, dans l'ordre où elle s'est déroulée. Le récit, chapitres 45 à 50, est dans le Journal ; les règles du monde sont dans Monde ; la veille, dans Jour 3.

Dans l'ordre

  1. « Saisir » n'est pas un vol. Un pilote enrhumé, deux cartes « Saisir », et aucun vol qui part : normal, mais rien ne le disait. Une opportunité est un avion d'occasion, un pilote de passage, une fête, une vieille carte qui vaut un cachet. Le bouton dit maintenant ce qu'on fait (Acheter · 1500 F, Embaucher, Y aller · 15 F, La prendre · +1 cachet), la carte dit qu'elle n'est pas un vol, et le message raconte ce qui s'est passé.
  2. Vingt imprévus, tous « au sol ». Les textes racontaient des vols (la brume en route, la nuit sur le retour) pour des effets qui se jouaient à l'aérodrome, avant un départ. Les vingt sont réécrits : tout se passe à la Croisette. Et « attendre » n'est plus un mot : le choix ferme vraiment la piste le nombre d'heures écrit sur le bouton ; la carte dit jusqu'à quand, et rien ne décolle d'ici là. L'imprévu « nuit » disparaît, remplacé par la citerne en retard.
  3. La nuit est celle du joueur. Le jeu avançait à l'heure du serveur : sa « nuit » pouvait tomber en plein après-midi d'un joueur. Elle court maintenant de 21 h à 6 h, à l'heure de celui qui joue — le navigateur confie son fuseau au serveur, qui le range avec le compte. Une donnée de plus : elle est dans le registre des traitements et la page de confidentialité, mise à jour le jour même.
  4. Le cap. Pour savoir quoi viser, le joueur devait recouper les routes, l'album et la caisse. Une fiche en haut de l'aérodrome le dit en une fois : la prochaine route, ses deux conditions chacune avec son état (✓/✗), les escales qui restent à livrer, les cachets qui manquent. Elle suit les livraisons et parle les deux langues.
  5. L'audit des cartes, en trois PR. Soixante-treize contrats, vingt imprévus, treize opportunités, dix pilotes et leurs trente scènes, huit traits, quatre saisons : relus un à un, puis comparés au code qui les applique. Onze constats, rendus au joueur avant toute correction. Trois décisions à lui, six corrections sans question :
    • Les traits : quatre descriptions disaient autre chose que la simulation, et deux parlaient au féminin de pilotes qui sont des hommes. « Cœur de village » promettait du moral et donnait de la chance ; « Nocturne » rendait la nuit plus sûre que le jour alors que le texte disait « comme ». Réécrites sans genre, fidèles à l'effet, aucun chiffre changé.
    • Les contrats : trois textes promettaient une heure de pendule (« avant midi ») pour des cartes tirées à n'importe quelle heure. Ils parlent désormais en durées. « Semences de printemps » se tirait toute l'année : renommé « Sachets de semences ».
    • L'embauche : le pilote qui arrive est toujours le suivant de la liste, ce qui garde en ordre les histoires qui se citent entre elles. Mais deux cartes avaient un décor (« quelqu'un sur le ponton avec une lanterne ») et pouvaient faire arriver un pilote des plateaux. Elles sont devenues neutres.
  6. Chaque règle a son test, et sa contre-épreuve. Aucune description de trait ne porte de pronom genré ; aucun contrat ne cite « midi » comme une heure ; aucune carte d'embauche ne nomme un village. Chacun de ces tests a été lancé sur l'ancien texte avant d'être gardé : il échoue là, il passe ici.
  7. La chance ne se multiplie plus. Elle s'appliquait à chaque pilote embauché, même au repos : avec deux Porte-bonheur et trois Cœur de village, ×1,53 d'occasions et autant d'imprévus en moins, alors que chaque trait dit « ce pilote ». Choix du joueur : la chance de la compagnie est celle de son pilote le plus chanceux, au plus ×1,15.
  8. Le premier mois raccourci. À une heure de jeu par jour, la vallée est livrée en cinq jours, mais le deuxième avion n'arrivait que vers le jour 36 : trois à quatre semaines à rejouer la même vallée. La Grive d'occasion passe deux fois plus souvent, et le Pic et la Sterne baissent d'un huitième (4 200 → 3 675 F et 5 400 → 4 725 F ; en occasion 3 600 → 3 150 F et 4 400 → 3 850 F). Le Pic arrive vers le jour 28, plus tôt avec deux Grives, et le cap signale la Grive d'occasion à qui n'a qu'un avion.
  9. Les saisons : rien à corriger, une phrase fausse. Les quatre accroches, la table du Monde et le code concordent. Seule la règle écrite mentait : l'été et l'hiver changent deux règles, pas une. La section « saisons » de la Conception, qui décrivait encore l'ébauche abandonnée, dit maintenant le vrai calendrier.
  10. Quatre musiques, une par saison. Même esprit 8 bits (deux carrés et un triangle, aucun fichier audio, coupée par défaut) : la valse du printemps, la ritournelle de l'été, la berceuse des feuilles à l'automne, le chant de la neige à l'hiver. C'est le calendrier réel qui choisit le thème, le même que celui des saisons du jeu.
  11. La ligne qu'on n'avait pas écrite. Les commits sont tous sous le nom de l'auteur, mais 92 descriptions de PR sur 102 se terminaient par une signature d'outil, ajoutée à l'envoi et revenant à chaque écriture. Un contrôle GitHub la retire à l'ouverture de chaque PR, et d'un clic (Actions → Run workflow) nettoie les anciennes, d'abord en simulation. Dix tests, contre-épreuve faite, essayé sur les 92 vraies descriptions.
  12. La sauvegarde hors du NAS, restaurée pour de vrai. Jusqu'ici, la copie quotidienne de la base vivait sur le NAS lui-même : elle ne protégeait pas de la perte du NAS. Une tâche Hyper Backup la copie maintenant chaque jour à 03 h 05 sur un disque USB, chiffrée, et une restauration d'essai a réussi le soir même. Elle a aussi montré un écart, écrit tel quel dans le manifeste : la rotation choisie (Smart Recycle) gardait des versions bien plus de 30 jours, alors que la page de confidentialité en annonce 30. Le joueur l'a corrigée dans l'heure (« à partir des versions les plus anciennes », 3 versions) ; la mesure définitive viendra à la première rotation de nuit.
  13. Trois jours, partout. Le joueur a ramené la durée de conservation de 30 à 3 : trois copies sur le NAS, trois versions sur le disque USB. Un compte effacé disparaît donc des sauvegardes au plus tard 6 jours après (3 sur le NAS, 3 sur le disque), et non plus 30 : le script, la page de confidentialité (français et anglais), le registre et le manifeste le disent. Contrepartie assumée : on ne revient qu'à trois jours en arrière. Le script collé dans la tâche du NAS, recollé le soir même.
  14. La supervision, et l'alarme qu'on n'a pas gardée. Le joueur a ouvert un compte gratuit chez UptimeRobot : deux moniteurs toutes les 5 minutes (la page d'accueil et /v1/version), une page de statut qui ne montre que cela. Pour savoir qu'une sauvegarde n'a pas eu lieu, le script sait maintenant appeler un service de surveillance à sa toute fin ; mais le moniteur prévu chez UptimeRobot s'est révélé payant (c'était une supposition, pas une vérification), et le joueur a fait remarquer que DSM le prévient déjà quand une tâche échoue, et son onduleur quand le courant manque. Il a raison : le seul cas restant, une tâche désactivée par erreur, serait vu au plus tard par le test de restauration trimestriel. Le code est resté, inactif, et la décision est écrite dans le manifeste.

La journée en une phrase

Dix-huit PR fusionnées, de la #90 à la #107, toutes vertes, toutes publiées sous le nom de l'auteur : le jeu a cessé de dire une chose et d'en faire une autre — sur les boutons, sur les imprévus, sur l'heure de la nuit, sur les traits des pilotes, sur les contrats et sur l'embauche — ses chiffres ont été relus avec ses textes (la chance, le premier mois), il dit au joueur où il va, et il a pris les couleurs des quatre saisons jusque dans sa musique, il ne laisse plus d'autre signature que celle de son auteur, et sa base a désormais une copie chiffrée hors du NAS, restaurée une fois, et une supervision de l'extérieur.

Ce qu'on en retient

Un test qui contourne un défaut est pire qu'un test absent (la leçon du jour 3) a un cousin : un texte que personne ne confronte au code finit par mentir. Les cartes avaient été relues pour leur style ; elles n'avaient jamais été relues pour leur vérité. La relecture a trouvé ce qu'aucun test de comportement ne pouvait trouver — parce que le code faisait ce qu'il devait, et que c'était le texte qui promettait autre chose. Le même crible, passé sur les chiffres, a donné le pendant : une mesure que personne ne regarde ne vaut pas mieux qu'une promesse que personne ne confronte au code. Les simulations du deuxième mois existaient depuis longtemps ; c'est en les lisant à côté du texte du joueur (« trois semaines à rejouer la même vallée ») qu'elles ont dit ce qu'elles disaient. Les deux dernières affaires de la soirée le redisent : une règle vérifiée seulement du côté de ce qu'on écrit reste une intention, et une copie jamais restaurée n'est qu'une hypothèse. Une règle se vérifie à l'arrivée ; une sauvegarde, en la restaurant ; et une durée de conservation, en la relisant contre ce qu'on a promis.

Où en est le projet, ce soir

4 régions et 24 escales, 6 avions, 10 pilotes (cinq femmes, cinq hommes), 106 cartes, 4 saisons et 4 musiques ; 257 tests, six parcours de bout en bout dans un vrai navigateur ; quinze migrations de base de données. Les garanties du jour 3 tiennent toujours : A+ sur les trois notes, zéro traqueur, rien d'ouvert chez l'auteur. Une copie chiffrée de la base est sur un disque USB, restaurée une fois (le 14 octobre). Deux moniteurs UptimeRobot surveillent le site de l'extérieur.

À faire ensuite : constater, après la nuit de 03 h 05, que la copie USB ne garde plus que 3 versions ; recevoir une première alerte réelle d'UptimeRobot et un courriel de test de DSM. Sans urgence : la restauration d'essai chaque trimestre, le passage à Ubuntu 26 après le 19 octobre dans une PR dédiée, et l'accessibilité, à mesurer avec les personnes concernées. Le crible des cartes, des saisons, de l'économie et de la chance est fini.

Jouable sur altiplume.com.

La suite : Jour 5.

Clone this wiki locally