Checkpoint: Correction du bug React #31 dans le calendrier - Erreur lors du survol des vignettes de séquences
Corrections apportées: - Utilisation de clés stables (format yyyy-MM-dd) au lieu de day.toISOString() pour éviter l'erreur React #31 - Gestion correcte des objets Date vs strings pour dateBloquage dans le modal - Gestion correcte du champ formateur qui peut être un objet ou une string - Ajout de clés uniques pour les dates de formation dans le modal Le calendrier fonctionne maintenant sans erreur lors du survol et de l'ouverture des modals de détails.
This commit is contained in:
102
update.sh
Executable file
102
update.sh
Executable file
@@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
|
||||
###############################################################################
|
||||
# Script de mise à jour rapide - Formation Manager Itinova
|
||||
# Version: 7a737c05
|
||||
# Auteur: Manus AI
|
||||
# Description: Script simplifié pour mettre à jour l'application en production
|
||||
###############################################################################
|
||||
|
||||
set -e
|
||||
|
||||
# Couleurs
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
# Configuration
|
||||
APP_DIR="/var/www/formation-manager-itinova"
|
||||
SERVICE_NAME="formation-manager"
|
||||
|
||||
print_info() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
print_success() {
|
||||
echo -e "${GREEN}[OK]${NC} $1"
|
||||
}
|
||||
|
||||
print_error() {
|
||||
echo -e "${RED}[ERREUR]${NC} $1"
|
||||
}
|
||||
|
||||
# Vérifier les privilèges sudo
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
print_error "Ce script doit être exécuté avec sudo"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "========================================"
|
||||
echo " Mise à jour Formation Manager Itinova"
|
||||
echo " Version: 7a737c05"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
|
||||
cd "$APP_DIR"
|
||||
|
||||
# 1. Arrêter le service
|
||||
print_info "Arrêt du service..."
|
||||
systemctl stop "$SERVICE_NAME"
|
||||
print_success "Service arrêté"
|
||||
|
||||
# 2. Sauvegarder .env
|
||||
print_info "Sauvegarde de la configuration..."
|
||||
cp .env /tmp/.env.backup
|
||||
print_success "Configuration sauvegardée"
|
||||
|
||||
# 3. Mettre à jour le code
|
||||
print_info "Mise à jour du code..."
|
||||
git pull origin main
|
||||
print_success "Code mis à jour"
|
||||
|
||||
# 4. Installer les dépendances
|
||||
print_info "Installation des dépendances..."
|
||||
pnpm install
|
||||
print_success "Dépendances installées"
|
||||
|
||||
# 5. Appliquer les migrations
|
||||
print_info "Application des migrations..."
|
||||
pnpm db:push
|
||||
print_success "Migrations appliquées"
|
||||
|
||||
# 6. Build
|
||||
print_info "Compilation de l'application..."
|
||||
pnpm run build
|
||||
print_success "Application compilée"
|
||||
|
||||
# 7. Restaurer .env
|
||||
print_info "Restauration de la configuration..."
|
||||
cp /tmp/.env.backup .env
|
||||
print_success "Configuration restaurée"
|
||||
|
||||
# 8. Redémarrer le service
|
||||
print_info "Redémarrage du service..."
|
||||
systemctl start "$SERVICE_NAME"
|
||||
sleep 3
|
||||
|
||||
if systemctl is-active --quiet "$SERVICE_NAME"; then
|
||||
print_success "Service redémarré"
|
||||
else
|
||||
print_error "Échec du redémarrage"
|
||||
systemctl status "$SERVICE_NAME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
print_success "Mise à jour terminée avec succès !"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
print_info "Vérifiez les logs: sudo journalctl -u $SERVICE_NAME -f"
|
||||
Reference in New Issue
Block a user