10. Conclusion intermédiaire
Les exemples 01 à 28 ont présenté, une à une, toutes les notions dont l'étude de cas a besoin :
contrôleurs, actions, routage, réponses, redirections | 01 à 05 | [config/routes.yaml], dossier [src/Controller] |
conteneur de services, injection de dépendances | 06 | [config/services.yaml], tous les constructeurs |
modèle d'action, liaison, contraintes de validation | 07 à 12 | [src/Web/Outils.php] (paramètres lus bruts), [src/Metier/DonneesPersonne.php] |
vues [Twig], gabarit, fragments, macros, extensions | 13 à 16 | dossier [templates], [src/Twig/VuesExtension.php] |
formulaires du composant Form, validation, réaffichage | 17 à 19 | dossier [src/Form], [templates/macros.html.twig] |
Post / Redirect / Get, messages flash, cache | 20 | [src/Web/Flash.php], [templates/fragments/succes.html.twig] |
liens et boutons, protection anti-CSRF, fenêtre de confirmation | 21 | [src/Web/Controleur.php], [fragments/confirmation.html.twig], [public/js/app.js] |
internationalisation | 22 | dossier [translations], [src/EventListener/FixerLangue.php], [LangueController.php] |
portées des données, cache, session, cookies | 23 | [src/Web/ApplicationModel.php] (cache), [src/Securite] (cache, cookies), la session |
événements du noyau, écouteurs, pages d'erreur | 24 | dossier [src/EventListener], [templates/erreur.html.twig] |
pare-feu, authentificateur JWT, rôles, captcha, limitation | 25 à 27 | [config/packages/security.yaml], dossier [src/Securite], [AuthController.php] |
couches web / métier / DAO, [Doctrine], transactions | 28 | dossiers [src/Entity], [src/Dao], [src/Metier] |
L'étude de cas les assemble en une application complète, de taille réaliste (une centaine de fichiers, environ 7 000 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.