Files
formation-manager-itinova/UPDATE.md

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

  1. Ouvrir votre navigateur et aller sur votre site
  2. Cliquer sur "Connexion Locale"
  3. Entrer :
    • Identifiant : adminServFormation
    • Mot de passe : Itinova69!
  4. 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.

Ouvrir les outils de développement du navigateur (F12) :

  1. Aller dans l'onglet "Application" (Chrome) ou "Stockage" (Firefox)
  2. Regarder les cookies
  3. Vous devez voir un cookie nommé manus-session avec 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

  1. Vérifier que vous avez bien extrait la nouvelle archive
  2. Vérifier que le service a bien redémarré :
    sudo systemctl restart formation-manager
    
  3. Vider le cache du navigateur et supprimer les cookies
  4. 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 :

  1. Vérifiez les logs : sudo journalctl -u formation-manager -n 100
  2. Exécutez le script de diagnostic : ./diagnose.sh
  3. 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.