Partie 1 : Démarrer un projet sur de bonnes bases
Partie 2 : Construire un espace membre sécurisé avec JWT
Partie 3 : Implémenter des fonctionnalités métiers
Partie 4 : Bonus

2.1. Le module CoreModule

Le rôle du CoreModule est d’alléger le module racine de votre application. Si vous avez déjà travaillé sur de petits projets, vous aurez sûrement remarqué que le module racine sert souvent de débarras : on y déclare tous nos composants, on ajoute les librairies tierces utilisées dans le projet, etc.

Cependant, ce n’est pas son rôle.

Son rôle est uniquement de démarrer votre application, et c’est tout.

L’équipe d’Angular a donc proposé plusieurs recommandations pour remédier au problème :

  • Créer un module nommé CoreModule dans votre projet, afin de décharger votre module racine des importations globales.
  • Importer le CoreModule uniquement dans le module racine AppModule (n’importez jamais le CoreModule dans un autre module).
  • Importer tous vos services dans le CoreModule. Ils seront accessibles dans tout votre projet, et il n’y aura qu’une seule instance de chaque service qui existera dans l’application. C’est très pratique si vous développez un service de partage des données entre plusieurs composants, car vous serez certains qu’il n’y a qu’un seul état possible dans votre application à un certain instant, étant donné qu’il existe une unique instance de votre service.
  • Vous pouvez également ajouter des composants globaux dans votre application. Par exemple, un composant représentant une icône de chargement, un pied de page, ou une barre de navigation. Pour faire simple, il s’agit des composants que vous n’utiliserez que dans le template racine app.component.html.