Skip to main content

Développement des interfaces

Développement en Monorepository

Pour rationaliser la gestion des versions des bibliothèques dans les fichiers package.json des différents modules, le développement des frontends n'est pas effectué directement dans chaque module. Au lieu de cela, tout le développement frontend est centralisé dans un répertoire unique dédié, appelé frontend. Cette approche utilise une gestion de type monorepo, facilitée par l'outil nx. En centralisant les dépendances et le code frontend, cela permet :

  • une meilleure cohérence,
  • une maintenance simplifiée
  • et une mise à jour plus aisée des bibliothèques partagées entre les différents modules.

Développement avec une fédération de module

Pour améliorer l'expérience utilisateur en évitant de recharger complètement la page lors de l'utilisation des différentes interfaces des modules, Open ENT v3 repose sur une architecture de type fédération de modules.

Cette technique permet de constituer une page unique composée de plusieurs modules indépendants mais interconnectés.

Ainsi, les utilisateurs bénéficient d'une navigation plus fluide et réactive, car seuls les composants nécessaires sont chargés et mis à jour dynamiquement sans rechargement complet de la page.

Principe de développement

Toutes les interfaces des modules des applications structurantes sont développées dans le répertoire /frontend.

Un fichier package.json permet de gérer l'ensemble des librairies nécessaires pour les différents modules.

Une fois le développement réalisé, le code est mis en bundle pour être déployé dans la module backend correspondant.

Déploiement du frontend

Build
&
Copy
/frontend/apps/${module_name}
Frontend
Backend
/modules/${module_name/src/main/resources/META-INF/resources