Injection de dépendance en Angular : comprendre ce qui se passe vraiment
L'injection de dépendance en Angular est souvent utilisée par habitude. Pourtant, bien la comprendre aide à mieux structurer les services, les scopes et les frontières applicatives.

L'injection de dépendance est au cœur d'Angular, mais elle est souvent consommée comme une mécanique automatique. On injecte un service dans un composant, cela fonctionne, et on passe au sujet suivant. Le problème est qu'une mauvaise compréhension de ce mécanisme produit rapidement des scopes incohérents, des services mal placés et des effets de bord difficiles à tracer.
Ce que l'injection apporte
L'objectif de l'injection de dépendance est simple:
- séparer l'utilisation d'un service de sa création
- rendre les composants plus testables
- centraliser les responsabilités partagées
Angular pousse cette logique très loin avec son système d'injecteurs hiérarchiques.
Le point important: le scope
La vraie question n'est pas "comment injecter un service ?". La vraie question est:
à quel niveau ce service doit-il vivre ?
Un service peut être:
- global à l'application
- limite à un module ou une fonctionnalité
- limite à un composant ou une sous-arborescence
Un mauvais choix de scope crée souvent:
- état partage non voulu
- duplication de services
- comportements difficiles à reproduire
Quand utiliser providedIn: 'root'
root est pratique quand un service porte:
- une logique transverse
- un client d'API
- un cache global
- un service applicatif réutilisé partout
Mais tout mettre en root finit par créer un espace global implicite.
Quand limiter un provider
Un provider local est utile quand le service doit être:
- isolé dans une fonctionnalité
- reconstruit avec le composant
- decouple d'un état global
Cela aide à mieux borner certaines logiques d'écran ou de workflow.
Conclusion
Bien utiliser l'injection de dépendance en Angular, c'est surtout bien choisir les frontières et les scopes. Le mécanisme technique est simple. La difficulté réelle se situe dans la structuration des responsabilités.

