# system-update-gnome Scaffold de l'application locale Rust/GNOME pour `system_update`. Ce sous-dossier est volontairement dédié au développement de l'application Rust : - backend/webapp : racine du projet, `server/`, `client/`, `shared/` ; - application Rust/GNOME : `app_rust/system-update-gnome/` ; - artefacts Cargo : `app_rust/system-update-gnome/target/`, ignoré par Git. État actuel : - client CLI minimal ; - aucune dépendance externe pour garder le premier build vérifiable sans accès réseau ; - test de connexion HTTP vers `GET /api/capabilities` ; - stratégie token séparée dans `src/token_store.rs` ; - première UI GTK/libadwaita derrière la feature Cargo `gui`. Exemples : ```bash cargo run -- --server http://127.0.0.1:8787 capabilities cargo run -- --server http://127.0.0.1:8787 status cargo run -- --server http://127.0.0.1:8787 metrics cargo run -- --server http://127.0.0.1:8787 machines SYSTEM_UPDATE_SERVER=http://127.0.0.1:8787 cargo run -- capabilities ``` Interface graphique : ```bash cargo run --features gui -- gui ``` Avec un serveur précis : ```bash cargo run --features gui -- --server http://10.0.1.137:8787 gui ``` Pré-requis pour le futur incrément GTK/libadwaita : ```bash sudo apt install libgtk-4-dev libadwaita-1-dev ``` Règles : - l'application ne fait pas de SSH direct ; - les credentials machines restent côté backend ; - les actions passent par l'API du serveur ; - le token local sera stocké via trousseau système dans un incrément suivant. Voir aussi : - `docs/token-storage.md`.