#!/usr/bin/env bash
# ---------------------------------------------------------------------------
# Transcripteur Audio - Installation et lancement en un seul script
# Mac / Linux
#
# Utilisation :
#   1. Ouvrir un terminal dans ce dossier
#   2. Rendre le script exécutable (une seule fois) :  chmod +x installer_et_lancer.sh
#   3. Lancer :  ./installer_et_lancer.sh
#
# Le script crée automatiquement l'environnement virtuel Python, installe les
# dépendances si besoin, démarre le serveur puis ouvre votre navigateur.
# ---------------------------------------------------------------------------
set -e

cd "$(dirname "$0")"

echo "=================================================="
echo "   Transcripteur Audio - Installation & lancement"
echo "=================================================="
echo

# --- 1. Vérifier que Python est installé -----------------------------------
PYTHON_BIN=""
if command -v python3 >/dev/null 2>&1; then
    PYTHON_BIN="python3"
elif command -v python >/dev/null 2>&1; then
    PYTHON_BIN="python"
else
    echo "❌ Python n'est pas installé sur cet ordinateur."
    echo "   Téléchargez-le ici : https://www.python.org/downloads/"
    echo "   puis relancez ce script."
    exit 1
fi

echo "✔ Python détecté : $($PYTHON_BIN --version)"

# --- 2. Créer l'environnement virtuel s'il n'existe pas déjà ----------------
if [ ! -d "venv" ]; then
    echo "→ Création de l'environnement virtuel (venv)..."
    "$PYTHON_BIN" -m venv venv
else
    echo "✔ Environnement virtuel déjà présent."
fi

# shellcheck disable=SC1091
source venv/bin/activate

# --- 3. Installer / mettre à jour les dépendances ---------------------------
echo "→ Installation des dépendances (peut prendre quelques minutes la première fois)..."
pip install --upgrade pip -q
pip install -r requirements.txt -q
echo "✔ Dépendances installées."

# --- 4. Ouvrir le navigateur automatiquement après quelques secondes --------
(
    sleep 2
    URL="http://localhost:5000"
    if command -v open >/dev/null 2>&1; then
        open "$URL"                      # macOS
    elif command -v xdg-open >/dev/null 2>&1; then
        xdg-open "$URL"                  # Linux
    else
        echo "→ Ouvrez manuellement votre navigateur à l'adresse $URL"
    fi
) &

# --- 5. Lancer le serveur (reste ouvert tant que l'appli est utilisée) ------
echo
echo "→ Démarrage de l'application sur http://localhost:5000"
echo "  (laissez cette fenêtre ouverte ; Ctrl+C pour arrêter l'application)"
echo
python app.py
