feat(server): sous-commande idea --serve avec serveur HTTP sécurisé pairing+cookie (#13)

Lot B3 du chantier server/client mode : socle serveur sécurisé exposant le
cœur backend en mode client/serveur, sans PTY (reporté B5).

- crates/app-tauri/src/server.rs : sous-commande --serve, serveur HTTP
  sécurisé — /api/invoke sur allowlist, /api/pair → cookie de session,
  Origin strict, refus du secret en query, gate de bind. 16 tests dont les
  2 refus de sécurité (pairing_rejects_wrong_code,
  invoke_rejects_invalid_session_cookie).
- crates/app-tauri/src/lib.rs : câblage de la sous-commande --serve.
- crates/app-tauri/src/commands.rs : adaptations.
- crates/app-tauri/Cargo.toml : deps bytes/cookie/http/http-body-util,
  feature tokio net. Cargo.lock synchronisé.

Validé : cargo check --workspace vert, app-tauri 267 tests verts, cœur
backend agnostique confirmé, desktop non régressé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 13:06:40 +02:00
parent e0cdb4aa56
commit 4ed0b168d2
5 changed files with 1164 additions and 6 deletions

4
Cargo.lock generated
View File

@ -75,7 +75,11 @@ dependencies = [
"async-trait",
"backend",
"base64 0.22.1",
"bytes",
"cookie",
"domain",
"http",
"http-body-util",
"infrastructure",
"interprocess",
"serde",