v0.1.4-pre.005
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: crates/ksp-app-config-desk/README.md -->
|
||||
<!-- version: 1 -->
|
||||
<!-- version: 2 -->
|
||||
|
||||
# `ksp-app-config-desk`
|
||||
|
||||
@@ -15,41 +15,71 @@ bin : ksp-app-config-desk
|
||||
|
||||
## Responsabilités
|
||||
|
||||
L'application restera 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`.
|
||||
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`.
|
||||
|
||||
La première tranche de squelette établit uniquement :
|
||||
Le gabarit desktop actif fournit maintenant :
|
||||
|
||||
- le membre workspace Rust ;
|
||||
- le couple `lib` + `bin` ;
|
||||
- le verrou single-instance ;
|
||||
- l'assemblage Tauri minimal dans `src/tauri.rs` ;
|
||||
- l'assemblage Tauri centralisé dans `src/tauri.rs` ;
|
||||
- les fenêtres `splash` et `main` ;
|
||||
- les capabilities initiales ;
|
||||
- l'icône de référence reprise du gabarit desktop éprouvé ;
|
||||
- le port de développement réservé `1430`, avec `1431` réservé au HMR Vite ;
|
||||
- le répertoire frontend cible `frontend/`, dont `frontend/ts/` et `frontend/ts/bindings/`.
|
||||
- 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 frontend Vite/TypeScript/SCSS et les dépendances npm sont introduits dans la tranche suivante. Tant que cette tranche n'est pas appliquée, `cargo tauri dev` n'est pas un scénario de validation attendu de ce squelette.
|
||||
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
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 doivent pas être versionnés. `tauri.conf.json` fixe dès maintenant la destination contractuelle :
|
||||
Les artefacts frontend construits ne sont pas versionnés. `tauri.conf.json` fixe :
|
||||
|
||||
```text
|
||||
../../builds/khadhroony-solana-project/ksp-app-config-desk/dist
|
||||
```
|
||||
|
||||
`vite.config.ts` utilisera la même destination lors de son introduction.
|
||||
|
||||
Les commandes npm servent uniquement à installer/mettre à jour les dépendances. Le cycle normal de développement/build de l'application passe par Tauri, qui déclenche les scripts frontend déclarés dans sa configuration.
|
||||
`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 réserve des couples de ports distincts par application desk. `ksp-app-config-desk`, première application, utilise :
|
||||
`ksp-app-config-desk` utilise :
|
||||
|
||||
```text
|
||||
Vite HTTP : 1430
|
||||
Vite HMR : 1431
|
||||
Vite WS : 1431
|
||||
```
|
||||
|
||||
Les applications desk suivantes incrémentent le couple de deux ports afin de pouvoir fonctionner simultanément sans collision.
|
||||
Le port HTTP est strict. Les futures applications desk utilisent les couples suivants `1432/1433`, `1434/1435`, etc.
|
||||
|
||||
## Dépendances frontend
|
||||
|
||||
Les dépendances frontend sont déclarées comme dépendances de développement car elles sont bundlées dans l'application desktop. Les commandes npm directes sont réservées à leur installation/mise à jour. Le cycle normal de développement et de build passe par Tauri, qui déclenche les scripts `dev` et `build`.
|
||||
|
||||
Reference in New Issue
Block a user