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

164 lines
5.1 KiB
Markdown

# 🔧 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
```bash
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)
```dart
// ❌ Ancien
color: Colors.blue.withOpacity(0.5)
// ✅ Nouveau
color: Colors.blue.withValues(alpha: 127) // 0.5 * 255 = 127
```
#### Pour `use_build_context_synchronously`
```dart
// ❌ Ancien
await someAsyncOperation();
Navigator.of(context).pop();
// ✅ Nouveau
await someAsyncOperation();
if (context.mounted) {
Navigator.of(context).pop();
}
```
#### Pour `must_be_immutable` avec HiveObject
```dart
// 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
```bash
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
```bash
# 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
```bash
$ 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.**