diff --git a/README.md b/README.md index 4154806..85c5eda 100644 --- a/README.md +++ b/README.md @@ -133,12 +133,46 @@ Ou créer directement `$DATA_PATH/site_settings.json` : ## Mise à jour +### Manuelle + ```bash git pull composer install --no-dev php database/migrate.php ``` +### Via le bouton admin ("Mettre à jour") + +L'interface d'administration propose un bouton **Mettre à jour** qui déclenche un déploiement complet (clone fresh, permissions, Composer, migrations SQL, répertoire de sessions). Ce bouton appelle `sudo /usr/local/bin/folio-upgrade.sh` depuis PHP (`www-data`). + +**Configuration requise une fois sur chaque serveur :** + +```bash +# 1. Installer le script (adapté à votre serveur) +sudo install -o root -m 750 /var/www/mon-site/scripts/server/folio-upgrade.sh \ + /usr/local/bin/folio-upgrade.sh + +# 2. Éditer APP_DIR et REPO_URL dans le script installé +sudo nano /usr/local/bin/folio-upgrade.sh + +# 3. Autoriser www-data à l'exécuter sans mot de passe +echo "www-data ALL=(root) NOPASSWD: /usr/local/bin/folio-upgrade.sh" \ + | sudo tee /etc/sudoers.d/folio-upgrade +sudo chmod 440 /etc/sudoers.d/folio-upgrade + +# 4. Vérifier la syntaxe +sudo visudo -c +``` + +Le script est dans `scripts/server/folio-upgrade.sh`. Les deux variables à adapter en tête de fichier : + +| Variable | Description | +|---|---| +| `APP_DIR` | Chemin absolu du document root (ex. `/var/www/mon-site`) | +| `REPO_URL` | URL du dépôt Git Folio | + +Sans cette configuration, le bouton retourne une erreur `sudo: a password is required`. + ## Structure du projet ```