====== Setup Nouveau Projet ====== ===== Création d'un projet ===== Créer un nouveau dossier pour le projet "**hello_world**" : mkdir /home/marc/hello_world cd /home/marc/hello_world Création d'un Virtual Environment : python3 -m venv venv source venv/bin/activate Mise à jour de PIP : pip install --upgrade pip Intallation des packages : pip install flask pip install python-dotenv Vérifier la version : flask --version Python 3.10.6 Flask 2.2.2 Werkzeug 2.2.2 ===== Application de base ===== /home/marc/hello_world ├── app │ ├── static │ │ ├── css │ │ ├── js │ │ ├── img │ │ └── ... │ ├── templates │ │ ├── index.html │ │ └── ... │ ├── __init__.py │ └── ... ├── venv │ └── ... ├── .env ├── .gitignore └── requirements.txt Définir les variables d'environnement (fichier **.env**) : FLASK_APP = app FLASK_DEBUG = 1 Créer un fichier **.gitignore** selon la page [[divers:git:gitignore_python|]] Y ajouter le fichier **config.py** et les dossiers de données à ne pas commiter : ... data/ .vscode/ config.py Générer le fichier **requirements.txt** de PIP : pip freeze > requirements.txt Créer un fichier **%%__init__.py%%** minimal : from flask import Flask app = Flask(__name__) @app.route("/") def home(): return "

Hello World !

"
===== GIT ===== Initialiser le dépôt **git** local et faire un premier commit : git init git add --all git commit -m "Initial commit" Créer le dépôt distant selon la page [[divers:git:depots_sur_serveur_prive]] ===== Configuration de l'application ===== Exemple de fichier **config.py** : import os SECRET_KEY = "... clé secrète ... voir ci-dessous ..." BASE_DIR = os.path.abspath(os.path.dirname(__file__)) PATH_IMAGES = os.path.join(BASE_DIR, 'images/') PATH_DATABASE = os.path.join(BASE_DIR, 'data/') Pour générer la clé secrète, voir la page [[python:generer_secret_key]] Chargement des valeurs dans l'objet **app** : app = Flask(__name__) app.config.from_object('config') ===== Lancement du serveur de développement ===== Activer l'environnement virtuel si ce n'est pas encore fait. source venv/bin/activate Lancement du serveur : flask run Visiter le site (sur le port défini dans **.env**) : [[http://127.0.0.1:5000/]] Pour qu'il soit accessible depuis une autre machine sur le réseau, ajouter : flask run --host=0.0.0.0