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 |
vues, routage, réponses, redirections | 01 à 05 | [config/urls.py], [web/urls.py], dossier [web/vues] |
services partagés | 06 | [metier/fournisseur.py], [web/application.py] |
modèle d'une vue, formulaires de validation, décorateurs | 07 à 12 | [web/outils.py] (paramètres lus bruts), [metier/donnees.py] |
gabarits, gabarit parent, fragments, balises et filtres | 13 à 16 | dossier [templates], [web/templatetags/rdv.py], [web/contextes.py] |
formulaires, validation, réaffichage, rendu Bootstrap | 17 à 19 | [web/formulaires.py], [web/rendu.py], [templates/formulaires/champ.html] |
Post / Redirect / Get, messages flash | 20 | les vues, [templates/fragments/succes.html] |
liens et boutons, protection anti-CSRF, fenêtre de confirmation | 21 | [fragments/confirmation.html], [static/js/app.js], [web/vues/personnes.py] |
internationalisation | 22 | dossier [locale], [web/middleware.py], [web/vues/langue.py] |
portées des données, cache, cookies signés | 23 | [web/application.py] (cache), dossier [securite] (cache, cookies) |
middlewares, signaux, pages d'erreur | 24 | [web/middleware.py], [securite/middleware.py], [web/vues/erreurs.py] |
authentification JWT, rôles, contrôle d'accès, captcha, limitation | 25 à 27 | dossier [securite], [web/vues/auth.py] |
couches web / métier / DAO, ORM, transactions | 28 | dossiers [modeles], [dao], [metier] |
L'étude de cas les assemble en une application complète, de taille réaliste (près de 90 fichiers, environ 5 500 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.