# P5b — Deploy prod + smoke test — Récap > Date : 2026-04-29 | Branche : feat/aep-pratiques-regeneratives ## Pre-deploy - Commit avant deploy : `90808551f003fe3e8e1cd227b433594b5e6f087a` - Branche : `feat/aep-pratiques-regeneratives` - Fichiers non-trackés : P5a-RECAP.md + pratiques-regeneratives.json (stagés + committés avant deploy) - `.output/public/data/pratiques-regeneratives.json` : present dans le build (Nuxt le copie automatiquement) - `.output/server/chunks/routes/api/pratiques.get.mjs` : present - `.output/server/chunks/routes/api/submit-pratique.post.mjs` : present ## Deploy - Méthode : `tar .output/ | ssh vps-hetzner "cd /opt/aep && tar -xzf -"` + `systemctl restart aep` - Raison du contournement deploy.sh : BOM UTF-8 en ligne 1 (#!/bin/bash) cause un exit 1 au `read -p` quand stdin est un pipe. Les étapes ont été exécutées manuellement. - Env diff local vs VPS : VPS a des vars supplémentaires (MISTRAL, NOCODB worker, RESEND) — additionnel non-conflictuel, deploy pas impacté. - Durée upload : < 5s - Service aep : active (systemctl is-active = "active") ## Output deploy (résumé) ``` [2026-04-29 01:37:08] Upload .output/ vers vps-hetzner:/opt/aep... [2026-04-29 01:37:08] Upload termine. [2026-04-29 01:37:51] Redemarrage du service aep... active [2026-04-29 01:37:51] Service aep statut verifie. ``` ## Smoke test prod (2026-04-29 01:38 UTC) | Endpoint | HTTP | Note | |---|---|---| | GET /pratiques-regeneratives | 200 | SSR OK | | GET /proposer-pratique | 200 | SSR OK | | GET /api/pratiques | 200 | JSON valid | **Garde-fous additionnels :** - SSR title check : `curl .../pratiques-regeneratives | grep -c "Pratiques"` → 2 occurrences trouvées - JSON count : `node -e "..."` → 52 fiches (attendu : 52) ## Commits produits (P5b) ``` bf40b40 docs(p5b): journal deploy + INDEX + prompt BrowserMCP E2E e80b226 docs(p5a): recap build local + add pratiques-regeneratives.json data ``` ## Notes deploy.sh — TODO V3 deploy.sh a deux problèmes identifiés : 1. BOM UTF-8 en ligne 1 (`\xEF\xBB\xBF#!/bin/bash`) — cause exit 1 quand stdin est un pipe 2. Le script était documenté comme "contournement tar + ssh" dans JOURNAL-V2 V2 (Session S3b) — cohérent ici A corriger : supprimer le BOM (`sed -i '1s/^\xEF\xBB\xBF//' deploy.sh`) + ajouter `CONFIRM=y` par défaut ou flag `--force-env`. ## Statut final Deploy OK. Smoke test 3/3. Branche pushée. Jules merge main apres E2E.