#!/bin/bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" CONFIG_DIR="$PROJECT_DIR/config" CONFIG_FILE="$PROJECT_DIR/config.json" ENV_FILE="$PROJECT_DIR/.env" if [ -f "$ENV_FILE" ]; then set -a # shellcheck disable=SC1090 . "$ENV_FILE" set +a fi SYSTEM_PYTHON="${PYTHON_PATH:-python3}" if ! command -v "$SYSTEM_PYTHON" >/dev/null 2>&1; then echo "[ERROR] Python introuvable : $SYSTEM_PYTHON" >&2 exit 1 fi ARCHITECTURE="$("$SYSTEM_PYTHON" -c "import json; print(json.load(open(r'$CONFIG_FILE', encoding='utf-8'))['architecture'])")" if [ "$(uname -s)" = "Darwin" ]; then ENV_NAME="MACenv_${ARCHITECTURE}" else ENV_NAME="LINenv_${ARCHITECTURE}" fi ENV_PATH="$CONFIG_DIR/$ENV_NAME" PYTHON_IN_VENV="$ENV_PATH/bin/python" if [ ! -x "$PYTHON_IN_VENV" ]; then echo "[INFO] Creation de l'environnement $ENV_NAME..." "$SYSTEM_PYTHON" -m venv "$ENV_PATH" "$PYTHON_IN_VENV" -m pip install --upgrade pip "$PYTHON_IN_VENV" -m pip install -r "$CONFIG_DIR/requirements.txt" else echo "[INFO] Environnement $ENV_NAME trouve." fi if command -v code >/dev/null 2>&1; then code "$PROJECT_DIR" elif [ "$(uname -s)" = "Darwin" ] && command -v open >/dev/null 2>&1; then open -a "Visual Studio Code" "$PROJECT_DIR" elif command -v xdg-open >/dev/null 2>&1; then xdg-open "$PROJECT_DIR" else echo "[ERROR] Impossible d'ouvrir le projet : installez VS Code (commande code) ou xdg-open." >&2 exit 1 fi