#!/bin/bash # ======================================== # SEO Generator Server - Launcher Linux/WSL # ======================================== # Couleurs pour l'affichage RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo "" echo "========================================" echo " SEO Generator Server - Launcher" echo "========================================" echo "" # Vérifier que Node.js est installé if ! command -v node &> /dev/null; then echo -e "${RED}[ERREUR]${NC} Node.js n'est pas installé ou pas dans le PATH" echo "" echo "Installez Node.js avec:" echo " sudo apt-get update" echo " sudo apt-get install nodejs npm" echo "" exit 1 fi echo -e "${GREEN}[OK]${NC} Node.js détecté: $(node --version)" # Vérifier que npm est installé if ! command -v npm &> /dev/null; then echo -e "${RED}[ERREUR]${NC} npm n'est pas installé" exit 1 fi echo -e "${GREEN}[OK]${NC} npm détecté: $(npm --version)" echo "" # Vérifier que package.json existe if [ ! -f "package.json" ]; then echo -e "${RED}[ERREUR]${NC} package.json introuvable" echo "Assurez-vous d'être dans le bon dossier" exit 1 fi # Vérifier que .env existe if [ ! -f ".env" ]; then echo -e "${YELLOW}[ATTENTION]${NC} Fichier .env introuvable" echo "Le serveur risque de ne pas fonctionner correctement" echo "" read -p "Continuer quand même? (y/N) " -n 1 -r echo "" if [[ ! $REPLY =~ ^[Yy]$ ]]; then exit 1 fi fi # Vérifier que node_modules existe, sinon installer if [ ! -d "node_modules" ]; then echo -e "${BLUE}[INFO]${NC} Installation des dépendances..." npm install if [ $? -ne 0 ]; then echo -e "${RED}[ERREUR]${NC} Erreur lors de l'installation des dépendances" exit 1 fi echo "" fi # Vérifier que le dossier configs existe if [ ! -d "configs" ]; then echo -e "${BLUE}[INFO]${NC} Création du dossier configs..." mkdir -p configs fi echo "========================================" echo " Démarrage du serveur..." echo "========================================" echo "" echo -e "${GREEN}Mode:${NC} MANUAL" echo -e "${GREEN}Port:${NC} 3000" echo -e "${GREEN}WebSocket:${NC} 8081" echo "" echo -e "${BLUE}Interface disponible sur:${NC}" echo " http://localhost:3000" echo "" echo -e "${YELLOW}Appuyez sur Ctrl+C pour arrêter le serveur${NC}" echo "========================================" echo "" # Option pour ouvrir automatiquement le navigateur (si disponible) # DÉSACTIVÉ par défaut pour accélérer le démarrage # Décommentez les lignes suivantes si vous voulez l'option interactive # if command -v xdg-open &> /dev/null; then # read -p "Ouvrir le navigateur automatiquement? (y/N) " -n 1 -r # echo "" # if [[ $REPLY =~ ^[Yy]$ ]]; then # # Attendre 2 secondes que le serveur démarre # (sleep 2 && xdg-open http://localhost:3000) & # fi # fi # ⚡ DÉMARRAGE RAPIDE: Ouvrir le navigateur automatiquement en background if command -v xdg-open &> /dev/null; then (sleep 3 && xdg-open http://localhost:3000) &> /dev/null & fi # Démarrer le serveur en mode MANUAL npm start # Si le serveur s'arrête echo "" echo "========================================" echo " Serveur arrêté" echo "========================================"