Files
decision/docs/adr/0005-publication-git.md
T
YvvandClaude Opus 5.5 744d157b01 v3 : publication — un envoi refusé repart, un dépôt neuf reçoit l'historique
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>
2026-10-21 21:30:52 +02:00

1.7 KiB

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.