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 | [routes/web.php], dossier [app/Http/Controllers] |
conteneur de services, injection de dépendances | 06 | [app/Providers/AppServiceProvider.php] |
modèle d'action, liaison, validation, requêtes de formulaire | 07 à 12 | dossier [app/Http/Requests] |
vues [Blade], gabarit, composants, compositeurs de vue | 13 à 16 | dossier [resources/views], [AppServiceProvider.php] |
formulaires, validation, réaffichage ([old], [@error]) | 17 à 19 | [resources/views/components/champ.blade.php] |
Post / Redirect / Get, messages flash | 20 | [app/Web/Flash.php], [resources/views/fragments/succes.blade.php] |
liens et boutons, protection anti-CSRF, fenêtre de confirmation | 21 | [fragments/confirmation.blade.php], [public/js/app.js] |
internationalisation | 22 | [lang/*.json], [app/Http/Middleware/FixerLangue.php], [LangueController.php] |
portées des données, cache, session, cookies | 23 | [app/Web/ApplicationModel.php] (cache), [app/Auth] (cache), la session, les cookies |
middlewares, gestionnaires d'exceptions, pages d'erreur | 24 | [bootstrap/app.php], [app/Http/Middleware], [resources/views/erreur.blade.php] |
authentification JWT, rôles, captcha, limitation | 25 à 27 | dossier [app/Auth], [AuthController.php] |
couches web / métier / DAO, [Eloquent], transactions | 28 | dossiers [app/Models], [app/Dao], [app/Metier] |
L'étude de cas les assemble en une application complète, de taille réaliste (une centaine de fichiers, environ 5 800 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.