Client Mobile (iOS & Android) - Mirza v2¶
Cette documentation détaille l’architecture et les étapes de déploiement de l’application cliente mobile Mirza développée avec Tauri v2.
Architecture¶
Le backend Mirza (modèles locaux MLX, daemon MTPLX, mémoire épisodique SQLite/Vectorielle, pipeline audio) s’exécute sur une machine hôte (Mac Apple Silicon). L’application mobile (iOS ou Android) se connecte au serveur via WebSockets et HTTP sécurisé.
[ iPhone / Android App (Tauri v2) ]
│
│ WebSocket (wss:// ou ws://) & REST
▼
[ Mac Host : Serveur Mirza (8765) + MTPLX Daemon (8766) ]
Configuration Réseau Mobile¶
Dans l’application mobile, une icône d’engrenage dans la barre supérieure permet de configurer l’adresse IP du serveur :
Ouvrez l’application Mirza sur votre appareil ou simulateur.
Cliquez sur l’icône de réglages en haut à droite.
Renseignez l’adresse IP locale du Mac sur le réseau local (ex:
192.168.1.50:8765).Cliquez sur Enregistrer & Reconnecter. L’adresse est persistée dans le stockage local.
Compilation et Exécution iOS¶
Prérequis :
* Xcode 15+ ou Command Line Tools avec Xcode complet.
* CocoaPods (brew install cocoapods).
* XCodeGen (brew install xcodegen).
* Rust targets iOS : aarch64-apple-ios, aarch64-apple-ios-sim.
Initialiser et ouvrir le projet Xcode :
cd widget
cargo tauri ios init
open src-tauri/gen/apple/app.xcodeproj
Pour lancer directement sur le simulateur :
cd widget
cargo tauri ios dev
Configuration Android¶
Prérequis :
* Android Studio avec SDK Android (API 34+) et NDK 26+.
* Variables d’environnement configurées dans votre ~/.zshrc :
export ANDROID_HOME="$HOME/Library/Android/sdk"
export NDK_HOME="$ANDROID_HOME/ndk/<version>"
Targets Rust Android :
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
Initialisation du projet Android :
cd widget
cargo tauri android init
Pour lancer sur un émulateur ou appareil connecté :
cd widget
cargo tauri android dev