## Contexte Le script `deploy.sh` exécute un déploiement sur le serveur (pull Git, installation, build, restart). Lors d’un déploiement, `npm install` échoue avec `ERESOLVE` après une mise à jour automatique des dépendances. ## Impact - Déploiement interrompu avant `npm run build` - Service non redémarré, donc absence de mise en production effective - Risque de dérive des versions en production (package.json modifié côté serveur, hors Git) ## Root cause `deploy.sh` exécutait sur le serveur : - `npx npm-check-updates -u` : modification de `package.json` **en production** (hors contrôle Git) - puis `npm install` : résolution de dépendances conflictuelles (`ERESOLVE`) car le lockfile n’est pas géré comme source de vérité et l’état du workspace serveur peut être incohérent. ## Correctifs - Suppression de l’upgrade automatique des dépendances (`npm-check-updates`) pendant le déploiement. - Remplacement de `npm install` par `npm ci` pour utiliser strictement le lockfile et garantir un déploiement reproductible. - Suppression de l’étape qui copiait `next.config.js` via SSH (le fichier doit venir de Git via `git pull`). ## Pages affectées - `deploy.sh` ## Modalités d’analyse - Sur un déploiement en échec : rechercher `ERESOLVE could not resolve` dans la sortie `npm install`. - Vérifier si `deploy.sh` modifie des fichiers côté serveur après `git pull` (anti-pattern car divergence hors Git). ## Modalités de déploiement - Rejouer `./deploy.sh ""` après commit/push des modifications du script.