acte : console de l'accueil, la graduation d'Yvv au survol — dossier « déploie » préparé
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,86 @@
|
|||||||
|
# Acte — Console de l'accueil : la graduation d'Yvv au survol
|
||||||
|
Classe : déploie
|
||||||
|
Projet : librodrome Date : 2026-11-03
|
||||||
|
**État : PRÉPARÉ (03/11, 05h58), par orch (session dev-63, mandat « déploie » inscrit du 03/11 au 08/11) ; attend 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
|
||||||
|
- [ ] Pipeline du commit `64e714c1dde9` : `success`
|
||||||
|
- [ ] P5 et P6 rejoués : `200`, puis le même nombre de messages publiés
|
||||||
|
- [ ] Sur sonic : `messages.yml` a la même empreinte qu'en P7, et le journal du conteneur n'a aucune ligne `seed-messages`
|
||||||
|
- [ ] 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.
|
||||||
Reference in New Issue
Block a user