diff --git a/deployment-scripts/GUIDE_MISE_A_JOUR.md b/deployment-scripts/GUIDE_MISE_A_JOUR.md index e71e490..c29e97e 100644 --- a/deployment-scripts/GUIDE_MISE_A_JOUR.md +++ b/deployment-scripts/GUIDE_MISE_A_JOUR.md @@ -71,10 +71,10 @@ Le script va automatiquement: ```bash # Vérifier le statut du service -sudo systemctl status formation-manager +sudo systemctl status formation-manager-itinova # Voir les logs en temps réel -sudo journalctl -u formation-manager -f +sudo journalctl -u formation-manager-itinova -f # Tester l'application dans le navigateur # Ouvrir: http://votre-domaine.com @@ -93,19 +93,19 @@ sudo ./deployment-scripts/backup-before-update.sh ### 2. Arrêter le service ```bash -sudo systemctl stop formation-manager +sudo systemctl stop formation-manager-itinova ``` ### 3. Sauvegarder la configuration ```bash -sudo cp /var/www/formation-manager/.env /tmp/.env.backup +sudo cp /var/www/formation-manager-itinova/.env /tmp/.env.backup ``` ### 4. Copier les nouveaux fichiers ```bash -cd /var/www/formation-manager +cd /var/www/formation-manager-itinova sudo find . -mindepth 1 -maxdepth 1 ! -name '.env' ! -name 'node_modules' -exec rm -rf {} + sudo cp -r /tmp/formation-manager-itinova/* . ``` @@ -113,13 +113,13 @@ sudo cp -r /tmp/formation-manager-itinova/* . ### 5. Restaurer la configuration ```bash -sudo cp /tmp/.env.backup /var/www/formation-manager/.env +sudo cp /tmp/.env.backup /var/www/formation-manager-itinova/.env ``` ### 6. Installer les dépendances ```bash -cd /var/www/formation-manager +cd /var/www/formation-manager-itinova sudo pnpm install --prod ``` @@ -132,8 +132,8 @@ sudo pnpm db:push ### 8. Redémarrer le service ```bash -sudo systemctl start formation-manager -sudo systemctl status formation-manager +sudo systemctl start formation-manager-itinova +sudo systemctl status formation-manager-itinova ``` ## 🔄 Restauration d'une sauvegarde (Rollback) @@ -143,26 +143,26 @@ Si la mise à jour pose problème, vous pouvez restaurer une sauvegarde: ### 1. Lister les sauvegardes disponibles ```bash -ls -lh /var/backups/formation-manager/ +ls -lh /var/backups/formation-manager-itinova/ ``` ### 2. Choisir une sauvegarde ```bash # Exemple: backup_20240119_143022 -BACKUP_DIR="/var/backups/formation-manager/backup_20240119_143022" +BACKUP_DIR="/var/backups/formation-manager-itinova/backup_20240119_143022" ``` ### 3. Arrêter le service ```bash -sudo systemctl stop formation-manager +sudo systemctl stop formation-manager-itinova ``` ### 4. Restaurer les fichiers ```bash -cd /var/www/formation-manager +cd /var/www/formation-manager-itinova sudo rm -rf * sudo tar -xzf $BACKUP_DIR/app_files.tar.gz -C . ``` @@ -170,7 +170,7 @@ sudo tar -xzf $BACKUP_DIR/app_files.tar.gz -C . ### 5. Restaurer la configuration ```bash -sudo cp $BACKUP_DIR/.env.backup /var/www/formation-manager/.env +sudo cp $BACKUP_DIR/.env.backup /var/www/formation-manager-itinova/.env ``` ### 6. Restaurer la base de données (optionnel) @@ -189,8 +189,8 @@ rm /tmp/restore.sql ### 7. Redémarrer le service ```bash -sudo systemctl start formation-manager -sudo systemctl status formation-manager +sudo systemctl start formation-manager-itinova +sudo systemctl status formation-manager-itinova ``` ## 📝 Nouveautés de cette version @@ -211,19 +211,19 @@ Aucune migration majeure dans cette version. Le script `pnpm db:push` synchronis ```bash # Voir les logs d'erreur -sudo journalctl -u formation-manager -n 100 --no-pager +sudo journalctl -u formation-manager-itinova -n 100 --no-pager # Vérifier les permissions -sudo chown -R www-data:www-data /var/www/formation-manager -sudo chmod -R 755 /var/www/formation-manager -sudo chmod 600 /var/www/formation-manager/.env +sudo chown -R www-data:www-data /var/www/formation-manager-itinova +sudo chmod -R 755 /var/www/formation-manager-itinova +sudo chmod 600 /var/www/formation-manager-itinova/.env ``` ### Erreur de connexion à la base de données ```bash # Vérifier le fichier .env -sudo cat /var/www/formation-manager/.env | grep DATABASE_URL +sudo cat /var/www/formation-manager-itinova/.env | grep DATABASE_URL # Tester la connexion MySQL mysql -h HOST -u USER -p -e "SELECT 1;" @@ -243,7 +243,7 @@ sudo kill -9 PID ```bash # Réinitialiser les permissions -cd /var/www/formation-manager +cd /var/www/formation-manager-itinova sudo chown -R www-data:www-data . sudo chmod -R 755 . sudo chmod 600 .env @@ -253,13 +253,13 @@ sudo chmod 600 .env En cas de problème: -1. **Vérifier les logs**: `sudo journalctl -u formation-manager -f` -2. **Consulter la documentation**: Voir les guides dans `/var/www/formation-manager/deployment-package/` +1. **Vérifier les logs**: `sudo journalctl -u formation-manager-itinova -f` +2. **Consulter la documentation**: Voir les guides dans `/var/www/formation-manager-itinova/deployment-package/` 3. **Restaurer une sauvegarde**: Suivre la procédure de rollback ci-dessus ## ✅ Checklist post-mise à jour -- [ ] Le service est démarré: `sudo systemctl status formation-manager` +- [ ] Le service est démarré: `sudo systemctl status formation-manager-itinova` - [ ] L'application est accessible dans le navigateur - [ ] La connexion fonctionne (test avec un utilisateur admin) - [ ] Les séquences s'affichent correctement @@ -271,16 +271,16 @@ En cas de problème: ```bash # Voir les logs en temps réel -sudo journalctl -u formation-manager -f +sudo journalctl -u formation-manager-itinova -f # Redémarrer le service -sudo systemctl restart formation-manager +sudo systemctl restart formation-manager-itinova # Voir le statut -sudo systemctl status formation-manager +sudo systemctl status formation-manager-itinova # Voir les dernières erreurs -sudo journalctl -u formation-manager -p err -n 50 +sudo journalctl -u formation-manager-itinova -p err -n 50 # Espace disque df -h diff --git a/deployment-scripts/README.md b/deployment-scripts/README.md index fd485f4..121277d 100644 --- a/deployment-scripts/README.md +++ b/deployment-scripts/README.md @@ -76,10 +76,10 @@ sudo ./deployment-scripts/update-app.sh ```bash # Vérifier le statut -sudo systemctl status formation-manager +sudo systemctl status formation-manager-itinova # Voir les logs -sudo journalctl -u formation-manager -f +sudo journalctl -u formation-manager-itinova -f # Tester dans le navigateur # Ouvrir: http://votre-domaine.com @@ -98,7 +98,7 @@ sudo journalctl -u formation-manager -f - Crée un fichier d'information sur la sauvegarde - Conserve les 10 dernières sauvegardes (supprime les plus anciennes) -**Emplacement des sauvegardes**: `/var/backups/formation-manager/` +**Emplacement des sauvegardes**: `/var/backups/formation-manager-itinova/` **Exemple d'utilisation**: ```bash @@ -109,15 +109,15 @@ sudo ./backup-before-update.sh ``` === Sauvegarde avant mise à jour === Date: 2024-01-19 14:30:22 -Répertoire application: /var/www/formation-manager -Répertoire sauvegarde: /var/backups/formation-manager +Répertoire application: /var/www/formation-manager-itinova +Répertoire sauvegarde: /var/backups/formation-manager-itinova Création du répertoire de sauvegarde... Sauvegarde des fichiers de l'application... ✓ Fichiers de l'application sauvegardés ... === Sauvegarde terminée avec succès === -Emplacement: /var/backups/formation-manager/backup_20240119_143022 +Emplacement: /var/backups/formation-manager-itinova/backup_20240119_143022 Taille: 45M ``` @@ -140,8 +140,8 @@ Taille: 45M **Prérequis**: - Exécuter avec sudo/root -- L'application doit être installée dans `/var/www/formation-manager` -- Le service doit s'appeler `formation-manager` +- L'application doit être installée dans `/var/www/formation-manager-itinova` +- Le service doit s'appeler `formation-manager-itinova` **Exemple d'utilisation**: ```bash @@ -155,7 +155,7 @@ sudo ./update-app.sh ╚════════════════════════════════════════════════════════════╝ Date: 2024-01-19 14:35:10 -Répertoire: /var/www/formation-manager +Répertoire: /var/www/formation-manager-itinova Voulez-vous continuer avec la mise à jour ? [y/N]: y @@ -217,24 +217,24 @@ Si vous devez restaurer une sauvegarde après une mise à jour problématique: ```bash # 1. Lister les sauvegardes -ls -lh /var/backups/formation-manager/ +ls -lh /var/backups/formation-manager-itinova/ # 2. Arrêter le service -sudo systemctl stop formation-manager +sudo systemctl stop formation-manager-itinova # 3. Restaurer les fichiers -cd /var/www/formation-manager +cd /var/www/formation-manager-itinova sudo rm -rf * -sudo tar -xzf /var/backups/formation-manager/backup_YYYYMMDD_HHMMSS/app_files.tar.gz -C . +sudo tar -xzf /var/backups/formation-manager-itinova/backup_YYYYMMDD_HHMMSS/app_files.tar.gz -C . # 4. Restaurer .env -sudo cp /var/backups/formation-manager/backup_YYYYMMDD_HHMMSS/.env.backup .env +sudo cp /var/backups/formation-manager-itinova/backup_YYYYMMDD_HHMMSS/.env.backup .env # 5. Restaurer la base de données (si nécessaire) -gunzip -c /var/backups/formation-manager/backup_YYYYMMDD_HHMMSS/database.sql.gz | mysql -h HOST -u USER -p DATABASE +gunzip -c /var/backups/formation-manager-itinova/backup_YYYYMMDD_HHMMSS/database.sql.gz | mysql -h HOST -u USER -p DATABASE # 6. Redémarrer -sudo systemctl start formation-manager +sudo systemctl start formation-manager-itinova ``` ## 📝 Configuration @@ -244,9 +244,9 @@ sudo systemctl start formation-manager Les scripts utilisent ces chemins par défaut: ```bash -APP_DIR="/var/www/formation-manager" # Répertoire de l'application -BACKUP_DIR="/var/backups/formation-manager" # Répertoire des sauvegardes -SERVICE_NAME="formation-manager" # Nom du service systemd +APP_DIR="/var/www/formation-manager-itinova" # Répertoire de l'application +BACKUP_DIR="/var/backups/formation-manager-itinova" # Répertoire des sauvegardes +SERVICE_NAME="formation-manager-itinova" # Nom du service systemd ``` ### Personnalisation @@ -273,7 +273,7 @@ SERVICE_NAME="votre-service" ### Sauvegardes -- Les sauvegardes sont conservées dans `/var/backups/formation-manager/` +- Les sauvegardes sont conservées dans `/var/backups/formation-manager-itinova/` - Seules les 10 dernières sauvegardes sont conservées - Chaque sauvegarde inclut: fichiers + .env + base de données - Pensez à sauvegarder régulièrement les sauvegardes importantes ailleurs @@ -313,13 +313,13 @@ sudo ./update-app.sh ```bash # Voir les logs -sudo journalctl -u formation-manager -n 100 +sudo journalctl -u formation-manager-itinova -n 100 # Vérifier la configuration -sudo systemctl status formation-manager +sudo systemctl status formation-manager-itinova # Vérifier les permissions -sudo chown -R www-data:www-data /var/www/formation-manager +sudo chown -R www-data:www-data /var/www/formation-manager-itinova ``` ### Erreur de base de données @@ -329,7 +329,7 @@ sudo chown -R www-data:www-data /var/www/formation-manager mysql -h HOST -u USER -p -e "SELECT 1;" # Vérifier le fichier .env -cat /var/www/formation-manager/.env | grep DATABASE_URL +cat /var/www/formation-manager-itinova/.env | grep DATABASE_URL ``` ## 📞 Support diff --git a/deployment-scripts/backup-before-update.sh b/deployment-scripts/backup-before-update.sh index 9f3a466..fafbd6c 100755 --- a/deployment-scripts/backup-before-update.sh +++ b/deployment-scripts/backup-before-update.sh @@ -17,8 +17,8 @@ YELLOW='\033[1;33m' NC='\033[0m' # No Color # Configuration -APP_DIR="/var/www/formation-manager" -BACKUP_DIR="/var/backups/formation-manager" +APP_DIR="/var/www/formation-manager-itinova" +BACKUP_DIR="/var/backups/formation-manager-itinova" TIMESTAMP=$(date +%Y%m%d_%H%M%S) BACKUP_NAME="backup_${TIMESTAMP}" diff --git a/deployment-scripts/update-app.sh b/deployment-scripts/update-app.sh index ab86b63..e25f81f 100755 --- a/deployment-scripts/update-app.sh +++ b/deployment-scripts/update-app.sh @@ -17,9 +17,9 @@ BLUE='\033[0;34m' NC='\033[0m' # No Color # Configuration -APP_DIR="/var/www/formation-manager" +APP_DIR="/var/www/formation-manager-itinova" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -SERVICE_NAME="formation-manager" +SERVICE_NAME="formation-manager-itinova" echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}" echo -e "${BLUE}║ Mise à jour Formation Manager Itinova ║${NC}" diff --git a/formation-manager-update-20251127_074417.tar.gz b/formation-manager-update-20251127_074417.tar.gz deleted file mode 100644 index d2871b9..0000000 Binary files a/formation-manager-update-20251127_074417.tar.gz and /dev/null differ diff --git a/formation-manager-update-20251127_095935.tar.gz b/formation-manager-update-20251127_095935.tar.gz new file mode 100644 index 0000000..fb96435 Binary files /dev/null and b/formation-manager-update-20251127_095935.tar.gz differ diff --git a/todo.md b/todo.md index 3acf7eb..bf74e4f 100644 --- a/todo.md +++ b/todo.md @@ -714,3 +714,11 @@ - [x] Créer le script de sauvegarde avant mise à jour (backup-before-update.sh) - [x] Créer la documentation de mise à jour (GUIDE_MISE_A_JOUR.md) - [x] Créer le package de déploiement complet (formation-manager-update-*.tar.gz) + +## Correction nom répertoire dans scripts + +- [x] Corriger APP_DIR dans backup-before-update.sh +- [x] Corriger APP_DIR dans update-app.sh +- [x] Corriger SERVICE_NAME dans tous les fichiers +- [x] Corriger la documentation (GUIDE_MISE_A_JOUR.md et README.md) +- [x] Recréer le package de déploiement (formation-manager-update-20251127_095935.tar.gz)