| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| dev:python:flask:architecture_projet_flask [2025/08/31 20:34] – yoann | dev:python:flask:architecture_projet_flask [2026/04/05 08:09] (Version actuelle) – yoann |
|---|
| {{tag>dev python flask web api}} | {{tag>dev python flask web api}} |
| | |
| |
| |
| ====== Flask ====== | ====== Flask ====== |
| |
| | :TODO_DOCUPDATE: |
| |
| Flask n'impose aucune arborescence, selon les besoins on peut opter pour une application monolithique ou modulaire. | Flask n'impose aucune arborescence, selon les besoins on peut opter pour une application monolithique ou modulaire. |
| ===== Application modulaire ===== | ===== Application modulaire ===== |
| |
| Lorsque les projets grossissent ou pour pouvoir travailler en équipe, le découpage en packages et modules et l'utilisation des standards et des recommandations s'imposent. Un version monolithique deviendrait difficilement maintenable. | Lorsque les projets grossissent ou pour pouvoir travailler en équipe, le découpage en packages et modules Python et l'utilisation de standards et de recommandations s'imposent. Un version monolithique deviendrait difficilement maintenable. |
| | |
| | Le framework Flask propose le système de [[dev:python:flask:blueprints|Blueprint]] pour structurer le code en unités fonctionnelles selon ses besoins. |
| |
| <code> | <code> |
| |
| # Si la fonction factory a un autre nom que create_app utiliser la syntaxe package:factory_function | # Si la fonction factory a un autre nom que create_app utiliser la syntaxe package:factory_function |
| flask --app aAppPackage:another_factory_name run --debug | flask --debug --app aAppPackage:another_factory_name run |
| | |
| | # On peut également spécifier des arguments |
| | flask --debug --app 'app:create_app(context="development")' run |
| </code> | </code> |
| |
| | Voir également la note [[dev:python:flask:demarrer_application|démarrer l'application Flask depuis la ligne de commande]]. |
| |
| ===== Références ===== | ===== Références ===== |
| |
| | * [[https://flask.palletsprojects.com/en/stable/patterns/packages/|Concevoir des applications en packages (Documentation Flask)]] |
| * https://stackoverflow.com/questions/53566832/access-app-decorator-in-flask-using-factory-pattern | * https://stackoverflow.com/questions/53566832/access-app-decorator-in-flask-using-factory-pattern |
| * https://realpython.com/flask-project/ | * https://realpython.com/flask-project/ |
| * [[https://muneebdev.com/flask-project-structure-best-practices/|Bonnes pratiques de structuration des projets Flask (muneebdev.com)]] | * [[https://muneebdev.com/flask-project-structure-best-practices/|Bonnes pratiques de structuration des projets Flask (muneebdev.com)]] |
| |