Files
geo/app/tests-iphone.md
Pierre 5e255ebf5e 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

8.2 KiB
Raw Permalink Blame History

📱 Guide de Test iOS - Geosector App

⚠️ Prérequis Importants

Matériel Requis

  • Mac avec macOS 10.15 (Catalina) ou plus récent
  • iPhone avec iOS 12.0 ou plus récent
  • Câble Lightning/USB-C pour la connexion
  • Apple Developer Account (gratuit pour tests locaux)
  • Xcode 14.0 ou plus récent

Limitations Linux/Windows

IMPORTANT : Le développement iOS nécessite obligatoirement un Mac.

  • Pas de compilation iOS native sur Linux/Windows
  • Solutions alternatives limitées (voir section "Alternatives")

🍎 Configuration sur Mac

1 Installation des Outils

Installer Xcode

# Via App Store ou ligne de commande
xcode-select --install

# Accepter la licence Xcode
sudo xcodebuild -license accept

Vérifier Flutter pour iOS

# Vérifier la configuration iOS
flutter doctor

# Résoudre les problèmes iOS si nécessaire
flutter doctor --verbose

Installer CocoaPods

# CocoaPods est nécessaire pour les dépendances iOS
sudo gem install cocoapods
pod setup

2 Configuration du Projet

Ouvrir le projet iOS dans Xcode

# Depuis le dossier du projet Flutter
cd ios
open Runner.xcworkspace

Configuration dans Xcode

  1. Sélectionner l'équipe de développement :

    • Runner → Signing & Capabilities
    • Team : Sélectionner votre Apple ID
    • Bundle Identifier : com.votredomaine.geosector
  2. Configurer le déploiement :

    • Deployment Info → iOS 12.0 minimum
    • Device Orientation : Portrait + Landscape

📲 Configuration de l'iPhone

1 Mode Développeur (iOS 16+)

Activer le Mode Développeur

Réglages → Confidentialité et sécurité → Mode développeur → Activer

Note : Le téléphone redémarrera

2 Trust Computer

  1. Brancher l'iPhone au Mac
  2. Sur l'iPhone : "Faire confiance à cet ordinateur" → Faire confiance
  3. Entrer le code de déverrouillage

🚀 Lancer l'Application

Test via USB

Vérifier la connexion

# Lister les appareils disponibles
flutter devices

# Devrait afficher quelque chose comme :
# iPhone de Pierre (mobile) • 00008110-001234567890ABCD • ios • iOS 17.2

Lancer en mode Debug

# Lancer sur l'iPhone connecté
flutter run

# Ou spécifier l'appareil
flutter run -d [DEVICE_ID]

Lancer en mode Release

# Performance optimale
flutter run --release

# Avec l'ID de l'appareil
flutter run -d [DEVICE_ID] --release

Test via WiFi (Xcode 9+)

Configuration WiFi

  1. iPhone et Mac sur le même réseau WiFi
  2. Dans Xcode : Window → Devices and Simulators
  3. Sélectionner l'iPhone → Cocher "Connect via network"
  4. Débrancher le câble USB

Lancer via WiFi

# L'appareil reste visible dans flutter devices
flutter run -d [DEVICE_ID]

🛠️ Build et Installation

Créer l'Archive iOS

Build pour App Store Connect

# Nettoyer le projet
flutter clean
cd ios && pod install && cd ..

# Build release
flutter build ios --release

# Ou avec obfuscation
flutter build ios --release --obfuscate --split-debug-info=debug_info

Archive dans Xcode

  1. Ouvrir ios/Runner.xcworkspace dans Xcode
  2. Product → Scheme → Runner
  3. Product → Destination → Any iOS Device
  4. Product → Archive
  5. Distribute App → Ad Hoc ou App Store

Installation via TestFlight

Configuration TestFlight

  1. Upload l'archive vers App Store Connect
  2. Ajouter les testeurs (emails)
  3. Les testeurs reçoivent une invitation

Installation sur iPhone

  1. Installer l'app TestFlight depuis l'App Store
  2. Accepter l'invitation (via email)
  3. Installer l'app Geosector depuis TestFlight

📱 Simulateur iOS

Lancer sur Simulateur

# Lister les simulateurs disponibles
flutter emulators

# Lancer un simulateur
flutter emulators --launch apple_ios_simulator

# Ou ouvrir via Xcode
open -a Simulator

# Lancer l'app sur le simulateur
flutter run

Simulateurs Recommandés

  • iPhone 15 Pro (dernier modèle)
  • iPhone SE (petit écran)
  • iPad Pro (tablette)

🔧 Commandes Utiles iOS

Gestion des Certificats

# Vérifier les certificats
security find-identity -p codesigning -v

# Nettoyer le cache DerivedData
rm -rf ~/Library/Developer/Xcode/DerivedData

Pods et Dépendances

# Mettre à jour les pods
cd ios
pod update
pod install --repo-update

# Nettoyer les pods
pod deintegrate
pod install

Logs et Debug

# Voir les logs de l'iPhone
flutter logs

# Console Xcode pour logs détaillés
# Xcode → Window → Devices and Simulators → View Device Logs

# Logs système iOS
xcrun simctl spawn booted log stream --level debug

🐛 Résolution de Problèmes

Erreur "Could not find Developer Disk Image"

# Mettre à jour Xcode pour supporter la version iOS
# Ou télécharger les Developer Disk Images

Erreur de Signature

# Dans Xcode
# Runner → Build Settings → Code Signing Identity → Apple Development
# Runner → Signing & Capabilities → Automatically manage signing

Erreur CocoaPods

cd ios
pod cache clean --all
rm -rf Pods
rm Podfile.lock
pod install

Application Non Fiable

iPhone → Réglages → Général → VPN et gestion d'appareils 
→ App du développeur → Faire confiance

🎯 Tests Spécifiques iOS

Vérifications Visuelles

  • Safe Area : Respect des encoches (notch)
  • Gestes iOS : Swipe pour retour arrière
  • Dark Mode : Adaptation au thème système
  • Dynamic Type : Respect des tailles de texte système

Permissions iOS

  • Localisation : Demande d'autorisation
  • Notifications : Permission push (si applicable)
  • Caméra : Accès pour scan (si applicable)

Performance

  • Démarrage : Temps de lancement < 2s
  • Animations : 60 FPS constant
  • Mémoire : Pas de fuites (Instruments)
  • Batterie : Consommation raisonnable

🔄 Alternatives sans Mac

1. Codemagic CI/CD

# codemagic.yaml
workflows:
  ios-workflow:
    name: iOS Build
    environment:
      xcode: latest
    scripts:
      - flutter build ios --release

2. GitHub Actions

# .github/workflows/ios.yml
runs-on: macos-latest
steps:
  - uses: actions/checkout@v2
  - uses: subosito/flutter-action@v2
  - run: flutter build ios --release --no-codesign

3. Services Cloud

  • MacinCloud : Location de Mac virtuel
  • MacStadium : Mac en cloud
  • AWS EC2 Mac : Instances Mac sur AWS

4. Hackintosh (Non Recommandé)

⚠️ Risques :

  • Violation des conditions Apple
  • Instabilité système
  • Pas de support officiel

📋 Checklist Pré-Release iOS

Configuration

  • Bundle ID unique configuré
  • Icônes de l'app (toutes tailles)
  • Launch Screen configuré
  • Info.plist à jour
  • Permissions déclarées

Tests

  • Test sur iPhone réel
  • Test sur iPad (si supporté)
  • Test iOS minimum (12.0)
  • Test iOS récent (17.x)
  • Test mode avion

App Store

  • Screenshots (toutes tailles)
  • Description de l'app
  • Mots-clés optimisés
  • Catégorie appropriée
  • Politique de confidentialité

💡 Tips iOS

  1. Provisioning Profile : Renouveler tous les ans
  2. TestFlight : Builds expirent après 90 jours
  3. App Store Review : Prévoir 24-48h de délai
  4. Crash Reports : Utiliser Crashlytics ou Sentry
  5. Push Notifications : Nécessite certificat APNS

📊 Commandes Rapides

# Session de test typique sur Mac
flutter clean
cd ios && pod install && cd ..
flutter devices
flutter run -d [iPhone_ID]

# Build pour distribution
flutter build ios --release
open ios/Runner.xcworkspace
# Product → Archive dans Xcode

🆘 Support


Guide créé pour Geosector v3.0.6 - Flutter 3.32+ - iOS 12.0+

Note importante : Ce guide nécessite un Mac pour la compilation et le déploiement iOS. Pour tester depuis Linux/Windows, utilisez les services cloud ou CI/CD mentionnés.