67 lines
1.9 KiB
Markdown
67 lines
1.9 KiB
Markdown
# Runbook — Bouton “Proposer” (site → Gitea issue) + Gate Authelia
|
||
|
||
## Objectif
|
||
Permettre une proposition de correction éditoriale depuis un paragraphe du site, en créant une *issue* Gitea pré-remplie, uniquement pour les membres du groupe `editors`.
|
||
|
||
---
|
||
|
||
## Pré-requis
|
||
- Traefik (edge) en front
|
||
- Authelia (forwardAuth) opérationnel
|
||
- Router `/_auth/whoami` exposé (whoami)
|
||
- Variables `PUBLIC_GITEA_*` injectées au build du site
|
||
|
||
---
|
||
|
||
## Vérification rapide (navigateur)
|
||
### 1) Qui suis-je ? (groupes)
|
||
Dans la console :
|
||
en js :
|
||
await fetch("/_auth/whoami?_=" + Date.now(), {
|
||
credentials: "include",
|
||
cache: "no-store",
|
||
}).then(r => r.text());
|
||
|
||
Attendu (extraits) :
|
||
|
||
Remote-User: <login>
|
||
|
||
Remote-Groups: ...,editors,... pour un éditeur
|
||
|
||
### 2) Le bouton existe ?
|
||
document.querySelectorAll(".para-propose").length
|
||
|
||
> 0 si editors
|
||
|
||
0 si non-editor
|
||
|
||
## Vérification côté NAS (build vars)
|
||
### 1) Blue et Green contiennent les constantes ?
|
||
|
||
P="/archicratie/archicrat-ia/chapitre-4/"
|
||
|
||
curl -sS "http://127.0.0.1:8081$P" | grep -n "const GITEA_BASE" | head -n 2
|
||
curl -sS "http://127.0.0.1:8082$P" | grep -n "const GITEA_BASE" | head -n 2
|
||
|
||
### 2) Si une des deux est vide → rebuild propre
|
||
|
||
Dans /volume2/docker/archicratie-web/current :
|
||
|
||
cat > .env <<'EOF'
|
||
PUBLIC_GITEA_BASE=https://gitea.archicratie.trans-hands.synology.me
|
||
PUBLIC_GITEA_OWNER=Archicratia
|
||
PUBLIC_GITEA_REPO=archicratie-edition
|
||
EOF
|
||
|
||
sudo env DOCKER_API_VERSION=1.43 docker compose -f docker-compose.yml build --no-cache web_blue web_green
|
||
sudo env DOCKER_API_VERSION=1.43 docker compose -f docker-compose.yml up -d --force-recreate --no-build web_blue web_green
|
||
|
||
## Dépannage (si Proposer “disparaît”)
|
||
|
||
Vérifier groupes via /_auth/whoami
|
||
|
||
Vérifier const GITEA_BASE via curl sur le slot actif
|
||
|
||
Vérifier que Traefik sert bien le slot actif (grep via curl -H Host: ... http://127.0.0.1:18080/...)
|
||
|
||
Ouvrir la console : vérifier qu’aucune erreur JS n’empêche l’injection des outils paragraphe |