#!/bin/bash # Script de dĂ©marrage du frontend Veza en environnement lab avec vraie BDD # Usage: ./scripts/start_lab.sh set -e # Couleurs GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' SCRIPT_DIR=$(dirname "$0") echo -e "${GREEN}🚀 DĂ©marrage du frontend Veza en mode Lab${NC}" # VĂ©rifier que nous sommes dans apps/web if [ ! -f "package.json" ]; then echo -e "${RED}❌ Erreur: Ce script doit ĂȘtre exĂ©cutĂ© depuis le rĂ©pertoire apps/web${NC}" exit 1 fi # 1. Chargement de .env.lab si prĂ©sent if [ -f .env.lab ]; then echo -e "${YELLOW}📄 Chargement de la configuration depuis .env.lab...${NC}" export $(grep -v '^#' .env.lab | xargs) fi # 2. Valeurs par dĂ©faut (si non dĂ©finies dans .env.lab) export VITE_API_URL="${VITE_API_URL:-http://localhost:8080/api/v1}" export VITE_WS_URL="${VITE_WS_URL:-ws://localhost:8081}" export VITE_STREAM_URL="${VITE_STREAM_URL:-http://localhost:8082}" export VITE_USE_MSW="${VITE_USE_MSW:-0}" export VITE_APP_NAME="${VITE_APP_NAME:-Veza Lab}" echo -e "${GREEN}📋 Configuration active :${NC}" echo -e " API URL : $VITE_API_URL" echo -e " WS URL : $VITE_WS_URL" echo -e " Stream URL: $VITE_STREAM_URL" echo -e " Mode MSW : $VITE_USE_MSW" echo "" # 3. VĂ©rification des backends echo -e "${YELLOW}🔍 Lancement du diagnostic backend...${NC}" # On appelle le script frĂšre check_backend.sh if [ -f "$SCRIPT_DIR/check_backend.sh" ]; then bash "$SCRIPT_DIR/check_backend.sh" || { echo -e "${RED}❌ Échec de la vĂ©rification des backends.${NC}" echo -e "${YELLOW} Le frontend risque de ne pas fonctionner correctement.${NC}" # On ne bloque pas forcĂ©ment le start (ou on demande confirmation), # mais ici le check_backend.sh exit 1 si critique. # Si on veut forcer l'arrĂȘt : exit 1 # L'Ă©noncĂ© dit : "check_backend.sh avant de lancer Vite" exit 1 } else echo -e "${YELLOW}⚠ Script check_backend.sh introuvable, pas de vĂ©rification prĂ©alable.${NC}" fi # 4. DĂ©marrage echo "" echo -e "${GREEN}🌐 DĂ©marrage de Vite...${NC}" if [ ! -d "node_modules" ]; then npm install fi # On passe les vars explicitement au cas oĂč vite ne les chope pas par l'export shell (normalement si) # Mais Vite lit aussi les .env donc attention aux conflits. # L'export shell a prioritĂ© sur .env files pour process.env, mais Vite config client... # Vite remplace import.meta.env par les valeurs. npm run dev