Checkpoint: Correction des scripts de déploiement pour utiliser le bon nom de répertoire :

**Modifications apportées** :

1. **backup-before-update.sh** :
   - APP_DIR: /var/www/formation-manager-itinova
   - BACKUP_DIR: /var/backups/formation-manager-itinova

2. **update-app.sh** :
   - APP_DIR: /var/www/formation-manager-itinova
   - SERVICE_NAME: formation-manager-itinova

3. **GUIDE_MISE_A_JOUR.md** :
   - Tous les chemins mis à jour vers formation-manager-itinova
   - Tous les noms de service corrigés

4. **README.md** :
   - Documentation mise à jour avec les bons chemins
   - Exemples corrigés

5. **Nouveau package créé** :
   - formation-manager-update-20251127_095935.tar.gz (2.6M)
   - Prêt pour déploiement sur le serveur VPS
This commit is contained in:
Manus Sandbox
2025-11-27 10:01:47 -05:00
parent 2ae8592480
commit 21439c7af1
7 changed files with 65 additions and 57 deletions

View File

@@ -71,10 +71,10 @@ Le script va automatiquement:
```bash ```bash
# Vérifier le statut du service # Vérifier le statut du service
sudo systemctl status formation-manager sudo systemctl status formation-manager-itinova
# Voir les logs en temps réel # 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 # Tester l'application dans le navigateur
# Ouvrir: http://votre-domaine.com # Ouvrir: http://votre-domaine.com
@@ -93,19 +93,19 @@ sudo ./deployment-scripts/backup-before-update.sh
### 2. Arrêter le service ### 2. Arrêter le service
```bash ```bash
sudo systemctl stop formation-manager sudo systemctl stop formation-manager-itinova
``` ```
### 3. Sauvegarder la configuration ### 3. Sauvegarder la configuration
```bash ```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 ### 4. Copier les nouveaux fichiers
```bash ```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 find . -mindepth 1 -maxdepth 1 ! -name '.env' ! -name 'node_modules' -exec rm -rf {} +
sudo cp -r /tmp/formation-manager-itinova/* . sudo cp -r /tmp/formation-manager-itinova/* .
``` ```
@@ -113,13 +113,13 @@ sudo cp -r /tmp/formation-manager-itinova/* .
### 5. Restaurer la configuration ### 5. Restaurer la configuration
```bash ```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 ### 6. Installer les dépendances
```bash ```bash
cd /var/www/formation-manager cd /var/www/formation-manager-itinova
sudo pnpm install --prod sudo pnpm install --prod
``` ```
@@ -132,8 +132,8 @@ sudo pnpm db:push
### 8. Redémarrer le service ### 8. Redémarrer le service
```bash ```bash
sudo systemctl start formation-manager sudo systemctl start formation-manager-itinova
sudo systemctl status formation-manager sudo systemctl status formation-manager-itinova
``` ```
## 🔄 Restauration d'une sauvegarde (Rollback) ## 🔄 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 ### 1. Lister les sauvegardes disponibles
```bash ```bash
ls -lh /var/backups/formation-manager/ ls -lh /var/backups/formation-manager-itinova/
``` ```
### 2. Choisir une sauvegarde ### 2. Choisir une sauvegarde
```bash ```bash
# Exemple: backup_20240119_143022 # 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 ### 3. Arrêter le service
```bash ```bash
sudo systemctl stop formation-manager sudo systemctl stop formation-manager-itinova
``` ```
### 4. Restaurer les fichiers ### 4. Restaurer les fichiers
```bash ```bash
cd /var/www/formation-manager cd /var/www/formation-manager-itinova
sudo rm -rf * sudo rm -rf *
sudo tar -xzf $BACKUP_DIR/app_files.tar.gz -C . 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 ### 5. Restaurer la configuration
```bash ```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) ### 6. Restaurer la base de données (optionnel)
@@ -189,8 +189,8 @@ rm /tmp/restore.sql
### 7. Redémarrer le service ### 7. Redémarrer le service
```bash ```bash
sudo systemctl start formation-manager sudo systemctl start formation-manager-itinova
sudo systemctl status formation-manager sudo systemctl status formation-manager-itinova
``` ```
## 📝 Nouveautés de cette version ## 📝 Nouveautés de cette version
@@ -211,19 +211,19 @@ Aucune migration majeure dans cette version. Le script `pnpm db:push` synchronis
```bash ```bash
# Voir les logs d'erreur # 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 # 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
sudo chmod -R 755 /var/www/formation-manager sudo chmod -R 755 /var/www/formation-manager-itinova
sudo chmod 600 /var/www/formation-manager/.env sudo chmod 600 /var/www/formation-manager-itinova/.env
``` ```
### Erreur de connexion à la base de données ### Erreur de connexion à la base de données
```bash ```bash
# Vérifier le fichier .env # 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 # Tester la connexion MySQL
mysql -h HOST -u USER -p -e "SELECT 1;" mysql -h HOST -u USER -p -e "SELECT 1;"
@@ -243,7 +243,7 @@ sudo kill -9 PID
```bash ```bash
# Réinitialiser les permissions # Réinitialiser les permissions
cd /var/www/formation-manager cd /var/www/formation-manager-itinova
sudo chown -R www-data:www-data . sudo chown -R www-data:www-data .
sudo chmod -R 755 . sudo chmod -R 755 .
sudo chmod 600 .env sudo chmod 600 .env
@@ -253,13 +253,13 @@ sudo chmod 600 .env
En cas de problème: En cas de problème:
1. **Vérifier les logs**: `sudo journalctl -u formation-manager -f` 1. **Vérifier les logs**: `sudo journalctl -u formation-manager-itinova -f`
2. **Consulter la documentation**: Voir les guides dans `/var/www/formation-manager/deployment-package/` 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 3. **Restaurer une sauvegarde**: Suivre la procédure de rollback ci-dessus
## ✅ Checklist post-mise à jour ## ✅ 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 - [ ] L'application est accessible dans le navigateur
- [ ] La connexion fonctionne (test avec un utilisateur admin) - [ ] La connexion fonctionne (test avec un utilisateur admin)
- [ ] Les séquences s'affichent correctement - [ ] Les séquences s'affichent correctement
@@ -271,16 +271,16 @@ En cas de problème:
```bash ```bash
# Voir les logs en temps réel # Voir les logs en temps réel
sudo journalctl -u formation-manager -f sudo journalctl -u formation-manager-itinova -f
# Redémarrer le service # Redémarrer le service
sudo systemctl restart formation-manager sudo systemctl restart formation-manager-itinova
# Voir le statut # Voir le statut
sudo systemctl status formation-manager sudo systemctl status formation-manager-itinova
# Voir les dernières erreurs # 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 # Espace disque
df -h df -h

View File

@@ -76,10 +76,10 @@ sudo ./deployment-scripts/update-app.sh
```bash ```bash
# Vérifier le statut # Vérifier le statut
sudo systemctl status formation-manager sudo systemctl status formation-manager-itinova
# Voir les logs # Voir les logs
sudo journalctl -u formation-manager -f sudo journalctl -u formation-manager-itinova -f
# Tester dans le navigateur # Tester dans le navigateur
# Ouvrir: http://votre-domaine.com # Ouvrir: http://votre-domaine.com
@@ -98,7 +98,7 @@ sudo journalctl -u formation-manager -f
- Crée un fichier d'information sur la sauvegarde - Crée un fichier d'information sur la sauvegarde
- Conserve les 10 dernières sauvegardes (supprime les plus anciennes) - 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**: **Exemple d'utilisation**:
```bash ```bash
@@ -109,15 +109,15 @@ sudo ./backup-before-update.sh
``` ```
=== Sauvegarde avant mise à jour === === Sauvegarde avant mise à jour ===
Date: 2024-01-19 14:30:22 Date: 2024-01-19 14:30:22
Répertoire application: /var/www/formation-manager Répertoire application: /var/www/formation-manager-itinova
Répertoire sauvegarde: /var/backups/formation-manager Répertoire sauvegarde: /var/backups/formation-manager-itinova
Création du répertoire de sauvegarde... Création du répertoire de sauvegarde...
Sauvegarde des fichiers de l'application... Sauvegarde des fichiers de l'application...
✓ Fichiers de l'application sauvegardés ✓ Fichiers de l'application sauvegardés
... ...
=== Sauvegarde terminée avec succè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 Taille: 45M
``` ```
@@ -140,8 +140,8 @@ Taille: 45M
**Prérequis**: **Prérequis**:
- Exécuter avec sudo/root - Exécuter avec sudo/root
- L'application doit être installée dans `/var/www/formation-manager` - L'application doit être installée dans `/var/www/formation-manager-itinova`
- Le service doit s'appeler `formation-manager` - Le service doit s'appeler `formation-manager-itinova`
**Exemple d'utilisation**: **Exemple d'utilisation**:
```bash ```bash
@@ -155,7 +155,7 @@ sudo ./update-app.sh
╚════════════════════════════════════════════════════════════╝ ╚════════════════════════════════════════════════════════════╝
Date: 2024-01-19 14:35:10 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 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 ```bash
# 1. Lister les sauvegardes # 1. Lister les sauvegardes
ls -lh /var/backups/formation-manager/ ls -lh /var/backups/formation-manager-itinova/
# 2. Arrêter le service # 2. Arrêter le service
sudo systemctl stop formation-manager sudo systemctl stop formation-manager-itinova
# 3. Restaurer les fichiers # 3. Restaurer les fichiers
cd /var/www/formation-manager cd /var/www/formation-manager-itinova
sudo rm -rf * 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 # 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) # 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 # 6. Redémarrer
sudo systemctl start formation-manager sudo systemctl start formation-manager-itinova
``` ```
## 📝 Configuration ## 📝 Configuration
@@ -244,9 +244,9 @@ sudo systemctl start formation-manager
Les scripts utilisent ces chemins par défaut: Les scripts utilisent ces chemins par défaut:
```bash ```bash
APP_DIR="/var/www/formation-manager" # Répertoire de l'application APP_DIR="/var/www/formation-manager-itinova" # Répertoire de l'application
BACKUP_DIR="/var/backups/formation-manager" # Répertoire des sauvegardes BACKUP_DIR="/var/backups/formation-manager-itinova" # Répertoire des sauvegardes
SERVICE_NAME="formation-manager" # Nom du service systemd SERVICE_NAME="formation-manager-itinova" # Nom du service systemd
``` ```
### Personnalisation ### Personnalisation
@@ -273,7 +273,7 @@ SERVICE_NAME="votre-service"
### Sauvegardes ### 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 - Seules les 10 dernières sauvegardes sont conservées
- Chaque sauvegarde inclut: fichiers + .env + base de données - Chaque sauvegarde inclut: fichiers + .env + base de données
- Pensez à sauvegarder régulièrement les sauvegardes importantes ailleurs - Pensez à sauvegarder régulièrement les sauvegardes importantes ailleurs
@@ -313,13 +313,13 @@ sudo ./update-app.sh
```bash ```bash
# Voir les logs # Voir les logs
sudo journalctl -u formation-manager -n 100 sudo journalctl -u formation-manager-itinova -n 100
# Vérifier la configuration # Vérifier la configuration
sudo systemctl status formation-manager sudo systemctl status formation-manager-itinova
# Vérifier les permissions # 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 ### 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;" mysql -h HOST -u USER -p -e "SELECT 1;"
# Vérifier le fichier .env # 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 ## 📞 Support

View File

@@ -17,8 +17,8 @@ YELLOW='\033[1;33m'
NC='\033[0m' # No Color NC='\033[0m' # No Color
# Configuration # Configuration
APP_DIR="/var/www/formation-manager" APP_DIR="/var/www/formation-manager-itinova"
BACKUP_DIR="/var/backups/formation-manager" BACKUP_DIR="/var/backups/formation-manager-itinova"
TIMESTAMP=$(date +%Y%m%d_%H%M%S) TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_NAME="backup_${TIMESTAMP}" BACKUP_NAME="backup_${TIMESTAMP}"

View File

@@ -17,9 +17,9 @@ BLUE='\033[0;34m'
NC='\033[0m' # No Color NC='\033[0m' # No Color
# Configuration # Configuration
APP_DIR="/var/www/formation-manager" APP_DIR="/var/www/formation-manager-itinova"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SERVICE_NAME="formation-manager" SERVICE_NAME="formation-manager-itinova"
echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}" echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║ Mise à jour Formation Manager Itinova ║${NC}" echo -e "${BLUE}║ Mise à jour Formation Manager Itinova ║${NC}"

Binary file not shown.

View File

@@ -714,3 +714,11 @@
- [x] Créer le script de sauvegarde avant mise à jour (backup-before-update.sh) - [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 la documentation de mise à jour (GUIDE_MISE_A_JOUR.md)
- [x] Créer le package de déploiement complet (formation-manager-update-*.tar.gz) - [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)