@echo off setlocal enabledelayedexpansion REM Set file paths set ROOT_DIR=%~dp0.. set CONFIG_DIR=%ROOT_DIR%\config set CONFIG_FILE=%ROOT_DIR%\config.json set REQUIREMENTS=%CONFIG_DIR%\requirements.txt set ENV_FILE=%ROOT_DIR%\.env REM Extract config.json fields using PowerShell for /f "delims=" %%i in ('powershell -NoProfile -Command ^ "Get-Content '%CONFIG_FILE%' | ConvertFrom-Json | Select-Object -ExpandProperty architecture"') do set ARCHITECTURE=%%i REM Use the Python interpreter provided by the environment set PYTHON_EXEC=python if exist "%ENV_FILE%" ( for /f "usebackq tokens=1,* delims==" %%A in ("%ENV_FILE%") do if /I "%%A"=="PYTHON_PATH" set "PYTHON_EXEC=%%B" ) REM Construct python executable path set ENV_NAME=WINenv_%ARCHITECTURE% set ENV_PATH=%CONFIG_DIR%\%ENV_NAME% "%PYTHON_EXEC%" --version >nul 2>&1 if errorlevel 1 ( echo [ERROR] Python introuvable dans le PATH. echo Veuillez vérifier l'environnement Python fourni par Docker. exit /b 1 ) REM Show config info echo [INFO] Configuration : echo Python: %PYTHON_EXEC% echo Env: %ENV_NAME% REM Check if virtual environment exists if not exist "%ENV_PATH%\Scripts" ( echo [INFO] Environnement virtuel introuvable, création... "%PYTHON_EXEC%" -m venv "%ENV_PATH%" echo [INFO] Installation des dépendances... "%ENV_PATH%\Scripts\python" -m pip install --upgrade pip "%ENV_PATH%\Scripts\python" -m pip install -r "%REQUIREMENTS%" ) else ( echo [INFO] Environnement virtuel trouvé. ) REM Activate and launch VS Code echo [INFO] Lancement de VS Code... call "%ENV_PATH%/Scripts/activate.bat" set "CODE_EXE=" for /f "delims=" %%i in ('where code 2^>nul') do ( set "CODE_CMD=%%~fi" goto :found ) echo [ERROR] VS Code CLI not found. exit /b 1 :found for %%i in ("%CODE_CMD%") do ( set "CODE_BIN=%%~dpi" ) for %%i in ("%CODE_BIN%..") do ( set "VSCODE_ROOT=%%~fi" ) set "CODE_EXE=%VSCODE_ROOT%\Code.exe" if exist "%CODE_EXE%" ( start "" "%CODE_EXE%" "%ROOT_DIR%" ) else ( start "" code "%ROOT_DIR%" ) exit