Files
geo/app/claude-code-analyze-flutter.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

5.1 KiB

🔧 Claude Code - Analyse et Correction Flutter

📋 Mission

Tu es un expert Flutter/Dart chargé de nettoyer le code de l'application Geosector. Ta mission est d'analyser tous les fichiers Dart du projet et de corriger TOUTES les erreurs et avertissements détectés par flutter analyze.

🎯 Objectifs

  1. Exécuter l'analyse Flutter sur l'ensemble du projet
  2. Corriger toutes les erreurs (errors) en priorité
  3. Corriger tous les avertissements (warnings)
  4. Corriger les informations (info) si pertinent
  5. Documenter les changements effectués

📝 Instructions détaillées

Étape 1 : Analyse initiale

flutter analyze
  • Capturer le nombre total d'issues
  • Identifier les patterns d'erreurs récurrents
  • Prioriser les corrections (errors → warnings → info)

Étape 2 : Corrections par catégorie

🔴 ERRORS (Priorité maximale)

Corriger en priorité toutes les erreurs qui empêchent la compilation :

  • undefined_named_parameter
  • undefined_method
  • undefined_getter
  • argument_type_not_assignable
  • return_of_invalid_type
  • creation_with_non_type

🟠 WARNINGS (Priorité haute)

Corriger les avertissements qui peuvent causer des bugs :

  • must_be_immutable
  • unused_element
  • unused_element_parameter
  • unused_local_variable
  • invalid_use_of_protected_member
  • invalid_use_of_visible_for_testing_member

🟡 INFO (Priorité moyenne)

Corriger les problèmes de qualité de code :

  • depend_on_referenced_packages → Ajouter les dépendances manquantes dans pubspec.yaml
  • deprecated_member_use → Remplacer withOpacity par withValues()
  • use_build_context_synchronously → Ajouter if (context.mounted)
  • prefer_const_constructors
  • prefer_const_literals_to_create_immutables

Étape 3 : Patterns de correction spécifiques

Pour deprecated_member_use (withOpacity)

// ❌ Ancien
color: Colors.blue.withOpacity(0.5)

// ✅ Nouveau
color: Colors.blue.withValues(alpha: 127) // 0.5 * 255 = 127

Pour use_build_context_synchronously

// ❌ Ancien
await someAsyncOperation();
Navigator.of(context).pop();

// ✅ Nouveau
await someAsyncOperation();
if (context.mounted) {
  Navigator.of(context).pop();
}

Pour must_be_immutable avec HiveObject

// Pour les modèles Hive, ajouter une annotation pour ignorer
// ignore: must_be_immutable
@HiveType(typeId: X)
class MyModel extends HiveObject {
  // ...
}

Étape 4 : Modules à traiter

🚫 Module Chat (À ignorer ou supprimer)

Le dossier lib/chat/ contient de nombreuses erreurs car il n'est pas utilisé. Options :

  1. Supprimer complètement le dossier lib/chat/ si non utilisé
  2. OU corriger les dépendances manquantes (equatable dans pubspec.yaml)
  3. OU exclure de l'analyse dans analysis_options.yaml

Modules prioritaires

Concentre-toi sur les modules actifs :

  • lib/core/ - Services, repositories, models
  • lib/presentation/ - UI widgets et pages
  • lib/shared/ - Composants partagés

Étape 5 : Vérification finale

flutter analyze
  • Vérifier qu'il n'y a plus d'erreurs
  • Documenter les warnings restants qui ne peuvent pas être corrigés
  • Tester que l'application compile et fonctionne

🛠️ Commandes utiles

# Analyse complète
flutter analyze

# Analyse d'un fichier spécifique
flutter analyze lib/presentation/widgets/dashboard_app_bar.dart

# Format du code
flutter format lib/

# Nettoyer et reconstruire
flutter clean && flutter pub get

# Générer les adapters Hive si nécessaire
flutter packages pub run build_runner build --delete-conflicting-outputs

📊 Rapport attendu

À la fin, fournir un rapport avec :

  1. Nombre d'issues avant : X errors, Y warnings, Z info
  2. Nombre d'issues après : 0 errors, Y warnings, Z info
  3. Liste des fichiers modifiés avec le type de correction
  4. Décisions prises (ex: suppression du module chat, ajout de dépendances)
  5. Problèmes non résolus et pourquoi

⚠️ Points d'attention

  1. Ne pas casser le code existant - Tester après chaque série de corrections
  2. Préserver la logique métier - Ne pas modifier le comportement de l'app
  3. Respecter l'architecture - Maintenir les patterns existants (Repository, Singleton, ValueListenableBuilder)
  4. Documenter les suppressions - Si du code est supprimé, expliquer pourquoi
  5. Gérer les dépendances - Ajouter dans pubspec.yaml si nécessaire

🎯 Résultat attendu

$ flutter analyze
Analyzing app...
No issues found!

📝 Notes spécifiques au projet Geosector

  • Architecture sans Provider : Ne pas ajouter Provider
  • Hive pour le stockage : Les warnings must_be_immutable sur HiveObject sont normaux
  • API First : Maintenir le pattern de validation API avant sauvegarde locale
  • LoggerService : Utiliser LoggerService au lieu de debugPrint direct
  • CurrentUserService/CurrentAmicaleService : Services singleton à préserver

Commence par exécuter flutter analyze et montre-moi le résultat pour que nous puissions prioriser les corrections ensemble.