Outils pour utilisateurs

Outils du site


dev:python:flask:architecture_projet_flask

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:python:flask:architecture_projet_flask [2025/08/07 07:54] yoanndev:python:flask:architecture_projet_flask [2025/09/22 05:24] (Version actuelle) yoann
Ligne 2: Ligne 2:
  
  
-====== Flask ====== 
  
 +====== Flask ======
  
 +:TODO_DOCUPDATE:
  
-Flask n'impose aucune arborescence, selon les besoins on peut opter pour une application monolithique ou le découpage en packages et modules.+Flask n'impose aucune arborescence, selon les besoins on peut opter pour une application monolithique ou modulaire.
  
 ===== Application monolithique ===== ===== Application monolithique =====
  
-Pour les petit projets, les tests ou les tutoriaux, on utilise généralement un simple module Python et l' instanciation d'un objet Flask. Cette approche monolithique permet de coder rapidement une preuve de concept, un prototype par exemple.+Pour les petit projets, les tests ou les tutoriaux, on utilise généralement un simple module Python qui se charge d' instancier directement l'objet Flask. Cette approche monolithique permet de coder rapidement une preuve de concept (PoC), un prototype par exemple.
  
  
  
-===== Application distribuée =====+===== 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 et l'utilisation des standards et des recommandations s'imposent. Un version monolithique deviendrait difficilement maintenable.
Ligne 66: Ligne 67:
  
  
-===== La fonction "Factory" =====+===== Démarrage de l'application Flask =====
  
 Pour pouvoir lancer automatiquement une application Flask :  Pour pouvoir lancer automatiquement une application Flask : 
-  * On place les fichiers de l'application dans un paquetage ; +  * On place les fichiers de l'application dans un paquetage Python
-  * Le fichier ''__init__.py'' contient soit l'instanciation d'un objet de type Flask, soit une fonction retournant cet objet. Cette fonction est désignée **factory** par défaut flask s'attend à ce qu'elle soit appelée ''create_app''.+  * Le fichier dunder init ''%%__init__.py%%'' contient 
 +      * Soit l'instanciation d'un objet de type Flask 
 +      * Soit une fonction retournant cet objet. Cette fonction est désignée **application factory**. Par défaut flask s'attend à ce qu'elle soit appelée ''create_app''.
  
 Dans ce cas on peut lancer l'application avec la commande : Dans ce cas on peut lancer l'application avec la commande :
Ligne 84: Ligne 87:
 ===== 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)]]
  
dev/python/flask/architecture_projet_flask.1754553268.txt.gz · Dernière modification : 2025/08/07 07:54 de yoann