# Prérequis SDL3 Desktop ## Portée Cette politique concerne le développement et les runners Desktop natifs basés sur SDL3. Elle ne définit pas le packaging Android ni Web : - Android utilisera son intégration SDL3/NDK/AAR dédiée ; - Web utilisera la cible Emscripten/WASM dédiée ; - la présence de SDL3 système sur le poste Desktop n'implique aucune dépendance runtime identique sur Android ou Web. ## Stratégie Desktop Linux Le workspace utilise la crate Rust `sdl3` avec la feature `use-pkg-config`. Le build Desktop recherche donc une installation SDL3 système à travers `pkg-config`. Cette stratégie est préférée au build vendored `build-from-source` pour la baseline actuelle, car la combinaison `sdl3 0.16.x` / `sdl3-sys 0.5.12` / `sdl3-src 3.4.16` peut échouer lorsque la source empaquetée active les tests CMake sans fournir le répertoire `test`. ## Debian 13 / Trixie Installer les dépendances de développement : ```bash sudo apt update sudo apt install pkg-config libsdl3-dev ``` Vérifier ensuite : ```bash pkg-config --modversion sdl3 pkg-config --cflags --libs sdl3 ``` Sur Debian 13/Trixie, `libsdl3-dev` fournit notamment : ```text /usr/include/SDL3/ /usr/lib//libSDL3.so /usr/lib//pkgconfig/sdl3.pc ``` ## Règle de validation Avant les premières gates Cargo SDL3 sur une nouvelle machine Desktop Linux, exécuter : ```bash pkg-config --modversion sdl3 ``` Si cette commande échoue, installer/configurer SDL3 avant de considérer un échec Cargo comme un défaut du code du projet. ## Portabilité future La dépendance système Desktop est une décision de développement, pas une contrainte universelle de distribution. Les options futures restent ouvertes : - bundle de SDL3 avec un package Desktop ; - AppImage/Flatpak ; - package natif par distribution ; - build statique si une justification apparaît ; - distribution Tauri distincte si un shell Desktop riche est nécessaire. Toute évolution de stratégie doit être documentée explicitement avant modification des manifests.