# 📱 Guide de Test Mobile - Geosector App ## 🚀 Configuration Rapide ### 1️⃣ Préparation du Mobile Android #### Activer le Mode Développeur ``` Paramètres → À propos du téléphone → Tapoter 7 fois sur "Numéro de build" ``` #### Activer les Options de Développement ``` Paramètres → Options pour les développeurs → Activer : ✅ Options pour les développeurs ✅ Débogage USB ✅ Débogage sans fil (pour WiFi) ``` --- ## 🔌 Test via USB ### Connexion USB 1. Brancher le téléphone en USB-C 2. Accepter l'autorisation de débogage sur le téléphone ### Commandes Terminal ```bash # Vérifier la connexion adb devices flutter devices # Lancer l'app (mode debug avec hot reload) flutter run # Lancer l'app sur un appareil spécifique flutter run -d [DEVICE_ID] ``` --- ## 📶 Test via WiFi (Sans Fil) ### Configuration sur le Mobile 1. **Activer le Débogage sans fil** dans Options pour les développeurs 2. **Entrer dans "Débogage sans fil"** et noter : - Nom de l'appareil (ex: Pi25) - Adresse IP et port (ex: 192.168.1.103:33503) ### Première Connexion (avec code d'association) ```bash # Si première connexion, associer avec code # Sur mobile : "Associer l'appareil avec un code d'association" adb pair [IP:PORT_ASSOCIATION] [CODE_6_CHIFFRES] # Exemple : adb pair 192.168.1.103:37953 123456 ``` ### Connexion Standard ```bash # Connecter via WiFi adb connect [IP:PORT] # Exemple : adb connect 192.168.1.103:33503 # Vérifier la connexion adb devices flutter devices # Lancer l'app flutter run -d [IP:PORT] # Exemple : flutter run -d 192.168.1.103:33503 ``` --- ## 🎯 Modes de Compilation ### Mode Debug (Développement) ```bash # Avec hot reload, logs complets, banner DEBUG flutter run flutter run -d [DEVICE_ID] ``` **Raccourcis pendant l'exécution :** - `r` : Hot reload (rechargement rapide) - `R` : Hot restart (redémarrage complet) - `p` : Afficher le widget tree - `o` : Basculer Android/iOS preview - `q` : Quitter ### Mode Release (Performance) ```bash # Optimisé, rapide, sans debug flutter run --release flutter run -d [DEVICE_ID] --release ``` ### Mode Profile (Analyse) ```bash # Pour profiler les performances flutter run --profile flutter run -d [DEVICE_ID] --profile ``` --- ## 📦 Build et Installation ### Créer l'APK ```bash # APK standard flutter build apk # APK optimisé pour release flutter build apk --release # APK avec obfuscation flutter build apk --release --obfuscate --split-debug-info=debug_info # APK split par architecture (plus petit) flutter build apk --split-per-abi ``` ### Installer l'APK ```bash # Installer sur appareil connecté flutter install flutter install -d [DEVICE_ID] # Installer un APK spécifique adb install build/app/outputs/flutter-apk/app-release.apk ``` ### Bundle pour Play Store ```bash flutter build appbundle --release ``` --- ## 🔧 Commandes Utiles ### Gestion des Appareils ```bash # Lister tous les appareils flutter devices # Infos détaillées ADB adb devices -l # Déconnecter un appareil WiFi adb disconnect [IP:PORT] # Redémarrer ADB adb kill-server adb start-server ``` ### Nettoyage et Réparation ```bash # Nettoyer le projet flutter clean # Réinstaller les dépendances flutter pub get # Régénérer les fichiers flutter pub run build_runner build --delete-conflicting-outputs # Vérifier l'installation Flutter flutter doctor ``` ### Logs et Débogage ```bash # Voir les logs du téléphone adb logcat # Logs Flutter uniquement flutter logs # Capturer une capture d'écran adb shell screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png ``` --- ## 📱 Tests sur le Mobile ### Vérifications Visuelles - [ ] **AppBar** : Logo Geosector + Logo Amicale (si disponible) - [ ] **Navigation** : - Admin : Bordure rouge, menu sélectionné en rouge/gras - User : Bordure verte, menu sélectionné en vert/gras - [ ] **Menu Mobile** : Icônes uniquement en bas (sans texte) - [ ] **Responsive** : Adaptation portrait/paysage ### Tests Fonctionnels - [ ] Connexion/Déconnexion - [ ] Navigation entre les pages - [ ] Formulaires et validations - [ ] Synchronisation des données - [ ] Mode hors-ligne ### Performance - [ ] Temps de chargement - [ ] Fluidité du scroll - [ ] Réactivité des boutons - [ ] Consommation mémoire --- ## 🆘 Résolution de Problèmes ### Appareil Non Détecté ```bash # Vérifier les drivers USB adb devices # Relancer ADB adb kill-server adb start-server # Vérifier Flutter flutter doctor -v ``` ### Erreur de Connexion WiFi ```bash # Vérifier le réseau (même WiFi PC et mobile) ping [IP_MOBILE] # Réassocier l'appareil adb pair [IP:PORT] [CODE] # Forcer la reconnexion adb disconnect adb connect [IP:PORT] ``` ### Build Échoué ```bash # Nettoyer et reconstruire flutter clean flutter pub get flutter run ``` --- ## 💡 Tips & Astuces 1. **Gardez le téléphone déverrouillé** pendant les tests 2. **Désactivez l'économie d'énergie** pour éviter les déconnexions 3. **Utilisez le mode Release** pour tester les vraies performances 4. **Activez "Rester éveillé"** dans Options développeur 5. **WiFi stable** : Préférez le 5GHz au 2.4GHz si disponible --- ## 📊 Exemple de Session Type ```bash # 1. Connexion WiFi adb connect 192.168.1.103:33503 # 2. Vérification flutter devices # 3. Lancement en debug flutter run -d 192.168.1.103:33503 # 4. Tests et hot reload (touche r) # 5. Test performance flutter run -d 192.168.1.103:33503 --release # 6. Build final flutter build apk --release ``` --- ## 📝 Notes Spécifiques Geosector - **Environnement** : L'app détecte automatiquement DEV/REC/PROD - **Logos** : Le logo amicale s'affiche si disponible en base64 - **Rôles** : Admin (rouge) vs User (vert) dans l'interface - **Cache** : Utilise Hive pour le stockage local --- *Guide créé pour Geosector v3.0.6 - Flutter 3.32+*