Douzième relecture (850f9c4 : ok), défauts anciens de publish.rs mis en
jeu par le nouveau dépôt :
- un commit que le dépôt n'a jamais reçu (premier envoi refusé, clé sans
droit d'écriture) repart au passage suivant, au lieu d'une file marquée
faite avec un dépôt vide ;
- un changement de remote vers un dépôt neuf et vide lui envoie
l'historique ;
- au démarrage, ce qui attendait repart aussitôt (le délai croissant
pouvait atteindre 6 h).
trustinWallet montre l'état de la publication (en attente, dernier échec,
dernier commit) et offre « Publier maintenant ».
Boucle : 69 tests Rust, svelte-check, 9 vitest, e2e 13/13.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
24 lines
1.7 KiB
Markdown
24 lines
1.7 KiB
Markdown
# 0005 — Publication par file d'envoi vers un dépôt git
|
|
|
|
**Contexte.** « Le tout est automatiquement poussé sur le dépôt git exploité par les applis
|
|
clientes. » Le réseau ou la forge peuvent être indisponibles ; un vote ne doit jamais échouer
|
|
pour autant.
|
|
|
|
**Décision.** Chaque entrée en vigueur (ou correction de coquille, ou traduction d'un texte en
|
|
vigueur) ajoute une ligne à une file d'envoi en base ; au démarrage, chaque document publié y
|
|
est remis une fois (rien ne se perd sur un redémarrage, un document inchangé ne fait pas de
|
|
commit : sa date est celle du dernier changement, jamais « maintenant »). Un travailleur rend `fr.md`, `en.md`,
|
|
`es.md` et `document.json` dans le clone du serveur, commit, pousse avec une clé de déploiement
|
|
générée par le serveur (sa partie publique s'affiche dans trustinWallet), et réessaie avec un
|
|
délai croissant. Dépôt : `git.open.us.org/yvv/decision-depot-textes-reference`, un dossier par groupe et
|
|
par document — provisoire (Yvv, 2026-10-21) : viendront un dépôt pour l'ouverture, par
|
|
transfert, puis le dépôt officiel pour les textes en vigueur ; changer de dépôt tient en une
|
|
ligne (`LD_PUBLISH_REMOTE`) : le serveur réaligne son clone, et un dépôt neuf et vide reçoit
|
|
l'historique. Un commit que le dépôt n'a jamais reçu (premier envoi refusé, clé sans droit
|
|
d'écriture) repart au passage suivant ; au démarrage, ce qui attendait repart aussitôt ;
|
|
trustinWallet montre l'état (en attente, dernier échec, dernier commit) et offre « Publier
|
|
maintenant ». Le français fait foi ; les traductions sont marquées éditoriales.
|
|
|
|
**Coût.** La publication est asynchrone (quelques secondes, plus en cas de panne) ; l'état
|
|
de la file se lit dans trustinWallet.
|