#!/bin/bash # Script pour dĂ©marrer le backend Go Veza # Usage: ./scripts/start-backend.sh set -e # Couleurs pour les messages RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo -e "${BLUE}🚀 DĂ©marrage du backend Veza...${NC}" # VĂ©rifier que Go est installĂ© if ! command -v go &> /dev/null; then echo -e "${RED}❌ Go n'est pas installĂ©. Veuillez installer Go 1.23+${NC}" exit 1 fi # Aller dans le rĂ©pertoire du backend cd "$(dirname "$0")/../veza-backend-api" || exit 1 # VĂ©rifier que le rĂ©pertoire existe if [ ! -f "go.mod" ]; then echo -e "${RED}❌ RĂ©pertoire backend non trouvĂ© ou invalide${NC}" exit 1 fi # VĂ©rifier les dĂ©pendances echo -e "${YELLOW}📩 VĂ©rification des dĂ©pendances...${NC}" go mod download # VĂ©rifier que la base de donnĂ©es est accessible echo -e "${YELLOW}🔍 VĂ©rification de la connexion Ă  la base de donnĂ©es...${NC}" if ! command -v psql &> /dev/null; then echo -e "${YELLOW}⚠ psql non trouvĂ©, impossible de vĂ©rifier la DB. Continuons...${NC}" else # Tenter de se connecter (ne pas Ă©chouer si ça ne marche pas) psql -h localhost -U veza -d veza -c "SELECT 1;" &> /dev/null || echo -e "${YELLOW}⚠ Impossible de se connecter Ă  la DB. Assurez-vous qu'elle est dĂ©marrĂ©e.${NC}" fi # VĂ©rifier si air (hot reload) est disponible if command -v air &> /dev/null; then echo -e "${GREEN}✅ Air dĂ©tectĂ© - DĂ©marrage avec hot reload${NC}" echo -e "${BLUE}📍 Backend sera accessible sur http://127.0.0.1:8080${NC}" echo -e "${BLUE}📍 API sera accessible sur http://127.0.0.1:8080/api/v1${NC}" echo "" exec air else echo -e "${YELLOW}⚠ Air non trouvĂ© - DĂ©marrage sans hot reload${NC}" echo -e "${YELLOW} Installez air avec: go install github.com/air-verse/air@latest${NC}" echo -e "${BLUE}📍 Backend sera accessible sur http://127.0.0.1:8080${NC}" echo -e "${BLUE}📍 API sera accessible sur http://127.0.0.1:8080/api/v1${NC}" echo "" # Chercher le point d'entrĂ©e if [ -f "cmd/modern-server/main.go" ]; then exec go run cmd/modern-server/main.go elif [ -f "cmd/server/main.go" ]; then exec go run cmd/server/main.go else echo -e "${RED}❌ Point d'entrĂ©e non trouvĂ© (cmd/modern-server/main.go ou cmd/server/main.go)${NC}" exit 1 fi fi