Angular - Concevoir le chargement paresseux de fonctionnalités avec SSR et transfert d’état
Scénario
Vous devez refactorer une application monolithique Angular pour : (1) découper en plusieurs feature modules chargés paresseusement (lazy-loaded) via le routeur, (2) mettre en place une stratégie de préloading adaptée, (3) rendre l’ensemble compatible avec le rendu côté serveur (Angular Universal) et (4) implémenter le transfert d’état (State Transfer) pour éviter les doubles requêtes HTTP après SSR. Tâche : décrire la structure des modules, les routes à lazy-load, la stratégie de préchargement (custom preloading strategy), la gestion des guards/auth sur modules lazy, et la manière d’utiliser TransferState pour hydrater les données côté client. Mentionnez les pièges courants (providers singletons, lazy-loaded injectors, erreurs CORS en SSR), et proposez des tests d’intégration pour valider le comportement SSR + client.