12. Conclusion
Nous avons écrit le client [Angular] de l'application [RdvMedecins]. Pour l'utilisateur, il offre les mêmes pages que l'application HTML du cours [NestJS], et que le client [Vue.js] du cours précédent ; pour le développeur, tout a changé de place :
- le serveur ne fabrique plus de pages. Il expose une API JSON, dont le contrat (routes, corps, codes et clés d'erreur) a suffi pour écrire le client, sans jamais lire son code. Le serveur est d'ailleurs exactement celui du client [Vue.js] : seuls ses commentaires ont changé ;
- les pages, la langue, la mise en forme, les messages, la navigation se sont déplacés dans le navigateur ;
- la sécurité, elle, n'a pas bougé : c'est toujours le serveur qui authentifie (cookie [HttpOnly]), qui vérifie les rôles et les règles de gestion, et qui décide de ce qu'un patient a le droit de voir. Le client ne fait qu'afficher ce que le serveur lui envoie.
Le lecteur qui a suivi les deux cours peut comparer les deux frameworks sur la même application. [Angular] demande davantage de code et de notions (classes, décorateurs, injection de dépendances, observables), mais il fournit tout : routeur, formulaires, client HTTP, intercepteurs, outils de construction, avec une manière recommandée de les utiliser. Les applications [Angular] se ressemblent donc toutes, ce qui est précieux pour les équipes nombreuses et les projets de longue durée. [Vue.js] est plus léger et plus libre. Avec les signaux, les deux frameworks se sont d'ailleurs rapprochés : [signal], [computed] et [effect] d'[Angular] font écho à [ref], [computed] et [watchEffect] de [Vue.js].
Les notions d'[Angular] rencontrées dans ce cours (composants, signaux, formulaires à signaux, injection de dépendances, routeur, client HTTP) sont celles de toute application [Angular] récente. Pour aller plus loin :
- la documentation officielle, https://angular.dev, et son tutoriel interactif ;
- les tests : [Vitest], proposé par défaut par [Angular CLI] pour les tests unitaires des composants et des services, [Playwright] pour les tests de bout en bout (c'est avec lui qu'ont été faites les copies d'écran de ce document) ;
- le rendu côté serveur ([Angular SSR], commande [ng add @angular/ssr]), qui fabrique la première page sur le serveur : on retrouverait alors, en partie, l'architecture du cours [NestJS] ;
- le cours Un exemple de client / serveur Angular / NestJS (2026), qui étudie à la fois un client [Angular] et son serveur.