Files
archicratie-edition/docs/TROUBLESHOOTING.md
Archicratia b78eb4fc7b
All checks were successful
CI / build-and-anchors (push) Successful in 1m52s
SMOKE / smoke (push) Successful in 11s
docs: normalisation md + diagnostics dedup + LEGACY strict
2026-02-02 12:08:53 +01:00

217 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TROUBLESHOOTING — Archicratie Web / NAS / Gitea
Dernière mise à jour : 2026-02-01
Ce document liste les symptômes rencontrés et les remèdes **concrets**.
---
## 0) Réflexe unique
Toujours isoler : **Local**, **Gitea**, **NAS**, **Navigateur**.
- Si ça marche sur `127.0.0.1:8082` mais pas sur le domaine → proxy/cache.
- Si ça marche après login Gitea mais pas via “Proposer” → variables `PUBLIC_GITEA_*`.
- Si push refusé → branch protection (normal).
---
<a id="proposer-404"></a>
## 1) “Proposer” ouvre Gitea mais retourne 404 / non autorisé
### Symptôme
Nouvel onglet :
- 404 Not Found / “nexiste pas ou pas autorisé”
- ou redirect `/user/login`
### Cause la plus fréquente
URL pointe vers **mauvais owner/repo** (casse sensible) :
- `archicratia/archicratie-web` au lieu de `Archicratia/archicratie-edition`
### Diagnostic
Sur NAS (ou dans le HTML généré), vérifier lURL ouverte :
- doit contenir : `/Archicratia/archicratie-edition/issues/new`
### Fix
Dans `.env` de build prod (NAS) :
- `PUBLIC_GITEA_OWNER=Archicratia`
- `PUBLIC_GITEA_REPO=archicratie-edition`
Puis rebuild + restart du container + smoke.
---
<a id="proposer-double-onglet"></a>
## 2) Double onglet à la validation du flow “Proposer”
### Symptôme
Deux onglets souvrent au moment de valider (après choix 1 / choix 2).
### Causes possibles
- handler JS déclenché deux fois (bubbling)
- présence dun `window.open` + `a.click()` simultanément
- bouton “Proposer” est un `<a target=_blank>` et un autre handler ouvre aussi.
### Diagnostic rapide (devtools navigateur)
Chercher `window.open` dans la page générée :
- la commande doit retourner 0 lignes.
Sur NAS :
en sh :
curl -fsS http://127.0.0.1:8082/archicratie/archicrat-ia/chapitre-4/ > /tmp/page.html
grep -n "window.open" /tmp/page.html | head
Fix
garder un seul mécanisme douverture
sur click : preventDefault() + stopImmediatePropagation()
<a id="Favicon-504-erreurs"></a>
## 3) Favicon 504 / erreurs console sur favicon
# Symptôme
Console navigateur : GET /favicon.ico 504
# Cause fréquente
Cache du navigateur (ancienne erreur conservée).
# Diagnostic
Comparer :
curl -I http://127.0.0.1:8082/favicon.ico
curl -kI https://<domaine>/favicon.ico
Si curl = 200 et navigateur = 504 → cache.
# Fix
Désactiver cache dans longlet Réseau (devtools)
hard refresh
vérifier droits fichiers dans dist/
## 4) Sur NAS : git: command not found
# Symptôme
git fetch impossible sur le NAS.
# Cause
Git non installé sur DSM shell.
# Fix standard (recommandé)
Utiliser un conteneur git :
APP="/volume2/docker/archicratie-web/current"
U_ID="$(id -u)"; G_ID="$(id -g)"
sudo docker run --rm --network host \
-u "$U_ID:$G_ID" -e HOME=/tmp \
-v "$APP":/repo -w /repo \
--entrypoint sh alpine/git -lc '
set -eu
git config --global --add safe.directory /repo
git config http.sslVerify false
git fetch origin --prune
git status -sb
'
## 5) Git : “dubious ownership in repository”
# Symptôme
fatal: detected dubious ownership
# Fix
Dans le conteneur git (ou machine locale) :
git config --global --add safe.directory /repo
## 6) Git : non-fast-forward au push
# Symptôme
rejected (non-fast-forward)
# Cause
Ta branche locale est en retard vs remote.
# Fix
En général :
on fait une PR depuis une branche
ou on rebase/merge origin/main avant push
Sur une branche de travail :
git fetch origin
git rebase origin/main
# ou
git merge origin/main
## 7) Gitea : “Not allowed to push to protected branch main”
# Symptôme
pre-receive hook declined
# Cause
Protection de branche (normal/attendu).
# Fix
Push sur une branche
Ouvrir PR
Merger via UI Gitea
## 8) Docker build : BuildKit / buildx / API version
# Symptômes typiques
the --network option requires BuildKit
BuildKit is enabled but the buildx component is missing
client version ... too new. Maximum supported API version ...
# Fix “robuste” (principe)
installer buildx si nécessaire
si DSM/docker API ancienne : définir DOCKER_API_VERSION=<compatible> (selon ton environnement)
garder le build en --network host si nécessaire
## 9) Container Manager / Docker : “database is locked” (logging driver db)
# Symptôme
failed to initialize logging driver : database is locked
# Cause
Le driver de logs Docker est db (Synology) et sa DB est verrouillée.
# Fix rapide
Redémarrer “Container Manager” depuis le centre de paquets DSM.
Vérifier que le conteneur redémarre ensuite.
## 10) Checklist “tout marche”
curl -I http://127.0.0.1:8082/ => 200
curl -kI https://<domaine>/ => 200
PUBLIC_GITEA_* corrects
“Proposer” : 1 onglet, pas de 404, issue pré-remplie
CI passe sur PR merge