Ci-dessous, les différences entre deux révisions de la page.
| 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/07 07:38] – supprimée - modification externe (Date inconnue) 127.0.0.1 | dev:python:flask:architecture_projet_flask [2026/04/05 08:09] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> | ||
| + | |||
| + | |||
| + | |||
| + | ====== Flask ====== | ||
| + | |||
| + | : | ||
| + | |||
| + | Flask n' | ||
| + | |||
| + | ===== Application monolithique ===== | ||
| + | |||
| + | 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' | ||
| + | |||
| + | |||
| + | |||
| + | ===== Application modulaire ===== | ||
| + | |||
| + | Lorsque les projets grossissent ou pour pouvoir travailler en équipe, le découpage en packages et modules Python et l' | ||
| + | |||
| + | Le framework Flask propose le système de [[dev: | ||
| + | |||
| + | < | ||
| + | / | ||
| + | ├── myapp/ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | ├── tests/ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | │ | ||
| + | ├── .venv/ | ||
| + | ├── README.md | ||
| + | ├── install | ||
| + | └── MANIFEST.in | ||
| + | </ | ||
| + | |||
| + | Pour lancer l' | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | flask --app myapp run --debug | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Si le fichier est nommé '' | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Pour éviter de préciser systématiquement l' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Démarrage de l' | ||
| + | |||
| + | Pour pouvoir lancer automatiquement une application Flask : | ||
| + | * On place les fichiers de l' | ||
| + | * Le fichier dunder init '' | ||
| + | * Soit l' | ||
| + | * Soit une fonction retournant cet objet. Cette fonction est désignée **application factory**. Par défaut flask s' | ||
| + | |||
| + | Dans ce cas on peut lancer l' | ||
| + | |||
| + | <code bash> | ||
| + | flask --app aAppPackage run --debug | ||
| + | |||
| + | # Si la fonction factory a un autre nom que create_app utiliser la syntaxe package: | ||
| + | flask --debug --app aAppPackage: | ||
| + | |||
| + | # On peut également spécifier des arguments | ||
| + | flask --debug --app ' | ||
| + | </ | ||
| + | |||
| + | Voir également la note [[dev: | ||
| + | |||
| + | ===== Références ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * [[https:// | ||