Snapshot de l'état runtime accumulé sur develop : logs/handoffs de conversations, layouts, notes mémoire (dont git-owns-commit-merge-decisions) et catalogue de skills. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 lines
2.3 KiB
Markdown
32 lines
2.3 KiB
Markdown
# 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-<raison>`).
|
|
|
|
## 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`. |