# Delta `0.1.4-pre.011` — rapports Environnement / `.env` ## Statut Tranche livrée pour validation locale. `0.1.4-pre.010` est considérée validée : compilation/Clippy/tests sont propres, les vues global/profil/effective sûre sont opérationnelles et la provenance top-level/environnement observée correspond au contrat Config. ## Objectif Rendre fonctionnelle la vue **Environnement / `.env`** en lecture seule, sans déplacer l'ownership des variables d'environnement hors de `ksp-config-lib` et sans ouvrir encore les mutations `.env` prévues en `pre.012`. ## Modifications ### Backend - ajout de `src/environment.rs` ; - ajout du DTO TS-RS `ConfigEnvironmentReportDto` ; - projection exclusive de `ConfigManagement::environment_report()` ; - exposition de : - variable ; - namespace KSP/KSPB ; - sensibilité ; - desired `.env` sûre ; - effective sûre ; - source effective ; - shadowing par le process ; - aucune lecture directe de `std::env` ou `.env` dans l'application ; - aucune valeur réelle Secret dans le DTO ou les logs ; - nouveau domaine tracing `config.environment` ; - nouvelle commande Tauri centralisée `get_environment_report`. ### Frontend - ajout de `frontend/ts/environment.ts` ; - remplacement du placeholder Environnement par une table fonctionnelle ; - DataTables réutilisé pour tri, filtre et pagination ; - bouton **Rafraîchir** ; - logs `debug` sur les refresh et `trace` sur les mutations DOM, sans valeurs de variables ; - le placeholder restant concerne uniquement Logging. ### Tests - classification des namespaces `KSP*` / `KSPB*` ; - labels sources et sensibilités ; - contrôle de l'ordre déterministe du rapport lorsqu'il contient des entrées ; - contrôle supplémentaire que toute valeur Secret projetée reste `REDACTED_CONFIG_VALUE`. ### Documentation - plan `0.1.4` : `pre.010` réalisée, `pre.011` en cours ; - README/USAGE/TODO alignés sur la nouvelle surface Environnement en lecture seule. ## Hors périmètre Restent pour `pre.012` : - `set_dotenv_value()` ; - `remove_dotenv_value()` ; - compte-rendu de mutation ; - test explicite process > `.env` ; - édition de valeurs. Le reveal réel des Secrets reste réservé à `pre.013`. ## Version technique ```text workspace.package.version = "0.1.4-pre.11" ``` ## Validation locale demandée ```bash cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-app-config-desk cargo test -p ksp-config-lib cargo tree -p ksp-app-config-desk cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json ``` Dans **Environnement / `.env`** : 1. les variables présentes dans le `.env` courant doivent apparaître ; 2. `KSP_LOGS_DIRECTORY`, `KSP_DESK_SPLASH_MINIMUM_MS` et `KSP_DESK_SPLASH_FADE_MS` doivent être `Internal` et, si elles ne sont pas shadowed, avoir `source=dotenv` ; 3. le filtre DataTables doit pouvoir réduire le tableau à zéro résultat ; 4. **Rafraîchir** doit relancer `get_environment_report` ; 5. aucune valeur Secret réelle ne doit être visible ou journalisée.