## Corrections Critiques ### Race Condition - Statuts de Messages - Fix : Les icônes de statut (✓, ✓✓, ✓✓ bleu) ne s'affichaient pas - Cause : WebSocket delivery confirmations arrivaient avant messages locaux - Solution : Pattern Optimistic UI dans chat_bloc.dart - Création message temporaire immédiate - Ajout à la liste AVANT requête HTTP - Remplacement par message serveur à la réponse - Fichier : lib/presentation/state_management/chat_bloc.dart ## Implémentation TODOs (13/21) ### Social (social_header_widget.dart) - ✅ Copier lien du post dans presse-papiers - ✅ Partage natif via Share.share() - ✅ Dialogue de signalement avec 5 raisons ### Partage (share_post_dialog.dart) - ✅ Interface sélection d'amis avec checkboxes - ✅ Partage externe via Share API ### Média (media_upload_service.dart) - ✅ Parsing JSON réponse backend - ✅ Méthode deleteMedia() pour suppression - ✅ Génération miniature vidéo ### Posts (create_post_dialog.dart, edit_post_dialog.dart) - ✅ Extraction URL depuis uploads - ✅ Documentation chargement médias ### Chat (conversations_screen.dart) - ✅ Navigation vers notifications - ✅ ConversationSearchDelegate pour recherche ## Nouveaux Fichiers ### Configuration - build-prod.ps1 : Script build production avec dart-define - lib/core/constants/env_config.dart : Gestion environnements ### Documentation - TODOS_IMPLEMENTED.md : Documentation complète TODOs ## Améliorations ### Architecture - Refactoring injection de dépendances - Amélioration routing et navigation - Optimisation providers (UserProvider, FriendsProvider) ### UI/UX - Amélioration thème et couleurs - Optimisation animations - Meilleure gestion erreurs ### Services - Configuration API avec env_config - Amélioration datasources (events, users) - Optimisation modèles de données
237 lines
5.6 KiB
Markdown
237 lines
5.6 KiB
Markdown
# 📝 TODO - AfterWork
|
|
|
|
Liste des tâches à accomplir pour finaliser le projet.
|
|
|
|
---
|
|
|
|
## 🔴 Priorité Haute (À faire immédiatement)
|
|
|
|
### Corrections du Code
|
|
- [ ] Exécuter `dart fix --apply` pour corrections automatiques
|
|
- [ ] Ajouter `const` aux widgets immuables détectés par le linter
|
|
- [ ] Ajouter trailing commas aux listes multi-lignes
|
|
- [ ] Corriger les imports relatifs vs absolus
|
|
- [ ] Résoudre les warnings `use_build_context_synchronously`
|
|
|
|
### Configuration
|
|
- [ ] Copier `.env.example` vers `.env`
|
|
- [ ] Configurer l'URL de l'API backend dans `.env`
|
|
- [ ] Configurer la clé Google Maps API
|
|
- [ ] Tester la connexion à l'API backend
|
|
|
|
### Tests
|
|
- [ ] Vérifier que `flutter run` fonctionne
|
|
- [ ] Tester l'authentification
|
|
- [ ] Tester la création d'événements
|
|
- [ ] Tester le système d'amis
|
|
|
|
---
|
|
|
|
## 🟡 Priorité Moyenne (Cette semaine)
|
|
|
|
### Tests Unitaires
|
|
- [ ] Créer tests pour `User` entity
|
|
- [ ] Créer tests pour `Event` entity
|
|
- [ ] Créer tests pour `Friend` entity
|
|
- [ ] Créer tests pour `EventModel`
|
|
- [ ] Créer tests pour `UserProvider`
|
|
- [ ] Créer tests pour `EventBloc`
|
|
- [ ] Atteindre 80% de coverage
|
|
|
|
### Tests d'Intégration
|
|
- [ ] Test du flow d'authentification complet
|
|
- [ ] Test de création d'événement end-to-end
|
|
- [ ] Test d'ajout d'ami end-to-end
|
|
- [ ] Test de participation à un événement
|
|
|
|
### Documentation du Code
|
|
- [ ] Ajouter documentation aux classes publiques
|
|
- [ ] Ajouter documentation aux méthodes publiques
|
|
- [ ] Ajouter exemples d'utilisation dans les commentaires
|
|
- [ ] Documenter les cas d'erreur
|
|
|
|
---
|
|
|
|
## 🟢 Priorité Basse (Ce mois-ci)
|
|
|
|
### CI/CD
|
|
- [ ] Configurer GitHub Actions
|
|
- [ ] Ajouter workflow pour les tests
|
|
- [ ] Ajouter workflow pour le linting
|
|
- [ ] Ajouter workflow pour le build
|
|
- [ ] Configurer Dependabot
|
|
|
|
### Pre-commit Hooks
|
|
- [ ] Installer husky ou équivalent
|
|
- [ ] Hook pour formater le code
|
|
- [ ] Hook pour linter
|
|
- [ ] Hook pour tests unitaires
|
|
- [ ] Hook pour vérifier les messages de commit
|
|
|
|
### Optimisations
|
|
- [ ] Analyser les performances avec DevTools
|
|
- [ ] Optimiser les rebuilds de widgets
|
|
- [ ] Implémenter le lazy loading pour les listes
|
|
- [ ] Optimiser les images (compression)
|
|
- [ ] Implémenter le caching des requêtes API
|
|
|
|
### Internationalisation
|
|
- [ ] Configurer flutter_localizations
|
|
- [ ] Créer les fichiers ARB pour FR
|
|
- [ ] Créer les fichiers ARB pour EN
|
|
- [ ] Traduire tous les textes
|
|
- [ ] Tester le changement de langue
|
|
|
|
---
|
|
|
|
## 🔵 Améliorations Futures
|
|
|
|
### Fonctionnalités
|
|
- [ ] Mode hors-ligne avec cache local
|
|
- [ ] Notifications push
|
|
- [ ] Chat en temps réel
|
|
- [ ] Partage sur réseaux sociaux
|
|
- [ ] Import/Export de calendrier
|
|
- [ ] Recherche avancée d'événements
|
|
- [ ] Filtres personnalisés
|
|
- [ ] Recommandations d'événements (IA)
|
|
|
|
### UI/UX
|
|
- [ ] Animations de transition
|
|
- [ ] Skeleton loaders
|
|
- [ ] Pull-to-refresh
|
|
- [ ] Infinite scroll
|
|
- [ ] Gestures avancés
|
|
- [ ] Mode sombre amélioré
|
|
- [ ] Thèmes personnalisables
|
|
|
|
### Backend
|
|
- [ ] Implémenter WebSockets pour temps réel
|
|
- [ ] Ajouter rate limiting
|
|
- [ ] Implémenter le caching côté serveur
|
|
- [ ] Ajouter monitoring (Sentry, DataDog)
|
|
- [ ] Implémenter les logs structurés
|
|
- [ ] Ajouter healthcheck endpoint
|
|
|
|
### Sécurité
|
|
- [ ] Implémenter refresh tokens
|
|
- [ ] Ajouter 2FA
|
|
- [ ] Implémenter CORS strict
|
|
- [ ] Ajouter rate limiting
|
|
- [ ] Audit de sécurité complet
|
|
- [ ] Penetration testing
|
|
|
|
### DevOps
|
|
- [ ] Configurer Docker
|
|
- [ ] Configurer Kubernetes
|
|
- [ ] Mettre en place staging environment
|
|
- [ ] Configurer monitoring (Prometheus/Grafana)
|
|
- [ ] Mettre en place backup automatique
|
|
- [ ] Configurer CDN pour les assets
|
|
|
|
---
|
|
|
|
## 📊 Métriques à Atteindre
|
|
|
|
### Code Quality
|
|
- [ ] Coverage > 80%
|
|
- [ ] 0 erreurs de linting
|
|
- [ ] 0 warnings critiques
|
|
- [ ] Complexité cyclomatique < 10
|
|
- [ ] Duplications < 3%
|
|
|
|
### Performance
|
|
- [ ] Temps de démarrage < 2s
|
|
- [ ] Frame rate > 55 FPS
|
|
- [ ] Taille de l'APK < 50 MB
|
|
- [ ] Temps de chargement API < 500ms
|
|
- [ ] Memory usage < 200 MB
|
|
|
|
### Documentation
|
|
- [ ] README complet ✅
|
|
- [ ] CONTRIBUTING complet ✅
|
|
- [ ] API documentation complète
|
|
- [ ] Architecture documentation complète
|
|
- [ ] User guide complet
|
|
|
|
---
|
|
|
|
## 🐛 Bugs Connus
|
|
|
|
### À Corriger
|
|
- [ ] Vérifier le crash JVM Android (log supprimé)
|
|
- [ ] Tester sur iOS (simulateur + device)
|
|
- [ ] Tester sur Web (Chrome, Firefox, Safari)
|
|
- [ ] Tester sur Windows Desktop
|
|
- [ ] Vérifier les fuites de mémoire
|
|
|
|
---
|
|
|
|
## 📱 Déploiement
|
|
|
|
### Android
|
|
- [ ] Configurer signing key
|
|
- [ ] Créer compte Play Store
|
|
- [ ] Préparer les screenshots
|
|
- [ ] Rédiger la description
|
|
- [ ] Soumettre pour review
|
|
|
|
### iOS
|
|
- [ ] Configurer certificates
|
|
- [ ] Créer compte App Store
|
|
- [ ] Préparer les screenshots
|
|
- [ ] Rédiger la description
|
|
- [ ] Soumettre pour review
|
|
|
|
### Web
|
|
- [ ] Configurer hosting (Firebase/Netlify)
|
|
- [ ] Configurer domaine
|
|
- [ ] Configurer SSL
|
|
- [ ] Optimiser pour SEO
|
|
- [ ] Déployer en production
|
|
|
|
---
|
|
|
|
## 📚 Apprentissage et Formation
|
|
|
|
### Équipe
|
|
- [ ] Session sur Clean Architecture
|
|
- [ ] Session sur BLoC pattern
|
|
- [ ] Session sur les tests
|
|
- [ ] Session sur Git workflow
|
|
- [ ] Session sur CI/CD
|
|
|
|
---
|
|
|
|
## 🎯 Objectifs Trimestriels
|
|
|
|
### Q1 2026
|
|
- [ ] Version 1.0.0 en production
|
|
- [ ] 1000+ utilisateurs actifs
|
|
- [ ] 5000+ événements créés
|
|
- [ ] Note > 4.5 sur les stores
|
|
|
|
### Q2 2026
|
|
- [ ] Version 1.1.0 avec nouvelles features
|
|
- [ ] 10000+ utilisateurs actifs
|
|
- [ ] Expansion internationale (3 pays)
|
|
- [ ] Partenariats avec établissements
|
|
|
|
---
|
|
|
|
## 📞 Support
|
|
|
|
Pour toute question sur ces tâches :
|
|
- Consulter la documentation
|
|
- Ouvrir une issue
|
|
- Contacter l'équipe
|
|
|
|
---
|
|
|
|
<div align="center">
|
|
|
|
**Dernière mise à jour : 4 Janvier 2026**
|
|
|
|
</div>
|
|
|