2.5 KiB
Finalisation de la Migration
Ce document décrit les étapes finales pour terminer la migration de la structure du projet.
Étapes déjà réalisées
- Création de la nouvelle structure de répertoires (odoo/, formatters/, loaders/, core/)
- Migration des fichiers vers leurs nouveaux emplacements
- Mise à jour de la fonction
is_important_imagedans core/utils.py - Mise à jour des imports avec le script
docs/migration_imports.py - Création de la documentation de la structure dans
docs/structure.md
Étapes finales à réaliser
-
Renommer le dossier
utils/:mv utils utils_oldCette étape permet de conserver temporairement les anciens fichiers en cas de besoin, tout en permettant de tester la nouvelle structure.
-
Tester l'application: Exécuter différents scripts pour vérifier que tout fonctionne correctement avec la nouvelle structure:
python orchestrator.py -
Corriger les erreurs d'import potentielles: Si des erreurs d'import surviennent, les corriger manuellement en utilisant le modèle suivant:
from utils.xxx import yyy→from module_approprié.xxx import yyy- Où
module_appropriéest l'un des modules: odoo, formatters, loaders, core
-
Suppression définitive du dossier
utils_old/: Une fois que tous les tests sont validés et que l'application fonctionne normalement:rm -rf utils_old
Points d'attention particuliers
-
Imports circulaires: Vérifier qu'il n'y a pas d'imports circulaires entre les modules. Si c'est le cas, les corriger en utilisant des imports locaux ou en restructurant légèrement le code.
-
Fichier
retrieve_ticket.pyà la racine: Ce fichier semble être un doublon deodoo/retrieve_ticket.py. Vérifier s'il peut être supprimé ou s'il contient des fonctionnalités différentes qui doivent être préservées. -
Tests supplémentaires: Plusieurs fichiers de test existent à la racine du projet (test_*.py). Vérifier s'ils fonctionnent toujours correctement avec la nouvelle structure ou s'ils nécessitent des mises à jour.
Avantages de la nouvelle structure
Cette restructuration offre plusieurs avantages:
- Meilleure organisation: Code regroupé par fonctionnalité plutôt que par type
- Maintenance facilitée: Plus facile de trouver et de corriger le code
- Évolutivité améliorée: Plus facile d'ajouter de nouvelles fonctionnalités
- Réduction des dépendances circulaires: Structure plus claire des dépendances entre modules