feat(app-tauri): packager les assets web en ressource et les résoudre depuis le resource dir (#68)

L'AppImage ne pouvait pas servir d'assets web : `resolve_web_root` ne
connaissait que `IDEA_WEB_ROOT`, le dossier de l'exécutable et le cwd —
aucun ne pointe vers un bundle packagé.

- `bundle.resources` embarque les assets sous `web/`, `beforeBuildCommand`
  déclenche le build du frontend.
- Le resource dir Tauri descend de `lib.rs` jusqu'à `EmbeddedServerController`
  via `AppState::build_with_resource_dir`, en gardant les constructeurs
  historiques comme façade.
- `resolve_web_root` insère le candidat packagé juste après `IDEA_WEB_ROOT`,
  qui garde donc la priorité pour le développement.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 08:54:15 +02:00
parent a13a6c1801
commit 166adc3c4b
4 changed files with 78 additions and 10 deletions

View File

@ -6,7 +6,8 @@
"build": {
"frontendDist": "../../frontend/dist",
"devUrl": "http://localhost:5173",
"beforeDevCommand": "npm --prefix ../frontend run dev"
"beforeDevCommand": "npm --prefix ../frontend run dev",
"beforeBuildCommand": "npm --prefix ../frontend run build"
},
"app": {
"windows": [
@ -24,6 +25,9 @@
"bundle": {
"active": true,
"targets": ["appimage", "nsis"],
"icon": ["icons/icon.png"]
"icon": ["icons/icon.png"],
"resources": {
"../../frontend/dist": "web"
}
}
}