# Build de l'AppImage IdeA (Linux) Commande **validée bout-en-bout** (2026-06-17, build exit 0, artefact 106M produit) pour reconstruire l'AppImage Linux d'IdeA. À utiliser à chaque fois qu'un correctif backend/front doit être rendu actif dans l'app (rappel : **le binaire qui tourne = l'AppImage installée, pas les sources** — un correctif n'est actif qu'après rebuild + remplacement + relance d'IdeA). ## Procédure (2 étapes, depuis le project root `/home/anthony/Documents/Projects/IdeA`) ### 1. Build du frontend (génère `frontend/dist/`) ```bash npm --prefix frontend run build ``` ### 2. Bundle Tauri AppImage (depuis `crates/app-tauri/`) ```bash cd crates/app-tauri APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage ``` ## Pourquoi ces options (ne pas les retirer) - `--bundles appimage` : **exclut NSIS** (installeur Windows) — sinutile et cassant sur Linux. - `APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1` : **workaround FUSE obligatoire**. Sans ça, l'étape finale `linuxdeploy` (elle-même une AppImage montée via FUSE) échoue avec `failed to run linuxdeploy`. Le compile Rust réussit avant ce point ; seul le bundling casse (l'`AppDir` est généré mais pas le `.AppImage`). ## Artefact produit ``` target/release/bundle/appimage/IdeA_0.1.0_amd64.AppImage ``` (Le build est long : compile Rust release ~1 min + bundling. Lancer en arrière-plan.) ## Étape suivante = MANUELLE (ne PAS l'automatiser sans demander) Pour rendre le correctif actif, il faut **remplacer l'AppImage installée** `/home/anthony/Documents/IdeA_0.1.0_amd64.AppImage` par l'artefact, puis **relancer IdeA**. ⚠️ Relancer IdeA **tue l'orchestrateur en cours** (le serveur qui héberge la session active et les ponts MCP) : à faire par l'utilisateur quand il est prêt, pas en pleine session multi-agents. Garder un backup de l'ancienne AppImage avant remplacement (cf. convention `.old-`). ## Piège env (si on lance un binaire ensuite) La session shell hérite des variables de l'AppImage montée (`APPDIR`, `LD_LIBRARY_PATH`, `PYTHONHOME` → `/tmp/.mount_IdeA_*`). Pour lancer un binaire app-tauri compilé sans crash WebKit, partir d'un env propre (`env -i PATH=/usr/bin:/bin HOME=$HOME XDG_RUNTIME_DIR=/run/user/1000 …`) et préférer `jq` à `python3`.