#!/bin/bash

# Script de déploiement pour Alphavigie sur O2switch
# Usage: ./deploy-prod.sh

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

# Configuration
REMOTE_HOST="titan-o2switch"
REMOTE_PATH="alphavigie.fr"
PROJECT_NAME="Alphavigie"

echo "🚀 Déploiement de $PROJECT_NAME en production..."

# 1. Vérifier que nous sommes sur main et à jour
echo "📥 Vérification du code local..."
git checkout main
git pull origin main

# 2. Synchroniser les fichiers (sans vendor, var, .env.local)
echo "📤 Synchronisation des fichiers vers le serveur..."
rsync -avz --delete \
    --exclude '.git' \
    --exclude 'vendor' \
    --exclude 'var' \
    --exclude 'node_modules' \
    --exclude '.env.local' \
    --exclude '.env.prod' \
    --exclude 'public/staradmin/node_modules' \
    ./ ${REMOTE_HOST}:${REMOTE_PATH}/

# 3. Copier le .env de production
echo "📝 Configuration de l'environnement de production..."
scp .env.prod ${REMOTE_HOST}:${REMOTE_PATH}/.env

# 4. Exécuter les commandes sur le serveur
echo "⚙️  Installation sur le serveur..."
ssh ${REMOTE_HOST} << 'ENDSSH'
    cd alphavigie.fr
    
    echo "📦 Installation des dépendances..."
    composer install --no-dev --optimize-autoloader --no-interaction
    
    echo "🗄️  Création du schéma de base de données..."
    php bin/console doctrine:schema:update --force --no-interaction || true
    
    echo "🧹 Vidage du cache..."
    php bin/console cache:clear --env=prod --no-warmup
    php bin/console cache:warmup --env=prod
    
    echo "📁 Configuration des permissions..."
    chmod -R 755 var
    chmod -R 755 public
    
    echo "✅ Installation terminée !"
ENDSSH

echo ""
echo "✅ Déploiement de $PROJECT_NAME terminé !"
echo ""
echo "🌐 URL : https://alphavigie.fr"
echo ""
echo "⚠️  À faire sur cPanel O2switch :"
echo "   1. Créer la base de données 'cimu4497_alphav'"
echo "   2. Créer l'utilisateur 'cimu4497_alphav' avec un mot de passe"
echo "   3. Associer l'utilisateur à la base de données"
echo "   4. Mettre à jour le mot de passe dans .env sur le serveur"
echo "   5. Configurer le document root vers public/"
