- Ajout du service PasswordSecurityService conforme NIST SP 800-63B - Vérification des mots de passe contre la base Have I Been Pwned - Validation : minimum 8 caractères, maximum 64 caractères - Pas d'exigences de composition obligatoires (conforme NIST) - Intégration dans LoginController et UserController - Génération de mots de passe sécurisés non compromis 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
5.8 KiB
5.8 KiB
📱 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
- Brancher le téléphone en USB-C
- Accepter l'autorisation de débogage sur le téléphone
Commandes Terminal
# 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
- Activer le Débogage sans fil dans Options pour les développeurs
- 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)
# 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
# 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)
# 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 treeo: Basculer Android/iOS previewq: Quitter
Mode Release (Performance)
# Optimisé, rapide, sans debug
flutter run --release
flutter run -d [DEVICE_ID] --release
Mode Profile (Analyse)
# Pour profiler les performances
flutter run --profile
flutter run -d [DEVICE_ID] --profile
📦 Build et Installation
Créer l'APK
# 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
# 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
flutter build appbundle --release
🔧 Commandes Utiles
Gestion des Appareils
# 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
# 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
# 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é
# 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
# 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é
# Nettoyer et reconstruire
flutter clean
flutter pub get
flutter run
💡 Tips & Astuces
- Gardez le téléphone déverrouillé pendant les tests
- Désactivez l'économie d'énergie pour éviter les déconnexions
- Utilisez le mode Release pour tester les vraies performances
- Activez "Rester éveillé" dans Options développeur
- WiFi stable : Préférez le 5GHz au 2.4GHz si disponible
📊 Exemple de Session Type
# 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+