10. Conclusion intermédiaire
Les exemples 01 à 28 ont présenté, une à une, toutes les notions dont l'étude de cas a besoin :
Notion | Exemples | Dans l'étude de cas |
contrôleurs, actions, routage, redirections | 01 à 05 | dossier [controllers] |
beans, services, injection de dépendances | 06 | [RdvMedecinsApplication.java], dossier [config], services [@Service] |
modèle d'action, liaison, validation par annotations | 07 à 12 | [models/Formulaires.java], [web/Validation.java] |
vues Thymeleaf, gabarit, fragments, attributs communs des vues | 13 à 16 | dossier [templates], [web/ModeleCommun.java] |
formulaires, validation, réaffichage | 17 à 19 | [templates/personnes/formulaire.html], [templates/fragments/champs-personne.html] |
Post / Redirect / Get, message flash (attributs flash) | 20 | [web/MessageFlash.java], [web/CookieFlashMapManager.java], [templates/fragments/flash.html] |
liens et boutons, fenêtre de confirmation | 21 | [templates/fragments/confirmation.html], [static/js/app.js] |
internationalisation | 22 | [i18n/*.json], [web/Traducteur.java], [controllers/LangueController.java], [config/WebConfig.java] |
portées des données | 23 | [web/ApplicationModel.java] (singleton), cookies |
filtres, [@ControllerAdvice], pages d'erreur | 24 | [web/HtmlExceptionHandler.java], [web/ModeleCommun.java], [controllers/ErreurController.java] |
Spring Security, JWT, rôles, captcha, limitation | 25 à 27 | dossier [auth], [config/SecuriteConfig.java], [controllers/AuthController.java] |
couches web / métier / DAO, Spring Data JPA, transactions | 28 | dossiers [entities], [repositories], [metier] |
L'étude de cas les assemble en une application complète, de taille réaliste (environ 80 fichiers et 6 400 lignes, commentaires compris). Elle a été écrite avec le même soin que les exemples : chaque fichier commence par un commentaire qui explique son rôle, et les passages délicats sont commentés dans le code. Chaque dossier principal contient en outre un fichier [README.md] qui présente ses fichiers. Le commentaire du document insiste sur ce que les exemples n'ont pas montré, et renvoie à eux pour le reste.