#!/bin/bash
# Script de déploiement vers le serveur de production CentOS 7
# Usage: ./deploy_to_production.sh

set -e  # Arrêter en cas d'erreur

# Configuration
SERVER_USER="estair"
SERVER_HOST="ns3190545.ip-135-125-105.eu"
REMOTE_PATH="/home/estair/public_html/app/connect/interface"
LOCAL_PATH="."

echo "========================================="
echo "Déploiement SPC-Last vers Production"
echo "========================================="
echo ""

# 1. Vérifier que nous sommes dans le bon répertoire
if [ ! -f "v2/api/flask_server.py" ]; then
    echo "❌ Erreur: Ce script doit être exécuté depuis le répertoire spc-last/"
    exit 1
fi

# 2. Copier le fichier .env.production vers v2/.env
echo "📋 Préparation du fichier .env pour la production..."
if [ -f "v2/.env.production" ]; then
    cp v2/.env.production v2/.env
    echo "✅ Fichier v2/.env créé depuis v2/.env.production"
else
    echo "⚠️  Attention: v2/.env.production non trouvé"
fi

# 3. Synchroniser les fichiers Python vers le serveur
echo ""
echo "📤 Synchronisation des fichiers vers le serveur..."
rsync -avz --progress \
    --exclude='*.pyc' \
    --exclude='__pycache__' \
    --exclude='.git' \
    --exclude='*.log' \
    --exclude='*.md' \
    --exclude='traces/' \
    --exclude='downloads/' \
    --exclude='selling/' \
    --exclude='logs/' \
    --exclude='node_modules/' \
    --exclude='.env.example' \
    v2/ ${SERVER_USER}@${SERVER_HOST}:${REMOTE_PATH}/v2/

echo "✅ Synchronisation terminée"

# 4. Commandes à exécuter sur le serveur
echo ""
echo "🔧 Configuration du serveur de production..."
ssh ${SERVER_USER}@${SERVER_HOST} << 'ENDSSH'
cd /home/estair/public_html/app/connect/interface

# Nettoyer le cache chromedriver corrompu
echo "🧹 Nettoyage du cache chromedriver..."
rm -rf /home/estair/.local/share/undetected_chromedriver/ || true

# Vérifier que Chrome est installé
if [ ! -f "/usr/local/bin/google-chrome" ]; then
    echo "⚠️  Chrome n'est pas installé à /usr/local/bin/google-chrome"
    echo "   Veuillez installer Chrome manuellement"
fi

# Vérifier les permissions
echo "🔐 Vérification des permissions..."
chmod -R 755 v2/
chmod 644 v2/.env

# Redémarrer le service spc-flask
echo "🔄 Redémarrage du service spc-flask..."
sudo systemctl restart spc-flask

# Attendre 5 secondes
sleep 5

# Vérifier le statut
echo "📊 Statut du service:"
sudo systemctl status spc-flask --no-pager -l | tail -20

echo ""
echo "📝 Dernières lignes des logs:"
sudo journalctl -u spc-flask -n 30 --no-pager

ENDSSH

echo ""
echo "========================================="
echo "✅ Déploiement terminé !"
echo "========================================="
echo ""
echo "Pour vérifier les logs en temps réel:"
echo "  ssh ${SERVER_USER}@${SERVER_HOST} 'sudo journalctl -u spc-flask -f'"
echo ""
echo "Pour tester l'API:"
echo "  curl http://localhost:5000/api/v1/health"