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
/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 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 "<h1>Hello World !</h1>"
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 Utiliser des dépôts distants sur son serveur privé
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 Générer une Secret Key
Chargement des valeurs dans l'objet app :
app = Flask(__name__) app.config.from_object('config')
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) :
Pour qu'il soit accessible depuis une autre machine sur le réseau, ajouter :
flask run --host=0.0.0.0