Document the real bus.saillant.cc exposure chain (cloudflared -> Traefik -> Tower nginx pinned by digest) now that Task 7 hosting and Task 8 deploy.sh have been validated end-to-end.
4.3 KiB
Registre des décisions
Format : une entrée par décision structurante, la plus récente en haut.
2026-07-09 — Exposition bus.saillant.cc
Décision : chaîne d'exposition publique du blog calquée sur le
pattern git.saillant.cc — tunnel Cloudflare nommé (cloudflared
systemd sur electron-server, ingress géré via l'API CF) → Traefik
sur electron-server (file provider, route ajoutée dans
/home/electron/factory-4-life/traefik/dynamic/bus-blog.yml, insérée
avant la règle catch-all) → nginx dockerisé sur Tower
100.78.6.122:8090. DNS : CNAME bus.saillant.cc proxied (orange
cloud CF). Image nginx pinnée par digest :
nginx@sha256:65645c7bb6a0661892a8b03b89d0743208a18dd2f3f17a54ef4b76fb8e2f2a10
(tag 1.27-alpine), conteneur bus-blog, --restart unless-stopped,
sert /home/clems/bus-blog/public en lecture seule. Publication
automatisée par blog/deploy.sh (hugo --minify + rsync -az --delete vers clems@192.168.0.120:/home/clems/bus-blog/public/ +
smoke test HTTPS).
Pourquoi : réutilise l'infra *.saillant.cc existante et son
pattern déjà validé (Traefik + cloudflared) plutôt que d'ouvrir un
nouveau chemin d'exposition ; digest pinné = conformité avec la
politique supply-chain (pas de tag flottant) ; Tower déjà allumé en
continu, cohérent avec la décision « Blog de chantier Hugo » du
2026-07-09 ci-dessous.
Conséquences : le nginx smoke-test initial (<h1>bus-blog ok</h1>)
est remplacé par le vrai site dès le premier deploy.sh ; toute mise à
jour du contenu passe désormais par blog/deploy.sh (pas de push
manuel vers Tower) ; bump de l'image nginx soumis à revue humaine
(nouveau digest) avant déploiement.
2026-07-09 — Architecture énergie : Victron 48 V + 4× Pylontech + solaire 2 étages
Décision (orientation matériel — dimensionnement et références exactes à valider contre le bilan de puissance) :
- 4× batteries Pylontech en soute (48 V LFP, modèle à confirmer — US5000 pressenti)
- Victron MultiPlus 48/5000/70-100 (convertisseur/chargeur)
- Victron SmartSolar MPPT VE.Can 250/100 rev2 (chargeur solaire DC)
- Fronius Primo 4.6-1 (onduleur PV AC-couplé — règle Victron facteur 1.0 respectée : 4,6 kW ≤ 5 kVA du MultiPlus)
- Victron Cerbo GX (supervision, VE.Can)
- Toit : 2 étages de panneaux solaires, l'étage supérieur sur
glissières — déployé à l'arrêt en pare-soleil latéral, rentré en
mode roulant (concept détaillé :
30-energie-elec/solaire-toit.md)
Pourquoi : écosystème Victron cohérent (VE.Can, Cerbo), 48 V adapté aux puissances atelier (laser/CNC), Pylontech éprouvées en rack, soute = masses basses et centrées, double étage = surface PV maximale + ombrage de l'atelier à l'arrêt. Conséquences : ~250 kg à inscrire au suivi de poids (batteries + électronique + structure toit), étude mécanique glissières/verrouillage en roulage (sécurité + DREAL : élément mobile extérieur), répartition DC (MPPT) / AC (Fronius) des deux étages à arbitrer, schémas KiCad à produire.
2026-07-09 — Blog de chantier Hugo « hackerspace » sur Tower
Décision : blog statique Hugo (blog/), thème terminal custom
vendored, servi par nginx dockerisé sur Tower :8090, exposé sur
https://bus.saillant.cc via l'infra *.saillant.cc existante.
Pourquoi : markdown cohérent avec le repo, zéro dépendance upstream
(politique supply-chain), Tower déjà allumé en continu.
Alternatives écartées : Zola/Astro (écosystème moins connu ici),
thème upstream en submodule (flottant, non audité).
2026-07-09 — VASP atelier ≤ 9 places
Décision : reclassification en VASP atelier avec 9 places assises max.
Pourquoi : conduite au permis C, sortie du régime transport en commun
(fin des contrôles semestriels), tout en gardant la capacité de déplacer
une équipe.
Conséquences : suivi de poids par essieu obligatoire dès la
conception ; sièges et ancrages homologués ; exigences DREAL à intégrer
en amont (10-reglementaire/).
2026-07-09 — Structure du workspace par domaines
Décision : dossiers numérotés par domaine technique (00→80) plutôt
que par phase chronologique.
Pourquoi : sur 5 ans, chaque domaine vit à son rythme et traverse
plusieurs phases ; la roadmap transversale vit dans ROADMAP.md.