Contenu de cette version :
1. Corrections de bugs :
- Bug d'inscription (procédure publique createPublic)
- Bug email de confirmation (variables {{prenomApprenant}} et {{datesHTML}})
- Amélioration interface templates d'emails
2. Scripts de déploiement VPS :
- deploy-update.sh : Script automatique de mise à jour
- update-database.sql : Script SQL de mise à jour de la base
- INSTRUCTIONS-DEPLOIEMENT.md : Documentation complète
Le script deploy-update.sh gère automatiquement :
- Sauvegarde de la base de données
- Arrêt/redémarrage du serveur
- Récupération du code
- Installation des dépendances
- Migrations de base de données
- Compilation du projet
Prêt pour le déploiement en production.
5.6 KiB
Instructions de déploiement - Formation Manager Itinova
Version: d0d9d870
Date: 3 janvier 2025
📋 Résumé des modifications
Cette mise à jour contient les corrections suivantes :
-
Bug d'inscription - Mauvais apprenant associé
- Création d'une procédure publique
apprenants.createPublic - Les inscriptions depuis la page publique fonctionnent correctement
- Création d'une procédure publique
-
Bug email de confirmation - Variables non remplacées
- Correction du template d'inscription dans la base de données
- Ajout de la variable
{{datesHTML}}dans l'objet variables - Toutes les variables sont maintenant correctement remplacées
-
Amélioration de l'interface des templates d'emails
- Ajout du bouton
{{datesHTML}}dans l'éditeur - Prévisualisation améliorée avec exemple de dates formatées
- Ajout du bouton
🚀 Déploiement automatique (recommandé)
Prérequis
- Accès SSH au serveur VPS
- Git configuré avec accès au dépôt
- PM2 installé pour la gestion du processus
- pnpm installé
Étapes
-
Se connecter au serveur VPS
ssh votre-utilisateur@votre-serveur.com -
Aller dans le répertoire du projet
cd /chemin/vers/formation-manager-itinova -
Rendre le script exécutable
chmod +x deploy-update.sh -
Exécuter le script de mise à jour
./deploy-update.sh
Le script va automatiquement :
- ✅ Sauvegarder la base de données
- ✅ Arrêter le serveur
- ✅ Récupérer les dernières modifications
- ✅ Installer les dépendances
- ✅ Appliquer les migrations
- ✅ Compiler le projet
- ✅ Redémarrer le serveur
🔧 Déploiement manuel
Si vous préférez effectuer la mise à jour manuellement :
1. Sauvegarde de la base de données
# Créer un répertoire de backup
mkdir -p backups
# Sauvegarder la base de données
mysqldump -h VOTRE_HOST -u VOTRE_USER -p VOTRE_DATABASE > backups/db-backup-$(date +%Y%m%d-%H%M%S).sql
2. Arrêter le serveur
pm2 stop formation-manager
3. Récupérer les modifications
git fetch origin
git checkout main
git pull origin main
4. Installer les dépendances
pnpm install
5. Appliquer les migrations de base de données
pnpm db:push
OU appliquer manuellement le script SQL :
mysql -h VOTRE_HOST -u VOTRE_USER -p VOTRE_DATABASE < update-database.sql
6. Compiler le projet
pnpm build
7. Redémarrer le serveur
pm2 restart formation-manager
# OU si c'est le premier démarrage :
pm2 start npm --name "formation-manager" -- start
8. Vérifier le statut
pm2 status formation-manager
pm2 logs formation-manager --lines 50
🧪 Tests après déploiement
Après le déploiement, vérifiez que tout fonctionne correctement :
1. Test d'inscription publique
- Aller sur la page d'inscription publique d'une formation
- Créer une nouvelle inscription avec un nouvel apprenant
- Vérifier que l'apprenant est correctement créé dans la base de données
- Vérifier que l'inscription est associée au bon apprenant
2. Test de l'email de confirmation
- Effectuer une inscription
- Vérifier la réception de l'email de confirmation
- Vérifier que toutes les variables sont remplacées (notamment
{{prenomApprenant}}et{{datesHTML}}) - Vérifier que les invitations ICS sont jointes (une par date)
3. Test de l'interface des templates
- Aller dans Configuration > Templates d'emails
- Vérifier que le bouton "Dates (HTML)" est présent
- Cliquer sur le bouton pour insérer
{{datesHTML}} - Vérifier la prévisualisation
📊 Vérification de la base de données
Pour vérifier que la mise à jour du template d'inscription a été appliquée :
SELECT
type,
name,
bodyContent,
updatedAt
FROM emailTemplates
WHERE type = 'inscription';
Le bodyContent doit contenir les variables {{prenomApprenant}}, {{nomApprenant}}, et {{datesHTML}}.
🔄 Rollback (en cas de problème)
Si vous rencontrez des problèmes après la mise à jour :
1. Restaurer la base de données
# Lister les sauvegardes disponibles
ls -lh backups/
# Restaurer une sauvegarde
mysql -h VOTRE_HOST -u VOTRE_USER -p VOTRE_DATABASE < backups/db-backup-YYYYMMDD-HHMMSS.sql
2. Revenir à la version précédente du code
# Voir l'historique des commits
git log --oneline
# Revenir au commit précédent
git checkout COMMIT_HASH
# Réinstaller les dépendances
pnpm install
# Recompiler
pnpm build
# Redémarrer
pm2 restart formation-manager
📞 Support
En cas de problème lors du déploiement :
- Consulter les logs du serveur :
pm2 logs formation-manager - Vérifier l'état du serveur :
pm2 status - Vérifier les logs de la base de données
- Contacter le support technique
📝 Notes importantes
- Sauvegarde automatique : Le script
deploy-update.shcrée automatiquement une sauvegarde de la base de données avant toute modification - Temps d'arrêt : Le déploiement nécessite un arrêt temporaire du serveur (environ 2-3 minutes)
- Variables d'environnement : Assurez-vous que toutes les variables d'environnement nécessaires sont correctement configurées (DATABASE_URL, RESEND_API_KEY, etc.)
- Permissions : Le script doit être exécuté avec les permissions appropriées pour accéder à la base de données et redémarrer PM2
Version du checkpoint : d0d9d870
Date de création : 3 janvier 2025
Auteur : Manus AI