4.2 KiB
Guide de mise à jour sur VPS
Problème résolu dans cette version
Cette mise à jour corrige le problème de redirection vers portal.manus.im après une connexion locale réussie.
Cause : Incompatibilité entre les bibliothèques JWT utilisées pour créer et vérifier les tokens de session.
Solution : Utilisation de la même méthode de signature (sdk.createSessionToken()) que le système OAuth.
Procédure de mise à jour
1. Sauvegarder la configuration actuelle
# Sauvegarder le fichier .env
cp /var/www/formation-manager-itinova/.env /var/www/formation-manager-itinova/.env.backup
# Sauvegarder la base de données (optionnel mais recommandé)
mysqldump -u votre_utilisateur -p formation_manager > backup_$(date +%Y%m%d_%H%M%S).sql
2. Arrêter le service
sudo systemctl stop formation-manager
3. Extraire la nouvelle version
# Aller dans le répertoire parent
cd /var/www
# Sauvegarder l'ancienne version
mv formation-manager-itinova formation-manager-itinova.old
# Extraire la nouvelle archive
tar -xzf formation-manager-itinova-final-fixed.tar.gz
# Restaurer le fichier .env
cp formation-manager-itinova.old/.env formation-manager-itinova/.env
# Définir les bonnes permissions
chown -R www-data:www-data formation-manager-itinova
4. Installer les dépendances
cd formation-manager-itinova
pnpm install
5. Appliquer les migrations de base de données
pnpm db:push
6. Compiler l'application
pnpm build
7. Redémarrer le service
sudo systemctl start formation-manager
sudo systemctl status formation-manager
8. Vérifier les logs
# Voir les logs en temps réel
sudo journalctl -u formation-manager -f
# Voir les dernières lignes
sudo journalctl -u formation-manager -n 50
Vérification que la mise à jour a fonctionné
Test de connexion locale
- Ouvrir votre navigateur et aller sur votre site
- Cliquer sur "Connexion Locale"
- Entrer :
- Identifiant : adminServFormation
- Mot de passe : Itinova69!
- Cliquer sur "Se connecter"
Résultat attendu : Vous devez être redirigé vers le tableau de bord (/admin) et rester connecté, sans être redirigé vers portal.manus.im.
Vérifier le cookie de session
Ouvrir les outils de développement du navigateur (F12) :
- Aller dans l'onglet "Application" (Chrome) ou "Stockage" (Firefox)
- Regarder les cookies
- Vous devez voir un cookie nommé
manus-sessionavec une valeur JWT
Vérifier que l'API fonctionne
Ouvrir la console du navigateur (F12) et taper :
fetch('/api/trpc/auth.me', {
credentials: 'include'
}).then(r => r.json()).then(console.log)
Résultat attendu : Vous devez voir vos informations utilisateur, pas une erreur d'authentification.
En cas de problème
Le service ne démarre pas
# Vérifier les erreurs
sudo journalctl -u formation-manager -n 100
# Vérifier que les dépendances sont installées
cd /var/www/formation-manager-itinova
pnpm install
Toujours redirigé vers portal.manus.im
- Vérifier que vous avez bien extrait la nouvelle archive
- Vérifier que le service a bien redémarré :
sudo systemctl restart formation-manager - Vider le cache du navigateur et supprimer les cookies
- Vérifier les logs du serveur :
sudo journalctl -u formation-manager -f
L'utilisateur admin n'existe pas
cd /var/www/formation-manager-itinova
./create-admin.sh
Rollback (retour à l'ancienne version)
Si la mise à jour pose problème :
# Arrêter le service
sudo systemctl stop formation-manager
# Restaurer l'ancienne version
cd /var/www
rm -rf formation-manager-itinova
mv formation-manager-itinova.old formation-manager-itinova
# Redémarrer
sudo systemctl start formation-manager
Support
Si vous rencontrez des problèmes après avoir suivi ce guide :
- Vérifiez les logs :
sudo journalctl -u formation-manager -n 100 - Exécutez le script de diagnostic :
./diagnose.sh - Exécutez le script de vérification :
./verify-login.sh
Ces scripts vous donneront des informations détaillées sur la configuration et les problèmes éventuels.