Files
2026-08-20 16:51:08 +02:00

5.4 KiB

Delta 0.2.6-pre.002 — crate Tauri et shell Wallet Desk

Base requise

0.2.6-pre.001-fix.002 appliquée
workspace.package.version = 0.2.6-pre.1

Les validations opérateur de pre.001 sont vertes : cargo fmt --all, audit structurel Python, cargo check --workspace et cargo clippy --workspace --all-targets.

Type de livraison

ksp-general-0.2.6-pre.002.zip

Cette tranche est technique : création de crate, Rust/Tauri, frontend et configuration de build. Elle incrémente donc workspace.package.version vers 0.2.6-pre.2.

Objet

Matérialiser la première application ksp-app-wallet-desk sans commencer les fonctionnalités Wallet métier prévues à partir de pre.003/pre.004.

Le delta fournit :

crate Rust mixte lib + bin
single-instance launcher
normalisation CWD debug workspace
bootstrap Config + Logging commun
fallback Logging borné
splash + main window
bridge frontend -> Rust -> ksp-logging-lib
DTO TS-RS foundation
ports Vite/HMR 1432/1433
Bootstrap
Font Awesome
DataTables Bootstrap 5 + Select
SimpleBar
resize-observer-polyfill
shell Dashboard/Wallets/Create-Import/Details/Security/Diagnostics
DataTable Wallet réelle mais volontairement vide en pre.002
capabilities core:default + tracing:default
CSP null comme Config Desk

Frontières conservées

pre.002 ne dépend pas encore de ksp-wallet-lib ni de ksp-onchain-transport-lib. La seule composition KSP active dans la nouvelle app est celle nécessaire au gabarit desktop :

ksp-app-wallet-desk
    -> ksp-config-lib
    -> ksp-core-lib
    -> ksp-logging-lib
    -> Tauri

Aucune logique .kspwallet, aucun inventory filesystem, aucun secret Wallet et aucun RPC ne sont simulés dans le frontend.

Frontend et npm

Le package.json reprend la baseline Config Desk :

@fltsci/tauri-plugin-tracing ^0.3
@fortawesome/fontawesome-free ^7.3
@tauri-apps/api ^2.11
bootstrap ^5.3
datatables.net-bs5 ^3.0
datatables.net-select-bs5 ^4.0
resize-observer-polyfill ^1.5
simplebar ^6.3

Les outils restent dans devDependencies. Aucun script check standalone n'est créé. Les scripts dev et build existent uniquement parce que Tauri les appelle via beforeDevCommand et beforeBuildCommand.

Lors de l'application de ce delta, l'installation initiale des packages se fait depuis la crate avec :

cd crates/ksp-app-wallet-desk
npm i -D
cd ../..

Le lockfile npm et node_modules restent non versionnés.

Dépendances auditées

Au 2026-08-20, les versions actuelles vérifiées incluent :

@tauri-apps/api 2.11.1
@tauri-apps/cli 2.11.4
@fortawesome/fontawesome-free 7.3.1
datatables.net-bs5 3.0.1
datatables.net-select-bs5 4.0.0
resize-observer-polyfill 1.5.1
simplebar 6.3.3

Les ranges du gabarit couvrent ces versions sans changement de génération.

Shell et logging

Le splash reprend les paramètres Config-owned existants :

KSP_DESK_SPLASH_MINIMUM_MS
KSP_DESK_SPLASH_FADE_MS

Le frontend instrumente :

chargement main/splash
navigation
mise à jour DOM des vues
initialisation DataTables
clics d'actions shell
IPC runtime status
ordres/animations splash

Les targets frontend sont whitelisted (frontend, main, splash) avant réémission via ksp-logging-lib.

Tests ajoutés

public API run()
contrat Tauri ports/windows/beforeDev/beforeBuild/CSP
baseline dependencies et absence de script npm check
présence DataTables/Select/SimpleBar/ResizeObserver/Font Awesome
capabilities initiales core + tracing seulement
absence window.alert/confirm/prompt/localStorage/sessionStorage
DTO CommandError sans context arbitraire
whitelist frontend logging
contrats splash

Fichiers principaux ajoutés

crates/ksp-app-wallet-desk/Cargo.toml
crates/ksp-app-wallet-desk/build.rs
crates/ksp-app-wallet-desk/capabilities/default.json
crates/ksp-app-wallet-desk/package.json
crates/ksp-app-wallet-desk/tauri.conf.json
crates/ksp-app-wallet-desk/tsconfig.json
crates/ksp-app-wallet-desk/vite.config.ts
crates/ksp-app-wallet-desk/src/**
crates/ksp-app-wallet-desk/frontend/**
crates/ksp-app-wallet-desk/tests/**
crates/ksp-app-wallet-desk/unit_tests/**

Les assets fonts/logo/splash/favicon sont repris du gabarit Config Desk.

Fichiers modifiés hors crate

Cargo.toml
ROADMAP.md
docs/000-README.md
docs/plans/013-V0_2_6_WALLET_DESK_PLAN.md

Version technique

workspace.package.version = 0.2.6-pre.2
commit = v0.2.6-pre.002

Aucun tag stable.

Validation opérateur requise

Après application :

cd crates/ksp-app-wallet-desk
npm i -D
cd ../..
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-wallet-desk
cargo tauri dev -c crates/ksp-app-wallet-desk/tauri.conf.json

Le parcours cargo tauri dev doit vérifier visuellement et dans les logs : splash, ouverture de la fenêtre principale, navigation des six vues, DataTable vide fonctionnelle, icônes Font Awesome, scrolling SimpleBar et bridge frontend Logging.

cargo tauri build -c crates/ksp-app-wallet-desk/tauri.conf.json n'est pas exécuté en pre.002 : il reste réservé à la toute dernière validation de la release conformément à KSP-APP-034.

Suite

pre.003 ajoute cfg.std.wallet, le composite Wallet Desk, wallets_directory global, wallets_subdirectory par profil et la préparation/création du répertoire effectif.