6.4 KiB
Prochaines Étapes - Migration UUID UnionFlow
✅ État actuel
Migration Backend - TERMINÉE ✅
- Tous les repositories utilisent
BaseRepository<Entity>avec UUID - Toutes les entités utilisent
BaseEntityavec UUID - Tous les services utilisent UUID
- Tous les endpoints REST utilisent UUID
- Migration Flyway créée (
V1.3__Convert_Ids_To_UUID.sql)
Migration Client - TERMINÉE ✅
- ✅ Services client (
MembreService,AssociationService) - UUID - ✅ DTOs principaux (
MembreDTO,AssociationDTO,SouscriptionDTO,FormulaireDTO) - UUID - ✅
LoginResponseet classes internes - UUID - ✅
UserSessionet classes internes - UUID - ✅
AuthenticationService- UUIDs fixes pour démo - ✅ Tous les Beans JSF (14 fichiers) - UUID
📋 Prochaines étapes prioritaires
✅ Nettoyage du code source - TERMINÉ ✅
- ✅ Suppression des données mockées dans tous les Beans JSF principaux
- ✅ Suppression des TODOs dans NotificationService et DashboardServiceImpl
- ✅ Remplacement de System.out.println par LOGGER dans ConfigurationBean
- ✅ Migration de RapportsBean et DocumentsBean vers API réelles
- ✅ Correction du path AnalyticsService pour correspondre au backend
- ✅ Remplacement de tous les System.out.println restants par LOGGER
- ✅ Nettoyage de tous les TODOs restants (NotificationService, MembreListeBean, MembreInscriptionBean)
- ✅ Implémentation du téléchargement Excel dans MembreListeBean
1. Tester la migration Flyway 🧪 PRIORITÉ HAUTE
Action requise : Exécuter la migration V1.3__Convert_Ids_To_UUID.sql sur une base de données de test PostgreSQL.
Étapes :
- Créer une base de données de test
- Exécuter les migrations Flyway jusqu'à V1.2
- Insérer des données de test avec des IDs Long
- Exécuter la migration V1.3
- Vérifier que :
- Toutes les colonnes
idsont de type UUID - Toutes les clés étrangères sont mises à jour
- Les données sont préservées (si migration de données)
- Les index fonctionnent correctement
- Toutes les colonnes
Commande de test :
# Avec Quarkus en mode dev
mvn quarkus:dev
# Ou exécuter Flyway manuellement
mvn flyway:migrate
2. Exécuter les tests complets ✅ PRIORITÉ HAUTE
Action requise : Lancer tous les tests unitaires et d'intégration pour valider la migration UUID.
Commandes :
# Compiler et tester
mvn clean test
# Tests avec couverture
mvn clean test jacoco:report
# Tests d'intégration
mvn verify
Points à vérifier :
- ✅ Tous les tests unitaires passent
- ✅ Tous les tests d'intégration passent
- ✅ Aucune erreur de compilation
- ✅ Couverture de code maintenue
3. Mettre à jour la documentation OpenAPI/Swagger 📚 PRIORITÉ MOYENNE
Action requise : Vérifier que la documentation OpenAPI reflète l'utilisation d'UUID dans tous les schémas.
Vérifications :
- Les schémas de DTOs utilisent
type: string, format: uuid - Les exemples dans la documentation utilisent des UUIDs
- Les paramètres de chemin utilisent UUID
Accès : http://localhost:8080/q/swagger-ui
4. Vérifier et nettoyer IdConverter 🗑️ PRIORITÉ BASSE
Action requise : Vérifier si IdConverter est encore utilisé dans le code, puis le supprimer si obsolète.
Vérification :
# Rechercher les utilisations
grep -r "IdConverter" unionflow/
Si non utilisé :
- Supprimer
IdConverter.java - Mettre à jour la documentation
5. Surveiller les performances 📊 PRIORITÉ BASSE
Action requise : Surveiller les performances des requêtes avec UUID après déploiement.
Vérification :
# Rechercher les utilisations
grep -r "IdConverter" unionflow/
Si non utilisé :
- Supprimer
IdConverter.java - Mettre à jour la documentation
6. Mettre à jour la documentation de migration 📝 PRIORITÉ BASSE
Action requise : Finaliser la documentation complète de la migration UUID.
Points à surveiller :
- Temps de réponse des requêtes par ID
- Performance des index UUID
- Taille des index
- Temps d'insertion avec UUID
Outils :
- Logs de requêtes Hibernate
- Métriques Quarkus
- Profiling avec JProfiler ou VisualVM
📝 Notes importantes
UUIDs fixes pour la démonstration
Pour maintenir la cohérence dans les données de démonstration, utilisez des UUIDs fixes :
// UUIDs fixes pour démo
UUID.fromString("00000000-0000-0000-0000-000000000001") // Super Admin
UUID.fromString("00000000-0000-0000-0000-000000000002") // Admin
UUID.fromString("00000000-0000-0000-0000-000000000003") // Membre
UUID.fromString("00000000-0000-0000-0000-000000000010") // Organisation
Conversion automatique JAX-RS
JAX-RS/MicroProfile REST Client convertit automatiquement les UUID en String dans les URLs. Aucune configuration supplémentaire n'est nécessaire.
Validation UUID
Les UUIDs sont validés automatiquement par JAX-RS. Les UUIDs invalides génèrent une 400 Bad Request.
🎯 Checklist finale
Avant de considérer la migration comme terminée :
- Tous les Beans JSF migrés vers UUID
- Migration Flyway testée sur base de test
- Tous les tests passent
- Documentation OpenAPI mise à jour
- DTOs client restants mis à jour
- IdConverter supprimé (si non utilisé)
- Performance validée
- Documentation de migration complète
📚 Documentation créée
- MIGRATION_UUID.md - Documentation complète backend
- MIGRATION_UUID_CLIENT.md - Guide migration client
- RESUME_MIGRATION_UUID.md - Résumé global
- PROCHAINES_ETAPES.md - Ce document
✨ Conclusion
La migration UUID est quasi-complète. Il reste principalement à :
- ✅ TERMINÉ : Finaliser les Beans JSF
- ⏳ EN COURS : Tester la migration Flyway
- ⏳ EN COURS : Valider avec les tests complets
Date : 17 janvier 2025
Version : 2.1
Statut : 🟢 Backend terminé | 🟢 Client terminé | 🟡 Tests et validation en cours
📝 Note importante
Les Beans JSF ont été migrés avec succès ! ✅
Tous les 14 Beans JSF ont été mis à jour pour utiliser UUID :
- DemandesBean, SuperAdminBean, MembreRechercheBean, MembreProfilBean
- EvenementsBean, EntitesGestionBean, DocumentsBean, DemandesAideBean
- CotisationsGestionBean, CotisationsBean, RapportsBean
- SouscriptionBean, FormulaireBean, AdminFormulaireBean
Voir PROCHAINES_ETAPES_APRES_BEANS.md pour les étapes suivantes.