Files
geo/app/tests-android.md
Pierre 268444d6e8 feat: Implémentation authentification NIST SP 800-63B v3.0.8
- 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>
2025-08-15 15:31:23 +02:00

295 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📱 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+*