{{tag>dev python framework flask extension}} :TODO_DOCUPDATE: ====== Flask: extension Flask-Maintenance ====== L'extensions Flask-Maintenance permet de bloquer temporairement les requêtes entrantes (frontend). Pour illustrer son fonctionnement, on utilise ici une application Flask monolithique minimale. Depuis votre environnement virtuel Python : pip install Flask Flask-Maintenance Au moment de l'écriture de cette note, le package Flask-Maintenance 0.0.1 provoquait une erreur systématique au démarrage de l'application Flask (Flask 3.1). Un correctif a été proposé au développeur principal du package (Pull Request) mais n'a pas encore été intégré. En attendant on peut remplacer les fichiers du paquetage dans l'environnement virtuel par ceux corrigés voir README.txt dans la section sources proposées ci-dessous. """ Application Flask monolithique contenue dans un module python. Adaptée aux tests et preuves de concepts. Nom : app.py ou wsgi.py """ from flask import Flask, render_template from flask_maintenance import Maintenance app= Flask(__name__) Maintenance(app) @app.route("/") def hello_world(): return "

Hello, World!

" @app.errorhandler(503) def under_maintenance(e): return render_template('503.html'), 503
Pour activer/désactiver le mode maintenance on utilise la CLI : flask maintenance enable flask maintenance disable Lorsque le mode maintenance est actif un fichier ''under_maintenance'' est présent dans le dossier ''./instance'' de l'application Flask. Toutes les requêtes sont interceptées et redirigées vers le contrôleurl d'l. ===== Sources ===== L'application Flask minimale et les fichiers corrigés de l'extension Flask-Maintenance * {{flask-maintenance.zip}} ===== Références ===== * [[https://pypi.org/project/Flask-Maintenance/| Le package Flask-Maintenance (pypi.org)]] * [[https://github.com/akhilharihar/Flask-Maintenance|Sources du package Flask-Maintenance (github.com)]] * [[https://github.com/ernix/Flask-Maintenance/tree/flask3|Correctif package Flask-Maintenance (github.com)]]