Installation & Build Mobile
L’application mobile XetaSuite est développée avec React Native et Expo (SDK 55). Elle communique avec le backend XetaSuite via l’API Sanctum et offre un assistant vocal intégré.
Prérequis
Section intitulée « Prérequis »- Node.js 20+
- npm 10+ ou yarn
- Expo CLI (
npx expo) - EAS CLI pour les builds cloud (
npm install -g eas-cli) - Un compte Expo (gratuit)
- Pour les builds Android natifs en local : Android Studio avec un SDK Android configuré
- Pour les builds iOS en local : macOS + Xcode 15+
Installation
Section intitulée « Installation »-
Cloner le repository
Terminal window git clone https://github.com/XetaSuite/Mobile.gitcd Mobile -
Installer les dépendances
Terminal window npm install -
Configurer les variables d’environnement
Créez un fichier
.envà la racine :EXPO_PUBLIC_API_URL=https://api.xetasuite.comPour le développement local, pointez vers votre backend :
EXPO_PUBLIC_API_URL=http://192.168.1.x:8000 -
Se connecter à Expo
Terminal window eas login
Lancer en développement
Section intitulée « Lancer en développement »Lance un serveur de développement compatible avec l’application Expo Go :
npx expo startScannez le QR code avec l’app Expo Go sur votre téléphone.
Build un client de développement incluant tous les modules natifs :
# Build le dev client via EAS (cloud)eas build --profile development --platform android
# Puis lancer le serveurnpx expo start --dev-clientAvec Android Studio configuré :
npx expo run:androidBuild de production
Section intitulée « Build de production »Les builds de production sont générés via EAS Build (Expo Application Services).
Android (AAB — Google Play)
Section intitulée « Android (AAB — Google Play) »eas build --platform android --profile productionLe fichier .aab généré est prêt pour la soumission sur le Google Play Store.
iOS (IPA — App Store)
Section intitulée « iOS (IPA — App Store) »eas build --platform ios --profile productionLe fichier .ipa généré est prêt pour la soumission sur l’Apple App Store.
Les deux plateformes simultanément
Section intitulée « Les deux plateformes simultanément »eas build --platform all --profile productionProfils EAS disponibles
Section intitulée « Profils EAS disponibles »| Profil | Distribution | Format | Usage |
|---|---|---|---|
development | Interne | APK | Tests avec dev client |
preview | Interne | APK | Tests internes avant release |
production | Store | AAB / IPA | Publication sur les stores |
Soumission sur les stores
Section intitulée « Soumission sur les stores »Google Play Store
Section intitulée « Google Play Store »eas submit --platform android --latestApple App Store
Section intitulée « Apple App Store »eas submit --platform ios --latestConfiguration app.json
Section intitulée « Configuration app.json »Les paramètres clés de l’application sont dans app.json :
{ "expo": { "name": "XetaSuite-Mobile", "slug": "xetasuite-mobile", "version": "1.0.0", "android": { "package": "com.xetasuite.app" }, "ios": { "bundleIdentifier": "com.xetasuite.app" } }}Permissions requises
Section intitulée « Permissions requises »Android (android.permission.*)
Section intitulée « Android (android.permission.*) »| Permission | Raison |
|---|---|
RECORD_AUDIO | Assistant vocal — transcription de la voix |
MODIFY_AUDIO_SETTINGS | Gestion du microphone pendant la session vocale |
FOREGROUND_SERVICE | Maintien de la session audio en avant-plan |
FOREGROUND_SERVICE_MEDIA_PLAYBACK | Lecture audio en avant-plan |
iOS (Info.plist)
Section intitulée « iOS (Info.plist) »| Clé | Raison |
|---|---|
NSMicrophoneUsageDescription | Accès microphone pour l’assistant vocal |
NSSpeechRecognitionUsageDescription | Reconnaissance vocale |