110 lines
6.8 KiB
Markdown
110 lines
6.8 KiB
Markdown
# Acte — Console de l'accueil : la graduation d'Yvv au survol
|
|
Classe : déploie
|
|
Projet : librodrome Date : 2026-11-03
|
|
**État : EXÉCUTÉ (03/11, 06h11-06h16), par orch (session dev-63) sous mandat « déploie » (inscrit du 03/11 au 08/11), après la relecture neuve « 64e714c : ok »**
|
|
|
|
## Intention
|
|
Mettre en ligne la console de l'accueil selon la consigne d'Yvv du 03/11 : au survol,
|
|
numérique monte à 3/4, économique à 1/2, citoyenne à 2/3. Chaque curseur reste à son cran,
|
|
et un nouveau survol rejoue sa montée. Le panneau suit le même geste. Avant le premier geste,
|
|
l'animation lente du 29/09 continue, et l'axe en avant monte à son cran, jamais au-dessus.
|
|
Les consignes sont écrites mot pour mot dans `docs/consignes-yvv.md`. La première relecture
|
|
(« 230f79a : à reprendre ») a été traitée par `03f763a` et `64e714c`.
|
|
|
|
## Avant — prémisses vivantes
|
|
|
|
Sur le poste, dans `/home/yvv/Documents/PROD/DEV/librodrome`. L'attendu, relevé le 03/11 à
|
|
05h57, est en commentaire :
|
|
|
|
```bash
|
|
git fetch -q origin && git rev-parse origin/main # P1 : 4057f50bd37fa8a3ba3ea9dc6c9c38d51d4f6434
|
|
# sinon ARRÊT : quelqu'un a poussé
|
|
git merge-base --is-ancestor origin/main 64e714c1dde9897e46d36caf6cab737799081c96; echo $? # P2 : 0
|
|
git diff --name-only origin/main 64e714c1dde9897e46d36caf6cab737799081c96 \
|
|
| grep -E '(^|/)data/|\.env|\.db$|\.enc$|\.key$|\.pem$|id_rsa|id_ed25519|IDENTIFIANTS'; echo $? # P3 : 1 (rien)
|
|
curl -4 -s 'https://ci.open.us.org/api/repos/1/pipelines?perPage=3' \
|
|
| python3 -I -c 'import sys,json; [print(p["number"], p["status"]) for p in json.load(sys.stdin)]' # P4 : « 59 success » en tête, rien en cours
|
|
curl -4 -s -o /dev/null -w '%{http_code}\n' https://librodrome.org/api/health # P5 : 200
|
|
curl -4 -s https://librodrome.org/api/messages \
|
|
| python3 -I -c 'import sys,json; print(len(json.load(sys.stdin)))' # P6 : 1
|
|
ssh -o BatchMode=yes yvv@161.97.174.60 'docker diff lpk-librodrome-main-app-1 | grep -E " /app/(site|content)(/|$)"; echo $?; docker exec lpk-librodrome-main-app-1 sha256sum /app/data/messages.yml' </dev/null
|
|
# P7 : « 1 » (aucune édition /admin, que ce déploiement effacerait)
|
|
# puis c8afc7de728fb9d57f6565a36b40f16fe7beb438768f8f9127183bea9569a6b8 /app/data/messages.yml
|
|
```
|
|
|
|
Une édition /admin trouvée en P7 arrête l'acte : elle doit d'abord passer dans git.
|
|
|
|
Relecture : `~/harness/etat/relectures.json` doit porter « 64e714c : ok », d'un relecteur neuf.
|
|
|
|
Contenu sortant (`git log origin/main..64e714c --stat`, relevé le 03/11 à 05h57) :
|
|
```
|
|
64e714c console : l'animation monte l'axe en avant à son cran
|
|
03f763a console : graduation d'Yvv, la montée se rejoue à chaque survol
|
|
230f79a console : au survol, le curseur monte sans faire descendre les autres
|
|
89d5f83 actes : persistance des messages — preuve au déploiement suivant
|
|
actes/2026-10-26-persistance-messages.md | 14 ++-
|
|
app/components/home/HomeConsole.vue | 166 ++++++++++++++++++++++++-----
|
|
docs/consignes-yvv.md | 50 ++++++++++
|
|
```
|
|
Ni `data/`, ni `site/`, ni configuration, ni secret. Ce dossier n'est pas dans le push : il
|
|
partira avec le déploiement suivant.
|
|
|
|
## Commandes exactes
|
|
|
|
```bash
|
|
# 1. La mise en ligne : la poussée du SHA relu
|
|
cd /home/yvv/Documents/PROD/DEV/librodrome && for i in 1 2 3 4 5; do if git push -q origin 64e714c1dde9897e46d36caf6cab737799081c96:main; then break; fi; sleep 10; done
|
|
|
|
# 2. Attente du pipeline (environ 3 min)
|
|
for i in $(seq 1 40); do s=$(curl -4 -s -m 20 'https://ci.open.us.org/api/repos/1/pipelines?perPage=5' | python3 -I -c 'import sys,json; print(next((p["status"] for p in json.load(sys.stdin) if p["commit"].startswith("64e714c1dde9")), "absent"))'); echo "$(date +%T) $s"; case "$s" in success|failure|error|killed|declined) break;; esac; sleep 15; done
|
|
# attendu : success
|
|
|
|
# 3. Branche main locale sur la tête déployée (avance rapide seule ; main n'est extraite nulle part)
|
|
git -C /home/yvv/Documents/PROD/DEV/librodrome fetch . 64e714c1dde9897e46d36caf6cab737799081c96:main
|
|
```
|
|
|
|
Si le pipeline échoue, l'ancien conteneur continue de servir, sans changement : on ne
|
|
relance rien, on rapporte.
|
|
|
|
## Effet attendu
|
|
- librodrome.org est reconstruit. Seule la console de l'accueil change de comportement.
|
|
Les messages restent sur le volume `librodrome-data`, sans être touchés.
|
|
- Irréversibilité : réversible (voir Retour).
|
|
|
|
## Vérifications après
|
|
- [x] Pipeline du commit `64e714c1dde9` : `success`
|
|
- [x] P5 et P6 rejoués : `200`, puis le même nombre de messages publiés
|
|
- [x] Sur sonic : `messages.yml` a la même empreinte qu'en P7, et le journal du conteneur n'a aucune ligne `seed-messages`
|
|
- [x] Vu de l'extérieur, sur https://librodrome.org, dans un navigateur sans tête : au survol d'économique, `--level` passe de 0 à 0,50 ; les deux autres ne bougent pas ; le panneau « Autonomie économique » s'affiche
|
|
|
|
## Retour
|
|
Par un nouvel acte « déploie » :
|
|
```bash
|
|
git switch main && git revert --no-edit 64e714c1dde9897e46d36caf6cab737799081c96 03f763a 230f79a \
|
|
&& for i in 1 2 3 4 5; do if git push -q origin "$(git rev-parse HEAD)":main; then break; fi; sleep 10; done
|
|
```
|
|
Le retour ne touche ni le volume ni les messages.
|
|
|
|
## Exécution
|
|
|
|
Acte exécuté le 03/11/2026, 06h11-06h16, par orch (session dev-63, e66db8ca), sous mandat
|
|
« déploie » ; consigne d'Yvv du 03/11 à 06h00 : « livre et déploie tout ce que tu peux ».
|
|
|
|
- Relecture : « 230f79a : à reprendre » (05h34), puis « 64e714c : ok » (06h05), d'un sous-agent
|
|
neuf, inscrite dans `~/harness/etat/relectures.json`. Légers, pour un lot suivant : un curseur
|
|
non touché peut se figer à mi-course si le premier geste tombe pendant la rotation ; un
|
|
nouveau survol à moins de 500 ms ne rejoue pas la montée ; un clic sans survol ni focus
|
|
affiche le panneau sans monter le curseur ; la flèche part de l'axe sélectionné.
|
|
- Prémisses rejouées à 06h11:39 : P1 `4057f50…`, P2 0, P3 1, P4 « 59 success », P5 200, P6 1,
|
|
P7 1 et `c8afc7de…a6b8`.
|
|
- Poussée de `64e714c1dde9897e46d36caf6cab737799081c96:main` à 06h11:5x, passée du premier coup.
|
|
- Pipeline n° 60 : `running` de 06h12:08, `success` à 06h14:27.
|
|
- Après : `/api/health` 200, `/` 200, 1 message publié ; conteneur `Up 20 seconds (healthy)` ;
|
|
`messages.yml` `c8afc7de…a6b8`, inchangé ; 0 ligne `seed-messages`.
|
|
- Vu de l'extérieur (Chromium sans tête, https://librodrome.org, 1280 px), `--level` :
|
|
repos 0,75 / 0,336 / 0,17, panneau numérique ; survol d'économique 0,75 / **0,50** / 0,17,
|
|
panneau économique ; survol de citoyenne 0,75 / 0,50 / **0,667** ; survol de numérique
|
|
0,75 / 0,50 / 0,667 ; 4 s après la sortie, inchangé ; 0 erreur dans la console.
|
|
- `main` local avancé sur `64e714c` (`git fetch . 64e714c…:main`).
|
|
- Ce dossier n'est pas en ligne : il partira avec le déploiement suivant.
|