Files
khadhroony-solana-project/crates/ksp-app-config-desk/README.md

3.3 KiB

ksp-app-config-desk

ksp-app-config-desk est l'application desktop spécialisée de management et de validation de la configuration KSP.

La crate est un package Tauri mixte :

package : ksp-app-config-desk
lib     : ksp_app_config_desk_lib
bin     : ksp-app-config-desk

Responsabilités

L'application reste une couche d'interface/composition. Les responsabilités de parsing, validation, profils, environnement, .env, secrets et persistence restent dans ksp-config-lib; le runtime Logging restera possédé par ksp-logging-lib.

Le gabarit desktop actif fournit maintenant :

  • le verrou single-instance ;
  • l'assemblage Tauri centralisé dans src/tauri.rs ;
  • les fenêtres splash et main ;
  • le frontend Vanilla TypeScript + Vite sous frontend/ ;
  • SCSS, Bootstrap et Font Awesome ;
  • SimpleBar + resize-observer-polyfill pour le scrolling du shell ;
  • tauri-plugin-tracing côté Rust et @fltsci/tauri-plugin-tracing côté frontend ;
  • les ports dédiés 1430 pour Vite HTTP et 1431 pour le WebSocket de développement ;
  • la destination frontend externe commune à Tauri et Vite.

Le bridge de logging frontend KSP à target explicite n'est pas encore introduit : il appartient à une tranche dédiée afin de passer par ksp-logging-lib et de ne pas figer le target vide du bridge JS générique comme contrat KSP.

Layout frontend

frontend/
├── imgs/
├── sass/
│   ├── _app.scss
│   ├── _bootswatch.scss
│   ├── _fontawesome.scss
│   ├── _simplebar.scss
│   ├── _variables.scss
│   ├── main.scss
│   └── splash.scss
├── ts/
│   ├── main.ts
│   └── splash.ts
├── main.html
└── splash.html

Les futurs bindings TS-RS seront générés sous :

frontend/ts/bindings/ksp_app_config_desk/...

Le répertoire de bindings n'est pas créé artificiellement avant le premier DTO réel.

Artefacts frontend

Les artefacts frontend construits ne sont pas versionnés. tauri.conf.json fixe :

../../builds/khadhroony-solana-project/ksp-app-config-desk/dist

vite.config.ts résout cette même destination depuis la racine de la crate, ce qui maintient dist hors du workspace source et l'aligne avec la stratégie .cargo/config.toml pour les artefacts Rust.

Ports desktop

ksp-app-config-desk utilise :

Vite HTTP : 1430
Vite WS   : 1431

Le port HTTP est strict. Les futures applications desk utilisent les couples suivants 1432/1433, 1434/1435, etc.

Dépendances frontend

Les bibliothèques consommées par le bundle applicatif sont déclarées sous dependencies : @fltsci/tauri-plugin-tracing, @fortawesome/fontawesome-free, @tauri-apps/api, bootstrap, simplebar et resize-observer-polyfill.

Les outils de compilation/développement et déclarations de types appartiennent à devDependencies, notamment @tauri-apps/cli, @types/bootstrap, @types/node, sass-embedded, typescript et vite. Les commandes npm directes sont réservées à l'installation ou à la mise à jour de ces dépendances ; le cycle normal de développement et de build est lancé depuis la racine du workspace par Tauri avec la configuration explicite de l'application.