Déploiement : plus aucune valeur d'exemple à corriger à la main
L'unité web portait ORIGIN=https://veille.example.org : un fichier versionné qu'il fallait éditer à chaque déploiement, et dont l'oubli casse silencieusement les soumissions de formulaire. Remplacé par PROTOCOL_HEADER / HOST_HEADER : l'application déduit son origine des en-têtes du reverse proxy et fonctionne donc sur n'importe quel domaine, sans édition. Vérifié en exécutant réellement le binaire construit : deux domaines différents servis par le même processus, HTTP 200 dans les deux cas, et un ORIGIN figé l'emporte bien sur les en-têtes. Au passage, une affirmation fausse que j'avais écrite en commentaire : « le .env l'emporte sur les variables systemd ». C'est l'inverse — le --env-file de Node ne remplace pas une variable déjà présente dans l'environnement (constaté sur Node 24). Le commentaire dit désormais pourquoi ORIGIN dans .env fonctionne quand même : parce que l'unité ne le déclare pas. Et un contrôle mécanique interdit désormais de le redéclarer. ExecStart passe par /usr/bin/env : NodeSource installe node dans /usr/bin, une compilation manuelle dans /usr/local/bin, un chemin figé échouait sur l'un des deux. Deux contrôles ajoutés à make verifier : aucune valeur d'exemple active dans les unités systemd, et ORIGIN laissé au .env. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
29424afdd5
commit
bdeaa9fa7f
@@ -67,6 +67,24 @@ nb_polices=$(find web/static/polices -name '*.woff2' 2>/dev/null | wc -l)
|
||||
ok "polices auto-hébergées ($nb_polices fichiers woff2)" ||
|
||||
ko "polices non auto-hébergées — lancer npm run polices"
|
||||
|
||||
titre "Déploiement — pas de valeur d'exemple à corriger à la main"
|
||||
|
||||
# Les unités systemd sont copiées telles quelles dans /etc/systemd/system :
|
||||
# un domaine d'exemple qui y traîne casse le déploiement sans le dire.
|
||||
gabarits=$(grep -nE '^[^#]*(example\.(org|com)|votre-domaine|CHANGEME|TODO)' systemd/*.service systemd/*.socket systemd/*.timer 2>/dev/null || true)
|
||||
if [ -z "$gabarits" ]; then
|
||||
ok "aucune valeur d'exemple active dans les unités systemd"
|
||||
else
|
||||
ko "valeur d'exemple à remplacer dans une unité systemd :"
|
||||
echo "$gabarits"
|
||||
fi
|
||||
|
||||
if grep -qE '^[^#]*Environment=ORIGIN=' systemd/veille-web.service; then
|
||||
ko "ORIGIN déclaré dans l'unité : le .env ne pourrait plus le surcharger"
|
||||
else
|
||||
ok "ORIGIN laissé au .env, l'origine est déduite des en-têtes du proxy"
|
||||
fi
|
||||
|
||||
titre "§8 — livrables"
|
||||
|
||||
for chemin in pipeline web data systemd tests README.md README-pipeline.md .env.example Makefile; do
|
||||
|
||||
Reference in New Issue
Block a user