2026-10-01 16:04:37 +02:00

52 lines
1.4 KiB
Bash

#!/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